[{"data":1,"prerenderedAt":843},["ShallowReactive",2],{"navigation_docs":3,"-eslint-plugin-layer-aware":357,"-eslint-plugin-layer-aware-surround":840},[4,22,40,53,78,107,132,153,167,176,347],{"title":5,"path":6,"stem":7,"children":8,"page":21},"Introduction","\u002Fintroduction","1.introduction",[9,13,17],{"title":10,"path":11,"stem":12},"Why the-i18n-kit","\u002Fintroduction\u002Fwhy","1.introduction\u002F1.why",{"title":14,"path":15,"stem":16},"Architecture","\u002Fintroduction\u002Farchitecture","1.introduction\u002F2.architecture",{"title":18,"path":19,"stem":20},"Built for Agents","\u002Fintroduction\u002Fbuilt-for-agents","1.introduction\u002F3.built-for-agents",false,{"title":23,"icon":24,"path":25,"stem":26,"children":27,"page":21},"ESLint Plugin","i-lucide-shield-check","\u002Feslint-plugin","10.eslint-plugin",[28,32,36],{"title":29,"path":30,"stem":31},"Install and Presets","\u002Feslint-plugin\u002Finstall","10.eslint-plugin\u002F1.install",{"title":33,"path":34,"stem":35},"The Rules","\u002Feslint-plugin\u002Frules","10.eslint-plugin\u002F2.rules",{"title":37,"path":38,"stem":39},"Layer-Aware Missing Keys","\u002Feslint-plugin\u002Flayer-aware","10.eslint-plugin\u002F3.layer-aware",{"title":41,"path":42,"stem":43,"children":44,"page":21},"Getting Started","\u002Fgetting-started","2.getting-started",[45,49],{"title":46,"path":47,"stem":48},"Set Up the MCP Server","\u002Fgetting-started\u002Fagent-setup","2.getting-started\u002F1.agent-setup",{"title":50,"path":51,"stem":52},"From an Unconfigured Repository to a Gated CI Job","\u002Fgetting-started\u002Fcold-start","2.getting-started\u002F2.cold-start",{"title":54,"path":55,"stem":56,"children":57,"page":21},"Monorepos","\u002Fmonorepos","3.monorepos",[58,62,66,70,74],{"title":59,"path":60,"stem":61},"Layers","\u002Fmonorepos\u002Flayers","3.monorepos\u002F1.layers",{"title":63,"path":64,"stem":65},"The Consumer Graph","\u002Fmonorepos\u002Fconsumer-graph","3.monorepos\u002F2.consumer-graph",{"title":67,"path":68,"stem":69},"The Shared Library Scenario","\u002Fmonorepos\u002Fshared-libraries","3.monorepos\u002F3.shared-libraries",{"title":71,"path":72,"stem":73},"Duplicates and Divergence","\u002Fmonorepos\u002Fduplicates-and-divergence","3.monorepos\u002F4.duplicates-and-divergence",{"title":75,"path":76,"stem":77},"Misplaced Usages","\u002Fmonorepos\u002Fmisplaced-usages","3.monorepos\u002F5.misplaced-usages",{"title":79,"path":80,"stem":81,"children":82,"page":21},"Frameworks","\u002Fframeworks","4.frameworks",[83,87,91,95,99,103],{"title":84,"path":85,"stem":86},"Detection","\u002Fframeworks\u002Fdetection","4.frameworks\u002F1.detection",{"title":88,"path":89,"stem":90},"Nuxt","\u002Fframeworks\u002Fnuxt","4.frameworks\u002F2.nuxt",{"title":92,"path":93,"stem":94},"Laravel","\u002Fframeworks\u002Flaravel","4.frameworks\u002F3.laravel",{"title":96,"path":97,"stem":98},"Vue","\u002Fframeworks\u002Fvue","4.frameworks\u002F4.vue",{"title":100,"path":101,"stem":102},"React \u002F Next.js","\u002Fframeworks\u002Freact-next","4.frameworks\u002F5.react-next",{"title":104,"path":105,"stem":106},"Generic","\u002Fframeworks\u002Fgeneric","4.frameworks\u002F6.generic",{"title":108,"path":109,"stem":110,"children":111,"page":21},"Configuration","\u002Fconfiguration","5.configuration",[112,116,120,124,128],{"title":113,"path":114,"stem":115},"Where Configuration Lives","\u002Fconfiguration\u002Fwhere-config-lives","5.configuration\u002F1.where-config-lives",{"title":117,"path":118,"stem":119},"Precedence and Conflicts","\u002Fconfiguration\u002Fprecedence","5.configuration\u002F2.precedence",{"title":121,"path":122,"stem":123},"Declared vs. Derived Configuration","\u002Fconfiguration\u002Fdeclared-vs-derived","5.configuration\u002F3.declared-vs-derived",{"title":125,"path":126,"stem":127},"Configuration Fields","\u002Fconfiguration\u002Freference","5.configuration\u002F4.reference",{"title":129,"path":130,"stem":131},"Referring to Locales","\u002Fconfiguration\u002Flocale-refs","5.configuration\u002F5.locale-refs",{"title":133,"path":134,"stem":135,"children":136,"page":21},"Nuxt Module","\u002Fnuxt-module","6.nuxt-module",[137,141,145,149],{"title":138,"path":139,"stem":140},"Install and Setup","\u002Fnuxt-module\u002Finstall","6.nuxt-module\u002F1.install",{"title":142,"path":143,"stem":144},"What It Publishes","\u002Fnuxt-module\u002Fwhat-it-publishes","6.nuxt-module\u002F2.what-it-publishes",{"title":146,"path":147,"stem":148},"What It Validates","\u002Fnuxt-module\u002Fvalidation","6.nuxt-module\u002F3.validation",{"title":150,"path":151,"stem":152},"Options and Limits","\u002Fnuxt-module\u002Foptions-and-limits","6.nuxt-module\u002F4.options-and-limits",{"title":154,"icon":155,"path":156,"stem":157,"children":158,"page":21},"CI\u002FCD","i-lucide-git-pull-request","\u002Fci-cd","7.ci-cd",[159,163],{"title":160,"path":161,"stem":162},"GitHub Actions","\u002Fci-cd\u002Fgithub-actions","7.ci-cd\u002F1.github-actions",{"title":164,"path":165,"stem":166},"GitLab CI","\u002Fci-cd\u002Fgitlab-ci","7.ci-cd\u002F2.gitlab-ci",{"title":168,"path":169,"stem":170,"children":171,"page":21},"Concepts","\u002Fconcepts","8.concepts",[172],{"title":173,"path":174,"stem":175},"Translation Modes","\u002Fconcepts\u002Ftranslation-modes","8.concepts\u002F1.translation-modes",{"title":177,"path":178,"stem":179,"children":180,"page":-1},"Reference","\u002Freference","9.reference",[181,183,261,339,343],{"title":177,"path":178,"stem":182},"9.reference\u002Findex",{"title":184,"path":185,"stem":186,"children":187,"page":-1},"CLI Commands","\u002Freference\u002Fcli","9.reference\u002F1.cli\u002Findex",[188,189,193,197,201,205,209,213,217,221,225,229,233,237,241,245,249,253,257],{"title":184,"path":185,"stem":186},{"title":190,"path":191,"stem":192},"add","\u002Freference\u002Fcli\u002Fadd","9.reference\u002F1.cli\u002Fadd",{"title":194,"path":195,"stem":196},"check","\u002Freference\u002Fcli\u002Fcheck","9.reference\u002F1.cli\u002Fcheck",{"title":198,"path":199,"stem":200},"find-duplicates","\u002Freference\u002Fcli\u002Ffind-duplicates","9.reference\u002F1.cli\u002Ffind-duplicates",{"title":202,"path":203,"stem":204},"get","\u002Freference\u002Fcli\u002Fget","9.reference\u002F1.cli\u002Fget",{"title":206,"path":207,"stem":208},"init","\u002Freference\u002Fcli\u002Finit","9.reference\u002F1.cli\u002Finit",{"title":210,"path":211,"stem":212},"missing","\u002Freference\u002Fcli\u002Fmissing","9.reference\u002F1.cli\u002Fmissing",{"title":214,"path":215,"stem":216},"move","\u002Freference\u002Fcli\u002Fmove","9.reference\u002F1.cli\u002Fmove",{"title":218,"path":219,"stem":220},"remove","\u002Freference\u002Fcli\u002Fremove","9.reference\u002F1.cli\u002Fremove",{"title":222,"path":223,"stem":224},"remove-orphans","\u002Freference\u002Fcli\u002Fremove-orphans","9.reference\u002F1.cli\u002Fremove-orphans",{"title":226,"path":227,"stem":228},"rename","\u002Freference\u002Fcli\u002Frename","9.reference\u002F1.cli\u002Frename",{"title":230,"path":231,"stem":232},"scaffold","\u002Freference\u002Fcli\u002Fscaffold","9.reference\u002F1.cli\u002Fscaffold",{"title":234,"path":235,"stem":236},"scan","\u002Freference\u002Fcli\u002Fscan","9.reference\u002F1.cli\u002Fscan",{"title":238,"path":239,"stem":240},"search","\u002Freference\u002Fcli\u002Fsearch","9.reference\u002F1.cli\u002Fsearch",{"title":242,"path":243,"stem":244},"status","\u002Freference\u002Fcli\u002Fstatus","9.reference\u002F1.cli\u002Fstatus",{"title":246,"path":247,"stem":248},"translate","\u002Freference\u002Fcli\u002Ftranslate","9.reference\u002F1.cli\u002Ftranslate",{"title":250,"path":251,"stem":252},"translate-key","\u002Freference\u002Fcli\u002Ftranslate-key","9.reference\u002F1.cli\u002Ftranslate-key",{"title":254,"path":255,"stem":256},"update","\u002Freference\u002Fcli\u002Fupdate","9.reference\u002F1.cli\u002Fupdate",{"title":258,"path":259,"stem":260},"write","\u002Freference\u002Fcli\u002Fwrite","9.reference\u002F1.cli\u002Fwrite",{"title":262,"path":263,"stem":264,"children":265,"page":-1},"MCP Tools","\u002Freference\u002Fmcp","9.reference\u002F2.mcp\u002Findex",[266,267,271,275,279,283,287,291,295,299,303,307,311,315,319,323,327,331,335],{"title":262,"path":263,"stem":264},{"title":268,"path":269,"stem":270},"discover","\u002Freference\u002Fmcp\u002Fdiscover","9.reference\u002F2.mcp\u002Fdiscover",{"title":272,"path":273,"stem":274},"find_duplicate_keys","\u002Freference\u002Fmcp\u002Ffind_duplicate_keys","9.reference\u002F2.mcp\u002Ffind_duplicate_keys",{"title":276,"path":277,"stem":278},"find_empty_translations","\u002Freference\u002Fmcp\u002Ffind_empty_translations","9.reference\u002F2.mcp\u002Ffind_empty_translations",{"title":280,"path":281,"stem":282},"find_orphan_keys","\u002Freference\u002Fmcp\u002Ffind_orphan_keys","9.reference\u002F2.mcp\u002Ffind_orphan_keys",{"title":284,"path":285,"stem":286},"find_undefined_keys","\u002Freference\u002Fmcp\u002Ffind_undefined_keys","9.reference\u002F2.mcp\u002Ffind_undefined_keys",{"title":288,"path":289,"stem":290},"get_missing_translations","\u002Freference\u002Fmcp\u002Fget_missing_translations","9.reference\u002F2.mcp\u002Fget_missing_translations",{"title":292,"path":293,"stem":294},"get_translation_status","\u002Freference\u002Fmcp\u002Fget_translation_status","9.reference\u002F2.mcp\u002Fget_translation_status",{"title":296,"path":297,"stem":298},"get_translations","\u002Freference\u002Fmcp\u002Fget_translations","9.reference\u002F2.mcp\u002Fget_translations",{"title":300,"path":301,"stem":302},"list_namespaces","\u002Freference\u002Fmcp\u002Flist_namespaces","9.reference\u002F2.mcp\u002Flist_namespaces",{"title":304,"path":305,"stem":306},"move_translation_key","\u002Freference\u002Fmcp\u002Fmove_translation_key","9.reference\u002F2.mcp\u002Fmove_translation_key",{"title":308,"path":309,"stem":310},"remove_orphan_keys","\u002Freference\u002Fmcp\u002Fremove_orphan_keys","9.reference\u002F2.mcp\u002Fremove_orphan_keys",{"title":312,"path":313,"stem":314},"remove_translations","\u002Freference\u002Fmcp\u002Fremove_translations","9.reference\u002F2.mcp\u002Fremove_translations",{"title":316,"path":317,"stem":318},"rename_translation_key","\u002Freference\u002Fmcp\u002Frename_translation_key","9.reference\u002F2.mcp\u002Frename_translation_key",{"title":320,"path":321,"stem":322},"scaffold_locale","\u002Freference\u002Fmcp\u002Fscaffold_locale","9.reference\u002F2.mcp\u002Fscaffold_locale",{"title":324,"path":325,"stem":326},"search_translations","\u002Freference\u002Fmcp\u002Fsearch_translations","9.reference\u002F2.mcp\u002Fsearch_translations",{"title":328,"path":329,"stem":330},"translate_key","\u002Freference\u002Fmcp\u002Ftranslate_key","9.reference\u002F2.mcp\u002Ftranslate_key",{"title":332,"path":333,"stem":334},"translate_missing","\u002Freference\u002Fmcp\u002Ftranslate_missing","9.reference\u002F2.mcp\u002Ftranslate_missing",{"title":336,"path":337,"stem":338},"write_translations","\u002Freference\u002Fmcp\u002Fwrite_translations","9.reference\u002F2.mcp\u002Fwrite_translations",{"title":340,"path":341,"stem":342},"GitHub Action","\u002Freference\u002Faction","9.reference\u002F3.action",{"title":344,"path":345,"stem":346},"Programmatic API","\u002Freference\u002Fprogrammatic-api","9.reference\u002F4.programmatic-api",{"title":348,"icon":349,"path":350,"stem":351,"children":352,"page":21},"Extra Topics","i-lucide-microscope","\u002Fextra-topics","91.extra-topics",[353],{"title":354,"path":355,"stem":356},"How Detection Scores Adapters","\u002Fextra-topics\u002Fdetection-scoring","91.extra-topics\u002F1.detection-scoring",{"id":358,"title":37,"body":359,"description":409,"extension":834,"links":835,"meta":836,"navigation":499,"path":38,"seo":837,"stem":39,"__hash__":839},"docs\u002F10.eslint-plugin\u002F3.layer-aware.md",{"type":360,"value":361,"toc":827},"minimark",[362,392,395,400,403,431,440,444,451,556,567,618,622,625,665,676,687,705,709,733,736,794,800,804,823],[363,364,365,369,370,374,375,378,379,382,383,387,388,391],"p",{},[366,367,368],"code",{},"layerAware()"," makes \"does this key exist?\" mean \"does it exist ",[371,372,373],"em",{},"for this\napp","\" in the editor. It generates flat-config blocks that point\n",[366,376,377],{},"@intlify\u002Feslint-plugin-vue-i18n","'s ",[366,380,381],{},"no-missing-keys"," rule at exactly the\nlocale catalogs each app consumes — derived from the kit's project detection\nwhen ESLint starts, so the blocks cannot go stale when a layer is added. A\n",[384,385,386],"strong",{},"layer"," here is a scoped locale directory — a Nuxt layer, a workspace\npackage, a shared UI library, or one app in a monorepo; see\n",[389,390,59],"a",{"href":60},".",[363,393,394],{},"Off-the-shelf i18n lint tooling models one flat catalog. In a layered monorepo\nthat answers wrongly in both directions: a key another app owns looks fine,\nand cross-layer overrides look like duplicates — measured at 2,620 false\nduplicate warnings on one repo. Scoping the settings per app is what removes\nboth.",[396,397,399],"h2",{"id":398},"requirements","Requirements",[363,401,402],{},"The intlify peer must be installed alongside the plugin:",[404,405,410],"pre",{"className":406,"code":407,"language":408,"meta":409,"style":409},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","pnpm add -D @intlify\u002Feslint-plugin-vue-i18n\n","bash","",[366,411,412],{"__ignoreMap":409},[413,414,417,421,425,428],"span",{"class":415,"line":416},"line",1,[413,418,420],{"class":419},"sBMFI","pnpm",[413,422,424],{"class":423},"sfazB"," add",[413,426,427],{"class":423}," -D",[413,429,430],{"class":423}," @intlify\u002Feslint-plugin-vue-i18n\n",[363,432,433,435,436,439],{},[366,434,368],{}," configures the intlify plugin rather than reimplementing it,\nand it runs ",[366,437,438],{},"the-i18n-cli","'s project detection (a dependency of the plugin,\ninstalled with it) to learn the layer graph — one definition of scope for\nlint and scan. A missing peer throws at config load with the install command\nin the message.",[396,441,443],{"id":442},"usage","Usage",[363,445,446,447,450],{},"The factory is async; flat config supports top-level ",[366,448,449],{},"await",":",[404,452,457],{"className":453,"code":454,"filename":455,"language":456,"meta":409,"style":409},"language-js shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import i18nKit, { layerAware } from '@the-i18n-kit\u002Feslint-plugin-vue'\n\nexport default [\n  ...i18nKit.configs.recommended,\n  ...await layerAware(),\n]\n","eslint.config.mjs","js",[366,458,459,494,501,513,535,550],{"__ignoreMap":409},[413,460,461,465,469,473,476,479,482,485,488,491],{"class":415,"line":416},[413,462,464],{"class":463},"s7zQu","import",[413,466,468],{"class":467},"sTEyZ"," i18nKit",[413,470,472],{"class":471},"sMK4o",",",[413,474,475],{"class":471}," {",[413,477,478],{"class":467}," layerAware",[413,480,481],{"class":471}," }",[413,483,484],{"class":463}," from",[413,486,487],{"class":471}," '",[413,489,490],{"class":423},"@the-i18n-kit\u002Feslint-plugin-vue",[413,492,493],{"class":471},"'\n",[413,495,497],{"class":415,"line":496},2,[413,498,500],{"emptyLinePlaceholder":499},true,"\n",[413,502,504,507,510],{"class":415,"line":503},3,[413,505,506],{"class":463},"export",[413,508,509],{"class":463}," default",[413,511,512],{"class":467}," [\n",[413,514,516,519,522,524,527,529,532],{"class":415,"line":515},4,[413,517,518],{"class":471},"  ...",[413,520,521],{"class":467},"i18nKit",[413,523,391],{"class":471},[413,525,526],{"class":467},"configs",[413,528,391],{"class":471},[413,530,531],{"class":467},"recommended",[413,533,534],{"class":471},",\n",[413,536,538,540,542,545,548],{"class":415,"line":537},5,[413,539,518],{"class":471},[413,541,449],{"class":463},[413,543,478],{"class":544},"s2Zo4",[413,546,547],{"class":467},"()",[413,549,534],{"class":471},[413,551,553],{"class":415,"line":552},6,[413,554,555],{"class":467},"]\n",[363,557,558,559,562,563,566],{},"Run ESLint from the repo root — detection runs from ",[366,560,561],{},"process.cwd()"," unless\n",[366,564,565],{},"projectDir"," says otherwise.",[568,569,570,586],"table",{},[571,572,573],"thead",{},[574,575,576,580,583],"tr",{},[577,578,579],"th",{},"Option",[577,581,582],{},"Default",[577,584,585],{},"What it does",[587,588,589,603],"tbody",{},[574,590,591,596,600],{},[592,593,594],"td",{},[366,595,565],{},[592,597,598],{},[366,599,561],{},[592,601,602],{},"Where project detection runs, and the base the generated globs are relative to.",[574,604,605,610,615],{},[592,606,607],{},[366,608,609],{},"referenceLocaleFile",[592,611,612],{},[366,613,614],{},"\u003CdefaultLocale>*.json",[592,616,617],{},"Glob for the reference-locale file inside each locale directory.",[396,619,621],{"id":620},"what-it-generates","What It Generates",[363,623,624],{},"Three kinds of ordinary flat-config entries, no override machinery:",[626,627,628,655,662],"ol",{},[629,630,631,632,635,636,639,640,639,643,639,646,639,649,639,652,391],"li",{},"A rules block enabling ",[366,633,634],{},"@intlify\u002Fvue-i18n\u002Fno-missing-keys"," as an error over\n",[366,637,638],{},"**\u002F*.vue",", ",[366,641,642],{},"**\u002F*.ts",[366,644,645],{},"**\u002F*.js",[366,647,648],{},"**\u002F*.mjs",[366,650,651],{},"**\u002F*.tsx",[366,653,654],{},"**\u002F*.jsx",[629,656,657,658,661],{},"A root settings block pointing ",[366,659,660],{},"settings['vue-i18n'].localeDir"," at the root\nlayers' catalogs — what code outside any app subtree sees.",[629,663,664],{},"One settings block per app, scoped to that app's directory, listing the\nroot catalogs plus the app's own.",[363,666,667,668,671,672,675],{},"So a key that exists only in ",[366,669,670],{},"app-admin","'s catalog errors when used from\n",[366,673,674],{},"app-portal",", and a root-layer key passes everywhere. Later entries win in\nflat config, which is also how you override anything the factory emits — add\nyour own block after the spread.",[363,677,678,679,682,683,686],{},"Existence is checked against the ",[384,680,681],{},"reference locale only",". A key defined\nsolely in another locale is itself a defect, and ",[366,684,685],{},"the-i18n-cli missing"," is the\nsurface that reports it with layer semantics — the lint does not restate it.",[688,689,690,691,693,694,696,697,700,701,704],"note",{},"The lint is deliberately stricter than the scan. ",[366,692,381],{}," flags call\nsites whose keys ",[366,695,194],{}," classifies as ",[384,698,699],{},"uncertain"," — overlapping dynamic\npatterns, ",[366,702,703],{},"$te"," existence checks. That is correct per-call-site behavior: the\neditor questions what CI merely withholds judgment on.",[396,706,708],{"id":707},"zero-config-on-nuxt","Zero Config on Nuxt",[363,710,711,712,715,716,719,720,722,723,725,726,728,729,732],{},"With ",[366,713,714],{},"@the-i18n-kit\u002Fnuxt"," and ",[366,717,718],{},"@nuxt\u002Feslint"," both registered, and the plugin\nplus its intlify peer installed, there is nothing to write: when ",[366,721,718],{},"\ngenerates its config, the kit's module contributes the ",[366,724,531],{}," preset\nand a ",[366,727,368],{}," call into the generated ",[366,730,731],{},"withNuxt()"," config. The factory\nstill runs its own detection, so a monorepo rooted at that app comes out\nscoped per app.",[363,734,735],{},"The module decides per build what to do:",[568,737,738,751],{},[571,739,740],{},[574,741,742,745,748],{},[577,743,744],{},"Decision",[577,746,747],{},"When",[577,749,750],{},"Effect",[587,752,753,764,783],{},[574,754,755,758,761],{},[592,756,757],{},"Inject",[592,759,760],{},"The kit config lives at this app (or nowhere)",[592,762,763],{},"Preset and factory land in the generated config",[574,765,766,769,776],{},[592,767,768],{},"Defer",[592,770,771,772,775],{},"A kit config exists ",[371,773,774],{},"above"," the app",[592,777,778,779,782],{},"Nothing is injected; the module logs a hint to spread ",[366,780,781],{},"...await layerAware()"," in the workspace root's ESLint config instead",[574,784,785,788,791],{},[592,786,787],{},"Skip",[592,789,790],{},"The plugin or the intlify peer is not installed",[592,792,793],{},"Nothing is injected, silently — not adopting the lint surface is not an error",[363,795,796,797,799],{},"The defer case exists because a kit config above the app means a larger\nworkspace owns linting: injecting into a sub-app's generated config would\nproduce blocks nobody imports at best, wrong scopes at worst. The logic stays\nin ",[366,798,368],{}," either way — the module only decides where the call belongs.",[396,801,803],{"id":802},"limits","Limits",[805,806,807,814,817,820],"ul",{},[629,808,809,810,813],{},"The generated settings pin ",[366,811,812],{},"messageSyntaxVersion: '^9.0.0'"," — the vue-i18n\nv9+ message format.",[629,815,816],{},"Diagnostics are intlify's: a missing key reads \"missing\" without naming the\nlayers that were searched or the app that owns it.",[629,818,819],{},"The intlify plugin's catalog cache expires on a timer rather than on file\nmtime, so a just-added key can keep erroring in the editor until the cache\nturns over.",[629,821,822],{},"Detection runs once at config load. A layer added while the editor is open\nneeds an ESLint server restart to be seen.",[824,825,826],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}",{"title":409,"searchDepth":503,"depth":503,"links":828},[829,830,831,832,833],{"id":398,"depth":496,"text":399},{"id":442,"depth":496,"text":443},{"id":620,"depth":496,"text":621},{"id":707,"depth":496,"text":708},{"id":802,"depth":496,"text":803},"md",null,{},{"description":838,"title":37},"How layerAware() scopes @intlify\u002Feslint-plugin-vue-i18n's no-missing-keys to each app's consumed layers, and how the Nuxt module wires it up with no ESLint config at all.","mmPjSlsgbSaxC2E9UcLJpmNMCCkVhhXJgWwUBUUsFG4",[841,842],{"title":33,"path":34,"stem":35,"description":409,"children":-1},{"title":46,"path":47,"stem":48,"description":409,"children":-1},1787604647515]