* feat(docs): mirror every docs/ page in all 65 locales Extends the documentation mirrors from the 22-page core set (#13940) to every Markdown page under docs/: 152 sources x 65 locales = 9,880 mirrors (6,208 new), language bars rewritten for the full locale list, state adopted so the blocking drift gate now covers all 152 pages. run-translation.mjs: an oversized block made only of table rows or list items (PROVIDER_REFERENCE.md 244-row table, FREE_TIERS.md 71-item list) is cut at item boundaries and rejoined without a blank line — the single 16-40 KB request outlived the backend socket for verbose scripts. 48 older mirrors whose tables had lost rows were retranslated with --force. * docs(i18n): refresh mirrors for the sources the base changed since the branch cut Section-level retranslation of the 29 docs (and README.md) whose source or mirrors moved on release/v3.8.51 during the run, then state adoption; the drift gate is green again on the merged tree.
7.8 KiB
OmniRoute CLI Plugin System (Latviešu)
🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇦🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇹 lt · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇮🇳 pa · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇱🇰 si · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW
Paplašiniet omniroute CLI, nemainot tā kodolu. Spraudņi ievēro omniroute-cmd-* nosaukumu piešķiršanas principu, līdzīgi kā gh extension vai kubectl plugin.
Ātrā darba sākšana
# Instalēt spraudni no npm
omniroute plugin install stripe
# Instalēt lokālu spraudni izstrādes stadijā
omniroute plugin install ./my-plugin
# Uzskaitīt instalētos spraudņus
omniroute plugin list
# Izveidot jauna spraudņa sagatavi
omniroute plugin scaffold myplugin
cd omniroute-cmd-myplugin
omniroute plugin install .
Spraudņa uzbūve
Spraudnis ir npm pakotne ar nosaukumu omniroute-cmd-<name> (vai @scope/omniroute-cmd-<name>).
omniroute-cmd-myplugin/
├── package.json # jābūt norādītiem "type": "module" un "main": "index.mjs"
├── index.mjs # eksportē register(program, ctx) un neobligātu meta
└── README.md
package.json
{
"name": "omniroute-cmd-myplugin",
"version": "0.1.0",
"type": "module",
"main": "index.mjs",
"engines": { "omniroute": ">=4.0.0" },
"keywords": ["omniroute-plugin", "omniroute-cmd"]
}
index.mjs
export const meta = {
name: "myplugin",
version: "0.1.0",
description: "Mans OmniRoute spraudnis",
omnirouteApi: ">=4.0.0",
};
export function register(program, ctx) {
program
.command("myplugin")
.description(meta.description)
.option("-n, --name <name>")
.action(async (opts, cmd) => {
const gOpts = cmd.optsWithGlobals();
const res = await ctx.apiFetch("/api/combos", {
baseUrl: gOpts.baseUrl,
apiKey: gOpts.apiKey,
});
const data = await res.json();
ctx.emit(data, gOpts);
});
}
Spraudņa konteksta API
ctx objekts, kas tiek nodots funkcijai register(program, ctx):
| Īpašība | Tips | Apraksts |
|---|---|---|
ctx.apiFetch(path, opts) |
async function |
Autentificēts pieprasījums OmniRoute serverim |
ctx.emit(data, opts) |
function |
Izvade table/json/jsonl/csv formātā atbilstoši --output karogam |
ctx.t(key) |
async function |
i18n tulkojuma uzmeklēšana |
ctx.withSpinner(label, fn) |
async function |
Ietver asinhrono fn ar ora progresa indikatoru |
ctx.baseUrl |
string |
Atrisinātais bāzes URL |
ctx.apiKey |
string | null |
API atslēga, ja tā ir norādīta |
Atklāšana
Spraudņi tiek atklāti šādās vietās:
~/.omniroute/plugins/<name>/— lietotāja lokālās instalācijasOMNIROUTE_PLUGIN_PATHvides mainīgais — pielāgots direktorijs
Abi attiecas tikai uz CLI. Servera puses spraudņu izpildvidei (tirgus/plugin.json
spraudņiem, kas darbojas starpniekserverī) ir savs skeneris ar atsevišķu pārrakstīšanas iestatījumu
OMNIROUTE_PLUGINS_DIR — skatiet
PLUGIN_MARKETPLACE.md → Spraudņu direktorijs.
Viena iestatīšana neietekmē otru.
Ielādes kļūdas tiek pārtvertas un izdrukātas kā brīdinājumi — bojāts spraudnis nekad neizraisa CLI avāriju.
Drošība
Spraudņi darbojas ar tādām pašām Node.js procesa privilēģijām kā omniroute. Instalējiet spraudņus tikai no uzticamiem avotiem. omniroute plugin install parāda skaidru brīdinājumu un pieprasa --yes vai interaktīvu apstiprinājumu.
Publicēšana
- Pārliecinieties, ka
package.jsonsatur"keywords": ["omniroute-plugin"] - Izpildiet
npm publishkā parasti - Lietotāji spraudņus var atrast ar
omniroute plugin search <query>(meklē npm reģistrā)
Spraudņa piemērs
Minimālu funkcionējošu piemēru ar meta un register() skatiet vietnē examples/omniroute-cmd-hello/.