Skip to content

Commit ed4bbed

Browse files
committed
refactor: use existing types
1 parent 06594f6 commit ed4bbed

File tree

4 files changed

+15
-19
lines changed

4 files changed

+15
-19
lines changed

packages/compiler-sfc/src/templateCompilerModules/assetUrl.ts

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// vue compiler module for transforming `<tag>:<attribute>` to `require`
22

3-
import { urlToRequire, ASTNode, Attr } from './utils'
3+
import { urlToRequire } from './utils'
4+
import { ASTNode, ASTAttr } from 'types/compiler'
45

56
export interface AssetURLOptions {
67
[name: string]: string | string[]
@@ -43,24 +44,27 @@ function transform(
4344
options: AssetURLOptions,
4445
transformAssetUrlsOption?: TransformAssetUrlsOptions
4546
) {
47+
if (node.type !== 1 || !node.attrs) return
4648
for (const tag in options) {
47-
if ((tag === '*' || node.tag === tag) && node.attrs) {
49+
if (tag === '*' || node.tag === tag) {
4850
const attributes = options[tag]
4951
if (typeof attributes === 'string') {
50-
node.attrs.some(attr =>
52+
node.attrs!.some(attr =>
5153
rewrite(attr, attributes, transformAssetUrlsOption)
5254
)
5355
} else if (Array.isArray(attributes)) {
5456
attributes.forEach(item =>
55-
node.attrs.some(attr => rewrite(attr, item, transformAssetUrlsOption))
57+
node.attrs!.some(attr =>
58+
rewrite(attr, item, transformAssetUrlsOption)
59+
)
5660
)
5761
}
5862
}
5963
}
6064
}
6165

6266
function rewrite(
63-
attr: Attr,
67+
attr: ASTAttr,
6468
name: string,
6569
transformAssetUrlsOption?: TransformAssetUrlsOptions
6670
) {

packages/compiler-sfc/src/templateCompilerModules/srcset.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
// vue compiler module for transforming `img:srcset` to a number of `require`s
22

3-
import { urlToRequire, ASTNode } from './utils'
3+
import { urlToRequire } from './utils'
44
import { TransformAssetUrlsOptions } from './assetUrl'
5+
import { ASTNode } from 'types/compiler'
56

67
interface ImageCandidate {
78
require: string
@@ -21,9 +22,11 @@ function transform(
2122
node: ASTNode,
2223
transformAssetUrlsOptions?: TransformAssetUrlsOptions
2324
) {
24-
const tags = ['img', 'source']
25+
if (node.type !== 1 || !node.attrs) {
26+
return
27+
}
2528

26-
if (tags.indexOf(node.tag) !== -1 && node.attrs) {
29+
if (node.tag === 'img' || node.tag === 'source') {
2730
node.attrs.forEach(attr => {
2831
if (attr.name === 'srcset') {
2932
// same logic as in transform-require.js

packages/compiler-sfc/src/templateCompilerModules/utils.ts

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,6 @@ import { TransformAssetUrlsOptions } from './assetUrl'
22
import { UrlWithStringQuery, parse as uriParse } from 'url'
33
import path from 'path'
44

5-
export interface Attr {
6-
name: string
7-
value: string
8-
}
9-
10-
export interface ASTNode {
11-
tag: string
12-
attrs: Attr[]
13-
}
14-
155
export function urlToRequire(
166
url: string,
177
transformAssetUrlsOption: TransformAssetUrlsOptions = {}

packages/compiler-sfc/test/compileTemplate.spec.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import { compileTemplate } from '../src/compileTemplate'
44
import Vue from 'vue'
55

66
function mockRender(code: string, mocks: Record<string, any> = {}) {
7-
console.log(code)
87
const fn = new Function(
98
`require`,
109
`${code}; return { render, staticRenderFns }`

0 commit comments

Comments
 (0)