feat: Merge isohash functionality into smarthash for cross-environment hash support

- Updated test files to use new tapbundle import from @git.zone/tstest.
- Created a new plan for merging isohash into smarthash, detailing objectives and implementation steps.
- Added browser-specific tests for SHA256 hashing functions in test/test.browser.ts.
- Implemented browser-compatible hashing functions in ts_web/index.ts using Web Crypto API.
- Introduced plugins for environment detection and JSON handling in ts_web/plugins.ts.
- Ensured that existing smarthash functionality remains intact and consistent across environments.
This commit is contained in:
Juergen Kunz
2025-06-19 22:44:47 +00:00
parent df0f761bdb
commit 0bae2d6eec
8 changed files with 7756 additions and 4265 deletions

View File

@ -2,12 +2,12 @@
"name": "@push.rocks/smarthash",
"version": "3.0.4",
"private": false,
"description": "Provides simplified access to Node.js hash functions, including SHA256 and MD5, with support for strings, streams, and files.",
"description": "Cross-environment hash functions (SHA256 and MD5) for Node.js and browsers, with support for strings, streams, and files.",
"main": "dist_ts/index.js",
"typings": "dist_ts/index.d.ts",
"scripts": {
"test": "(tstest test/ --web)",
"build": "(tsbuild --web --allowimplicitany)",
"build": "(tsbuild tsfolders --allowimplicitany)",
"buildDocs": "tsdoc"
},
"keywords": [
@ -17,6 +17,9 @@
"MD5",
"security",
"node.js",
"browser",
"cross-environment",
"web crypto",
"stream hashing",
"file hashing",
"synchronous hashing",
@ -30,10 +33,10 @@
"@git.zone/tsbuild": "^2.1.70",
"@git.zone/tsrun": "^1.2.46",
"@git.zone/tstest": "^1.0.81",
"@push.rocks/tapbundle": "^5.0.15",
"@types/node": "^20.6.3"
},
"dependencies": {
"@push.rocks/smartenv": "^5.0.5",
"@push.rocks/smartjson": "^5.0.10",
"@push.rocks/smartpromise": "^4.0.3",
"@types/through2": "^2.0.39",
@ -59,5 +62,6 @@
"repository": {
"type": "git",
"url": "https://code.foss.global/push.rocks/smarthash.git"
}
}
},
"packageManager": "pnpm@10.11.0+sha512.6540583f41cc5f628eb3d9773ecee802f4f9ef9923cc45b69890fb47991d4b092964694ec3a4f738a420c918a333062c8b925d312f42e4f0c263eb603551f977"
}