From ba263c909c24f3ddcf2094e8cfc65cdaf3cb6c8e Mon Sep 17 00:00:00 2001 From: Evan You Date: Tue, 4 Feb 2020 15:58:54 -0500 Subject: [PATCH] wip(ssr): remove cjs codegen mode --- packages/compiler-core/src/codegen.ts | 8 +++++--- packages/compiler-core/src/options.ts | 4 +--- packages/compiler-ssr/src/index.ts | 1 - 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/packages/compiler-core/src/codegen.ts b/packages/compiler-core/src/codegen.ts index 726ea38a4..e609541e2 100644 --- a/packages/compiler-core/src/codegen.ts +++ b/packages/compiler-core/src/codegen.ts @@ -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('}') } } diff --git a/packages/compiler-core/src/options.ts b/packages/compiler-core/src/options.ts index 6ec92e7f8..8cb753a68 100644 --- a/packages/compiler-core/src/options.ts +++ b/packages/compiler-core/src/options.ts @@ -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 diff --git a/packages/compiler-ssr/src/index.ts b/packages/compiler-ssr/src/index.ts index b26053f8e..b8833e079 100644 --- a/packages/compiler-ssr/src/index.ts +++ b/packages/compiler-ssr/src/index.ts @@ -25,7 +25,6 @@ export function compile( options: CompilerOptions = {} ): CodegenResult { options = { - mode: 'cjs', ...options, // apply DOM-specific parsing options ...parserOptions,