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.
|
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
|
## API
|
||||||
|
|
||||||
TODO
|
TODO
|
||||||
|
@ -1,15 +1,12 @@
|
|||||||
// TODO need more thorough tests here
|
// TODO need more thorough tests here
|
||||||
|
|
||||||
import { compileTemplate } from '../src/compileTemplate'
|
import { compileTemplate } from '../src/compileTemplate'
|
||||||
import { compile } from '@vue/compiler-dom'
|
|
||||||
import { parse, SFCTemplateBlock } from '../src/parse'
|
import { parse, SFCTemplateBlock } from '../src/parse'
|
||||||
|
|
||||||
const compiler = { compile }
|
|
||||||
|
|
||||||
test('should work', () => {
|
test('should work', () => {
|
||||||
const source = `<div><p>{{ render }}</p></div>`
|
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.errors.length).toBe(0)
|
||||||
expect(result.source).toBe(source)
|
expect(result.source).toBe(source)
|
||||||
@ -33,8 +30,7 @@ body
|
|||||||
const result = compileTemplate({
|
const result = compileTemplate({
|
||||||
filename: 'example.vue',
|
filename: 'example.vue',
|
||||||
source: template.content,
|
source: template.content,
|
||||||
preprocessLang: template.lang,
|
preprocessLang: template.lang
|
||||||
compiler
|
|
||||||
})
|
})
|
||||||
|
|
||||||
expect(result.errors.length).toBe(0)
|
expect(result.errors.length).toBe(0)
|
||||||
@ -48,7 +44,6 @@ test('warn missing preprocessor', () => {
|
|||||||
|
|
||||||
const result = compileTemplate({
|
const result = compileTemplate({
|
||||||
filename: 'example.vue',
|
filename: 'example.vue',
|
||||||
compiler,
|
|
||||||
source: template.content,
|
source: template.content,
|
||||||
preprocessLang: template.lang
|
preprocessLang: template.lang
|
||||||
})
|
})
|
||||||
|
@ -28,6 +28,7 @@
|
|||||||
"homepage": "https://github.com/vuejs/vue/tree/dev/packages/compiler-sfc#readme",
|
"homepage": "https://github.com/vuejs/vue/tree/dev/packages/compiler-sfc#readme",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vue/compiler-core": "3.0.0-alpha.0",
|
"@vue/compiler-core": "3.0.0-alpha.0",
|
||||||
|
"@vue/compiler-dom": "3.0.0-alpha.0",
|
||||||
"consolidate": "^0.15.1",
|
"consolidate": "^0.15.1",
|
||||||
"hash-sum": "^2.0.0",
|
"hash-sum": "^2.0.0",
|
||||||
"lru-cache": "^5.1.1",
|
"lru-cache": "^5.1.1",
|
||||||
|
@ -29,7 +29,7 @@ export interface TemplateCompiler {
|
|||||||
export interface TemplateCompileOptions {
|
export interface TemplateCompileOptions {
|
||||||
source: string
|
source: string
|
||||||
filename: string
|
filename: string
|
||||||
compiler: TemplateCompiler
|
compiler?: TemplateCompiler
|
||||||
compilerOptions?: CompilerOptions
|
compilerOptions?: CompilerOptions
|
||||||
preprocessLang?: string
|
preprocessLang?: string
|
||||||
preprocessOptions?: any
|
preprocessOptions?: any
|
||||||
@ -92,7 +92,7 @@ export function compileTemplate(
|
|||||||
function doCompileTemplate({
|
function doCompileTemplate({
|
||||||
filename,
|
filename,
|
||||||
source,
|
source,
|
||||||
compiler,
|
compiler = require('@vue/compiler-dom'),
|
||||||
compilerOptions = {},
|
compilerOptions = {},
|
||||||
transformAssetUrls
|
transformAssetUrls
|
||||||
}: TemplateCompileOptions): TemplateCompileResults {
|
}: TemplateCompileOptions): TemplateCompileResults {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user