Skip to content

Commit

Permalink
fix(deprecated-api-modules): Point to property where it defined
Browse files Browse the repository at this point in the history
  • Loading branch information
unlight committed Dec 31, 2017
1 parent 2a989c3 commit 463b5dc
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 5 deletions.
2 changes: 1 addition & 1 deletion src/deprecated-api-modules/deprecated-api-modules.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ RuleTester.setDefaultConfig({

ruleTester.run('deprecated-api-modules', deprecatedApiModules, {
invalid: [
{ code: `@Module({ modules: [DatabaseModule] }) export class CatModule { }`, errors: [{ message }] },
{ code: `@Module({ modules: [DatabaseModule] }) export class CatModule { }`, errors: [{ message, column: 11 }] },
],
valid: [
{ code: `@Module({ imports: [DatabaseModule] }) export class CatModule { }`, errors: [{}] },
Expand Down
9 changes: 5 additions & 4 deletions src/deprecated-api-modules/deprecated-api-modules.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,21 @@ export const deprecatedApiModules = {
create(context) {
return {
ClassDeclaration: (node) => {
if (hasModulesProperty(node)) {
context.report({ node, message });
const property = getModuleModulesProperty(node);
if (property) {
context.report({ node: property, message });
}
}
};
}
};

function hasModulesProperty(node) {
function getModuleModulesProperty(node) {
const decorator = (node.decorators || []).find(d => d.expression && d.expression.callee && d.expression.callee.name === 'Module');
if (!decorator) {
return false;
}
const [argument] = decorator.expression.arguments;
const result = (argument.type === 'ObjectExpression') && (argument.properties || []).some(property => property.key && property.key.name === 'modules');
const result = (argument.type === 'ObjectExpression') && (argument.properties || []).find(property => property.key && property.key.name === 'modules');
return result;
}

0 comments on commit 463b5dc

Please sign in to comment.