dompurify 3.4.7 → 3.4.8
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/LICENSE-MPL +373 -0
- package/README.md +18 -1
- package/dist/purify.cjs.d.ts +2 -2
- package/dist/purify.cjs.js +55 -15
- package/dist/purify.cjs.js.map +1 -1
- package/dist/purify.es.d.mts +2 -2
- package/dist/purify.es.mjs +55 -15
- package/dist/purify.es.mjs.map +1 -1
- package/dist/purify.js +55 -15
- package/dist/purify.js.map +1 -1
- package/dist/purify.min.js +2 -2
- package/dist/purify.min.js.map +1 -1
- package/package.json +13 -12
- package/src/config.ts +1 -1
- package/src/purify.ts +63 -13
package/dist/purify.min.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"purify.min.js","sources":["../src/utils.ts","../src/tags.ts","../src/attrs.ts","../src/regexp.ts","../src/purify.ts"],"sourcesContent":[null,null,null,null,null],"names":["entries","Object","setPrototypeOf","isFrozen","getPrototypeOf","getOwnPropertyDescriptor","freeze","seal","create","_ref","Reflect","apply","construct","x","func","thisArg","_len","arguments","length","args","Array","_key","Func","_len2","_key2","arrayForEach","unapply","prototype","forEach","arrayLastIndexOf","lastIndexOf","arrayPop","pop","arrayPush","push","arraySplice","splice","arrayIsArray","isArray","stringToLowerCase","String","toLowerCase","stringToString","toString","stringMatch","match","stringReplace","replace","stringIndexOf","indexOf","stringTrim","trim","numberToString","Number","booleanToString","Boolean","bigintToString","BigInt","symbolToString","Symbol","objectHasOwnProperty","hasOwnProperty","objectToString","regExpTest","RegExp","test","typeErrorCreate","TypeError","_len4","_key4","lastIndex","_len3","_key3","addToSet","set","array","transformCaseFunc","l","element","lcElement","cleanArray","index","clone","object","newObject","_ref2","_ref3","_slicedToArray","property","value","constructor","lookupGetter","prop","desc","get","html","svg","svgFilters","svgDisallowed","mathMl","mathMlDisallowed","text","xml","MUSTACHE_EXPR","ERB_EXPR","TMPLIT_EXPR","DATA_ATTR","ARIA_ATTR","IS_ALLOWED_URI","IS_SCRIPT_OR_DATA","ATTR_WHITESPACE","DOCTYPE_NAME","CUSTOM_ELEMENT","NODE_TYPE","getGlobal","window","purify","createDOMPurify","undefined","DOMPurify","root","version","VERSION","removed","document","nodeType","Element","isSupported","originalDocument","currentScript","DocumentFragment","HTMLTemplateElement","Node","NodeFilter","_window$NamedNodeMap","NamedNodeMap","MozNamedAttrMap","HTMLFormElement","DOMParser","trustedTypes","ElementPrototype","cloneNode","remove","getNextSibling","getChildNodes","getParentNode","getShadowRoot","getAttributes","getNodeType","getNodeName","template","createElement","content","ownerDocument","trustedTypesPolicy","emptyHTML","_document","implementation","createNodeIterator","createDocumentFragment","getElementsByTagName","importNode","hooks","afterSanitizeAttributes","afterSanitizeElements","afterSanitizeShadowDOM","beforeSanitizeAttributes","beforeSanitizeElements","beforeSanitizeShadowDOM","uponSanitizeAttribute","uponSanitizeElement","uponSanitizeShadowNode","createHTMLDocument","EXPRESSIONS","ALLOWED_TAGS","DEFAULT_ALLOWED_TAGS","TAGS","ALLOWED_ATTR","DEFAULT_ALLOWED_ATTR","ATTRS","CUSTOM_ELEMENT_HANDLING","tagNameCheck","writable","configurable","enumerable","attributeNameCheck","allowCustomizedBuiltInElements","FORBID_TAGS","FORBID_ATTR","EXTRA_ELEMENT_HANDLING","tagCheck","attributeCheck","ALLOW_ARIA_ATTR","ALLOW_DATA_ATTR","ALLOW_UNKNOWN_PROTOCOLS","ALLOW_SELF_CLOSE_IN_ATTR","SAFE_FOR_TEMPLATES","SAFE_FOR_XML","WHOLE_DOCUMENT","SET_CONFIG","FORCE_BODY","RETURN_DOM","RETURN_DOM_FRAGMENT","RETURN_TRUSTED_TYPE","SANITIZE_DOM","SANITIZE_NAMED_PROPS","SANITIZE_NAMED_PROPS_PREFIX","KEEP_CONTENT","IN_PLACE","USE_PROFILES","FORBID_CONTENTS","DEFAULT_FORBID_CONTENTS","DATA_URI_TAGS","DEFAULT_DATA_URI_TAGS","URI_SAFE_ATTRIBUTES","DEFAULT_URI_SAFE_ATTRIBUTES","MATHML_NAMESPACE","SVG_NAMESPACE","HTML_NAMESPACE","NAMESPACE","IS_EMPTY_INPUT","ALLOWED_NAMESPACES","DEFAULT_ALLOWED_NAMESPACES","MATHML_TEXT_INTEGRATION_POINTS","HTML_INTEGRATION_POINTS","COMMON_SVG_AND_HTML_ELEMENTS","PARSER_MEDIA_TYPE","SUPPORTED_PARSER_MEDIA_TYPES","CONFIG","formElement","isRegexOrFunction","testValue","Function","_parseConfig","cfg","ADD_URI_SAFE_ATTR","ADD_DATA_URI_TAGS","_unused","isRegex","ALLOWED_URI_REGEXP","customElementHandling","ADD_TAGS","ADD_ATTR","ADD_FORBID_CONTENTS","table","tbody","TRUSTED_TYPES_POLICY","createHTML","createScriptURL","purifyHostElement","createPolicy","suffix","ATTR_NAME","hasAttribute","getAttribute","policyName","scriptUrl","_","console","warn","_createTrustedTypesPolicy","ALL_SVG_TAGS","ALL_MATHML_TAGS","_forceRemove","node","removeChild","_removeAttribute","name","attribute","getAttributeNode","from","removeAttribute","setAttribute","_initDocument","dirty","doc","leadingWhitespace","matches","dirtyPayload","parseFromString","documentElement","createDocument","innerHTML","body","insertBefore","createTextNode","childNodes","call","_createNodeIterator","SHOW_ELEMENT","SHOW_COMMENT","SHOW_TEXT","SHOW_PROCESSING_INSTRUCTION","SHOW_CDATA_SECTION","_scrubTemplateExpressions","normalize","walker","currentNode","nextNode","data","expr","_isClobbered","realTagName","nodeName","textContent","attributes","namespaceURI","hasChildNodes","_isDocumentFragment","_isNode","_executeHooks","hook","_sanitizeElements","tagName","allowedTags","firstElementChild","_isBasicCustomElement","parentNode","i","childClone","parent","parentTagName","_checkValidNamespace","_isValidAttribute","lcTag","lcName","nameIsPermitted","RESERVED_CUSTOM_ELEMENT_NAMES","_sanitizeAttributes","hookEvent","attrName","attrValue","keepAttr","allowedAttributes","forceKeepAttr","attr","initValue","getAttributeType","setAttributeNS","_sanitizeShadowDOM","fragment","shadowNode","shadowIterator","innerSr","shadowRoot","_sanitizeAttachedShadowRoots","sr","snapshot","child","rootName","sanitize","importedNode","returnNode","valueAsRecord","valueToString","stringified","stringifyValue","nn","appendChild","firstChild","nodeIterator","shadowroot","shadowrootmode","serializedHTML","outerHTML","doctype","setConfig","clearConfig","isValidAttribute","tag","addHook","entryPoint","hookFunction","removeHook","removeHooks","removeAllHooks"],"mappings":"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AEjCA,GACiB,iBAAVA,GACPA,EAAMC,cAAgBzF,OAEtBmF,EAAUI,GAAYN,EAAMO,GAE5BL,EAAUI,GAAYC,EAG5B,CAEA,OAAOL,CACT,CAmEA,SAASO,EACPR,EACAS,GAEA,KAAkB,OAAXT,GAAiB,CACtB,MAAMU,EAAOxF,EAAyB8E,EAAQS,GAE9C,GAAIC,EAAM,CACR,GAAIA,EAAKC,IACP,OAAOpE,EAAQmE,EAAKC,KAGtB,GAA0B,mBAAfD,EAAKJ,MACd,OAAO/D,EAAQmE,EAAKJ,MAExB,CAEAN,EAAS/E,EAAe+E,EAC1B,CAMA,OAJA,WACE,OAAO,IACT,CAGF,CC1RO,MAAMY,EAAOzF,EAAO,CACzB,IACA,OACA,UACA,UACA,OACA,UACA,QACA,QACA,IACA,MACA,MACA,MACA,QACA,aACA,OACA,KACA,SACA,SACA,UACA,SACA,OACA,OACA,MACA,WACA,UACA,OACA,WACA,KACA,YACA,MACA,UACA,MACA,SACA,MACA,MACA,KACA,KACA,UACA,KACA,WACA,aACA,SACA,OACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,SACA,KACA,OACA,IACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,MACA,OACA,UACA,OACA,WACA,QACA,MACA,OACA,KACA,WACA,SACA,SACA,IACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,SACA,UACA,SACA,SACA,OACA,QACA,SACA,SACA,OACA,SACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,WACA,QACA,KACA,QACA,OACA,KACA,QACA,KACA,IACA,KACA,MACA,QACA,QAGW0F,EAAM1F,EAAO,CACxB,MACA,IACA,WACA,cACA,eACA,eACA,gBACA,mBACA,SACA,WACA,OACA,OACA,UACA,eACA,cACA,SACA,OACA,IACA,QACA,WACA,QACA,QACA,YACA,OACA,iBACA,SACA,OACA,WACA,QACA,OACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,QACA,SACA,SACA,OACA,WACA,QACA,OACA,QACA,OACA,UAGW2F,EAAa3F,EAAO,CAC/B,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,iBACA,eACA,UACA,UACA,UACA,UACA,UACA,iBACA,UACA,UACA,cACA,eACA,WACA,eACA,qBACA,cACA,SACA,iBAOW4F,EAAgB5F,EAAO,CAClC,UACA,gBACA,SACA,UACA,YACA,mBACA,iBACA,gBACA,gBACA,gBACA,QACA,YACA,OACA,eACA,YACA,UACA,gBACA,SACA,MACA,aACA,UACA,QAGW6F,EAAS7F,EAAO,CAC3B,OACA,WACA,SACA,UACA,QACA,SACA,KACA,aACA,gBACA,KACA,KACA,QACA,UACA,WACA,QACA,OACA,KACA,SACA,QACA,SACA,OACA,OACA,UACA,SACA,MACA,QACA,MACA,SACA,aACA,gBAKW8F,EAAmB9F,EAAO,CACrC,UACA,cACA,aACA,WACA,YACA,UACA,UACA,SACA,SACA,QACA,YACA,aACA,iBACA,cACA,SAGW+F,EAAO/F,EAAO,CAAC,UC1RfyF,EAAOzF,EAAO,CACzB,SACA,SACA,QACA,MACA,iBACA,eACA,uBACA,WACA,aACA,UACA,SACA,UACA,cACA,cACA,UACA,OACA,QACA,QACA,QACA,OACA,UACA,UACA,aACA,WACA,eACA,SACA,cACA,WACA,WACA,UACA,MACA,WACA,0BACA,wBACA,WACA,YACA,UACA,eACA,cACA,OACA,MACA,UACA,SACA,SACA,OACA,OACA,WACA,KACA,QACA,YACA,YACA,QACA,OACA,QACA,OACA,OACA,UACA,OACA,MACA,MACA,YACA,QACA,SACA,MACA,YACA,WACA,QACA,OACA,QACA,UACA,aACA,SACA,OACA,UACA,OACA,UACA,cACA,cACA,UACA,gBACA,sBACA,SACA,UACA,UACA,aACA,WACA,MACA,WACA,MACA,WACA,OACA,OACA,UACA,aACA,QACA,WACA,QACA,OACA,QACA,OACA,OACA,UACA,QACA,MACA,SACA,OACA,QACA,UACA,WACA,QACA,YACA,OACA,SACA,SACA,QACA,QACA,OACA,UAGW0F,EAAM1F,EAAO,CACxB,gBACA,aACA,WACA,qBACA,YACA,SACA,gBACA,gBACA,UACA,gBACA,iBACA,QACA,OACA,KACA,QACA,OACA,gBACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,KACA,KACA,IACA,KACA,KACA,kBACA,YACA,UACA,UACA,MACA,WACA,YACA,MACA,WACA,OACA,eACA,YACA,SACA,cACA,cACA,gBACA,cACA,YACA,mBACA,eACA,aACA,eACA,cACA,KACA,KACA,KACA,KACA,aACA,WACA,gBACA,oBACA,SACA,OACA,KACA,kBACA,KACA,MACA,YACA,IACA,KACA,KACA,KACA,KACA,UACA,YACA,aACA,WACA,OACA,eACA,iBACA,eACA,mBACA,iBACA,QACA,aACA,aACA,eACA,eACA,cACA,cACA,mBACA,YACA,MACA,OACA,YACA,QACA,SACA,OACA,MACA,OACA,aACA,SACA,WACA,UACA,QACA,SACA,cACA,SACA,WACA,cACA,OACA,aACA,sBACA,mBACA,eACA,SACA,gBACA,sBACA,iBACA,IACA,KACA,KACA,SACA,OACA,OACA,cACA,YACA,UACA,SACA,SACA,QACA,OACA,kBACA,QACA,mBACA,mBACA,eACA,cACA,eACA,cACA,aACA,eACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,SACA,eACA,QACA,eACA,iBACA,WACA,cACA,UACA,UACA,YACA,mBACA,cACA,kBACA,iBACA,aACA,OACA,KACA,KACA,UACA,SACA,UACA,aACA,UACA,aACA,gBACA,gBACA,QACA,eACA,OACA,eACA,mBACA,mBACA,IACA,KACA,KACA,QACA,IACA,KACA,KACA,IACA,eAGW6F,EAAS7F,EAAO,CAC3B,SACA,cACA,QACA,WACA,QACA,cACA,cACA,gBACA,aACA,aACA,QACA,MACA,UACA,eACA,WACA,QACA,QACA,SACA,OACA,KACA,UACA,SACA,gBACA,SACA,SACA,iBACA,Y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"}
|
|
1
|
+
{"version":3,"file":"purify.min.js","sources":["../src/utils.ts","../src/tags.ts","../src/attrs.ts","../src/regexp.ts","../src/purify.ts"],"sourcesContent":[null,null,null,null,null],"names":["entries","Object","setPrototypeOf","isFrozen","getPrototypeOf","getOwnPropertyDescriptor","freeze","seal","create","_ref","Reflect","apply","construct","x","func","thisArg","_len","arguments","length","args","Array","_key","Func","_len2","_key2","arrayForEach","unapply","prototype","forEach","arrayLastIndexOf","lastIndexOf","arrayPop","pop","arrayPush","push","arraySplice","splice","arrayIsArray","isArray","stringToLowerCase","String","toLowerCase","stringToString","toString","stringMatch","match","stringReplace","replace","stringIndexOf","indexOf","stringTrim","trim","numberToString","Number","booleanToString","Boolean","bigintToString","BigInt","symbolToString","Symbol","objectHasOwnProperty","hasOwnProperty","objectToString","regExpTest","RegExp","test","typeErrorCreate","TypeError","_len4","_key4","lastIndex","_len3","_key3","addToSet","set","array","transformCaseFunc","l","element","lcElement","cleanArray","index","clone","object","newObject","_ref2","_ref3","_slicedToArray","property","value","constructor","lookupGetter","prop","desc","get","html","svg","svgFilters","svgDisallowed","mathMl","mathMlDisallowed","text","xml","MUSTACHE_EXPR","ERB_EXPR","TMPLIT_EXPR","DATA_ATTR","ARIA_ATTR","IS_ALLOWED_URI","IS_SCRIPT_OR_DATA","ATTR_WHITESPACE","DOCTYPE_NAME","CUSTOM_ELEMENT","NODE_TYPE","getGlobal","window","purify","createDOMPurify","undefined","DOMPurify","root","version","VERSION","removed","document","nodeType","Element","isSupported","originalDocument","currentScript","DocumentFragment","HTMLTemplateElement","Node","NodeFilter","_window$NamedNodeMap","NamedNodeMap","MozNamedAttrMap","HTMLFormElement","DOMParser","trustedTypes","ElementPrototype","cloneNode","remove","getNextSibling","getChildNodes","getParentNode","getShadowRoot","getAttributes","getNodeType","getNodeName","template","createElement","content","ownerDocument","trustedTypesPolicy","emptyHTML","IN_POLICY_CREATE_HTML","_createTrustedHTML","createHTML","_document","implementation","createNodeIterator","createDocumentFragment","getElementsByTagName","importNode","hooks","afterSanitizeAttributes","afterSanitizeElements","afterSanitizeShadowDOM","beforeSanitizeAttributes","beforeSanitizeElements","beforeSanitizeShadowDOM","uponSanitizeAttribute","uponSanitizeElement","uponSanitizeShadowNode","createHTMLDocument","EXPRESSIONS","ALLOWED_TAGS","DEFAULT_ALLOWED_TAGS","TAGS","ALLOWED_ATTR","DEFAULT_ALLOWED_ATTR","ATTRS","CUSTOM_ELEMENT_HANDLING","tagNameCheck","writable","configurable","enumerable","attributeNameCheck","allowCustomizedBuiltInElements","FORBID_TAGS","FORBID_ATTR","EXTRA_ELEMENT_HANDLING","tagCheck","attributeCheck","ALLOW_ARIA_ATTR","ALLOW_DATA_ATTR","ALLOW_UNKNOWN_PROTOCOLS","ALLOW_SELF_CLOSE_IN_ATTR","SAFE_FOR_TEMPLATES","SAFE_FOR_XML","WHOLE_DOCUMENT","SET_CONFIG","FORCE_BODY","RETURN_DOM","RETURN_DOM_FRAGMENT","RETURN_TRUSTED_TYPE","SANITIZE_DOM","SANITIZE_NAMED_PROPS","SANITIZE_NAMED_PROPS_PREFIX","KEEP_CONTENT","IN_PLACE","USE_PROFILES","FORBID_CONTENTS","DEFAULT_FORBID_CONTENTS","DATA_URI_TAGS","DEFAULT_DATA_URI_TAGS","URI_SAFE_ATTRIBUTES","DEFAULT_URI_SAFE_ATTRIBUTES","MATHML_NAMESPACE","SVG_NAMESPACE","HTML_NAMESPACE","NAMESPACE","IS_EMPTY_INPUT","ALLOWED_NAMESPACES","DEFAULT_ALLOWED_NAMESPACES","MATHML_TEXT_INTEGRATION_POINTS","HTML_INTEGRATION_POINTS","COMMON_SVG_AND_HTML_ELEMENTS","PARSER_MEDIA_TYPE","SUPPORTED_PARSER_MEDIA_TYPES","CONFIG","formElement","isRegexOrFunction","testValue","Function","_parseConfig","cfg","ADD_URI_SAFE_ATTR","ADD_DATA_URI_TAGS","_unused","isRegex","ALLOWED_URI_REGEXP","customElementHandling","ADD_TAGS","ADD_ATTR","ADD_FORBID_CONTENTS","table","tbody","TRUSTED_TYPES_POLICY","createScriptURL","previousTrustedTypesPolicy","error","purifyHostElement","createPolicy","suffix","ATTR_NAME","hasAttribute","getAttribute","policyName","scriptUrl","_","console","warn","_createTrustedTypesPolicy","ALL_SVG_TAGS","ALL_MATHML_TAGS","_forceRemove","node","removeChild","_removeAttribute","name","attribute","getAttributeNode","from","removeAttribute","setAttribute","_initDocument","dirty","doc","leadingWhitespace","matches","dirtyPayload","parseFromString","documentElement","createDocument","innerHTML","body","insertBefore","createTextNode","childNodes","call","_createNodeIterator","SHOW_ELEMENT","SHOW_COMMENT","SHOW_TEXT","SHOW_PROCESSING_INSTRUCTION","SHOW_CDATA_SECTION","_scrubTemplateExpressions","_node$querySelectorAl","_node$querySelectorAl2","normalize","walker","currentNode","nextNode","data","expr","templates","querySelectorAll","tmpl","_isDocumentFragment","_isClobbered","realTagName","nodeName","textContent","attributes","namespaceURI","hasChildNodes","_isNode","_executeHooks","hook","_sanitizeElements","tagName","allowedTags","firstElementChild","_isBasicCustomElement","parentNode","i","childClone","parent","parentTagName","_checkValidNamespace","_isValidAttribute","lcTag","lcName","nameIsPermitted","RESERVED_CUSTOM_ELEMENT_NAMES","_sanitizeAttributes","hookEvent","attrName","attrValue","keepAttr","allowedAttributes","forceKeepAttr","attr","initValue","getAttributeType","setAttributeNS","_sanitizeShadowDOM","fragment","shadowNode","shadowIterator","innerSr","shadowRoot","_sanitizeAttachedShadowRoots","sr","snapshot","child","rootName","sanitize","importedNode","returnNode","valueAsRecord","valueToString","stringified","stringifyValue","nn","appendChild","firstChild","nodeIterator","shadowroot","shadowrootmode","serializedHTML","outerHTML","doctype","setConfig","clearConfig","isValidAttribute","tag","addHook","entryPoint","hookFunction","removeHook","removeHooks","removeAllHooks"],"mappings":"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AEjCA,GACiB,iBAAVA,GACPA,EAAMC,cAAgBzF,OAEtBmF,EAAUI,GAAYN,EAAMO,GAE5BL,EAAUI,GAAYC,EAG5B,CAEA,OAAOL,CACT,CAmEA,SAASO,EACPR,EACAS,GAEA,KAAkB,OAAXT,GAAiB,CACtB,MAAMU,EAAOxF,EAAyB8E,EAAQS,GAE9C,GAAIC,EAAM,CACR,GAAIA,EAAKC,IACP,OAAOpE,EAAQmE,EAAKC,KAGtB,GAA0B,mBAAfD,EAAKJ,MACd,OAAO/D,EAAQmE,EAAKJ,MAExB,CAEAN,EAAS/E,EAAe+E,EAC1B,CAMA,OAJA,WACE,OAAO,IACT,CAGF,CC1RO,MAAMY,EAAOzF,EAAO,CACzB,IACA,OACA,UACA,UACA,OACA,UACA,QACA,QACA,IACA,MACA,MACA,MACA,QACA,aACA,OACA,KACA,SACA,SACA,UACA,SACA,OACA,OACA,MACA,WACA,UACA,OACA,WACA,KACA,YACA,MACA,UACA,MACA,SACA,MACA,MACA,KACA,KACA,UACA,KACA,WACA,aACA,SACA,OACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,SACA,KACA,OACA,IACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,MACA,OACA,UACA,OACA,WACA,QACA,MACA,OACA,KACA,WACA,SACA,SACA,IACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,SACA,UACA,SACA,SACA,OACA,QACA,SACA,SACA,OACA,SACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,WACA,QACA,KACA,QACA,OACA,KACA,QACA,KACA,IACA,KACA,MACA,QACA,QAGW0F,EAAM1F,EAAO,CACxB,MACA,IACA,WACA,cACA,eACA,eACA,gBACA,mBACA,SACA,WACA,OACA,OACA,UACA,eACA,cACA,SACA,OACA,IACA,QACA,WACA,QACA,QACA,YACA,OACA,iBACA,SACA,OACA,WACA,QACA,OACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,QACA,SACA,SACA,OACA,WACA,QACA,OACA,QACA,OACA,UAGW2F,EAAa3F,EAAO,CAC/B,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,iBACA,eACA,UACA,UACA,UACA,UACA,UACA,iBACA,UACA,UACA,cACA,eACA,WACA,eACA,qBACA,cACA,SACA,iBAOW4F,EAAgB5F,EAAO,CAClC,UACA,gBACA,SACA,UACA,YACA,mBACA,iBACA,gBACA,gBACA,gBACA,QACA,YACA,OACA,eACA,YACA,UACA,gBACA,SACA,MACA,aACA,UACA,QAGW6F,EAAS7F,EAAO,CAC3B,OACA,WACA,SACA,UACA,QACA,SACA,KACA,aACA,gBACA,KACA,KACA,QACA,UACA,WACA,QACA,OACA,KACA,SACA,QACA,SACA,OACA,OACA,UACA,SACA,MACA,QACA,MACA,SACA,aACA,gBAKW8F,EAAmB9F,EAAO,CACrC,UACA,cACA,aACA,WACA,YACA,UACA,UACA,SACA,SACA,QACA,YACA,aACA,iBACA,cACA,SAGW+F,EAAO/F,EAAO,CAAC,UC1RfyF,EAAOzF,EAAO,CACzB,SACA,SACA,QACA,MACA,iBACA,eACA,uBACA,WACA,aACA,UACA,SACA,UACA,cACA,cACA,UACA,OACA,QACA,QACA,QACA,OACA,UACA,UACA,aACA,WACA,eACA,SACA,cACA,WACA,WACA,UACA,MACA,WACA,0BACA,wBACA,WACA,YACA,UACA,eACA,cACA,OACA,MACA,UACA,SACA,SACA,OACA,OACA,WACA,KACA,QACA,YACA,YACA,QACA,OACA,QACA,OACA,OACA,UACA,OACA,MACA,MACA,YACA,QACA,SACA,MACA,YACA,WACA,QACA,OACA,QACA,UACA,aACA,SACA,OACA,UACA,OACA,UACA,cACA,cACA,UACA,gBACA,sBACA,SACA,UACA,UACA,aACA,WACA,MACA,WACA,MACA,WACA,OACA,OACA,UACA,aACA,QACA,WACA,QACA,OACA,QACA,OACA,OACA,UACA,QACA,MACA,SACA,OACA,QACA,UACA,WACA,QACA,YACA,OACA,SACA,SACA,QACA,QACA,OACA,UAGW0F,EAAM1F,EAAO,CACxB,gBACA,aACA,WACA,qBACA,YACA,SACA,gBACA,gBACA,UACA,gBACA,iBACA,QACA,OACA,KACA,QACA,OACA,gBACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,KACA,KACA,IACA,KACA,KACA,kBACA,YACA,UACA,UACA,MACA,WACA,YACA,MACA,WACA,OACA,eACA,YACA,SACA,cACA,cACA,gBACA,cACA,YACA,mBACA,eACA,aACA,eACA,cACA,KACA,KACA,KACA,KACA,aACA,WACA,gBACA,oBACA,SACA,OACA,KACA,kBACA,KACA,MACA,YACA,IACA,KACA,KACA,KACA,KACA,UACA,YACA,aACA,WACA,OACA,eACA,iBACA,eACA,mBACA,iBACA,QACA,aACA,aACA,eACA,eACA,cACA,cACA,mBACA,YACA,MACA,OACA,YACA,QACA,SACA,OACA,MACA,OACA,aACA,SACA,WACA,UACA,QACA,SACA,cACA,SACA,WACA,cACA,OACA,aACA,sBACA,mBACA,eACA,SACA,gBACA,sBACA,iBACA,IACA,KACA,KACA,SACA,OACA,OACA,cACA,YACA,UACA,SACA,SACA,QACA,OACA,kBACA,QACA,mBACA,mBACA,eACA,cACA,eACA,cACA,aACA,eACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,SACA,eACA,QACA,eACA,iBACA,WACA,cACA,UACA,UACA,YACA,mBACA,cACA,kBACA,iBACA,aACA,OACA,KACA,KACA,UACA,SACA,UACA,aACA,UACA,aACA,gBACA,gBACA,QACA,eACA,OACA,eACA,mBACA,mBACA,IACA,KACA,KACA,QACA,IACA,KACA,KACA,IACA,eAGW6F,EAAS7F,EAAO,CAC3B,SACA,cACA,QACA,WACA,QACA,cACA,cACA,gBACA,aACA,aACA,QACA,MACA,UACA,eACA,WACA,QACA,QACA,SACA,OACA,KACA,UACA,SACA,gBACA,SACA,SACA,iBACA,Y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"}
|
package/package.json
CHANGED
|
@@ -7,19 +7,19 @@
|
|
|
7
7
|
"format:js": "prettier --write '{src,demos,scripts,test,website}/*.{js,ts}'",
|
|
8
8
|
"commit-amend-build": "scripts/commit-amend-build.sh",
|
|
9
9
|
"prebuild": "rimraf dist",
|
|
10
|
-
"dev": "cross-env NODE_ENV=development BABEL_ENV=rollup rollup -w -c -o dist/purify.js",
|
|
10
|
+
"dev": "cross-env NODE_ENV=development BABEL_ENV=rollup rollup -w -c config/rollup.config.js -o dist/purify.js",
|
|
11
11
|
"build": "npm run build:types && npm run build:rollup && npm run build:fix-types && npm run build:cleanup",
|
|
12
|
-
"build:types": "tsc --outDir dist/types --declaration --emitDeclarationOnly",
|
|
13
|
-
"build:rollup": "rollup -c",
|
|
12
|
+
"build:types": "tsc -p config/tsconfig.json --outDir dist/types --declaration --emitDeclarationOnly",
|
|
13
|
+
"build:rollup": "rollup -c config/rollup.config.js",
|
|
14
14
|
"build:fix-types": "node ./scripts/fix-types.js",
|
|
15
|
-
"build:umd": "rollup -c -f umd -o dist/purify.js",
|
|
16
|
-
"build:umd:min": "rollup -c -f umd -o dist/purify.min.js -p terser",
|
|
17
|
-
"build:es": "rollup -c -f es -o dist/purify.es.mjs",
|
|
18
|
-
"build:cjs": "rollup -c -f cjs -o dist/purify.cjs.js",
|
|
15
|
+
"build:umd": "rollup -c config/rollup.config.js -f umd -o dist/purify.js",
|
|
16
|
+
"build:umd:min": "rollup -c config/rollup.config.js -f umd -o dist/purify.min.js -p terser",
|
|
17
|
+
"build:es": "rollup -c config/rollup.config.js -f es -o dist/purify.es.mjs",
|
|
18
|
+
"build:cjs": "rollup -c config/rollup.config.js -f cjs -o dist/purify.cjs.js",
|
|
19
19
|
"build:cleanup": "rimraf dist/types",
|
|
20
20
|
"test": "cross-env NODE_ENV=test BABEL_ENV=rollup npm run lint && npm run test:jsdom && npm run test:browser -- --project=chromium",
|
|
21
21
|
"test:jsdom": "cross-env NODE_ENV=test BABEL_ENV=rollup node test/jsdom-node-runner --dot",
|
|
22
|
-
"test:browser": "playwright test",
|
|
22
|
+
"test:browser": "playwright test --config config/playwright.config.js",
|
|
23
23
|
"test:browser:install": "playwright install",
|
|
24
24
|
"test:ci": "cross-env NODE_ENV=test BABEL_ENV=rollup npm run test:jsdom && npm run test:browser",
|
|
25
25
|
"test:fuzz": "cross-env NODE_ENV=test BABEL_ENV=rollup node test/fuzz/sanitize.fast-check.js",
|
|
@@ -48,7 +48,8 @@
|
|
|
48
48
|
},
|
|
49
49
|
"files": [
|
|
50
50
|
"dist",
|
|
51
|
-
"src"
|
|
51
|
+
"src",
|
|
52
|
+
"LICENSE-MPL"
|
|
52
53
|
],
|
|
53
54
|
"xo": {
|
|
54
55
|
"semicolon": true,
|
|
@@ -110,7 +111,7 @@
|
|
|
110
111
|
"@babel/core": "^7.29.7",
|
|
111
112
|
"@babel/preset-env": "^7.29.7",
|
|
112
113
|
"@playwright/test": "^1.60.0",
|
|
113
|
-
"@rollup/plugin-babel": "^7.
|
|
114
|
+
"@rollup/plugin-babel": "^7.1.0",
|
|
114
115
|
"@rollup/plugin-node-resolve": "^16.0.3",
|
|
115
116
|
"@rollup/plugin-replace": "^6.0.1",
|
|
116
117
|
"@rollup/plugin-terser": "^1.0.0",
|
|
@@ -119,7 +120,7 @@
|
|
|
119
120
|
"@types/node": "^25.9.1",
|
|
120
121
|
"cross-env": "^10.1.0",
|
|
121
122
|
"eslint-config-prettier": "^10.1.8",
|
|
122
|
-
"eslint-plugin-prettier": "^5.
|
|
123
|
+
"eslint-plugin-prettier": "^5.5.6",
|
|
123
124
|
"fast-check": "^4.8.0",
|
|
124
125
|
"husky": "^9.1.0",
|
|
125
126
|
"jquery": "^3.6.0",
|
|
@@ -139,7 +140,7 @@
|
|
|
139
140
|
},
|
|
140
141
|
"name": "dompurify",
|
|
141
142
|
"description": "DOMPurify is a DOM-only, super-fast, uber-tolerant XSS sanitizer for HTML, MathML and SVG. It's written in JavaScript and works in all modern browsers (Safari, Opera (15+), Internet Explorer (10+), Firefox and Chrome - as well as almost anything else using Blink or WebKit). DOMPurify is written by security people who have vast background in web attacks and XSS. Fear not.",
|
|
142
|
-
"version": "3.4.
|
|
143
|
+
"version": "3.4.8",
|
|
143
144
|
"directories": {
|
|
144
145
|
"test": "test"
|
|
145
146
|
},
|
package/src/config.ts
CHANGED
|
@@ -217,7 +217,7 @@ export interface Config {
|
|
|
217
217
|
/**
|
|
218
218
|
* Supplied policy must define `createHTML` and `createScriptURL`.
|
|
219
219
|
*/
|
|
220
|
-
TRUSTED_TYPES_POLICY?: TrustedTypePolicy | undefined;
|
|
220
|
+
TRUSTED_TYPES_POLICY?: TrustedTypePolicy | null | undefined;
|
|
221
221
|
|
|
222
222
|
/**
|
|
223
223
|
* Controls categories of allowed elements.
|
package/src/purify.ts
CHANGED
|
@@ -189,6 +189,30 @@ function createDOMPurify(window: WindowLike = getGlobal()): DOMPurify {
|
|
|
189
189
|
let trustedTypesPolicy;
|
|
190
190
|
let emptyHTML = '';
|
|
191
191
|
|
|
192
|
+
// Tracks whether we are already inside a call to the configured Trusted Types
|
|
193
|
+
// policy's `createHTML`. If the supplied `TRUSTED_TYPES_POLICY.createHTML`
|
|
194
|
+
// itself calls `DOMPurify.sanitize` (the cause of #1422), `sanitize` would
|
|
195
|
+
// re-enter the policy and recurse until the stack overflows. We detect that
|
|
196
|
+
// re-entry and throw a clear, actionable error instead.
|
|
197
|
+
let IN_POLICY_CREATE_HTML = 0;
|
|
198
|
+
const _createTrustedHTML = function (html: string): string {
|
|
199
|
+
if (IN_POLICY_CREATE_HTML > 0) {
|
|
200
|
+
throw typeErrorCreate(
|
|
201
|
+
'The configured TRUSTED_TYPES_POLICY.createHTML must not call ' +
|
|
202
|
+
'DOMPurify.sanitize, as that causes infinite recursion. Do not pass ' +
|
|
203
|
+
'a policy whose createHTML wraps DOMPurify as TRUSTED_TYPES_POLICY; ' +
|
|
204
|
+
'see the "DOMPurify and Trusted Types" section of the README.'
|
|
205
|
+
);
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
IN_POLICY_CREATE_HTML++;
|
|
209
|
+
try {
|
|
210
|
+
return trustedTypesPolicy.createHTML(html);
|
|
211
|
+
} finally {
|
|
212
|
+
IN_POLICY_CREATE_HTML--;
|
|
213
|
+
}
|
|
214
|
+
};
|
|
215
|
+
|
|
192
216
|
const {
|
|
193
217
|
implementation,
|
|
194
218
|
createNodeIterator,
|
|
@@ -773,13 +797,25 @@ function createDOMPurify(window: WindowLike = getGlobal()): DOMPurify {
|
|
|
773
797
|
}
|
|
774
798
|
|
|
775
799
|
// Overwrite existing TrustedTypes policy.
|
|
800
|
+
const previousTrustedTypesPolicy = trustedTypesPolicy;
|
|
776
801
|
trustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY;
|
|
777
802
|
|
|
778
|
-
// Sign local variables required by `sanitize`.
|
|
779
|
-
|
|
803
|
+
// Sign local variables required by `sanitize`. If the supplied policy's
|
|
804
|
+
// `createHTML` is circular (i.e. it calls `DOMPurify.sanitize`), this
|
|
805
|
+
// throws via the re-entrancy guard. Restore the previous policy first so
|
|
806
|
+
// the instance is not left in a poisoned state. See #1422.
|
|
807
|
+
try {
|
|
808
|
+
emptyHTML = _createTrustedHTML('');
|
|
809
|
+
} catch (error) {
|
|
810
|
+
trustedTypesPolicy = previousTrustedTypesPolicy;
|
|
811
|
+
throw error;
|
|
812
|
+
}
|
|
780
813
|
} else {
|
|
781
814
|
// Uninitialized policy, attempt to initialize the internal dompurify policy.
|
|
782
|
-
if (
|
|
815
|
+
if (
|
|
816
|
+
trustedTypesPolicy === undefined &&
|
|
817
|
+
cfg.TRUSTED_TYPES_POLICY !== null
|
|
818
|
+
) {
|
|
783
819
|
trustedTypesPolicy = _createTrustedTypesPolicy(
|
|
784
820
|
trustedTypes,
|
|
785
821
|
currentScript
|
|
@@ -787,8 +823,12 @@ function createDOMPurify(window: WindowLike = getGlobal()): DOMPurify {
|
|
|
787
823
|
}
|
|
788
824
|
|
|
789
825
|
// If creating the internal policy succeeded sign internal variables.
|
|
790
|
-
|
|
791
|
-
|
|
826
|
+
// Note: a falsy `trustedTypesPolicy` (null when policy creation failed or
|
|
827
|
+
// was skipped via `TRUSTED_TYPES_POLICY: null`, or undefined when no
|
|
828
|
+
// policy has been initialized yet) must be excluded here, otherwise we
|
|
829
|
+
// would call `.createHTML` on a non-policy and throw. See #1422.
|
|
830
|
+
if (trustedTypesPolicy && typeof emptyHTML === 'string') {
|
|
831
|
+
emptyHTML = _createTrustedHTML('');
|
|
792
832
|
}
|
|
793
833
|
}
|
|
794
834
|
|
|
@@ -1028,9 +1068,7 @@ function createDOMPurify(window: WindowLike = getGlobal()): DOMPurify {
|
|
|
1028
1068
|
'</body></html>';
|
|
1029
1069
|
}
|
|
1030
1070
|
|
|
1031
|
-
const dirtyPayload = trustedTypesPolicy
|
|
1032
|
-
? trustedTypesPolicy.createHTML(dirty)
|
|
1033
|
-
: dirty;
|
|
1071
|
+
const dirtyPayload = trustedTypesPolicy ? _createTrustedHTML(dirty) : dirty;
|
|
1034
1072
|
/*
|
|
1035
1073
|
* Use the DOMParser API by default, fallback later if needs be
|
|
1036
1074
|
* DOMParser not work for svg when has multiple root element.
|
|
@@ -1134,6 +1172,16 @@ function createDOMPurify(window: WindowLike = getGlobal()): DOMPurify {
|
|
|
1134
1172
|
currentNode.data = data;
|
|
1135
1173
|
currentNode = walker.nextNode() as CharacterData | null;
|
|
1136
1174
|
}
|
|
1175
|
+
|
|
1176
|
+
// NodeIterator does not descend into <template>.content per the DOM spec,
|
|
1177
|
+
// so we must explicitly recurse into each template's content fragment,
|
|
1178
|
+
// mirroring the approach used by _sanitizeShadowDOM.
|
|
1179
|
+
const templates = node.querySelectorAll?.('template') ?? [];
|
|
1180
|
+
arrayForEach(Array.from(templates), (tmpl: HTMLTemplateElement) => {
|
|
1181
|
+
if (_isDocumentFragment(tmpl.content)) {
|
|
1182
|
+
_scrubTemplateExpressions(tmpl.content as unknown as Element);
|
|
1183
|
+
}
|
|
1184
|
+
});
|
|
1137
1185
|
};
|
|
1138
1186
|
|
|
1139
1187
|
/**
|
|
@@ -1277,7 +1325,9 @@ function createDOMPurify(window: WindowLike = getGlobal()): DOMPurify {
|
|
|
1277
1325
|
}
|
|
1278
1326
|
|
|
1279
1327
|
/* Now let's check the element's type and name */
|
|
1280
|
-
const tagName = transformCaseFunc(
|
|
1328
|
+
const tagName = transformCaseFunc(
|
|
1329
|
+
getNodeName ? getNodeName(currentNode) : currentNode.nodeName
|
|
1330
|
+
);
|
|
1281
1331
|
|
|
1282
1332
|
/* Execute a hook if present */
|
|
1283
1333
|
_executeHooks(hooks.uponSanitizeElement, currentNode, {
|
|
@@ -1683,7 +1733,7 @@ function createDOMPurify(window: WindowLike = getGlobal()): DOMPurify {
|
|
|
1683
1733
|
} else {
|
|
1684
1734
|
switch (trustedTypes.getAttributeType(lcTag, lcName)) {
|
|
1685
1735
|
case 'TrustedHTML': {
|
|
1686
|
-
value =
|
|
1736
|
+
value = _createTrustedHTML(value);
|
|
1687
1737
|
break;
|
|
1688
1738
|
}
|
|
1689
1739
|
|
|
@@ -1766,7 +1816,7 @@ function createDOMPurify(window: WindowLike = getGlobal()): DOMPurify {
|
|
|
1766
1816
|
iterator also surfaces. */
|
|
1767
1817
|
const shadowNodeType = getNodeType
|
|
1768
1818
|
? getNodeType(shadowNode)
|
|
1769
|
-
:
|
|
1819
|
+
: shadowNode.nodeType;
|
|
1770
1820
|
if (shadowNodeType === NODE_TYPE.element) {
|
|
1771
1821
|
const innerSr = getShadowRoot
|
|
1772
1822
|
? getShadowRoot(shadowNode)
|
|
@@ -1970,7 +2020,7 @@ function createDOMPurify(window: WindowLike = getGlobal()): DOMPurify {
|
|
|
1970
2020
|
dirty.indexOf('<') === -1
|
|
1971
2021
|
) {
|
|
1972
2022
|
return trustedTypesPolicy && RETURN_TRUSTED_TYPE
|
|
1973
|
-
?
|
|
2023
|
+
? _createTrustedHTML(dirty)
|
|
1974
2024
|
: dirty;
|
|
1975
2025
|
}
|
|
1976
2026
|
|
|
@@ -2071,7 +2121,7 @@ function createDOMPurify(window: WindowLike = getGlobal()): DOMPurify {
|
|
|
2071
2121
|
}
|
|
2072
2122
|
|
|
2073
2123
|
return trustedTypesPolicy && RETURN_TRUSTED_TYPE
|
|
2074
|
-
?
|
|
2124
|
+
? _createTrustedHTML(serializedHTML)
|
|
2075
2125
|
: serializedHTML;
|
|
2076
2126
|
};
|
|
2077
2127
|
|