fix(ssr): remove missing ssr directive transform error

This commit is contained in:
Evan You 2022-01-16 15:20:56 +08:00
parent 4dd0f34e81
commit 55cc4af25e
2 changed files with 3 additions and 13 deletions

View File

@ -17,14 +17,12 @@ export function createSSRCompilerError(
} }
export const enum SSRErrorCodes { export const enum SSRErrorCodes {
X_SSR_CUSTOM_DIRECTIVE_NO_TRANSFORM = DOMErrorCodes.__EXTEND_POINT__, X_SSR_UNSAFE_ATTR_NAME = DOMErrorCodes.__EXTEND_POINT__,
X_SSR_UNSAFE_ATTR_NAME,
X_SSR_NO_TELEPORT_TARGET, X_SSR_NO_TELEPORT_TARGET,
X_SSR_INVALID_AST_NODE X_SSR_INVALID_AST_NODE
} }
export const SSRErrorMessages: { [code: number]: string } = { export const SSRErrorMessages: { [code: number]: string } = {
[SSRErrorCodes.X_SSR_CUSTOM_DIRECTIVE_NO_TRANSFORM]: `Custom directive is missing corresponding SSR transform and will be ignored.`,
[SSRErrorCodes.X_SSR_UNSAFE_ATTR_NAME]: `Unsafe attribute name for SSR.`, [SSRErrorCodes.X_SSR_UNSAFE_ATTR_NAME]: `Unsafe attribute name for SSR.`,
[SSRErrorCodes.X_SSR_NO_TELEPORT_TARGET]: `Missing the 'to' prop on teleport element.`, [SSRErrorCodes.X_SSR_NO_TELEPORT_TARGET]: `Missing the 'to' prop on teleport element.`,
[SSRErrorCodes.X_SSR_INVALID_AST_NODE]: `Invalid AST node during SSR transform.` [SSRErrorCodes.X_SSR_INVALID_AST_NODE]: `Invalid AST node during SSR transform.`

View File

@ -179,18 +179,10 @@ export const ssrTransformElement: NodeTransform = (node, context) => {
if (!hasDynamicVBind) { if (!hasDynamicVBind) {
node.children = [createInterpolation(prop.exp, prop.loc)] node.children = [createInterpolation(prop.exp, prop.loc)]
} }
} else { } else if (!hasDynamicVBind) {
// Directive transforms. // Directive transforms.
const directiveTransform = context.directiveTransforms[prop.name] const directiveTransform = context.directiveTransforms[prop.name]
if (!directiveTransform) { if (directiveTransform) {
// no corresponding ssr directive transform found.
context.onError(
createSSRCompilerError(
SSRErrorCodes.X_SSR_CUSTOM_DIRECTIVE_NO_TRANSFORM,
prop.loc
)
)
} else if (!hasDynamicVBind) {
const { props, ssrTagParts } = directiveTransform( const { props, ssrTagParts } = directiveTransform(
prop, prop,
node, node,