@justmpm/firebase-audit 0.5.11 → 0.5.12

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.
@@ -1230,6 +1230,20 @@ async function scan(rootDir, opts = {}) {
1230
1230
  for (const m of parseStorageAllows(clean)) {
1231
1231
  const ops = expandStorageOps(m.target);
1232
1232
  const key = conditionKeyForFingerprint(m.condition);
1233
+ const { unknown: unknownStorageOps } = opsFrom(m.target);
1234
+ if (unknownStorageOps.length > 0) {
1235
+ findings.push({
1236
+ rule: "RULES_UNKNOWN_OP",
1237
+ severity: "WARNING",
1238
+ confidence: "CONFIRMED",
1239
+ message: `Opera\xE7\xE3o desconhecida no Storage em ${m.matchPath} (trecho desconhecido: ${unknownStorageOps.join(", ")}) (${relStorage}:${m.line}). Typo em allow? Deploy rejeita.`,
1240
+ fingerprint: `RULES_UNKNOWN_OP:${m.matchPath}:${m.line}:${normalizeTarget(m.target)}`,
1241
+ file: relStorage,
1242
+ line: m.line,
1243
+ evidence: [{ id: evId("unknown-op"), kind: "unknown-op", summary: `${m.matchPath} allow ${m.target}`, confidence: "CONFIRMED", location: { file: relStorage, start: { line: m.line, column: 0 } } }],
1244
+ fix: "Corrija para read/get/list/write/create/update/delete."
1245
+ });
1246
+ }
1233
1247
  const singleStorage = m.condition === void 0 ? void 0 : resolveHelperConditionDetailed(m.condition, storageHelpers);
1234
1248
  const inlinedStorage = m.condition === void 0 ? void 0 : inlineHelpersInCondition(m.condition, storageHelpers);
1235
1249
  const singleResolved = singleStorage !== void 0 && singleStorage !== m.condition ? singleStorage : void 0;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  scan
3
- } from "./chunk-ZNVQGZMJ.js";
3
+ } from "./chunk-CTQPAMOE.js";
4
4
  import {
5
5
  verify
6
6
  } from "./chunk-CSMT4PIP.js";
package/dist/cli.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  scan
4
- } from "./chunk-ZNVQGZMJ.js";
4
+ } from "./chunk-CTQPAMOE.js";
5
5
  import "./chunk-7J3ADEBW.js";
6
6
 
7
7
  // src/cli.ts
@@ -84,7 +84,7 @@ Uso: firebase-audit scan|check|verify|drift [--json] ...`);
84
84
  const { resolve: resolveRoot } = await import("path");
85
85
  const rootDir = cwdArg ? resolveRoot(process.cwd(), cwdArg) : process.cwd();
86
86
  if (cmd === "verify") {
87
- const { scan: scanForVerify } = await import("./scan-M6OYRIKL.js");
87
+ const { scan: scanForVerify } = await import("./scan-CU54MUN7.js");
88
88
  const { verify } = await import("./verify-GQSR4FQL.js");
89
89
  const { resolve: resolveVerify } = await import("path");
90
90
  const coverageArg = getArg("coverage");
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createMcpServer,
3
3
  startMcpServer
4
- } from "./chunk-ZE5K5HRR.js";
4
+ } from "./chunk-OYWTDV45.js";
5
5
  import {
6
6
  AccessOriginSchema,
7
7
  AuditYamlSchema,
@@ -34,7 +34,7 @@ import {
34
34
  runChecks,
35
35
  scan,
36
36
  validateClaimSamples
37
- } from "./chunk-ZNVQGZMJ.js";
37
+ } from "./chunk-CTQPAMOE.js";
38
38
  import {
39
39
  buildFullPath,
40
40
  conditionKeyForFingerprint,
package/dist/mcp-cli.js CHANGED
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  startMcpServer
4
- } from "./chunk-ZE5K5HRR.js";
5
- import "./chunk-ZNVQGZMJ.js";
4
+ } from "./chunk-OYWTDV45.js";
5
+ import "./chunk-CTQPAMOE.js";
6
6
  import "./chunk-7J3ADEBW.js";
7
7
  import "./chunk-CSMT4PIP.js";
8
8
  import "./chunk-LD3F73XI.js";
package/dist/mcp.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  createMcpServer,
3
3
  startMcpServer
4
- } from "./chunk-ZE5K5HRR.js";
5
- import "./chunk-ZNVQGZMJ.js";
4
+ } from "./chunk-OYWTDV45.js";
5
+ import "./chunk-CTQPAMOE.js";
6
6
  import "./chunk-7J3ADEBW.js";
7
7
  import "./chunk-CSMT4PIP.js";
8
8
  import "./chunk-LD3F73XI.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  scan
3
- } from "./chunk-ZNVQGZMJ.js";
3
+ } from "./chunk-CTQPAMOE.js";
4
4
  import "./chunk-7J3ADEBW.js";
5
5
  export {
6
6
  scan
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@justmpm/firebase-audit",
3
- "version": "0.5.11",
3
+ "version": "0.5.12",
4
4
  "description": "Auditor de consistência e segurança para projetos Firebase: código + Rules + índices + contrato vs comportamento. Static-first, nunca inventa certeza.",
5
5
  "keywords": [
6
6
  "firebase",