nuxt-csp-report 1.0.0-alpha.1 → 1.0.0-alpha.2

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/module.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "nuxt-csp-report",
3
3
  "configKey": "cspReport",
4
- "version": "1.0.0-alpha.1",
4
+ "version": "1.0.0-alpha.2",
5
5
  "builder": {
6
6
  "@nuxt/module-builder": "1.0.2",
7
7
  "unbuild": "3.6.1"
@@ -3,10 +3,5 @@ export function formatCspLog(report) {
3
3
  if (report.directive) parts.push(`directive=${report.directive}`);
4
4
  if (report.documentURL) parts.push(`document=${report.documentURL}`);
5
5
  if (report.blockedURL) parts.push(`blocked=${report.blockedURL}`);
6
- if (report.sourceFile) {
7
- const loc = [report.sourceFile, report.line, report.column].filter((v) => v != null).join(":");
8
- parts.push(`source=${loc}`);
9
- }
10
- if (report.disposition) parts.push(`mode=${report.disposition}`);
11
6
  return parts.join(" | ");
12
7
  }
@@ -3,7 +3,10 @@ import type { NormalizedCspReport } from '../../../types/report.js';
3
3
  declare const reportUriSchema: z.ZodObject<{
4
4
  'csp-report': z.ZodObject<{
5
5
  'blocked-uri': z.ZodString;
6
- disposition: z.ZodEnum<["enforce", "report"]>;
6
+ disposition: z.ZodEnum<{
7
+ report: "report";
8
+ enforce: "enforce";
9
+ }>;
7
10
  'document-uri': z.ZodString;
8
11
  'effective-directive': z.ZodString;
9
12
  'line-number': z.ZodOptional<z.ZodNumber>;
@@ -13,199 +16,18 @@ declare const reportUriSchema: z.ZodObject<{
13
16
  'source-file': z.ZodOptional<z.ZodString>;
14
17
  'status-code': z.ZodOptional<z.ZodNumber>;
15
18
  'violated-directive': z.ZodString;
16
- }, "strip", z.ZodTypeAny, {
17
- disposition: "report" | "enforce";
18
- 'blocked-uri': string;
19
- 'document-uri': string;
20
- 'effective-directive': string;
21
- 'violated-directive': string;
22
- referrer?: string | undefined;
23
- 'line-number'?: number | undefined;
24
- 'original-policy'?: string | undefined;
25
- 'script-sample'?: string | undefined;
26
- 'source-file'?: string | undefined;
27
- 'status-code'?: number | undefined;
28
- }, {
29
- disposition: "report" | "enforce";
30
- 'blocked-uri': string;
31
- 'document-uri': string;
32
- 'effective-directive': string;
33
- 'violated-directive': string;
34
- referrer?: string | undefined;
35
- 'line-number'?: number | undefined;
36
- 'original-policy'?: string | undefined;
37
- 'script-sample'?: string | undefined;
38
- 'source-file'?: string | undefined;
39
- 'status-code'?: number | undefined;
40
- }>;
41
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
42
- 'csp-report': z.ZodObject<{
43
- 'blocked-uri': z.ZodString;
44
- disposition: z.ZodEnum<["enforce", "report"]>;
45
- 'document-uri': z.ZodString;
46
- 'effective-directive': z.ZodString;
47
- 'line-number': z.ZodOptional<z.ZodNumber>;
48
- 'original-policy': z.ZodOptional<z.ZodString>;
49
- referrer: z.ZodOptional<z.ZodString>;
50
- 'script-sample': z.ZodOptional<z.ZodString>;
51
- 'source-file': z.ZodOptional<z.ZodString>;
52
- 'status-code': z.ZodOptional<z.ZodNumber>;
53
- 'violated-directive': z.ZodString;
54
- }, "strip", z.ZodTypeAny, {
55
- disposition: "report" | "enforce";
56
- 'blocked-uri': string;
57
- 'document-uri': string;
58
- 'effective-directive': string;
59
- 'violated-directive': string;
60
- referrer?: string | undefined;
61
- 'line-number'?: number | undefined;
62
- 'original-policy'?: string | undefined;
63
- 'script-sample'?: string | undefined;
64
- 'source-file'?: string | undefined;
65
- 'status-code'?: number | undefined;
66
- }, {
67
- disposition: "report" | "enforce";
68
- 'blocked-uri': string;
69
- 'document-uri': string;
70
- 'effective-directive': string;
71
- 'violated-directive': string;
72
- referrer?: string | undefined;
73
- 'line-number'?: number | undefined;
74
- 'original-policy'?: string | undefined;
75
- 'script-sample'?: string | undefined;
76
- 'source-file'?: string | undefined;
77
- 'status-code'?: number | undefined;
78
- }>;
79
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
80
- 'csp-report': z.ZodObject<{
81
- 'blocked-uri': z.ZodString;
82
- disposition: z.ZodEnum<["enforce", "report"]>;
83
- 'document-uri': z.ZodString;
84
- 'effective-directive': z.ZodString;
85
- 'line-number': z.ZodOptional<z.ZodNumber>;
86
- 'original-policy': z.ZodOptional<z.ZodString>;
87
- referrer: z.ZodOptional<z.ZodString>;
88
- 'script-sample': z.ZodOptional<z.ZodString>;
89
- 'source-file': z.ZodOptional<z.ZodString>;
90
- 'status-code': z.ZodOptional<z.ZodNumber>;
91
- 'violated-directive': z.ZodString;
92
- }, "strip", z.ZodTypeAny, {
93
- disposition: "report" | "enforce";
94
- 'blocked-uri': string;
95
- 'document-uri': string;
96
- 'effective-directive': string;
97
- 'violated-directive': string;
98
- referrer?: string | undefined;
99
- 'line-number'?: number | undefined;
100
- 'original-policy'?: string | undefined;
101
- 'script-sample'?: string | undefined;
102
- 'source-file'?: string | undefined;
103
- 'status-code'?: number | undefined;
104
- }, {
105
- disposition: "report" | "enforce";
106
- 'blocked-uri': string;
107
- 'document-uri': string;
108
- 'effective-directive': string;
109
- 'violated-directive': string;
110
- referrer?: string | undefined;
111
- 'line-number'?: number | undefined;
112
- 'original-policy'?: string | undefined;
113
- 'script-sample'?: string | undefined;
114
- 'source-file'?: string | undefined;
115
- 'status-code'?: number | undefined;
116
- }>;
117
- }, z.ZodTypeAny, "passthrough">>;
19
+ }, z.core.$strip>;
20
+ }, z.core.$loose>;
118
21
  export type ReportUriFormat = z.infer<typeof reportUriSchema>;
