@@ -89,6 +89,7 @@ export const ASTRO_CONFIG_DEFAULTS = {
8989 security : {
9090 checkOrigin : true ,
9191 allowedDomains : [ ] ,
92+ csp : false ,
9293 } ,
9394 env : {
9495 schema : { } ,
@@ -99,7 +100,6 @@ export const ASTRO_CONFIG_DEFAULTS = {
99100 experimental : {
100101 clientPrerender : false ,
101102 contentIntellisense : false ,
102- csp : false ,
103103 chromeDevtoolsWorkspace : false ,
104104 svgo : false ,
105105 } ,
@@ -433,6 +433,29 @@ export const AstroConfigSchema = z.object({
433433 )
434434 . optional ( )
435435 . default ( ASTRO_CONFIG_DEFAULTS . security . allowedDomains ) ,
436+ csp : z
437+ . union ( [
438+ z . boolean ( ) . optional ( ) . default ( ASTRO_CONFIG_DEFAULTS . security . csp ) ,
439+ z . object ( {
440+ algorithm : cspAlgorithmSchema ,
441+ directives : z . array ( allowedDirectivesSchema ) . optional ( ) ,
442+ styleDirective : z
443+ . object ( {
444+ resources : z . array ( z . string ( ) ) . optional ( ) ,
445+ hashes : z . array ( cspHashSchema ) . optional ( ) ,
446+ } )
447+ . optional ( ) ,
448+ scriptDirective : z
449+ . object ( {
450+ resources : z . array ( z . string ( ) ) . optional ( ) ,
451+ hashes : z . array ( cspHashSchema ) . optional ( ) ,
452+ strictDynamic : z . boolean ( ) . optional ( ) ,
453+ } )
454+ . optional ( ) ,
455+ } ) ,
456+ ] )
457+ . optional ( )
458+ . default ( ASTRO_CONFIG_DEFAULTS . security . csp ) ,
436459 } )
437460 . optional ( )
438461 . default ( ASTRO_CONFIG_DEFAULTS . security ) ,
@@ -483,29 +506,6 @@ export const AstroConfigSchema = z.object({
483506 . optional ( )
484507 . default ( ASTRO_CONFIG_DEFAULTS . experimental . contentIntellisense ) ,
485508 fonts : z . array ( z . union ( [ localFontFamilySchema , remoteFontFamilySchema ] ) ) . optional ( ) ,
486- csp : z
487- . union ( [
488- z . boolean ( ) . optional ( ) . default ( ASTRO_CONFIG_DEFAULTS . experimental . csp ) ,
489- z . object ( {
490- algorithm : cspAlgorithmSchema ,
491- directives : z . array ( allowedDirectivesSchema ) . optional ( ) ,
492- styleDirective : z
493- . object ( {
494- resources : z . array ( z . string ( ) ) . optional ( ) ,
495- hashes : z . array ( cspHashSchema ) . optional ( ) ,
496- } )
497- . optional ( ) ,
498- scriptDirective : z
499- . object ( {
500- resources : z . array ( z . string ( ) ) . optional ( ) ,
501- hashes : z . array ( cspHashSchema ) . optional ( ) ,
502- strictDynamic : z . boolean ( ) . optional ( ) ,
503- } )
504- . optional ( ) ,
505- } ) ,
506- ] )
507- . optional ( )
508- . default ( ASTRO_CONFIG_DEFAULTS . experimental . csp ) ,
509509 chromeDevtoolsWorkspace : z
510510 . boolean ( )
511511 . optional ( )
0 commit comments