[{"data":1,"prerenderedAt":2041},["ShallowReactive",2],{"navigation_docs":3,"-guide-reporters-and-formatters":60,"-guide-reporters-and-formatters-surround":2036},[4,15,40,50],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Getting Started",false,"\u002Fgetting-started","1.getting-started",[10],{"title":11,"path":12,"stem":13,"icon":14},"Quick start","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F1.quick-start","i-lucide-rocket",{"title":16,"path":17,"stem":18,"children":19,"page":6},"Guide","\u002Fguide","2.guide",[20,25,30,35],{"title":21,"path":22,"stem":23,"icon":24},"Defining diagnostics","\u002Fguide\u002Fdefining-diagnostics","2.guide\u002F1.defining-diagnostics","i-lucide-list-tree",{"title":26,"path":27,"stem":28,"icon":29},"Reporters and formatters","\u002Fguide\u002Freporters-and-formatters","2.guide\u002F2.reporters-and-formatters","i-lucide-share-2",{"title":31,"path":32,"stem":33,"icon":34},"Production builds","\u002Fguide\u002Fproduction-builds","2.guide\u002F3.production-builds","i-lucide-scissors",{"title":36,"path":37,"stem":38,"icon":39},"Dev collector","\u002Fguide\u002Fdev-collector","2.guide\u002F4.dev-collector","i-lucide-terminal",{"title":41,"path":42,"stem":43,"children":44,"page":6},"Recipes","\u002Frecipes","3.recipes",[45],{"title":46,"path":47,"stem":48,"icon":49},"Diagnostic registry","\u002Frecipes\u002Fdiagnostic-registry","3.recipes\u002F1.diagnostic-registry","i-lucide-book-open",{"title":51,"path":52,"stem":53,"children":54,"page":6},"Api","\u002Fapi","4.api",[55],{"title":56,"path":57,"stem":58,"icon":59},"Reference","\u002Fapi\u002Freference","4.api\u002F1.reference","i-lucide-file-code",{"id":61,"title":26,"body":62,"description":2029,"extension":2030,"links":2031,"meta":2032,"navigation":2033,"path":27,"seo":2034,"stem":28,"__hash__":2035},"docs\u002F2.guide\u002F2.reporters-and-formatters.md",{"type":63,"value":64,"toc":2021},"minimark",[65,69,74,490,497,674,677,766,770,779,871,874,909,913,916,1090,1093,1119,1123,1126,1233,1236,1240,1243,1641,1644,1648,1653,1698,1701,1712,1715,1774,1780,1927,1930,2017],[66,67,68],"p",{},"A reporter runs every time a diagnostic is created. A formatter turns a diagnostic into text.",[70,71,73],"h2",{"id":72},"reporters","Reporters",[75,76,81],"pre",{"className":77,"code":78,"language":79,"meta":80,"style":80},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { createConsoleReporter, defineDiagnostics } from 'nostics'\n\nexport const diagnostics = defineDiagnostics({\n  reporters: [createConsoleReporter()],\n  codes: {\n    NUXT_B2011: {\n      why: (p: { src: string, mode: 'client' | 'server' }) => {\n        const expected = p.mode === 'client' ? 'server' : 'client'\n        return `Plugin \"${p.src}\" is ${expected}-only but was registered with mode \"${p.mode}\".`\n      },\n      fix: (p: { mode: 'client' | 'server' }) => {\n        const expected = p.mode === 'client' ? 'server' : 'client'\n        return `Rename the file or register it with mode \"${expected}\".`\n      },\n    },\n  },\n})\n","ts","",[82,83,84,123,130,155,177,188,198,258,306,360,366,406,445,465,470,476,482],"code",{"__ignoreMap":80},[85,86,89,93,97,101,104,107,110,113,116,120],"span",{"class":87,"line":88},"line",1,[85,90,92],{"class":91},"s7zQu","import",[85,94,96],{"class":95},"sMK4o"," {",[85,98,100],{"class":99},"sTEyZ"," createConsoleReporter",[85,102,103],{"class":95},",",[85,105,106],{"class":99}," defineDiagnostics",[85,108,109],{"class":95}," }",[85,111,112],{"class":91}," from",[85,114,115],{"class":95}," '",[85,117,119],{"class":118},"sfazB","nostics",[85,121,122],{"class":95},"'\n",[85,124,126],{"class":87,"line":125},2,[85,127,129],{"emptyLinePlaceholder":128},true,"\n",[85,131,133,136,140,143,146,149,152],{"class":87,"line":132},3,[85,134,135],{"class":91},"export",[85,137,139],{"class":138},"spNyl"," const",[85,141,142],{"class":99}," diagnostics ",[85,144,145],{"class":95},"=",[85,147,106],{"class":148},"s2Zo4",[85,150,151],{"class":99},"(",[85,153,154],{"class":95},"{\n",[85,156,158,162,165,168,171,174],{"class":87,"line":157},4,[85,159,161],{"class":160},"swJcz","  reporters",[85,163,164],{"class":95},":",[85,166,167],{"class":99}," [",[85,169,170],{"class":148},"createConsoleReporter",[85,172,173],{"class":99},"()]",[85,175,176],{"class":95},",\n",[85,178,180,183,185],{"class":87,"line":179},5,[85,181,182],{"class":160},"  codes",[85,184,164],{"class":95},[85,186,187],{"class":95}," {\n",[85,189,191,194,196],{"class":87,"line":190},6,[85,192,193],{"class":160},"    NUXT_B2011",[85,195,164],{"class":95},[85,197,187],{"class":95},[85,199,201,204,206,209,212,214,216,219,221,225,227,230,232,234,237,240,243,245,248,250,253,256],{"class":87,"line":200},7,[85,202,203],{"class":148},"      why",[85,205,164],{"class":95},[85,207,208],{"class":95}," (",[85,210,66],{"class":211},"sHdIc",[85,213,164],{"class":95},[85,215,96],{"class":95},[85,217,218],{"class":160}," src",[85,220,164],{"class":95},[85,222,224],{"class":223},"sBMFI"," string",[85,226,103],{"class":95},[85,228,229],{"class":160}," mode",[85,231,164],{"class":95},[85,233,115],{"class":95},[85,235,236],{"class":118},"client",[85,238,239],{"class":95},"'",[85,241,242],{"class":95}," |",[85,244,115],{"class":95},[85,246,247],{"class":118},"server",[85,249,239],{"class":95},[85,251,252],{"class":95}," })",[85,254,255],{"class":138}," =>",[85,257,187],{"class":95},[85,259,261,264,267,270,273,276,279,282,284,286,288,291,293,295,297,300,302,304],{"class":87,"line":260},8,[85,262,263],{"class":138},"        const",[85,265,266],{"class":99}," expected",[85,268,269],{"class":95}," =",[85,271,272],{"class":99}," p",[85,274,275],{"class":95},".",[85,277,278],{"class":99},"mode",[85,280,281],{"class":95}," ===",[85,283,115],{"class":95},[85,285,236],{"class":118},[85,287,239],{"class":95},[85,289,290],{"class":95}," ?",[85,292,115],{"class":95},[85,294,247],{"class":118},[85,296,239],{"class":95},[85,298,299],{"class":95}," :",[85,301,115],{"class":95},[85,303,236],{"class":118},[85,305,122],{"class":95},[85,307,309,312,315,318,321,323,325,328,331,334,336,339,341,344,346,348,350,352,354,357],{"class":87,"line":308},9,[85,310,311],{"class":91},"        return",[85,313,314],{"class":95}," `",[85,316,317],{"class":118},"Plugin \"",[85,319,320],{"class":95},"${",[85,322,66],{"class":99},[85,324,275],{"class":95},[85,326,327],{"class":99},"src",[85,329,330],{"class":95},"}",[85,332,333],{"class":118},"\" is ",[85,335,320],{"class":95},[85,337,338],{"class":99},"expected",[85,340,330],{"class":95},[85,342,343],{"class":118},"-only but was registered with mode \"",[85,345,320],{"class":95},[85,347,66],{"class":99},[85,349,275],{"class":95},[85,351,278],{"class":99},[85,353,330],{"class":95},[85,355,356],{"class":118},"\".",[85,358,359],{"class":95},"`\n",[85,361,363],{"class":87,"line":362},10,[85,364,365],{"class":95},"      },\n",[85,367,369,372,374,376,378,380,382,384,386,388,390,392,394,396,398,400,402,404],{"class":87,"line":368},11,[85,370,371],{"class":148},"      fix",[85,373,164],{"class":95},[85,375,208],{"class":95},[85,377,66],{"class":211},[85,379,164],{"class":95},[85,381,96],{"class":95},[85,383,229],{"class":160},[85,385,164],{"class":95},[85,387,115],{"class":95},[85,389,236],{"class":118},[85,391,239],{"class":95},[85,393,242],{"class":95},[85,395,115],{"class":95},[85,397,247],{"class":118},[85,399,239],{"class":95},[85,401,252],{"class":95},[85,403,255],{"class":138},[85,405,187],{"class":95},[85,407,409,411,413,415,417,419,421,423,425,427,429,431,433,435,437,439,441,443],{"class":87,"line":408},12,[85,410,263],{"class":138},[85,412,266],{"class":99},[85,414,269],{"class":95},[85,416,272],{"class":99},[85,418,275],{"class":95},[85,420,278],{"class":99},[85,422,281],{"class":95},[85,424,115],{"class":95},[85,426,236],{"class":118},[85,428,239],{"class":95},[85,430,290],{"class":95},[85,432,115],{"class":95},[85,434,247],{"class":118},[85,436,239],{"class":95},[85,438,299],{"class":95},[85,440,115],{"class":95},[85,442,236],{"class":118},[85,444,122],{"class":95},[85,446,448,450,452,455,457,459,461,463],{"class":87,"line":447},13,[85,449,311],{"class":91},[85,451,314],{"class":95},[85,453,454],{"class":118},"Rename the file or register it with mode \"",[85,456,320],{"class":95},[85,458,338],{"class":99},[85,460,330],{"class":95},[85,462,356],{"class":118},[85,464,359],{"class":95},[85,466,468],{"class":87,"line":467},14,[85,469,365],{"class":95},[85,471,473],{"class":87,"line":472},15,[85,474,475],{"class":95},"    },\n",[85,477,479],{"class":87,"line":478},16,[85,480,481],{"class":95},"  },\n",[85,483,485,487],{"class":87,"line":484},17,[85,486,330],{"class":95},[85,488,489],{"class":99},")\n",[66,491,492,493,496],{},"Reporters run in order. They receive the ",[82,494,495],{},"Diagnostic"," and optional reporter options.",[75,498,500],{"className":77,"code":499,"language":79,"meta":80,"style":80},"import type { DiagnosticReporter } from 'nostics'\n\nconst sentryReporter: DiagnosticReporter = (diagnostic) => {\n  Sentry.captureMessage(diagnostic.message, {\n    tags: { code: diagnostic.name },\n    extra: {\n      fix: diagnostic.fix,\n      docs: diagnostic.docs,\n      sources: diagnostic.sources,\n    },\n  })\n}\n",[82,501,502,524,528,554,577,602,611,626,642,658,662,669],{"__ignoreMap":80},[85,503,504,506,509,511,514,516,518,520,522],{"class":87,"line":88},[85,505,92],{"class":91},[85,507,508],{"class":91}," type",[85,510,96],{"class":95},[85,512,513],{"class":99}," DiagnosticReporter",[85,515,109],{"class":95},[85,517,112],{"class":91},[85,519,115],{"class":95},[85,521,119],{"class":118},[85,523,122],{"class":95},[85,525,526],{"class":87,"line":125},[85,527,129],{"emptyLinePlaceholder":128},[85,529,530,533,536,538,540,542,544,547,550,552],{"class":87,"line":132},[85,531,532],{"class":138},"const",[85,534,535],{"class":99}," sentryReporter",[85,537,164],{"class":95},[85,539,513],{"class":223},[85,541,269],{"class":95},[85,543,208],{"class":95},[85,545,546],{"class":211},"diagnostic",[85,548,549],{"class":95},")",[85,551,255],{"class":138},[85,553,187],{"class":95},[85,555,556,559,561,564,566,568,570,573,575],{"class":87,"line":157},[85,557,558],{"class":99},"  Sentry",[85,560,275],{"class":95},[85,562,563],{"class":148},"captureMessage",[85,565,151],{"class":160},[85,567,546],{"class":99},[85,569,275],{"class":95},[85,571,572],{"class":99},"message",[85,574,103],{"class":95},[85,576,187],{"class":95},[85,578,579,582,584,586,589,591,594,596,599],{"class":87,"line":179},[85,580,581],{"class":160},"    tags",[85,583,164],{"class":95},[85,585,96],{"class":95},[85,587,588],{"class":160}," code",[85,590,164],{"class":95},[85,592,593],{"class":99}," diagnostic",[85,595,275],{"class":95},[85,597,598],{"class":99},"name",[85,600,601],{"class":95}," },\n",[85,603,604,607,609],{"class":87,"line":190},[85,605,606],{"class":160},"    extra",[85,608,164],{"class":95},[85,610,187],{"class":95},[85,612,613,615,617,619,621,624],{"class":87,"line":200},[85,614,371],{"class":160},[85,616,164],{"class":95},[85,618,593],{"class":99},[85,620,275],{"class":95},[85,622,623],{"class":99},"fix",[85,625,176],{"class":95},[85,627,628,631,633,635,637,640],{"class":87,"line":260},[85,629,630],{"class":160},"      docs",[85,632,164],{"class":95},[85,634,593],{"class":99},[85,636,275],{"class":95},[85,638,639],{"class":99},"docs",[85,641,176],{"class":95},[85,643,644,647,649,651,653,656],{"class":87,"line":308},[85,645,646],{"class":160},"      sources",[85,648,164],{"class":95},[85,650,593],{"class":99},[85,652,275],{"class":95},[85,654,655],{"class":99},"sources",[85,657,176],{"class":95},[85,659,660],{"class":87,"line":362},[85,661,475],{"class":95},[85,663,664,667],{"class":87,"line":368},[85,665,666],{"class":95},"  }",[85,668,489],{"class":160},[85,670,671],{"class":87,"line":408},[85,672,673],{"class":95},"}\n",[66,675,676],{},"Built-ins:",[678,679,680,696],"table",{},[681,682,683],"thead",{},[684,685,686,690,693],"tr",{},[687,688,689],"th",{},"Reporter",[687,691,692],{},"Import",[687,694,695],{},"Use",[697,698,699,721,736,751],"tbody",{},[684,700,701,707,711],{},[702,703,704],"td",{},[82,705,706],{},"createConsoleReporter(options?)",[702,708,709],{},[82,710,119],{},[702,712,713,714,717,718],{},"Console reporter; defaults to ",[82,715,716],{},"console.warn"," + ",[82,719,720],{},"formatDiagnostic",[684,722,723,728,733],{},[702,724,725],{},[82,726,727],{},"createFileReporter()",[702,729,730],{},[82,731,732],{},"nostics\u002Freporters\u002Fnode",[702,734,735],{},"Append NDJSON to a local file",[684,737,738,743,748],{},[702,739,740],{},[82,741,742],{},"createFetchReporter(url)",[702,744,745],{},[82,746,747],{},"nostics\u002Freporters\u002Ffetch",[702,749,750],{},"POST JSON to a URL",[684,752,753,758,763],{},[702,754,755],{},[82,756,757],{},"createDevReporter()",[702,759,760],{},[82,761,762],{},"nostics\u002Freporters\u002Fdev",[702,764,765],{},"Send browser diagnostics to Vite dev server",[70,767,769],{"id":768},"console-reporter","Console reporter",[66,771,772,775,776,778],{},[82,773,774],{},"createConsoleReporter()"," uses ",[82,777,716],{}," by default. Pass a method when you call the diagnostic if you need a different console method.",[75,780,782],{"className":77,"code":781,"language":79,"meta":80,"style":80},"const plugin = resolvePlugin()\n\ndiagnostics.NUXT_B2011({\n  src: plugin.src,\n  mode: plugin.mode,\n}, { method: 'error' })\n",[82,783,784,799,803,817,833,848],{"__ignoreMap":80},[85,785,786,788,791,793,796],{"class":87,"line":88},[85,787,532],{"class":138},[85,789,790],{"class":99}," plugin ",[85,792,145],{"class":95},[85,794,795],{"class":148}," resolvePlugin",[85,797,798],{"class":99},"()\n",[85,800,801],{"class":87,"line":125},[85,802,129],{"emptyLinePlaceholder":128},[85,804,805,808,810,813,815],{"class":87,"line":132},[85,806,807],{"class":99},"diagnostics",[85,809,275],{"class":95},[85,811,812],{"class":148},"NUXT_B2011",[85,814,151],{"class":99},[85,816,154],{"class":95},[85,818,819,822,824,827,829,831],{"class":87,"line":157},[85,820,821],{"class":160},"  src",[85,823,164],{"class":95},[85,825,826],{"class":99}," plugin",[85,828,275],{"class":95},[85,830,327],{"class":99},[85,832,176],{"class":95},[85,834,835,838,840,842,844,846],{"class":87,"line":179},[85,836,837],{"class":160},"  mode",[85,839,164],{"class":95},[85,841,826],{"class":99},[85,843,275],{"class":95},[85,845,278],{"class":99},[85,847,176],{"class":95},[85,849,850,853,855,858,860,862,865,867,869],{"class":87,"line":190},[85,851,852],{"class":95},"},",[85,854,96],{"class":95},[85,856,857],{"class":160}," method",[85,859,164],{"class":95},[85,861,115],{"class":95},[85,863,864],{"class":118},"error",[85,866,239],{"class":95},[85,868,109],{"class":95},[85,870,489],{"class":99},[66,872,873],{},"If you always want the same method, bake it into the reporter:",[75,875,877],{"className":77,"code":876,"language":79,"meta":80,"style":80},"const reporterAlwaysError = createConsoleReporter({ method: 'error' })\n",[82,878,879],{"__ignoreMap":80},[85,880,881,883,886,888,890,892,895,897,899,901,903,905,907],{"class":87,"line":88},[85,882,532],{"class":138},[85,884,885],{"class":99}," reporterAlwaysError ",[85,887,145],{"class":95},[85,889,100],{"class":148},[85,891,151],{"class":99},[85,893,894],{"class":95},"{",[85,896,857],{"class":160},[85,898,164],{"class":95},[85,900,115],{"class":95},[85,902,864],{"class":118},[85,904,239],{"class":95},[85,906,109],{"class":95},[85,908,489],{"class":99},[70,910,912],{"id":911},"file-reporter","File reporter",[66,914,915],{},"Use the Node reporter when your code runs in Node and you want a local log.",[75,917,919],{"className":77,"code":918,"language":79,"meta":80,"style":80},"import { createFileReporter } from 'nostics\u002Freporters\u002Fnode'\n\nexport const diagnostics = defineDiagnostics({\n  reporters: [\n    createFileReporter({\n      logFile: '.nuxt-diagnostics.log',\n      excludeStackFrames: [\u002F\\\u002Fnode_modules\\\u002F\u002F, \u002F\\(node:\u002F],\n    }),\n  ],\n  codes: {\n    NUXT_B2011: { why: 'Plugin mode conflicts with file suffix.' },\n  },\n})\n",[82,920,921,940,944,960,969,978,994,1034,1043,1050,1058,1080,1084],{"__ignoreMap":80},[85,922,923,925,927,930,932,934,936,938],{"class":87,"line":88},[85,924,92],{"class":91},[85,926,96],{"class":95},[85,928,929],{"class":99}," createFileReporter",[85,931,109],{"class":95},[85,933,112],{"class":91},[85,935,115],{"class":95},[85,937,732],{"class":118},[85,939,122],{"class":95},[85,941,942],{"class":87,"line":125},[85,943,129],{"emptyLinePlaceholder":128},[85,945,946,948,950,952,954,956,958],{"class":87,"line":132},[85,947,135],{"class":91},[85,949,139],{"class":138},[85,951,142],{"class":99},[85,953,145],{"class":95},[85,955,106],{"class":148},[85,957,151],{"class":99},[85,959,154],{"class":95},[85,961,962,964,966],{"class":87,"line":157},[85,963,161],{"class":160},[85,965,164],{"class":95},[85,967,968],{"class":99}," [\n",[85,970,971,974,976],{"class":87,"line":179},[85,972,973],{"class":148},"    createFileReporter",[85,975,151],{"class":99},[85,977,154],{"class":95},[85,979,980,983,985,987,990,992],{"class":87,"line":190},[85,981,982],{"class":160},"      logFile",[85,984,164],{"class":95},[85,986,115],{"class":95},[85,988,989],{"class":118},".nuxt-diagnostics.log",[85,991,239],{"class":95},[85,993,176],{"class":95},[85,995,996,999,1001,1003,1006,1009,1012,1014,1016,1018,1021,1024,1027,1029,1032],{"class":87,"line":200},[85,997,998],{"class":160},"      excludeStackFrames",[85,1000,164],{"class":95},[85,1002,167],{"class":99},[85,1004,1005],{"class":95},"\u002F",[85,1007,1008],{"class":99},"\\\u002F",[85,1010,1011],{"class":118},"node_modules",[85,1013,1008],{"class":99},[85,1015,1005],{"class":95},[85,1017,103],{"class":95},[85,1019,1020],{"class":95}," \u002F",[85,1022,1023],{"class":99},"\\(",[85,1025,1026],{"class":118},"node:",[85,1028,1005],{"class":95},[85,1030,1031],{"class":99},"]",[85,1033,176],{"class":95},[85,1035,1036,1039,1041],{"class":87,"line":260},[85,1037,1038],{"class":95},"    }",[85,1040,549],{"class":99},[85,1042,176],{"class":95},[85,1044,1045,1048],{"class":87,"line":308},[85,1046,1047],{"class":99},"  ]",[85,1049,176],{"class":95},[85,1051,1052,1054,1056],{"class":87,"line":362},[85,1053,182],{"class":160},[85,1055,164],{"class":95},[85,1057,187],{"class":95},[85,1059,1060,1062,1064,1066,1069,1071,1073,1076,1078],{"class":87,"line":368},[85,1061,193],{"class":160},[85,1063,164],{"class":95},[85,1065,96],{"class":95},[85,1067,1068],{"class":160}," why",[85,1070,164],{"class":95},[85,1072,115],{"class":95},[85,1074,1075],{"class":118},"Plugin mode conflicts with file suffix.",[85,1077,239],{"class":95},[85,1079,601],{"class":95},[85,1081,1082],{"class":87,"line":408},[85,1083,481],{"class":95},[85,1085,1086,1088],{"class":87,"line":447},[85,1087,330],{"class":95},[85,1089,489],{"class":99},[66,1091,1092],{},"Each diagnostic is written as one JSON line.",[75,1094,1098],{"className":1095,"code":1096,"language":1097,"meta":80,"style":80},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","tail -f .nuxt-diagnostics.log | jq .\n","bash",[82,1099,1100],{"__ignoreMap":80},[85,1101,1102,1105,1108,1111,1113,1116],{"class":87,"line":88},[85,1103,1104],{"class":223},"tail",[85,1106,1107],{"class":118}," -f",[85,1109,1110],{"class":118}," .nuxt-diagnostics.log",[85,1112,242],{"class":95},[85,1114,1115],{"class":223}," jq",[85,1117,1118],{"class":118}," .\n",[70,1120,1122],{"id":1121},"fetch-reporter","Fetch reporter",[66,1124,1125],{},"Use the fetch reporter for fire-and-forget HTTP logging.",[75,1127,1129],{"className":77,"code":1128,"language":79,"meta":80,"style":80},"import { createFetchReporter } from 'nostics\u002Freporters\u002Ffetch'\n\nexport const diagnostics = defineDiagnostics({\n  reporters: [createFetchReporter('https:\u002F\u002Ftelemetry.example.com\u002Fdiagnostics')],\n  codes: {\n    NUXT_B2011: { why: 'Plugin mode conflicts with file suffix.' },\n  },\n})\n",[82,1130,1131,1150,1154,1170,1195,1203,1223,1227],{"__ignoreMap":80},[85,1132,1133,1135,1137,1140,1142,1144,1146,1148],{"class":87,"line":88},[85,1134,92],{"class":91},[85,1136,96],{"class":95},[85,1138,1139],{"class":99}," createFetchReporter",[85,1141,109],{"class":95},[85,1143,112],{"class":91},[85,1145,115],{"class":95},[85,1147,747],{"class":118},[85,1149,122],{"class":95},[85,1151,1152],{"class":87,"line":125},[85,1153,129],{"emptyLinePlaceholder":128},[85,1155,1156,1158,1160,1162,1164,1166,1168],{"class":87,"line":132},[85,1157,135],{"class":91},[85,1159,139],{"class":138},[85,1161,142],{"class":99},[85,1163,145],{"class":95},[85,1165,106],{"class":148},[85,1167,151],{"class":99},[85,1169,154],{"class":95},[85,1171,1172,1174,1176,1178,1181,1183,1185,1188,1190,1193],{"class":87,"line":157},[85,1173,161],{"class":160},[85,1175,164],{"class":95},[85,1177,167],{"class":99},[85,1179,1180],{"class":148},"createFetchReporter",[85,1182,151],{"class":99},[85,1184,239],{"class":95},[85,1186,1187],{"class":118},"https:\u002F\u002Ftelemetry.example.com\u002Fdiagnostics",[85,1189,239],{"class":95},[85,1191,1192],{"class":99},")]",[85,1194,176],{"class":95},[85,1196,1197,1199,1201],{"class":87,"line":179},[85,1198,182],{"class":160},[85,1200,164],{"class":95},[85,1202,187],{"class":95},[85,1204,1205,1207,1209,1211,1213,1215,1217,1219,1221],{"class":87,"line":190},[85,1206,193],{"class":160},[85,1208,164],{"class":95},[85,1210,96],{"class":95},[85,1212,1068],{"class":160},[85,1214,164],{"class":95},[85,1216,115],{"class":95},[85,1218,1075],{"class":118},[85,1220,239],{"class":95},[85,1222,601],{"class":95},[85,1224,1225],{"class":87,"line":200},[85,1226,481],{"class":95},[85,1228,1229,1231],{"class":87,"line":260},[85,1230,330],{"class":95},[85,1232,489],{"class":99},[66,1234,1235],{},"Fetch failures are swallowed so reporting does not break user code.",[70,1237,1239],{"id":1238},"reporter-options","Reporter options",[66,1241,1242],{},"Reporter options are typed and merged into the diagnostic call signature.",[75,1244,1246],{"className":77,"code":1245,"language":79,"meta":80,"style":80},"const audited: DiagnosticReporter\u003C{ priority: number }> = (diagnostic, options) => {\n  audit.record({\n    code: diagnostic.name,\n    priority: options.priority,\n  })\n}\n\nconst diagnostics = defineDiagnostics({\n  reporters: [audited],\n  codes: {\n    NUXT_B2011: {\n      why: (p: { src: string, mode: 'client' | 'server' }) => {\n        const expected = p.mode === 'client' ? 'server' : 'client'\n        return `Plugin \"${p.src}\" is ${expected}-only but was registered with mode \"${p.mode}\".`\n      },\n    },\n  },\n})\n\nconst plugin = resolvePlugin()\n\ndiagnostics.NUXT_B2011(\n  {\n    src: plugin.src,\n    mode: plugin.mode,\n  },\n    \u002F\u002F the second argument is required now\n  { priority: 1 },\n)\n",[82,1247,1248,1290,1304,1319,1335,1341,1345,1349,1363,1374,1382,1390,1436,1474,1516,1520,1524,1528,1535,1540,1553,1558,1570,1576,1592,1608,1613,1620,1636],{"__ignoreMap":80},[85,1249,1250,1252,1255,1257,1259,1262,1265,1267,1270,1273,1275,1277,1279,1281,1284,1286,1288],{"class":87,"line":88},[85,1251,532],{"class":138},[85,1253,1254],{"class":99}," audited",[85,1256,164],{"class":95},[85,1258,513],{"class":223},[85,1260,1261],{"class":95},"\u003C{",[85,1263,1264],{"class":160}," priority",[85,1266,164],{"class":95},[85,1268,1269],{"class":223}," number",[85,1271,1272],{"class":95}," }>",[85,1274,269],{"class":95},[85,1276,208],{"class":95},[85,1278,546],{"class":211},[85,1280,103],{"class":95},[85,1282,1283],{"class":211}," options",[85,1285,549],{"class":95},[85,1287,255],{"class":138},[85,1289,187],{"class":95},[85,1291,1292,1295,1297,1300,1302],{"class":87,"line":125},[85,1293,1294],{"class":99},"  audit",[85,1296,275],{"class":95},[85,1298,1299],{"class":148},"record",[85,1301,151],{"class":160},[85,1303,154],{"class":95},[85,1305,1306,1309,1311,1313,1315,1317],{"class":87,"line":132},[85,1307,1308],{"class":160},"    code",[85,1310,164],{"class":95},[85,1312,593],{"class":99},[85,1314,275],{"class":95},[85,1316,598],{"class":99},[85,1318,176],{"class":95},[85,1320,1321,1324,1326,1328,1330,1333],{"class":87,"line":157},[85,1322,1323],{"class":160},"    priority",[85,1325,164],{"class":95},[85,1327,1283],{"class":99},[85,1329,275],{"class":95},[85,1331,1332],{"class":99},"priority",[85,1334,176],{"class":95},[85,1336,1337,1339],{"class":87,"line":179},[85,1338,666],{"class":95},[85,1340,489],{"class":160},[85,1342,1343],{"class":87,"line":190},[85,1344,673],{"class":95},[85,1346,1347],{"class":87,"line":200},[85,1348,129],{"emptyLinePlaceholder":128},[85,1350,1351,1353,1355,1357,1359,1361],{"class":87,"line":260},[85,1352,532],{"class":138},[85,1354,142],{"class":99},[85,1356,145],{"class":95},[85,1358,106],{"class":148},[85,1360,151],{"class":99},[85,1362,154],{"class":95},[85,1364,1365,1367,1369,1372],{"class":87,"line":308},[85,1366,161],{"class":160},[85,1368,164],{"class":95},[85,1370,1371],{"class":99}," [audited]",[85,1373,176],{"class":95},[85,1375,1376,1378,1380],{"class":87,"line":362},[85,1377,182],{"class":160},[85,1379,164],{"class":95},[85,1381,187],{"class":95},[85,1383,1384,1386,1388],{"class":87,"line":368},[85,1385,193],{"class":160},[85,1387,164],{"class":95},[85,1389,187],{"class":95},[85,1391,1392,1394,1396,1398,1400,1402,1404,1406,1408,1410,1412,1414,1416,1418,1420,1422,1424,1426,1428,1430,1432,1434],{"class":87,"line":408},[85,1393,203],{"class":148},[85,1395,164],{"class":95},[85,1397,208],{"class":95},[85,1399,66],{"class":211},[85,1401,164],{"class":95},[85,1403,96],{"class":95},[85,1405,218],{"class":160},[85,1407,164],{"class":95},[85,1409,224],{"class":223},[85,1411,103],{"class":95},[85,1413,229],{"class":160},[85,1415,164],{"class":95},[85,1417,115],{"class":95},[85,1419,236],{"class":118},[85,1421,239],{"class":95},[85,1423,242],{"class":95},[85,1425,115],{"class":95},[85,1427,247],{"class":118},[85,1429,239],{"class":95},[85,1431,252],{"class":95},[85,1433,255],{"class":138},[85,1435,187],{"class":95},[85,1437,1438,1440,1442,1444,1446,1448,1450,1452,1454,1456,1458,1460,1462,1464,1466,1468,1470,1472],{"class":87,"line":447},[85,1439,263],{"class":138},[85,1441,266],{"class":99},[85,1443,269],{"class":95},[85,1445,272],{"class":99},[85,1447,275],{"class":95},[85,1449,278],{"class":99},[85,1451,281],{"class":95},[85,1453,115],{"class":95},[85,1455,236],{"class":118},[85,1457,239],{"class":95},[85,1459,290],{"class":95},[85,1461,115],{"class":95},[85,1463,247],{"class":118},[85,1465,239],{"class":95},[85,1467,299],{"class":95},[85,1469,115],{"class":95},[85,1471,236],{"class":118},[85,1473,122],{"class":95},[85,1475,1476,1478,1480,1482,1484,1486,1488,1490,1492,1494,1496,1498,1500,1502,1504,1506,1508,1510,1512,1514],{"class":87,"line":467},[85,1477,311],{"class":91},[85,1479,314],{"class":95},[85,1481,317],{"class":118},[85,1483,320],{"class":95},[85,1485,66],{"class":99},[85,1487,275],{"class":95},[85,1489,327],{"class":99},[85,1491,330],{"class":95},[85,1493,333],{"class":118},[85,1495,320],{"class":95},[85,1497,338],{"class":99},[85,1499,330],{"class":95},[85,1501,343],{"class":118},[85,1503,320],{"class":95},[85,1505,66],{"class":99},[85,1507,275],{"class":95},[85,1509,278],{"class":99},[85,1511,330],{"class":95},[85,1513,356],{"class":118},[85,1515,359],{"class":95},[85,1517,1518],{"class":87,"line":472},[85,1519,365],{"class":95},[85,1521,1522],{"class":87,"line":478},[85,1523,475],{"class":95},[85,1525,1526],{"class":87,"line":484},[85,1527,481],{"class":95},[85,1529,1531,1533],{"class":87,"line":1530},18,[85,1532,330],{"class":95},[85,1534,489],{"class":99},[85,1536,1538],{"class":87,"line":1537},19,[85,1539,129],{"emptyLinePlaceholder":128},[85,1541,1543,1545,1547,1549,1551],{"class":87,"line":1542},20,[85,1544,532],{"class":138},[85,1546,790],{"class":99},[85,1548,145],{"class":95},[85,1550,795],{"class":148},[85,1552,798],{"class":99},[85,1554,1556],{"class":87,"line":1555},21,[85,1557,129],{"emptyLinePlaceholder":128},[85,1559,1561,1563,1565,1567],{"class":87,"line":1560},22,[85,1562,807],{"class":99},[85,1564,275],{"class":95},[85,1566,812],{"class":148},[85,1568,1569],{"class":99},"(\n",[85,1571,1573],{"class":87,"line":1572},23,[85,1574,1575],{"class":95},"  {\n",[85,1577,1579,1582,1584,1586,1588,1590],{"class":87,"line":1578},24,[85,1580,1581],{"class":160},"    src",[85,1583,164],{"class":95},[85,1585,826],{"class":99},[85,1587,275],{"class":95},[85,1589,327],{"class":99},[85,1591,176],{"class":95},[85,1593,1595,1598,1600,1602,1604,1606],{"class":87,"line":1594},25,[85,1596,1597],{"class":160},"    mode",[85,1599,164],{"class":95},[85,1601,826],{"class":99},[85,1603,275],{"class":95},[85,1605,278],{"class":99},[85,1607,176],{"class":95},[85,1609,1611],{"class":87,"line":1610},26,[85,1612,481],{"class":95},[85,1614,1616],{"class":87,"line":1615},27,[85,1617,1619],{"class":1618},"sHwdD","    \u002F\u002F the second argument is required now\n",[85,1621,1623,1626,1628,1630,1634],{"class":87,"line":1622},28,[85,1624,1625],{"class":95},"  {",[85,1627,1264],{"class":160},[85,1629,164],{"class":95},[85,1631,1633],{"class":1632},"sbssI"," 1",[85,1635,601],{"class":95},[85,1637,1639],{"class":87,"line":1638},29,[85,1640,489],{"class":99},[66,1642,1643],{},"Use required reporter options sparingly. They make every call site pass the second argument.",[70,1645,1647],{"id":1646},"formatters","Formatters",[66,1649,1650,1651,275],{},"The default formatter is ",[82,1652,720],{},[75,1654,1656],{"className":77,"code":1655,"language":79,"meta":80,"style":80},"import { formatDiagnostic } from 'nostics'\n\nconsole.log(formatDiagnostic(diagnostic))\n",[82,1657,1658,1677,1681],{"__ignoreMap":80},[85,1659,1660,1662,1664,1667,1669,1671,1673,1675],{"class":87,"line":88},[85,1661,92],{"class":91},[85,1663,96],{"class":95},[85,1665,1666],{"class":99}," formatDiagnostic",[85,1668,109],{"class":95},[85,1670,112],{"class":91},[85,1672,115],{"class":95},[85,1674,119],{"class":118},[85,1676,122],{"class":95},[85,1678,1679],{"class":87,"line":125},[85,1680,129],{"emptyLinePlaceholder":128},[85,1682,1683,1686,1688,1691,1693,1695],{"class":87,"line":132},[85,1684,1685],{"class":99},"console",[85,1687,275],{"class":95},[85,1689,1690],{"class":148},"log",[85,1692,151],{"class":99},[85,1694,720],{"class":148},[85,1696,1697],{"class":99},"(diagnostic))\n",[546,1699],{"log":1700},"[NUXT_B2011] Plugin `.\u002Fruntime\u002Fanalytics.server.ts` is server-only but was registered with mode `client`.\n├▶ fix: Rename the file or register it with mode `server`.\n├▶ sources: modules\u002Fanalytics.ts:18:5\n╰▶ see: https:\u002F\u002Fnuxt.com\u002Fe\u002Fb2011\n",[66,1702,1703,1704,1706,1707,1706,1709,275],{},"Detail lines are rendered in this order: ",[82,1705,623],{},", ",[82,1708,655],{},[82,1710,1711],{},"see",[66,1713,1714],{},"Other formatters:",[678,1716,1717,1729],{},[681,1718,1719],{},[684,1720,1721,1724,1726],{},[687,1722,1723],{},"Formatter",[687,1725,692],{},[687,1727,1728],{},"Output",[697,1730,1731,1744,1759],{},[684,1732,1733,1737,1741],{},[702,1734,1735],{},[82,1736,720],{},[702,1738,1739],{},[82,1740,119],{},[702,1742,1743],{},"Plain multiline text",[684,1745,1746,1751,1756],{},[702,1747,1748],{},[82,1749,1750],{},"ansiFormatter(colors)",[702,1752,1753],{},[82,1754,1755],{},"nostics\u002Fformatters\u002Fansi",[702,1757,1758],{},"Colored multiline text",[684,1760,1761,1766,1771],{},[702,1762,1763],{},[82,1764,1765],{},"jsonFormatter",[702,1767,1768],{},[82,1769,1770],{},"nostics\u002Fformatters\u002Fjson",[702,1772,1773],{},"One JSON string",[66,1775,1776,1779],{},[82,1777,1778],{},"ansiFormatter"," accepts any color helper with this shape:",[75,1781,1783],{"className":77,"code":1782,"language":79,"meta":80,"style":80},"interface Colors {\n  red: (s: string) => string\n  yellow: (s: string) => string\n  cyan: (s: string) => string\n  gray: (s: string) => string\n  bold: (s: string) => string\n  dim: (s: string) => string\n}\n",[82,1784,1785,1795,1818,1839,1860,1881,1902,1923],{"__ignoreMap":80},[85,1786,1787,1790,1793],{"class":87,"line":88},[85,1788,1789],{"class":138},"interface",[85,1791,1792],{"class":223}," Colors",[85,1794,187],{"class":95},[85,1796,1797,1800,1802,1804,1807,1809,1811,1813,1815],{"class":87,"line":125},[85,1798,1799],{"class":160},"  red",[85,1801,164],{"class":95},[85,1803,208],{"class":95},[85,1805,1806],{"class":211},"s",[85,1808,164],{"class":95},[85,1810,224],{"class":223},[85,1812,549],{"class":95},[85,1814,255],{"class":138},[85,1816,1817],{"class":223}," string\n",[85,1819,1820,1823,1825,1827,1829,1831,1833,1835,1837],{"class":87,"line":132},[85,1821,1822],{"class":160},"  yellow",[85,1824,164],{"class":95},[85,1826,208],{"class":95},[85,1828,1806],{"class":211},[85,1830,164],{"class":95},[85,1832,224],{"class":223},[85,1834,549],{"class":95},[85,1836,255],{"class":138},[85,1838,1817],{"class":223},[85,1840,1841,1844,1846,1848,1850,1852,1854,1856,1858],{"class":87,"line":157},[85,1842,1843],{"class":160},"  cyan",[85,1845,164],{"class":95},[85,1847,208],{"class":95},[85,1849,1806],{"class":211},[85,1851,164],{"class":95},[85,1853,224],{"class":223},[85,1855,549],{"class":95},[85,1857,255],{"class":138},[85,1859,1817],{"class":223},[85,1861,1862,1865,1867,1869,1871,1873,1875,1877,1879],{"class":87,"line":179},[85,1863,1864],{"class":160},"  gray",[85,1866,164],{"class":95},[85,1868,208],{"class":95},[85,1870,1806],{"class":211},[85,1872,164],{"class":95},[85,1874,224],{"class":223},[85,1876,549],{"class":95},[85,1878,255],{"class":138},[85,1880,1817],{"class":223},[85,1882,1883,1886,1888,1890,1892,1894,1896,1898,1900],{"class":87,"line":190},[85,1884,1885],{"class":160},"  bold",[85,1887,164],{"class":95},[85,1889,208],{"class":95},[85,1891,1806],{"class":211},[85,1893,164],{"class":95},[85,1895,224],{"class":223},[85,1897,549],{"class":95},[85,1899,255],{"class":138},[85,1901,1817],{"class":223},[85,1903,1904,1907,1909,1911,1913,1915,1917,1919,1921],{"class":87,"line":200},[85,1905,1906],{"class":160},"  dim",[85,1908,164],{"class":95},[85,1910,208],{"class":95},[85,1912,1806],{"class":211},[85,1914,164],{"class":95},[85,1916,224],{"class":223},[85,1918,549],{"class":95},[85,1920,255],{"class":138},[85,1922,1817],{"class":223},[85,1924,1925],{"class":87,"line":260},[85,1926,673],{"class":95},[66,1928,1929],{},"You can also write a formatter as a plain function:",[75,1931,1933],{"className":77,"code":1932,"language":79,"meta":80,"style":80},"import type { Diagnostic } from 'nostics'\n\nfunction compact(diagnostic: Diagnostic): string {\n  return `${diagnostic.name}: ${diagnostic.message}`\n}\n",[82,1934,1935,1956,1960,1983,2013],{"__ignoreMap":80},[85,1936,1937,1939,1941,1943,1946,1948,1950,1952,1954],{"class":87,"line":88},[85,1938,92],{"class":91},[85,1940,508],{"class":91},[85,1942,96],{"class":95},[85,1944,1945],{"class":99}," Diagnostic",[85,1947,109],{"class":95},[85,1949,112],{"class":91},[85,1951,115],{"class":95},[85,1953,119],{"class":118},[85,1955,122],{"class":95},[85,1957,1958],{"class":87,"line":125},[85,1959,129],{"emptyLinePlaceholder":128},[85,1961,1962,1965,1968,1970,1972,1974,1976,1979,1981],{"class":87,"line":132},[85,1963,1964],{"class":138},"function",[85,1966,1967],{"class":148}," compact",[85,1969,151],{"class":95},[85,1971,546],{"class":211},[85,1973,164],{"class":95},[85,1975,1945],{"class":223},[85,1977,1978],{"class":95},"):",[85,1980,224],{"class":223},[85,1982,187],{"class":95},[85,1984,1985,1988,1991,1993,1995,1997,1999,2002,2004,2006,2008,2010],{"class":87,"line":157},[85,1986,1987],{"class":91},"  return",[85,1989,1990],{"class":95}," `${",[85,1992,546],{"class":99},[85,1994,275],{"class":95},[85,1996,598],{"class":99},[85,1998,330],{"class":95},[85,2000,2001],{"class":118},": ",[85,2003,320],{"class":95},[85,2005,546],{"class":99},[85,2007,275],{"class":95},[85,2009,572],{"class":99},[85,2011,2012],{"class":95},"}`\n",[85,2014,2015],{"class":87,"line":179},[85,2016,673],{"class":95},[2018,2019,2020],"style",{},"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 .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}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 .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":80,"searchDepth":125,"depth":125,"links":2022},[2023,2024,2025,2026,2027,2028],{"id":72,"depth":125,"text":73},{"id":768,"depth":125,"text":769},{"id":911,"depth":125,"text":912},{"id":1121,"depth":125,"text":1122},{"id":1238,"depth":125,"text":1239},{"id":1646,"depth":125,"text":1647},"Send diagnostics to the console, files, HTTP, or your own reporter.","md",null,{},{"icon":29},{"title":26,"description":2029},"hfs3Z-Vec80kIJdJEm9pjHSp-MTVPyTzKBZ7mbJNnHo",[2037,2039],{"title":21,"path":22,"stem":23,"description":2038,"icon":24,"children":-1},"Declare stable codes, typed params, docs links, sources, and causes.",{"title":31,"path":32,"stem":33,"description":2040,"icon":34,"children":-1},"Strip report-only diagnostics from production bundles.",1781110594583]