From 26105034da4fcce7ac883c899d781f016559310d Mon Sep 17 00:00:00 2001 From: ruki Date: Thu, 8 Nov 2018 00:38:48 +0800 Subject: switch to vuepress --- .../lcov-report/lib/compileTemplate.ts.html | 597 +++++++++++++++++++++ 1 file changed, 597 insertions(+) create mode 100644 node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/compileTemplate.ts.html (limited to 'node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/compileTemplate.ts.html') diff --git a/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/compileTemplate.ts.html b/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/compileTemplate.ts.html new file mode 100644 index 00000000..0954e315 --- /dev/null +++ b/node_modules/@vue/component-compiler-utils/coverage/lcov-report/lib/compileTemplate.ts.html @@ -0,0 +1,597 @@ + + + + Code coverage report for lib/compileTemplate.ts + + + + + + + +
+
+

+ All files / lib compileTemplate.ts +

+
+
+ 91.89% + Statements + 34/37 +
+
+ 78.79% + Branches + 26/33 +
+
+ 100% + Functions + 5/5 +
+
+ 97.14% + Lines + 34/35 +
+
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177  +  +  +  +  +  +  +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +7x +7x +7x +1x +  +  +  +  +6x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +5x +  +  +  +  +  +  +  +1x +  +1x +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +1x +1x +  +  +  +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +6x +  +  +6x +  +6x +6x +4x +  +  +  +  +  +4x +  +  +  +  +6x +  +  +  +  +6x +  +  +  +  +  +  +  +6x +  +  +  +  +  +6x +8x +  +  +  +  +  +6x +  +  +  +  +  +  +  +  +6x +  +6x +  +  +6x +6x +  +  +6x +  +  +  +  +  +  +  + 
import { VueTemplateCompiler, VueTemplateCompilerOptions } from './types'
+ 
+import assetUrlsModule, {
+  AssetURLOptions
+} from './templateCompilerModules/assetUrl'
+import srcsetModule from './templateCompilerModules/srcset'
+ 
+const prettier = require('prettier')
+const consolidate = require('consolidate')
+const transpile = require('vue-template-es2015-compiler')
+ 
+export interface TemplateCompileOptions {
+  source: string
+  filename: string
+  compiler: VueTemplateCompiler
+  compilerOptions?: VueTemplateCompilerOptions
+  transformAssetUrls?: AssetURLOptions | boolean
+  preprocessLang?: string
+  preprocessOptions?: any
+  transpileOptions?: any
+  isProduction?: boolean
+  isFunctional?: boolean
+  optimizeSSR?: boolean
+}
+ 
+export interface TemplateCompileResult {
+  code: string
+  source: string
+  tips: string[]
+  errors: string[]
+}
+ 
+export function compileTemplate(
+  options: TemplateCompileOptions
+): TemplateCompileResult {
+  const { preprocessLang } = options
+  const preprocessor = preprocessLang && consolidate[preprocessLang]
+  if (preprocessor) {
+    return actuallyCompile(
+      Object.assign({}, options, {
+        source: preprocess(options, preprocessor)
+      })
+    )
+  } else if (preprocessLang) {
+    return {
+      code: `var render = function () {}\n` + `var staticRenderFns = []\n`,
+      source: options.source,
+      tips: [
+        `Component ${
+          options.filename
+        } uses lang ${preprocessLang} for template. Please install the language preprocessor.`
+      ],
+      errors: [
+        `Component ${
+          options.filename
+        } uses lang ${preprocessLang} for template, however it is not installed.`
+      ]
+    }
+  } else {
+    return actuallyCompile(options)
+  }
+}
+ 
+function preprocess(
+  options: TemplateCompileOptions,
+  preprocessor: any
+): string {
+  const { source, filename, preprocessOptions } = options
+ 
+  const finalPreprocessOptions = Object.assign(
+    {
+      filename
+    },
+    preprocessOptions
+  )
+ 
+  // Consolidate exposes a callback based API, but the callback is in fact
+  // called synchronously for most templating engines. In our case, we have to
+  // expose a synchronous API so that it is usable in Jest transforms (which
+  // have to be sync because they are applied via Node.js require hooks)
+  let res: any, err
+  preprocessor.render(
+    source,
+    finalPreprocessOptions,
+    (_err: Error | null, _res: string) => {
+      Iif (_err) err = _err
+      res = _res
+    }
+  )
+ 
+  Iif (err) throw err
+  return res
+}
+ 
+function actuallyCompile(
+  options: TemplateCompileOptions
+): TemplateCompileResult {
+  const {
+    source,
+    compiler,
+    compilerOptions = {},
+    transpileOptions = {},
+    transformAssetUrls,
+    isProduction = process.env.NODE_ENV === 'production',
+    isFunctional = false,
+    optimizeSSR = false
+  } = options
+ 
+  const compile =
+    optimizeSSR && compiler.ssrCompile ? compiler.ssrCompile : compiler.compile
+ 
+  let finalCompilerOptions = compilerOptions
+  if (transformAssetUrls) {
+    const builtInModules = [
+      transformAssetUrls === true
+        ? assetUrlsModule()
+        : assetUrlsModule(transformAssetUrls),
+      srcsetModule()
+    ]
+    finalCompilerOptions = Object.assign({}, compilerOptions, {
+      modules: [...builtInModules, ...(compilerOptions.modules || [])]
+    })
+  }
+ 
+  const { render, staticRenderFns, tips, errors } = compile(
+    source,
+    finalCompilerOptions
+  )
+ 
+  Iif (errors && errors.length) {
+    return {
+      code: `var render = function () {}\n` + `var staticRenderFns = []\n`,
+      source,
+      tips,
+      errors
+    }
+  } else {
+    const finalTranspileOptions = Object.assign({}, transpileOptions, {
+      transforms: Object.assign({}, transpileOptions.transforms, {
+        stripWithFunctional: isFunctional
+      })
+    })
+ 
+    const toFunction = (code: string): string => {
+      return `function (${isFunctional ? `_h,_vm` : ``}) {${code}}`
+    }
+ 
+    // transpile code with vue-template-es2015-compiler, which is a forked
+    // version of Buble that applies ES2015 transforms + stripping `with` usage
+    let code =
+      transpile(
+        `var __render__ = ${toFunction(render)}\n` +
+          `var __staticRenderFns__ = [${staticRenderFns.map(toFunction)}]`,
+        finalTranspileOptions
+      ) + `\n`
+ 
+    // #23 we use __render__ to avoid `render` not being prefixed by the
+    // transpiler when stripping with, but revert it back to `render` to
+    // maintain backwards compat
+    code = code.replace(/\s__(render|staticRenderFns)__\s/g, ' $1 ')
+ 
+    Eif (!isProduction) {
+      // mark with stripped (this enables Vue to use correct runtime proxy
+      // detection)
+      code += `render._withStripped = true`
+      code = prettier.format(code, { semi: false, parser: 'babylon' })
+    }
+ 
+    return {
+      code,
+      source,
+      tips,
+      errors
+    }
+  }
+}
+ 
+
+
+ + + + + + + + -- cgit v1.2.3