{"id":378898,"url":"https://github.com/tsugabloom/haptic/","last_synced_at":"2026-08-19T10:35:19.076Z","repository":{"id":48296677,"uuid":"301011085","full_name":"tsugabloom/haptic","owner":"tsugabloom","description":"Explicit reactive web rendering in TSX with no compiler, no virtual DOM, and no magic. 1.6kb min+gz.","archived":false,"fork":false,"pushed_at":"2021-08-13T05:31:45.000Z","size":373,"stargazers_count":82,"open_issues_count":11,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-08-11T15:47:47.545Z","etag":null,"topics":["dom","esm","framework","frontend","modular","reactive","tsx"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tsugabloom.png","metadata":{"files":{"readme":"readme.md","changelog":"changelog.md","contributing":null,"funding":null,"license":"license","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-10-04T00:40:11.000Z","updated_at":"2025-08-27T12:24:55.000Z","dependencies_parsed_at":"2022-09-19T03:11:53.424Z","dependency_job_id":null,"html_url":"https://github.com/tsugabloom/haptic","commit_stats":null,"previous_names":["heyheyhello/haptic","nettybun/haptic","nettyso/haptic","tsugabloom/haptic"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tsugabloom/haptic","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsugabloom%2Fhaptic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsugabloom%2Fhaptic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsugabloom%2Fhaptic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsugabloom%2Fhaptic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tsugabloom","download_url":"https://codeload.github.com/tsugabloom/haptic/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsugabloom%2Fhaptic/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36782154,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"tsugabloom","name":"Garnet","uuid":"44614862","kind":"user","description":"All my stuff's selfhosted (and you should too!) GH mostly for issues/PRs.","email":"hamesg@tutanota.de","website":null,"location":"Victoria BC and Whitehorse YT","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/44614862?u=07479d1b409754e81f05eb5ae7c14a0d07f30622\u0026v=4","repositories_count":39,"last_synced_at":"2026-08-14T05:37:35.164Z","metadata":{"has_sponsors_listing":false,"funding":null},"html_url":"https://github.com/tsugabloom","funding_links":[],"total_stars":123,"followers":30,"following":9,"created_at":"2023-02-19T21:51:29.320Z","updated_at":"2026-08-14T05:37:35.223Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tsugabloom","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tsugabloom/repositories"},"packages":[],"commits":{"id":11236244,"full_name":"tsugabloom/haptic","default_branch":"master","total_commits":306,"total_committers":2,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":153.0,"dds":0.0065359477124182774,"past_year_total_commits":0,"past_year_total_committers":0,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":0.0,"past_year_dds":0.0,"last_synced_at":"2026-08-11T14:04:26.074Z","last_synced_commit":"57f989a1ff1a0c62cfced149056c75646a3c8f63","created_at":"2025-09-19T12:56:44.837Z","updated_at":"2025-12-29T03:06:23.383Z","committers":[{"name":"Gen Hames","email":"hamesg@tutanota.de","login":"nettybun","count":304},{"name":"brecert","email":"me@bree.dev","login":"brecert","count":2}],"past_year_committers":[],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsugabloom%2Fhaptic/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-08-19T00:00:10.144Z","repositories_count":6725829,"commits_count":972747659,"contributors_count":41024142,"owners_count":1353193,"committers_count":3345808,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues":{"table":{"status":"pending","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsugabloom%2Fhaptic","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsugabloom%2Fhaptic/issues"}},"events":{"total":{"WatchEvent":2},"last_year":{}},"keywords":["dom","esm","framework","frontend","modular","reactive","tsx"],"dependencies":[{"ecosystem":"npm","filepath":"package-lock.json","sha":null,"kind":"lockfile","created_at":"2022-09-19T03:11:53.191Z","updated_at":"2022-09-19T03:11:53.191Z","repository_link":"https://github.com/tsugabloom/haptic/blob/main/package-lock.json","dependencies":[{"id":5376129268,"package_name":"@babel/code-frame","ecosystem":"npm","requirements":"7.12.11","direct":false,"kind":"development","optional":false},{"id":5376129269,"package_name":"@babel/helper-validator-identifier","ecosystem":"npm","requirements":"7.12.11","direct":false,"kind":"development","optional":false},{"id":5376129270,"package_name":"@babel/highlight","ecosystem":"npm","requirements":"7.12.13","direct":false,"kind":"development","optional":false},{"id":5376129271,"package_name":"chalk","ecosystem":"npm","requirements":"2.4.2","direct":false,"kind":"development","optional":false},{"id":5376129272,"package_name":"@eslint/eslintrc","ecosystem":"npm","requirements":"0.4.3","direct":false,"kind":"development","optional":false},{"id":5376129273,"package_name":"@humanwhocodes/config-array","ecosystem":"npm","requirements":"0.5.0","direct":false,"kind":"development","optional":false},{"id":5376129274,"package_name":"@humanwhocodes/object-schema","ecosystem":"npm","requirements":"1.2.0","direct":false,"kind":"development","optional":false},{"id":5376129275,"package_name":"@nodelib/fs.scandir","ecosystem":"npm","requirements":"2.1.5","direct":false,"kind":"development","optional":false},{"id":5376129276,"package_name":"@nodelib/fs.stat","ecosystem":"npm","requirements":"2.0.5","direct":false,"kind":"development","optional":false},{"id":5376129277,"package_name":"@nodelib/fs.walk","ecosystem":"npm","requirements":"1.2.8","direct":false,"kind":"development","optional":false},{"id":5376129278,"package_name":"@types/json-schema","ecosystem":"npm","requirements":"7.0.9","direct":false,"kind":"development","optional":false},{"id":5376129279,"package_name":"@types/node","ecosystem":"npm","requirements":"16.4.10","direct":false,"kind":"development","optional":false},{"id":5376129280,"package_name":"@typescript-eslint/eslint-plugin","ecosystem":"npm","requirements":"4.29.0","direct":false,"kind":"development","optional":false},{"id":5376129281,"package_name":"@typescript-eslint/experimental-utils","ecosystem":"npm","requirements":"4.29.0","direct":false,"kind":"development","optional":false},{"id":5376129282,"package_name":"eslint-utils","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":5376129283,"package_name":"@typescript-eslint/parser","ecosystem":"npm","requirements":"4.29.0","direct":false,"kind":"development","optional":false},{"id":5376129284,"package_name":"@typescript-eslint/scope-manager","ecosystem":"npm","requirements":"4.29.0","direct":false,"kind":"development","optional":false},{"id":5376129285,"package_name":"@typescript-eslint/types","ecosystem":"npm","requirements":"4.29.0","direct":false,"kind":"development","optional":false},{"id":5376129286,"package_name":"@typescript-eslint/typescript-estree","ecosystem":"npm","requirements":"4.29.0","direct":false,"kind":"development","optional":false},{"id":5376129287,"package_name":"@typescript-eslint/visitor-keys","ecosystem":"npm","requirements":"4.29.0","direct":false,"kind":"development","optional":false},{"id":5376129288,"package_name":"acorn","ecosystem":"npm","requirements":"7.4.1","direct":false,"kind":"development","optional":false},{"id":5376129289,"package_name":"acorn-jsx","ecosystem":"npm","requirements":"5.3.2","direct":false,"kind":"development","optional":false},{"id":5376129290,"package_name":"ajv","ecosystem":"npm","requirements":"6.12.6","direct":false,"kind":"development","optional":false},{"id":5376129291,"package_name":"ansi-colors","ecosystem":"npm","requirements":"4.1.1","direct":false,"kind":"development","optional":false},{"id":5376129292,"package_name":"ansi-regex","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"development","optional":false},{"id":5376129293,"package_name":"ansi-styles","ecosystem":"npm","requirements":"3.2.1","direct":false,"kind":"development","optional":false},{"id":5376129294,"package_name":"arg","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"development","optional":false},{"id":5376129295,"package_name":"argparse","ecosystem":"npm","requirements":"1.0.10","direct":false,"kind":"development","optional":false},{"id":5376129296,"package_name":"array-includes","ecosystem":"npm","requirements":"3.1.3","direct":false,"kind":"development","optional":false},{"id":5376129297,"package_name":"array-union","ecosystem":"npm","requirements":"2.1.0","direct":false,"kind":"development","optional":false},{"id":5376129298,"package_name":"array.prototype.flatmap","ecosystem":"npm","requirements":"1.2.4","direct":false,"kind":"development","optional":false},{"id":5376129299,"package_name":"astral-regex","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"development","optional":false},{"id":5376129300,"package_name":"balanced-match","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"development","optional":false},{"id":5376129301,"package_name":"brace-expansion","ecosystem":"npm","requirements":"1.1.11","direct":false,"kind":"development","optional":false},{"id":5376129302,"package_name":"braces","ecosystem":"npm","requirements":"3.0.2","direct":false,"kind":"development","optional":false},{"id":5376129303,"package_name":"call-bind","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"development","optional":false},{"id":5376129304,"package_name":"callsites","ecosystem":"npm","requirements":"3.1.0","direct":false,"kind":"development","optional":false},{"id":5376129305,"package_name":"chalk","ecosystem":"npm","requirements":"4.1.0","direct":false,"kind":"development","optional":false},{"id":5376129306,"package_name":"ansi-styles","ecosystem":"npm","requirements":"4.3.0","direct":false,"kind":"development","optional":false},{"id":5376129307,"package_name":"color-convert","ecosystem":"npm","requirements":"2.0.1","direct":false,"kind":"development","optional":false},{"id":5376129308,"package_name":"color-name","ecosystem":"npm","requirements":"1.1.4","direct":false,"kind":"development","optional":false},{"id":5376129309,"package_name":"has-flag","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":5376129310,"package_name":"supports-color","ecosystem":"npm","requirements":"7.2.0","direct":false,"kind":"development","optional":false},{"id":5376129311,"package_name":"color-convert","ecosystem":"npm","requirements":"1.9.3","direct":false,"kind":"development","optional":false},{"id":5376129312,"package_name":"color-name","ecosystem":"npm","requirements":"1.1.3","direct":false,"kind":"development","optional":false},{"id":5376129313,"package_name":"colorette","ecosystem":"npm","requirements":"1.2.2","direct":false,"kind":"development","optional":false},{"id":5376129314,"package_name":"concat-map","ecosystem":"npm","requirements":"0.0.1","direct":false,"kind":"development","optional":false},{"id":5376129315,"package_name":"cross-spawn","ecosystem":"npm","requirements":"7.0.3","direct":false,"kind":"development","optional":false},{"id":5376129316,"package_name":"debug","ecosystem":"npm","requirements":"4.3.1","direct":false,"kind":"development","optional":false},{"id":5376129317,"package_name":"deep-is","ecosystem":"npm","requirements":"0.1.3","direct":false,"kind":"development","optional":false},{"id":5376129318,"package_name":"define-properties","ecosystem":"npm","requirements":"1.1.3","direct":false,"kind":"development","optional":false},{"id":5376129319,"package_name":"diff","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"development","optional":false},{"id":5376129320,"package_name":"dir-glob","ecosystem":"npm","requirements":"3.0.1","direct":false,"kind":"development","optional":false},{"id":5376129321,"package_name":"doctrine","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":5376129322,"package_name":"emoji-regex","ecosystem":"npm","requirements":"8.0.0","direct":false,"kind":"development","optional":false},{"id":5376129323,"package_name":"enquirer","ecosystem":"npm","requirements":"2.3.6","direct":false,"kind":"development","optional":false},{"id":5376129324,"package_name":"es-abstract","ecosystem":"npm","requirements":"1.18.3","direct":false,"kind":"development","optional":false},{"id":5376129325,"package_name":"es-to-primitive","ecosystem":"npm","requirements":"1.2.1","direct":false,"kind":"development","optional":false},{"id":5376129326,"package_name":"esbuild","ecosystem":"npm","requirements":"0.12.17","direct":false,"kind":"development","optional":false},{"id":5376129327,"package_name":"esbuild-node-loader","ecosystem":"npm","requirements":"0.1.1","direct":false,"kind":"development","optional":false},{"id":5376129328,"package_name":"escape-string-regexp","ecosystem":"npm","requirements":"1.0.5","direct":false,"kind":"development","optional":false},{"id":5376129329,"package_name":"eslint","ecosystem":"npm","requirements":"7.32.0","direct":false,"kind":"development","optional":false},{"id":5376129330,"package_name":"escape-string-regexp","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":5376129331,"package_name":"eslint-plugin-react","ecosystem":"npm","requirements":"7.24.0","direct":false,"kind":"development","optional":false},{"id":5376129332,"package_name":"doctrine","ecosystem":"npm","requirements":"2.1.0","direct":false,"kind":"development","optional":false},{"id":5376129333,"package_name":"eslint-scope","ecosystem":"npm","requirements":"5.1.1","direct":false,"kind":"development","optional":false},{"id":5376129334,"package_name":"eslint-utils","ecosystem":"npm","requirements":"2.1.0","direct":false,"kind":"development","optional":false},{"id":5376129335,"package_name":"eslint-visitor-keys","ecosystem":"npm","requirements":"1.3.0","direct":false,"kind":"development","optional":false},{"id":5376129336,"package_name":"eslint-visitor-keys","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"development","optional":false},{"id":5376129337,"package_name":"espree","ecosystem":"npm","requirements":"7.3.1","direct":false,"kind":"development","optional":false},{"id":5376129338,"package_name":"esprima","ecosystem":"npm","requirements":"4.0.1","direct":false,"kind":"development","optional":false},{"id":5376129339,"package_name":"esquery","ecosystem":"npm","requirements":"1.4.0","direct":false,"kind":"development","optional":false},{"id":5376129340,"package_name":"estraverse","ecosystem":"npm","requirements":"5.2.0","direct":false,"kind":"development","optional":false},{"id":5376129341,"package_name":"esrecurse","ecosystem":"npm","requirements":"4.3.0","direct":false,"kind":"development","optional":false},{"id":5376129342,"package_name":"estraverse","ecosystem":"npm","requirements":"4.3.0","direct":false,"kind":"development","optional":false},{"id":5376129343,"package_name":"esutils","ecosystem":"npm","requirements":"2.0.3","direct":false,"kind":"development","optional":false},{"id":5376129344,"package_name":"fast-deep-equal","ecosystem":"npm","requirements":"3.1.3","direct":false,"kind":"development","optional":false},{"id":5376129345,"package_name":"fast-glob","ecosystem":"npm","requirements":"3.2.7","direct":false,"kind":"development","optional":false},{"id":5376129346,"package_name":"fast-json-stable-stringify","ecosystem":"npm","requirements":"2.1.0","direct":false,"kind":"development","optional":false},{"id":5376129347,"package_name":"fast-levenshtein","ecosystem":"npm","requirements":"2.0.6","direct":false,"kind":"development","optional":false},{"id":5376129348,"package_name":"fastq","ecosystem":"npm","requirements":"1.11.1","direct":false,"kind":"development","optional":false},{"id":5376129349,"package_name":"fflate","ecosystem":"npm","requirements":"0.7.1","direct":false,"kind":"development","optional":false},{"id":5376129350,"package_name":"file-entry-cache","ecosystem":"npm","requirements":"6.0.1","direct":false,"kind":"development","optional":false},{"id":5376129351,"package_name":"fill-range","ecosystem":"npm","requirements":"7.0.1","direct":false,"kind":"development","optional":false},{"id":5376129352,"package_name":"flat-cache","ecosystem":"npm","requirements":"3.0.4","direct":false,"kind":"development","optional":false},{"id":5376129353,"package_name":"flatted","ecosystem":"npm","requirements":"3.1.1","direct":false,"kind":"development","optional":false},{"id":5376129354,"package_name":"fs.realpath","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"development","optional":false},{"id":5376129355,"package_name":"function-bind","ecosystem":"npm","requirements":"1.1.1","direct":false,"kind":"development","optional":false},{"id":5376129356,"package_name":"functional-red-black-tree","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"development","optional":false},{"id":5376129357,"package_name":"get-intrinsic","ecosystem":"npm","requirements":"1.1.1","direct":false,"kind":"development","optional":false},{"id":5376129358,"package_name":"glob","ecosystem":"npm","requirements":"7.1.6","direct":false,"kind":"development","optional":false},{"id":5376129359,"package_name":"glob-parent","ecosystem":"npm","requirements":"5.1.2","direct":false,"kind":"development","optional":false},{"id":5376129360,"package_name":"globals","ecosystem":"npm","requirements":"13.10.0","direct":false,"kind":"development","optional":false},{"id":5376129361,"package_name":"globby","ecosystem":"npm","requirements":"11.0.4","direct":false,"kind":"development","optional":false},{"id":5376129362,"package_name":"ignore","ecosystem":"npm","requirements":"5.1.8","direct":false,"kind":"development","optional":false},{"id":5376129363,"package_name":"has","ecosystem":"npm","requirements":"1.0.3","direct":false,"kind":"development","optional":false},{"id":5376129364,"package_name":"has-bigints","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"development","optional":false},{"id":5376129365,"package_name":"has-flag","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":5376129366,"package_name":"has-symbols","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"development","optional":false},{"id":5376129367,"package_name":"ignore","ecosystem":"npm","requirements":"4.0.6","direct":false,"kind":"development","optional":false},{"id":5376129368,"package_name":"import-fresh","ecosystem":"npm","requirements":"3.3.0","direct":false,"kind":"development","optional":false},{"id":5376129369,"package_name":"imurmurhash","ecosystem":"npm","requirements":"0.1.4","direct":false,"kind":"development","optional":false},{"id":5376129370,"package_name":"inflight","ecosystem":"npm","requirements":"1.0.6","direct":false,"kind":"development","optional":false},{"id":5376129371,"package_name":"inherits","ecosystem":"npm","requirements":"2.0.4","direct":false,"kind":"development","optional":false},{"id":5376129372,"package_name":"internal-slot","ecosystem":"npm","requirements":"1.0.3","direct":false,"kind":"development","optional":false},{"id":5376129373,"package_name":"is-bigint","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"development","optional":false},{"id":5376129374,"package_name":"is-boolean-object","ecosystem":"npm","requirements":"1.1.0","direct":false,"kind":"development","optional":false},{"id":5376129375,"package_name":"is-callable","ecosystem":"npm","requirements":"1.2.3","direct":false,"kind":"development","optional":false},{"id":5376129376,"package_name":"is-core-module","ecosystem":"npm","requirements":"2.2.0","direct":false,"kind":"development","optional":false},{"id":5376129377,"package_name":"is-date-object","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"development","optional":false},{"id":5376129378,"package_name":"is-extglob","ecosystem":"npm","requirements":"2.1.1","direct":false,"kind":"development","optional":false},{"id":5376129379,"package_name":"is-fullwidth-code-point","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":5376129380,"package_name":"is-glob","ecosystem":"npm","requirements":"4.0.1","direct":false,"kind":"development","optional":false},{"id":5376129381,"package_name":"is-negative-zero","ecosystem":"npm","requirements":"2.0.1","direct":false,"kind":"development","optional":false},{"id":5376129382,"package_name":"is-number","ecosystem":"npm","requirements":"7.0.0","direct":false,"kind":"development","optional":false},{"id":5376129383,"package_name":"is-number-object","ecosystem":"npm","requirements":"1.0.4","direct":false,"kind":"development","optional":false},{"id":5376129384,"package_name":"is-regex","ecosystem":"npm","requirements":"1.1.3","direct":false,"kind":"development","optional":false},{"id":5376129385,"package_name":"is-string","ecosystem":"npm","requirements":"1.0.6","direct":false,"kind":"development","optional":false},{"id":5376129386,"package_name":"is-symbol","ecosystem":"npm","requirements":"1.0.3","direct":false,"kind":"development","optional":false},{"id":5376129387,"package_name":"isexe","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"development","optional":false},{"id":5376129388,"package_name":"js-tokens","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":5376129389,"package_name":"js-yaml","ecosystem":"npm","requirements":"3.14.1","direct":false,"kind":"development","optional":false},{"id":5376129390,"package_name":"json-schema-traverse","ecosystem":"npm","requirements":"0.4.1","direct":false,"kind":"development","optional":false},{"id":5376129391,"package_name":"json-stable-stringify-without-jsonify","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"development","optional":false},{"id":5376129392,"package_name":"jsx-ast-utils","ecosystem":"npm","requirements":"3.2.0","direct":false,"kind":"development","optional":false},{"id":5376129393,"package_name":"levn","ecosystem":"npm","requirements":"0.4.1","direct":false,"kind":"development","optional":false},{"id":5376129394,"package_name":"lodash.clonedeep","ecosystem":"npm","requirements":"4.5.0","direct":false,"kind":"development","optional":false},{"id":5376129395,"package_name":"lodash.merge","ecosystem":"npm","requirements":"4.6.2","direct":false,"kind":"development","optional":false},{"id":5376129396,"package_name":"lodash.truncate","ecosystem":"npm","requirements":"4.4.2","direct":false,"kind":"development","optional":false},{"id":5376129397,"package_name":"loose-envify","ecosystem":"npm","requirements":"1.4.0","direct":false,"kind":"development","optional":false},{"id":5376129398,"package_name":"lru-cache","ecosystem":"npm","requirements":"6.0.0","direct":false,"kind":"development","optional":false},{"id":5376129399,"package_name":"merge2","ecosystem":"npm","requirements":"1.4.1","direct":false,"kind":"development","optional":false},{"id":5376129400,"package_name":"micromatch","ecosystem":"npm","requirements":"4.0.4","direct":false,"kind":"development","optional":false},{"id":5376129401,"package_name":"minimatch","ecosystem":"npm","requirements":"3.0.4","direct":false,"kind":"development","optional":false},{"id":5376129402,"package_name":"ms","ecosystem":"npm","requirements":"2.1.2","direct":false,"kind":"development","optional":false},{"id":5376129403,"package_name":"natural-compare","ecosystem":"npm","requirements":"1.4.0","direct":false,"kind":"development","optional":false},{"id":5376129404,"package_name":"object-assign","ecosystem":"npm","requirements":"4.1.1","direct":false,"kind":"development","optional":false},{"id":5376129405,"package_name":"object-inspect","ecosystem":"npm","requirements":"1.11.0","direct":false,"kind":"development","optional":false},{"id":5376129406,"package_name":"object-keys","ecosystem":"npm","requirements":"1.1.1","direct":false,"kind":"development","optional":false},{"id":5376129407,"package_name":"object.assign","ecosystem":"npm","requirements":"4.1.2","direct":false,"kind":"development","optional":false},{"id":5376129408,"package_name":"object.entries","ecosystem":"npm","requirements":"1.1.4","direct":false,"kind":"development","optional":false},{"id":5376129409,"package_name":"object.fromentries","ecosystem":"npm","requirements":"2.0.4","direct":false,"kind":"development","optional":false},{"id":5376129410,"package_name":"object.values","ecosystem":"npm","requirements":"1.1.4","direct":false,"kind":"development","optional":false},{"id":5376129411,"package_name":"once","ecosystem":"npm","requirements":"1.4.0","direct":false,"kind":"development","optional":false},{"id":5376129412,"package_name":"optionator","ecosystem":"npm","requirements":"0.9.1","direct":false,"kind":"development","optional":false},{"id":5376129413,"package_name":"parent-module","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"development","optional":false},{"id":5376129414,"package_name":"path-is-absolute","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"development","optional":false},{"id":5376129415,"package_name":"path-key","ecosystem":"npm","requirements":"3.1.1","direct":false,"kind":"development","optional":false},{"id":5376129416,"package_name":"path-parse","ecosystem":"npm","requirements":"1.0.6","direct":false,"kind":"development","optional":false},{"id":5376129417,"package_name":"path-type","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":5376129418,"package_name":"picomatch","ecosystem":"npm","requirements":"2.3.0","direct":false,"kind":"development","optional":false},{"id":5376129419,"package_name":"prelude-ls","ecosystem":"npm","requirements":"1.2.1","direct":false,"kind":"development","optional":false},{"id":5376129420,"package_name":"progress","ecosystem":"npm","requirements":"2.0.3","direct":false,"kind":"development","optional":false},{"id":5376129421,"package_name":"prop-types","ecosystem":"npm","requirements":"15.7.2","direct":false,"kind":"development","optional":false},{"id":5376129422,"package_name":"punycode","ecosystem":"npm","requirements":"2.1.1","direct":false,"kind":"development","optional":false},{"id":5376129423,"package_name":"queue-microtask","ecosystem":"npm","requirements":"1.2.3","direct":false,"kind":"development","optional":false},{"id":5376129424,"package_name":"react-is","ecosystem":"npm","requirements":"16.13.1","direct":false,"kind":"development","optional":false},{"id":5376129425,"package_name":"regexp.prototype.flags","ecosystem":"npm","requirements":"1.3.1","direct":false,"kind":"development","optional":false},{"id":5376129426,"package_name":"regexpp","ecosystem":"npm","requirements":"3.1.0","direct":false,"kind":"development","optional":false},{"id":5376129427,"package_name":"require-from-string","ecosystem":"npm","requirements":"2.0.2","direct":false,"kind":"development","optional":false},{"id":5376129428,"package_name":"resolve","ecosystem":"npm","requirements":"2.0.0-next.3","direct":false,"kind":"development","optional":false},{"id":5376129429,"package_name":"resolve-from","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":5376129430,"package_name":"reusify","ecosystem":"npm","requirements":"1.0.4","direct":false,"kind":"development","optional":false},{"id":5376129431,"package_name":"rimraf","ecosystem":"npm","requirements":"3.0.2","direct":false,"kind":"development","optional":false},{"id":5376129432,"package_name":"run-parallel","ecosystem":"npm","requirements":"1.2.0","direct":false,"kind":"development","optional":false},{"id":5376129433,"package_name":"semver","ecosystem":"npm","requirements":"7.3.5","direct":false,"kind":"development","optional":false},{"id":5376129434,"package_name":"shebang-command","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"development","optional":false},{"id":5376129435,"package_name":"shebang-regex","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":5376129436,"package_name":"side-channel","ecosystem":"npm","requirements":"1.0.4","direct":false,"kind":"development","optional":false},{"id":5376129437,"package_name":"slash","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":5376129438,"package_name":"slice-ansi","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":5376129439,"package_name":"sprintf-js","ecosystem":"npm","requirements":"1.0.3","direct":false,"kind":"development","optional":false},{"id":5376129440,"package_name":"string-width","ecosystem":"npm","requirements":"4.2.2","direct":false,"kind":"development","optional":false},{"id":5376129441,"package_name":"string.prototype.matchall","ecosystem":"npm","requirements":"4.0.5","direct":false,"kind":"development","optional":false},{"id":5376129442,"package_name":"string.prototype.trimend","ecosystem":"npm","requirements":"1.0.4","direct":false,"kind":"development","optional":false},{"id":5376129443,"package_name":"string.prototype.trimstart","ecosystem":"npm","requirements":"1.0.4","direct":false,"kind":"development","optional":false},{"id":5376129444,"package_name":"strip-ansi","ecosystem":"npm","requirements":"6.0.0","direct":false,"kind":"development","optional":false},{"id":5376129445,"package_name":"strip-json-comments","ecosystem":"npm","requirements":"3.1.1","direct":false,"kind":"development","optional":false},{"id":5376129446,"package_name":"supports-color","ecosystem":"npm","requirements":"5.5.0","direct":false,"kind":"development","optional":false},{"id":5376129447,"package_name":"table","ecosystem":"npm","requirements":"6.7.1","direct":false,"kind":"development","optional":false},{"id":5376129448,"package_name":"ajv","ecosystem":"npm","requirements":"8.6.2","direct":false,"kind":"development","optional":false},{"id":5376129449,"package_name":"json-schema-traverse","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"development","optional":false},{"id":5376129450,"package_name":"text-table","ecosystem":"npm","requirements":"0.2.0","direct":false,"kind":"development","optional":false},{"id":5376129451,"package_name":"to-regex-range","ecosystem":"npm","requirements":"5.0.1","direct":false,"kind":"development","optional":false},{"id":5376129452,"package_name":"tslib","ecosystem":"npm","requirements":"1.14.1","direct":false,"kind":"development","optional":false},{"id":5376129453,"package_name":"tsutils","ecosystem":"npm","requirements":"3.21.0","direct":false,"kind":"development","optional":false},{"id":5376129454,"package_name":"type-check","ecosystem":"npm","requirements":"0.4.0","direct":false,"kind":"development","optional":false},{"id":5376129455,"package_name":"type-fest","ecosystem":"npm","requirements":"0.20.2","direct":false,"kind":"development","optional":false},{"id":5376129456,"package_name":"typescript","ecosystem":"npm","requirements":"4.3.5","direct":false,"kind":"development","optional":false},{"id":5376129457,"package_name":"unbox-primitive","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"development","optional":false},{"id":5376129458,"package_name":"uri-js","ecosystem":"npm","requirements":"4.4.1","direct":false,"kind":"development","optional":false},{"id":5376129459,"package_name":"v8-compile-cache","ecosystem":"npm","requirements":"2.2.0","direct":false,"kind":"development","optional":false},{"id":5376129460,"package_name":"which","ecosystem":"npm","requirements":"2.0.2","direct":false,"kind":"development","optional":false},{"id":5376129461,"package_name":"which-boxed-primitive","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"development","optional":false},{"id":5376129462,"package_name":"word-wrap","ecosystem":"npm","requirements":"1.2.3","direct":false,"kind":"development","optional":false},{"id":5376129463,"package_name":"wrappy","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"development","optional":false},{"id":5376129464,"package_name":"yallist","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":5376129465,"package_name":"zora","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"development","optional":false},{"id":5376129466,"package_name":"zora-reporters","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"package.json","sha":null,"kind":"manifest","created_at":"2022-09-19T03:11:53.294Z","updated_at":"2022-09-19T03:11:53.294Z","repository_link":"https://github.com/tsugabloom/haptic/blob/main/package.json","dependencies":[{"id":5376129801,"package_name":"@types/node","ecosystem":"npm","requirements":"^16.4.12","direct":true,"kind":"development","optional":false},{"id":5376129802,"package_name":"@typescript-eslint/eslint-plugin","ecosystem":"npm","requirements":"^4.29.0","direct":true,"kind":"development","optional":false},{"id":5376129803,"package_name":"@typescript-eslint/parser","ecosystem":"npm","requirements":"^4.29.0","direct":true,"kind":"development","optional":false},{"id":5376129804,"package_name":"esbuild","ecosystem":"npm","requirements":"^0.12.18","direct":true,"kind":"development","optional":false},{"id":5376129805,"package_name":"esbuild-node-loader","ecosystem":"npm","requirements":"^0.1.1","direct":true,"kind":"development","optional":false},{"id":5376129806,"package_name":"eslint","ecosystem":"npm","requirements":"^7.32.0","direct":true,"kind":"development","optional":false},{"id":5376129807,"package_name":"eslint-plugin-react","ecosystem":"npm","requirements":"^7.24.0","direct":true,"kind":"development","optional":false},{"id":5376129808,"package_name":"fflate","ecosystem":"npm","requirements":"^0.7.1","direct":true,"kind":"development","optional":false},{"id":5376129809,"package_name":"typescript","ecosystem":"npm","requirements":"^4.3.5","direct":true,"kind":"development","optional":false},{"id":5376129810,"package_name":"zora","ecosystem":"npm","requirements":"^5.0.0","direct":true,"kind":"development","optional":false},{"id":5376129811,"package_name":"zora-reporters","ecosystem":"npm","requirements":"^1.0.0","direct":true,"kind":"development","optional":false}]}],"score":5.225746673713202,"created_at":"2026-08-19T10:35:17.644Z","updated_at":"2026-08-19T10:35:19.082Z","avatar_url":"https://github.com/tsugabloom.png","language":"TypeScript","codemeta":null,"publiccode":null,"project_url":"https://summary.ecosyste.ms/api/v1/projects/378898","html_url":"https://summary.ecosyste.ms/projects/378898"}