É-06: Éẋéçüţîöñ ţŕüšţ
Šüḿḿàŕý
Ţŵö ƃüîļţ-îñ ţööļš éẋîšţ ţö ŕüñ çöđé à ƒîļé çĥööšéš: external-command šþàŵñš
à šüƃþŕöçéšš ƒŕöḿ îţš öŵñ çöñƒîĝ, àñđ script éṽàļüàţéš ŕéçîþé-šüþþļîéđ
ĴàṽàŠçŕîþţ. Šö đöéš öñé ƒöŕḿàţ: exec ŕéàđš çöñţéñţ ƃý šĥéļļîñĝ öüţ. Ţöĝéţĥéŕ
ţĥéý àŕé ţĥé éẋéç çļàšš.
Éṽéŕý šüŕƒàçé ţĥàţ çàñ ñàḿé àñ éẋéç-çļàšš ţööļ àñšŵéŕš öñé ǫüéšţîöñ, đîđ à þéŕšöñ çĥööšé ţĥîš?, àñđ ţĥé àñšŵéŕ îš à þŕöþéŕţý öƒ ţĥé šüŕƒàçé ŕàţĥéŕ ţĥàñ öƒ ţĥé ţööļ:
| Šüŕƒàçé | Ŵĥéŕé ţĥé àŕĝṽ çöḿéš ƒŕöḿ | Àñšŵéŕ |
|---|---|---|
kapi exec <tool> | ţĥé çöḿḿàñđ ļîñé ţĥé üšéŕ ţýþéđ | ŕüñš; ţĥîš îš ţĥé çĥöîçé |
À kapi.yaml ŕéçîþé | à ƒîļé îñ ţĥé ŵöŕķîñĝ đîŕéçţöŕý | àšķš öñçé, ŕéḿéḿƃéŕš, ŕé-àšķš ŵĥéñ ţĥé àŕĝṽ çĥàñĝéš |
À .kpz þàçķàĝé | àñ àŕçĥîṽé ƒŕöḿ éļšéŵĥéŕé | šţŕîþþéđ öñ îñĝéšţ |
| Ţĥé éñĝîñé ĝŔÞÇ ÀÞÎ | ţĥé ñéţŵöŕķ | ŕéƒüšéđ |
| Ţĥé ḾÇÞ àĝéñţ šüŕƒàçé | à ḿöđéļ | ŕéƒüšéđ, îñçļüđîñĝ üñđéŕ --all-tools |
Öñļý ţĥé ŕéçîþé ŕöŵ çàñ àšķ, ƃéçàüšé îţ îš ţĥé öñļý öñé ŵîţĥ à þéŕšöñ þŕéšéñţ àñđ à ļéĝîţîḿàţé ŕéàšöñ ţö šàý ýéš. Ţĥé ŕéšţ ĥàṽé à ƒîẋéđ àñšŵéŕ, šö ţĥéý đö ñöţ àšķ.
À çöḿḿéñţ éđîţ'š þŕöĵéçţ ƒöŕḿàţţéŕ îš đéçîđéđ ţĥé šàḿé ŵàý, àţ ţĥé éđîţ ţĥàţ
ŵöüļđ ŕüñ îţ: kapi apply àšķš öñçé þéŕ ƒöŕḿàţţéŕ çöñƒîĝüŕàţîöñ àñđ ŕéḿéḿƃéŕš,
àñđ ḾÇÞ apply_edits ñéṽéŕ ŕüñš îţ.
Çöñţéẋţ
Đîšçöṽéŕý ḿàķéš à ŕéçîþé àñ àḿƃîéñţ îñþüţ
core/project.ResolveLayout ƒîñđš à þŕöĵéçţ ƃý ŵàļķîñĝ üþ ƒŕöḿ ţĥé ŵöŕķîñĝ
đîŕéçţöŕý, ţĥé ŵàý git ƒîñđš à ŕéþöšîţöŕý. Ţĥîš îš ţĥé ŕîĝĥţ ƃéĥàṽîöüŕ ƒöŕ à
ţööļ þéöþļé ŕüñ îñšîđé çĥéçķöüţš, àñđ îţ ḿéàñš éñţéŕîñĝ à đîŕéçţöŕý îš éñöüĝĥ
ţö ƃîñđ îţš ŕéçîþé. À ŕéçîþé îš ţĥéŕéƒöŕé šöḿéţĥîñĝ ţĥé üšéŕ šţööđ ñéẋţ ţö ŕàţĥéŕ
ţĥàñ šöḿéţĥîñĝ ţĥéý öþéñéđ.
Ḿöšţ öƒ ŵĥàţ à ŕéçîþé đéçļàŕéš îš îñéŕţ: ļàñĝüàĝéš, çöñţéñţ ĝļöƃš, ĝàţéš, þéŕ-ţööļ šéţţîñĝš. Ţĥé éẋéç çļàšš îš ñöţ: à ƒļöŵ šţéþ ñàḿéš à þŕöĝŕàḿ àñđ ţĥé ƒŕàḿéŵöŕķ ŵöüļđ ŕüñ îţ, ŵîţĥ ţĥé üšéŕ'š þŕîṽîļéĝéš àñđ ţĥé üšéŕ'š ŵĥöļé éñṽîŕöñḿéñţ. Ţĥàţ éñṽîŕöñḿéñţ îñçļüđéš þŕöṽîđéŕ ÀÞÎ ķéýš, ŵĥîçĥ ŕéšöļṽé ƒŕöḿ çöñṽéñţîöñàļ ṽàŕîàƃļéš ƃý đéšîĝñ.
Ţĥîš îš ţĥé npm postinstall ţĥŕéàţ ḿöđéļ. Ŵĥàţ đîšţîñĝüîšĥéš ţĥàţ ḿöđéļ îš
ţĥàţ ŕüññîñĝ ţĥé çöđé ŵàš ñéṽéŕ šüŕƒàçéđ àš à đéçîšîöñ; ƃüîļđ ţööļîñĝ ŕüñš çöđé
çöñšţàñţļý.
Ţĥé šàḿé çļàššîƒîçàţîöñ, àþþļîéđ öñ éṽéŕý šüŕƒàçé
Ţŵö šüŕƒàçéš çàñ ŕéƒüšé öüţŕîĝĥţ, ƃéçàüšé ñéîţĥéŕ ĥàš à üšéŕ ţö àšķ:
- ḾÇÞ ŵîţĥĥöļđš ƃöţĥ ţööļš ƒŕöḿ ţĥé àĝéñţ šüŕƒàçé, àñđ đöéš ñöţ
ƒöļđ ţĥéḿ îñţö
--all-tools, ƃéçàüšé "šĥöŵ ḿé éṽéŕý ţööļ" àñđ "ļéţ à çàļļéŕ éẋéçüţé àŕƃîţŕàŕý çöḿḿàñđš" àŕé đéŕéñţ ŕéǫüéšţš (Š-03). .kpzîñĝéšţ (kpz.SanitizeRecipe) šţŕîþš éẋéç-çļàšš šţéþš, ţĥéîŕ àŕḿîñĝ çöñƒîĝ, àñđ éẋéç-çļàšš ƒöŕḿàţ ƃîñđîñĝš ƒŕöḿ à þàçķàĝé'š ŕéçîþé, ƃéçàüšé à þàçķàĝé ĥàš çŕöššéđ à ţŕüšţ ƃöüñđàŕý àñđ à ĥöšţîļé þàçķéŕ ŵîļļ ñöţ šàñîţîšé öñ ţĥé ŵàý öüţ.- Ţĥé éñĝîñé ĝŔÞÇ ÀÞÎ ŕéƒüšéš ŵîţĥ
PermissionDenied: à ţööļ ñàḿé àñđ îţš çöñƒîĝ àŕŕîṽé öṽéŕ ţĥé ŵîŕé, šö àñ éẋéç-çļàšš ţööļ ŵöüļđ ļéţ à çàļļéŕ çĥööšé ţĥé àŕĝṽ ţĥîš þŕöçéšš ŕüñš.
Ţĥé ŕéçîþé àŕḿ îš ţĥé öñé çàšé ŵĥéŕé ţĥé àñšŵéŕ ļéĝîţîḿàţéļý ṽàŕîéš, šö îţ îš ţĥé öñé àŕḿ ţĥàţ àšķš.
Đéçîšîöñ
À šţîçķý, þéŕ-þŕöĵéçţ đéçîšîöñ, ķéýéđ ţö ŵĥàţ ŵàš àþþŕöṽéđ
Ţĥé ĝàţé ļîṽéš îñ host.LoadProjectInteractive, ţĥé ŵŕàþþéŕ éṽéŕý þŕöĵéçţ-àŵàŕé
çöḿḿàñđ àļŕéàđý ŕöüţéš ţĥŕöüĝĥ, šö éṽéŕý çöḿḿàñđ îñĥéŕîţš îţ àţ öñçé.
core/project.ExecSurface éñüḿéŕàţéš ţĥé éẋéç-çļàšš šîţéš îñ à ļöàđéđ ŕéçîþé:
ƒļöŵ šţéþš îñçļüđîñĝ ñéšţéđ parallel: ƃŕàñçĥéš, ţĥé defaults.tools àñđ
defaults.locales.*.tools þŕéšéţš, àñđ ƒöŕḿàţ ƃîñđîñĝš öñ çöñţéñţ çöļļéçţîöñš
àñđ ţĥéîŕ îţéḿš. Àñ éḿþţý šüŕƒàçé, ŵĥîçĥ îš éṽéŕý ŕéçîþé îñ ţĥîš ŕéþöšîţöŕý àñđ
ţĥé öṽéŕŵĥéļḿîñĝ ḿàĵöŕîţý öƒ ŕéàļ öñéš, ḿéàñš ţĥéŕé îš ñöţĥîñĝ ţö đéçîđé àñđ
ñöţĥîñĝ îš šĥöŵñ.
ensureExecTrust ţĥéñ ŕéšöļṽéš ţĥé ǫüéšţîöñ îñ à ƒîẋéđ öŕđéŕ: ñö éẋéç šîţéš →
ñöţĥîñĝ ţö đéçîđé; ţĥé éñṽîŕöñḿéñţ öþţ-îñ šéţ → ĝŕàñţéđ ƒöŕ ţĥîš þŕöçéšš, ñöţ
ŕéçöŕđéđ; à ŕéçöŕđéđ đéçîšîöñ àţ ţĥé çüŕŕéñţ đîĝéšţ → ĥöñöüŕéđ šîļéñţļý; à
ţéŕḿîñàļ → šĥöŵ ŵĥàţ ŵöüļđ ŕüñ àñđ àšķ; öţĥéŕŵîšé → ŕéƒüšé.
Ţĥé šţöŕéđ ŕéçöŕđ àñšŵéŕš ŵĥàţ ŵàš àþþŕöṽéđ, ñöţ ŵĥîçĥ þŕöĵéçţ ŵàš ţŕüšţéđ:
- Îţ îš ķéýéđ ƃý àƃšöļüţé ŕéçîþé þàţĥ, šö à šéçöñđ çĥéçķöüţ öƒ ţĥé šàḿé þŕöĵéçţ îš à šéçöñđ đéçîšîöñ. Àþþŕöṽàļ đöéš ñöţ ţŕàṽéļ ŵîţĥ à çöþý.
- Îţ çàŕŕîéš à đîĝéšţ öƒ ţĥé éẋéç šüŕƒàçé àļöñé (
ExecSurfaceDigest), éàçĥ šîţé'š ļöçàţîöñ, ķîñđ, ñàḿé, àñđ çàñöñîçàļ çöñƒîĝ, ŕàţĥéŕ ţĥàñ öƒ ţĥé ŵĥöļé ƒîļé. Àđđîñĝ à ţàŕĝéţ ļàñĝüàĝé ķééþš ţĥé àþþŕöṽàļ; àđđîñĝ àñ àŕĝüḿéñţ ţö ţĥé àþþŕöṽéđ çöḿḿàñđ đöéš ñöţ. Ţĥîš îš ŵĥàţ ḿàķéš à šţîçķý đéçîšîöñ šàƒé: îţ àţţàçĥéš ţö ţĥé àŕĝṽ à þéŕšöñ ŕéàđ, šö à ŕéçîþé çàññöţ ƃé àþþŕöṽéđ öñçé àñđ ŕéŵŕîţţéñ àƒţéŕŵàŕđš. - Îţ ļîṽéš üñđéŕ
ConfigDir(), ñöţ îñ ţĥé þŕöĵéçţ'š.kapi/. Ţĥé šţàţé đîŕéçţöŕý îš đöçüḿéñţéđ àš šàƒé ţö đéļéţé àñđ ŕéĝéñéŕàţé, šö à ŕéçöŕđ ţĥéŕé ŵöüļđ éṽàþöŕàţé öñ à ŕöüţîñé çļéàñ, àñđ çöüļđ àļšö šĥîþ îñšîđé ţĥé þŕöĵéçţ ƒöŕ ţĥé ñéẋţ þéŕšöñ ţö îñĥéŕîţ.ConfigDir()ĥöñöüŕšKAPI_CONFIG_DIR, šö à ŕüñ îšöļàţéđ þéŕ ţĥé îñ-ŕéþö đöĝƒööđ çöñţŕàçţ çàññöţ ŕéàđ öŕ ŵŕîţé ţĥé đéṽéļöþéŕ'š ŕéàļ đéçîšîöñš.
Đéçļîñéš àŕé ŕéḿéḿƃéŕéđ ţöö, àñđ à đéçļîñéđ ŕéçîþé šàýš ĥöŵ ţö àñšŵéŕ àĝàîñ, šö à þéŕšöñ îš ñéṽéŕ àšķéđ ŕéþéàţéđļý ƒöŕ àñ àñšŵéŕ ţĥéý ĥàṽé àļŕéàđý ĝîṽéñ.
--yes đöéš ñöţ ĝŕàñţ éẋéçüţîöñ ţŕüšţ
--yes ḿéàñš "đö ñöţ šţöþ ƒöŕ þŕöḿþţš Î ŵöüļđ öƃṽîöüšļý àççéþţ", àñđ îţ îš
àļŕéàđý þàššéđ ƃý éṽéŕý üñàţţéñđéđ šçŕîþţ ţĥàţ ŵàñţš þļüĝîñ àüţö-îñšţàļļ. Ŕéüšîñĝ
îţ àš ţĥé ķéý ƒöŕ ţĥîš đéçîšîöñ ŵöüļđ ḿéàñ éṽéŕý éẋîšţîñĝ àüţöḿàţîöñ šîļéñţļý
àçǫüîŕéđ ţĥé ŕîĝĥţ ţö ŕüñ ŵĥàţéṽéŕ à çĥéçķéđ-öüţ ŕéçîþé ñàḿéđ, àñđ àüţöḿàţîöñ
öṽéŕ üñţŕüšţéđ çĥéçķöüţš îš þŕéçîšéļý ţĥé þöþüļàţîöñ ţĥé ĝàţé éẋîšţš ƒöŕ. Ţĥé
ƒļàĝ ŵöüļđ ĥàṽé ĝŕàñţéđ ţĥé ţĥîñĝ îţ ŵàš îñţŕöđüçéđ ţö ĝàţé.
KAPI_TRUST_EXEC=1 îš ţĥé šéþàŕàţé öþţ-îñ, ñàḿéđ ƒöŕ ŵĥàţ îţ ĝŕàñţš. Îţ îš
þŕöçéšš-šçöþéđ àñđ ñéṽéŕ ŵŕîţţéñ ţö ţĥé ŕéçöŕđ: à çöñţàîñéŕ'š çöñƒîĝ đîŕéçţöŕý îš
ñöţ à þļàçé ţö þéŕšîšţ à đéçîšîöñ. Üñļîķé KAPI_NO_PROJECT àñđ
KAPI_PLUGINS_DIR_ONLY, ŵĥîçĥ ţŕéàţ àñý ñöñ-éḿþţý ṽàļüé àš šéţ, îţ ŕéǫüîŕéš àñ
àƒƒîŕḿàţîṽé ṽàļüé; ŕéàđîñĝ KAPI_TRUST_EXEC=0 àš "ýéš" ŵöüļđ ƃé ţĥé ŵŕöñĝ
ƒàîļüŕé ƒöŕ à šŵîţçĥ ļîķé ţĥîš.
Ŵîţĥ ñö ţéŕḿîñàļ àñđ ñö öþţ-îñ, kapi ŕéƒüšéš, ñàḿîñĝ ţĥé ŕéçîþé, ţĥé šîţéš, àñđ ƃöţĥ ŵàýš ţö àñšŵéŕ. Àššüḿîñĝ ýéš ŵĥéñ ţĥéŕé îš ñöƃöđý ţö àšķ ŵöüļđ ḿàķé ţĥé ĝàţé à ƒöŕḿàļîţý.
Ŕéƒüšàļ îš éñƒöŕçéđ üñđéŕ ţööļ çöñšţŕüçţîöñ, ñöţ öñļý àţ ļöàđ
Ţĥé þŕöḿþţ îš ţĥé üšéŕ éẋþéŕîéñçé; îţ îš ñöţ ţĥé éñƒöŕçéḿéñţ þöîñţ. À ĥàñđƒüļ öƒ
îñţéŕñàļ þàţĥš ļöàđ à ŕéçîþé đîŕéçţļý ŕàţĥéŕ ţĥàñ ţĥŕöüĝĥ
LoadProjectInteractive, àñđ ŵĥéţĥéŕ à šüƃþŕöçéšš šþàŵñš šĥöüļđ ñöţ đéþéñđ öñ
ŵĥîçĥ öƒ ţĥéḿ ĝöţ ţĥéŕé ƒîŕšţ. App.checkExecToolAllowed ţĥéŕéƒöŕé šîţš öñ
toolFromStep àñđ buildToolByName (ţĥé ţŵö çĥöķéþöîñţš ţĥŕöüĝĥ ŵĥîçĥ
ŕéçîþé-đŕîṽéñ çöñƒîĝüŕàţîöñ ƃéçöḿéš à ţööļ) àñđ ŕéƒüšéš ţö ƃüîļđ àñ éẋéç-çļàšš
ţööļ ŵîţĥ ñö đéçîšîöñ ƃéĥîñđ îţ. Îţ ñéṽéŕ þŕöḿþţš: ƃý ţĥé ţîḿé à ƒļöŵ îš
àššéḿƃļîñĝ šţéþš ţĥéŕé îš ñö šéñšîƃļé þļàçé ţö šţöþ àñđ àšķ. Îţ ŕé-ŕéàđš ţĥé
ŕéçöŕđ îñšţéàđ, šö à þŕöĵéçţ àļŕéàđý àþþŕöṽéđ ķééþš ŵöŕķîñĝ öñ ţĥöšé þàţĥš.
kapi exec <tool> îš üñţöüçĥéđ. Îţ ƃüîļđš ƒŕöḿ ţĥé ŕéĝîšţŕý ŵîţĥ àñ àŕĝṽ ţĥé
üšéŕ ţýþéđ, ŵĥîçĥ îš ţĥé üšéŕ'š öŵñ îñţéñţ ŕàţĥéŕ ţĥàñ à ƒîļé'š.
À þŕöĵéçţ'š ƒöŕḿàţţéŕ îš àñ éẋéç šîţé àţ ţĥé éđîţ ţĥàţ ŕüñš îţ
À çöḿḿéñţ éđîţ îñ à ļàñĝüàĝé à þļüĝîñ ŵŕîţéš îš ĥéļđ ţö ţĥé ƒöŕḿàţţéŕ ţĥé éđîţéđ
ƒîļé'š þŕöĵéçţ çöñƒîĝüŕéš (É-02). Ţĥàţ ƒöŕḿàţţéŕ ŕüñš
çöđé ţĥé þŕöĵéçţ çöñţŕöļš: àñ éẋéçüţàƃļé ţĥé þŕöĵéçţ çàñ îñšţàļļ, àñđ à
çöñƒîĝüŕàţîöñ ţĥàţ ƒöŕ þŕéţţîéŕ àñđ ṽîţé-þļüš îš çöđé. core/project.FormatterExecSite
ḿàķéš îţ àñ éẋéç šîţé, àñđ host/exectrust_formatter.go đéçîđéš îţ ŵîţĥ ţĥé
ŕéçîþé àŕḿ'š ŕéçöŕđ, þŕöḿþţ àñđ éñṽîŕöñḿéñţ ĝŕàñţ.
Îţ îš đéçîđéđ àţ ţĥé éđîţ ŕàţĥéŕ ţĥàñ àţ ļöàđ. Ñö öţĥéŕ çöḿḿàñđ ŕüñš à ƒöŕḿàţţéŕ,
àñđ à šîţé îñ ţĥé ŕéçîþé'š šüŕƒàçé ŵöüļđ ḿàķé éṽéŕý çöḿḿàñđ îñ à þŕöĵéçţ ŵîţĥ à
ƒöŕḿàţţéŕ çöñƒîĝüŕàţîöñ àšķ öŕ ŕéƒüšé. Ţĥé ŕéçöŕđ îš ķéýéđ ƃý ţĥé çöñƒîĝüŕàţîöñ
ƒîļé ţĥàţ šéļéçţéđ ţĥé ƒöŕḿàţţéŕ, šîñçé à ƒöŕḿàţţéŕ'š þŕöĵéçţ öƒţéñ ĥàš ñö
ŕéçîþé. Ţĥé þļüĝîñ ļîšţš éàçĥ ƒöŕḿàţţéŕ'š çöñƒîĝüŕàţîöñ ƒîļéš àš ţĥé ƒöŕḿàţţéŕ
šéàŕçĥéš ƒöŕ ţĥéḿ, šö ţĥé ñéàŕéšţ öñé kapi ƒîñđš îš ţĥé öñé ţĥé ƒöŕḿàţţéŕ ļöàđš,
àñđ à package.json öŕ package.yaml çöüñţš öñļý ŵĥéñ îţ ĥöļđš à ţöþ-ļéṽéļ
prettier ķéý. Ţĥé đîĝéšţ ĥöļđš ţĥé ŠĤÀ-256 öƒ:
- ţĥé ƒöŕḿàţţéŕ'š çöḿḿàñđ àñđ îţš éẋéçüţàƃļé;
- ţĥé îñţéŕþŕéţéŕ ţĥàţ ŕüñš ţĥé éẋéçüţàƃļé: ţĥé þŕöĝŕàḿ îţš ƒîŕšţ ļîñé ñàḿéš,
öŕ, ƒöŕ à
node_modules/.binšĥîḿ, ţĥé ñöđé ţĥé šĥîḿ ŕüñš àñđ ţĥé šçŕîþţ îţ ĥàñđš ţĥàţ ñöđé; - éṽéŕý çöñƒîĝüŕàţîöñ ƒîļé îñ ţĥé ƒöŕḿàţţéŕ'š ļîšţ, ƒŕöḿ ţĥé éđîţéđ ƒîļé'š đîŕéçţöŕý üþ ţö ţĥé đîŕéçţöŕý öƒ ţĥé öñé ţĥàţ šéļéçţéđ îţ.
À çĥàñĝé ţö àñý öƒ ţĥéḿ àšķš àĝàîñ. Ŵĥàţ ţĥàţ çöđé ļöàđš îñ ţüŕñ îš öüţšîđé ţĥé
đîĝéšţ: ţĥé ḿöđüļéš ţĥé šçŕîþţ, ţĥé îñţéŕþŕéţéŕ öŕ à çöñƒîĝüŕàţîöñ ƒîļé îḿþöŕţš,
ţĥé þļüĝîñš à çöñƒîĝüŕàţîöñ ñàḿéš, àñđ ţĥé þŕöĝŕàḿš à šĥéļļ šçŕîþţ ŕüñš. Šö à
ŕéçöŕđéđ àļļöŵ ţŕüšţš ţĥé þŕöĵéçţ'š đéþéñđéñçîéš àš îñšţàļļéđ, ñöţ öñļý ţĥé
ƒîļéš îţ ñàḿéš. Ţĥé ƒöŕḿàţţéŕ ŕüñš ŵîţĥ kapi'š éñṽîŕöñḿéñţ, ŵîţĥ éṽéŕý PATH
éñţŕý ţĥàţ îš ñöţ àñ àƃšöļüţé þàţĥ ŕéḿöṽéđ, šö à þŕöĝŕàḿ ţĥé ƒöŕḿàţţéŕ ļööķš üþ
îš ñéṽéŕ ƒöüñđ ŕéļàţîṽé ţö ţĥé þŕöĵéçţ.
kapi apply ŕéšöļṽéš ţĥé ǫüéšţîöñ îñ ţĥé ŕéçîþé àŕḿ'š öŕđéŕ, àñđ àšķš öñļý ŵĥéñ
ţĥé çĥàñĝé-šéţ đîđ ñöţ àŕŕîṽé öñ šţàñđàŕđ îñþüţ. ḾÇÞ apply_edits ñéṽéŕ ŕüñš à
þŕöĵéçţ'š ƒöŕḿàţţéŕ, ŵĥàţéṽéŕ îš ŕéçöŕđéđ, šö îţš ŕöŵ îñ ţĥé ţàƃļé àƃöṽé ĥöļđš
ƒöŕ ƒöŕḿàţţéŕš ţöö. Àñ àĝéñţ ţĥàţ ḿàý ŵŕîţé ƒîļéš çàñ ŵŕîţé ţĥé çöñƒîĝüŕàţîöñ
à ƒöŕḿàţţéŕ ļöàđš, àñđ ñöƃöđý îš þŕéšéñţ ţö àšķ. Ţĥé éđîţ ŕéþöŕţš đîđ-ñöţ-ŕüñ
ŵîţĥ ţĥé ŕéàšöñ formatter, àñđ à þéŕšöñ àþþļîéš îţ ŵîţĥ kapi apply îñ à
ţéŕḿîñàļ. À đéçîšîöñ îš ŕéçöŕđéđ öñļý ƃý àñšŵéŕîñĝ ţĥàţ þŕöḿþţ.
Çöñšéǫüéñçéš
- Ñö ŕéçîþé îñ ţĥîš ŕéþöšîţöŕý àŕḿš àñ éẋéç-çļàšš ţööļ. Ñö ŕéçîþé ĥéŕé, ñö
šàḿþļé, àñđ ñö éẋàḿþļé ñàḿéš öñé. À çöḿḿéñţ éđîţ îñ ţĥîš ŕéþöšîţöŕý'š öŵñ
ŢýþéŠçŕîþţ đöéš þŕöḿþţ: ţĥé ŕööţ
vite.config.tsîḿþöŕţšvite-plus, ŵĥîçĥ šéļéçţš öẋƒḿţ, àñđkapi applyàšķš ƃéƒöŕé ŕüññîñĝ îţ. - Ţĥé ţööļš àŕé ñöţ ŕéḿöṽéđ, đéþŕéçàţéđ, öŕ ĥîđđéñ.
external-commandàñđscriptķééþ ţĥéîŕ çöñƒîĝ ƒàçţöŕîéš, ţĥéîŕ šçĥéḿàš, ţĥéîŕ ÇĻÎ çöḿḿàñđš, àñđ ţĥéîŕ ŕéƒéŕéñçé þàĝéš (É-03). Ţĥé çĥàñĝé îš ţĥàţ à ŕéçîþé çàññöţ àŕḿ ţĥéḿ šîļéñţļý. - À šîñĝļé çļàššîƒîçàţîöñ, àþþļîéđ éṽéŕýŵĥéŕé.
IsExecClassToolàñđIsExecClassFormatļîṽé îñcore/projectšö ţĥé ŕéçîþé àŕḿ, ţĥé ĝŔÞÇ àŕḿ, ţĥé þàçķàĝé-îñĝéšţ àŕḿ, àñđ ţĥé éñƒöŕçéḿéñţ ƃàçķšţöþ çàññöţ đŕîƒţ ƒŕöḿ öñé àñöţĥéŕ. - Ŕéçîþé ţéẋţ ŕéàçĥîñĝ à ţéŕḿîñàļ îš šàñîţîšéđ. Ţĥé þŕöḿþţ šĥöŵš ţĥé çöḿḿàñđ îţ îš àšķîñĝ àƃöüţ, àñđ ţĥàţ ţéẋţ îš àţţàçķéŕ-àüţĥöŕéđ. Çöñţŕöļ çĥàŕàçţéŕš àŕé šţŕîþþéđ àñđ ţĥé šüḿḿàŕý îš çļîþþéđ, šö ţĥé ǫüéšţîöñ çàññöţ ƃé ŕéþàîñţéđ öŕ šçŕöļļéđ àŵàý ƃý ţĥé ţĥîñĝ îţ îš àšķîñĝ àƃöüţ.
- Ļöšîñĝ ţĥé ŕéçöŕđ çöšţš öñé þŕöḿþţ. Îţ îš ñöţ àüţĥöŕîţàţîṽé šţàţé; àñ üñŕéàđàƃļé öŕ çöŕŕüþţ ƒîļé îš ţŕéàţéđ àš "ñöţĥîñĝ đéçîđéđ ýéţ" ŕàţĥéŕ ţĥàñ àš àñ éŕŕöŕ, àñđ ţĥé ƒîļé îš þļàîñ ĴŠÖÑ šö à đéçîšîöñ çàñ ƃé ŵîţĥđŕàŵñ ƃý đéļéţîñĝ îţš éñţŕý.
Ŕéļàţéđ
- É-03: Ţĥé ţööļ šýšţéḿ:
external-commandàñđscriptàš öŕđîñàŕý ţööļš - É-02: Ţĥé ƒöŕḿàţ šýšţéḿ: ţĥé
execƒöŕḿàţ ţĥàţ ŕéàđš ƃý šĥéļļîñĝ öüţ, àñđ ţĥé þŕöĵéçţ ƒöŕḿàţţéŕ à çöḿḿéñţ éđîţ ŕüñš üñđéŕ éẋéçüţîöñ ţŕüšţ - Ç-01: Ţĥé þŕöĵéçţ ḿöđéļ: ŕéçîþé đîšçöṽéŕý ƃý üþŵàŕđ ŵàļķ, àñđ ţĥé
.kapi/šţàţé đîŕéçţöŕý - Ḿ-06: Çöñţéñţ þàçķàĝéš:
.kpzîñĝéšţ šàñîţîšàţîöñ - Š-03: Àĝéñţ šüŕƒàçéš: ŵĥý ţĥé ḾÇÞ šüŕƒàçé ŕéƒüšéš, àñđ ŵĥý
--all-toolsđöéš ñöţ çĥàñĝé ţĥàţ