[{"data":1,"prerenderedAt":1160},["ShallowReactive",2],{"navigation":3,"\u002Frecipes\u002Foutside-nuxt":208,"\u002Frecipes\u002Foutside-nuxt-surround":1155},[4,98,175],{"title":5,"path":6,"stem":7,"children":8,"icon":97},"Guide","\u002Fguide","1.guide\u002F1.index",[9,12,17,22,46,61,79],{"title":10,"path":6,"stem":7,"icon":11},"Introduction","i-lucide-house",{"title":13,"path":14,"stem":15,"icon":16},"Installation","\u002Fguide\u002Finstallation","1.guide\u002F2.installation","i-lucide-download",{"title":18,"path":19,"stem":20,"icon":21},"Quick start","\u002Fguide\u002Fquick-start","1.guide\u002F3.quick-start","i-lucide-rocket",{"title":23,"path":24,"stem":25,"children":26,"icon":45},"Server","\u002Fguide\u002Fserver","1.guide\u002F4.server\u002F1.index",[27,30,35,40],{"title":28,"path":24,"stem":25,"icon":29},"Usage","i-lucide-server",{"title":31,"path":32,"stem":33,"icon":34},"Config file","\u002Fguide\u002Fserver\u002Fconfig-file","1.guide\u002F4.server\u002F2.config-file","i-lucide-file-cog",{"title":36,"path":37,"stem":38,"icon":39},"Options","\u002Fguide\u002Fserver\u002Foptions","1.guide\u002F4.server\u002F3.options","i-lucide-settings",{"title":41,"path":42,"stem":43,"icon":44},"Advanced","\u002Fguide\u002Fserver\u002Fadvanced","1.guide\u002F4.server\u002F4.advanced","i-lucide-flask-conical",false,{"title":47,"path":48,"stem":49,"children":50,"icon":45},"Client","\u002Fguide\u002Fclient","1.guide\u002F5.client\u002F1.index",[51,53,58],{"title":28,"path":48,"stem":49,"icon":52},"i-lucide-monitor-smartphone",{"title":54,"path":55,"stem":56,"icon":57},"Live queries","\u002Fguide\u002Fclient\u002Flive-queries","1.guide\u002F5.client\u002F2.live-queries","i-lucide-radio",{"title":41,"path":59,"stem":60,"icon":44},"\u002Fguide\u002Fclient\u002Fadvanced","1.guide\u002F5.client\u002F3.advanced",{"title":62,"path":63,"stem":64,"children":65,"icon":45},"Development socket","\u002Fguide\u002Fsocket","1.guide\u002F6.socket\u002F1.index",[66,68,71,74],{"title":28,"path":63,"stem":64,"icon":67},"i-lucide-plug",{"title":36,"path":69,"stem":70,"icon":39},"\u002Fguide\u002Fsocket\u002Foptions","1.guide\u002F6.socket\u002F2.options",{"title":41,"path":72,"stem":73,"icon":44},"\u002Fguide\u002Fsocket\u002Fadvanced","1.guide\u002F6.socket\u002F3.advanced",{"title":75,"path":76,"stem":77,"icon":78},"PGlite in dev, Postgres in prod","\u002Fguide\u002Fsocket\u002Fdevelopment-only","1.guide\u002F6.socket\u002F4.development-only","i-lucide-cloud-upload",{"title":80,"path":81,"stem":82,"children":83,"icon":45},"DevTools & tooling","\u002Fguide\u002Fdevtools","1.guide\u002F7.devtools\u002F1.index",[84,87,92],{"title":85,"path":81,"stem":82,"icon":86},"DevTools tab","i-lucide-wrench",{"title":88,"path":89,"stem":90,"icon":91},"Actions","\u002Fguide\u002Fdevtools\u002Factions","1.guide\u002F7.devtools\u002F2.actions","i-lucide-zap",{"title":93,"path":94,"stem":95,"icon":96},"Terminal","\u002Fguide\u002Fdevtools\u002Fterminal","1.guide\u002F7.devtools\u002F3.terminal","i-lucide-square-terminal","i-lucide-book-open",{"title":99,"icon":100,"path":101,"stem":102,"children":103,"page":45},"Recipes","i-lucide-chef-hat","\u002Frecipes","2.recipes",[104,116,138,159,171],{"title":105,"path":106,"stem":107,"children":108,"icon":45},"Migrations","\u002Frecipes\u002Fmigrations","2.recipes\u002F1.migrations\u002F1.index",[109,111],{"title":28,"path":106,"stem":107,"icon":110},"i-lucide-database-backup",{"title":112,"path":113,"stem":114,"icon":115},"Edited migrations","\u002Frecipes\u002Fmigrations\u002Fedited-migrations","2.recipes\u002F1.migrations\u002F2.edited-migrations","i-lucide-file-diff",{"title":117,"path":118,"stem":119,"children":120,"icon":45},"Testing","\u002Frecipes\u002Ftesting","2.recipes\u002F2.testing\u002F1.index",[121,123,128,133],{"title":28,"path":118,"stem":119,"icon":122},"i-lucide-test-tube",{"title":124,"path":125,"stem":126,"icon":127},"Isolation","\u002Frecipes\u002Ftesting\u002Fisolation","2.recipes\u002F2.testing\u002F2.isolation","i-lucide-git-fork",{"title":129,"path":130,"stem":131,"icon":132},"vitest","\u002Frecipes\u002Ftesting\u002Fvitest","2.recipes\u002F2.testing\u002F3.vitest","i-simple-icons-vitest",{"title":134,"path":135,"stem":136,"icon":137},"@nuxt\u002Ftest-utils","\u002Frecipes\u002Ftesting\u002Fnuxt-test-utils","2.recipes\u002F2.testing\u002F4.nuxt-test-utils","i-simple-icons-nuxt",{"title":139,"path":140,"stem":141,"children":142,"icon":45},"Deploy","\u002Frecipes\u002Fdeploy","2.recipes\u002F3.deploy\u002F1.index",[143,144,149,154],{"title":139,"path":140,"stem":141},{"title":145,"path":146,"stem":147,"icon":148},"Any Postgres","\u002Frecipes\u002Fdeploy\u002Fpostgres","2.recipes\u002F3.deploy\u002F2.postgres","i-lucide-database",{"title":150,"path":151,"stem":152,"icon":153},"Netlify","\u002Frecipes\u002Fdeploy\u002Fnetlify","2.recipes\u002F3.deploy\u002F3.netlify","i-simple-icons-netlify",{"title":155,"path":156,"stem":157,"icon":158},"Neon","\u002Frecipes\u002Fdeploy\u002Fneon","2.recipes\u002F3.deploy\u002F4.neon","i-simple-icons-neon",{"title":160,"path":161,"stem":162,"children":163,"icon":45},"Outside Nuxt","\u002Frecipes\u002Foutside-nuxt","2.recipes\u002F4.outside-nuxt\u002F1.index",[164,167],{"title":165,"path":161,"stem":162,"icon":166},"Config and provider","i-lucide-package",{"title":168,"path":169,"stem":170,"icon":67},"Socket server","\u002Frecipes\u002Foutside-nuxt\u002Fsocket","2.recipes\u002F4.outside-nuxt\u002F2.socket",{"title":172,"path":173,"stem":174,"icon":67},"Nitro's useDatabase","\u002Frecipes\u002Fnitro-database","2.recipes\u002F5.nitro-database",{"title":176,"icon":177,"path":178,"stem":179,"children":180,"page":45},"Reference","i-lucide-code-xml","\u002Freference","3.reference",[181,185,189,193,198,203],{"title":182,"path":183,"stem":184,"icon":34},"Config files","\u002Freference\u002Fconfig-files","3.reference\u002F1.config-files",{"title":186,"path":187,"stem":188,"icon":39},"Module options","\u002Freference\u002Fmodule-options","3.reference\u002F2.module-options",{"title":190,"path":191,"stem":192,"icon":67},"Socket options","\u002Freference\u002Fsocket-options","3.reference\u002F3.socket-options",{"title":194,"path":195,"stem":196,"icon":197},"Exports","\u002Freference\u002Fexports","3.reference\u002F4.exports","i-lucide-boxes",{"title":199,"path":200,"stem":201,"icon":202},"Hooks","\u002Freference\u002Fhooks","3.reference\u002F5.hooks","i-lucide-anchor",{"title":204,"path":205,"stem":206,"icon":207},"Environment","\u002Freference\u002Fenvironment","3.reference\u002F6.environment","i-lucide-variable",{"id":209,"title":165,"body":210,"description":1148,"extension":1149,"links":1150,"meta":1151,"navigation":1152,"path":161,"seo":1153,"stem":162,"__hash__":1154},"docs\u002F2.recipes\u002F4.outside-nuxt\u002F1.index.md",{"type":211,"value":212,"toc":1144},"minimark",[213,248,300,307,325,501,504,516,646,652,655,771,782,789,960,1140],[214,215,216,217,221,222,228,229,234,235,240,241,243,244,247],"p",{},"The framework-agnostic parts of the module ship as their own entries: ",[218,219,220],"code",{},"nuxt-pglite\u002Fcore"," (this page), ",[223,224,225],"a",{"href":169},[218,226,227],{},"nuxt-pglite\u002Fsocket",", ",[223,230,231],{"href":106},[218,232,233],{},"nuxt-pglite\u002Fmigrations",", which depends on Node built-ins only, and ",[223,236,237],{"href":118},[218,238,239],{},"nuxt-pglite\u002Ftesting",", for test suites. ",[218,242,220],{}," imports only ",[218,245,246],{},"@electric-sql\u002Fpglite",", and only when an instance is created.",[249,250,255],"pre",{"className":251,"code":252,"language":253,"meta":254,"style":254},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { createPGliteProvider, definePGliteConfig, resolveEnvConfig } from 'nuxt-pglite\u002Fcore'\n","ts","",[218,256,257],{"__ignoreMap":254},[258,259,262,266,270,274,277,280,282,285,288,291,294,297],"span",{"class":260,"line":261},"line",1,[258,263,265],{"class":264},"s7zQu","import",[258,267,269],{"class":268},"sMK4o"," {",[258,271,273],{"class":272},"sTEyZ"," createPGliteProvider",[258,275,276],{"class":268},",",[258,278,279],{"class":272}," definePGliteConfig",[258,281,276],{"class":268},[258,283,284],{"class":272}," resolveEnvConfig",[258,286,287],{"class":268}," }",[258,289,290],{"class":264}," from",[258,292,293],{"class":268}," '",[258,295,220],{"class":296},"sfazB",[258,298,299],{"class":268},"'\n",[301,302,304],"h2",{"id":303},"definepgliteconfig",[218,305,306],{},"definePGliteConfig",[214,308,309,310,313,314,228,317,320,321,324],{},"The same helper as ",[218,311,312],{},"definePGliteServerConfig",", under its plain name: PGlite's options plus ",[218,315,316],{},"init",[218,318,319],{},"dispose"," and ",[218,322,323],{},"devtools",", with the extensions inferred so that they are typed on the instance.",[249,326,329],{"className":251,"code":327,"filename":328,"language":253,"meta":254,"style":254},"import { definePGliteConfig } from 'nuxt-pglite\u002Fcore'\nimport { vector } from '@electric-sql\u002Fpglite-pgvector'\n\nexport default definePGliteConfig({\n  dataDir: '.\u002Fdata',\n  extensions: { vector },\n  init: async (pg) => {\n    await pg.exec('CREATE EXTENSION IF NOT EXISTS vector')\n  },\n})\n","pglite.config.ts",[218,330,331,349,370,377,395,416,432,460,487,493],{"__ignoreMap":254},[258,332,333,335,337,339,341,343,345,347],{"class":260,"line":261},[258,334,265],{"class":264},[258,336,269],{"class":268},[258,338,279],{"class":272},[258,340,287],{"class":268},[258,342,290],{"class":264},[258,344,293],{"class":268},[258,346,220],{"class":296},[258,348,299],{"class":268},[258,350,352,354,356,359,361,363,365,368],{"class":260,"line":351},2,[258,353,265],{"class":264},[258,355,269],{"class":268},[258,357,358],{"class":272}," vector",[258,360,287],{"class":268},[258,362,290],{"class":264},[258,364,293],{"class":268},[258,366,367],{"class":296},"@electric-sql\u002Fpglite-pgvector",[258,369,299],{"class":268},[258,371,373],{"class":260,"line":372},3,[258,374,376],{"emptyLinePlaceholder":375},true,"\n",[258,378,380,383,386,389,392],{"class":260,"line":379},4,[258,381,382],{"class":264},"export",[258,384,385],{"class":264}," default",[258,387,279],{"class":388},"s2Zo4",[258,390,391],{"class":272},"(",[258,393,394],{"class":268},"{\n",[258,396,398,402,405,407,410,413],{"class":260,"line":397},5,[258,399,401],{"class":400},"swJcz","  dataDir",[258,403,404],{"class":268},":",[258,406,293],{"class":268},[258,408,409],{"class":296},".\u002Fdata",[258,411,412],{"class":268},"'",[258,414,415],{"class":268},",\n",[258,417,419,422,424,426,429],{"class":260,"line":418},6,[258,420,421],{"class":400},"  extensions",[258,423,404],{"class":268},[258,425,269],{"class":268},[258,427,428],{"class":272}," vector ",[258,430,431],{"class":268},"},\n",[258,433,435,438,440,444,447,451,454,457],{"class":260,"line":434},7,[258,436,437],{"class":388},"  init",[258,439,404],{"class":268},[258,441,443],{"class":442},"spNyl"," async",[258,445,446],{"class":268}," (",[258,448,450],{"class":449},"sHdIc","pg",[258,452,453],{"class":268},")",[258,455,456],{"class":442}," =>",[258,458,459],{"class":268}," {\n",[258,461,463,466,469,472,475,477,479,482,484],{"class":260,"line":462},8,[258,464,465],{"class":264},"    await",[258,467,468],{"class":272}," pg",[258,470,471],{"class":268},".",[258,473,474],{"class":388},"exec",[258,476,391],{"class":400},[258,478,412],{"class":268},[258,480,481],{"class":296},"CREATE EXTENSION IF NOT EXISTS vector",[258,483,412],{"class":268},[258,485,486],{"class":400},")\n",[258,488,490],{"class":260,"line":489},9,[258,491,492],{"class":268},"  },\n",[258,494,496,499],{"class":260,"line":495},10,[258,497,498],{"class":268},"}",[258,500,486],{"class":272},[214,502,503],{},"A server config written with it works in Nuxt too, which is how one file can serve a Nuxt app and a standalone script.",[214,505,506,228,509,320,512,515],{},[218,507,508],{},"$development",[218,510,511],{},"$production",[218,513,514],{},"$test"," keys are applied by Nuxt; outside it, apply them yourself:",[249,517,519],{"className":251,"code":518,"language":253,"meta":254,"style":254},"import { resolveEnvConfig } from 'nuxt-pglite\u002Fcore'\nimport config from '.\u002Fpglite.config'\n\nconst resolved = resolveEnvConfig(config, {\n  dev: process.env.NODE_ENV === 'development',\n  test: process.env.NODE_ENV === 'test',\n})\n",[218,520,521,539,556,560,580,612,640],{"__ignoreMap":254},[258,522,523,525,527,529,531,533,535,537],{"class":260,"line":261},[258,524,265],{"class":264},[258,526,269],{"class":268},[258,528,284],{"class":272},[258,530,287],{"class":268},[258,532,290],{"class":264},[258,534,293],{"class":268},[258,536,220],{"class":296},[258,538,299],{"class":268},[258,540,541,543,546,549,551,554],{"class":260,"line":351},[258,542,265],{"class":264},[258,544,545],{"class":272}," config ",[258,547,548],{"class":264},"from",[258,550,293],{"class":268},[258,552,553],{"class":296},".\u002Fpglite.config",[258,555,299],{"class":268},[258,557,558],{"class":260,"line":372},[258,559,376],{"emptyLinePlaceholder":375},[258,561,562,565,568,571,573,576,578],{"class":260,"line":379},[258,563,564],{"class":442},"const",[258,566,567],{"class":272}," resolved ",[258,569,570],{"class":268},"=",[258,572,284],{"class":388},[258,574,575],{"class":272},"(config",[258,577,276],{"class":268},[258,579,459],{"class":268},[258,581,582,585,587,590,592,595,597,600,603,605,608,610],{"class":260,"line":397},[258,583,584],{"class":400},"  dev",[258,586,404],{"class":268},[258,588,589],{"class":272}," process",[258,591,471],{"class":268},[258,593,594],{"class":272},"env",[258,596,471],{"class":268},[258,598,599],{"class":272},"NODE_ENV ",[258,601,602],{"class":268},"===",[258,604,293],{"class":268},[258,606,607],{"class":296},"development",[258,609,412],{"class":268},[258,611,415],{"class":268},[258,613,614,617,619,621,623,625,627,629,631,633,636,638],{"class":260,"line":418},[258,615,616],{"class":400},"  test",[258,618,404],{"class":268},[258,620,589],{"class":272},[258,622,471],{"class":268},[258,624,594],{"class":272},[258,626,471],{"class":268},[258,628,599],{"class":272},[258,630,602],{"class":268},[258,632,293],{"class":268},[258,634,635],{"class":296},"test",[258,637,412],{"class":268},[258,639,415],{"class":268},[258,641,642,644],{"class":260,"line":434},[258,643,498],{"class":268},[258,645,486],{"class":272},[301,647,649],{"id":648},"createpgliteprovider",[218,650,651],{},"createPGliteProvider",[214,653,654],{},"Holds a single, lazily created instance:",[249,656,658],{"className":251,"code":657,"language":253,"meta":254,"style":254},"import { createPGliteProvider } from 'nuxt-pglite\u002Fcore'\nimport config from '.\u002Fpglite.config'\n\nconst pglite = createPGliteProvider(config)\n\nconst pg = await pglite.use() \u002F\u002F created and `init`-ed on first call\npglite.instance \u002F\u002F the open instance, or undefined\nawait pglite.close() \u002F\u002F `dispose`, then close; a later use() creates a new one\n",[218,659,660,678,692,696,710,714,741,754],{"__ignoreMap":254},[258,661,662,664,666,668,670,672,674,676],{"class":260,"line":261},[258,663,265],{"class":264},[258,665,269],{"class":268},[258,667,273],{"class":272},[258,669,287],{"class":268},[258,671,290],{"class":264},[258,673,293],{"class":268},[258,675,220],{"class":296},[258,677,299],{"class":268},[258,679,680,682,684,686,688,690],{"class":260,"line":351},[258,681,265],{"class":264},[258,683,545],{"class":272},[258,685,548],{"class":264},[258,687,293],{"class":268},[258,689,553],{"class":296},[258,691,299],{"class":268},[258,693,694],{"class":260,"line":372},[258,695,376],{"emptyLinePlaceholder":375},[258,697,698,700,703,705,707],{"class":260,"line":379},[258,699,564],{"class":442},[258,701,702],{"class":272}," pglite ",[258,704,570],{"class":268},[258,706,273],{"class":388},[258,708,709],{"class":272},"(config)\n",[258,711,712],{"class":260,"line":397},[258,713,376],{"emptyLinePlaceholder":375},[258,715,716,718,721,723,726,729,731,734,737],{"class":260,"line":418},[258,717,564],{"class":442},[258,719,720],{"class":272}," pg ",[258,722,570],{"class":268},[258,724,725],{"class":264}," await",[258,727,728],{"class":272}," pglite",[258,730,471],{"class":268},[258,732,733],{"class":388},"use",[258,735,736],{"class":272},"() ",[258,738,740],{"class":739},"sHwdD","\u002F\u002F created and `init`-ed on first call\n",[258,742,743,746,748,751],{"class":260,"line":434},[258,744,745],{"class":272},"pglite",[258,747,471],{"class":268},[258,749,750],{"class":272},"instance ",[258,752,753],{"class":739},"\u002F\u002F the open instance, or undefined\n",[258,755,756,759,761,763,766,768],{"class":260,"line":462},[258,757,758],{"class":264},"await",[258,760,728],{"class":272},[258,762,471],{"class":268},[258,764,765],{"class":388},"close",[258,767,736],{"class":272},[258,769,770],{"class":739},"\u002F\u002F `dispose`, then close; a later use() creates a new one\n",[214,772,773,774,777,778,781],{},"It behaves like the one behind ",[218,775,776],{},"usePGlite()",": concurrent ",[218,779,780],{},"use()"," calls share one creation, a failed creation is retried on the next call, and a closed instance is replaced.",[214,783,784,785,788],{},"For an instance created some other way (a ",[218,786,787],{},"PGliteWorker",", custom options), pass the lower-level shape instead of a config:",[249,790,792],{"className":251,"code":791,"language":253,"meta":254,"style":254},"import { PGlite } from '@electric-sql\u002Fpglite'\nimport { createPGliteProvider } from 'nuxt-pglite\u002Fcore'\n\nconst pglite = createPGliteProvider({\n  create: () => PGlite.create('memory:\u002F\u002F'),\n  init: async (pg) => {\n    await pg.exec('CREATE TABLE IF NOT EXISTS kv (k text PRIMARY KEY, v text)')\n  },\n  dispose: async (pg) => {\n    \u002F\u002F before close\n  },\n})\n",[218,793,794,813,831,835,849,881,899,920,924,943,948,953],{"__ignoreMap":254},[258,795,796,798,800,803,805,807,809,811],{"class":260,"line":261},[258,797,265],{"class":264},[258,799,269],{"class":268},[258,801,802],{"class":272}," PGlite",[258,804,287],{"class":268},[258,806,290],{"class":264},[258,808,293],{"class":268},[258,810,246],{"class":296},[258,812,299],{"class":268},[258,814,815,817,819,821,823,825,827,829],{"class":260,"line":351},[258,816,265],{"class":264},[258,818,269],{"class":268},[258,820,273],{"class":272},[258,822,287],{"class":268},[258,824,290],{"class":264},[258,826,293],{"class":268},[258,828,220],{"class":296},[258,830,299],{"class":268},[258,832,833],{"class":260,"line":372},[258,834,376],{"emptyLinePlaceholder":375},[258,836,837,839,841,843,845,847],{"class":260,"line":379},[258,838,564],{"class":442},[258,840,702],{"class":272},[258,842,570],{"class":268},[258,844,273],{"class":388},[258,846,391],{"class":272},[258,848,394],{"class":268},[258,850,851,854,856,859,861,863,865,868,870,872,875,877,879],{"class":260,"line":397},[258,852,853],{"class":388},"  create",[258,855,404],{"class":268},[258,857,858],{"class":268}," ()",[258,860,456],{"class":442},[258,862,802],{"class":272},[258,864,471],{"class":268},[258,866,867],{"class":388},"create",[258,869,391],{"class":272},[258,871,412],{"class":268},[258,873,874],{"class":296},"memory:\u002F\u002F",[258,876,412],{"class":268},[258,878,453],{"class":272},[258,880,415],{"class":268},[258,882,883,885,887,889,891,893,895,897],{"class":260,"line":418},[258,884,437],{"class":388},[258,886,404],{"class":268},[258,888,443],{"class":442},[258,890,446],{"class":268},[258,892,450],{"class":449},[258,894,453],{"class":268},[258,896,456],{"class":442},[258,898,459],{"class":268},[258,900,901,903,905,907,909,911,913,916,918],{"class":260,"line":434},[258,902,465],{"class":264},[258,904,468],{"class":272},[258,906,471],{"class":268},[258,908,474],{"class":388},[258,910,391],{"class":400},[258,912,412],{"class":268},[258,914,915],{"class":296},"CREATE TABLE IF NOT EXISTS kv (k text PRIMARY KEY, v text)",[258,917,412],{"class":268},[258,919,486],{"class":400},[258,921,922],{"class":260,"line":462},[258,923,492],{"class":268},[258,925,926,929,931,933,935,937,939,941],{"class":260,"line":489},[258,927,928],{"class":388},"  dispose",[258,930,404],{"class":268},[258,932,443],{"class":442},[258,934,446],{"class":268},[258,936,450],{"class":449},[258,938,453],{"class":268},[258,940,456],{"class":442},[258,942,459],{"class":268},[258,944,945],{"class":260,"line":495},[258,946,947],{"class":739},"    \u002F\u002F before close\n",[258,949,951],{"class":260,"line":950},11,[258,952,492],{"class":268},[258,954,956,958],{"class":260,"line":955},12,[258,957,498],{"class":268},[258,959,486],{"class":272},[961,962,964,986],"collapsible",{"name":963},"initScope",[214,965,966,968,969,971,972,974,975,320,978,981,982,985],{},[218,967,316],{}," that calls ",[218,970,780],{}," would wait for itself. Pass an ",[218,973,963],{}," (an object with ",[218,976,977],{},"run(fn)",[218,979,980],{},"active()",", typically backed by ",[218,983,984],{},"AsyncLocalStorage",") to make such a call fail instead. The Nuxt server side does this; it is optional elsewhere.",[249,987,989],{"className":251,"code":988,"language":253,"meta":254,"style":254},"import { AsyncLocalStorage } from 'node:async_hooks'\n\nconst storage = new AsyncLocalStorage\u003Ctrue>()\nconst pglite = createPGliteProvider(config, {\n  initScope: {\n    run: (fn) => storage.run(true, fn),\n    active: () => storage.getStore() === true,\n  },\n})\n",[218,990,991,1011,1015,1042,1058,1067,1103,1130,1134],{"__ignoreMap":254},[258,992,993,995,997,1000,1002,1004,1006,1009],{"class":260,"line":261},[258,994,265],{"class":264},[258,996,269],{"class":268},[258,998,999],{"class":272}," AsyncLocalStorage",[258,1001,287],{"class":268},[258,1003,290],{"class":264},[258,1005,293],{"class":268},[258,1007,1008],{"class":296},"node:async_hooks",[258,1010,299],{"class":268},[258,1012,1013],{"class":260,"line":351},[258,1014,376],{"emptyLinePlaceholder":375},[258,1016,1017,1019,1022,1024,1027,1029,1032,1036,1039],{"class":260,"line":372},[258,1018,564],{"class":442},[258,1020,1021],{"class":272}," storage ",[258,1023,570],{"class":268},[258,1025,1026],{"class":268}," new",[258,1028,999],{"class":388},[258,1030,1031],{"class":268},"\u003C",[258,1033,1035],{"class":1034},"sBMFI","true",[258,1037,1038],{"class":268},">",[258,1040,1041],{"class":272},"()\n",[258,1043,1044,1046,1048,1050,1052,1054,1056],{"class":260,"line":379},[258,1045,564],{"class":442},[258,1047,702],{"class":272},[258,1049,570],{"class":268},[258,1051,273],{"class":388},[258,1053,575],{"class":272},[258,1055,276],{"class":268},[258,1057,459],{"class":268},[258,1059,1060,1063,1065],{"class":260,"line":397},[258,1061,1062],{"class":400},"  initScope",[258,1064,404],{"class":268},[258,1066,459],{"class":268},[258,1068,1069,1072,1074,1076,1079,1081,1083,1086,1088,1091,1093,1096,1098,1101],{"class":260,"line":418},[258,1070,1071],{"class":388},"    run",[258,1073,404],{"class":268},[258,1075,446],{"class":268},[258,1077,1078],{"class":449},"fn",[258,1080,453],{"class":268},[258,1082,456],{"class":442},[258,1084,1085],{"class":272}," storage",[258,1087,471],{"class":268},[258,1089,1090],{"class":388},"run",[258,1092,391],{"class":272},[258,1094,1035],{"class":1095},"sfNiH",[258,1097,276],{"class":268},[258,1099,1100],{"class":272}," fn)",[258,1102,415],{"class":268},[258,1104,1105,1108,1110,1112,1114,1116,1118,1121,1123,1125,1128],{"class":260,"line":434},[258,1106,1107],{"class":388},"    active",[258,1109,404],{"class":268},[258,1111,858],{"class":268},[258,1113,456],{"class":442},[258,1115,1085],{"class":272},[258,1117,471],{"class":268},[258,1119,1120],{"class":388},"getStore",[258,1122,736],{"class":272},[258,1124,602],{"class":268},[258,1126,1127],{"class":1095}," true",[258,1129,415],{"class":268},[258,1131,1132],{"class":260,"line":462},[258,1133,492],{"class":268},[258,1135,1136,1138],{"class":260,"line":489},[258,1137,498],{"class":268},[258,1139,486],{"class":272},[1141,1142,1143],"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 .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 .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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}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 .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 .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}",{"title":254,"searchDepth":261,"depth":351,"links":1145},[1146,1147],{"id":303,"depth":351,"text":306},{"id":648,"depth":351,"text":651},"nuxt-pglite\u002Fcore, the config helper and the lazy instance provider, usable in any runtime.","md",null,{},{"icon":166},{"title":165,"description":1148},"pQK0KntC9LQ2D0qbCL6_T4EGjZ7Vz_ERrMJVO5CSt08",[1156,1158],{"title":155,"path":156,"stem":157,"description":1157,"icon":158,"children":-1},"Neon's HTTP and WebSocket drivers in production, node-postgres against the socket in development, and the migrations applied from CI.",{"title":168,"path":169,"stem":170,"description":1159,"icon":67,"children":-1},"nuxt-pglite\u002Fsocket, the Postgres wire-protocol server, in any Node, Bun or Deno process.",1791474259253]