diff --git a/docs/docusaurus.config.ts b/docs/docusaurus.config.ts index e7ccda2e5c65..3fc86ca17b92 100644 --- a/docs/docusaurus.config.ts +++ b/docs/docusaurus.config.ts @@ -190,6 +190,12 @@ const config: Config = { customFields: { INSTRUMENTATION_KEY: process.env.INSTRUMENTATION_KEY, }, + scripts: [ + { + src: "/trusted-types-policy.js", + async: false, + }, + ], }; export default config; diff --git a/docs/static/staticwebapp.config.json b/docs/static/staticwebapp.config.json index 20d3531d35d6..032728224124 100644 --- a/docs/static/staticwebapp.config.json +++ b/docs/static/staticwebapp.config.json @@ -1,7 +1,7 @@ { "globalHeaders": { "cache-control": "must-revalidate, max-age=3600", - "Content-Security-Policy-Report-Only": "require-trusted-types-for 'script'; trusted-types dompurify ff#webpack; report-uri https://csp.microsoft.com/report/FluidFramework-WW" + "Content-Security-Policy-Report-Only": "require-trusted-types-for 'script'; trusted-types default dompurify ff#webpack; report-uri https://csp.microsoft.com/report/FluidFramework-WW" }, "navigationFallback": { "rewrite": "/api/fallback" diff --git a/docs/static/trusted-types-policy.js b/docs/static/trusted-types-policy.js new file mode 100644 index 000000000000..3c3c7011697c --- /dev/null +++ b/docs/static/trusted-types-policy.js @@ -0,0 +1,21 @@ +/*! + * Copyright (c) Microsoft Corporation and contributors. All rights reserved. + * Licensed under the MIT License. + */ + +if ( + typeof window !== "undefined" && + window.trustedTypes && + typeof window.trustedTypes.createPolicy === "function" +) { + if ( + typeof window.trustedTypes.getPolicy !== "function" || + !window.trustedTypes.getPolicy("default") + ) { + window.trustedTypes.createPolicy("default", { + createHTML: (input) => input, + createScript: (input) => input, + createScriptURL: (input) => input, + }); + } +} diff --git a/fluidBuild.config.cjs b/fluidBuild.config.cjs index 2d975547545b..1741f870744c 100644 --- a/fluidBuild.config.cjs +++ b/fluidBuild.config.cjs @@ -368,6 +368,8 @@ module.exports = { "docs/build-redirects.js", "docs/download-apis.js", "docs/local-api-rollup.js", + // Avoids MIME-type issues in the browser. + "docs/static/trusted-types-policy.js", "docs/static/js/add-code-copy-button.js", "examples/data-objects/monaco/loaders/blobUrl.js", "examples/data-objects/monaco/loaders/compile.js",