diff --git a/its/ruling/src/test/expected/jsts/file-for-rules/javascript-S1848.json b/its/ruling/src/test/expected/jsts/file-for-rules/javascript-S1848.json index e7d1508a4e0..cacced9a470 100644 --- a/its/ruling/src/test/expected/jsts/file-for-rules/javascript-S1848.json +++ b/its/ruling/src/test/expected/jsts/file-for-rules/javascript-S1848.json @@ -1,75 +1,5 @@ { -"file-for-rules:S4423.js": [ -3 -], -"file-for-rules:S5332.js": [ -6, -11, -15, -41, -60, -76, -81 -], -"file-for-rules:S6245.js": [ -3, -9, -14 -], -"file-for-rules:S6252.js": [ -4, -9 -], -"file-for-rules:S6265.js": [ -8, -14, -24 -], -"file-for-rules:S6270.js": [ -104 -], -"file-for-rules:S6281.js": [ -3, -8 -], -"file-for-rules:S6302.js": [ -47, -82 -], -"file-for-rules:S6303.js": [ -3, -4 -], "file-for-rules:S6304.js": [ -49, -78, 105 -], -"file-for-rules:S6319.js": [ -2 -], -"file-for-rules:S6321.js": [ -69, -108, -118, -126 -], -"file-for-rules:S6327.js": [ -3, -4 -], -"file-for-rules:S6329.js": [ -86, -123, -130, -138 -], -"file-for-rules:S6332.js": [ -3, -4 -], -"file-for-rules:S6333.js": [ -28, -48 ] } diff --git a/packages/jsts/src/rules/S1848/rule.ts b/packages/jsts/src/rules/S1848/rule.ts index 06ac2fa7c7b..96b73904c2d 100644 --- a/packages/jsts/src/rules/S1848/rule.ts +++ b/packages/jsts/src/rules/S1848/rule.ts @@ -99,5 +99,5 @@ function isException( } const fqn = getFullyQualifiedName(context, node); - return fqn === 'vue' || fqn === '@ag-grid-community.core.Grid'; + return fqn === 'vue' || fqn === '@ag-grid-community.core.Grid' || fqn?.startsWith('aws-cdk-lib'); } diff --git a/packages/jsts/src/rules/S1848/unit.test.ts b/packages/jsts/src/rules/S1848/unit.test.ts index 7329bd7350b..a70d8fa7bb1 100644 --- a/packages/jsts/src/rules/S1848/unit.test.ts +++ b/packages/jsts/src/rules/S1848/unit.test.ts @@ -17,10 +17,10 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { RuleTester } from 'eslint'; +import { TypeScriptRuleTester } from '../tools'; import { rule } from './'; -const ruleTester = new RuleTester({ parserOptions: { ecmaVersion: 2018, sourceType: 'module' } }); +const ruleTester = new TypeScriptRuleTester(); ruleTester.run(`Objects should not be created to be dropped immediately without being used`, rule, { valid: [ @@ -72,6 +72,17 @@ ruleTester.run(`Objects should not be created to be dropped immediately without new Grid(); `, }, + { + code: ` +import * as s3 from 'aws-cdk-lib/aws-s3'; +export class Stack extends cdk.Stack { + constructor(scope: Construct, id: string, props?: cdk.StackProps) { + super(scope, id, props); + + new s3.Bucket(this, 'TempBucket', {}); + } +}`, + }, ], invalid: [ {