mirror of
https://github.com/meteor/meteor.git
synced 2026-05-02 03:01:46 -04:00
@@ -20,6 +20,7 @@ const NAMING_CONVENTIONS = {
|
||||
CAMEL: 'camel-case',
|
||||
PASCAL: 'pascal-case',
|
||||
SNAKE: 'snake-case',
|
||||
UPPER_SNAKE: 'upper-snake-case',
|
||||
};
|
||||
|
||||
const isTemplateMemberExpression = node =>
|
||||
@@ -55,6 +56,11 @@ export default context => ({
|
||||
context.report(node, getErrorMessage(NAMING_CONVENTIONS.SNAKE));
|
||||
}
|
||||
break;
|
||||
case NAMING_CONVENTIONS.UPPER_SNAKE:
|
||||
if (!/^[A-Z]([a-z]|[A-Z]|[0-9]|_)+$/.test(templateName)) {
|
||||
context.report(node, getErrorMessage(NAMING_CONVENTIONS.UPPER_SNAKE));
|
||||
}
|
||||
break;
|
||||
case NAMING_CONVENTIONS.CAMEL:
|
||||
default:
|
||||
if (!/^[a-z]([A-Z]|[a-z]|[0-9])+$/.test(templateName)) {
|
||||
|
||||
@@ -30,6 +30,10 @@ ruleTester.run('template-names', rule, {
|
||||
code: 'Template.foo_bar.helpers({})',
|
||||
options: ['snake-case'],
|
||||
},
|
||||
{
|
||||
code: 'Template.Foo_bar.helpers({})',
|
||||
options: ['upper-snake-case'],
|
||||
},
|
||||
{
|
||||
code: 'Template.fooBar.helpers({})',
|
||||
options: ['camel-case'],
|
||||
@@ -142,5 +146,16 @@ ruleTester.run('template-names', rule, {
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
code: 'Template["foo_bar"].helpers({})',
|
||||
options: ['upper-snake-case'],
|
||||
errors: [
|
||||
{
|
||||
message:
|
||||
'Invalid template name, expected name to be in upper-snake-case',
|
||||
type: 'MemberExpression',
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user