diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 00000000..4f705107 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,218 @@ +# CLAUDE.md + +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. + +## Project Overview + +This is the **freee Accessibility Guidelines** repository - a comprehensive documentation project for web and mobile accessibility guidelines. The project generates multi-language (Japanese/English) HTML documentation using Sphinx, with content sourced from YAML files and converted to reStructuredText. + +**Main branch:** `develop` + +**Published documentation:** https://a11y-guidelines.freee.co.jp/ + +## Core Architecture + +### Build System + +The project uses a **two-stage build process**: + +1. **YAML → RST conversion** (`yaml2rst` tool) + - Converts YAML guideline/check/FAQ data to reStructuredText + - Generates category pages, reference tables, and cross-references + - Runs before Sphinx build + +2. **RST → HTML generation** (Sphinx) + - Builds Japanese docs in `ja/` directory + - Builds English docs in `en/` directory + - Supports both multi-page HTML and single-page HTML output + +### Data Structure + +``` +data/ +├── json/ +│ ├── guideline-categories.json # Category definitions +│ ├── wcag-sc.json # WCAG success criteria mapping +│ ├── faq-tags.json # FAQ tag definitions +│ ├── info.json # Reference link definitions +│ └── schemas/ # JSON schemas for validation +│ ├── guideline.json +│ ├── check.json +│ └── faq.json +└── yaml/ + ├── gl/ # Guidelines by category + ├── checks/ # Accessibility checks + └── faq/ # FAQ articles +``` + +### Custom Python Libraries + +**`tools/lib/freee_a11y_gl`** - Core library for accessibility guideline management +- Models: Category, Guideline, Check, FAQ, WCAG mappings +- YAML processing and validation +- Relationship management between entities +- Multi-language support + +**`tools/scripts/yaml2rst`** - RST content generator +- Template-based content generation using Jinja2 +- Converts YAML data to Sphinx-compatible RST files +- Generates category pages, indexes, and cross-references + +## Common Commands + +### Building Documentation + +```bash +# Build both Japanese and English HTML +make html + +# Build specific language +cd ja && make html +cd en && make html + +# Build single-page HTML (singlehtml) +make singlehtml + +# Clean build artifacts +make clean + +# Check that all include files are referenced +make check-includes +``` + +### Testing and Validation + +```bash +# Install dependencies +pip install -r requirements.txt +pip install -r requirements-dev.txt +npm install + +# Run Python tests (yaml2rst) +cd tools/scripts/yaml2rst +python run_tests.py +python run_tests.py --coverage + +# Run Python tests (freee_a11y_gl) +cd tools/lib/freee_a11y_gl +python -m pytest tests/ + +# Validate YAML against JSON schemas +ajv validate --spec=draft2020 -s data/json/schemas/guideline.json -r data/json/schemas/common.json -d data/yaml/gl/form/label.yaml + +# Lint reStructuredText files +sphinx-lint --enable all --disable line-too-long ja/**/*.rst + +# Lint Japanese text (textlint) +npx textlint ja/source/**/*.rst + +# Code quality (Python) +black tools/ +isort tools/ +flake8 tools/ +mypy tools/ +``` + +### Development Workflow + +The build process for each language (ja/en) follows: + +1. `yaml2rst` generates RST files from YAML data into `source/inc/` and `source/faq/` +2. `incfiles.mk` tracks dependencies +3. Sphinx builds HTML from RST sources in `source/` directory +4. Output goes to `build/html/` (or `build/singlehtml/`) + +### Working with Guidelines + +Each guideline YAML file structure: +```yaml +id: gl-category-name # Unique ID with gl- prefix +sortKey: 1901 # Integer 1001-2199 for ordering +category: form # Category identifier +title: + ja: "日本語タイトル" + en: "English Title" +platform: + - web # web and/or mobile + - mobile +guideline: + ja: "ガイドライン本文" + en: "Guideline text" +sc: # WCAG success criteria + - 1.1.1 + - 1.3.1 +intent: + ja: "意図の説明" + en: "Intent explanation" +checks: # Related check IDs + - '0931' +info: # Related info links + - exp-form-labeling +``` + +### Pre-commit Hooks + +The repository uses **Husky + lint-staged** for pre-commit validation: +- JSON schema validation for YAML files +- Sphinx linting for RST files +- Runs automatically on `git commit` + +Configuration in `.lintstagedrc.mjs` + +## Version Management + +Version information is stored in `version.py`: +- `guidelines_version` - Main version (e.g., 'Ver. 202508.0') +- `checksheet_version` - Checksheet version +- `publishedDate` - Publication date + +This file is imported by Sphinx configuration to set document version. + +## Internationalization + +The project supports **Japanese (ja)** and **English (en)**: + +- Both languages share the same data structure +- YAML files contain i18n strings with `ja:` and `en:` keys +- Template directory symlink: `en/source/_templates → ja/source/_templates` +- Each language has its own Sphinx `conf.py` with locale settings + +## Build Environment Notes + +- **Locale required:** `ja_JP.UTF-8` must be installed for Japanese date formatting +- **Python version:** 3.9+ (see requirements) +- **Sphinx:** ~7.0 (specified in requirements.txt) +- **Theme:** sphinx_rtd_theme ~3.0 + +## GitHub Actions + +The repository uses reusable workflows for building: +- `.github/workflows/reusable-build-doc.yml` - Main build workflow +- Builds for specific tags/versions with configurable Python/Sphinx/theme versions +- Supports artifact reuse to avoid rebuilding unchanged content +- Environment variables: `BASE_URL`, `GTM_ID`, build flags + +## Common Tasks + +**Adding a new guideline:** +1. Create YAML file in appropriate `data/yaml/gl/{category}/` directory +2. Follow the guideline schema (see `data/json/schemas/guideline.json`) +3. Run `make clean` and `make html` to rebuild +4. Validate with `ajv validate` command + +**Modifying templates:** +1. Templates are in `yaml2rst` package (Jinja2 format) +2. Export with: `yaml2rst --export-templates` +3. Customize in `~/.config/freee_a11y_gl/templates/` +4. Template resolution: custom → user → built-in + +**Testing a single component:** +```bash +# Test yaml2rst +cd tools/scripts/yaml2rst +pytest tests/unit/test_specific.py -v + +# Test freee_a11y_gl +cd tools/lib/freee_a11y_gl +pytest tests/ -k "test_name" +``` diff --git a/data/yaml/checks/design/0002.yaml b/data/yaml/checks/design/0002.yaml index 7234ee8a..94fd8125 100644 --- a/data/yaml/checks/design/0002.yaml +++ b/data/yaml/checks/design/0002.yaml @@ -8,12 +8,12 @@ check: ja: |- テキストおよび画像化されたテキストの表示色と背景色には、充分なコントラスト比が確保されている。 - * 文字サイズが29px(22pt)以上の場合:3:1以上 - * 文字サイズが24px(18pt)以上で太字の場合:3:1以上 + * 文字サイズが24px(18pt)以上の場合:3:1以上 + * 文字サイズが19px(14pt)以上で太字の場合:3:1以上 * その他の場合:4.5:1以上 en: |- Sufficient contrast ratios are ensured for the display colors and background colors of text and images of text. - * For text size 29px (22pt) or larger: at least 3:1 - * For bold text size 24px (18pt) or larger: at least 3:1 + * For text size 24px (18pt) or larger: at least 3:1 + * For bold text size 19px (14pt) or larger: at least 3:1 * In other cases: at least 4.5:1 diff --git a/data/yaml/checks/design/1141.yaml b/data/yaml/checks/design/1141.yaml index f523f7a9..a97d8585 100644 --- a/data/yaml/checks/design/1141.yaml +++ b/data/yaml/checks/design/1141.yaml @@ -8,8 +8,12 @@ platform: check: ja: |- 法的行為、経済的取引、データの変更や削除を生じる機能については、取り消し、送信前の確認・修正、または送信時のエラー・チェックと修正が可能な設計になっている。 + + ここで「データの変更や削除」とは、ユーザーが簡単な操作により元の状態を完全に復元できないものを指す。簡単な操作とは、ボタン操作や、少しの文字入力などである。 en: |- For functions that involve legal actions, financial transactions, or the modification and deletion of data, the design allows for cancellation, pre-submission confirmation and modification, or error checking and correction at the time of submission. + + Here, "modification and deletion of data" refers to cases where users cannot fully restore the original state through simple operations. Simple operations include button clicks or minimal text input. conditions: - platform: web type: or @@ -20,8 +24,12 @@ conditions: procedure: ja: |- チェック対象の画面には、法的行為、経済的取引、データの変更や削除を生じる機能が存在しない。 + + ここで「データの変更や削除」とは、ユーザーが簡単な操作により元の状態を完全に復元できないものを指す。簡単な操作とは、ボタン操作や、少しの文字入力などである。 en: |- There are no functions that involve legal actions, financial transactions, or the modification and deletion of data on the screen to be checked. + + Here, "modification and deletion of data" refers to cases where users cannot fully restore the original state through simple operations. Simple operations include button clicks or minimal text input. - type: simple id: 1141-content-01 tool: misc diff --git a/data/yaml/checks/product/0021.yaml b/data/yaml/checks/product/0021.yaml index c80f769d..97bd5262 100644 --- a/data/yaml/checks/product/0021.yaml +++ b/data/yaml/checks/product/0021.yaml @@ -27,10 +27,6 @@ conditions: ただし、ガイドラインを満たしていない状態であっても、以下の場合は問題として表示されませんので注意が必要です。 * マウスオーバーなどで背景色やテキスト色が変化する場合の、変化後のコントラスト比が不足する場合 - * 大きいテキストのコントラスト比が3:1以上4.5:1未満の場合 - - - freeeの場合日本語テキストを想定しているため、「大きいテキスト」を29px(22pt)以上または24px(18pt)以上の太字としているが、WCAGでは欧文テキストを想定して18pt以上または14pt以上の太字としているため、18pt以上22pt未満(太字の場合は14pt以上18pt未満)の日本語のテキストについて、Axe DevToolsはコントラスト不足を検知できない - * テキスト以外のコントラスト比が不足している場合 - アイコン、画像、画像化されたテキスト、ボタンや入力フィールドの枠線など @@ -41,10 +37,6 @@ conditions: Note that no issue is reported in the following cases, even when the guidelines are not met. * When the contrast ratio is insufficient after the text and/or background color change, e.g. after mouse hover - * When the contrast ratio of large-scale text is 3:1 or more and less than 4.5:1 - - - While large-scale text is defined as 29px(22pt) or larger font, or 24px(18pt) or larger bold font within freee's product as the primary text is assumed to be in Japanese, WCAG defines it as 18pt or larger font, or 14pt or larger bold font assuming euro-languages. As Axe DevTools is based on the requirements set by the WCAG, it cannot detect insufficient color contrast of Japanese text whose font size is between 18pt and 22pt (14pt and 18pt if bold). - * When the contrast ratio of non-text content is insufficient. - icons, images, images of text, outlines of buttons and input fields, etc. @@ -58,12 +50,12 @@ conditions: ja: |- WebAIM Contrast Checkerで、以下の基準を満たしていることを確認した: - * 文字サイズが29px(22pt)以上の場合:3:1以上 - * 文字サイズが24px(18pt)以上で太字の場合:3:1以上 + * 文字サイズが24px(18pt)以上の場合:3:1以上 + * 文字サイズが19px(14pt)以上で太字の場合:3:1以上 * その他の場合:4.5:1以上 en: |- Verified that the content meets the following color contrast requirement using the WebAIM Color Contrast Checker: - * Font Size: 29px(22pt)or larger; 3:1 or higher - * Font Size: 24px(18pt)or larger and bold; 3:1 or higher + * Font Size: 24px (18pt) or larger; 3:1 or higher + * Font Size: 19px (14pt) or larger and bold; 3:1 or higher * In other cases:4.5:1 or higher diff --git a/data/yaml/checks/product/0441.yaml b/data/yaml/checks/product/0441.yaml index 065983d1..2b2303d8 100644 --- a/data/yaml/checks/product/0441.yaml +++ b/data/yaml/checks/product/0441.yaml @@ -33,9 +33,9 @@ conditions: id: "0441-content-00" procedure: ja: |- - チェック対象の画面に存在する画像は、装飾目的のもののみである。 + チェック対象の画面に画像が存在しない、または装飾目的のもののみである。 en: |- - The images on the target screen are only for decorative purposes. + There are no images on the target screen, or the images are only for decorative purposes. - type: and conditions: - type: or diff --git a/data/yaml/gl/form/errors-cancel.yaml b/data/yaml/gl/form/errors-cancel.yaml index 54d43cb3..42b2680b 100644 --- a/data/yaml/gl/form/errors-cancel.yaml +++ b/data/yaml/gl/form/errors-cancel.yaml @@ -10,15 +10,23 @@ platform: guideline: ja: |- 法的行為、経済的取引、データの変更や削除を生じる機能については、取り消し、送信前の確認・修正、または送信時のエラー・チェックと修正を可能にする。 + + ここで「データの変更や削除」とは、ユーザーが簡単な操作により元の状態を完全に復元できないものを指す。簡単な操作とは、ボタン操作や、少しの文字入力などである。 en: |- For functions involving legal commitments, financial transactions, or the alteration or deletion of data, enable cancellation, pre-submission confirmation and modification, or error checking and correction at the time of submission. + + Here, "alteration or deletion of data" refers to cases where users cannot fully restore the original state through simple operations. Simple operations include button clicks or minimal text input. sc: - 3.3.4 intent: ja: |- 誤操作による影響を少なくする。 + + データの変更や削除については、ユーザーが簡単な操作で完全に復元できない場合に確認などが必要となる。これは、操作にかかる時間は人によって異なるため、時間ではなく操作の簡易性と手数で判断する。 en: |- Minimize the impact of misoperation. + + For data alteration or deletion, confirmation is required when users cannot fully restore the original state through simple operations. This criterion is based on the simplicity and number of operations rather than time, as the time required for operations varies from person to person. checks: - '1141' info: diff --git a/data/yaml/gl/image/mobile-text-contrast.yaml b/data/yaml/gl/image/mobile-text-contrast.yaml index 06be5fc1..33c2e025 100644 --- a/data/yaml/gl/image/mobile-text-contrast.yaml +++ b/data/yaml/gl/image/mobile-text-contrast.yaml @@ -14,10 +14,10 @@ guideline: - テキストの文字サイズが19px(14pt)以上で太字の場合:3:1以上 - その他の場合: 4.5:1以上 - 注:モバイル・アプリケーションにおいては、デスクトップのWebと比較して文字サイズの変更方法が広く知られていると推測されること、各プラットフォームのガイドライン [#]_ [#]_ においてもWCAG 2.1に準じた基準を用いていることから、上記の基準としています。 + 参考: - .. [#] `アクセシビリティ | Apple Developer Documentation `__ - .. [#] `Accessibility – Material Design 3 `__ + - `アクセシビリティ | Apple Developer Documentation `__ + - `Accessibility – Material Design 3 `__ en: |- Ensure sufficient contrast between the colors of text within images and key visual elements conveying important information, and their background colors. @@ -25,10 +25,10 @@ guideline: - For bold text 19px (14pt) or larger: a contrast ratio of at least 3:1. - In other cases: a contrast ratio of at least 4.5:1. - Note: In mobile applications, it is assumed that methods for changing text size are more widely known compared to desktop web, and the guidelines of each platform [#]_ [#]_ also use standards in line with WCAG 2.1, hence the above criteria are set. + References: - .. [#] `Accessibility | Apple Developer Documentation `__ - .. [#] `Accessibility – Material Design 3 `__ + - `Accessibility | Apple Developer Documentation `__ + - `Accessibility – Material Design 3 `__ sc: - 1.4.3 - 1.4.6 diff --git a/data/yaml/gl/image/text-contrast.yaml b/data/yaml/gl/image/text-contrast.yaml index adbdf507..95fefae0 100644 --- a/data/yaml/gl/image/text-contrast.yaml +++ b/data/yaml/gl/image/text-contrast.yaml @@ -10,25 +10,19 @@ guideline: ja: |- 画像内のテキストや、重要な情報を伝える視覚的要素の色と背景の色に、十分なコントラストを確保する。 - - テキストの文字サイズが29px(22pt)以上の場合: 3:1以上 - - テキストの文字サイズが24px(18pt)以上で太字の場合: 3:1以上 + - テキストの文字サイズが24px(18pt)以上の場合: 3:1以上 + - テキストの文字サイズが19px(14pt)以上で太字の場合: 3:1以上 - その他の場合: 4.5:1以上 - 注:freeeのプロダクトやWebサイトにおいては、主に日本語が用いられているため、Understanding WCAG 2.1 [#]_ の日本語訳 [#]_ 中の訳注で示されている基準を用いています。 - - .. [#] `Understanding Success Criterion 1.4.3: Contrast (Minimum) `__ - .. [#] `達成基準 1.4.3: コントラスト (最低限)を理解する `__ + 参考: `達成基準 1.4.3: コントラスト (最低限)を理解する `__ en: |- Ensure sufficient contrast between the colors of text within images and key visual elements conveying important information, and their background colors. - - For text size 29px (22pt) or larger: a contrast ratio of at least 3:1. - - For bold text 24px (18pt) or larger: a contrast ratio of at least 3:1. + - For text size 24px (18pt) or larger: a contrast ratio of at least 3:1. + - For bold text 19px (14pt) or larger: a contrast ratio of at least 3:1. - In other cases: a contrast ratio of at least 4.5:1. - Note: In freee products and websites, Japanese is mainly used, so the criteria indicated in the translation notes in Understanding WCAG 2.1 [#]_ [#]_ are used. - - .. [#] `Understanding Success Criterion 1.4.3: Contrast (Minimum) `__ - .. [#] `達成基準 1.4.3: コントラスト (最低限)を理解する `__ + Reference: `Understanding Success Criterion 1.4.3: Contrast (Minimum) `__ sc: - 1.4.3 - 1.4.6 diff --git a/data/yaml/gl/images_of_text/mobile-text-contrast.yaml b/data/yaml/gl/images_of_text/mobile-text-contrast.yaml index 8168c31f..d7dbb5b9 100644 --- a/data/yaml/gl/images_of_text/mobile-text-contrast.yaml +++ b/data/yaml/gl/images_of_text/mobile-text-contrast.yaml @@ -14,10 +14,10 @@ guideline: - テキストの文字サイズが19px(14pt)以上で太字の場合:3:1以上 - その他の場合: 4.5:1以上 - 注:モバイル・アプリケーションにおいては、デスクトップのWebと比較して文字サイズの変更方法が広く知られていると推測されること、各プラットフォームのガイドライン [#]_ [#]_ においてもWCAG 2.1に準じた基準を用いていることから、上記の基準としています。 + 参考: - .. [#] `アクセシビリティ | Apple Developer Documentation `__ - .. [#] `Accessibility – Material Design 3 `__ + - `アクセシビリティ | Apple Developer Documentation `__ + - `Accessibility – Material Design 3 `__ en: |- Ensure a sufficient contrast ratio between the colors of images of text and their background colors. @@ -25,10 +25,10 @@ guideline: - For bold text 19px (14pt) or larger: a contrast ratio of at least 3:1. - In other cases: a contrast ratio of at least 4.5:1. - Note: In mobile applications, it is assumed that methods for changing text size are more widely known compared to desktop web, and the guidelines of each platform [#]_ [#]_ also use standards in line with WCAG 2.1, hence the above criteria are set. + References: - .. [#] `Accessibility | Apple Developer Documentation `__ - .. [#] `Accessibility – Material Design 3 `__ + - `Accessibility | Apple Developer Documentation `__ + - `Accessibility – Material Design 3 `__ sc: - 1.4.3 - 1.4.6 diff --git a/data/yaml/gl/images_of_text/text-contrast.yaml b/data/yaml/gl/images_of_text/text-contrast.yaml index 8f8691ab..92e3c63e 100644 --- a/data/yaml/gl/images_of_text/text-contrast.yaml +++ b/data/yaml/gl/images_of_text/text-contrast.yaml @@ -10,25 +10,19 @@ guideline: ja: |- 画像化されたテキストの色と背景の色に十分なコントラスト比を確保する。 - - テキストの文字サイズが29px(22pt)以上の場合: 3:1以上 - - テキストの文字サイズが24px(18pt)以上で太字の場合: 3:1以上 + - テキストの文字サイズが24px(18pt)以上の場合: 3:1以上 + - テキストの文字サイズが19px(14pt)以上で太字の場合: 3:1以上 - その他の場合: 4.5:1以上 - 注:freeeのプロダクトやWebサイトにおいては、主に日本語が用いられているため、Understanding WCAG 2.1 [#]_ の日本語訳 [#]_ 中の訳注で示されている基準を用いています。 - - .. [#] `Understanding Success Criterion 1.4.3: Contrast (Minimum) `__ - .. [#] `達成基準 1.4.3: コントラスト (最低限)を理解する `__ + 参考: `達成基準 1.4.3: コントラスト (最低限)を理解する `__ en: |- Ensure a sufficient contrast ratio between the colors of images of text and their background colors. - - For text size 29px (22pt) or larger: a contrast ratio of at least 3:1. - - For bold text 24px (18pt) or larger: a contrast ratio of at least 3:1. + - For text size 24px (18pt) or larger: a contrast ratio of at least 3:1. + - For bold text 19px (14pt) or larger: a contrast ratio of at least 3:1. - In other cases: a contrast ratio of at least 4.5:1. - Note: In freee products and websites, Japanese is mainly used, so the criteria indicated in the translation notes in Understanding WCAG 2.1 [#]_ [#]_ are used. - - .. [#] `Understanding Success Criterion 1.4.3: Contrast (Minimum) `__ - .. [#] `達成基準 1.4.3: コントラスト (最低限)を理解する `__ + Reference: `Understanding Success Criterion 1.4.3: Contrast (Minimum) `__ sc: - 1.4.3 - 1.4.6 diff --git a/data/yaml/gl/text/contrast.yaml b/data/yaml/gl/text/contrast.yaml index d19c036b..2facfe21 100644 --- a/data/yaml/gl/text/contrast.yaml +++ b/data/yaml/gl/text/contrast.yaml @@ -10,25 +10,19 @@ guideline: ja: |- 文字色と背景色に十分なコントラストを確保する。 - - テキストの文字サイズが29px(22pt)以上の場合: 3:1以上 - - テキストの文字サイズが24px(18pt)以上で太字の場合: 3:1以上 + - テキストの文字サイズが24px(18pt)以上の場合: 3:1以上 + - テキストの文字サイズが19px(14pt)以上で太字の場合: 3:1以上 - その他の場合: 4.5:1以上 - 注:freeeのプロダクトやWebサイトにおいては、主に日本語が用いられているため、Understanding WCAG 2.1 [#]_ の日本語訳 [#]_ 中の訳注で示されている基準を用いています。 - - .. [#] `Understanding Success Criterion 1.4.3: Contrast (Minimum) `__ - .. [#] `達成基準 1.4.3: コントラスト (最低限)を理解する `__ + 参考: `達成基準 1.4.3: コントラスト (最低限)を理解する `__ en: |- Ensure sufficient contrast between the colors of text and their background colors. - - For text size 29px (22pt) or larger: a contrast ratio of at least 3:1. - - For bold text 24px (18pt) or larger: a contrast ratio of at least 3:1. + - For text size 24px (18pt) or larger: a contrast ratio of at least 3:1. + - For bold text 19px (14pt) or larger: a contrast ratio of at least 3:1. - In other cases: a contrast ratio of at least 4.5:1. - Note: In freee products and websites, Japanese is mainly used, so the criteria indicated in the translation notes in Understanding WCAG 2.1 [#]_ [#]_ are used. - - .. [#] `Understanding Success Criterion 1.4.3: Contrast (Minimum) `__ - .. [#] `達成基準 1.4.3: コントラスト (最低限)を理解する `__ + Reference: `Understanding Success Criterion 1.4.3: Contrast (Minimum) `__ sc: - 1.4.3 - 1.4.6 diff --git a/data/yaml/gl/text/mobile-contrast.yaml b/data/yaml/gl/text/mobile-contrast.yaml index 80adcd2e..3357d803 100644 --- a/data/yaml/gl/text/mobile-contrast.yaml +++ b/data/yaml/gl/text/mobile-contrast.yaml @@ -14,10 +14,10 @@ guideline: - テキストの文字サイズが19px(14pt)以上で太字の場合:3:1以上 - その他の場合: 4.5:1以上 - 注:モバイル・アプリケーションにおいては、デスクトップのWebと比較して文字サイズの変更方法が広く知られていると推測されること、各プラットフォームのガイドライン [#]_ [#]_ においてもWCAG 2.1に準じた基準を用いていることから、上記の基準としています。 + 参考: - .. [#] `アクセシビリティ | Apple Developer Documentation `__ - .. [#] `Accessibility – Material Design 3 `__ + - `アクセシビリティ | Apple Developer Documentation `__ + - `Accessibility – Material Design 3 `__ en: |- Ensure sufficient contrast between the colors of text and their background colors. @@ -25,10 +25,10 @@ guideline: - For bold text 19px (14pt) or larger: a contrast ratio of at least 3:1. - In other cases: a contrast ratio of at least 4.5:1. - Note: In mobile applications, it is assumed that methods for changing text size are more widely known compared to desktop web, and the guidelines of each platform [#]_ [#]_ also use standards in line with WCAG 2.1, hence the above criteria are set. + References: - .. [#] `Accessibility | Apple Developer Documentation `__ - .. [#] `Accessibility – Material Design 3 `__ + - `Accessibility | Apple Developer Documentation `__ + - `Accessibility – Material Design 3 `__ sc: - 1.4.3 - 1.4.6 diff --git a/en/source/intro/history.rst b/en/source/intro/history.rst index 0920ffbb..34b22d6a 100644 --- a/en/source/intro/history.rst +++ b/en/source/intro/history.rst @@ -12,6 +12,14 @@ For the changes to the original Japanese version, please refer to the `Japanese Changes After the Latest release ================================ +`Ver. 202510.0 (Oct 31, 2025) `__ +============================================================================================= + +* Remove Japanese-specific criteria for contrast from :ref:`check-0002`. +* Add "no image" as a case for image checking in :ref:`check-0441`. +* Clarify the criteria for "data modification or deletion" in :ref:`check-1141`. +* Correct the alt attribute value for the Creative Commons license banner image. + `Ver. 202508.0 (Aug 26, 2025) `__ ============================================================================================= diff --git a/en/source/intro/intro.rst b/en/source/intro/intro.rst index 9fab375d..d248afa3 100644 --- a/en/source/intro/intro.rst +++ b/en/source/intro/intro.rst @@ -211,5 +211,5 @@ Updated: .. _WCAG21: https://www.w3.org/TR/WCAG21/ .. |cclogo| image:: https://i.creativecommons.org/l/by/4.0/88x31.png - :alt: Creative Commons License + :alt: Creative Commons Attribution 4.0 International (CC BY 4.0) License diff --git a/ja/source/intro/ChangeLog/2025/202510.0.rst b/ja/source/intro/ChangeLog/2025/202510.0.rst new file mode 100644 index 00000000..2a9242e1 --- /dev/null +++ b/ja/source/intro/ChangeLog/2025/202510.0.rst @@ -0,0 +1,10 @@ +.. _ver-202510-0: + +*********************************************************************************************** +`Ver. 202510.0 (2025年10月31日) `__ +*********************************************************************************************** + +* :ref:`check-0002` からコントラストの日本語独自の基準を削除 +* :ref:`check-0441` の画像のチェックに「画像がない」場合も追加 +* :ref:`check-1141` の「データの変更や削除」について基準を明確化 +* クリエイティブ・コモンズ・ライセンスのバナー画像のalt属性の値を修正 diff --git a/ja/source/intro/history.rst b/ja/source/intro/history.rst index 6c591d12..b79e3d47 100644 --- a/ja/source/intro/history.rst +++ b/ja/source/intro/history.rst @@ -11,6 +11,7 @@ Ver. 202205.0以降、チェック内容に関連する更新情報は :ref:`che 最新リリース以降の変更点 ======================== +.. include:: ChangeLog/2025/202510.0.rst .. include:: ChangeLog/2025/202508.0.rst .. include:: ChangeLog/2025/202504.0.rst .. include:: ChangeLog/2024/202411.0.rst diff --git a/ja/source/intro/intro.rst b/ja/source/intro/intro.rst index c0fa441e..b458fc16 100644 --- a/ja/source/intro/intro.rst +++ b/ja/source/intro/intro.rst @@ -212,6 +212,6 @@ Copyright © |copyright| .. _WCAG21ja: https://waic.jp/translations/WCAG21/ .. |cclogo| image:: https://i.creativecommons.org/l/by/4.0/88x31.png - :alt: クリエイティブ・コモンズ・ライセンス + :alt: クリエイティブ・コモンズ 表示 国際 4.0 (CC BY 4.0) ライセンス .. translated:: true diff --git a/package-lock.json b/package-lock.json index e46bef3f..7ad60dc7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,9 +16,9 @@ "ajv": "^8.17.1", "ajv-cli": "^5.0.0", "husky": "^9.1.7", - "lint-staged": "^16.1.5", - "sudachi-synonyms-dictionary": "^14.0.0", - "textlint": "^15.2.2", + "lint-staged": "^16.2.6", + "sudachi-synonyms-dictionary": "^15.0.0", + "textlint": "^15.2.3", "textlint-filter-rule-allowlist": "^4.0.0", "textlint-plugin-rst": "^0.1.1", "textlint-rule-ja-hiragana-fukushi": "^1.3.0", @@ -27,7 +27,7 @@ "textlint-rule-ja-unnatural-alphabet": "^2.0.1", "textlint-rule-no-nfd": "^2.0.2", "textlint-rule-no-todo": "^2.0.1", - "textlint-rule-preset-jtf-style": "^3.0.2" + "textlint-rule-preset-jtf-style": "^3.0.3" } }, "node_modules/@azu/format-text": { @@ -181,9 +181,9 @@ "license": "MIT" }, "node_modules/@modelcontextprotocol/sdk": { - "version": "1.17.4", - "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.17.4.tgz", - "integrity": "sha512-zq24hfuAmmlNZvik0FLI58uE5sriN0WWsQzIlYnzSuKDAHFqJtBFrl/LfB1NLgJT5Y7dEBzaX4yAKqOPrcetaw==", + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.20.2.tgz", + "integrity": "sha512-6rqTdFt67AAAzln3NOKsXRmv5ZzPkgbfaebKBqUbts7vK1GZudqnrun5a8d3M/h955cam9RHZ6Jb4Y1XhnmFPg==", "dev": true, "license": "MIT", "dependencies": { @@ -254,68 +254,68 @@ } }, "node_modules/@textlint/ast-node-types": { - "version": "15.2.2", - "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-15.2.2.tgz", - "integrity": "sha512-9ByYNzWV8tpz6BFaRzeRzIov8dkbSZu9q7IWqEIfmRuLWb2qbI/5gTvKcoWT1HYs4XM7IZ8TKSXcuPvMb6eorA==", + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-15.2.3.tgz", + "integrity": "sha512-GEhoxfmh6TF+xC8TJmAUwOzzh0J6sVDqjKhwTTwetf7YDdhHbIv1PuUb/dTadMVIWs1H0+JD4Y27n6LWMmqn9Q==", "dev": true, "license": "MIT" }, "node_modules/@textlint/ast-tester": { - "version": "15.2.2", - "resolved": "https://registry.npmjs.org/@textlint/ast-tester/-/ast-tester-15.2.2.tgz", - "integrity": "sha512-puwnJSPOeqtPQslz6ehfEF1wqoTb/iTebHj+vy6zePpHhBZRJdZKOqPe7p83Atetc8O5SEYa1aJ8ur8sSm0wQw==", + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@textlint/ast-tester/-/ast-tester-15.2.3.tgz", + "integrity": "sha512-eT0DBbQTa7Hm0JRRHT9vUv6VoIuY19eqI8UL2I7AzE820DSrrNkgGg/ZxB9I6BCDK/Yg96lJ45fMIeOFPvuJaQ==", "dev": true, "license": "MIT", "dependencies": { - "@textlint/ast-node-types": "15.2.2", - "debug": "^4.4.1" + "@textlint/ast-node-types": "15.2.3", + "debug": "^4.4.3" } }, "node_modules/@textlint/ast-traverse": { - "version": "15.2.2", - "resolved": "https://registry.npmjs.org/@textlint/ast-traverse/-/ast-traverse-15.2.2.tgz", - "integrity": "sha512-5uZCNp6fSYvDgQW3LGnJYC90ac1qWhUZJtjE1tI0fPk7U14Gr0Qu5FEOMuW0YUV5aoo3P1OpwrKPt2U6FFlrvg==", + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@textlint/ast-traverse/-/ast-traverse-15.2.3.tgz", + "integrity": "sha512-XqlEVbQanAu40pGrtoRJzV3bWUxiCvqpu6FBmHotUgah1jjNWe6DQRkDsjcil9qXrVjXfQFAjG8ZuDk9/sUcGg==", "dev": true, "license": "MIT", "dependencies": { - "@textlint/ast-node-types": "15.2.2" + "@textlint/ast-node-types": "15.2.3" } }, "node_modules/@textlint/config-loader": { - "version": "15.2.2", - "resolved": "https://registry.npmjs.org/@textlint/config-loader/-/config-loader-15.2.2.tgz", - "integrity": "sha512-uFlxTMhgS0jLzdn4xd3TDS/3QWlE8br2LQVnCjdNmvyU7qNpXHy/9+XUEfbvVMyBXrfBnDIFY4AQAXfhGdOo7g==", + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@textlint/config-loader/-/config-loader-15.2.3.tgz", + "integrity": "sha512-dSedypITXGyh/Bz0t/tQU1NMyehfZeeYhEMtfqpdFY6a3ABLpfaZpOMOZd9EP4zwu2oi2OsooQBMbn/ZdXJ12w==", "dev": true, "license": "MIT", "dependencies": { - "@textlint/kernel": "15.2.2", - "@textlint/module-interop": "15.2.2", - "@textlint/resolver": "15.2.2", - "@textlint/types": "15.2.2", - "@textlint/utils": "15.2.2", - "debug": "^4.4.1", + "@textlint/kernel": "15.2.3", + "@textlint/module-interop": "15.2.3", + "@textlint/resolver": "15.2.3", + "@textlint/types": "15.2.3", + "@textlint/utils": "15.2.3", + "debug": "^4.4.3", "rc-config-loader": "^4.1.3" } }, "node_modules/@textlint/feature-flag": { - "version": "15.2.2", - "resolved": "https://registry.npmjs.org/@textlint/feature-flag/-/feature-flag-15.2.2.tgz", - "integrity": "sha512-SX//fr056jGT3aRDbPTz4k0kEqyHRTvbHTr7HgC3yuksO89NKl605gmU9flrykBZC+i4GOMcR2BL4SweiNXbTg==", + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@textlint/feature-flag/-/feature-flag-15.2.3.tgz", + "integrity": "sha512-XW2NVj3K7Pi8jlgwxKMUh7L1y+EMN+s47TtEC1rkagI581THgHnAyAe+/aHZsF/CJEwevZtGnaan2MY1rnbsYA==", "dev": true, "license": "MIT" }, "node_modules/@textlint/fixer-formatter": { - "version": "15.2.2", - "resolved": "https://registry.npmjs.org/@textlint/fixer-formatter/-/fixer-formatter-15.2.2.tgz", - "integrity": "sha512-wX52sevPrM/hWDAolBm5yJkSQ5QGmLYMja4C1Ao3o/HVO5eI/Q6PS8amtoGJOilOXKrVV0hBuEwGdrXuyGngXw==", + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@textlint/fixer-formatter/-/fixer-formatter-15.2.3.tgz", + "integrity": "sha512-cdA3Pt2aaR2NKDBqv/rZiZ8VIuTsUZYX1uaq6v2T2HDFlHn46gv6A4TPg8w5ACpoHid1+kADqe67GRpCxPb9rQ==", "dev": true, "license": "MIT", "dependencies": { - "@textlint/module-interop": "15.2.2", - "@textlint/resolver": "15.2.2", - "@textlint/types": "15.2.2", + "@textlint/module-interop": "15.2.3", + "@textlint/resolver": "15.2.3", + "@textlint/types": "15.2.3", "chalk": "^4.1.2", - "debug": "^4.4.1", + "debug": "^4.4.3", "diff": "^5.2.0", "string-width": "^4.2.3", "strip-ansi": "^6.0.1", @@ -332,46 +332,6 @@ "node": ">=8" } }, - "node_modules/@textlint/fixer-formatter/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@textlint/fixer-formatter/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@textlint/fixer-formatter/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, "node_modules/@textlint/fixer-formatter/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -418,38 +378,38 @@ "license": "MIT" }, "node_modules/@textlint/kernel": { - "version": "15.2.2", - "resolved": "https://registry.npmjs.org/@textlint/kernel/-/kernel-15.2.2.tgz", - "integrity": "sha512-xFtIx3thI3SC2wk4uApJ5lW0cks4pkSfoRejfYoAMwPd1VyvFhCsQQWNRTyXIlXfNIGT6qY82SoPyXvi3XF6Zg==", + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@textlint/kernel/-/kernel-15.2.3.tgz", + "integrity": "sha512-A+YVhh5cFMDrNbnhA754/PT2WrVirQ/zCvGKJz/+yKR+ju97eQc6wZOcu/vYAEsS0+vDZRyR/opD+aOaI3GHZA==", "dev": true, "license": "MIT", "dependencies": { - "@textlint/ast-node-types": "15.2.2", - "@textlint/ast-tester": "15.2.2", - "@textlint/ast-traverse": "15.2.2", - "@textlint/feature-flag": "15.2.2", - "@textlint/source-code-fixer": "15.2.2", - "@textlint/types": "15.2.2", - "@textlint/utils": "15.2.2", - "debug": "^4.4.1", + "@textlint/ast-node-types": "15.2.3", + "@textlint/ast-tester": "15.2.3", + "@textlint/ast-traverse": "15.2.3", + "@textlint/feature-flag": "15.2.3", + "@textlint/source-code-fixer": "15.2.3", + "@textlint/types": "15.2.3", + "@textlint/utils": "15.2.3", + "debug": "^4.4.3", "fast-equals": "^4.0.3", "structured-source": "^4.0.0" } }, "node_modules/@textlint/linter-formatter": { - "version": "15.2.2", - "resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-15.2.2.tgz", - "integrity": "sha512-oMVaMJ3exFvXhCj3AqmCbLaeYrTNLqaJnLJMIlmnRM3/kZdxvku4OYdaDzgtlI194cVxamOY5AbHBBVnY79kEg==", + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-15.2.3.tgz", + "integrity": "sha512-gnFGl8MejAS4rRDPKV2OYvU0Tb0iJySOPDahf+RCK30b615UqY6CjqWxXw1FvXfT3pHPoRrefVu39j1AKm2ezg==", "dev": true, "license": "MIT", "dependencies": { "@azu/format-text": "^1.0.2", "@azu/style-format": "^1.0.1", - "@textlint/module-interop": "15.2.2", - "@textlint/resolver": "15.2.2", - "@textlint/types": "15.2.2", + "@textlint/module-interop": "15.2.3", + "@textlint/resolver": "15.2.3", + "@textlint/types": "15.2.3", "chalk": "^4.1.2", - "debug": "^4.4.1", + "debug": "^4.4.3", "js-yaml": "^3.14.1", "lodash": "^4.17.21", "pluralize": "^2.0.0", @@ -469,46 +429,6 @@ "node": ">=8" } }, - "node_modules/@textlint/linter-formatter/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@textlint/linter-formatter/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@textlint/linter-formatter/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, "node_modules/@textlint/linter-formatter/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -548,14 +468,14 @@ } }, "node_modules/@textlint/markdown-to-ast": { - "version": "15.2.2", - "resolved": "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-15.2.2.tgz", - "integrity": "sha512-7LsDOCApuM5463e4mfJAORyOMDxzJGmfDfoT6RtwL5P1T1kKGxLl5yudzdfm8++WB8v4wJZZEUQqppejeDRs9Q==", + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-15.2.3.tgz", + "integrity": "sha512-5kz75TBEOUQIpqCaV65l98YSIpfyOyTKSn4et9A//iSbjiwZHDK3HBo2jDWdkHmGX28+w1hBFDR7/eFMnbxAJQ==", "dev": true, "license": "MIT", "dependencies": { - "@textlint/ast-node-types": "15.2.2", - "debug": "^4.4.1", + "@textlint/ast-node-types": "15.2.3", + "debug": "^4.4.3", "mdast-util-gfm-autolink-literal": "^0.1.3", "neotraverse": "^0.6.18", "remark-footnotes": "^3.0.0", @@ -567,9 +487,9 @@ } }, "node_modules/@textlint/module-interop": { - "version": "15.2.2", - "resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-15.2.2.tgz", - "integrity": "sha512-2rmNcWrcqhuR84Iio1WRzlc4tEoOMHd6T7urjtKNNefpTt1owrTJ9WuOe60yD3FrTW0J/R0ux5wxUbP/eaeFOA==", + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-15.2.3.tgz", + "integrity": "sha512-dV6M3ptOFJjR5bgYUMeVqc8AqFrMtCEFaZEiLAfMufX29asYonI2K8arqivOA69S2Lh6esyij6V7qpQiXeK/cA==", "dev": true, "license": "MIT" }, @@ -599,69 +519,69 @@ } }, "node_modules/@textlint/resolver": { - "version": "15.2.2", - "resolved": "https://registry.npmjs.org/@textlint/resolver/-/resolver-15.2.2.tgz", - "integrity": "sha512-4hGWjmHt0y+5NAkoYZ8FvEkj8Mez9TqfbTm3BPjoV32cIfEixl2poTOgapn1rfm73905GSO3P1jiWjmgvii13Q==", + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@textlint/resolver/-/resolver-15.2.3.tgz", + "integrity": "sha512-Qd3udqo2sWa3u0sYgDVd9M/iybBVBJLrWGaID6Yzl9GyhdGi0E6ngo3b9r+H6psbJDIaCKi54IxvC9q5didWfA==", "dev": true, "license": "MIT" }, "node_modules/@textlint/source-code-fixer": { - "version": "15.2.2", - "resolved": "https://registry.npmjs.org/@textlint/source-code-fixer/-/source-code-fixer-15.2.2.tgz", - "integrity": "sha512-Cstr9wjK7toLmY2hhlZ3YcIh8o/gr7E5dpCd9IalNiMBedvvLYuOfhktKgUa4E7oFcGtl0leDPgx5ENDY25JDw==", + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@textlint/source-code-fixer/-/source-code-fixer-15.2.3.tgz", + "integrity": "sha512-DfKy15kGFG8ddEYDyeRKilVI3nTSdEp5/sw7ariyUXk2spAW8xdToRpgeMaluF4Cp5gcGa6bVOTDJapj/UfFvA==", "dev": true, "license": "MIT", "dependencies": { - "@textlint/types": "15.2.2", - "debug": "^4.4.1" + "@textlint/types": "15.2.3", + "debug": "^4.4.3" } }, "node_modules/@textlint/text-to-ast": { - "version": "15.2.2", - "resolved": "https://registry.npmjs.org/@textlint/text-to-ast/-/text-to-ast-15.2.2.tgz", - "integrity": "sha512-IphrojtJw3eW/1JMm/Hzc0dsDFALpEzjankABS6tIHMvB2O+2wejRDbDaqmgCgMCr+lGKoMNg5Xvlr5x9XRxww==", + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@textlint/text-to-ast/-/text-to-ast-15.2.3.tgz", + "integrity": "sha512-xweE4sDTz56tLy90UXcjn/YEYZr2NH/Kh4Kr5FmQ8K4MtJXOVOubnwmN9503/Vmj4Mq9uNuEzR35D4H2LVHriQ==", "dev": true, "license": "MIT", "dependencies": { - "@textlint/ast-node-types": "15.2.2" + "@textlint/ast-node-types": "15.2.3" } }, "node_modules/@textlint/textlint-plugin-markdown": { - "version": "15.2.2", - "resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-15.2.2.tgz", - "integrity": "sha512-JzmHAtC2C4LOpJ/JD2YsqBZt9ej4khFFDI0d9E6P9y9AO/HOEv4GeT7aAjGGPG6AVO977aGiJ92EK9kTwlVnIQ==", + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-15.2.3.tgz", + "integrity": "sha512-fpHuWt1Tonl+UuObH5upByvPWQjd9swu+beMlrSagBWTFblEyNxGwgaQkTjaWC/SYqJn4TkTsT1c1IZJaHV5oQ==", "dev": true, "license": "MIT", "dependencies": { - "@textlint/markdown-to-ast": "15.2.2", - "@textlint/types": "15.2.2" + "@textlint/markdown-to-ast": "15.2.3", + "@textlint/types": "15.2.3" } }, "node_modules/@textlint/textlint-plugin-text": { - "version": "15.2.2", - "resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-text/-/textlint-plugin-text-15.2.2.tgz", - "integrity": "sha512-bZYlxw8S9zsuJgx2EAR23RFyQ3JtyuIDUA3dbt5Sov2eo20LitNjDIqrQgDo85widbOD/6rG7VioNesV1/6HFw==", + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-text/-/textlint-plugin-text-15.2.3.tgz", + "integrity": "sha512-d5a1dXCYqx3cz8Q8dg5JFqWGbZHbfnYIKsue5DndEY6YtZ99JnaAvReo6GuJK5Pg+6pgOys2OvyZRxFA4D59fQ==", "dev": true, "license": "MIT", "dependencies": { - "@textlint/text-to-ast": "15.2.2", - "@textlint/types": "15.2.2" + "@textlint/text-to-ast": "15.2.3", + "@textlint/types": "15.2.3" } }, "node_modules/@textlint/types": { - "version": "15.2.2", - "resolved": "https://registry.npmjs.org/@textlint/types/-/types-15.2.2.tgz", - "integrity": "sha512-X2BHGAR3yXJsCAjwYEDBIk9qUDWcH4pW61ISfmtejau+tVqKtnbbvEZnMTb6mWgKU1BvTmftd5DmB1XVDUtY3g==", + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@textlint/types/-/types-15.2.3.tgz", + "integrity": "sha512-i8XVmDHJwykMXcGgkSxZLjdbeqnl+voYAcIr94KIe0STwgkHIhwHJgb/tEVFawGClHo+gPczF12l1C5+TAZEzQ==", "dev": true, "license": "MIT", "dependencies": { - "@textlint/ast-node-types": "15.2.2" + "@textlint/ast-node-types": "15.2.3" } }, "node_modules/@textlint/utils": { - "version": "15.2.2", - "resolved": "https://registry.npmjs.org/@textlint/utils/-/utils-15.2.2.tgz", - "integrity": "sha512-uPCfBl2NF4tiXGjAE5DAwah0Bn/EFsgtXhDEIJV4hsSfBQBD8Guqnh8MvJj25fvZaQS+MTNGiEC6bFXtIMHuAg==", + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@textlint/utils/-/utils-15.2.3.tgz", + "integrity": "sha512-B5OHi1P6JA0Hy04MmmTeNXFTsSfvgbbqQAWj9iUHg+GhPtd8GyFzb0uxLDIp1oqAGN8eM2hR/n8vwz4WsfPqMw==", "dev": true, "license": "MIT" }, @@ -775,9 +695,9 @@ "license": "MIT" }, "node_modules/ansi-escapes": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz", - "integrity": "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.1.1.tgz", + "integrity": "sha512-Zhl0ErHcSRUaVfGUeUdDuLgpkEo8KIFjB4Y9uAc46ScOpdDiU1Dbyplh7qWJeJ/ZHpbyMSM26+X3BySgnIz40Q==", "dev": true, "license": "MIT", "dependencies": { @@ -1074,18 +994,38 @@ } }, "node_modules/chalk": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.0.tgz", - "integrity": "sha512-46QrSQFyVSEyYAgQ22hQ+zDa60YHA4fBstHmtSApj1Y5vKtG27fWowW03jCk5KcbXEWPZUIR894aARCA/G1kfQ==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" + "node": ">=10" }, "funding": { "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/chalk/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/character-entities": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", @@ -1146,17 +1086,17 @@ } }, "node_modules/cli-truncate": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", - "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.1.1.tgz", + "integrity": "sha512-SroPvNHxUnk+vIW/dOSfNqdy1sPEFkrTk6TUtqLCnBlo3N7TNYYkzzN7uSD6+jVjrdO4+p8nH7JzH6cIvUem6A==", "dev": true, "license": "MIT", "dependencies": { - "slice-ansi": "^5.0.0", - "string-width": "^7.0.0" + "slice-ansi": "^7.1.0", + "string-width": "^8.0.0" }, "engines": { - "node": ">=18" + "node": ">=20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -1203,9 +1143,9 @@ "license": "MIT" }, "node_modules/commander": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.0.tgz", - "integrity": "sha512-2uM9rYjPvyq39NwLRqaiLtWHyDC1FvryJDa2ATTVims5YAS4PupsEQsDvP14FqhFr0P49CYDugi59xaxJlTXRA==", + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", + "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", "dev": true, "license": "MIT", "engines": { @@ -1363,9 +1303,9 @@ } }, "node_modules/debug": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "dev": true, "license": "MIT", "dependencies": { @@ -1494,9 +1434,9 @@ "license": "MIT" }, "node_modules/emoji-regex": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", - "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true, "license": "MIT" }, @@ -1724,13 +1664,13 @@ } }, "node_modules/eventsource-parser": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.5.tgz", - "integrity": "sha512-bSRG85ZrMdmWtm7qkF9He9TNRzc/Bm99gEJMaQoHJ9E6Kv9QBbsldh2oMj7iXmYNEAVvNgvv5vPorG6W+XtBhQ==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.6.tgz", + "integrity": "sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==", "dev": true, "license": "MIT", "engines": { - "node": ">=20.0.0" + "node": ">=18.0.0" } }, "node_modules/execall": { @@ -2075,9 +2015,9 @@ } }, "node_modules/get-east-asian-width": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.3.0.tgz", - "integrity": "sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz", + "integrity": "sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==", "dev": true, "license": "MIT", "engines": { @@ -2656,13 +2596,16 @@ } }, "node_modules/is-fullwidth-code-point": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", - "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz", + "integrity": "sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==", "dev": true, "license": "MIT", + "dependencies": { + "get-east-asian-width": "^1.3.1" + }, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -3080,33 +3023,17 @@ "node": ">= 0.8.0" } }, - "node_modules/lilconfig": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", - "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antonk52" - } - }, "node_modules/lint-staged": { - "version": "16.1.5", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-16.1.5.tgz", - "integrity": "sha512-uAeQQwByI6dfV7wpt/gVqg+jAPaSp8WwOA8kKC/dv1qw14oGpnpAisY65ibGHUGDUv0rYaZ8CAJZ/1U8hUvC2A==", + "version": "16.2.6", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-16.2.6.tgz", + "integrity": "sha512-s1gphtDbV4bmW1eylXpVMk2u7is7YsrLl8hzrtvC70h4ByhcMLZFY01Fx05ZUDNuv1H8HO4E+e2zgejV1jVwNw==", "dev": true, "license": "MIT", "dependencies": { - "chalk": "^5.5.0", - "commander": "^14.0.0", - "debug": "^4.4.1", - "lilconfig": "^3.1.3", - "listr2": "^9.0.1", + "commander": "^14.0.1", + "listr2": "^9.0.5", "micromatch": "^4.0.8", - "nano-spawn": "^1.0.2", + "nano-spawn": "^2.0.0", "pidtree": "^0.6.0", "string-argv": "^0.3.2", "yaml": "^2.8.1" @@ -3122,13 +3049,13 @@ } }, "node_modules/listr2": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-9.0.2.tgz", - "integrity": "sha512-VVd7cS6W+vLJu2wmq4QmfVj14Iep7cz4r/OWNk36Aq5ZOY7G8/BfCrQFexcwB1OIxB3yERiePfE/REBjEFulag==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-9.0.5.tgz", + "integrity": "sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g==", "dev": true, "license": "MIT", "dependencies": { - "cli-truncate": "^4.0.0", + "cli-truncate": "^5.0.0", "colorette": "^2.0.20", "eventemitter3": "^5.0.1", "log-update": "^6.1.0", @@ -3194,39 +3121,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/log-update/node_modules/is-fullwidth-code-point": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", - "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", - "dev": true, - "license": "MIT", - "dependencies": { - "get-east-asian-width": "^1.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/slice-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", - "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.2.1", - "is-fullwidth-code-point": "^5.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, "node_modules/longest-streak": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz", @@ -3747,9 +3641,9 @@ "license": "MIT" }, "node_modules/nano-spawn": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nano-spawn/-/nano-spawn-1.0.2.tgz", - "integrity": "sha512-21t+ozMQDAL/UGgQVBbZ/xXvNO10++ZPuTmKRO8k9V3AClVRht49ahtDjfY8l1q6nSHOrE5ASfthzH3ol6R/hg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/nano-spawn/-/nano-spawn-2.0.0.tgz", + "integrity": "sha512-tacvGzUY5o2D8CBh2rrwxyNojUsZNU2zjNTzKQrkgGJQTbGAfArVWXSKMBokBeeg6C7OLRGUEyoFlYbfeWQIqw==", "dev": true, "license": "MIT", "engines": { @@ -4022,13 +3916,14 @@ "license": "MIT" }, "node_modules/path-to-regexp": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.2.0.tgz", - "integrity": "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz", + "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==", "dev": true, "license": "MIT", - "engines": { - "node": ">=16" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/picocolors": { @@ -4177,19 +4072,36 @@ } }, "node_modules/raw-body": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.0.tgz", - "integrity": "sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.1.tgz", + "integrity": "sha512-9G8cA+tuMS75+6G/TzW8OtLzmBDMo8p1JRxN5AZ+LAp8uxGA8V8GZm4GQ4/N5QNQEnLmg6SS7wyuSmbKepiKqA==", "dev": true, "license": "MIT", "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", - "iconv-lite": "0.6.3", + "iconv-lite": "0.7.0", "unpipe": "1.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">= 0.10" + } + }, + "node_modules/raw-body/node_modules/iconv-lite": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.0.tgz", + "integrity": "sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/rc-config-loader": { @@ -4772,17 +4684,17 @@ } }, "node_modules/slice-ansi": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", - "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz", + "integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^6.0.0", - "is-fullwidth-code-point": "^4.0.0" + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" }, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/chalk/slice-ansi?sponsor=1" @@ -4866,18 +4778,17 @@ } }, "node_modules/string-width": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.1.0.tgz", + "integrity": "sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==", "dev": true, "license": "MIT", "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", + "get-east-asian-width": "^1.3.0", "strip-ansi": "^7.1.0" }, "engines": { - "node": ">=18" + "node": ">=20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -4909,13 +4820,6 @@ "node": ">=8" } }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, "node_modules/string-width-cjs/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -5049,9 +4953,9 @@ } }, "node_modules/sudachi-synonyms-dictionary": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/sudachi-synonyms-dictionary/-/sudachi-synonyms-dictionary-14.0.0.tgz", - "integrity": "sha512-7cPjewiGNukkFhzlZIbyNhUzryYl/IPt5zEcaiAc6ln95hqLR0+DMzQxxjQRIj3UEsEOqFTS41MgUzR9TdBx0Q==", + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/sudachi-synonyms-dictionary/-/sudachi-synonyms-dictionary-15.0.0.tgz", + "integrity": "sha512-iBFo1sxzVMxg6YAy28q8shDAiwl7AiEeVf2HEUZTi2+HISyGye0qUtqkpiQMxx3fy3IfeC9DuMhX5GYgEt1wVg==", "dev": true, "license": "Apache-2.0" }, @@ -5111,13 +5015,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/table/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, "node_modules/table/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -5182,28 +5079,28 @@ "license": "MIT" }, "node_modules/textlint": { - "version": "15.2.2", - "resolved": "https://registry.npmjs.org/textlint/-/textlint-15.2.2.tgz", - "integrity": "sha512-0V02Lvs7GJfXPNJgBVhayysW+9qe0bZVmyD8FrYzkW70xZcSoVK4Hdl6825wpQqn8KgdB171WNYlWq5FPEAPgg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@modelcontextprotocol/sdk": "^1.17.2", - "@textlint/ast-node-types": "15.2.2", - "@textlint/ast-traverse": "15.2.2", - "@textlint/config-loader": "15.2.2", - "@textlint/feature-flag": "15.2.2", - "@textlint/fixer-formatter": "15.2.2", - "@textlint/kernel": "15.2.2", - "@textlint/linter-formatter": "15.2.2", - "@textlint/module-interop": "15.2.2", - "@textlint/resolver": "15.2.2", - "@textlint/textlint-plugin-markdown": "15.2.2", - "@textlint/textlint-plugin-text": "15.2.2", - "@textlint/types": "15.2.2", - "@textlint/utils": "15.2.2", - "debug": "^4.4.1", - "file-entry-cache": "^10.1.3", + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/textlint/-/textlint-15.2.3.tgz", + "integrity": "sha512-TV6STsR0iDSuBtQTtgtAlQVT65OubHcpxOIGxWgRCBfRqlEwdkD6v3tx6ydE16nk0VdpPJP3/PuIMLKQSQk/ZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@modelcontextprotocol/sdk": "^1.19.1", + "@textlint/ast-node-types": "15.2.3", + "@textlint/ast-traverse": "15.2.3", + "@textlint/config-loader": "15.2.3", + "@textlint/feature-flag": "15.2.3", + "@textlint/fixer-formatter": "15.2.3", + "@textlint/kernel": "15.2.3", + "@textlint/linter-formatter": "15.2.3", + "@textlint/module-interop": "15.2.3", + "@textlint/resolver": "15.2.3", + "@textlint/textlint-plugin-markdown": "15.2.3", + "@textlint/textlint-plugin-text": "15.2.3", + "@textlint/types": "15.2.3", + "@textlint/utils": "15.2.3", + "debug": "^4.4.3", + "file-entry-cache": "^10.1.4", "glob": "^10.4.5", "md5": "^2.3.0", "optionator": "^0.9.4", @@ -5390,9 +5287,9 @@ } }, "node_modules/textlint-rule-preset-jtf-style": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/textlint-rule-preset-jtf-style/-/textlint-rule-preset-jtf-style-3.0.2.tgz", - "integrity": "sha512-rpB1OCIK4KZqZOnM+vVxDCBkgzDH3XINCRiHQ+gV8SRydtfppPWx9WAoxCvq8lm7YuRdGiFU6XartIix2Fc2kA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/textlint-rule-preset-jtf-style/-/textlint-rule-preset-jtf-style-3.0.3.tgz", + "integrity": "sha512-NTvqjg3oMTGjSDoH6MnYu+DDWW6cEghA66Lb8N0bheTphAj99aaG10HGhwTfDbaH2P6NfPQvRP5ISxiXCT9zdg==", "dev": true, "license": "MIT", "dependencies": { @@ -6036,9 +5933,9 @@ } }, "node_modules/wrap-ansi": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", - "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", "dev": true, "license": "MIT", "dependencies": { @@ -6098,13 +5995,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, "node_modules/wrap-ansi-cjs/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -6143,6 +6033,31 @@ "node": ">=8" } }, + "node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", + "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", diff --git a/package.json b/package.json index b4efa0e2..30297241 100644 --- a/package.json +++ b/package.json @@ -21,9 +21,9 @@ "ajv": "^8.17.1", "ajv-cli": "^5.0.0", "husky": "^9.1.7", - "lint-staged": "^16.1.5", - "sudachi-synonyms-dictionary": "^14.0.0", - "textlint": "^15.2.2", + "lint-staged": "^16.2.6", + "sudachi-synonyms-dictionary": "^15.0.0", + "textlint": "^15.2.3", "textlint-filter-rule-allowlist": "^4.0.0", "textlint-plugin-rst": "^0.1.1", "textlint-rule-ja-hiragana-fukushi": "^1.3.0", @@ -32,7 +32,7 @@ "textlint-rule-ja-unnatural-alphabet": "^2.0.1", "textlint-rule-no-nfd": "^2.0.2", "textlint-rule-no-todo": "^2.0.1", - "textlint-rule-preset-jtf-style": "^3.0.2" + "textlint-rule-preset-jtf-style": "^3.0.3" }, "dependencies": { "fast-json-patch": "^3.1.1" diff --git a/version.py b/version.py index 3ec01728..b176e570 100644 --- a/version.py +++ b/version.py @@ -1,4 +1,4 @@ -guidelines_version = 'Ver. 202508.0' +guidelines_version = 'Ver. 202510.0' checksheet_version = '7.0.0' checksheet_date = '2025-08-07' -publishedDate = '2025-08-26' +publishedDate = '2025-10-31'