{"version":3,"file":"main.mjs","sources":["../src/main.mts"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 KindSpells Labs S.L.\n *\n * SPDX-License-Identifier: MIT\n */\n\nimport type { AstroIntegration } from 'astro'\n\nimport { getAstroBuildDone, getAstroConfigSetup } from '#as/core'\nimport type { IntegrationState, ShieldOptions, SRIOptions } from './types.mts'\n\nconst logWarn = (msg: string): void =>\n\tconsole.warn(`\\nWARNING (@kindspells/astro-shield):\\n\\t${msg}\\n`)\n\n// Integration\n// -----------------------------------------------------------------------------\nexport const shield = ({\n\tdelayTransform,\n\tsecurityHeaders,\n\tsri,\n}: ShieldOptions): AstroIntegration => {\n\tconst _sri = {\n\t\tenableMiddleware: sri?.enableMiddleware ?? false,\n\t\tenableStatic: sri?.enableStatic ?? true,\n\t\thashesModule: sri?.hashesModule,\n\n\t\tallowInlineScripts: sri?.allowInlineScripts ?? 'all',\n\t\tallowInlineStyles: sri?.allowInlineStyles ?? 'all',\n\n\t\tscriptsAllowListUrls: sri?.scriptsAllowListUrls ?? [],\n\t\tstylesAllowListUrls: sri?.stylesAllowListUrls ?? [],\n\t} satisfies Required<SRIOptions>\n\n\tif (_sri.hashesModule && _sri.enableStatic === false) {\n\t\tlogWarn('`sri.hashesModule` is ignored when `sri.enableStatic` is `false`')\n\t}\n\n\tconst _delayTransform =\n\t\tdelayTransform ??\n\t\tsecurityHeaders?.enableOnStaticPages?.provider === 'vercel'\n\n\tconst state: IntegrationState = {\n\t\tdelayTransform: _delayTransform,\n\t\tconfig: {},\n\t}\n\n\treturn {\n\t\tname: '@kindspells/astro-shield',\n\t\thooks: {\n\t\t\t'astro:config:setup': getAstroConfigSetup(state, _sri, securityHeaders),\n\t\t\t...(_delayTransform\n\t\t\t\t? undefined\n\t\t\t\t: {\n\t\t\t\t\t\t'astro:build:done': getAstroBuildDone(state, _sri, securityHeaders),\n\t\t\t\t\t}),\n\t\t},\n\t} satisfies AstroIntegration\n}\n\nexport default shield\n"],"names":["logWarn","__name","msg","shield","delayTransform","securityHeaders","sri","_sri","_delayTransform","state","getAstroConfigSetup","getAstroBuildDone"],"mappings":";;;;AAWA,MAAMA,IAAUC,gBAAAA,EAAA,CAACC,MAChB,QAAQ,KAAK;AAAA;AAAA,GAA4CA,CAAG;AAAA,CAAI,GADjD,SAAA,GAKHC,IAASF,gBAAAA,EAAA,CAAC;AAAA,EACtB,gBAAAG;AAAAA,EACA,iBAAAC;AAAAA,EACA,KAAAC;AACD,MAAuC;AACtC,QAAMC,IAAO;AAAA,IACZ,kBAAkBD,GAAK,oBAAoB;AAAA,IAC3C,cAAcA,GAAK,gBAAgB;AAAA,IACnC,cAAcA,GAAK;AAAA,IAEnB,oBAAoBA,GAAK,sBAAsB;AAAA,IAC/C,mBAAmBA,GAAK,qBAAqB;AAAA,IAE7C,sBAAsBA,GAAK,wBAAwB,CAAC;AAAA,IACpD,qBAAqBA,GAAK,uBAAuB,CAAA;AAAA,EAClD;AAEIC,EAAAA,EAAK,gBAAgBA,EAAK,iBAAiB,MAC9CP,EAAQ,kEAAkE;AAG3E,QAAMQ,IACLJ,KACAC,GAAiB,qBAAqB,aAAa,UAE9CI,IAA0B;AAAA,IAC/B,gBAAgBD;AAAAA,IAChB,QAAQ,CAAA;AAAA,EACT;AAEO,SAAA;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,MACN,sBAAsBE,EAAoBD,GAAOF,GAAMF,CAAe;AAAA,MACtE,GAAIG,IACD,SACA;AAAA,QACA,oBAAoBG,EAAkBF,GAAOF,GAAMF,CAAe;AAAA,MAAA;AAAA,IACnE;AAAA,EAEJ;AACD,GAzCsB,QAAA;"}