mirror of
https://github.com/marko-js/marko.git
synced 2025-12-08 19:26:05 +00:00
Reject class with extends for single file UI components
This commit is contained in:
parent
ab1e53701b
commit
baf6cf6a14
@ -0,0 +1,6 @@
|
||||
class Foo extends Bar {
|
||||
|
||||
}
|
||||
|
||||
<div>
|
||||
</div>
|
||||
@ -0,0 +1,6 @@
|
||||
var expect = require('chai').expect;
|
||||
|
||||
exports.checkError = function(e) {
|
||||
expect(e.toString()).to.contain('A component class is not allowed to use `extends`');
|
||||
expect(e.toString()).to.contain('https://github.com/marko-js/marko/wiki/Error:-Component-class-with-extends');
|
||||
};
|
||||
@ -207,6 +207,12 @@ function handleClassDeclaration(classEl, transformHelper) {
|
||||
return;
|
||||
}
|
||||
let expression = tree.body[0].expression;
|
||||
|
||||
if (expression.superClass && expression.superClass.name) {
|
||||
transformHelper.context.addError(classEl, 'A component class is not allowed to use `extends`. See: https://github.com/marko-js/marko/wiki/Error:-Component-class-with-extends');
|
||||
return;
|
||||
}
|
||||
|
||||
let object = classToObject(expression);
|
||||
let componentVar = transformHelper.context.addStaticVar('marko_component', escodegen.generate(object));
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user