feat(compiler-sfc): use @vue/compiler-dom by default
This commit is contained in:
		
							parent
							
								
									136ab753b3
								
							
						
					
					
						commit
						818bf17cb7
					
				@ -6,12 +6,6 @@ This package contains lower level utilities that you can use if you are writing
 | 
			
		||||
 | 
			
		||||
The API surface is intentionally minimal - the goal is to reuse as much as possible while being as flexible as possible.
 | 
			
		||||
 | 
			
		||||
## Why isn't `@vue/compiler-dom` a peerDependency?
 | 
			
		||||
 | 
			
		||||
Since this package is more often used as a low-level utility, it is usually a transitive dependency in an actual Vue project. It is therefore the responsibility of the higher-level package (e.g. `vue-loader`) to inject `@vue/compiler-dom` via options when calling the `compileTemplate` methods.
 | 
			
		||||
 | 
			
		||||
Not listing it as a peer dependency also allows tooling authors to use a custom template compiler (built on top of `@vue/compiler-core`) instead of `@vue/compiler-dom`, without having to include it just to fulfill the peer dep requirement.
 | 
			
		||||
 | 
			
		||||
## API
 | 
			
		||||
 | 
			
		||||
TODO
 | 
			
		||||
 | 
			
		||||
@ -1,15 +1,12 @@
 | 
			
		||||
// TODO need more thorough tests here
 | 
			
		||||
 | 
			
		||||
import { compileTemplate } from '../src/compileTemplate'
 | 
			
		||||
import { compile } from '@vue/compiler-dom'
 | 
			
		||||
import { parse, SFCTemplateBlock } from '../src/parse'
 | 
			
		||||
 | 
			
		||||
const compiler = { compile }
 | 
			
		||||
 | 
			
		||||
test('should work', () => {
 | 
			
		||||
  const source = `<div><p>{{ render }}</p></div>`
 | 
			
		||||
 | 
			
		||||
  const result = compileTemplate({ filename: 'example.vue', source, compiler })
 | 
			
		||||
  const result = compileTemplate({ filename: 'example.vue', source })
 | 
			
		||||
 | 
			
		||||
  expect(result.errors.length).toBe(0)
 | 
			
		||||
  expect(result.source).toBe(source)
 | 
			
		||||
@ -33,8 +30,7 @@ body
 | 
			
		||||
  const result = compileTemplate({
 | 
			
		||||
    filename: 'example.vue',
 | 
			
		||||
    source: template.content,
 | 
			
		||||
    preprocessLang: template.lang,
 | 
			
		||||
    compiler
 | 
			
		||||
    preprocessLang: template.lang
 | 
			
		||||
  })
 | 
			
		||||
 | 
			
		||||
  expect(result.errors.length).toBe(0)
 | 
			
		||||
@ -48,7 +44,6 @@ test('warn missing preprocessor', () => {
 | 
			
		||||
 | 
			
		||||
  const result = compileTemplate({
 | 
			
		||||
    filename: 'example.vue',
 | 
			
		||||
    compiler,
 | 
			
		||||
    source: template.content,
 | 
			
		||||
    preprocessLang: template.lang
 | 
			
		||||
  })
 | 
			
		||||
 | 
			
		||||
@ -28,6 +28,7 @@
 | 
			
		||||
  "homepage": "https://github.com/vuejs/vue/tree/dev/packages/compiler-sfc#readme",
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "@vue/compiler-core": "3.0.0-alpha.0",
 | 
			
		||||
    "@vue/compiler-dom": "3.0.0-alpha.0",
 | 
			
		||||
    "consolidate": "^0.15.1",
 | 
			
		||||
    "hash-sum": "^2.0.0",
 | 
			
		||||
    "lru-cache": "^5.1.1",
 | 
			
		||||
 | 
			
		||||
@ -29,7 +29,7 @@ export interface TemplateCompiler {
 | 
			
		||||
export interface TemplateCompileOptions {
 | 
			
		||||
  source: string
 | 
			
		||||
  filename: string
 | 
			
		||||
  compiler: TemplateCompiler
 | 
			
		||||
  compiler?: TemplateCompiler
 | 
			
		||||
  compilerOptions?: CompilerOptions
 | 
			
		||||
  preprocessLang?: string
 | 
			
		||||
  preprocessOptions?: any
 | 
			
		||||
@ -92,7 +92,7 @@ export function compileTemplate(
 | 
			
		||||
function doCompileTemplate({
 | 
			
		||||
  filename,
 | 
			
		||||
  source,
 | 
			
		||||
  compiler,
 | 
			
		||||
  compiler = require('@vue/compiler-dom'),
 | 
			
		||||
  compilerOptions = {},
 | 
			
		||||
  transformAssetUrls
 | 
			
		||||
}: TemplateCompileOptions): TemplateCompileResults {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user