eslint-plugin-sdl-2 1.0.4 → 1.0.5

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.
Files changed (34) hide show
  1. package/dist/_internal/ast-utils.d.ts.map +1 -1
  2. package/dist/_internal/ast-utils.js +11 -15
  3. package/dist/_internal/ast-utils.js.map +1 -1
  4. package/dist/_internal/script-element.js +0 -1
  5. package/dist/_internal/script-element.js.map +1 -1
  6. package/dist/plugin.cjs +61 -60
  7. package/dist/plugin.cjs.map +2 -2
  8. package/dist/rules/no-angular-bypass-security-trust-html.js +0 -1
  9. package/dist/rules/no-angular-bypass-security-trust-html.js.map +1 -1
  10. package/dist/rules/no-angularjs-sce-resource-url-wildcard.js +0 -1
  11. package/dist/rules/no-angularjs-sce-resource-url-wildcard.js.map +1 -1
  12. package/dist/rules/no-cookies.js +0 -1
  13. package/dist/rules/no-cookies.js.map +1 -1
  14. package/dist/rules/no-document-execcommand-insert-html.js +0 -1
  15. package/dist/rules/no-document-execcommand-insert-html.js.map +1 -1
  16. package/dist/rules/no-document-parse-html-unsafe.js +0 -1
  17. package/dist/rules/no-document-parse-html-unsafe.js.map +1 -1
  18. package/dist/rules/no-electron-expose-raw-ipc-renderer.js +0 -1
  19. package/dist/rules/no-electron-expose-raw-ipc-renderer.js.map +1 -1
  20. package/dist/rules/no-html-method.js +0 -1
  21. package/dist/rules/no-html-method.js.map +1 -1
  22. package/dist/rules/no-http-request-to-insecure-protocol.js +0 -1
  23. package/dist/rules/no-http-request-to-insecure-protocol.js.map +1 -1
  24. package/dist/rules/no-insecure-random.js +0 -1
  25. package/dist/rules/no-insecure-random.js.map +1 -1
  26. package/dist/rules/no-postmessage-without-origin-allowlist.js +0 -1
  27. package/dist/rules/no-postmessage-without-origin-allowlist.js.map +1 -1
  28. package/dist/rules/no-range-create-contextual-fragment.js +0 -1
  29. package/dist/rules/no-range-create-contextual-fragment.js.map +1 -1
  30. package/dist/rules/no-unsafe-alloc.js +0 -1
  31. package/dist/rules/no-unsafe-alloc.js.map +1 -1
  32. package/dist/rules/no-window-open-without-noopener.js +0 -1
  33. package/dist/rules/no-window-open-without-noopener.js.map +1 -1
  34. package/package.json +53 -53