119
22
  declare const reportToEntrySchema: z.ZodObject<{
120
23
  age: z.ZodNumber;
121
24
  body: z.ZodObject<{
122
25
  blockedURL: z.ZodString;
123
26
  columnNumber: z.ZodOptional<z.ZodNumber>;
124
- disposition: z.ZodEnum<["enforce", "report"]>;
125
- documentURL: z.ZodString;
126
- effectiveDirective: z.ZodString;
127
- lineNumber: z.ZodOptional<z.ZodNumber>;
128
- originalPolicy: z.ZodString;
129
- referrer: z.ZodOptional<z.ZodString>;
130
- sample: z.ZodOptional<z.ZodString>;
131
- sourceFile: z.ZodOptional<z.ZodString>;
132
- statusCode: z.ZodNumber;
133
- }, "strip", z.ZodTypeAny, {
134
- statusCode: number;
135
- blockedURL: string;
136
- disposition: "report" | "enforce";
137
- documentURL: string;
138
- effectiveDirective: string;
139
- originalPolicy: string;
140
- referrer?: string | undefined;
141
- columnNumber?: number | undefined;
142
- lineNumber?: number | undefined;
143
- sample?: string | undefined;
144
- sourceFile?: string | undefined;
145
- }, {
146
- statusCode: number;
147
- blockedURL: string;
148
- disposition: "report" | "enforce";
149
- documentURL: string;
150
- effectiveDirective: string;
151
- originalPolicy: string;
152
- referrer?: string | undefined;
153
- columnNumber?: number | undefined;
154
- lineNumber?: number | undefined;
155
- sample?: string | undefined;
156
- sourceFile?: string | undefined;
157
- }>;
158
- type: z.ZodString;
159
- url: z.ZodString;
160
- user_agent: z.ZodString;
161
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
162
- age: z.ZodNumber;
163
- body: z.ZodObject<{
164
- blockedURL: z.ZodString;
165
- columnNumber: z.ZodOptional<z.ZodNumber>;
166
- disposition: z.ZodEnum<["enforce", "report"]>;
167
- documentURL: z.ZodString;
168
- effectiveDirective: z.ZodString;
169
- lineNumber: z.ZodOptional<z.ZodNumber>;
170
- originalPolicy: z.ZodString;
171
- referrer: z.ZodOptional<z.ZodString>;
172
- sample: z.ZodOptional<z.ZodString>;
173
- sourceFile: z.ZodOptional<z.ZodString>;
174
- statusCode: z.ZodNumber;
175
- }, "strip", z.ZodTypeAny, {
176
- statusCode: number;
177
- blockedURL: string;
178
- disposition: "report" | "enforce";
179
- documentURL: string;
180
- effectiveDirective: string;
181
- originalPolicy: string;
182
- referrer?: string | undefined;
183
- columnNumber?: number | undefined;
184
- lineNumber?: number | undefined;
185
- sample?: string | undefined;
186
- sourceFile?: string | undefined;
187
- }, {
188
- statusCode: number;
189
- blockedURL: string;
190
- disposition: "report" | "enforce";
191
- documentURL: string;
192
- effectiveDirective: string;
193
- originalPolicy: string;
194
- referrer?: string | undefined;
195
- columnNumber?: number | undefined;
196
- lineNumber?: number | undefined;
197
- sample?: string | undefined;
198
- sourceFile?: string | undefined;
199
- }>;
200
- type: z.ZodString;
201
- url: z.ZodString;
202
- user_agent: z.ZodString;
203
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
204
- age: z.ZodNumber;
205
- body: z.ZodObject<{
206
- blockedURL: z.ZodString;
207
- columnNumber: z.ZodOptional<z.ZodNumber>;
208
- disposition: z.ZodEnum<["enforce", "report"]>;
27
+ disposition: z.ZodEnum<{
28
+ report: "report";
29
+ enforce: "enforce";
30
+ }>;
209
31
  documentURL: z.ZodString;
210
32
  effectiveDirective: z.ZodString;
211
33
  lineNumber: z.ZodOptional<z.ZodNumber>;
@@ -214,125 +36,20 @@ declare const reportToEntrySchema: z.ZodObject<{
214
36
  sample: z.ZodOptional<z.ZodString>;
215
37
  sourceFile: z.ZodOptional<z.ZodString>;
216
38
  statusCode: z.ZodNumber;
217
- }, "strip", z.ZodTypeAny, {
218
- statusCode: number;
219
- blockedURL: string;
220
- disposition: "report" | "enforce";
221
- documentURL: string;
222
- effectiveDirective: string;
223
- originalPolicy: string;
224
- referrer?: string | undefined;
225
- columnNumber?: number | undefined;
226
- lineNumber?: number | undefined;
227
- sample?: string | undefined;
228
- sourceFile?: string | undefined;
229
- }, {
230
- statusCode: number;
231
- blockedURL: string;
232
- disposition: "report" | "enforce";
233
- documentURL: string;
234
- effectiveDirective: string;
235
- originalPolicy: string;
236
- referrer?: string | undefined;
237
- columnNumber?: number | undefined;
238
- lineNumber?: number | undefined;
239
- sample?: string | undefined;
240
- sourceFile?: string | undefined;
241
- }>;
39
+ }, z.core.$strip>;
242
40
  type: z.ZodString;
243
41
  url: z.ZodString;
244
42
  user_agent: z.ZodString;
245
- }, z.ZodTypeAny, "passthrough">>;
43
+ }, z.core.$loose>;
246
44
  declare const reportToSchema: z.ZodArray<z.ZodObject<{
247
45
  age: z.ZodNumber;
248
46
  body: z.ZodObject<{
249
47
  blockedURL: z.ZodString;
250
48
  columnNumber: z.ZodOptional<z.ZodNumber>;
251
- disposition: z.ZodEnum<["enforce", "report"]>;
252
- documentURL: z.ZodString;
253
- effectiveDirective: z.ZodString;
254
- lineNumber: z.ZodOptional<z.ZodNumber>;
255
- originalPolicy: z.ZodString;
256
- referrer: z.ZodOptional<z.ZodString>;
257
- sample: z.ZodOptional<z.ZodString>;
258
- sourceFile: z.ZodOptional<z.ZodString>;
259
- statusCode: z.ZodNumber;
260
- }, "strip", z.ZodTypeAny, {
261
- statusCode: number;
262
- blockedURL: string;
263
- disposition: "report" | "enforce";
264
- documentURL: string;
265
- effectiveDirective: string;
266
- originalPolicy: string;
267
- referrer?: string | undefined;
268
- columnNumber?: number | undefined;
269
- lineNumber?: number | undefined;
270
- sample?: string | undefined;
271
- sourceFile?: string | undefined;
272
- }, {
273
- statusCode: number;
274
- blockedURL: string;
275
- disposition: "report" | "enforce";
276
- documentURL: string;
277
- effectiveDirective: string;
278
- originalPolicy: string;
279
- referrer?: string | undefined;
280
- columnNumber?: number | undefined;
281
- lineNumber?: number | undefined;
282
- sample?: string | undefined;
283
- sourceFile?: string | undefined;
284
- }>;
285
- type: z.ZodString;
286
- url: z.ZodString;
287
- user_agent: z.ZodString;
288
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
289
- age: z.ZodNumber;
290
- body: z.ZodObject<{
291
- blockedURL: z.ZodString;
292
- columnNumber: z.ZodOptional<z.ZodNumber>;
293
- disposition: z.ZodEnum<["enforce", "report"]>;
294
- documentURL: z.ZodString;
295
- effectiveDirective: z.ZodString;
296
- lineNumber: z.ZodOptional<z.ZodNumber>;
297
- originalPolicy: z.ZodString;
298
- referrer: z.ZodOptional<z.ZodString>;
299
- sample: z.ZodOptional<z.ZodString>;
300
- sourceFile: z.ZodOptional<z.ZodString>;
301
- statusCode: z.ZodNumber;
302
- }, "strip", z.ZodTypeAny, {
303
- statusCode: number;
304
- blockedURL: string;
305
- disposition: "report" | "enforce";
306
- documentURL: string;
307
- effectiveDirective: string;
308
- originalPolicy: string;
309
- referrer?: string | undefined;
310
- columnNumber?: number | undefined;
311
- lineNumber?: number | undefined;
312
- sample?: string | undefined;
313
- sourceFile?: string | undefined;
314
- }, {
315
- statusCode: number;
316
- blockedURL: string;
317
- disposition: "report" | "enforce";
318
- documentURL: string;
319
- effectiveDirective: string;
320
- originalPolicy: string;
321
- referrer?: string | undefined;
322
- columnNumber?: number | undefined;
323
- lineNumber?: number | undefined;
324
- sample?: string | undefined;
325
- sourceFile?: string | undefined;
326
- }>;
327
- type: z.ZodString;
328
- url: z.ZodString;
329
- user_agent: z.ZodString;
330
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
331
- age: z.ZodNumber;
332
- body: z.ZodObject<{
333
- blockedURL: z.ZodString;
334
- columnNumber: z.ZodOptional<z.ZodNumber>;
335
- disposition: z.ZodEnum<["enforce", "report"]>;
49
+ disposition: z.ZodEnum<{
50
+ report: "report";
51
+ enforce: "enforce";
52
+ }>;
336
53
  documentURL: z.ZodString;
337
54
  effectiveDirective: z.ZodString;
338
55
  lineNumber: z.ZodOptional<z.ZodNumber>;
@@ -341,35 +58,11 @@ declare const reportToSchema: z.ZodArray<z.ZodObject<{
341
58
  sample: z.ZodOptional<z.ZodString>;
342
59
  sourceFile: z.ZodOptional<z.ZodString>;
343
60
  statusCode: z.ZodNumber;
344
- }, "strip", z.ZodTypeAny, {
345
- statusCode: number;
346
- blockedURL: string;
347
- disposition: "report" | "enforce";
348
- documentURL: string;
349
- effectiveDirective: string;
350
- originalPolicy: string;
351
- referrer?: string | undefined;
352
- columnNumber?: number | undefined;
353
- lineNumber?: number | undefined;
354
- sample?: string | undefined;
355
- sourceFile?: string | undefined;
356
- }, {
357
- statusCode: number;
358
- blockedURL: string;
359
- disposition: "report" | "enforce";
360
- documentURL: string;
361
- effectiveDirective: string;
362
- originalPolicy: string;
363
- referrer?: string | undefined;
364
- columnNumber?: number | undefined;
365
- lineNumber?: number | undefined;
366
- sample?: string | undefined;
367
- sourceFile?: string | undefined;
368
- }>;
61
+ }, z.core.$strip>;
369
62
  type: z.ZodString;
370
63
  url: z.ZodString;
371
64
  user_agent: z.ZodString;
372
- }, z.ZodTypeAny, "passthrough">>, "many">;
65
+ }, z.core.$loose>>;
373
66
  export type ReportToEntryFormat = z.infer<typeof reportToEntrySchema>;
