Manifest npm
Ukázka je platný package.json. Type=module určuje interpretaci JavaScript souborů v balíčku; scripts jsou příkazy, které npm spouští. Změna manifestu není instalace nebo aktualizace závislostí.
{
"name":"ukazka-xml",
"version":"1.0.0",
"private":true,
"type":"module",
"scripts":{"start":"node main.js"}
} JSON versus JSONC
Package.json nepodporuje komentáře a koncové čárky. Settings.json VS Code používá JSONC. To, že editor obarví oba soubory, neznamená stejná pravidla při spuštění aplikace.
Schéma a význam hodnot
Schéma pomáhá kontrolovat typy a názvy voleb. Private má být boolean, ne řetězec true. Duplicitní klíče raději odmítni. Aplikace může používat další sémantická pravidla, která obecný JSON validátor nezná.
Provoz a bezpečnost
Nevkládej tajemství do verzované konfigurace. Scripts a některé instalační kroky mohou spouštět kód; posuzuj původ manifestu i závislostí. Lockfile udržuj nástrojem správce balíčků a ověř, zda projekt očekává npm, pnpm nebo jiný ekosystém.
Vytvoření malé konfigurace a kontrola typů
{"port":8080,"logovani":true,"zdroje":["knihy","autori"]} {"type":"object","required":["port","logovani"],"properties":{"port":{"type":"integer","minimum":1,"maximum":65535},"logovani":{"type":"boolean"},"zdroje":{"type":"array","items":{"type":"string"},"uniqueItems":true}},"additionalProperties":false} V JSON Schema validátoru první konfigurace projde. Změň port na string "8080" nebo logovani na "false": validace selže. Řetězec false je neprázdný text a některá programová podmínka by jej považovala za pravdivý. Ověření typů před použitím proto není kosmetická kontrola.
Pro package.json používej vlastnosti npm, nikoli toto vlastní schéma. Hodnota type=module ovlivňuje JS soubory daného balíčku; verze manifestu je string podle požadavků npm. Spouštění scripts se děje příkazem npm run, samotné čtení JSON skripty nespouští. Podrobnosti jsou v oficiální package.json dokumentaci.
Tentýž text v JSON a JSONC
{
// lokální nastavení editoru
"editor.tabSize": 2,
} {"editor.tabSize":2} JSON validátor první ukázku odmítne kvůli komentáři a koncové čárce. VS Code settings.json používá vlastní podporovaný JSONC režim. Nepředpokládej, že jakýkoli soubor .json v editoru připouští stejné rozšíření; package.json je standardní JSON. Pokud potřebuješ komentovanou konfiguraci, musí stejný formát podporovat aplikace i její nástroje.
U vlastní konfigurace odděl tajemství od verzovaných výchozích voleb. Když kombinace souboru, prostředí a příkazové řádky mění hodnotu, zdokumentuj pořadí priority. Schéma vysvětluje typy a povolené položky; potřebné aplikační výchozí hodnoty doplňuje až načítací kód.