{"id":42108,"library":"tm-vue-server-renderer","title":"tm-vue-server-renderer","description":"A community-patched fork of vue-server-renderer v2.6.12 that fixes compatibility with webpack 5. The original Vue 2 server-side renderer is intended for Node.js SSR rendering of Vue 2 components, but the official vue-server-renderer 2.6.12 has two known issues when used with webpack 5: it incorrectly expects output.libraryTarget to be 'commonjs2' and fails to locate entries. This fork backports the necessary fixes to maintain SSR functionality with modern webpack. It is a drop-in replacement for vue-server-renderer. Note: Support for Vue 2 is in maintenance mode; Vue 3 has its own SSR solution.","status":"maintenance","version":"0.1.0","language":"javascript","source_language":"en","source_url":null,"tags":["javascript","typescript"],"install":[{"cmd":"npm install tm-vue-server-renderer","lang":"bash","label":"npm"},{"cmd":"yarn add tm-vue-server-renderer","lang":"bash","label":"yarn"},{"cmd":"pnpm add tm-vue-server-renderer","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Package ships TypeScript types but is ESM/CJS dual; require works but may not resolve types correctly.","wrong":"const { createBundleRenderer } = require('tm-vue-server-renderer')","symbol":"createBundleRenderer","correct":"import { createBundleRenderer } from 'tm-vue-server-renderer'"},{"note":"createRenderer is a named export, not default.","wrong":"import createRenderer from 'tm-vue-server-renderer'","symbol":"createRenderer","correct":"import { createRenderer } from 'tm-vue-server-renderer'"},{"note":"Use the patched package name or it will use the original buggy version.","wrong":"import { TemplateRenderer } from 'vue-server-renderer'","symbol":"TemplateRenderer","correct":"import { TemplateRenderer } from 'tm-vue-server-renderer'"}],"quickstart":{"code":"import { createBundleRenderer } from 'tm-vue-server-renderer';\nimport Vue from 'vue';\n\nconst renderer = createBundleRenderer({\n  runInNewContext: false,\n  template: '<div>{{content}}</div>'\n});\n\nconst app = new Vue({\n  template: '<p>Hello SSR</p>'\n});\n\nrenderer.renderToString(app, (err, html) => {\n  if (err) throw err;\n  console.log(html);\n});","lang":"typescript","description":"Creates a bundle renderer, renders a Vue 2 component to string with the patched package."},"warnings":[{"fix":"Use this fork instead of official vue-server-renderer.","message":"Requires webpack 5 output.libraryTarget not to be 'commonjs2' — this fork fixes that.","severity":"breaking","affected_versions":">=0.1.0"},{"fix":"Consider migrating to Vue 3 with @vue/server-renderer for long-term support.","message":"This is a fork pinned to Vue 2.6.12 SSR; does not receive upstream fixes for Vue 2 SSR.","severity":"gotcha","affected_versions":">=0.1.0"},{"fix":"Plan migration to Vue 3.","message":"Vue 2 is in maintenance mode; no new features will be added.","severity":"deprecated","affected_versions":">=0.1.0"}],"env_vars":null,"search_vec":"'2':26,39,99 '2.6.12':48 '3':105 '5':22,57 'backport':72 'commonjs2':64 'communiti':8 'community-patch':7 'compat':19 'compon':40 'drop':87 'drop-in':86 'entri':69 'expect':60 'fail':66 'fix':18,75 'fork':10,71 'function':79 'incorrect':59 'intend':32 'issu':52 'javascript':111 'known':51 'locat':68 'maintain':77 'mainten':102 'mode':103 'modern':81 'necessari':74 'node.js':34 'note':95 'offici':43 'origin':24 'output.librarytarget':61 'patch':9 'render':5,15,30,36,47,94 'replac':89 'server':4,14,28,46,93 'server-sid':27 'side':29 'solut':110 'ssr':35,78,109 'support':96 'tm':2 'tm-vue-server-render':1 'two':50 'typescript':112 'use':54 'v2.6.12':16 'vue':3,13,25,38,45,92,98,104 'vue-server-render':12,44,91 'webpack':21,56,82","created_at":"2026-06-04T18:55:39.450476+00:00","updated_at":"2026-06-04T18:55:39.450476+00:00","problems":[{"fix":"Replace `vue-server-renderer` with `tm-vue-server-renderer` in package.json and reinstall.","cause":"Official vue-server-renderer plugin incorrectly enforces libraryTarget in webpack 5.","error":"[vue-server-renderer-webpack-plugin] webpack config `output.libraryTarget` should be \"commonjs2\"."},{"fix":"Use this fork which adjusts the entry resolution logic.","cause":"Webpack 5 changes how entries are resolved, breaking the original plugin.","error":"Error: Entry \"XX\" not found. Did you specify the correct entry option?"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":null,"github":null,"docs":null,"changelog":null,"pypi":null,"npm":"tm-vue-server-renderer","openapi_spec":null,"status_page":null,"smithery":null,"categories":["testing"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-04","next_check":"2026-09-02","install_tag":null}}