feat(template-names): add upper-snake-case

closes #323
This commit is contained in:
Dominik Ferber
2017-07-24 11:00:23 +02:00
parent 840bb24b25
commit 4e3f8b6134
2 changed files with 21 additions and 0 deletions

View File

@@ -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)) {

View File

@@ -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',
},
],
},
],
});