From 6fcf1057ed3289fc9f18f21dc8d506d8d194ef2a Mon Sep 17 00:00:00 2001 From: Joaquim Costa Date: Sat, 16 May 2026 11:43:12 -0400 Subject: [PATCH 1/7] Add bilingual (English/Kriolu) documentation Translate README, CONTRIBUTING, PR/issue templates, and _example docs to Kriolu (ALUPEC orthography). All .kea.md files marked as drafts pending native-speaker review. Also: - Add language-picker headers to English and Kriolu versions - Clarify README license clause covers documentation as well as presets - Document ?template=.md URL pattern in CONTRIBUTING for selecting a specific PR template (GitHub doesn't show a picker for PR templates when multiple exist) --- .github/ISSUE_TEMPLATE/preset-request.kea.md | 36 ++++ .github/ISSUE_TEMPLATE/preset-request.md | 2 + .../PULL_REQUEST_TEMPLATE/new-preset.kea.md | 46 +++++ .github/PULL_REQUEST_TEMPLATE/new-preset.md | 2 + .../update-preset.kea.md | 40 +++++ .../PULL_REQUEST_TEMPLATE/update-preset.md | 2 + CONTRIBUTING.kea.md | 164 ++++++++++++++++++ CONTRIBUTING.md | 10 ++ README.kea.md | 60 +++++++ README.md | 4 +- presets/_example/CHANGELOG.kea.md | 19 ++ presets/_example/README.kea.md | 15 ++ presets/_example/README.md | 2 + 13 files changed, 401 insertions(+), 1 deletion(-) create mode 100644 .github/ISSUE_TEMPLATE/preset-request.kea.md create mode 100644 .github/PULL_REQUEST_TEMPLATE/new-preset.kea.md create mode 100644 .github/PULL_REQUEST_TEMPLATE/update-preset.kea.md create mode 100644 CONTRIBUTING.kea.md create mode 100644 README.kea.md create mode 100644 presets/_example/CHANGELOG.kea.md create mode 100644 presets/_example/README.kea.md diff --git a/.github/ISSUE_TEMPLATE/preset-request.kea.md b/.github/ISSUE_TEMPLATE/preset-request.kea.md new file mode 100644 index 0000000..9f216e8 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/preset-request.kea.md @@ -0,0 +1,36 @@ +--- +name: Pididu di preset (Kriolu) +about: Pidi un duminiu novu ô preset ki ka inda eziste +title: '[Pididu] ' +labels: ['preset-request'] +--- + +> **DRAFT — needs native-speaker review.** +> +> [English](./preset-request.md) | **Kriolu** + +## Pididu di preset + +**Duminiu propostu:** + +**ID di preset propostu:** + +### Ke ki es ta kobri + + + +### Pamodi é nesesáriu + + + +### Fontis dispunivel + + + +### Bu pode autoria-l? + +- [ ] Si — N sta a voluntaria pa autoria es preset +- [ ] Parsialmenti — N pode kontribui entradas ma N meste djuda ku kuradoria ô rivizon +- [ ] Na — N sta pidi alguen otu ta kria-l + +(Tudu três é válidu! Mutu preset útil ta kumesa komo pididu ki alguen otu ta panha más tardi.) diff --git a/.github/ISSUE_TEMPLATE/preset-request.md b/.github/ISSUE_TEMPLATE/preset-request.md index 526f26b..9f59d40 100644 --- a/.github/ISSUE_TEMPLATE/preset-request.md +++ b/.github/ISSUE_TEMPLATE/preset-request.md @@ -5,6 +5,8 @@ title: '[Request] ' labels: ['preset-request'] --- +> **English** | [Kriolu](./preset-request.kea.md) + ## Preset request **Proposed domain:** diff --git a/.github/PULL_REQUEST_TEMPLATE/new-preset.kea.md b/.github/PULL_REQUEST_TEMPLATE/new-preset.kea.md new file mode 100644 index 0000000..e82b9f3 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE/new-preset.kea.md @@ -0,0 +1,46 @@ +--- +name: Preset novu (Kriolu) +about: Submete un preset novu di glosáriu pa katalogu +--- + +> **DRAFT — needs native-speaker review.** +> +> [English](./new-preset.md) | **Kriolu** + +## Preset novu + +**ID di preset:** `` + +**Duminiu:** + +**Konta di entradas:** + +### Ke ki es preset ta kobri + + + +### Fontis + + + +- Fonti 1 +- Fonti 2 +- Fonti 3 + +### Kobertura di dialetu + + + +### Kontestu di autor + + + +### Checklist + +- [ ] N kore `pnpm validate ` lokalmenti i el ta pasa +- [ ] `manifest.entryCount` ta korresponde ku númeru reál di entradas na `glossary.json` +- [ ] `manifest.id` ta korresponde ku nomi di diretóriu +- [ ] Kada entrada ten polmenus un alvu +- [ ] `manifest.sources` ta lista polmenus un referensia kredíbel +- [ ] N lê i N konkorda ku [CONTRIBUTING.kea.md](../../CONTRIBUTING.kea.md) +- [ ] N ta libra es kontribuison sob [CC BY-SA 4.0](../../LICENSE) diff --git a/.github/PULL_REQUEST_TEMPLATE/new-preset.md b/.github/PULL_REQUEST_TEMPLATE/new-preset.md index d3f38d6..4aa13b6 100644 --- a/.github/PULL_REQUEST_TEMPLATE/new-preset.md +++ b/.github/PULL_REQUEST_TEMPLATE/new-preset.md @@ -3,6 +3,8 @@ name: New preset about: Submit a new glossary preset to the catalog --- +> **English** | [Kriolu](./new-preset.kea.md) + ## New preset **Preset ID:** `` diff --git a/.github/PULL_REQUEST_TEMPLATE/update-preset.kea.md b/.github/PULL_REQUEST_TEMPLATE/update-preset.kea.md new file mode 100644 index 0000000..b852827 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE/update-preset.kea.md @@ -0,0 +1,40 @@ +--- +name: Atualiza preset (Kriolu) +about: Atualiza un preset ki ja ta eziste (entradas novu, korreson, klarifikason) +--- + +> **DRAFT — needs native-speaker review.** +> +> [English](./update-preset.md) | **Kriolu** + +## Atualiza preset + +**ID di preset:** `` + +**Bump di verson:** `` → `` + +**Tipu di bump:** +- [ ] Patch (korreson di tipo, klarifikason di notas) +- [ ] Minor (entradas novu adisionadu, sen mudansa ki ta keba) +- [ ] Major (termus tiradu ô tradusãu preferida mudadu — ta keba aprovasãu downstream) + +### Ke ki mudou + + + +### Pamodi + + + +### Fontis pa entradas novu/mudadu + + + +### Checklist + +- [ ] N bumpa `manifest.version` siginu semver +- [ ] N atualiza `manifest.updatedAt` pa data di oji +- [ ] N atualiza `manifest.entryCount` si entradas foi adisionadu/tiradu +- [ ] N adisiona un entrada na `CHANGELOG.md` pa es verson +- [ ] N kore `pnpm validate ` lokalmenti i el ta pasa +- [ ] N é un maintainer listadu di es preset, Ô N ja ping un maintainer pa sign-off diff --git a/.github/PULL_REQUEST_TEMPLATE/update-preset.md b/.github/PULL_REQUEST_TEMPLATE/update-preset.md index 7c63b39..9700896 100644 --- a/.github/PULL_REQUEST_TEMPLATE/update-preset.md +++ b/.github/PULL_REQUEST_TEMPLATE/update-preset.md @@ -3,6 +3,8 @@ name: Update preset about: Update an existing preset (new entries, fixes, clarifications) --- +> **English** | [Kriolu](./update-preset.kea.md) + ## Update preset **Preset ID:** `` diff --git a/CONTRIBUTING.kea.md b/CONTRIBUTING.kea.md new file mode 100644 index 0000000..f948877 --- /dev/null +++ b/CONTRIBUTING.kea.md @@ -0,0 +1,164 @@ +> **DRAFT — needs native-speaker review.** Pull requests welcome. + +> [English](./CONTRIBUTING.md) | **Kriolu** + +# Kontribui un preset + +Obrigadu pa kre djuda konstrui es komuns di glosáriu di Kriolu. Es guia ta leba-u pa tudu fluxu, di idea te preset merged. + +Si algun kuza li ka sta klaru, é bug di nos — favor abri un issue i nu ta fixa dokumentu. + +--- + +## Antis di kumesa + +Disidi três kuza: + +1. **Duminiu.** Kal sentu ki bu preset ta kobri? Saúdi, edukason, agrikultura, relijaun, múzika, tek, sirvisus sivikus, etc. Mante-l strétu — un preset apertadu di 80 termu é midjor ki un di 800 termu spadjadu. +2. **Públiku.** Ken ki ta uza es kuza? Materiál pa pasienti ta lê diferenti di notas klínika; tekstu di skola ta diferensia di artigu akadémiku. Marka es kuza na README di bu preset. +3. **Kobertura di dialetu.** Santiagu (Badiu)? Sãu Visenti (Sanpajudu)? Tudu dôs? Marka es kuza na manifest. Mistura dialetu sen sinaliza é problema más kumun na rivizon. + +Si bu duminiu ka inda eziste, ka ten problema — bai en frenti i kria-l. + +--- + +## Setup di un bes + +Bu ta meste [Node.js 20+](https://nodejs.org/) i [pnpm](https://pnpm.io/installation). + +```sh +git clone https://github.com/YOUR-USERNAME/papia-presets.git +cd papia-presets +pnpm install +``` + +É só si. Repo ka ten dipendénsia di runtime alén di un validador di JSON schema. + +--- + +## Fluxu di autoria + +### Opson A — Konstrui-l na Skrebe i esporta + +Es é di lonji kaminhu más fásil. É tanbé más konfiabel, pamodi linter ALUPEC di Skrebe ta panha errus di ortografia kantu bu sta skrebi. + +1. Abri Skrebe, kria ô abri kualker dokumentu. +2. Abri panel di Glosáriu. Adisiona bu termus un pa un, ô importa un CSV. +3. Esporta komo `.glossary.json` (Panel di Glosáriu → Esporta → JSON). +4. Poi fitxeru esportadu na `presets//glossary.json`. + +### Opson B — Skrebe JSON diretamenti + +1. Kria un preset novu: + + ```sh + pnpm new-preset health-basic + ``` + + Es ta kria `presets/health-basic/` ku stub di `manifest.json`, `glossary.json`, `README.md`, i `CHANGELOG.md`. + +2. Edita `manifest.json` — inxi nomi, diskrison, autoris, fontis. Odja [`schema/preset-manifest.schema.json`](./schema/preset-manifest.schema.json) pa kada kampu. + +3. Edita `glossary.json` — adisiona bu entradas. Formatu sta dokumentadu na [`schema/glossary-entry.schema.json`](./schema/glossary-entry.schema.json). Entrada mínimu: + + ```json + { + "source": "informed consent", + "targets": [{ "term": "konsentimentu informadu", "preferred": true }], + "policy": "must" + } + ``` + +4. Atualiza `entryCount` di `manifest.json` pa korresponde a númeru di entradas. + +--- + +## Valida antis di submeti + +Kore validador lokalmenti — el ta panha mesmu kuzas ki CI, más rápidu. + +```sh +pnpm validate health-basic +``` + +Un kore verdi ta sinifika: + +- Anbus fitxeru ta parse i ta korresponde ku si schema +- `entryCount` ta korresponde ku entradas reál +- Sen termu `source` dupliku dentu di preset +- Tudu kampu obrigatóriu di manifest sta prezenti + +Un kore vermedju ta imprimi izatamenti ke ki sta eradu i undi. Fixa-l i kore di novu te bira verdi. + +--- + +## Submeti + +1. Faze commit di bu mudansas na un branch: + + ```sh + git checkout -b add-health-basic + git add presets/health-basic + git commit -m "Add health-basic preset (87 entries)" + git push origin add-health-basic + ``` + +2. Abri un pull request. Uza template **"New preset"** — el ta pidi duminiu, fontis, i kobertura di dialetu. Inxi-l kumpletu ta atrijinha rivizon. + + **Skodje template Kriolu:** GitHub ka ta mostra un menu di template di PR otomatikamenti kantu ten múltipu template. Pa uza bersãu Kriolu, adisiona `?template=new-preset.kea.md` na fin di URL di kriason di PR. Ezemplu: + + ``` + https://github.com/deznode/papia-presets/compare/main...bu-branch?template=new-preset.kea.md + ``` + + Pa atualizason di preset, uza `update-preset.md` ô `update-preset.kea.md`. + +3. CI ta kore otomatikamenti (~1 minutu). Odja painel di checks: + - **Validason di schema** — formatu di fitxeru sta korretu + - **Integridadi di entrada** — kontas ta korresponde, sen dupliku + - **Linter ALUPEC** — kada termu alvu ta pasa tcheku di ortografia (eru ta bloka merge; avisu ta komentadu ma é permitidu) + - **Bump di verson** — só obrigatóriu kantu sta atualiza un preset ki ja ta eziste + +4. Un maintainer ta reviza. Nu pode sujeri mudansa — terminolojia, alkance, notas di dialetu. Es ka é rejeson; é manera ki nu ta manten katalogu útil. + +5. Na merge, `index.json` ta regenera i bu preset ta fika sta na marketplace di Skrebe dentu di próxiumu siklu di cache (≤1 ora). + +--- + +## Atualiza un preset ki ja ta eziste + +Maintainers di un preset sta listadu na si `manifest.json` sob `maintainers`. Es pode faze merge di atualizason sen un rivizon separadu. Otu kontributoris é mutu ben-vindu pa manda atualizason — só meste sign-off di un maintainer. + +Kada atualizason **ten ki bumpa verson** na `manifest.json` siginu [semver](https://semver.org/): + +- **Patch** (1.0.0 → 1.0.1) — korreson di tipo, klarifikason di notas +- **Minor** (1.0.0 → 1.1.0) — entradas novu adisionadu, sen mudansa ki ta keba +- **Major** (1.0.0 → 2.0.0) — termus tiradu ô tradusãu preferida mudadu (es ta afeta tradusons aprovadu di uzuárius downstream) + +Dokumenta kada mudansa na `CHANGELOG.md` di preset. + +--- + +## Kritériu di rivizon + +Un maintainer ta verifika: + +1. **Alkance é klaru.** Duminiu di preset sta ben defenidu i entradas ta kabe nel. +2. **Fontis é kredíbel.** Glosários governamental, materiál peer-reviewed, uzu komunitáriu stabelesedu, ô autoris peritu nomeadu. "Sensu komun" sô ka é fonti. +3. **Konformidadi ku ALUPEC.** Termus alvu ta pasa linter (CI ta enforsa). +4. **Onestidadi di dialetu.** Si entradas sta predominantimenti di un dialetu, manifest ta dize-l. +5. **Sen duplikason ku presetis ki ja eziste.** Si bu entrada di "consent" ta kontradidi un na otu preset ki ja merged, nu ta diskuti kal é kanóniku ô si tudu dôs ta kueksisti ku alkance más klaru. + +Nu ka ta gatekeep na stilu ô kompletu. Un preset di 30 entradas fokadu pa un peritu di duminiu é más válidu ki 300 entradas di palpiti. + +--- + +## Kódigu di konduta + +Sé respetuoz na diskuson di PRs. Debati di terminolojia pode bira kenti — spesialmenti riba di skolha di dialetu, lingua relijozu, i vokabuláriu politikamenti sensível. Nu ta sumi boa fé i ta pidi tudu mundu ta faze mesmu. Ataki pesoal ô lingua dismisivu pa dialetu, rejion, ô kontributoris ta fexa PR. + +--- + +## Perguntas + +Abri un issue, ô pergunta na thread di diskuson di un PR ki ja sta abertu. Maintainers ta responde kostumadamenti dentu di poku dia. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 55c10d5..bf98a59 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,3 +1,5 @@ +> **English** | [Kriolu](./CONTRIBUTING.kea.md) + # Contributing a preset Thank you for wanting to help build the Kriolu glossary commons. This guide walks you through the entire flow, from idea to merged preset. @@ -101,6 +103,14 @@ A red run prints exactly what's wrong and where. Fix and re-run until green. 2. Open a pull request. Use the **"New preset"** template — it asks for the domain, sources, and dialect coverage. Filling it out completely speeds up review. + **Selecting a PR template:** GitHub does not show a PR-template picker when multiple templates exist. To use a specific template, append `?template=.md` to the PR-creation URL. Example for a new preset: + + ``` + https://github.com/deznode/papia-presets/compare/main...your-branch?template=new-preset.md + ``` + + For updates, use `update-preset.md`. Kriolu versions are also available: `new-preset.kea.md` / `update-preset.kea.md`. + 3. CI runs automatically (~1 minute). Watch the checks panel: - **Schema validation** — file shapes are correct - **Entry integrity** — counts match, no duplicates diff --git a/README.kea.md b/README.kea.md new file mode 100644 index 0000000..c9e1d42 --- /dev/null +++ b/README.kea.md @@ -0,0 +1,60 @@ +> **DRAFT — needs native-speaker review.** Pull requests welcome. + +> [English](./README.md) | **Kriolu** + +# papia-presets + +Presetis di glosáriu kuratoriadu pa komunidadi pa [Skrebe](https://papia.studio), editor di traduson markdown pa Kriolu di Kabu Verdi (ALUPEC). + +Kada preset é un vokabuláriu pikenu i fokadu na un duminiu spesífiku — saúdi, edukason, sirvisus sivikus, tekenolojia, relijaun, etc. Uzuárius di Skrebe ta navega na katalogu li dentu di aplikason, ta instala kes ki es ta meste, i ta resebe sujeston di termu i tcheku di konsistensia apropriadu pa duminiu, kantu sta tradusi. + +## Navega katalogu + +Abri **Marketplace** na Skrebe. Lista ki bu ta odja ta ben di [`index.json`](./index.json) di es repo, regeradu otomatikamenti tudu bes ki un preset é adisionadu ô atualizadu. + +## Kontribui un preset + +Bu ka meste ser dezenvolvedor. Si bu sabe edita un folha di kálkulu i kore dôs komandu na terminal, bu pode kontribui. Guia kumpletu pasu-a-pasu: **[CONTRIBUTING.kea.md](./CONTRIBUTING.kea.md)**. + +Verson kurtu: + +1. Faze fork di es repo. +2. Kore `pnpm install` un bes. +3. Kore `pnpm new-preset ` pa kria un folder novu di preset. +4. Inxi `glossary.json` (ô esporta un di Skrebe i poi-l la). +5. Kore `pnpm validate ` te ki ta pasa. +6. Abri un pull request. + +Un maintainer ta reviza. CI ta verifika ortografia i strutura. Dipos di merge, bu preset ta parese na Skrebe na poku minutu. + +## Strutura di repositóriu + +``` +presets/ + / + manifest.json ← metadatu (nomi, duminiu, verson, autoris, fontis) + glossary.json ← entradas di termu propi + README.md ← kontestu, públiku-alvu, notas di dialetu + CHANGELOG.md ← ke ki mudou na kada verson +schema/ ← JSON Schemas ki ta defini formatu di fitxeru +scripts/ ← validate, build-index, new-preset +index.json ← otu-geradu; ka edita-l a mon +``` + +## Lisensia + +Tudu presetis i dokumentason na es repo sta lisensiadu sob [CC BY-SA 4.0](./LICENSE). Kontributoris ta manten autoria; uzuárius downstream debe da kreditu a kontributoris orijinal i partilha trabadjus derivadu sob mesmu lisensia. + +Kantu bu submeti un pull request, bu ta konkorda libra bu kontribuison sob CC BY-SA 4.0. + +## Governason + +Es katalogu é parti di prujetu [Papia Studio](https://github.com/deznode/papia-studio). Maintainers ta triadja PRs, ta mediadja disputas sobri terminolojia, i ta disidi kal presetis ta resebe flag "Recomendadu" na marketplace di Skrebe. + +Diskorda di un dizizon di kuradoria? Bu pode **faze fork di katalogu** i hospeda un alternativu. Skrebe ta dexa uzuárius adisiona URLs di katalogu kustumizadu na setings — pluralizmu sta konstruidu na sistema. + +## Perguntas + +- **Atxa un termu eradu?** Abri un issue na preset, ô manda un PR ku korreson. +- **Kre un duminiu novu ki ka inda eziste?** Abri un [pididu di preset](./.github/ISSUE_TEMPLATE/preset-request.md) — alguen pode voluntaria pa autoria. +- **Sta konstrui ferramenta riba di es katalogu?** Schemas na [`schema/`](./schema) é kontratu stabel. Pin `schemaVersion: 1` i bu sta siguru. diff --git a/README.md b/README.md index f0400b1..3da74be 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +> **English** | [Kriolu](./README.kea.md) + # papia-presets Community-curated glossary presets for [Skrebe](https://papia.studio), the Markdown translation editor for Cabo Verde Kriolu (ALUPEC). @@ -39,7 +41,7 @@ index.json ← auto-generated; do not edit by hand ## License -All presets in this repository are licensed under [CC BY-SA 4.0](./LICENSE). Contributors retain authorship; downstream users must credit the original contributors and share derivative works under the same license. +All presets and documentation in this repository are licensed under [CC BY-SA 4.0](./LICENSE). Contributors retain authorship; downstream users must credit the original contributors and share derivative works under the same license. By submitting a pull request you agree to release your contribution under CC BY-SA 4.0. diff --git a/presets/_example/CHANGELOG.kea.md b/presets/_example/CHANGELOG.kea.md new file mode 100644 index 0000000..6703914 --- /dev/null +++ b/presets/_example/CHANGELOG.kea.md @@ -0,0 +1,19 @@ +> **DRAFT — needs native-speaker review.** +> +> [English](./CHANGELOG.md) | **Kriolu** + +# Changelog — _example + +Tudu mudansa notável a es preset ta sta dokumentadu na es fitxeru. Formatu ta segui livrementi [Keep a Changelog](https://keepachangelog.com/). Bumpa verson na `manifest.json` siginu [semver](https://semver.org/): + +- **Patch** (1.0.0 → 1.0.1) — korreson di tipo, klarifikason di notas +- **Minor** (1.0.0 → 1.1.0) — entradas novu adisionadu, sen mudansa ki ta keba +- **Major** (1.0.0 → 2.0.0) — termus tiradu ô tradusãu preferida mudadu (ta keba aprovasãu downstream) + +--- + +## [0.0.1] — 2026-05-15 + +### Added + +- Skafold inisial ku três entradas ilustrativu ki ta demonstra polítika `must`, `should`, i `avoid`. diff --git a/presets/_example/README.kea.md b/presets/_example/README.kea.md new file mode 100644 index 0000000..3c7c330 --- /dev/null +++ b/presets/_example/README.kea.md @@ -0,0 +1,15 @@ +> **DRAFT — needs native-speaker review.** +> +> [English](./README.md) | **Kriolu** + +# _example — Referénsia di skafold (KA é un preset reál) + +Es diretóriu ta eziste pa mostra a kontributoris kuma layout di fitxeru ta parese. Underline na inisiu ta dize a script di build pa **salta es preset** kantu sta gera katalogu — el nunka ta parese na marketplace di Skrebe. + +Kantu sta autoria bu próprio preset: + +1. Kopia es diretóriu pa `presets/bu-preset-id/` (sen underline). +2. Substitui kada valor li ku konteúdu apropriadu pa bu duminiu. +3. Faze un faladô di Kriolu verifika kualker tradusãu di ezemplu — entradas li é só plaseholders pa ilustrason i ka debe ser tratadu komo autoritáriu. + +Pa fluxu kumpletu di kontribuidor, odja [CONTRIBUTING.kea.md](../../CONTRIBUTING.kea.md) na raiz di repo. diff --git a/presets/_example/README.md b/presets/_example/README.md index 01a61dc..312cb15 100644 --- a/presets/_example/README.md +++ b/presets/_example/README.md @@ -1,3 +1,5 @@ +> **English** | [Kriolu](./README.kea.md) + # _example — Scaffold reference (NOT a real preset) This directory exists to show contributors what the file layout looks like. The leading underscore tells the build script to **skip this preset** when generating the catalog — it will never appear in Skrebe's marketplace. From 2d2d0a32f3d1a59fe816b31b0e43a2125130e934 Mon Sep 17 00:00:00 2001 From: Joaquim Costa Date: Tue, 19 May 2026 20:22:40 -0400 Subject: [PATCH 2/7] chore(spell): add @papia/cspell-kea for Kriolu spell-checking Wire up cspell to validate ALUPEC spelling on .kea documentation files. - Add @papia/cspell-kea devDependency (^2.0.2) - Configure .cspell.json at root to import the kea dictionary - Configure presets/_example/.cspell.json scoped to *.kea.{md,mdx} --- .cspell.json | 8 + package-lock.json | 656 ++++++++++++++++++++++++++++++++++ package.json | 1 + presets/_example/.cspell.json | 6 + 4 files changed, 671 insertions(+) create mode 100644 .cspell.json create mode 100644 package-lock.json create mode 100644 presets/_example/.cspell.json diff --git a/.cspell.json b/.cspell.json new file mode 100644 index 0000000..1b1f99e --- /dev/null +++ b/.cspell.json @@ -0,0 +1,8 @@ +{ + "import": [ + "@papia/cspell-kea/cspell-ext.json" + ], + "dictionaries": [ + "kea" + ] +} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..94d94d4 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,656 @@ +{ + "name": "papia-presets", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "papia-presets", + "version": "0.1.0", + "license": "CC-BY-SA-4.0", + "devDependencies": { + "@papia/cspell-kea": "^2.0.2", + "@types/node": "^20.11.0", + "ajv": "^8.12.0", + "ajv-formats": "^3.0.1", + "tsx": "^4.7.0", + "typescript": "^5.3.3" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.0.tgz", + "integrity": "sha512-lhRUCeuOyJQURhTxl4WkpFTjIsbDayJHih5kZC1giwE+MhIzAb7mEsQMqMf18rHLsrb5qI1tafG20mLxEWcWlA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.0.tgz", + "integrity": "sha512-wqh0ByljabXLKHeWXYLqoJ5jKC4XBaw6Hk08OfMrCRd2nP2ZQ5eleDZC41XHyCNgktBGYMbqnrJKq/K/lzPMSQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.0.tgz", + "integrity": "sha512-+WzIXQOSaGs33tLEgYPYe/yQHf0WTU0X42Jca3y8NWMbUVhp7rUnw+vAsRC/QiDrdD31IszMrZy+qwPOPjd+rw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.0.tgz", + "integrity": "sha512-+VJggoaKhk2VNNqVL7f6S189UzShHC/mR9EE8rDdSkdpN0KflSwWY/gWjDrNxxisg8Fp1ZCD9jLMo4m0OUfeUA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.0.tgz", + "integrity": "sha512-0T+A9WZm+bZ84nZBtk1ckYsOvyA3x7e2Acj1KdVfV4/2tdG4fzUp91YHx+GArWLtwqp77pBXVCPn2We7Letr0Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.0.tgz", + "integrity": "sha512-fyzLm/DLDl/84OCfp2f/XQ4flmORsjU7VKt8HLjvIXChJoFFOIL6pLJPH4Yhd1n1gGFF9mPwtlN5Wf82DZs+LQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.0.tgz", + "integrity": "sha512-l9GeW5UZBT9k9brBYI+0WDffcRxgHQD8ShN2Ur4xWq/NFzUKm3k5lsH4PdaRgb2w7mI9u61nr2gI2mLI27Nh3Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.0.tgz", + "integrity": "sha512-BXoQai/A0wPO6Es3yFJ7APCiKGc1tdAEOgeTNy3SsB491S3aHn4S4r3e976eUnPdU+NbdtmBuLncYir2tMU9Nw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.0.tgz", + "integrity": "sha512-CjaaREJagqJp7iTaNQjjidaNbCKYcd4IDkzbwwxtSvjI7NZm79qiHc8HqciMddQ6CKvJT6aBd8lO9kN/ZudLlw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.0.tgz", + "integrity": "sha512-RVyzfb3FWsGA55n6WY0MEIEPURL1FcbhFE6BffZEMEekfCzCIMtB5yyDcFnVbTnwk+CLAgTujmV/Lgvih56W+A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.0.tgz", + "integrity": "sha512-KBnSTt1kxl9x70q+ydterVdl+Cn0H18ngRMRCEQfrbqdUuntQQ0LoMZv47uB97NljZFzY6HcfqEZ2SAyIUTQBQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.0.tgz", + "integrity": "sha512-zpSlUce1mnxzgBADvxKXX5sl8aYQHo2ezvMNI8I0lbblJtp8V4odlm3Yzlj7gPyt3T8ReksE6bK+pT3WD+aJRg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.0.tgz", + "integrity": "sha512-2jIfP6mmjkdmeTlsX/9vmdmhBmKADrWqN7zcdtHIeNSCH1SqIoNI63cYsjQR8J+wGa4Y5izRcSHSm8K3QWmk3w==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.0.tgz", + "integrity": "sha512-bc0FE9wWeC0WBm49IQMPSPILRocGTQt3j5KPCA8os6VprfuJ7KD+5PzESSrJ6GmPIPJK965ZJHTUlSA6GNYEhg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.0.tgz", + "integrity": "sha512-SQPZOwoTTT/HXFXQJG/vBX8sOFagGqvZyXcgLA3NhIqcBv1BJU1d46c0rGcrij2B56Z2rNiSLaZOYW5cUk7yLQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.0.tgz", + "integrity": "sha512-SCfR0HN8CEEjnYnySJTd2cw0k9OHB/YFzt5zgJEwa+wL/T/raGWYMBqwDNAC6dqFKmJYZoQBRfHjgwLHGSrn3Q==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.0.tgz", + "integrity": "sha512-us0dSb9iFxIi8srnpl931Nvs65it/Jd2a2K3qs7fz2WfGPHqzfzZTfec7oxZJRNPXPnNYZtanmRc4AL/JwVzHQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.0.tgz", + "integrity": "sha512-CR/RYotgtCKwtftMwJlUU7xCVNg3lMYZ0RzTmAHSfLCXw3NtZtNpswLEj/Kkf6kEL3Gw+BpOekRX0BYCtklhUw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.0.tgz", + "integrity": "sha512-nU1yhmYutL+fQ71Kxnhg8uEOdC0pwEW9entHykTgEbna2pw2dkbFSMeqjjyHZoCmt8SBkOSvV+yNmm94aUrrqw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.0.tgz", + "integrity": "sha512-cXb5vApOsRsxsEl4mcZ1XY3D4DzcoMxR/nnc4IyqYs0rTI8ZKmW6kyyg+11Z8yvgMfAEldKzP7AdP64HnSC/6g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.0.tgz", + "integrity": "sha512-8wZM2qqtv9UP3mzy7HiGYNH/zjTA355mpeuA+859TyR+e+Tc08IHYpLJuMsfpDJwoLo1ikIJI8jC3GFjnRClzA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.0.tgz", + "integrity": "sha512-FLGfyizszcef5C3YtoyQDACyg95+dndv79i2EekILBofh5wpCa1KuBqOWKrEHZg3zrL3t5ouE5jgr94vA+Wb2w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.0.tgz", + "integrity": "sha512-1ZgjUoEdHZZl/YlV76TSCz9Hqj9h9YmMGAgAPYd+q4SicWNX3G5GCyx9uhQWSLcbvPW8Ni7lj4gDa1T40akdlw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.0.tgz", + "integrity": "sha512-Q9StnDmQ/enxnpxCCLSg0oo4+34B9TdXpuyPeTedN/6+iXBJ4J+zwfQI28u/Jl40nOYAxGoNi7mFP40RUtkmUA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.0.tgz", + "integrity": "sha512-zF3ag/gfiCe6U2iczcRzSYJKH1DCI+ByzSENHlM2FcDbEeo5Zd2C86Aq0tKUYAJJ1obRP84ymxIAksZUcdztHA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.0.tgz", + "integrity": "sha512-pEl1bO9mfAmIC+tW5btTmrKaujg3zGtUmWNdCw/xs70FBjwAL3o9OEKNHvNmnyylD6ubxUERiEhdsL0xBQ9efw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@papia/cspell-kea": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@papia/cspell-kea/-/cspell-kea-2.0.2.tgz", + "integrity": "sha512-FMVAty78mSZIMzEdrj7J0p8gV/4go1Uu9kc2+ucEEwoAmgwimOdtFjt5WsQZgv9dLlEEY8eIAOjSs9KEXu2jPA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "20.19.41", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.41.tgz", + "integrity": "sha512-ECymXOukMnOoVkC2bb1Vc/w/836DXncOg5m8Xj1RH7xSHZJWNYY6Zh7EH477vcnD5egKNNfy2RpNOmuChhFPgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/ajv": { + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", + "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/esbuild": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.0.tgz", + "integrity": "sha512-sNR9MHpXSUV/XB4zmsFKN+QgVG82Cc7+/aaxJ8Adi8hyOac+EXptIp45QBPaVyX3N70664wRbTcLTOemCAnyqw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.28.0", + "@esbuild/android-arm": "0.28.0", + "@esbuild/android-arm64": "0.28.0", + "@esbuild/android-x64": "0.28.0", + "@esbuild/darwin-arm64": "0.28.0", + "@esbuild/darwin-x64": "0.28.0", + "@esbuild/freebsd-arm64": "0.28.0", + "@esbuild/freebsd-x64": "0.28.0", + "@esbuild/linux-arm": "0.28.0", + "@esbuild/linux-arm64": "0.28.0", + "@esbuild/linux-ia32": "0.28.0", + "@esbuild/linux-loong64": "0.28.0", + "@esbuild/linux-mips64el": "0.28.0", + "@esbuild/linux-ppc64": "0.28.0", + "@esbuild/linux-riscv64": "0.28.0", + "@esbuild/linux-s390x": "0.28.0", + "@esbuild/linux-x64": "0.28.0", + "@esbuild/netbsd-arm64": "0.28.0", + "@esbuild/netbsd-x64": "0.28.0", + "@esbuild/openbsd-arm64": "0.28.0", + "@esbuild/openbsd-x64": "0.28.0", + "@esbuild/openharmony-arm64": "0.28.0", + "@esbuild/sunos-x64": "0.28.0", + "@esbuild/win32-arm64": "0.28.0", + "@esbuild/win32-ia32": "0.28.0", + "@esbuild/win32-x64": "0.28.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.2.tgz", + "integrity": "sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tsx": { + "version": "4.22.3", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.22.3.tgz", + "integrity": "sha512-mdoNxBC/cSQObGGVQ5Bpn5i+yv7j68gk3Nfm3wFjcJg3Z0Mix9jzAFfP12prmm5eVGmDKtp0yyArrs0Q+8gZHg==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "~0.28.0" + }, + "bin": { + "tsx": "dist/cli.mjs" + }, + "engines": { + "node": ">=18.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" + } + } +} diff --git a/package.json b/package.json index f2eb430..efc49ad 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "new-preset": "tsx scripts/new-preset.ts" }, "devDependencies": { + "@papia/cspell-kea": "^2.0.2", "@types/node": "^20.11.0", "ajv": "^8.12.0", "ajv-formats": "^3.0.1", diff --git a/presets/_example/.cspell.json b/presets/_example/.cspell.json new file mode 100644 index 0000000..3980e2f --- /dev/null +++ b/presets/_example/.cspell.json @@ -0,0 +1,6 @@ +{ + "import": ["@papia/cspell-kea/cspell-ext.json"], + "overrides": [ + { "filename": "**/{*.kea,kea}.{md,mdx}", "dictionaries": ["kea"] } + ] +} \ No newline at end of file From cdba76145d0d4926e8120c33bbf436ecdcbb3f0f Mon Sep 17 00:00:00 2001 From: Joaquim Costa Date: Tue, 19 May 2026 20:22:48 -0400 Subject: [PATCH 3/7] docs(kriolu): apply ALUPEC proofreading corrections MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Apply ALUPEC-compliant corrections to Kriolu documentation surfaced by the kriolu-proofread tool. - CONTRIBUTING.kea.md, presets/_example/README.kea.md and CHANGELOG.kea.md: normalize -ção → -san, ch → tx digraphs, fitxeru → fixeru, opsão → opsan, and other ALUPEC spellings; soften tone in code-of-conduct section - Track proofread runs in .kriolu/ledger.jsonl and .kriolu/seen-runs.txt --- .kriolu/ledger.jsonl | 36 +++++++++++++++++++++++ .kriolu/seen-runs.txt | 7 +++++ CONTRIBUTING.kea.md | 48 +++++++++++++++---------------- presets/_example/CHANGELOG.kea.md | 10 +++---- presets/_example/README.kea.md | 10 +++---- 5 files changed, 77 insertions(+), 34 deletions(-) create mode 100644 .kriolu/ledger.jsonl create mode 100644 .kriolu/seen-runs.txt diff --git a/.kriolu/ledger.jsonl b/.kriolu/ledger.jsonl new file mode 100644 index 0000000..81f4f0a --- /dev/null +++ b/.kriolu/ledger.jsonl @@ -0,0 +1,36 @@ +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-43ad92996fb4", "topic": null, "file": "README.kea.md", "tool": "papia", "rule_id": "ALUPEC_TMA_INCONSISTENT", "line": 9, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Inconsistent TMA marker usage. Consider using the same progressive marker throughout the document.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-43ad92996fb4", "topic": null, "file": "README.kea.md", "tool": "papia", "rule_id": "ALUPEC_TMA_INCONSISTENT", "line": 46, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Inconsistent TMA marker usage. Consider using the same progressive marker throughout the document.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-43ad92996fb4", "topic": null, "file": "README.kea.md", "tool": "papia", "rule_id": "ALUPEC_TMA_INCONSISTENT", "line": 46, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Inconsistent TMA marker usage. Consider using the same progressive marker throughout the document.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-43ad92996fb4", "topic": null, "file": "README.kea.md", "tool": "papia", "rule_id": "ALUPEC_TMA_INCONSISTENT", "line": 48, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Inconsistent TMA marker usage. Consider using the same progressive marker throughout the document.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-43ad92996fb4", "topic": null, "file": "README.kea.md", "tool": "papia", "rule_id": "ALUPEC_TMA_INCONSISTENT", "line": 54, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Inconsistent TMA marker usage. Consider using the same progressive marker throughout the document.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-43ad92996fb4", "topic": null, "file": "README.kea.md", "tool": "papia", "rule_id": "ALUPEC_NEGATION_KA_POS", "line": 59, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:The negation marker 'ka' should be followed by a verb or TMA marker, not a noun or adjective.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-43ad92996fb4", "topic": null, "file": "README.kea.md", "tool": "papia", "rule_id": "ALUPEC_TMA_INCONSISTENT", "line": 60, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Inconsistent TMA marker usage. Consider using the same progressive marker throughout the document.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-757d39951366", "topic": null, "file": "CONTRIBUTING.kea.md", "tool": "papia", "rule_id": "ALUPEC_DIGRAPH_TX", "line": 116, "verdict": "skipped", "original": null, "corrected": null, "reason": "errors:Use 'tx' instead of 'ch' for /tʃ/ sound in ALUPEC", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-757d39951366", "topic": null, "file": "CONTRIBUTING.kea.md", "tool": "papia", "rule_id": "ALUPEC_CHAR_TILDE_A", "line": 19, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Consider using 'an' instead of 'ã' - verify ALUPEC spelling", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-757d39951366", "topic": null, "file": "CONTRIBUTING.kea.md", "tool": "papia", "rule_id": "ALUPEC_NEGATION_KA_POS", "line": 21, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:The negation marker 'ka' should be followed by a verb or TMA marker, not a noun or adjective.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-757d39951366", "topic": null, "file": "CONTRIBUTING.kea.md", "tool": "papia", "rule_id": "ALUPEC_TMA_INCONSISTENT", "line": 43, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Inconsistent TMA marker usage. Consider using the same progressive marker throughout the document.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-757d39951366", "topic": null, "file": "CONTRIBUTING.kea.md", "tool": "papia", "rule_id": "ALUPEC_TMA_INCONSISTENT", "line": 62, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Inconsistent TMA marker usage. Consider using the same progressive marker throughout the document.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-757d39951366", "topic": null, "file": "CONTRIBUTING.kea.md", "tool": "papia", "rule_id": "ALUPEC_TMA_INCONSISTENT", "line": 89, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Inconsistent TMA marker usage. Consider using the same progressive marker throughout the document.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-757d39951366", "topic": null, "file": "CONTRIBUTING.kea.md", "tool": "papia", "rule_id": "ALUPEC_TMA_INCONSISTENT", "line": 91, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Inconsistent TMA marker usage. Consider using the same progressive marker throughout the document.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-757d39951366", "topic": null, "file": "CONTRIBUTING.kea.md", "tool": "papia", "rule_id": "ALUPEC_CHAR_TILDE_A", "line": 108, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Consider using 'an' instead of 'ã' - verify ALUPEC spelling", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-757d39951366", "topic": null, "file": "CONTRIBUTING.kea.md", "tool": "papia", "rule_id": "ALUPEC_TMA_INCONSISTENT", "line": 117, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Inconsistent TMA marker usage. Consider using the same progressive marker throughout the document.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-757d39951366", "topic": null, "file": "CONTRIBUTING.kea.md", "tool": "papia", "rule_id": "ALUPEC_TMA_INCONSISTENT", "line": 120, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Inconsistent TMA marker usage. Consider using the same progressive marker throughout the document.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-757d39951366", "topic": null, "file": "CONTRIBUTING.kea.md", "tool": "papia", "rule_id": "ALUPEC_TMA_INCONSISTENT", "line": 130, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Inconsistent TMA marker usage. Consider using the same progressive marker throughout the document.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-757d39951366", "topic": null, "file": "CONTRIBUTING.kea.md", "tool": "papia", "rule_id": "ALUPEC_CHAR_TILDE_A", "line": 136, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Consider using 'an' instead of 'ã' - verify ALUPEC spelling", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-757d39951366", "topic": null, "file": "CONTRIBUTING.kea.md", "tool": "papia", "rule_id": "ALUPEC_TMA_INCONSISTENT", "line": 146, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Inconsistent TMA marker usage. Consider using the same progressive marker throughout the document.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-757d39951366", "topic": null, "file": "CONTRIBUTING.kea.md", "tool": "papia", "rule_id": "ALUPEC_TMA_INCONSISTENT", "line": 149, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Inconsistent TMA marker usage. Consider using the same progressive marker throughout the document.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-757d39951366", "topic": null, "file": "CONTRIBUTING.kea.md", "tool": "papia", "rule_id": "ALUPEC_TMA_INCONSISTENT", "line": 164, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Inconsistent TMA marker usage. Consider using the same progressive marker throughout the document.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-b9900650db57", "topic": null, "file": "presets/_example/presets/_example/README.kea.md", "tool": "papia", "rule_id": "ALUPEC_NEGATION_NPI", "line": 7, "verdict": "skipped", "original": null, "corrected": null, "reason": "errors:Negative polarity items (ningen, nada, nunka, ninhun) require the negation marker 'ka' in the same sentence.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-b9900650db57", "topic": null, "file": "presets/_example/presets/_example/README.kea.md", "tool": "papia", "rule_id": "ALUPEC_CHAR_TILDE_A", "line": 13, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Consider using 'an' instead of 'ã' - verify ALUPEC spelling", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-6552bf46e6e6", "topic": null, "file": "presets/_example/presets/_example/CHANGELOG.kea.md", "tool": "papia", "rule_id": "ALUPEC_DIGRAPH_TX", "line": 3, "verdict": "skipped", "original": null, "corrected": null, "reason": "errors:Use 'tx' instead of 'ch' for /tʃ/ sound in ALUPEC", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-6552bf46e6e6", "topic": null, "file": "presets/_example/presets/_example/CHANGELOG.kea.md", "tool": "papia", "rule_id": "ALUPEC_DIGRAPH_TX", "line": 5, "verdict": "skipped", "original": null, "corrected": null, "reason": "errors:Use 'tx' instead of 'ch' for /tʃ/ sound in ALUPEC", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-6552bf46e6e6", "topic": null, "file": "presets/_example/presets/_example/CHANGELOG.kea.md", "tool": "papia", "rule_id": "ALUPEC_DIGRAPH_TX", "line": 7, "verdict": "skipped", "original": null, "corrected": null, "reason": "errors:Use 'tx' instead of 'ch' for /tʃ/ sound in ALUPEC", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-6552bf46e6e6", "topic": null, "file": "presets/_example/presets/_example/CHANGELOG.kea.md", "tool": "papia", "rule_id": "ALUPEC_TMA_INCONSISTENT", "line": 7, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Inconsistent TMA marker usage. Consider using the same progressive marker throughout the document.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-6552bf46e6e6", "topic": null, "file": "presets/_example/presets/_example/CHANGELOG.kea.md", "tool": "papia", "rule_id": "ALUPEC_CHAR_TILDE_A", "line": 11, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Consider using 'an' instead of 'ã' - verify ALUPEC spelling", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-6552bf46e6e6", "topic": null, "file": "presets/_example/presets/_example/CHANGELOG.kea.md", "tool": "papia", "rule_id": "ALUPEC_CHAR_TILDE_A", "line": 11, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Consider using 'an' instead of 'ã' - verify ALUPEC spelling", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-09aee78da8a1", "topic": null, "file": ".github/PULL_REQUEST_TEMPLATE/.github/PULL_REQUEST_TEMPLATE/update-preset.kea.md", "tool": "papia", "rule_id": "ALUPEC_DIGRAPH_TX", "line": 33, "verdict": "skipped", "original": null, "corrected": null, "reason": "errors:Use 'tx' instead of 'ch' for /tʃ/ sound in ALUPEC", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-09aee78da8a1", "topic": null, "file": ".github/PULL_REQUEST_TEMPLATE/.github/PULL_REQUEST_TEMPLATE/update-preset.kea.md", "tool": "papia", "rule_id": "ALUPEC_CHAR_TILDE_A", "line": 19, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Consider using 'an' instead of 'ã' - verify ALUPEC spelling", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-09aee78da8a1", "topic": null, "file": ".github/PULL_REQUEST_TEMPLATE/.github/PULL_REQUEST_TEMPLATE/update-preset.kea.md", "tool": "papia", "rule_id": "ALUPEC_CHAR_TILDE_A", "line": 19, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Consider using 'an' instead of 'ã' - verify ALUPEC spelling", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-31bcbc65e057", "topic": null, "file": ".github/PULL_REQUEST_TEMPLATE/.github/PULL_REQUEST_TEMPLATE/new-preset.kea.md", "tool": "papia", "rule_id": "ALUPEC_DIGRAPH_TX", "line": 38, "verdict": "skipped", "original": null, "corrected": null, "reason": "errors:Use 'tx' instead of 'ch' for /tʃ/ sound in ALUPEC", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-31bcbc65e057", "topic": null, "file": ".github/PULL_REQUEST_TEMPLATE/.github/PULL_REQUEST_TEMPLATE/new-preset.kea.md", "tool": "papia", "rule_id": "ALUPEC_TMA_INCONSISTENT", "line": 46, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:Inconsistent TMA marker usage. Consider using the same progressive marker throughout the document.", "papia_version": "0.2.0"} +{"ts": "2026-05-19T20:09:24Z", "run_id": "run-6a96481d4455", "topic": null, "file": ".github/ISSUE_TEMPLATE/.github/ISSUE_TEMPLATE/preset-request.kea.md", "tool": "papia", "rule_id": "ALUPEC_NEGATION_KA_POS", "line": 3, "verdict": "suggestion", "original": null, "corrected": null, "reason": "warnings:The negation marker 'ka' should be followed by a verb or TMA marker, not a noun or adjective.", "papia_version": "0.2.0"} diff --git a/.kriolu/seen-runs.txt b/.kriolu/seen-runs.txt new file mode 100644 index 0000000..1551420 --- /dev/null +++ b/.kriolu/seen-runs.txt @@ -0,0 +1,7 @@ +run-43ad92996fb4 +run-757d39951366 +run-b9900650db57 +run-6552bf46e6e6 +run-09aee78da8a1 +run-31bcbc65e057 +run-6a96481d4455 diff --git a/CONTRIBUTING.kea.md b/CONTRIBUTING.kea.md index f948877..0d750da 100644 --- a/CONTRIBUTING.kea.md +++ b/CONTRIBUTING.kea.md @@ -4,9 +4,9 @@ # Kontribui un preset -Obrigadu pa kre djuda konstrui es komuns di glosáriu di Kriolu. Es guia ta leba-u pa tudu fluxu, di idea te preset merged. +Obrigadu pa kre djuda konstrui es glosáriu komun di Kriolu. Es gia ta papia pa tudu fluxu, di idea te preset merged. -Si algun kuza li ka sta klaru, é bug di nos — favor abri un issue i nu ta fixa dokumentu. +Si algun kuza li ka sta klaru, é un bug di nos — purfavor abri un issue i nu ta koreji dokumentu. --- @@ -14,11 +14,11 @@ Si algun kuza li ka sta klaru, é bug di nos — favor abri un issue i nu ta fix Disidi três kuza: -1. **Duminiu.** Kal sentu ki bu preset ta kobri? Saúdi, edukason, agrikultura, relijaun, múzika, tek, sirvisus sivikus, etc. Mante-l strétu — un preset apertadu di 80 termu é midjor ki un di 800 termu spadjadu. -2. **Públiku.** Ken ki ta uza es kuza? Materiál pa pasienti ta lê diferenti di notas klínika; tekstu di skola ta diferensia di artigu akadémiku. Marka es kuza na README di bu preset. -3. **Kobertura di dialetu.** Santiagu (Badiu)? Sãu Visenti (Sanpajudu)? Tudu dôs? Marka es kuza na manifest. Mistura dialetu sen sinaliza é problema más kumun na rivizon. +1. **Domain.** Kale kategoria ki bu preset ta kobri? Saúdi, edukasan, agrikultura, relijian, múzika, tek, sirvisus sivikus, etc. Mante-l strétu — un preset apertadu di 80 termu é midjor ki un di 800 termu spadjadu. +2. **Públiku.** Ken ki ta uza es preset? Materiál pa pasienti ta lê diferenti di notas klínika; testu di skola ta diferensia di artigu akadémiku. Marka es informasan na README di bu preset. +3. **Kobertura di dialetu.** Santiagu (Badiu)? São Vicente (Sanpajudu)? Tudu doz? Marka es informasan na manifest. Mistura dialetu sen sinaliza é problema mas komun na revizan. -Si bu duminiu ka inda eziste, ka ten problema — bai en frenti i kria-l. +Si bu domain ka eziste inda, ka ten problema — bai en frenti i kria-l. --- @@ -32,22 +32,22 @@ cd papia-presets pnpm install ``` -É só si. Repo ka ten dipendénsia di runtime alén di un validador di JSON schema. +É só kel. Repo ka ten dipendénsia di runtime alén di un validador di JSON schema. --- ## Fluxu di autoria -### Opson A — Konstrui-l na Skrebe i esporta +### Opsan A — Konstrui-l na Skrebe i exporta -Es é di lonji kaminhu más fásil. É tanbé más konfiabel, pamodi linter ALUPEC di Skrebe ta panha errus di ortografia kantu bu sta skrebi. +Keli e manera mas faxi. É tanbé más konfiavel, pamodi linter ALUPEC di Skrebe ta panha erus di ortografia kantu bu sta skrebe. 1. Abri Skrebe, kria ô abri kualker dokumentu. 2. Abri panel di Glosáriu. Adisiona bu termus un pa un, ô importa un CSV. 3. Esporta komo `.glossary.json` (Panel di Glosáriu → Esporta → JSON). -4. Poi fitxeru esportadu na `presets//glossary.json`. +4. Poi fixeru exportadu na `presets//glossary.json`. -### Opson B — Skrebe JSON diretamenti +### Opsan B — Skrebe JSON diretamenti 1. Kria un preset novu: @@ -57,7 +57,7 @@ Es é di lonji kaminhu más fásil. É tanbé más konfiabel, pamodi linter ALUP Es ta kria `presets/health-basic/` ku stub di `manifest.json`, `glossary.json`, `README.md`, i `CHANGELOG.md`. -2. Edita `manifest.json` — inxi nomi, diskrison, autoris, fontis. Odja [`schema/preset-manifest.schema.json`](./schema/preset-manifest.schema.json) pa kada kampu. +2. Edita `manifest.json` — kompleta, nomi, diskrisan, autoris, fontis. Odja [`schema/preset-manifest.schema.json`](./schema/preset-manifest.schema.json) pa kada propriedadi. 3. Edita `glossary.json` — adisiona bu entradas. Formatu sta dokumentadu na [`schema/glossary-entry.schema.json`](./schema/glossary-entry.schema.json). Entrada mínimu: @@ -69,13 +69,13 @@ Es é di lonji kaminhu más fásil. É tanbé más konfiabel, pamodi linter ALUP } ``` -4. Atualiza `entryCount` di `manifest.json` pa korresponde a númeru di entradas. +4. Atualiza `entryCount` di `manifest.json` pa korresponde ku númeru di entradas. --- ## Valida antis di submeti -Kore validador lokalmenti — el ta panha mesmu kuzas ki CI, más rápidu. +Kore validador lokalmenti — el ta panha omesmu kuzas ki CI, ma más rápidu. ```sh pnpm validate health-basic @@ -83,12 +83,12 @@ pnpm validate health-basic Un kore verdi ta sinifika: -- Anbus fitxeru ta parse i ta korresponde ku si schema +- Anbus fixeru ta "parse" i ta korresponde ku ses schema - `entryCount` ta korresponde ku entradas reál - Sen termu `source` dupliku dentu di preset -- Tudu kampu obrigatóriu di manifest sta prezenti +- Tudu propriedadi obrigatóriu di manifest sta prezenti -Un kore vermedju ta imprimi izatamenti ke ki sta eradu i undi. Fixa-l i kore di novu te bira verdi. +Un kore vermedju ta imprimi izatamenti ke ki sta eradu i undi. Korejil i kore di novu ta bira verdi. --- @@ -103,15 +103,15 @@ Un kore vermedju ta imprimi izatamenti ke ki sta eradu i undi. Fixa-l i kore di git push origin add-health-basic ``` -2. Abri un pull request. Uza template **"New preset"** — el ta pidi duminiu, fontis, i kobertura di dialetu. Inxi-l kumpletu ta atrijinha rivizon. +2. Abri un pull request. Uza template **"New preset"** — el ta pidi duminiu, fontis, i kobertura di dialetu. - **Skodje template Kriolu:** GitHub ka ta mostra un menu di template di PR otomatikamenti kantu ten múltipu template. Pa uza bersãu Kriolu, adisiona `?template=new-preset.kea.md` na fin di URL di kriason di PR. Ezemplu: + **Skodje template Kriolu:** GitHub ka ta mostra un menu di template di PR automatikamenti te ki ten múltipu template. Pa uza versan Kriolu, adisiona `?template=new-preset.kea.md` na fin di URL di krian di PR. Ezemplu: ``` https://github.com/deznode/papia-presets/compare/main...bu-branch?template=new-preset.kea.md ``` - Pa atualizason di preset, uza `update-preset.md` ô `update-preset.kea.md`. + Pa atualizasan di preset, uza `update-preset.md` ô `update-preset.kea.md`. 3. CI ta kore otomatikamenti (~1 minutu). Odja painel di checks: - **Validason di schema** — formatu di fitxeru sta korretu @@ -127,9 +127,9 @@ Un kore vermedju ta imprimi izatamenti ke ki sta eradu i undi. Fixa-l i kore di ## Atualiza un preset ki ja ta eziste -Maintainers di un preset sta listadu na si `manifest.json` sob `maintainers`. Es pode faze merge di atualizason sen un rivizon separadu. Otu kontributoris é mutu ben-vindu pa manda atualizason — só meste sign-off di un maintainer. +Maintainers di un preset sta listadu na si `manifest.json` sob `maintainers`. Es pode faze merge di atualizasan sen un rivizon separadu. Otu kontributoris é mutu ben-vindu pa manda atualizasan — só meste sign-off di un maintainer. -Kada atualizason **ten ki bumpa verson** na `manifest.json` siginu [semver](https://semver.org/): +Kada atualizasan **ten ki bumpa verson** na `manifest.json` siginu [semver](https://semver.org/): - **Patch** (1.0.0 → 1.0.1) — korreson di tipo, klarifikason di notas - **Minor** (1.0.0 → 1.1.0) — entradas novu adisionadu, sen mudansa ki ta keba @@ -155,10 +155,10 @@ Nu ka ta gatekeep na stilu ô kompletu. Un preset di 30 entradas fokadu pa un pe ## Kódigu di konduta -Sé respetuoz na diskuson di PRs. Debati di terminolojia pode bira kenti — spesialmenti riba di skolha di dialetu, lingua relijozu, i vokabuláriu politikamenti sensível. Nu ta sumi boa fé i ta pidi tudu mundu ta faze mesmu. Ataki pesoal ô lingua dismisivu pa dialetu, rejion, ô kontributoris ta fexa PR. +Ser respetozu na diskusan di PRs. Debati di terminolojia pode bira kenti — spesialmenti na skodje dialetu, lingua relijiozu, i vokabuláriu politikamenti sensível. Nu ta asumi boa fé i ta pidi tudu djenti pa faze mesmu. Si bu ta sinti ki un diskusan ta bira tóxiku, ô si bu ta sinti ki bu ta trata injustamenti, purfavor abri un issue i nu ta koreji situason. --- ## Perguntas -Abri un issue, ô pergunta na thread di diskuson di un PR ki ja sta abertu. Maintainers ta responde kostumadamenti dentu di poku dia. +Abri un issue, ô pergunta na thread di diskusan di un PR ki dja sta abertu. Maintainers ta responde kostumadamenti dentu di poku dia. diff --git a/presets/_example/CHANGELOG.kea.md b/presets/_example/CHANGELOG.kea.md index 6703914..3b3bf2e 100644 --- a/presets/_example/CHANGELOG.kea.md +++ b/presets/_example/CHANGELOG.kea.md @@ -4,11 +4,11 @@ # Changelog — _example -Tudu mudansa notável a es preset ta sta dokumentadu na es fitxeru. Formatu ta segui livrementi [Keep a Changelog](https://keepachangelog.com/). Bumpa verson na `manifest.json` siginu [semver](https://semver.org/): +Tudu mudansa notável na es preset ta sta dokumentadu na es dokumentu. Formatu ta segui livrementi [Keep a Changelog](https://keepachangelog.com/). Troka versan na `manifest.json` siginu [semver](https://semver.org/): -- **Patch** (1.0.0 → 1.0.1) — korreson di tipo, klarifikason di notas -- **Minor** (1.0.0 → 1.1.0) — entradas novu adisionadu, sen mudansa ki ta keba -- **Major** (1.0.0 → 2.0.0) — termus tiradu ô tradusãu preferida mudadu (ta keba aprovasãu downstream) +- **Patch** (1.0.0 → 1.0.1) — korresan di tipo, klarifikasan di notas +- **Minor** (1.0.0 → 1.1.0) — entradas novu adisionadu, sen mudansa ki ta kebra +- **Major** (1.0.0 → 2.0.0) — termus tiradu ô tradusan preferido mudadu (ta kebra aprovan downstream) --- @@ -16,4 +16,4 @@ Tudu mudansa notável a es preset ta sta dokumentadu na es fitxeru. Formatu ta s ### Added -- Skafold inisial ku três entradas ilustrativu ki ta demonstra polítika `must`, `should`, i `avoid`. +- Skafold inisial ku trêz entradas ilustrativu ki ta demonstra polítika `must`, `should`, i `avoid`. diff --git a/presets/_example/README.kea.md b/presets/_example/README.kea.md index 3c7c330..553762d 100644 --- a/presets/_example/README.kea.md +++ b/presets/_example/README.kea.md @@ -4,12 +4,12 @@ # _example — Referénsia di skafold (KA é un preset reál) -Es diretóriu ta eziste pa mostra a kontributoris kuma layout di fitxeru ta parese. Underline na inisiu ta dize a script di build pa **salta es preset** kantu sta gera katalogu — el nunka ta parese na marketplace di Skrebe. +Es pasta ta ezisti pa mostra a kontributoris kumo layout di fixeru ta parese. Underline na inisiu ta signifika un script di build pa **salta es preset** te ki sta gera katalogu — el nunka ta parese na marketplace di Skrebe. Kantu sta autoria bu próprio preset: -1. Kopia es diretóriu pa `presets/bu-preset-id/` (sen underline). -2. Substitui kada valor li ku konteúdu apropriadu pa bu duminiu. -3. Faze un faladô di Kriolu verifika kualker tradusãu di ezemplu — entradas li é só plaseholders pa ilustrason i ka debe ser tratadu komo autoritáriu. +1. Kopia es pasta pa `presets/bu-preset-id/` (sen underline). +2. Substitui kada valor li ku konteúdu apropriadu pa bu domain. +3. Faze un faladô di Kriolu verifika kualker tradusan di ezemplu — entradas li é só placeholders pa ilustrasan i ka debe ser tratadu komu autoritáriu. -Pa fluxu kumpletu di kontribuidor, odja [CONTRIBUTING.kea.md](../../CONTRIBUTING.kea.md) na raiz di repo. +Pa fluxu kumpletu di kontribuidor, odja [CONTRIBUTING.kea.md](../../CONTRIBUTING.kea.md) na root di repo. From 2c3b7796f1f809f84599b43872b8a4a62b18869b Mon Sep 17 00:00:00 2001 From: Joaquim Costa Date: Tue, 19 May 2026 21:36:05 -0400 Subject: [PATCH 4/7] chore(license): update licensing from CC BY-SA 4.0 to MIT License across all relevant files --- .../PULL_REQUEST_TEMPLATE/new-preset.kea.md | 2 +- .github/PULL_REQUEST_TEMPLATE/new-preset.md | 2 +- LICENSE | 48 ++++++++----------- README.kea.md | 4 +- README.md | 4 +- package-lock.json | 2 +- package.json | 2 +- presets/_example/manifest.json | 2 +- schema/preset-manifest.schema.json | 4 +- 9 files changed, 32 insertions(+), 38 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE/new-preset.kea.md b/.github/PULL_REQUEST_TEMPLATE/new-preset.kea.md index e82b9f3..7f8386d 100644 --- a/.github/PULL_REQUEST_TEMPLATE/new-preset.kea.md +++ b/.github/PULL_REQUEST_TEMPLATE/new-preset.kea.md @@ -43,4 +43,4 @@ about: Submete un preset novu di glosáriu pa katalogu - [ ] Kada entrada ten polmenus un alvu - [ ] `manifest.sources` ta lista polmenus un referensia kredíbel - [ ] N lê i N konkorda ku [CONTRIBUTING.kea.md](../../CONTRIBUTING.kea.md) -- [ ] N ta libra es kontribuison sob [CC BY-SA 4.0](../../LICENSE) +- [ ] N sta publika es kontribuison sob [Lisensia MIT](../../LICENSE) diff --git a/.github/PULL_REQUEST_TEMPLATE/new-preset.md b/.github/PULL_REQUEST_TEMPLATE/new-preset.md index 4aa13b6..3ff324c 100644 --- a/.github/PULL_REQUEST_TEMPLATE/new-preset.md +++ b/.github/PULL_REQUEST_TEMPLATE/new-preset.md @@ -41,4 +41,4 @@ about: Submit a new glossary preset to the catalog - [ ] Every entry has at least one target - [ ] `manifest.sources` lists at least one credible reference - [ ] I have read and agree to [CONTRIBUTING.md](../../CONTRIBUTING.md) -- [ ] I release this contribution under [CC BY-SA 4.0](../../LICENSE) +- [ ] I release this contribution under the [MIT License](../../LICENSE) diff --git a/LICENSE b/LICENSE index fdf56c6..2913d2e 100644 --- a/LICENSE +++ b/LICENSE @@ -1,27 +1,21 @@ -papia-presets © contributors - -Licensed under the Creative Commons Attribution-ShareAlike 4.0 International License (CC BY-SA 4.0). - -You are free to: - - Share — copy and redistribute the material in any medium or format - Adapt — remix, transform, and build upon the material for any purpose, even commercially - -Under the following terms: - - Attribution — You must give appropriate credit, provide a link to the - license, and indicate if changes were made. You may do so in any - reasonable manner, but not in any way that suggests the licensor - endorses you or your use. - - ShareAlike — If you remix, transform, or build upon the material, you - must distribute your contributions under the same license as the - original. - - No additional restrictions — You may not apply legal terms or - technological measures that legally restrict others from doing - anything the license permits. - -Full legal text: https://creativecommons.org/licenses/by-sa/4.0/legalcode - -By contributing to this repository, you agree to release your contributions under CC BY-SA 4.0. +MIT License + +Copyright (c) 2026 Joaquim Costa and papia-presets contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.kea.md b/README.kea.md index c9e1d42..4c54070 100644 --- a/README.kea.md +++ b/README.kea.md @@ -43,9 +43,9 @@ index.json ← otu-geradu; ka edita-l a mon ## Lisensia -Tudu presetis i dokumentason na es repo sta lisensiadu sob [CC BY-SA 4.0](./LICENSE). Kontributoris ta manten autoria; uzuárius downstream debe da kreditu a kontributoris orijinal i partilha trabadjus derivadu sob mesmu lisensia. +Tudu presets i dokumentasan na es repo sta lisensiadu sob [Lisensia MIT](./LICENSE). Bu ten libradadi pa uza, modifika, i redistribui konteúdu — te na produtus komersial i di kódigu fitchadu — ku atribuisan sima Lisensia MIT ta izixi. -Kantu bu submeti un pull request, bu ta konkorda libra bu kontribuison sob CC BY-SA 4.0. +Kantu bu submete un pull request, bu ta konkorda publika bu kontribuisan ku Lisensia MIT. ## Governason diff --git a/README.md b/README.md index 3da74be..b0c47e8 100644 --- a/README.md +++ b/README.md @@ -41,9 +41,9 @@ index.json ← auto-generated; do not edit by hand ## License -All presets and documentation in this repository are licensed under [CC BY-SA 4.0](./LICENSE). Contributors retain authorship; downstream users must credit the original contributors and share derivative works under the same license. +All presets and documentation in this repository are licensed under the [MIT License](./LICENSE). You're free to use, modify, and redistribute the content — including in commercial and closed-source products — with attribution as the MIT license requires. -By submitting a pull request you agree to release your contribution under CC BY-SA 4.0. +By submitting a pull request you agree to release your contribution under the MIT License. ## Governance diff --git a/package-lock.json b/package-lock.json index 94d94d4..2e29088 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,7 +7,7 @@ "": { "name": "papia-presets", "version": "0.1.0", - "license": "CC-BY-SA-4.0", + "license": "MIT", "devDependencies": { "@papia/cspell-kea": "^2.0.2", "@types/node": "^20.11.0", diff --git a/package.json b/package.json index efc49ad..743afd2 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "private": true, "description": "Community-curated glossary presets for Skrebe (Cabo Verde Kriolu translation editor).", "type": "module", - "license": "CC-BY-SA-4.0", + "license": "MIT", "repository": { "type": "git", "url": "https://github.com/deznode/papia-presets.git" diff --git a/presets/_example/manifest.json b/presets/_example/manifest.json index 8f5adaf..b35ab1f 100644 --- a/presets/_example/manifest.json +++ b/presets/_example/manifest.json @@ -6,7 +6,7 @@ "description": "Scaffold reference showing the file layout and manifest fields. Not loaded into the catalog. Delete and replace with your own preset.", "domain": "general", "version": "0.0.1", - "license": "CC-BY-SA-4.0", + "license": "MIT", "entryCount": 3, "dialects": ["santiago"], "sourceLanguage": "en", diff --git a/schema/preset-manifest.schema.json b/schema/preset-manifest.schema.json index c545a9d..7ba52f8 100644 --- a/schema/preset-manifest.schema.json +++ b/schema/preset-manifest.schema.json @@ -78,8 +78,8 @@ }, "license": { "type": "string", - "enum": ["CC-BY-SA-4.0"], - "description": "All presets in this catalog use CC BY-SA 4.0." + "enum": ["MIT"], + "description": "All presets in this catalog use the MIT License." }, "entryCount": { "type": "integer", From 1fc4701f375ed0f74a51ea4a25772a43bedd9da8 Mon Sep 17 00:00:00 2001 From: Joaquim Costa Date: Tue, 19 May 2026 21:45:16 -0400 Subject: [PATCH 5/7] chore(ci): switch to pnpm lockfile to match CI cache config Workflows configure actions/setup-node with cache: pnpm, which requires pnpm-lock.yaml. The repo had package-lock.json from an accidental npm install, causing Setup Node to fail before pnpm install could run. - Remove package-lock.json - Add pnpm-lock.yaml (lockfileVersion 9.0, compatible with CI pnpm v9) - Ignore package-lock.json and yarn.lock to prevent recurrence --- .gitignore | 4 + package-lock.json | 656 ---------------------------------------------- pnpm-lock.yaml | 386 +++++++++++++++++++++++++++ 3 files changed, 390 insertions(+), 656 deletions(-) delete mode 100644 package-lock.json create mode 100644 pnpm-lock.yaml diff --git a/.gitignore b/.gitignore index 3d61783..a426688 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,7 @@ dist/ .idea/ .vscode/ *.swp + +# Use pnpm only — npm/yarn lockfiles are accidental +package-lock.json +yarn.lock diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 2e29088..0000000 --- a/package-lock.json +++ /dev/null @@ -1,656 +0,0 @@ -{ - "name": "papia-presets", - "version": "0.1.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "papia-presets", - "version": "0.1.0", - "license": "MIT", - "devDependencies": { - "@papia/cspell-kea": "^2.0.2", - "@types/node": "^20.11.0", - "ajv": "^8.12.0", - "ajv-formats": "^3.0.1", - "tsx": "^4.7.0", - "typescript": "^5.3.3" - }, - "engines": { - "node": ">=20" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.0.tgz", - "integrity": "sha512-lhRUCeuOyJQURhTxl4WkpFTjIsbDayJHih5kZC1giwE+MhIzAb7mEsQMqMf18rHLsrb5qI1tafG20mLxEWcWlA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.0.tgz", - "integrity": "sha512-wqh0ByljabXLKHeWXYLqoJ5jKC4XBaw6Hk08OfMrCRd2nP2ZQ5eleDZC41XHyCNgktBGYMbqnrJKq/K/lzPMSQ==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.0.tgz", - "integrity": "sha512-+WzIXQOSaGs33tLEgYPYe/yQHf0WTU0X42Jca3y8NWMbUVhp7rUnw+vAsRC/QiDrdD31IszMrZy+qwPOPjd+rw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.0.tgz", - "integrity": "sha512-+VJggoaKhk2VNNqVL7f6S189UzShHC/mR9EE8rDdSkdpN0KflSwWY/gWjDrNxxisg8Fp1ZCD9jLMo4m0OUfeUA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.0.tgz", - "integrity": "sha512-0T+A9WZm+bZ84nZBtk1ckYsOvyA3x7e2Acj1KdVfV4/2tdG4fzUp91YHx+GArWLtwqp77pBXVCPn2We7Letr0Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.0.tgz", - "integrity": "sha512-fyzLm/DLDl/84OCfp2f/XQ4flmORsjU7VKt8HLjvIXChJoFFOIL6pLJPH4Yhd1n1gGFF9mPwtlN5Wf82DZs+LQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.0.tgz", - "integrity": "sha512-l9GeW5UZBT9k9brBYI+0WDffcRxgHQD8ShN2Ur4xWq/NFzUKm3k5lsH4PdaRgb2w7mI9u61nr2gI2mLI27Nh3Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.0.tgz", - "integrity": "sha512-BXoQai/A0wPO6Es3yFJ7APCiKGc1tdAEOgeTNy3SsB491S3aHn4S4r3e976eUnPdU+NbdtmBuLncYir2tMU9Nw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.0.tgz", - "integrity": "sha512-CjaaREJagqJp7iTaNQjjidaNbCKYcd4IDkzbwwxtSvjI7NZm79qiHc8HqciMddQ6CKvJT6aBd8lO9kN/ZudLlw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.0.tgz", - "integrity": "sha512-RVyzfb3FWsGA55n6WY0MEIEPURL1FcbhFE6BffZEMEekfCzCIMtB5yyDcFnVbTnwk+CLAgTujmV/Lgvih56W+A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.0.tgz", - "integrity": "sha512-KBnSTt1kxl9x70q+ydterVdl+Cn0H18ngRMRCEQfrbqdUuntQQ0LoMZv47uB97NljZFzY6HcfqEZ2SAyIUTQBQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.0.tgz", - "integrity": "sha512-zpSlUce1mnxzgBADvxKXX5sl8aYQHo2ezvMNI8I0lbblJtp8V4odlm3Yzlj7gPyt3T8ReksE6bK+pT3WD+aJRg==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.0.tgz", - "integrity": "sha512-2jIfP6mmjkdmeTlsX/9vmdmhBmKADrWqN7zcdtHIeNSCH1SqIoNI63cYsjQR8J+wGa4Y5izRcSHSm8K3QWmk3w==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.0.tgz", - "integrity": "sha512-bc0FE9wWeC0WBm49IQMPSPILRocGTQt3j5KPCA8os6VprfuJ7KD+5PzESSrJ6GmPIPJK965ZJHTUlSA6GNYEhg==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.0.tgz", - "integrity": "sha512-SQPZOwoTTT/HXFXQJG/vBX8sOFagGqvZyXcgLA3NhIqcBv1BJU1d46c0rGcrij2B56Z2rNiSLaZOYW5cUk7yLQ==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.0.tgz", - "integrity": "sha512-SCfR0HN8CEEjnYnySJTd2cw0k9OHB/YFzt5zgJEwa+wL/T/raGWYMBqwDNAC6dqFKmJYZoQBRfHjgwLHGSrn3Q==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.0.tgz", - "integrity": "sha512-us0dSb9iFxIi8srnpl931Nvs65it/Jd2a2K3qs7fz2WfGPHqzfzZTfec7oxZJRNPXPnNYZtanmRc4AL/JwVzHQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-arm64": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.0.tgz", - "integrity": "sha512-CR/RYotgtCKwtftMwJlUU7xCVNg3lMYZ0RzTmAHSfLCXw3NtZtNpswLEj/Kkf6kEL3Gw+BpOekRX0BYCtklhUw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.0.tgz", - "integrity": "sha512-nU1yhmYutL+fQ71Kxnhg8uEOdC0pwEW9entHykTgEbna2pw2dkbFSMeqjjyHZoCmt8SBkOSvV+yNmm94aUrrqw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.0.tgz", - "integrity": "sha512-cXb5vApOsRsxsEl4mcZ1XY3D4DzcoMxR/nnc4IyqYs0rTI8ZKmW6kyyg+11Z8yvgMfAEldKzP7AdP64HnSC/6g==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.0.tgz", - "integrity": "sha512-8wZM2qqtv9UP3mzy7HiGYNH/zjTA355mpeuA+859TyR+e+Tc08IHYpLJuMsfpDJwoLo1ikIJI8jC3GFjnRClzA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openharmony-arm64": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.0.tgz", - "integrity": "sha512-FLGfyizszcef5C3YtoyQDACyg95+dndv79i2EekILBofh5wpCa1KuBqOWKrEHZg3zrL3t5ouE5jgr94vA+Wb2w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.0.tgz", - "integrity": "sha512-1ZgjUoEdHZZl/YlV76TSCz9Hqj9h9YmMGAgAPYd+q4SicWNX3G5GCyx9uhQWSLcbvPW8Ni7lj4gDa1T40akdlw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.0.tgz", - "integrity": "sha512-Q9StnDmQ/enxnpxCCLSg0oo4+34B9TdXpuyPeTedN/6+iXBJ4J+zwfQI28u/Jl40nOYAxGoNi7mFP40RUtkmUA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.0.tgz", - "integrity": "sha512-zF3ag/gfiCe6U2iczcRzSYJKH1DCI+ByzSENHlM2FcDbEeo5Zd2C86Aq0tKUYAJJ1obRP84ymxIAksZUcdztHA==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.0.tgz", - "integrity": "sha512-pEl1bO9mfAmIC+tW5btTmrKaujg3zGtUmWNdCw/xs70FBjwAL3o9OEKNHvNmnyylD6ubxUERiEhdsL0xBQ9efw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@papia/cspell-kea": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@papia/cspell-kea/-/cspell-kea-2.0.2.tgz", - "integrity": "sha512-FMVAty78mSZIMzEdrj7J0p8gV/4go1Uu9kc2+ucEEwoAmgwimOdtFjt5WsQZgv9dLlEEY8eIAOjSs9KEXu2jPA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "20.19.41", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.41.tgz", - "integrity": "sha512-ECymXOukMnOoVkC2bb1Vc/w/836DXncOg5m8Xj1RH7xSHZJWNYY6Zh7EH477vcnD5egKNNfy2RpNOmuChhFPgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~6.21.0" - } - }, - "node_modules/ajv": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", - "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", - "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/esbuild": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.0.tgz", - "integrity": "sha512-sNR9MHpXSUV/XB4zmsFKN+QgVG82Cc7+/aaxJ8Adi8hyOac+EXptIp45QBPaVyX3N70664wRbTcLTOemCAnyqw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.28.0", - "@esbuild/android-arm": "0.28.0", - "@esbuild/android-arm64": "0.28.0", - "@esbuild/android-x64": "0.28.0", - "@esbuild/darwin-arm64": "0.28.0", - "@esbuild/darwin-x64": "0.28.0", - "@esbuild/freebsd-arm64": "0.28.0", - "@esbuild/freebsd-x64": "0.28.0", - "@esbuild/linux-arm": "0.28.0", - "@esbuild/linux-arm64": "0.28.0", - "@esbuild/linux-ia32": "0.28.0", - "@esbuild/linux-loong64": "0.28.0", - "@esbuild/linux-mips64el": "0.28.0", - "@esbuild/linux-ppc64": "0.28.0", - "@esbuild/linux-riscv64": "0.28.0", - "@esbuild/linux-s390x": "0.28.0", - "@esbuild/linux-x64": "0.28.0", - "@esbuild/netbsd-arm64": "0.28.0", - "@esbuild/netbsd-x64": "0.28.0", - "@esbuild/openbsd-arm64": "0.28.0", - "@esbuild/openbsd-x64": "0.28.0", - "@esbuild/openharmony-arm64": "0.28.0", - "@esbuild/sunos-x64": "0.28.0", - "@esbuild/win32-arm64": "0.28.0", - "@esbuild/win32-ia32": "0.28.0", - "@esbuild/win32-x64": "0.28.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.2.tgz", - "integrity": "sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fastify" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fastify" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true, - "license": "MIT" - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/tsx": { - "version": "4.22.3", - "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.22.3.tgz", - "integrity": "sha512-mdoNxBC/cSQObGGVQ5Bpn5i+yv7j68gk3Nfm3wFjcJg3Z0Mix9jzAFfP12prmm5eVGmDKtp0yyArrs0Q+8gZHg==", - "dev": true, - "license": "MIT", - "dependencies": { - "esbuild": "~0.28.0" - }, - "bin": { - "tsx": "dist/cli.mjs" - }, - "engines": { - "node": ">=18.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - } - }, - "node_modules/typescript": { - "version": "5.9.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", - "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undici-types": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", - "dev": true, - "license": "MIT" - } - } -} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..62249ec --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,386 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + devDependencies: + '@papia/cspell-kea': + specifier: ^2.0.2 + version: 2.0.2 + '@types/node': + specifier: ^20.11.0 + version: 20.19.41 + ajv: + specifier: ^8.12.0 + version: 8.20.0 + ajv-formats: + specifier: ^3.0.1 + version: 3.0.1(ajv@8.20.0) + tsx: + specifier: ^4.7.0 + version: 4.22.3 + typescript: + specifier: ^5.3.3 + version: 5.9.3 + +packages: + + '@esbuild/aix-ppc64@0.28.0': + resolution: {integrity: sha512-lhRUCeuOyJQURhTxl4WkpFTjIsbDayJHih5kZC1giwE+MhIzAb7mEsQMqMf18rHLsrb5qI1tafG20mLxEWcWlA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.28.0': + resolution: {integrity: sha512-+WzIXQOSaGs33tLEgYPYe/yQHf0WTU0X42Jca3y8NWMbUVhp7rUnw+vAsRC/QiDrdD31IszMrZy+qwPOPjd+rw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.28.0': + resolution: {integrity: sha512-wqh0ByljabXLKHeWXYLqoJ5jKC4XBaw6Hk08OfMrCRd2nP2ZQ5eleDZC41XHyCNgktBGYMbqnrJKq/K/lzPMSQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.28.0': + resolution: {integrity: sha512-+VJggoaKhk2VNNqVL7f6S189UzShHC/mR9EE8rDdSkdpN0KflSwWY/gWjDrNxxisg8Fp1ZCD9jLMo4m0OUfeUA==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.28.0': + resolution: {integrity: sha512-0T+A9WZm+bZ84nZBtk1ckYsOvyA3x7e2Acj1KdVfV4/2tdG4fzUp91YHx+GArWLtwqp77pBXVCPn2We7Letr0Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.28.0': + resolution: {integrity: sha512-fyzLm/DLDl/84OCfp2f/XQ4flmORsjU7VKt8HLjvIXChJoFFOIL6pLJPH4Yhd1n1gGFF9mPwtlN5Wf82DZs+LQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.28.0': + resolution: {integrity: sha512-l9GeW5UZBT9k9brBYI+0WDffcRxgHQD8ShN2Ur4xWq/NFzUKm3k5lsH4PdaRgb2w7mI9u61nr2gI2mLI27Nh3Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.28.0': + resolution: {integrity: sha512-BXoQai/A0wPO6Es3yFJ7APCiKGc1tdAEOgeTNy3SsB491S3aHn4S4r3e976eUnPdU+NbdtmBuLncYir2tMU9Nw==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.28.0': + resolution: {integrity: sha512-RVyzfb3FWsGA55n6WY0MEIEPURL1FcbhFE6BffZEMEekfCzCIMtB5yyDcFnVbTnwk+CLAgTujmV/Lgvih56W+A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.28.0': + resolution: {integrity: sha512-CjaaREJagqJp7iTaNQjjidaNbCKYcd4IDkzbwwxtSvjI7NZm79qiHc8HqciMddQ6CKvJT6aBd8lO9kN/ZudLlw==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.28.0': + resolution: {integrity: sha512-KBnSTt1kxl9x70q+ydterVdl+Cn0H18ngRMRCEQfrbqdUuntQQ0LoMZv47uB97NljZFzY6HcfqEZ2SAyIUTQBQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.28.0': + resolution: {integrity: sha512-zpSlUce1mnxzgBADvxKXX5sl8aYQHo2ezvMNI8I0lbblJtp8V4odlm3Yzlj7gPyt3T8ReksE6bK+pT3WD+aJRg==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.28.0': + resolution: {integrity: sha512-2jIfP6mmjkdmeTlsX/9vmdmhBmKADrWqN7zcdtHIeNSCH1SqIoNI63cYsjQR8J+wGa4Y5izRcSHSm8K3QWmk3w==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.28.0': + resolution: {integrity: sha512-bc0FE9wWeC0WBm49IQMPSPILRocGTQt3j5KPCA8os6VprfuJ7KD+5PzESSrJ6GmPIPJK965ZJHTUlSA6GNYEhg==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.28.0': + resolution: {integrity: sha512-SQPZOwoTTT/HXFXQJG/vBX8sOFagGqvZyXcgLA3NhIqcBv1BJU1d46c0rGcrij2B56Z2rNiSLaZOYW5cUk7yLQ==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.28.0': + resolution: {integrity: sha512-SCfR0HN8CEEjnYnySJTd2cw0k9OHB/YFzt5zgJEwa+wL/T/raGWYMBqwDNAC6dqFKmJYZoQBRfHjgwLHGSrn3Q==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.28.0': + resolution: {integrity: sha512-us0dSb9iFxIi8srnpl931Nvs65it/Jd2a2K3qs7fz2WfGPHqzfzZTfec7oxZJRNPXPnNYZtanmRc4AL/JwVzHQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.28.0': + resolution: {integrity: sha512-CR/RYotgtCKwtftMwJlUU7xCVNg3lMYZ0RzTmAHSfLCXw3NtZtNpswLEj/Kkf6kEL3Gw+BpOekRX0BYCtklhUw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.28.0': + resolution: {integrity: sha512-nU1yhmYutL+fQ71Kxnhg8uEOdC0pwEW9entHykTgEbna2pw2dkbFSMeqjjyHZoCmt8SBkOSvV+yNmm94aUrrqw==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.28.0': + resolution: {integrity: sha512-cXb5vApOsRsxsEl4mcZ1XY3D4DzcoMxR/nnc4IyqYs0rTI8ZKmW6kyyg+11Z8yvgMfAEldKzP7AdP64HnSC/6g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.28.0': + resolution: {integrity: sha512-8wZM2qqtv9UP3mzy7HiGYNH/zjTA355mpeuA+859TyR+e+Tc08IHYpLJuMsfpDJwoLo1ikIJI8jC3GFjnRClzA==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openharmony-arm64@0.28.0': + resolution: {integrity: sha512-FLGfyizszcef5C3YtoyQDACyg95+dndv79i2EekILBofh5wpCa1KuBqOWKrEHZg3zrL3t5ouE5jgr94vA+Wb2w==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + + '@esbuild/sunos-x64@0.28.0': + resolution: {integrity: sha512-1ZgjUoEdHZZl/YlV76TSCz9Hqj9h9YmMGAgAPYd+q4SicWNX3G5GCyx9uhQWSLcbvPW8Ni7lj4gDa1T40akdlw==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.28.0': + resolution: {integrity: sha512-Q9StnDmQ/enxnpxCCLSg0oo4+34B9TdXpuyPeTedN/6+iXBJ4J+zwfQI28u/Jl40nOYAxGoNi7mFP40RUtkmUA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.28.0': + resolution: {integrity: sha512-zF3ag/gfiCe6U2iczcRzSYJKH1DCI+ByzSENHlM2FcDbEeo5Zd2C86Aq0tKUYAJJ1obRP84ymxIAksZUcdztHA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.28.0': + resolution: {integrity: sha512-pEl1bO9mfAmIC+tW5btTmrKaujg3zGtUmWNdCw/xs70FBjwAL3o9OEKNHvNmnyylD6ubxUERiEhdsL0xBQ9efw==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@papia/cspell-kea@2.0.2': + resolution: {integrity: sha512-FMVAty78mSZIMzEdrj7J0p8gV/4go1Uu9kc2+ucEEwoAmgwimOdtFjt5WsQZgv9dLlEEY8eIAOjSs9KEXu2jPA==} + + '@types/node@20.19.41': + resolution: {integrity: sha512-ECymXOukMnOoVkC2bb1Vc/w/836DXncOg5m8Xj1RH7xSHZJWNYY6Zh7EH477vcnD5egKNNfy2RpNOmuChhFPgQ==} + + ajv-formats@3.0.1: + resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv@8.20.0: + resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==} + + esbuild@0.28.0: + resolution: {integrity: sha512-sNR9MHpXSUV/XB4zmsFKN+QgVG82Cc7+/aaxJ8Adi8hyOac+EXptIp45QBPaVyX3N70664wRbTcLTOemCAnyqw==} + engines: {node: '>=18'} + hasBin: true + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-uri@3.1.2: + resolution: {integrity: sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + + tsx@4.22.3: + resolution: {integrity: sha512-mdoNxBC/cSQObGGVQ5Bpn5i+yv7j68gk3Nfm3wFjcJg3Z0Mix9jzAFfP12prmm5eVGmDKtp0yyArrs0Q+8gZHg==} + engines: {node: '>=18.0.0'} + hasBin: true + + typescript@5.9.3: + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} + engines: {node: '>=14.17'} + hasBin: true + + undici-types@6.21.0: + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + +snapshots: + + '@esbuild/aix-ppc64@0.28.0': + optional: true + + '@esbuild/android-arm64@0.28.0': + optional: true + + '@esbuild/android-arm@0.28.0': + optional: true + + '@esbuild/android-x64@0.28.0': + optional: true + + '@esbuild/darwin-arm64@0.28.0': + optional: true + + '@esbuild/darwin-x64@0.28.0': + optional: true + + '@esbuild/freebsd-arm64@0.28.0': + optional: true + + '@esbuild/freebsd-x64@0.28.0': + optional: true + + '@esbuild/linux-arm64@0.28.0': + optional: true + + '@esbuild/linux-arm@0.28.0': + optional: true + + '@esbuild/linux-ia32@0.28.0': + optional: true + + '@esbuild/linux-loong64@0.28.0': + optional: true + + '@esbuild/linux-mips64el@0.28.0': + optional: true + + '@esbuild/linux-ppc64@0.28.0': + optional: true + + '@esbuild/linux-riscv64@0.28.0': + optional: true + + '@esbuild/linux-s390x@0.28.0': + optional: true + + '@esbuild/linux-x64@0.28.0': + optional: true + + '@esbuild/netbsd-arm64@0.28.0': + optional: true + + '@esbuild/netbsd-x64@0.28.0': + optional: true + + '@esbuild/openbsd-arm64@0.28.0': + optional: true + + '@esbuild/openbsd-x64@0.28.0': + optional: true + + '@esbuild/openharmony-arm64@0.28.0': + optional: true + + '@esbuild/sunos-x64@0.28.0': + optional: true + + '@esbuild/win32-arm64@0.28.0': + optional: true + + '@esbuild/win32-ia32@0.28.0': + optional: true + + '@esbuild/win32-x64@0.28.0': + optional: true + + '@papia/cspell-kea@2.0.2': {} + + '@types/node@20.19.41': + dependencies: + undici-types: 6.21.0 + + ajv-formats@3.0.1(ajv@8.20.0): + optionalDependencies: + ajv: 8.20.0 + + ajv@8.20.0: + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.1.2 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + + esbuild@0.28.0: + optionalDependencies: + '@esbuild/aix-ppc64': 0.28.0 + '@esbuild/android-arm': 0.28.0 + '@esbuild/android-arm64': 0.28.0 + '@esbuild/android-x64': 0.28.0 + '@esbuild/darwin-arm64': 0.28.0 + '@esbuild/darwin-x64': 0.28.0 + '@esbuild/freebsd-arm64': 0.28.0 + '@esbuild/freebsd-x64': 0.28.0 + '@esbuild/linux-arm': 0.28.0 + '@esbuild/linux-arm64': 0.28.0 + '@esbuild/linux-ia32': 0.28.0 + '@esbuild/linux-loong64': 0.28.0 + '@esbuild/linux-mips64el': 0.28.0 + '@esbuild/linux-ppc64': 0.28.0 + '@esbuild/linux-riscv64': 0.28.0 + '@esbuild/linux-s390x': 0.28.0 + '@esbuild/linux-x64': 0.28.0 + '@esbuild/netbsd-arm64': 0.28.0 + '@esbuild/netbsd-x64': 0.28.0 + '@esbuild/openbsd-arm64': 0.28.0 + '@esbuild/openbsd-x64': 0.28.0 + '@esbuild/openharmony-arm64': 0.28.0 + '@esbuild/sunos-x64': 0.28.0 + '@esbuild/win32-arm64': 0.28.0 + '@esbuild/win32-ia32': 0.28.0 + '@esbuild/win32-x64': 0.28.0 + + fast-deep-equal@3.1.3: {} + + fast-uri@3.1.2: {} + + fsevents@2.3.3: + optional: true + + json-schema-traverse@1.0.0: {} + + require-from-string@2.0.2: {} + + tsx@4.22.3: + dependencies: + esbuild: 0.28.0 + optionalDependencies: + fsevents: 2.3.3 + + typescript@5.9.3: {} + + undici-types@6.21.0: {} From 5b11aa65c84a46abede608ae592592ddb6f4e3f3 Mon Sep 17 00:00:00 2001 From: Joaquim Costa Date: Tue, 19 May 2026 21:48:27 -0400 Subject: [PATCH 6/7] chore(ci): bump actions to Node 24 runtimes GitHub deprecated Node 20 action runtimes (default switch June 2026, removal September 2026). Bump to the v6 majors which run on Node 24, and switch the project's runner Node from 20 to 24 (engines: >=20). - actions/checkout: v4 -> v6 - actions/setup-node: v4 -> v6 - pnpm/action-setup: v3 -> v6 - node-version: 20 -> 24 --- .github/workflows/publish-index.yml | 8 ++++---- .github/workflows/validate.yml | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/publish-index.yml b/.github/workflows/publish-index.yml index a7aeed9..b1bb2c5 100644 --- a/.github/workflows/publish-index.yml +++ b/.github/workflows/publish-index.yml @@ -18,19 +18,19 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: token: ${{ secrets.GITHUB_TOKEN }} - name: Setup pnpm - uses: pnpm/action-setup@v3 + uses: pnpm/action-setup@v6 with: version: 9 - name: Setup Node - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: - node-version: 20 + node-version: 24 cache: pnpm - name: Install diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index 3d93ad5..f702c35 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -19,19 +19,19 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: fetch-depth: 0 # need git history for version-bump check - name: Setup pnpm - uses: pnpm/action-setup@v3 + uses: pnpm/action-setup@v6 with: version: 9 - name: Setup Node - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: - node-version: 20 + node-version: 24 cache: pnpm - name: Install From 0c8abc245e08e87c72bb4d2426636268fa6be2bd Mon Sep 17 00:00:00 2001 From: Joaquim Costa Date: Tue, 19 May 2026 22:30:24 -0400 Subject: [PATCH 7/7] fix: correct terminology from "duminiu" to "domain" in various templates and documentation --- .github/ISSUE_TEMPLATE/preset-request.kea.md | 4 ++-- .github/PULL_REQUEST_TEMPLATE/new-preset.kea.md | 4 ++-- .github/PULL_REQUEST_TEMPLATE/update-preset.kea.md | 2 +- CONTRIBUTING.kea.md | 8 ++++---- README.kea.md | 12 ++++++------ 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/preset-request.kea.md b/.github/ISSUE_TEMPLATE/preset-request.kea.md index 9f216e8..d61d14e 100644 --- a/.github/ISSUE_TEMPLATE/preset-request.kea.md +++ b/.github/ISSUE_TEMPLATE/preset-request.kea.md @@ -1,6 +1,6 @@ --- name: Pididu di preset (Kriolu) -about: Pidi un duminiu novu ô preset ki ka inda eziste +about: Pidi un domain novu ô preset ki ka inda eziste title: '[Pididu] ' labels: ['preset-request'] --- @@ -11,7 +11,7 @@ labels: ['preset-request'] ## Pididu di preset -**Duminiu propostu:** +**Domain propostu:** **ID di preset propostu:** diff --git a/.github/PULL_REQUEST_TEMPLATE/new-preset.kea.md b/.github/PULL_REQUEST_TEMPLATE/new-preset.kea.md index 7f8386d..a625621 100644 --- a/.github/PULL_REQUEST_TEMPLATE/new-preset.kea.md +++ b/.github/PULL_REQUEST_TEMPLATE/new-preset.kea.md @@ -11,7 +11,7 @@ about: Submete un preset novu di glosáriu pa katalogu **ID di preset:** `` -**Duminiu:** +**Domain:** **Konta di entradas:** @@ -33,7 +33,7 @@ about: Submete un preset novu di glosáriu pa katalogu ### Kontestu di autor - + ### Checklist diff --git a/.github/PULL_REQUEST_TEMPLATE/update-preset.kea.md b/.github/PULL_REQUEST_TEMPLATE/update-preset.kea.md index b852827..b2fa61f 100644 --- a/.github/PULL_REQUEST_TEMPLATE/update-preset.kea.md +++ b/.github/PULL_REQUEST_TEMPLATE/update-preset.kea.md @@ -24,7 +24,7 @@ about: Atualiza un preset ki ja ta eziste (entradas novu, korreson, klarifikason ### Pamodi - + ### Fontis pa entradas novu/mudadu diff --git a/CONTRIBUTING.kea.md b/CONTRIBUTING.kea.md index 0d750da..f033e1a 100644 --- a/CONTRIBUTING.kea.md +++ b/CONTRIBUTING.kea.md @@ -16,7 +16,7 @@ Disidi três kuza: 1. **Domain.** Kale kategoria ki bu preset ta kobri? Saúdi, edukasan, agrikultura, relijian, múzika, tek, sirvisus sivikus, etc. Mante-l strétu — un preset apertadu di 80 termu é midjor ki un di 800 termu spadjadu. 2. **Públiku.** Ken ki ta uza es preset? Materiál pa pasienti ta lê diferenti di notas klínika; testu di skola ta diferensia di artigu akadémiku. Marka es informasan na README di bu preset. -3. **Kobertura di dialetu.** Santiagu (Badiu)? São Vicente (Sanpajudu)? Tudu doz? Marka es informasan na manifest. Mistura dialetu sen sinaliza é problema mas komun na revizan. +3. **Kobertura di dialetu.** Santiagu (Badiu)? São Vicente (Sanpajudu)? Tudu dôs? Marka es informasan na manifest. Mistura dialetu sen sinaliza é problema mas komun na revizan. Si bu domain ka eziste inda, ka ten problema — bai en frenti i kria-l. @@ -103,7 +103,7 @@ Un kore vermedju ta imprimi izatamenti ke ki sta eradu i undi. Korejil i kore di git push origin add-health-basic ``` -2. Abri un pull request. Uza template **"New preset"** — el ta pidi duminiu, fontis, i kobertura di dialetu. +2. Abri un pull request. Uza template **"New preset"** — el ta pidi domain, fontis, i kobertura di dialetu. **Skodje template Kriolu:** GitHub ka ta mostra un menu di template di PR automatikamenti te ki ten múltipu template. Pa uza versan Kriolu, adisiona `?template=new-preset.kea.md` na fin di URL di krian di PR. Ezemplu: @@ -143,13 +143,13 @@ Dokumenta kada mudansa na `CHANGELOG.md` di preset. Un maintainer ta verifika: -1. **Alkance é klaru.** Duminiu di preset sta ben defenidu i entradas ta kabe nel. +1. **Alkance é klaru.** Domain di preset sta ben defenidu i entradas ta kabe nel. 2. **Fontis é kredíbel.** Glosários governamental, materiál peer-reviewed, uzu komunitáriu stabelesedu, ô autoris peritu nomeadu. "Sensu komun" sô ka é fonti. 3. **Konformidadi ku ALUPEC.** Termus alvu ta pasa linter (CI ta enforsa). 4. **Onestidadi di dialetu.** Si entradas sta predominantimenti di un dialetu, manifest ta dize-l. 5. **Sen duplikason ku presetis ki ja eziste.** Si bu entrada di "consent" ta kontradidi un na otu preset ki ja merged, nu ta diskuti kal é kanóniku ô si tudu dôs ta kueksisti ku alkance más klaru. -Nu ka ta gatekeep na stilu ô kompletu. Un preset di 30 entradas fokadu pa un peritu di duminiu é más válidu ki 300 entradas di palpiti. +Nu ka ta gatekeep na stilu ô kompletu. Un preset di 30 entradas fokadu pa un peritu di domain é más válidu ki 300 entradas di palpiti. --- diff --git a/README.kea.md b/README.kea.md index 4c54070..b7f131d 100644 --- a/README.kea.md +++ b/README.kea.md @@ -4,17 +4,17 @@ # papia-presets -Presetis di glosáriu kuratoriadu pa komunidadi pa [Skrebe](https://papia.studio), editor di traduson markdown pa Kriolu di Kabu Verdi (ALUPEC). +Presets di glosáriu pa [Skrebe](https://papia.studio), editor di tradusan markdown pa Kriolu di Kabu Verdi (ALUPEC). -Kada preset é un vokabuláriu pikenu i fokadu na un duminiu spesífiku — saúdi, edukason, sirvisus sivikus, tekenolojia, relijaun, etc. Uzuárius di Skrebe ta navega na katalogu li dentu di aplikason, ta instala kes ki es ta meste, i ta resebe sujeston di termu i tcheku di konsistensia apropriadu pa duminiu, kantu sta tradusi. +Kada preset é un vokabuláriu pikenu i fokadu na un domain spesífiku — saúdi, edukason, sirvisus sivikus, tekenolojia, relijaun, etc. Uzuárius di Skrebe ta navega na katalogu li dentu di aplikason, ta instala kes ki es ta meste, i ta resebe sujeston di termu i tcheku di konsistensia apropriadu pa domain, kantu sta tradusi. ## Navega katalogu -Abri **Marketplace** na Skrebe. Lista ki bu ta odja ta ben di [`index.json`](./index.json) di es repo, regeradu otomatikamenti tudu bes ki un preset é adisionadu ô atualizadu. +Abri **Marketplace** na Skrebe. Lista ki bu ta odja ta ben di [`index.json`](./index.json) di es repo, jeradu otomatikamenti tudu bes ki un preset é adisionadu ô atualizadu. ## Kontribui un preset -Bu ka meste ser dezenvolvedor. Si bu sabe edita un folha di kálkulu i kore dôs komandu na terminal, bu pode kontribui. Guia kumpletu pasu-a-pasu: **[CONTRIBUTING.kea.md](./CONTRIBUTING.kea.md)**. +Bu ka meste ser dezenvolvedor. Si bu sabe edita un un dokumento i kore dôs komandu na terminal, bu pode kontribui. Guia kumpletu pasu-a-pasu: **[CONTRIBUTING.kea.md](./CONTRIBUTING.kea.md)**. Verson kurtu: @@ -32,7 +32,7 @@ Un maintainer ta reviza. CI ta verifika ortografia i strutura. Dipos di merge, b ``` presets/ / - manifest.json ← metadatu (nomi, duminiu, verson, autoris, fontis) + manifest.json ← metadatu (nomi, domain, verson, autoris, fontis) glossary.json ← entradas di termu propi README.md ← kontestu, públiku-alvu, notas di dialetu CHANGELOG.md ← ke ki mudou na kada verson @@ -56,5 +56,5 @@ Diskorda di un dizizon di kuradoria? Bu pode **faze fork di katalogu** i hospeda ## Perguntas - **Atxa un termu eradu?** Abri un issue na preset, ô manda un PR ku korreson. -- **Kre un duminiu novu ki ka inda eziste?** Abri un [pididu di preset](./.github/ISSUE_TEMPLATE/preset-request.md) — alguen pode voluntaria pa autoria. +- **Kre un domain novu ki ka inda eziste?** Abri un [pididu di preset](./.github/ISSUE_TEMPLATE/preset-request.md) — alguen pode voluntaria pa autoria. - **Sta konstrui ferramenta riba di es katalogu?** Schemas na [`schema/`](./schema) é kontratu stabel. Pin `schemaVersion: 1` i bu sta siguru.