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