]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
wip(ssr): remove cjs codegen mode
authorEvan You <yyx990803@gmail.com>
Tue, 4 Feb 2020 20:58:54 +0000 (15:58 -0500)
committerEvan You <yyx990803@gmail.com>
Tue, 4 Feb 2020 20:58:54 +0000 (15:58 -0500)
packages/compiler-core/src/codegen.ts
packages/compiler-core/src/options.ts
packages/compiler-ssr/src/index.ts

index 726ea38a4b2963c8a09bf6d6a3ccef4b7b59c172..e609541e2d5dcd17db76420d507bbd408e93c542 100644 (file)
@@ -267,8 +267,8 @@ export function generate(
 }
 
 function genFunctionPreamble(ast: RootNode, context: CodegenContext) {
-  const { mode, helper, prefixIdentifiers, push, newline } = context
-  const VueBinding = mode === 'function' ? `Vue` : `require("vue")`
+  const { ssr, helper, prefixIdentifiers, push, newline } = context
+  const VueBinding = ssr ? `require("vue")` : `Vue`
   // Generate const declaration for helpers
   // In prefix mode, we place the const declaration at top so it's done
   // only once; But if we not prefixing, we place the declaration inside the
@@ -746,7 +746,7 @@ function genCacheExpression(node: CacheExpression, context: CodegenContext) {
 }
 
 function genTemplateLiteral(node: TemplateLiteral, context: CodegenContext) {
-  const { push } = context
+  const { push, indent, deindent } = context
   push('`')
   for (let i = 0; i < node.elements.length; i++) {
     const e = node.elements[i]
@@ -754,7 +754,9 @@ function genTemplateLiteral(node: TemplateLiteral, context: CodegenContext) {
       push(e.replace(/`/g, '\\`'))
     } else {
       push('${')
+      indent()
       genNode(e, context)
+      deindent()
       push('}')
     }
   }
index 6ec92e7f80e4032c33b100f5645372a332bf9e82..8cb753a68821490ebb4f90c13886a94a2f0dbf97 100644 (file)
@@ -60,10 +60,8 @@ export interface CodegenOptions {
   // - Function mode will generate a single `const { helpers... } = Vue`
   //   statement and return the render function. It is meant to be used with
   //   `new Function(code)()` to generate a render function at runtime.
-  // - CommonJS mode is like function mode except it retrives helpers from
-  //   `require('vue')`.
   // - Default: 'function'
-  mode?: 'module' | 'function' | 'cjs'
+  mode?: 'module' | 'function'
   // Generate source map?
   // - Default: false
   sourceMap?: boolean
index b26053f8e23e4b7e7eaa6002cc12b444d876e48c..b8833e079b7088755d5fd5f7916382181a5a3c93 100644 (file)
@@ -25,7 +25,6 @@ export function compile(
   options: CompilerOptions = {}
 ): CodegenResult {
   options = {
-    mode: 'cjs',
     ...options,
     // apply DOM-specific parsing options
     ...parserOptions,