Skip to content

Commit

Permalink
chore: Added new npm script "types" to create type definitions
Browse files Browse the repository at this point in the history
chore: Made sure that type definitions are created in ./dist
chore: Added type definition files to git via commit-amend-build.sh
  • Loading branch information
cure53 committed Aug 13, 2022
1 parent 9925140 commit 4f62dcd
Show file tree
Hide file tree
Showing 4 changed files with 293 additions and 3 deletions.
144 changes: 144 additions & 0 deletions dist/purify.cjs.d.ts
@@ -0,0 +1,144 @@
export = purify;
declare function purify(root: any): {
(root: any): any;
/**
* Version label, exposed for easier checks
* if DOMPurify is up to date or not
*/
version: string;
/**
* Array of elements that DOMPurify removed during sanitation.
* Empty if nothing was removed.
*/
removed: any[];
isSupported: boolean;
/**
* Sanitize
* Public method providing core sanitation functionality
*
* @param {String|Node} dirty string or DOM node
* @param {Object} configuration object
*/
sanitize(dirty: string | Node, cfg: any): any;
/**
* Public method to set the configuration once
* setConfig
*
* @param {Object} cfg configuration object
*/
setConfig(cfg: any): void;
/**
* Public method to remove the configuration
* clearConfig
*
*/
clearConfig(): void;
/**
* Public method to check if an attribute value is valid.
* Uses last set config, if any. Otherwise, uses config defaults.
* isValidAttribute
*
* @param {string} tag Tag name of containing element.
* @param {string} attr Attribute name.
* @param {string} value Attribute value.
* @return {Boolean} Returns true if `value` is valid. Otherwise, returns false.
*/
isValidAttribute(tag: string, attr: string, value: string): boolean;
/**
* AddHook
* Public method to add DOMPurify hooks
*
* @param {String} entryPoint entry point for the hook to add
* @param {Function} hookFunction function to execute
*/
addHook(entryPoint: string, hookFunction: Function): void;
/**
* RemoveHook
* Public method to remove a DOMPurify hook at a given entryPoint
* (pops it from the stack of hooks if more are present)
*
* @param {String} entryPoint entry point for the hook to remove
* @return {Function} removed(popped) hook
*/
removeHook(entryPoint: string): Function;
/**
* RemoveHooks
* Public method to remove all DOMPurify hooks at a given entryPoint
*
* @param {String} entryPoint entry point for the hooks to remove
*/
removeHooks(entryPoint: string): void;
/**
* RemoveAllHooks
* Public method to remove all DOMPurify hooks
*
*/
removeAllHooks(): void;
};
declare namespace purify {
const version: string;
const removed: any[];
const isSupported: boolean;
/**
* Sanitize
* Public method providing core sanitation functionality
*
* @param {String|Node} dirty string or DOM node
* @param {Object} configuration object
*/
function sanitize(dirty: string | Node, cfg: any): any;
/**
* Public method to set the configuration once
* setConfig
*
* @param {Object} cfg configuration object
*/
function setConfig(cfg: any): void;
/**
* Public method to remove the configuration
* clearConfig
*
*/
function clearConfig(): void;
/**
* Public method to check if an attribute value is valid.
* Uses last set config, if any. Otherwise, uses config defaults.
* isValidAttribute
*
* @param {string} tag Tag name of containing element.
* @param {string} attr Attribute name.
* @param {string} value Attribute value.
* @return {Boolean} Returns true if `value` is valid. Otherwise, returns false.
*/
function isValidAttribute(tag: string, attr: string, value: string): boolean;
/**
* AddHook
* Public method to add DOMPurify hooks
*
* @param {String} entryPoint entry point for the hook to add
* @param {Function} hookFunction function to execute
*/
function addHook(entryPoint: string, hookFunction: Function): void;
/**
* RemoveHook
* Public method to remove a DOMPurify hook at a given entryPoint
* (pops it from the stack of hooks if more are present)
*
* @param {String} entryPoint entry point for the hook to remove
* @return {Function} removed(popped) hook
*/
function removeHook(entryPoint: string): Function;
/**
* RemoveHooks
* Public method to remove all DOMPurify hooks at a given entryPoint
*
* @param {String} entryPoint entry point for the hooks to remove
*/
function removeHooks(entryPoint: string): void;
/**
* RemoveAllHooks
* Public method to remove all DOMPurify hooks
*
*/
function removeAllHooks(): void;
}
144 changes: 144 additions & 0 deletions dist/purify.es.d.ts
@@ -0,0 +1,144 @@
export { purify as default };
declare function purify(root: any): {
(root: any): any;
/**
* Version label, exposed for easier checks
* if DOMPurify is up to date or not
*/
version: string;
/**
* Array of elements that DOMPurify removed during sanitation.
* Empty if nothing was removed.
*/
removed: any[];
isSupported: boolean;
/**
* Sanitize
* Public method providing core sanitation functionality
*
* @param {String|Node} dirty string or DOM node
* @param {Object} configuration object
*/
sanitize(dirty: string | Node, cfg: any): any;
/**
* Public method to set the configuration once
* setConfig
*
* @param {Object} cfg configuration object
*/
setConfig(cfg: any): void;
/**
* Public method to remove the configuration
* clearConfig
*
*/
clearConfig(): void;
/**
* Public method to check if an attribute value is valid.
* Uses last set config, if any. Otherwise, uses config defaults.
* isValidAttribute
*
* @param {string} tag Tag name of containing element.
* @param {string} attr Attribute name.
* @param {string} value Attribute value.
* @return {Boolean} Returns true if `value` is valid. Otherwise, returns false.
*/
isValidAttribute(tag: string, attr: string, value: string): boolean;
/**
* AddHook
* Public method to add DOMPurify hooks
*
* @param {String} entryPoint entry point for the hook to add
* @param {Function} hookFunction function to execute
*/
addHook(entryPoint: string, hookFunction: Function): void;
/**
* RemoveHook
* Public method to remove a DOMPurify hook at a given entryPoint
* (pops it from the stack of hooks if more are present)
*
* @param {String} entryPoint entry point for the hook to remove
* @return {Function} removed(popped) hook
*/
removeHook(entryPoint: string): Function;
/**
* RemoveHooks
* Public method to remove all DOMPurify hooks at a given entryPoint
*
* @param {String} entryPoint entry point for the hooks to remove
*/
removeHooks(entryPoint: string): void;
/**
* RemoveAllHooks
* Public method to remove all DOMPurify hooks
*
*/
removeAllHooks(): void;
};
declare namespace purify {
const version: string;
const removed: any[];
const isSupported: boolean;
/**
* Sanitize
* Public method providing core sanitation functionality
*
* @param {String|Node} dirty string or DOM node
* @param {Object} configuration object
*/
function sanitize(dirty: string | Node, cfg: any): any;
/**
* Public method to set the configuration once
* setConfig
*
* @param {Object} cfg configuration object
*/
function setConfig(cfg: any): void;
/**
* Public method to remove the configuration
* clearConfig
*
*/
function clearConfig(): void;
/**
* Public method to check if an attribute value is valid.
* Uses last set config, if any. Otherwise, uses config defaults.
* isValidAttribute
*
* @param {string} tag Tag name of containing element.
* @param {string} attr Attribute name.
* @param {string} value Attribute value.
* @return {Boolean} Returns true if `value` is valid. Otherwise, returns false.
*/
function isValidAttribute(tag: string, attr: string, value: string): boolean;
/**
* AddHook
* Public method to add DOMPurify hooks
*
* @param {String} entryPoint entry point for the hook to add
* @param {Function} hookFunction function to execute
*/
function addHook(entryPoint: string, hookFunction: Function): void;
/**
* RemoveHook
* Public method to remove a DOMPurify hook at a given entryPoint
* (pops it from the stack of hooks if more are present)
*
* @param {String} entryPoint entry point for the hook to remove
* @return {Function} removed(popped) hook
*/
function removeHook(entryPoint: string): Function;
/**
* RemoveHooks
* Public method to remove all DOMPurify hooks at a given entryPoint
*
* @param {String} entryPoint entry point for the hooks to remove
*/
function removeHooks(entryPoint: string): void;
/**
* RemoveAllHooks
* Public method to remove all DOMPurify hooks
*
*/
function removeAllHooks(): void;
}
4 changes: 3 additions & 1 deletion package.json
Expand Up @@ -15,7 +15,8 @@
"test:jsdom": "cross-env NODE_ENV=test BABEL_ENV=rollup node test/jsdom-node-runner --dot",
"test:karma": "cross-env NODE_ENV=test BABEL_ENV=rollup karma start test/karma.conf.js --log-level warn ",
"test:ci": "cross-env NODE_ENV=test BABEL_ENV=rollup npm run test:jsdom && npm run test:karma -- --log-level error --reporters dots --single-run --shouldTestOnBrowserStack=\"${TEST_BROWSERSTACK}\" --shouldProbeOnly=\"${TEST_PROBE_ONLY}\"",
"test": "cross-env NODE_ENV=test BABEL_ENV=rollup npm run lint && npm run test:jsdom && npm run test:karma -- --browsers Chrome"
"test": "cross-env NODE_ENV=test BABEL_ENV=rollup npm run lint && npm run test:jsdom && npm run test:karma -- --browsers Chrome",
"types": "npx -p typescript tsc dist/purify.cjs.js dist/purify.es.js --declaration --allowJs --emitDeclarationOnly --outDir dist"
},
"main": "dist/purify.cjs.js",
"module": "dist/purify.es.js",
Expand All @@ -26,6 +27,7 @@
"pre-commit": [
"lint",
"build",
"types",
"commit-amend-build"
],
"xo": {
Expand Down
4 changes: 2 additions & 2 deletions scripts/commit-amend-build.sh
@@ -1,3 +1,3 @@
echo "# Amending minified assets to HEAD"
echo "# Amending minified assets & types to HEAD"

git add ./dist/purify.js ./dist/purify.js.map ./dist/purify.min.js ./dist/purify.min.js.map ./dist/purify.cjs.js ./dist/purify.cjs.js.map ./dist/purify.es.js ./dist/purify.es.js.map
git add ./dist/purify.js ./dist/purify.js.map ./dist/purify.min.js ./dist/purify.min.js.map ./dist/purify.cjs.js ./dist/purify.cjs.js.map ./dist/purify.cjs.d.ts ./dist/purify.es.js ./dist/purify.es.js.map ./dist/purify.es.d.ts

0 comments on commit 4f62dcd

Please sign in to comment.