{"record":{"id":"53f5dc98ac025ed9","repo":"withastro/astro","slug":"astrojs-solid-js-importing-getcontainerrendere","errorCode":null,"errorMessage":"[@astrojs/solid-js] Importing `getContainerRenderer` from `@astrojs/solid-js` is deprecated. Import it from `@astrojs/solid-js/container-renderer` instead.","messagePattern":"\\[@astrojs/solid-js\\] Importing `getContainerRenderer` from `@astrojs/solid-js` is deprecated\\. Import it from `@astrojs/solid-js/container-renderer` instead\\.","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"packages/integrations/solid/src/index.ts","lineNumber":67,"sourceCode":"\tsolidNoExternal: string[],\n) {\n\tconst plugins: PluginOption[] = [\n\t\tsolid({ include, exclude, ssr: true }),\n\t\tconfigEnvironmentPlugin(solidNoExternal),\n\t];\n\n\tif (devtoolsPlugin) {\n\t\tplugins.push(devtoolsPlugin({ autoname: true }));\n\t}\n\n\treturn { plugins };\n}\n\n/**\n * @deprecated Import `getContainerRenderer` from `@astrojs/solid-js/container-renderer` instead.\n */\nexport function getContainerRenderer(): AstroRenderer {\n\tconsole.warn(\n\t\t'[@astrojs/solid-js] Importing `getContainerRenderer` from `@astrojs/solid-js` is deprecated. Import it from `@astrojs/solid-js/container-renderer` instead.',\n\t);\n\treturn getContainerRendererImpl();\n}\n\nexport interface Options extends Pick<ViteSolidPluginOptions, 'include' | 'exclude'> {\n\tdevtools?: boolean;\n}\n\nexport default function (options: Options = {}): AstroIntegration {\n\treturn {\n\t\tname: '@astrojs/solid-js',\n\t\thooks: {\n\t\t\t'astro:config:setup': async ({\n\t\t\t\tcommand,\n\t\t\t\tconfig,\n\t\t\t\taddRenderer,\n\t\t\t\tupdateConfig,","sourceCodeStart":49,"sourceCodeEnd":85,"githubUrl":"https://github.com/withastro/astro/blob/52e6c34790cc8ac4e69e6135ace06049867e5c4a/packages/integrations/solid/src/index.ts#L49-L85","documentation":"@astrojs/solid-js retains a getContainerRenderer() export on its root entry as a deprecated shim: calling it console.warns and forwards to the implementation from ./container-renderer. Manual SSR setups using experimental_AstroContainer keep working, but the root export will be removed in favor of the @astrojs/solid-js/container-renderer subpath.","triggerScenarios":" Custom server code (Express/Hono/Nest) imports { getContainerRenderer } from '@astrojs/solid-js' and passes it to Container.addRenderer(). Every call triggers the console.warn before delegating to getContainerRendererImpl().","commonSituations":" Upgrading @astrojs/solid-js after the container APIs moved to a subpath; older custom-SSR examples; renderers registered per-request, which prints the warning on each render.","solutions":["Switch the import to the subpath: import { getContainerRenderer } from '@astrojs/solid-js/container-renderer';","Register the renderer once and reuse the container instead of per-request (also silences repeated warns).","Update any typed re-exports of the root module that surface getContainerRenderer."],"exampleFix":"// before\nimport { getContainerRenderer } from '@astrojs/solid-js';\nContainer.addRenderer({ name: 'solid-js', serverEntrypoint: await getContainerRenderer() });\n\n// after\nimport { getContainerRenderer } from '@astrojs/solid-js/container-renderer';\nContainer.addRenderer({ name: 'solid-js', serverEntrypoint: await getContainerRenderer() });","handlingStrategy":"validation","validationCode":"const src = await readFile('server.ts', 'utf8');\nif (src.includes(\"{ getContainerRenderer } from '@astrojs/solid-js'\")) {\n  throw new Error(\"Import getContainerRenderer from '@astrojs/solid-js/container-renderer'\");\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Import container renderers from the /container-renderer subpath only.","Create the AstroContainer and register renderers once, then reuse it.","Use lint no-restricted-imports to keep the named import off the root path."],"tags":["solid","deprecation","container-renderer","ssr","import-path"],"backgroundTag":"deprecated-import-path","analyzedSha":"52e6c34790cc8ac4e69e6135ace06049867e5c4a","analyzedAt":"2026-08-18T18:48:03.901Z","contentChangedAt":"2026-08-18T18:48:03.901Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}