2020-02-05 01:20:51 +08:00
|
|
|
import {
|
|
|
|
SourceLocation,
|
|
|
|
CompilerError,
|
|
|
|
createCompilerError,
|
|
|
|
DOMErrorCodes
|
|
|
|
} from '@vue/compiler-dom'
|
|
|
|
|
|
|
|
export interface SSRCompilerError extends CompilerError {
|
|
|
|
code: SSRErrorCodes
|
|
|
|
}
|
|
|
|
|
|
|
|
export function createSSRCompilerError(
|
|
|
|
code: SSRErrorCodes,
|
|
|
|
loc?: SourceLocation
|
2021-04-13 07:42:09 +08:00
|
|
|
) {
|
|
|
|
return createCompilerError(code, loc, SSRErrorMessages) as SSRCompilerError
|
2020-02-05 01:20:51 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
export const enum SSRErrorCodes {
|
2020-02-05 05:47:12 +08:00
|
|
|
X_SSR_CUSTOM_DIRECTIVE_NO_TRANSFORM = DOMErrorCodes.__EXTEND_POINT__,
|
2020-02-27 03:59:53 +08:00
|
|
|
X_SSR_UNSAFE_ATTR_NAME,
|
2020-05-02 05:04:36 +08:00
|
|
|
X_SSR_NO_TELEPORT_TARGET,
|
|
|
|
X_SSR_INVALID_AST_NODE
|
2020-02-05 01:20:51 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
export const SSRErrorMessages: { [code: number]: string } = {
|
2020-02-05 05:47:12 +08:00
|
|
|
[SSRErrorCodes.X_SSR_CUSTOM_DIRECTIVE_NO_TRANSFORM]: `Custom directive is missing corresponding SSR transform and will be ignored.`,
|
2020-02-27 03:59:53 +08:00
|
|
|
[SSRErrorCodes.X_SSR_UNSAFE_ATTR_NAME]: `Unsafe attribute name for SSR.`,
|
2020-09-15 21:59:36 +08:00
|
|
|
[SSRErrorCodes.X_SSR_NO_TELEPORT_TARGET]: `Missing the 'to' prop on teleport element.`,
|
2020-07-17 01:36:16 +08:00
|
|
|
[SSRErrorCodes.X_SSR_INVALID_AST_NODE]: `Invalid AST node during SSR transform.`
|
2020-02-05 01:20:51 +08:00
|
|
|
}
|