umaki 0.3.2 → 0.4.0
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/README.md +29 -0
- package/dist/_virtual/_commonjsHelpers.cjs.js +1 -1
- package/dist/_virtual/_commonjsHelpers.es.js +1 -1
- package/dist/_virtual/isBetween.cjs.js +1 -1
- package/dist/_virtual/isBetween.es.js +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +1 -1
- package/dist/libs/control/bgScrollStop.cjs.js +1 -1
- package/dist/libs/control/bgScrollStop.es.js +1 -1
- package/dist/libs/control/pd.cjs.js +1 -1
- package/dist/libs/control/pd.es.js +1 -1
- package/dist/libs/control/scrollToHash.cjs.js +1 -1
- package/dist/libs/control/scrollToHash.es.js +1 -1
- package/dist/libs/control/videoPlayControl.cjs.js +1 -1
- package/dist/libs/control/videoPlayControl.es.js +1 -1
- package/dist/libs/convert/changeDateStringToSpecificFormat.cjs.js +1 -1
- package/dist/libs/convert/changeDateStringToSpecificFormat.es.js +1 -1
- package/dist/libs/convert/jsonStringToJsonObject.cjs.js +1 -1
- package/dist/libs/convert/jsonStringToJsonObject.es.js +1 -1
- package/dist/libs/eventControl/debounce.cjs.js +1 -1
- package/dist/libs/eventControl/debounce.es.js +1 -1
- package/dist/libs/eventControl/throttle.cjs.js +1 -1
- package/dist/libs/eventControl/throttle.es.js +1 -1
- package/dist/libs/get/getAspectRatio.cjs.js +1 -1
- package/dist/libs/get/getAspectRatio.es.js +1 -1
- package/dist/libs/get/getClassNames.cjs.js +1 -1
- package/dist/libs/get/getClassNames.es.js +1 -1
- package/dist/libs/get/getDocumentHeight.cjs.js +1 -1
- package/dist/libs/get/getDocumentHeight.es.js +1 -1
- package/dist/libs/get/getEventPaths.cjs.js +1 -1
- package/dist/libs/get/getEventPaths.es.js +1 -1
- package/dist/libs/get/getGcd.cjs.js +1 -1
- package/dist/libs/get/getGcd.es.js +1 -1
- package/dist/libs/get/getOrientation.cjs.js +1 -1
- package/dist/libs/get/getOrientation.es.js +1 -1
- package/dist/libs/get/getParentList.cjs.js +1 -1
- package/dist/libs/get/getParentList.es.js +1 -1
- package/dist/libs/get/getQueryParams.cjs.js +1 -1
- package/dist/libs/get/getQueryParams.es.js +1 -1
- package/dist/libs/get/getRem.cjs.js +1 -1
- package/dist/libs/get/getRem.es.js +1 -1
- package/dist/libs/get/getScrollbarWidth.cjs.js +1 -1
- package/dist/libs/get/getScrollbarWidth.es.js +1 -1
- package/dist/libs/get/getSessionStorage.cjs.js +1 -1
- package/dist/libs/get/getSessionStorage.es.js +1 -1
- package/dist/libs/get/getStringLength.cjs.js +1 -1
- package/dist/libs/get/getStringLength.es.js +1 -1
- package/dist/libs/get/getStylePropertyValue.cjs.js +1 -1
- package/dist/libs/get/getStylePropertyValue.es.js +1 -1
- package/dist/libs/get/getStylePropertyValueToNumber.cjs.js +1 -1
- package/dist/libs/get/getStylePropertyValueToNumber.es.js +1 -1
- package/dist/libs/get/getUaData.cjs.js +1 -1
- package/dist/libs/get/getUaData.es.js +1 -1
- package/dist/libs/is/isBetweenDateTime.cjs.js +1 -1
- package/dist/libs/is/isBetweenDateTime.es.js +1 -1
- package/dist/libs/is/isExistAllElements.cjs.js +1 -1
- package/dist/libs/is/isExistAllElements.es.js +1 -1
- package/dist/libs/is/isIpad.cjs.js +1 -1
- package/dist/libs/is/isIpad.es.js +1 -1
- package/dist/libs/is/isKeyExists.cjs.js +1 -1
- package/dist/libs/is/isKeyExists.es.js +1 -1
- package/dist/libs/is/isSafari.cjs.js +1 -1
- package/dist/libs/is/isSafari.es.js +1 -1
- package/dist/libs/is/isScrollable.cjs.js +1 -1
- package/dist/libs/is/isScrollable.es.js +1 -1
- package/dist/libs/is/isTouchSupport.cjs.js +1 -1
- package/dist/libs/is/isTouchSupport.es.js +1 -1
- package/dist/libs/remove/removeAllHtmlTags.cjs.js +1 -1
- package/dist/libs/remove/removeAllHtmlTags.es.js +1 -1
- package/dist/libs/remove/removeAttribute.cjs.js +1 -1
- package/dist/libs/remove/removeAttribute.es.js +1 -1
- package/dist/libs/remove/removeSessionStorage.cjs.js +1 -1
- package/dist/libs/remove/removeSessionStorage.es.js +1 -1
- package/dist/libs/remove/removeStylePropertyValue.cjs.js +1 -1
- package/dist/libs/remove/removeStylePropertyValue.es.js +1 -1
- package/dist/libs/security/htmlSanitize.d.ts +9 -0
- package/dist/libs/security/htmlSanitize.test.d.ts +1 -0
- package/dist/libs/set/set100vh.cjs.js +1 -1
- package/dist/libs/set/set100vh.es.js +1 -1
- package/dist/libs/set/set100vw.cjs.js +1 -1
- package/dist/libs/set/set100vw.es.js +1 -1
- package/dist/libs/set/setAttribute.cjs.js +1 -1
- package/dist/libs/set/setAttribute.es.js +1 -1
- package/dist/libs/set/setScrollPositionToCenter.cjs.js +1 -1
- package/dist/libs/set/setScrollPositionToCenter.es.js +1 -1
- package/dist/libs/set/setSessionStorage.cjs.js +1 -1
- package/dist/libs/set/setSessionStorage.es.js +1 -1
- package/dist/libs/set/setStylePropertyValue.cjs.js +1 -1
- package/dist/libs/set/setStylePropertyValue.es.js +1 -1
- package/dist/libs/to/toBoolean.cjs.js +1 -1
- package/dist/libs/to/toBoolean.es.js +1 -1
- package/dist/libs/to/toPositiveNumber.cjs.js +1 -1
- package/dist/libs/to/toPositiveNumber.es.js +1 -1
- package/dist/libs/transform/wrapTextWithSpans.cjs.js +1 -1
- package/dist/libs/transform/wrapTextWithSpans.es.js +1 -1
- package/dist/libs/wait/sleep.cjs.js +1 -1
- package/dist/libs/wait/sleep.es.js +1 -1
- package/dist/libs/wait/waitForAllMediaLoaded.cjs.js +1 -1
- package/dist/libs/wait/waitForAllMediaLoaded.es.js +1 -1
- package/dist/node_modules/dayjs/plugin/isBetween.cjs.js +1 -1
- package/dist/node_modules/dayjs/plugin/isBetween.es.js +1 -1
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -776,3 +776,32 @@ export default defineConfig(({ mode }) => {
|
|
|
776
776
|
};
|
|
777
777
|
});
|
|
778
778
|
```
|
|
779
|
+
|
|
780
|
+
## Security
|
|
781
|
+
|
|
782
|
+
### sanitizeHtml
|
|
783
|
+
|
|
784
|
+
A function that sanitizes HTML strings to prevent XSS attacks.
|
|
785
|
+
|
|
786
|
+
```ts
|
|
787
|
+
import { sanitizeHtml } from "umaki";
|
|
788
|
+
|
|
789
|
+
// Basic usage
|
|
790
|
+
const sanitized = sanitizeHtml(
|
|
791
|
+
'<script>alert("xss")</script><p>Hello World</p>'
|
|
792
|
+
);
|
|
793
|
+
console.log(sanitized); // '<p>Hello World</p>'
|
|
794
|
+
|
|
795
|
+
// With custom config
|
|
796
|
+
const config = { ALLOWED_TAGS: ["p"] };
|
|
797
|
+
const sanitizedWithConfig = sanitizeHtml("<p>Hello World</p>", config);
|
|
798
|
+
console.log(sanitizedWithConfig); // '<p>Hello World</p>'
|
|
799
|
+
```
|
|
800
|
+
|
|
801
|
+
This function uses `isomorphic-dompurify` and has the following features:
|
|
802
|
+
|
|
803
|
+
- Removes dangerous HTML tags and attributes by default
|
|
804
|
+
- Allows flexible control through custom configuration
|
|
805
|
+
- Can be used on both server-side and client-side
|
|
806
|
+
|
|
807
|
+
[View file →](src/libs/security/htmlSanitize.ts)
|
package/dist/index.cjs.js
CHANGED
package/dist/index.es.js
CHANGED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { default as DOMPurify } from 'isomorphic-dompurify';
|
|
2
|
+
/**
|
|
3
|
+
* Sanitizes the given HTML string to prevent XSS attacks.
|
|
4
|
+
*
|
|
5
|
+
* @param html - The HTML string to sanitize.
|
|
6
|
+
* @param config - Optional configuration for DOMPurify.
|
|
7
|
+
* @returns The sanitized HTML string.
|
|
8
|
+
*/
|
|
9
|
+
export declare function sanitizeHtml(html: string, config?: Parameters<typeof DOMPurify.sanitize>[1]): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "umaki",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "A utility that is often used in web production.",
|
|
5
5
|
"author": "TsubasaHiga",
|
|
6
6
|
"homepage": "https://github.com/TsubasaHiga/umaki",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"dayjs": "^1.11.13",
|
|
41
41
|
"image-size": "^1.1.1",
|
|
42
42
|
"is-touch-device": "^1.0.1",
|
|
43
|
-
"isomorphic-dompurify": "^2.
|
|
43
|
+
"isomorphic-dompurify": "^2.23.0",
|
|
44
44
|
"query-string": "^9.1.1",
|
|
45
45
|
"runes2": "^1.1.4",
|
|
46
46
|
"store2": "^2.14.3",
|
|
@@ -53,6 +53,7 @@
|
|
|
53
53
|
"@types/ua-parser-js": "^0.7.39",
|
|
54
54
|
"@vitest/coverage-v8": "2.1.4",
|
|
55
55
|
"happy-dom": "^15.7.4",
|
|
56
|
+
"jsdom": "^26.1.0",
|
|
56
57
|
"rollup-plugin-license": "^3.5.3",
|
|
57
58
|
"rollup-plugin-visualizer": "^5.12.0",
|
|
58
59
|
"typescript": "~5.6.3",
|