@@ -1 +1 @@
1
- {"version":3,"file":"ast-utils.d.ts","sourceRoot":"","sources":["../../src/_internal/ast-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEnE,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAIjC,KAAK,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;AA8CrE,mFAAmF;AACnF,eAAO,MAAM,sBAAsB,GAAI,SAAS,WAAW,KAAG,OACrB,CAAC;AAE1C,8EAA8E;AAC9E,eAAO,MAAM,kBAAkB,GAC3B,SAAS,WAAW,KACrB,EAAE,CAAC,WAAW,GAAG,SACoC,CAAC;AAEzD,uEAAuE;AACvE,eAAO,MAAM,mBAAmB,GAC5B,iBAAiB,QAAQ,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,SAAS,EACrD,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,SAAS,EAChD,SAAS,WAAW,KACrB,MAwBF,CAAC;AAuDF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GACzB,MAAM,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAC7B,SAAS,WAAW,EACpB,iBAAiB,QAAQ,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,SAAS,KACtD,OAgBF,CAAC"}
1
+ {"version":3,"file":"ast-utils.d.ts","sourceRoot":"","sources":["../../src/_internal/ast-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAKnE,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAIjC,KAAK,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;AA6CrE,mFAAmF;AACnF,eAAO,MAAM,sBAAsB,GAAI,SAAS,WAAW,KAAG,OACrB,CAAC;AAE1C,8EAA8E;AAC9E,eAAO,MAAM,kBAAkB,GAC3B,SAAS,WAAW,KACrB,EAAE,CAAC,WAAW,GAAG,SACoC,CAAC;AAEzD,uEAAuE;AACvE,eAAO,MAAM,mBAAmB,GAC5B,iBAAiB,QAAQ,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,SAAS,EACrD,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,SAAS,EAChD,SAAS,WAAW,KACrB,MAoBF,CAAC;AAuDF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GACzB,MAAM,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAC7B,SAAS,WAAW,EACpB,iBAAiB,QAAQ,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,SAAS,KACtD,OAgBF,CAAC"}
@@ -1,19 +1,15 @@
1
- import { isDefined, safeCastTo } from "ts-extras";
2
- const isMapLike = (value) => typeof value === "object" &&
3
- value !== null &&
4
- typeof safeCastTo(value).get === "function";
5
- const isProgramLike = (value) => typeof value === "object" &&
6
- value !== null &&
7
- typeof safeCastTo(value).getTypeChecker ===
8
- "function";
1
+ import { isDefined } from "ts-extras";
2
+ const isUnknownRecord = (value) => typeof value === "object" && value !== null;
3
+ const isMapLike = (value) => isUnknownRecord(value) && typeof value["get"] === "function";
4
+ const isProgramLike = (value) => isUnknownRecord(value) && typeof value["getTypeChecker"] === "function";
9
5
  const isTypeScriptParserServices = (parserServices) => {
10
- if (typeof parserServices !== "object" || parserServices === null) {
6
+ if (!isUnknownRecord(parserServices)) {
11
7
  return false;
12
8
  }
13
- const candidate = safeCastTo(parserServices);
14
- return (isProgramLike(candidate.program) &&
15
- isMapLike(candidate.esTreeNodeToTSNodeMap) &&
16
- isMapLike(candidate.tsNodeToESTreeNodeMap));
9
+ const candidate = parserServices;
10
+ return (isProgramLike(candidate["program"]) &&
11
+ isMapLike(candidate["esTreeNodeToTSNodeMap"]) &&
12
+ isMapLike(candidate["tsNodeToESTreeNodeMap"]));
17
13
  };
18
14
  const getParserServices = (context) => {
19
15
  const parserServices = context.sourceCode.parserServices;
@@ -34,11 +30,11 @@ export const getNodeTypeAsString = (fullTypeChecker, node, context) => {
34
30
  if (!isDefined(parserServices)) {
35
31
  return "any";
36
32
  }
37
- const tsNode = parserServices.esTreeNodeToTSNodeMap.get(safeCastTo(node));
33
+ const tsNode = parserServices.esTreeNodeToTSNodeMap.get(node);
38
34
  if (!isDefined(tsNode)) {
39
35
  return "any";
40
36
  }
41
- const tsType = fullTypeChecker.getTypeAtLocation(safeCastTo(tsNode));
37
+ const tsType = fullTypeChecker.getTypeAtLocation(tsNode);
42
38
  return fullTypeChecker.typeToString(tsType);
43
39
  };
44
40
  const isWindowIdentifierName = (name) => name.toLowerCase().endsWith("window");
@@ -1 +1 @@
1
- {"version":3,"file":"ast-utils.js","sourceRoot":"","sources":["../../src/_internal/ast-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast-utils.js","sourceRoot":"","sources":["../../src/_internal/ast-utils.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAYtC,MAAM,eAAe,GAAG,CAAC,KAAc,EAAgC,EAAE,CACrE,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AAEhD,MAAM,SAAS,GAAG,CAAC,KAAc,EAAiC,EAAE,CAChE,eAAe,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,UAAU,CAAC;AAEjE,MAAM,aAAa,GAAG,CAAC,KAAc,EAAuB,EAAE,CAC1D,eAAe,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,gBAAgB,CAAC,KAAK,UAAU,CAAC;AAE5E,MAAM,0BAA0B,GAAG,CAC/B,cAAuB,EACmB,EAAE;IAC5C,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,SAAS,GAAG,cAAc,CAAC;IAEjC,OAAO,CACH,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACnC,SAAS,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;QAC7C,SAAS,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC,CAChD,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CACtB,OAAoB,EACgB,EAAE;IACtC,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC;IAEzD,OAAO,0BAA0B,CAAC,cAAc,CAAC;QAC7C,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,SAAS,CAAC;AACpB,CAAC,CAAC;AAEF,mFAAmF;AACnF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,OAAoB,EAAW,EAAE,CACpE,SAAS,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;AAE1C,8EAA8E;AAC9E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAC9B,OAAoB,EACM,EAAE,CAC5B,iBAAiB,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC;AAEzD,uEAAuE;AACvE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAC/B,eAAqD,EACrD,IAAgD,EAChD,OAAoB,EACd,EAAE;IACR,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACrE,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAElD,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,MAAM,GAAG,cAAc,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAE9D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,MAAM,GAAG,eAAe,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAEzD,OAAO,eAAe,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,IAAY,EAAW,EAAE,CACrD,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAE1C,MAAM,qBAAqB,GAAG,CAC1B,IAAyC,EACvB,EAAE;IACpB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC9B,CAAC;IAED,IACI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS;QAChC,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,QAAQ,EACzC,CAAC;QACC,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC/B,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAC9B,IAAyC,EAClC,EAAE;IACT,MAAM,YAAY,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAEjD,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACpC,OAAO,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE9D,IAAI,kBAAkB,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CACH,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY;QACxC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,CAC3C,CAAC;AACN,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC5B,IAA6B,EAC7B,OAAoB,EACpB,eAAqD,EAC9C,EAAE;IACT,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,CACH,mBAAmB,CAAC,eAAe,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,UAAU,CACrE,CAAC;IACN,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC;IACpC,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QACnC,OAAO,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC"}
@@ -42,5 +42,4 @@ export const isLikelyScriptElement = (node, context, fullTypeChecker) => {
42
42
  (propertyName === "currentScript" ||
43
43
  isLikelyScriptIdentifierName(propertyName)));
44
44
  };
45
- /* eslint-enable @typescript-eslint/prefer-readonly-parameter-types -- Restore linting after script element helper declarations. */
46
45
  //# sourceMappingURL=script-element.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"script-element.js","sourceRoot":"","sources":["../../src/_internal/script-element.ts"],"names":[],"mappings":"AAGA,OAAO,EAA2B,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAKhF,MAAM,4BAA4B,GAAG,CAAC,cAAsB,EAAW,EAAE,CACrE,cAAc,KAAK,eAAe;IAClC,cAAc,KAAK,QAAQ;IAC3B,cAAc,KAAK,eAAe;IAClC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACjC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC;IACxC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC;IAClC,cAAc,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AAE/C,MAAM,yBAAyB,GAAG,CAAC,IAAmB,EAAW,EAAE;IAC/D,IACI,IAAI,CAAC,IAAI,KAAK,gBAAgB;QAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,kBAAkB,EACzC,CAAC;QACC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,eAAe,EAAE,CAAC;QACzD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;IAEvC,OAAO,CACH,aAAa,KAAK,SAAS;QAC3B,aAAa,CAAC,IAAI,KAAK,eAAe;QACtC,oBAAoB,CAAC,aAAa,CAAC,KAAK,QAAQ,CACnD,CAAC;AACN,CAAC,CAAC;AAEF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACjC,IAAmB,EACnB,OAA4B,EAC5B,eAAsD,EAC/C,EAAE;IACT,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,eAAe,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAErE,IAAI,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED,IAAI,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAC7B,OAAO,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,YAAY,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAEjD,OAAO,CACH,OAAO,YAAY,KAAK,QAAQ;QAChC,CAAC,YAAY,KAAK,eAAe;YAC7B,4BAA4B,CAAC,YAAY,CAAC,CAAC,CAClD,CAAC;AACN,CAAC,CAAC;AAEF,mIAAmI"}
1
+ {"version":3,"file":"script-element.js","sourceRoot":"","sources":["../../src/_internal/script-element.ts"],"names":[],"mappings":"AAGA,OAAO,EAA2B,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAKhF,MAAM,4BAA4B,GAAG,CAAC,cAAsB,EAAW,EAAE,CACrE,cAAc,KAAK,eAAe;IAClC,cAAc,KAAK,QAAQ;IAC3B,cAAc,KAAK,eAAe;IAClC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACjC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC;IACxC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC;IAClC,cAAc,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AAE/C,MAAM,yBAAyB,GAAG,CAAC,IAAmB,EAAW,EAAE;IAC/D,IACI,IAAI,CAAC,IAAI,KAAK,gBAAgB;QAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,kBAAkB,EACzC,CAAC;QACC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,eAAe,EAAE,CAAC;QACzD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;IAEvC,OAAO,CACH,aAAa,KAAK,SAAS;QAC3B,aAAa,CAAC,IAAI,KAAK,eAAe;QACtC,oBAAoB,CAAC,aAAa,CAAC,KAAK,QAAQ,CACnD,CAAC;AACN,CAAC,CAAC;AAEF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACjC,IAAmB,EACnB,OAA4B,EAC5B,eAAsD,EAC/C,EAAE;IACT,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,eAAe,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAErE,IAAI,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED,IAAI,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAC7B,OAAO,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,YAAY,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAEjD,OAAO,CACH,OAAO,YAAY,KAAK,QAAQ;QAChC,CAAC,YAAY,KAAK,eAAe;YAC7B,4BAA4B,CAAC,YAAY,CAAC,CAAC,CAClD,CAAC;AACN,CAAC,CAAC"}
package/dist/plugin.cjs CHANGED
@@ -42,7 +42,7 @@ var import_eslint_plugin_security = __toESM(require("eslint-plugin-security"), 1
42
42
  var package_default = {
43
43
  $schema: "https://www.schemastore.org/package.json",
44
44
  name: "eslint-plugin-sdl-2",
45
- version: "1.0.4",
45
+ version: "1.0.5",
46
46
  private: false,
47
47
  description: "ESLint plugin providing SDL-focused security and platform hardening rules.",
48
48
  keywords: [
@@ -121,7 +121,7 @@ var package_default = {
121
121
  "build:clean": `node -e "require('node:fs').rmSync('dist',{recursive:true,force:true})"`,
122
122
  "build:eslint-inspector": 'npx -y @eslint/config-inspector@1.4.2 build --outDir "docs/docusaurus/static/eslint-inspector" --base "/eslint-plugin-SDL-2/eslint-inspector/"',
123
123
  "build:eslint-inspector:local": "npx @eslint/config-inspector",
124
- "build:stylelint-inspector": 'npx -y stylelint-config-inspector@latest build --outDir "docs/docusaurus/static/stylelint-inspector" --base "/eslint-plugin-typefest/stylelint-inspector/"',
124
+ "build:stylelint-inspector": 'npx -y stylelint-config-inspector@latest build --outDir "docs/docusaurus/static/stylelint-inspector" --base "/eslint-plugin-SDL-2/stylelint-inspector/"',
125
125
  "build:stylelint-inspector:local": "npx stylelint-config-inspector@latest",
126
126
  "build:types:cjs": `node -e "require('node:fs').copyFileSync('dist/plugin.d.ts','dist/plugin.d.cts')"`,
127
127
  "changelog:generate": "git-cliff --config cliff.toml --output CHANGELOG.md",
@@ -258,18 +258,18 @@ var package_default = {
258
258
  "jsonc-eslint-parser": "$jsonc-eslint-parser"
259
259
  },
260
260
  dependencies: {
261
- "@typescript-eslint/parser": "^8.57.1",
262
- "@typescript-eslint/type-utils": "^8.57.1",
263
- "@typescript-eslint/utils": "^8.57.1",
264
- "ts-extras": "^0.17.0",
265
- "type-fest": "^5.4.4"
261
+ "@typescript-eslint/parser": "^8.57.2",
262
+ "@typescript-eslint/type-utils": "^8.57.2",
263
+ "@typescript-eslint/utils": "^8.57.2",
264
+ "ts-extras": "^0.19.0",
265
+ "type-fest": "^5.5.0"
266
266
  },
267
267
  devDependencies: {
268
268
  "@arethetypeswrong/cli": "^0.18.2",
269
269
  "@csstools/stylelint-formatter-github": "^2.0.0",
270
270
  "@docusaurus/eslint-plugin": "^3.9.2",
271
271
  "@double-great/remark-lint-alt-text": "^1.1.1",
272
- "@double-great/stylelint-a11y": "^3.4.6",
272
+ "@double-great/stylelint-a11y": "^3.4.8",
273
273
  "@eslint-community/eslint-plugin-eslint-comments": "^4.7.1",
274
274
  "@eslint-react/eslint-plugin": "^3.0.0",
275
275
  "@eslint/compat": "^2.0.3",
@@ -277,26 +277,26 @@ var package_default = {
277
277
  "@eslint/config-inspector": "^1.5.0",
278
278
  "@eslint/css": "^1.0.0",
279
279
  "@eslint/js": "^10.0.1",
280
- "@eslint/json": "^1.1.0",
281
- "@eslint/markdown": "^7.5.1",
280
+ "@eslint/json": "^1.2.0",
281
+ "@eslint/markdown": "^8.0.0",
282
282
  "@html-eslint/eslint-plugin": "^0.58.1",
283
283
  "@html-eslint/parser": "^0.58.1",
284
284
  "@microsoft/eslint-plugin-sdl": "^1.1.0",
285
285
  "@microsoft/tsdoc-config": "^0.18.1",
286
- "@secretlint/secretlint-rule-anthropic": "^11.3.1",
287
- "@secretlint/secretlint-rule-aws": "^11.3.1",
288
- "@secretlint/secretlint-rule-database-connection-string": "^11.3.1",
289
- "@secretlint/secretlint-rule-gcp": "^11.3.1",
290
- "@secretlint/secretlint-rule-github": "^11.3.1",
291
- "@secretlint/secretlint-rule-no-dotenv": "^11.3.1",
292
- "@secretlint/secretlint-rule-no-homedir": "^11.3.1",
293
- "@secretlint/secretlint-rule-npm": "^11.3.1",
294
- "@secretlint/secretlint-rule-openai": "^11.3.1",
295
- "@secretlint/secretlint-rule-pattern": "^11.3.1",
296
- "@secretlint/secretlint-rule-preset-recommend": "^11.3.1",
297
- "@secretlint/secretlint-rule-privatekey": "^11.3.1",
298
- "@secretlint/secretlint-rule-secp256k1-privatekey": "^11.3.1",
299
- "@secretlint/types": "^11.3.1",
286
+ "@secretlint/secretlint-rule-anthropic": "^11.4.0",
287
+ "@secretlint/secretlint-rule-aws": "^11.4.0",
288
+ "@secretlint/secretlint-rule-database-connection-string": "^11.4.0",
289
+ "@secretlint/secretlint-rule-gcp": "^11.4.0",
290
+ "@secretlint/secretlint-rule-github": "^11.4.0",
291
+ "@secretlint/secretlint-rule-no-dotenv": "^11.4.0",
292
+ "@secretlint/secretlint-rule-no-homedir": "^11.4.0",
293
+ "@secretlint/secretlint-rule-npm": "^11.4.0",
294
+ "@secretlint/secretlint-rule-openai": "^11.4.0",
295
+ "@secretlint/secretlint-rule-pattern": "^11.4.0",
296
+ "@secretlint/secretlint-rule-preset-recommend": "^11.4.0",
297
+ "@secretlint/secretlint-rule-privatekey": "^11.4.0",
298
+ "@secretlint/secretlint-rule-secp256k1-privatekey": "^11.4.0",
299
+ "@secretlint/types": "^11.4.0",
300
300
  "@softonus/prettier-plugin-duplicate-remover": "^1.1.2",
301
301
  "@stryker-ignorer/console-all": "^0.3.2",
302
302
  "@stryker-mutator/core": "^9.6.0",
@@ -319,11 +319,11 @@ var package_default = {
319
319
  "@types/postcss-normalize": "^9.0.4",
320
320
  "@types/postcss-reporter": "^7.0.5",
321
321
  "@types/sloc": "^0.2.3",
322
- "@typescript-eslint/eslint-plugin": "^8.57.1",
323
- "@typescript-eslint/rule-tester": "^8.57.1",
324
- "@vitest/coverage-v8": "^4.1.0",
325
- "@vitest/eslint-plugin": "^1.6.12",
326
- "@vitest/ui": "^4.1.0",
322
+ "@typescript-eslint/eslint-plugin": "^8.57.2",
323
+ "@typescript-eslint/rule-tester": "^8.57.2",
324
+ "@vitest/coverage-v8": "^4.1.2",
325
+ "@vitest/eslint-plugin": "^1.6.13",
326
+ "@vitest/ui": "^4.1.2",
327
327
  actionlint: "^2.0.6",
328
328
  "all-contributors-cli": "^6.26.1",
329
329
  "cognitive-complexity-ts": "^0.8.1",
@@ -332,8 +332,8 @@ var package_default = {
332
332
  "cross-env": "^10.1.0",
333
333
  depcheck: "^1.4.7",
334
334
  "detect-secrets": "^1.0.6",
335
- eslint: "^10.0.3",
336
- "eslint-config-flat-gitignore": "^2.2.1",
335
+ eslint: "^10.1.0",
336
+ "eslint-config-flat-gitignore": "^2.3.0",
337
337
  "eslint-config-prettier": "^10.1.8",
338
338
  "eslint-formatter-unix": "^9.0.1",
339
339
  "eslint-import-resolver-typescript": "^4.4.4",
@@ -346,11 +346,11 @@ var package_default = {
346
346
  "eslint-plugin-depend": "^1.5.0",
347
347
  "eslint-plugin-eslint-plugin": "^7.3.2",
348
348
  "eslint-plugin-etc": "^2.0.3",
349
- "eslint-plugin-etc-misc": "^1.0.3",
349
+ "eslint-plugin-etc-misc": "^1.0.4",
350
350
  "eslint-plugin-file-progress-2": "^3.4.3",
351
351
  "eslint-plugin-html": "^8.1.4",
352
352
  "eslint-plugin-import-x": "^4.16.2",
353
- "eslint-plugin-jsdoc": "^62.8.0",
353
+ "eslint-plugin-jsdoc": "^62.8.1",
354
354
  "eslint-plugin-jsonc": "^3.1.2",
355
355
  "eslint-plugin-jsx-a11y": "^6.10.2",
356
356
  "eslint-plugin-listeners": "^1.5.1",
@@ -379,12 +379,12 @@ var package_default = {
379
379
  "eslint-plugin-security": "^4.0.0",
380
380
  "eslint-plugin-sonarjs": "^4.0.2",
381
381
  "eslint-plugin-sort-class-members": "^1.21.0",
382
- "eslint-plugin-testing-library": "^7.16.0",
382
+ "eslint-plugin-testing-library": "^7.16.2",
383
383
  "eslint-plugin-toml": "^1.3.1",
384
384
  "eslint-plugin-total-functions": "^7.1.0",
385
385
  "eslint-plugin-tsdoc": "^0.5.2",
386
- "eslint-plugin-tsdoc-require-2": "^1.0.5",
387
- "eslint-plugin-typefest": "^1.0.4",
386
+ "eslint-plugin-tsdoc-require-2": "^1.0.6",
387
+ "eslint-plugin-typefest": "^1.0.7",
388
388
  "eslint-plugin-undefined-css-classes": "^0.1.5",
389
389
  "eslint-plugin-unicorn": "^63.0.0",
390
390
  "eslint-plugin-unused-imports": "^4.4.1",
@@ -398,11 +398,11 @@ var package_default = {
398
398
  htmlhint: "^1.9.2",
399
399
  jscpd: "^4.0.8",
400
400
  "jsonc-eslint-parser": "^3.1.0",
401
- knip: "^5.87.0",
401
+ knip: "^6.0.6",
402
402
  leasot: "^14.4.0",
403
403
  madge: "^8.0.0",
404
404
  "markdown-link-check": "^3.14.2",
405
- "npm-check-updates": "^19.6.5",
405
+ "npm-check-updates": "^19.6.6",
406
406
  "npm-package-json-lint": "^9.1.0",
407
407
  picocolors: "^1.1.1",
408
408
  postcss: "^8.5.8",
@@ -418,7 +418,7 @@ var package_default = {
418
418
  "postcss-reporter": "^7.1.0",
419
419
  "postcss-round-subpixels": "^2.0.0",
420
420
  "postcss-scss": "^4.0.9",
421
- "postcss-sort-media-queries": "^6.3.2",
421
+ "postcss-sort-media-queries": "^6.3.3",
422
422
  "postcss-styled-jsx": "^1.0.1",
423
423
  "postcss-styled-syntax": "^0.7.1",
424
424
  "postcss-viewport-height-correction": "^1.1.1",
@@ -427,7 +427,7 @@ var package_default = {
427
427
  "prettier-plugin-interpolated-html-tags": "^2.0.1",
428
428
  "prettier-plugin-jsdoc": "^1.8.0",
429
429
  "prettier-plugin-jsdoc-type": "^0.2.0",
430
- "prettier-plugin-merge": "^0.10.0",
430
+ "prettier-plugin-merge": "^0.10.1",
431
431
  "prettier-plugin-multiline-arrays": "^4.1.5",
432
432
  "prettier-plugin-packagejson": "^3.0.2",
433
433
  "prettier-plugin-properties": "^0.3.1",
@@ -542,16 +542,16 @@ var package_default = {
542
542
  "remark-validate-links": "^13.1.0",
543
543
  "remark-wiki-link": "^2.0.1",
544
544
  rimraf: "^6.1.3",
545
- secretlint: "^11.3.1",
545
+ secretlint: "^11.4.0",
546
546
  sloc: "^0.3.2",
547
547
  "sort-package-json": "^3.6.1",
548
- stylelint: "^17.4.0",
548
+ stylelint: "^17.6.0",
549
549
  "stylelint-actions-formatters": "^16.3.1",
550
550
  "stylelint-checkstyle-formatter": "^0.1.2",
551
551
  "stylelint-codeframe-formatter": "^1.2.0",
552
552
  "stylelint-config-alphabetical-order": "^2.0.0",
553
553
  "stylelint-config-idiomatic-order": "^10.0.0",
554
- "stylelint-config-inspector": "^2.0.1",
554
+ "stylelint-config-inspector": "^2.0.3",
555
555
  "stylelint-config-recess-order": "^7.7.0",
556
556
  "stylelint-config-recommended": "^18.0.0",
557
557
  "stylelint-config-sass-guidelines": "^13.0.0",
@@ -560,7 +560,7 @@ var package_default = {
560
560
  "stylelint-config-tailwindcss": "^1.0.1",
561
561
  "stylelint-declaration-block-no-ignored-properties": "^3.0.0",
562
562
  "stylelint-declaration-strict-value": "^1.11.1",
563
- "stylelint-define-config": "^17.2.0",
563
+ "stylelint-define-config": "^17.5.0",
564
564
  "stylelint-find-new-rules": "^6.0.0",
565
565
  "stylelint-formatter-gitlab-code-quality-report": "^1.1.0",
566
566
  "stylelint-formatter-pretty": "^4.0.1",
@@ -574,9 +574,9 @@ var package_default = {
574
574
  "stylelint-no-unresolved-module": "^2.5.2",
575
575
  "stylelint-no-unsupported-browser-features": "^8.1.1",
576
576
  "stylelint-order": "^8.1.1",
577
- "stylelint-plugin-defensive-css": "^2.7.0",
577
+ "stylelint-plugin-defensive-css": "^2.8.0",
578
578
  "stylelint-plugin-logical-css": "^2.0.2",
579
- "stylelint-plugin-use-baseline": "^1.2.7",
579
+ "stylelint-plugin-use-baseline": "^1.4.1",
580
580
  "stylelint-prettier": "^5.0.3",
581
581
  "stylelint-react-native": "^2.7.0",
582
582
  "stylelint-scales": "^5.0.0",
@@ -585,22 +585,22 @@ var package_default = {
585
585
  "stylelint-value-no-unknown-custom-properties": "^6.1.1",
586
586
  "toml-eslint-parser": "^1.0.3",
587
587
  "ts-unused-exports": "^11.0.1",
588
- typedoc: "^0.28.17",
589
- typescript: "^5.9.3",
590
- "typescript-eslint": "^8.57.1",
588
+ typedoc: "^0.28.18",
589
+ typescript: "^6.0.2",
590
+ "typescript-eslint": "^8.57.2",
591
591
  typesync: "^0.14.3",
592
592
  vfile: "^6.0.3",
593
- vite: "^8.0.0",
593
+ vite: "^8.0.3",
594
594
  "vite-tsconfig-paths": "^6.1.1",
595
- vitest: "^4.1.0",
595
+ vitest: "^4.1.2",
596
596
  "yaml-eslint-parser": "^2.0.0",
597
597
  "yamllint-js": "^0.2.4"
598
598
  },
599
599
  peerDependencies: {
600
- eslint: "^9.0.0 || ^10.0.3",
600
+ eslint: "^9.0.0 || ^10.1.0",
601
601
  typescript: ">=5.0.0"
602
602
  },
603
- packageManager: "npm@11.11.1",
603
+ packageManager: "npm@11.12.1",
604
604
  engines: {
605
605
  node: ">=20.19.0"
606
606
  },
@@ -1325,14 +1325,15 @@ var no_child_process_shell_true_default = rule10;
1325
1325
 
1326
1326
  // dist/_internal/ast-utils.js
1327
1327
  var import_ts_extras7 = require("ts-extras");
1328
- var isMapLike = (value) => typeof value === "object" && value !== null && typeof (0, import_ts_extras7.safeCastTo)(value).get === "function";
1329
- var isProgramLike = (value) => typeof value === "object" && value !== null && typeof (0, import_ts_extras7.safeCastTo)(value).getTypeChecker === "function";
1328
+ var isUnknownRecord = (value) => typeof value === "object" && value !== null;
1329
+ var isMapLike = (value) => isUnknownRecord(value) && typeof value["get"] === "function";
1330
+ var isProgramLike = (value) => isUnknownRecord(value) && typeof value["getTypeChecker"] === "function";
1330
1331
  var isTypeScriptParserServices = (parserServices) => {
1331
- if (typeof parserServices !== "object" || parserServices === null) {
1332
+ if (!isUnknownRecord(parserServices)) {
1332
1333
  return false;
1333
1334
  }
1334
- const candidate = (0, import_ts_extras7.safeCastTo)(parserServices);
1335
- return isProgramLike(candidate.program) && isMapLike(candidate.esTreeNodeToTSNodeMap) && isMapLike(candidate.tsNodeToESTreeNodeMap);
1335
+ const candidate = parserServices;
1336
+ return isProgramLike(candidate["program"]) && isMapLike(candidate["esTreeNodeToTSNodeMap"]) && isMapLike(candidate["tsNodeToESTreeNodeMap"]);
1336
1337
  };
1337
1338
  var getParserServices = (context) => {
1338
1339
  const parserServices = context.sourceCode.parserServices;
@@ -1347,11 +1348,11 @@ var getNodeTypeAsString = (fullTypeChecker, node, context) => {
1347
1348
  if (!(0, import_ts_extras7.isDefined)(parserServices)) {
1348
1349
  return "any";
1349
1350
  }
1350
- const tsNode = parserServices.esTreeNodeToTSNodeMap.get((0, import_ts_extras7.safeCastTo)(node));
1351
+ const tsNode = parserServices.esTreeNodeToTSNodeMap.get(node);
1351
1352
  if (!(0, import_ts_extras7.isDefined)(tsNode)) {
1352
1353
  return "any";
1353
1354
  }
1354
- const tsType = fullTypeChecker.getTypeAtLocation((0, import_ts_extras7.safeCastTo)(tsNode));
1355
+ const tsType = fullTypeChecker.getTypeAtLocation(tsNode);
1355
1356
  return fullTypeChecker.typeToString(tsType);
1356
1357
  };
1357
1358
  var isWindowIdentifierName = (name) => name.toLowerCase().endsWith("window");