374
67
  export type ReportToFormat = z.infer<typeof reportToSchema>;
375
68
  export declare function normalizeCspReport(input: unknown): NormalizedCspReport[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nuxt-csp-report",
3
- "version": "1.0.0-alpha.1",
3
+ "version": "1.0.0-alpha.2",
4
4
  "description": "A Nuxt module for collecting, normalizing, and persisting Content Security Policy reports",
5
5
  "repository": {
6
6
  "type": "git",
@@ -47,24 +47,24 @@
47
47
  "test:types": "vue-tsc --noEmit && cd playground && vue-tsc --noEmit"
48
48
  },
49
49
  "dependencies": {
50
- "@nuxt/kit": "^4.2.1",
50
+ "@nuxt/kit": "^4.2.2",
51
51
  "defu": "^6.1.4",
52
52
  "unstorage": "^1.17.3",
53
- "zod": "^3.22.4"
53
+ "zod": "^4.3.2"
54
54
  },
55
55
  "devDependencies": {
56
- "@nuxt/devtools": "^3.1.0",
57
- "@nuxt/eslint-config": "^1.10.0",
56
+ "@nuxt/devtools": "^3.1.1",
57
+ "@nuxt/eslint-config": "^1.12.1",
58
58
  "@nuxt/module-builder": "^1.0.2",
59
- "@nuxt/schema": "^4.2.1",
60
- "@nuxt/test-utils": "^3.20.1",
59
+ "@nuxt/schema": "^4.2.2",
60
+ "@nuxt/test-utils": "^3.21.0",
61
61
  "@types/node": "latest",
62
62
  "changelogen": "^0.6.2",
63
- "eslint": "^9.39.1",
64
- "nuxt": "^4.2.1",
63
+ "eslint": "^9.39.2",
64
+ "nuxt": "^4.2.2",
65
65
  "nuxt-security": "^2.5.0",
66
66
  "typescript": "~5.9.3",
67
- "vitest": "^4.0.13",
68
- "vue-tsc": "^3.1.5"
67
+ "vitest": "^4.0.16",
68
+ "vue-tsc": "^3.2.1"
69
69
  }
70
70
  }