@sarj/eslint-plugin 16.40.0 → 16.42.1

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/dist/index.cjs CHANGED
@@ -4420,7 +4420,7 @@ function isSearchParamReceiver(call, services) {
4420
4420
  // package.json
4421
4421
  var package_default = {
4422
4422
  name: "@sarj/eslint-plugin",
4423
- version: "16.40.0",
4423
+ version: "16.42.1",
4424
4424
  packageManager: "npm@12.2.1",
4425
4425
  description: "Custom ESLint rules for hypermodern TypeScript / React / Next.js projects",
4426
4426
  type: "module",
@@ -4484,6 +4484,7 @@ var package_default = {
4484
4484
  "@eslint/compat": "^2.1.1",
4485
4485
  "@eslint/js": "10.0.1",
4486
4486
  "@shadcn/lint": "0.2.3",
4487
+ "@types/eslint-plugin-no-unsanitized": "4.1.0",
4487
4488
  "@types/node": "26.6.5",
4488
4489
  "@typescript-eslint/parser": "8.72.0",
4489
4490
  "@typescript-eslint/rule-tester": "8.72.0",
@@ -4502,6 +4503,8 @@ var package_default = {
4502
4503
  "eslint-plugin-react": "^7.37.5",
4503
4504
  "eslint-plugin-react-hooks": "^7.1.1",
4504
4505
  "eslint-plugin-regexp": "3.3.1",
4506
+ "eslint-plugin-security": "4.2.0",
4507
+ "eslint-plugin-no-unsanitized": "4.1.5",
4505
4508
  "eslint-plugin-simple-import-sort": "^14.0.0",
4506
4509
  "eslint-plugin-testing-library": "7.16.2",
4507
4510
  "eslint-plugin-unicorn": "^79.0.0",
@@ -19662,7 +19665,7 @@ var no_server_env_in_client_component_default = createRule({
19662
19665
  // src/rules/no-server-file-uploads.ts
19663
19666
  var import_utils117 = require("@typescript-eslint/utils");
19664
19667
  var NO_SERVER_FILE_UPLOADS_DOCUMENTATION = {
19665
- defaultLevel: "warning",
19668
+ defaultLevel: "error",
19666
19669
  summary: "Keep native File handling outside explicit server boundaries.",
19667
19670
  rationale: "Accepting uploaded files routes their bytes through application workers, consuming connections, memory or temporary disk. Direct signed-URL uploads keep that transfer in object storage.",
19668
19671
  remediation: "Issue an authorized, short-lived signed URL; upload the browser File directly to storage, then submit its object key and metadata. Use Blob for server-generated binary content.",
@@ -36717,7 +36720,7 @@ var RULE_POLICY = {
36717
36720
  "@sarj/no-restated-jsdoc": ["warn", "both"],
36718
36721
  "@sarj/no-secret-in-log": ["error", "both"],
36719
36722
  "@sarj/no-server-env-in-client-component": ["error", "both"],
36720
- "@sarj/no-server-file-uploads": ["warn", "both"],
36723
+ "@sarj/no-server-file-uploads": ["error", "both"],
36721
36724
  "@sarj/no-select-star": ["error", "both"],
36722
36725
  "@sarj/no-sentinel-return-on-catch": ["error", "both"],
36723
36726
  "@sarj/no-silent-promise-catch": ["error", "both"],
package/dist/index.d.cts CHANGED
@@ -631,7 +631,7 @@ declare const RULE_POLICY: {
631
631
  readonly "@sarj/no-restated-jsdoc": readonly ["warn", "both"];
632
632
  readonly "@sarj/no-secret-in-log": readonly ["error", "both"];
633
633
  readonly "@sarj/no-server-env-in-client-component": readonly ["error", "both"];
634
- readonly "@sarj/no-server-file-uploads": readonly ["warn", "both"];
634
+ readonly "@sarj/no-server-file-uploads": readonly ["error", "both"];
635
635
  readonly "@sarj/no-select-star": readonly ["error", "both"];
636
636
  readonly "@sarj/no-sentinel-return-on-catch": readonly ["error", "both"];
637
637
  readonly "@sarj/no-silent-promise-catch": readonly ["error", "both"];
package/dist/index.d.ts CHANGED
@@ -631,7 +631,7 @@ declare const RULE_POLICY: {
631
631
  readonly "@sarj/no-restated-jsdoc": readonly ["warn", "both"];
632
632
  readonly "@sarj/no-secret-in-log": readonly ["error", "both"];
633
633
  readonly "@sarj/no-server-env-in-client-component": readonly ["error", "both"];
634
- readonly "@sarj/no-server-file-uploads": readonly ["warn", "both"];
634
+ readonly "@sarj/no-server-file-uploads": readonly ["error", "both"];
635
635
  readonly "@sarj/no-select-star": readonly ["error", "both"];
636
636
  readonly "@sarj/no-sentinel-return-on-catch": readonly ["error", "both"];
637
637
  readonly "@sarj/no-silent-promise-catch": readonly ["error", "both"];
package/dist/index.js CHANGED
@@ -4373,7 +4373,7 @@ function isSearchParamReceiver(call, services) {
4373
4373
  // package.json
4374
4374
  var package_default = {
4375
4375
  name: "@sarj/eslint-plugin",
4376
- version: "16.40.0",
4376
+ version: "16.42.1",
4377
4377
  packageManager: "npm@12.2.1",
4378
4378
  description: "Custom ESLint rules for hypermodern TypeScript / React / Next.js projects",
4379
4379
  type: "module",
@@ -4437,6 +4437,7 @@ var package_default = {
4437
4437
  "@eslint/compat": "^2.1.1",
4438
4438
  "@eslint/js": "10.0.1",
4439
4439
  "@shadcn/lint": "0.2.3",
4440
+ "@types/eslint-plugin-no-unsanitized": "4.1.0",
4440
4441
  "@types/node": "26.6.5",
4441
4442
  "@typescript-eslint/parser": "8.72.0",
4442
4443
  "@typescript-eslint/rule-tester": "8.72.0",
@@ -4455,6 +4456,8 @@ var package_default = {
4455
4456
  "eslint-plugin-react": "^7.37.5",
4456
4457
  "eslint-plugin-react-hooks": "^7.1.1",
4457
4458
  "eslint-plugin-regexp": "3.3.1",
4459
+ "eslint-plugin-security": "4.2.0",
4460
+ "eslint-plugin-no-unsanitized": "4.1.5",
4458
4461
  "eslint-plugin-simple-import-sort": "^14.0.0",
4459
4462
  "eslint-plugin-testing-library": "7.16.2",
4460
4463
  "eslint-plugin-unicorn": "^79.0.0",
@@ -19693,7 +19696,7 @@ var no_server_env_in_client_component_default = createRule({
19693
19696
  // src/rules/no-server-file-uploads.ts
19694
19697
  import { AST_NODE_TYPES as AST_NODE_TYPES105, ASTUtils as ASTUtils69 } from "@typescript-eslint/utils";
19695
19698
  var NO_SERVER_FILE_UPLOADS_DOCUMENTATION = {
19696
- defaultLevel: "warning",
19699
+ defaultLevel: "error",
19697
19700
  summary: "Keep native File handling outside explicit server boundaries.",
19698
19701
  rationale: "Accepting uploaded files routes their bytes through application workers, consuming connections, memory or temporary disk. Direct signed-URL uploads keep that transfer in object storage.",
19699
19702
  remediation: "Issue an authorized, short-lived signed URL; upload the browser File directly to storage, then submit its object key and metadata. Use Blob for server-generated binary content.",
@@ -36825,7 +36828,7 @@ var RULE_POLICY = {
36825
36828
  "@sarj/no-restated-jsdoc": ["warn", "both"],
36826
36829
  "@sarj/no-secret-in-log": ["error", "both"],
36827
36830
  "@sarj/no-server-env-in-client-component": ["error", "both"],
36828
- "@sarj/no-server-file-uploads": ["warn", "both"],
36831
+ "@sarj/no-server-file-uploads": ["error", "both"],
36829
36832
  "@sarj/no-select-star": ["error", "both"],
36830
36833
  "@sarj/no-sentinel-return-on-catch": ["error", "both"],
36831
36834
  "@sarj/no-silent-promise-catch": ["error", "both"],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sarj/eslint-plugin",
3
- "version": "16.40.0",
3
+ "version": "16.42.1",
4
4
  "packageManager": "npm@12.2.1",
5
5
  "description": "Custom ESLint rules for hypermodern TypeScript / React / Next.js projects",
6
6
  "type": "module",
@@ -64,6 +64,7 @@
64
64
  "@eslint/compat": "^2.1.1",
65
65
  "@eslint/js": "10.0.1",
66
66
  "@shadcn/lint": "0.2.3",
67
+ "@types/eslint-plugin-no-unsanitized": "4.1.0",
67
68
  "@types/node": "26.6.5",
68
69
  "@typescript-eslint/parser": "8.72.0",
69
70
  "@typescript-eslint/rule-tester": "8.72.0",
@@ -82,6 +83,8 @@
82
83
  "eslint-plugin-react": "^7.37.5",
83
84
  "eslint-plugin-react-hooks": "^7.1.1",
84
85
  "eslint-plugin-regexp": "3.3.1",
86
+ "eslint-plugin-security": "4.2.0",
87
+ "eslint-plugin-no-unsanitized": "4.1.5",
85
88
  "eslint-plugin-simple-import-sort": "^14.0.0",
86
89
  "eslint-plugin-testing-library": "7.16.2",
87
90
  "eslint-plugin-unicorn": "^79.0.0",