@cdklabs/eslint-plugin 1.4.2 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.d.ts CHANGED
@@ -11,4 +11,5 @@ export declare const rules: {
11
11
  'promiseall-no-unbounded-parallelism': any;
12
12
  'no-this-in-static': any;
13
13
  'no-evaluating-typeguard': any;
14
+ 'no-unconditional-token-allocation': any;
14
15
  };
package/lib/index.js CHANGED
@@ -15,5 +15,6 @@ exports.rules = {
15
15
  'promiseall-no-unbounded-parallelism': require('./rules/promiseall-no-unbounded-parallelism'),
16
16
  'no-this-in-static': require('./rules/no-this-in-static'),
17
17
  'no-evaluating-typeguard': require('./rules/no-evaluating-typeguard'),
18
+ 'no-unconditional-token-allocation': require('./rules/no-unconditional-token-allocation'),
18
19
  };
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDBEQUEwRDs7O0FBRTdDLFFBQUEsSUFBSSxHQUFHO0lBQ2xCLElBQUksRUFBRSxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxJQUFJO0lBQ3JDLE9BQU8sRUFBRSxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxPQUFPO0NBQzVDLENBQUM7QUFFVyxRQUFBLEtBQUssR0FBRztJQUNuQixtQkFBbUIsRUFBRSxPQUFPLENBQUMsMkJBQTJCLENBQUM7SUFDekQscUJBQXFCLEVBQUUsT0FBTyxDQUFDLDZCQUE2QixDQUFDO0lBQzdELHNCQUFzQixFQUFFLE9BQU8sQ0FBQyw4QkFBOEIsQ0FBQztJQUMvRCxpQkFBaUIsRUFBRSxPQUFPLENBQUMseUJBQXlCLENBQUM7SUFDckQsd0JBQXdCLEVBQUUsT0FBTyxDQUFDLGdDQUFnQyxDQUFDO0lBQ25FLHFDQUFxQyxFQUFFLE9BQU8sQ0FBQyw2Q0FBNkMsQ0FBQztJQUM3RixtQkFBbUIsRUFBRSxPQUFPLENBQUMsMkJBQTJCLENBQUM7SUFDekQseUJBQXlCLEVBQUUsT0FBTyxDQUFDLGlDQUFpQyxDQUFDO0NBQ3RFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzICovXG5cbmV4cG9ydCBjb25zdCBtZXRhID0ge1xuICBuYW1lOiByZXF1aXJlKCcuLi9wYWNrYWdlLmpzb24nKS5uYW1lLFxuICB2ZXJzaW9uOiByZXF1aXJlKCcuLi9wYWNrYWdlLmpzb24nKS52ZXJzaW9uLFxufTtcblxuZXhwb3J0IGNvbnN0IHJ1bGVzID0ge1xuICAnbm8tY29yZS1jb25zdHJ1Y3QnOiByZXF1aXJlKCcuL3J1bGVzL25vLWNvcmUtY29uc3RydWN0JyksXG4gICdpbnZhbGlkLWNmbi1pbXBvcnRzJzogcmVxdWlyZSgnLi9ydWxlcy9pbnZhbGlkLWNmbi1pbXBvcnRzJyksXG4gICduby1saXRlcmFsLXBhcnRpdGlvbic6IHJlcXVpcmUoJy4vcnVsZXMvbm8tbGl0ZXJhbC1wYXJ0aXRpb24nKSxcbiAgJ25vLWludmFsaWQtcGF0aCc6IHJlcXVpcmUoJy4vcnVsZXMvbm8taW52YWxpZC1wYXRoJyksXG4gICduby10aHJvdy1kZWZhdWx0LWVycm9yJzogcmVxdWlyZSgnLi9ydWxlcy9uby10aHJvdy1kZWZhdWx0LWVycm9yJyksXG4gICdwcm9taXNlYWxsLW5vLXVuYm91bmRlZC1wYXJhbGxlbGlzbSc6IHJlcXVpcmUoJy4vcnVsZXMvcHJvbWlzZWFsbC1uby11bmJvdW5kZWQtcGFyYWxsZWxpc20nKSxcbiAgJ25vLXRoaXMtaW4tc3RhdGljJzogcmVxdWlyZSgnLi9ydWxlcy9uby10aGlzLWluLXN0YXRpYycpLFxuICAnbm8tZXZhbHVhdGluZy10eXBlZ3VhcmQnOiByZXF1aXJlKCcuL3J1bGVzL25vLWV2YWx1YXRpbmctdHlwZWd1YXJkJyksXG59O1xuIl19
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDBEQUEwRDs7O0FBRTdDLFFBQUEsSUFBSSxHQUFHO0lBQ2xCLElBQUksRUFBRSxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxJQUFJO0lBQ3JDLE9BQU8sRUFBRSxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxPQUFPO0NBQzVDLENBQUM7QUFFVyxRQUFBLEtBQUssR0FBRztJQUNuQixtQkFBbUIsRUFBRSxPQUFPLENBQUMsMkJBQTJCLENBQUM7SUFDekQscUJBQXFCLEVBQUUsT0FBTyxDQUFDLDZCQUE2QixDQUFDO0lBQzdELHNCQUFzQixFQUFFLE9BQU8sQ0FBQyw4QkFBOEIsQ0FBQztJQUMvRCxpQkFBaUIsRUFBRSxPQUFPLENBQUMseUJBQXlCLENBQUM7SUFDckQsd0JBQXdCLEVBQUUsT0FBTyxDQUFDLGdDQUFnQyxDQUFDO0lBQ25FLHFDQUFxQyxFQUFFLE9BQU8sQ0FBQyw2Q0FBNkMsQ0FBQztJQUM3RixtQkFBbUIsRUFBRSxPQUFPLENBQUMsMkJBQTJCLENBQUM7SUFDekQseUJBQXlCLEVBQUUsT0FBTyxDQUFDLGlDQUFpQyxDQUFDO0lBQ3JFLG1DQUFtQyxFQUFFLE9BQU8sQ0FBQywyQ0FBMkMsQ0FBQztDQUMxRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0cyAqL1xuXG5leHBvcnQgY29uc3QgbWV0YSA9IHtcbiAgbmFtZTogcmVxdWlyZSgnLi4vcGFja2FnZS5qc29uJykubmFtZSxcbiAgdmVyc2lvbjogcmVxdWlyZSgnLi4vcGFja2FnZS5qc29uJykudmVyc2lvbixcbn07XG5cbmV4cG9ydCBjb25zdCBydWxlcyA9IHtcbiAgJ25vLWNvcmUtY29uc3RydWN0JzogcmVxdWlyZSgnLi9ydWxlcy9uby1jb3JlLWNvbnN0cnVjdCcpLFxuICAnaW52YWxpZC1jZm4taW1wb3J0cyc6IHJlcXVpcmUoJy4vcnVsZXMvaW52YWxpZC1jZm4taW1wb3J0cycpLFxuICAnbm8tbGl0ZXJhbC1wYXJ0aXRpb24nOiByZXF1aXJlKCcuL3J1bGVzL25vLWxpdGVyYWwtcGFydGl0aW9uJyksXG4gICduby1pbnZhbGlkLXBhdGgnOiByZXF1aXJlKCcuL3J1bGVzL25vLWludmFsaWQtcGF0aCcpLFxuICAnbm8tdGhyb3ctZGVmYXVsdC1lcnJvcic6IHJlcXVpcmUoJy4vcnVsZXMvbm8tdGhyb3ctZGVmYXVsdC1lcnJvcicpLFxuICAncHJvbWlzZWFsbC1uby11bmJvdW5kZWQtcGFyYWxsZWxpc20nOiByZXF1aXJlKCcuL3J1bGVzL3Byb21pc2VhbGwtbm8tdW5ib3VuZGVkLXBhcmFsbGVsaXNtJyksXG4gICduby10aGlzLWluLXN0YXRpYyc6IHJlcXVpcmUoJy4vcnVsZXMvbm8tdGhpcy1pbi1zdGF0aWMnKSxcbiAgJ25vLWV2YWx1YXRpbmctdHlwZWd1YXJkJzogcmVxdWlyZSgnLi9ydWxlcy9uby1ldmFsdWF0aW5nLXR5cGVndWFyZCcpLFxuICAnbm8tdW5jb25kaXRpb25hbC10b2tlbi1hbGxvY2F0aW9uJzogcmVxdWlyZSgnLi9ydWxlcy9uby11bmNvbmRpdGlvbmFsLXRva2VuLWFsbG9jYXRpb24nKSxcbn07XG4iXX0=
@@ -0,0 +1,4 @@
1
+ import { Rule } from 'eslint';
2
+ export declare const meta: Rule.RuleMetaData;
3
+ export declare const defaultOptions: {};
4
+ export declare function create(context: Rule.RuleContext): Rule.RuleListener;
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultOptions = exports.meta = void 0;
4
+ exports.create = create;
5
+ const utils_1 = require("@typescript-eslint/utils");
6
+ exports.meta = {
7
+ messages: {
8
+ avoidCall: '{{ calleeText }}: this will allocate an entry in a global table, even if the consumer never needs its result. Prefer to put this call in a (memoized) property getter instead.',
9
+ },
10
+ };
11
+ const DISALLOWED_CALLEES = [
12
+ 'this.getResourceNameAttribute',
13
+ 'this.getResourceArnAttribute',
14
+ 'Token.asString',
15
+ ];
16
+ exports.defaultOptions = {};
17
+ function create(context) {
18
+ const functionStack = [];
19
+ /**
20
+ * Whether this function is a constructor
21
+ */
22
+ function isConstructor(node) {
23
+ return node.parent.type === utils_1.AST_NODE_TYPES.MethodDefinition && node.parent.kind === 'constructor';
24
+ }
25
+ function maybeInteresting(node) {
26
+ return isConstructor(node);
27
+ }
28
+ /**
29
+ * Enter a function and see if it's interesting
30
+ */
31
+ function enterFunction(node) {
32
+ functionStack.push(maybeInteresting(node));
33
+ }
34
+ function exitFunction() {
35
+ functionStack.pop();
36
+ }
37
+ function currentInteresting() {
38
+ return functionStack.length > 0 ? functionStack[functionStack.length - 1] : false;
39
+ }
40
+ function onlyInInterestingFunction(fn) {
41
+ return ((...args) => {
42
+ if (currentInteresting()) {
43
+ return fn(...args);
44
+ }
45
+ return undefined;
46
+ });
47
+ }
48
+ /**
49
+ * Check the text what we're calling against a set of disallowed entries
50
+ */
51
+ function callExpression(node) {
52
+ const eslintNode = node;
53
+ const calleeText = context.sourceCode.getText(eslintNode.callee);
54
+ if (DISALLOWED_CALLEES.includes(calleeText)) {
55
+ context.report({
56
+ node: eslintNode,
57
+ messageId: 'avoidCall',
58
+ loc: eslintNode.loc ?? { line: 0, column: 0 },
59
+ data: {
60
+ calleeText,
61
+ },
62
+ });
63
+ }
64
+ }
65
+ return {
66
+ 'FunctionDeclaration': enterFunction,
67
+ 'FunctionExpression': enterFunction,
68
+ 'FunctionDeclaration:exit': exitFunction,
69
+ 'FunctionExpression:exit': exitFunction,
70
+ 'CallExpression': onlyInInterestingFunction(callExpression),
71
+ };
72
+ }
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tdW5jb25kaXRpb25hbC10b2tlbi1hbGxvY2F0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3J1bGVzL25vLXVuY29uZGl0aW9uYWwtdG9rZW4tYWxsb2NhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFtQkEsd0JBZ0VDO0FBbkZELG9EQUFvRTtBQUt2RCxRQUFBLElBQUksR0FBc0I7SUFDckMsUUFBUSxFQUFFO1FBQ1IsU0FBUyxFQUFFLGdMQUFnTDtLQUM1TDtDQUNGLENBQUM7QUFFRixNQUFNLGtCQUFrQixHQUFHO0lBQ3pCLCtCQUErQjtJQUMvQiw4QkFBOEI7SUFDOUIsZ0JBQWdCO0NBQ2pCLENBQUM7QUFFVyxRQUFBLGNBQWMsR0FBRyxFQUFFLENBQUM7QUFFakMsU0FBZ0IsTUFBTSxDQUFDLE9BQXlCO0lBQzlDLE1BQU0sYUFBYSxHQUFtQixFQUFFLENBQUM7SUFFekM7O09BRUc7SUFDSCxTQUFTLGFBQWEsQ0FBQyxJQUFnRTtRQUNyRixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLHNCQUFjLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDO0lBQ3BHLENBQUM7SUFFRCxTQUFTLGdCQUFnQixDQUFDLElBQWdFO1FBQ3hGLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVMsYUFBYSxDQUFDLElBQXdGO1FBQzdHLGFBQWEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsU0FBUyxZQUFZO1FBQ25CLGFBQWEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsU0FBUyxrQkFBa0I7UUFDekIsT0FBTyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNwRixDQUFDO0lBRUQsU0FBUyx5QkFBeUIsQ0FBcUIsRUFBSztRQUMxRCxPQUFPLENBQUMsQ0FBQyxHQUFHLElBQVcsRUFBRSxFQUFFO1lBQ3pCLElBQUksa0JBQWtCLEVBQUUsRUFBRSxDQUFDO2dCQUN6QixPQUFPLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1lBQ3JCLENBQUM7WUFDRCxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDLENBQVEsQ0FBQztJQUNaLENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVMsY0FBYyxDQUFDLElBQTZCO1FBQ25ELE1BQU0sVUFBVSxHQUFHLElBQXNCLENBQUM7UUFDMUMsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRWpFLElBQUksa0JBQWtCLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDNUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztnQkFDYixJQUFJLEVBQUUsVUFBVTtnQkFDaEIsU0FBUyxFQUFFLFdBQVc7Z0JBQ3RCLEdBQUcsRUFBRSxVQUFVLENBQUMsR0FBRyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFO2dCQUM3QyxJQUFJLEVBQUU7b0JBQ0osVUFBVTtpQkFDWDthQUNGLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTztRQUNMLHFCQUFxQixFQUFFLGFBQW9CO1FBQzNDLG9CQUFvQixFQUFFLGFBQW9CO1FBQzFDLDBCQUEwQixFQUFFLFlBQVk7UUFDeEMseUJBQXlCLEVBQUUsWUFBWTtRQUN2QyxnQkFBZ0IsRUFBRSx5QkFBeUIsQ0FBQyxjQUFjLENBQVE7S0FDbkUsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBU1RfTk9ERV9UWVBFUywgVFNFU1RyZWUgfSBmcm9tICdAdHlwZXNjcmlwdC1lc2xpbnQvdXRpbHMnO1xuaW1wb3J0IHsgUnVsZSB9IGZyb20gJ2VzbGludCc7XG5pbXBvcnQgdHlwZSB7IENhbGxFeHByZXNzaW9uIH0gZnJvbSAnZXN0cmVlJztcbmltcG9ydCBOb2RlUGFyZW50RXh0ZW5zaW9uID0gUnVsZS5Ob2RlUGFyZW50RXh0ZW5zaW9uO1xuXG5leHBvcnQgY29uc3QgbWV0YTogUnVsZS5SdWxlTWV0YURhdGEgPSB7XG4gIG1lc3NhZ2VzOiB7XG4gICAgYXZvaWRDYWxsOiAne3sgY2FsbGVlVGV4dCB9fTogdGhpcyB3aWxsIGFsbG9jYXRlIGFuIGVudHJ5IGluIGEgZ2xvYmFsIHRhYmxlLCBldmVuIGlmIHRoZSBjb25zdW1lciBuZXZlciBuZWVkcyBpdHMgcmVzdWx0LiBQcmVmZXIgdG8gcHV0IHRoaXMgY2FsbCBpbiBhIChtZW1vaXplZCkgcHJvcGVydHkgZ2V0dGVyIGluc3RlYWQuJyxcbiAgfSxcbn07XG5cbmNvbnN0IERJU0FMTE9XRURfQ0FMTEVFUyA9IFtcbiAgJ3RoaXMuZ2V0UmVzb3VyY2VOYW1lQXR0cmlidXRlJyxcbiAgJ3RoaXMuZ2V0UmVzb3VyY2VBcm5BdHRyaWJ1dGUnLFxuICAnVG9rZW4uYXNTdHJpbmcnLFxuXTtcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRPcHRpb25zID0ge307XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGUoY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCk6IFJ1bGUuUnVsZUxpc3RlbmVyIHtcbiAgY29uc3QgZnVuY3Rpb25TdGFjazogQXJyYXk8Ym9vbGVhbj4gPSBbXTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGlzIGZ1bmN0aW9uIGlzIGEgY29uc3RydWN0b3JcbiAgICovXG4gIGZ1bmN0aW9uIGlzQ29uc3RydWN0b3Iobm9kZTogVFNFU1RyZWUuRnVuY3Rpb25EZWNsYXJhdGlvbiB8IFRTRVNUcmVlLkZ1bmN0aW9uRXhwcmVzc2lvbikge1xuICAgIHJldHVybiBub2RlLnBhcmVudC50eXBlID09PSBBU1RfTk9ERV9UWVBFUy5NZXRob2REZWZpbml0aW9uICYmIG5vZGUucGFyZW50LmtpbmQgPT09ICdjb25zdHJ1Y3Rvcic7XG4gIH1cblxuICBmdW5jdGlvbiBtYXliZUludGVyZXN0aW5nKG5vZGU6IFRTRVNUcmVlLkZ1bmN0aW9uRGVjbGFyYXRpb24gfCBUU0VTVHJlZS5GdW5jdGlvbkV4cHJlc3Npb24pOiAodHlwZW9mIGZ1bmN0aW9uU3RhY2spW251bWJlcl0ge1xuICAgIHJldHVybiBpc0NvbnN0cnVjdG9yKG5vZGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVudGVyIGEgZnVuY3Rpb24gYW5kIHNlZSBpZiBpdCdzIGludGVyZXN0aW5nXG4gICAqL1xuICBmdW5jdGlvbiBlbnRlckZ1bmN0aW9uKG5vZGU6IChUU0VTVHJlZS5GdW5jdGlvbkRlY2xhcmF0aW9uIHwgVFNFU1RyZWUuRnVuY3Rpb25FeHByZXNzaW9uKSAmIE5vZGVQYXJlbnRFeHRlbnNpb24pIHtcbiAgICBmdW5jdGlvblN0YWNrLnB1c2gobWF5YmVJbnRlcmVzdGluZyhub2RlKSk7XG4gIH1cblxuICBmdW5jdGlvbiBleGl0RnVuY3Rpb24oKSB7XG4gICAgZnVuY3Rpb25TdGFjay5wb3AoKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGN1cnJlbnRJbnRlcmVzdGluZygpOiAodHlwZW9mIGZ1bmN0aW9uU3RhY2spW251bWJlcl0ge1xuICAgIHJldHVybiBmdW5jdGlvblN0YWNrLmxlbmd0aCA+IDAgPyBmdW5jdGlvblN0YWNrW2Z1bmN0aW9uU3RhY2subGVuZ3RoIC0gMV0gOiBmYWxzZTtcbiAgfVxuXG4gIGZ1bmN0aW9uIG9ubHlJbkludGVyZXN0aW5nRnVuY3Rpb248QSBleHRlbmRzIEZ1bmN0aW9uPihmbjogQSk6IEEge1xuICAgIHJldHVybiAoKC4uLmFyZ3M6IGFueVtdKSA9PiB7XG4gICAgICBpZiAoY3VycmVudEludGVyZXN0aW5nKCkpIHtcbiAgICAgICAgcmV0dXJuIGZuKC4uLmFyZ3MpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9KSBhcyBhbnk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgdGhlIHRleHQgd2hhdCB3ZSdyZSBjYWxsaW5nIGFnYWluc3QgYSBzZXQgb2YgZGlzYWxsb3dlZCBlbnRyaWVzXG4gICAqL1xuICBmdW5jdGlvbiBjYWxsRXhwcmVzc2lvbihub2RlOiBUU0VTVHJlZS5DYWxsRXhwcmVzc2lvbikge1xuICAgIGNvbnN0IGVzbGludE5vZGUgPSBub2RlIGFzIENhbGxFeHByZXNzaW9uO1xuICAgIGNvbnN0IGNhbGxlZVRleHQgPSBjb250ZXh0LnNvdXJjZUNvZGUuZ2V0VGV4dChlc2xpbnROb2RlLmNhbGxlZSk7XG5cbiAgICBpZiAoRElTQUxMT1dFRF9DQUxMRUVTLmluY2x1ZGVzKGNhbGxlZVRleHQpKSB7XG4gICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgIG5vZGU6IGVzbGludE5vZGUsXG4gICAgICAgIG1lc3NhZ2VJZDogJ2F2b2lkQ2FsbCcsXG4gICAgICAgIGxvYzogZXNsaW50Tm9kZS5sb2MgPz8geyBsaW5lOiAwLCBjb2x1bW46IDAgfSxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIGNhbGxlZVRleHQsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgICdGdW5jdGlvbkRlY2xhcmF0aW9uJzogZW50ZXJGdW5jdGlvbiBhcyBhbnksXG4gICAgJ0Z1bmN0aW9uRXhwcmVzc2lvbic6IGVudGVyRnVuY3Rpb24gYXMgYW55LFxuICAgICdGdW5jdGlvbkRlY2xhcmF0aW9uOmV4aXQnOiBleGl0RnVuY3Rpb24sXG4gICAgJ0Z1bmN0aW9uRXhwcmVzc2lvbjpleGl0JzogZXhpdEZ1bmN0aW9uLFxuICAgICdDYWxsRXhwcmVzc2lvbic6IG9ubHlJbkludGVyZXN0aW5nRnVuY3Rpb24oY2FsbEV4cHJlc3Npb24pIGFzIGFueSxcbiAgfTtcbn1cbiJdfQ==
package/package.json CHANGED
@@ -42,7 +42,7 @@
42
42
  "@types/node": "^18",
43
43
  "@typescript-eslint/eslint-plugin": "^8",
44
44
  "@typescript-eslint/parser": "^8",
45
- "@typescript-eslint/rule-tester": "^8.52.0",
45
+ "@typescript-eslint/rule-tester": "^8.53.0",
46
46
  "cdklabs-projen-project-types": "^0.3.7",
47
47
  "commit-and-tag-version": "^12",
48
48
  "constructs": "^10.0.0",
@@ -61,7 +61,7 @@
61
61
  "eslint": ">=6 <9"
62
62
  },
63
63
  "dependencies": {
64
- "@typescript-eslint/utils": "^8.52.0",
64
+ "@typescript-eslint/utils": "^8.53.0",
65
65
  "fs-extra": "^11.3.3",
66
66
  "typescript": "^5.9.3"
67
67
  },
@@ -73,7 +73,7 @@
73
73
  "publishConfig": {
74
74
  "access": "public"
75
75
  },
76
- "version": "1.4.2",
76
+ "version": "1.5.0",
77
77
  "jest": {
78
78
  "coverageProvider": "v8",
79
79
  "testMatch": [