{"id":1839682,"name":"html-parse-stringify","ecosystem":"npm","description":"Parses well-formed HTML (meaning all tags closed) into an AST and back. quickly.","homepage":"https://github.com/henrikjoreteg/html-parse-stringify","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/henrikjoreteg/html-parse-stringify","keywords_array":["ast","html","parse","stringify"],"namespace":null,"versions_count":12,"first_release_published_at":"2014-12-12T06:18:42.808Z","latest_release_published_at":"2021-04-28T05:04:09.194Z","latest_release_number":"3.0.1","last_synced_at":"2026-04-20T20:14:05.584Z","created_at":"2022-04-09T17:16:26.875Z","updated_at":"2026-04-20T20:14:05.584Z","registry_url":"https://www.npmjs.com/package/html-parse-stringify","install_command":"npm install html-parse-stringify","documentation_url":null,"metadata":{"funding":null,"dist-tags":{"latest":"3.0.1"}},"repo_metadata":{"id":24500533,"uuid":"27905915","full_name":"HenrikJoreteg/html-parse-stringify","owner":"HenrikJoreteg","description":"Parses well-formed HTML (meaning all tags closed) into an AST and back. quickly.","archived":false,"fork":false,"pushed_at":"2023-10-22T15:24:29.000Z","size":313,"stargazers_count":328,"open_issues_count":16,"forks_count":119,"subscribers_count":9,"default_branch":"master","last_synced_at":"2023-12-20T12:12:43.991Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HenrikJoreteg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2014-12-12T04:55:24.000Z","updated_at":"2024-03-13T17:34:39.825Z","dependencies_parsed_at":"2024-03-13T17:44:54.423Z","dependency_job_id":null,"html_url":"https://github.com/HenrikJoreteg/html-parse-stringify","commit_stats":{"total_commits":55,"total_committers":15,"mean_commits":"3.6666666666666665","dds":"0.49090909090909096","last_synced_commit":"ce46022f537ef9b050fac592f9fcc30bf838e5ba"},"previous_names":[],"tags_count":12,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HenrikJoreteg%2Fhtml-parse-stringify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HenrikJoreteg%2Fhtml-parse-stringify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HenrikJoreteg%2Fhtml-parse-stringify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HenrikJoreteg%2Fhtml-parse-stringify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HenrikJoreteg","download_url":"https://codeload.github.com/HenrikJoreteg/html-parse-stringify/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":217784479,"owners_count":16229885,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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_record":{"login":"HenrikJoreteg","name":"Henrik Joreteg","uuid":"67925","kind":"user","description":"Independent Progressive Web App developer, consultant, author, educator, and immigrant. \r\n\r\nAlways betting on the Web.","email":"","website":"http://joreteg.com","location":"Spokane, WA","twitter":null,"company":"Human Media, LLC","icon_url":"https://avatars.githubusercontent.com/u/67925?u=4dffad3537b7fddeadbcda9044be7e0dc7ff020e\u0026v=4","repositories_count":191,"last_synced_at":"2024-04-09T19:05:36.218Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/HenrikJoreteg","funding_links":[],"total_stars":9489,"followers":1605,"following":46,"created_at":"2022-11-02T16:27:28.203Z","updated_at":"2024-04-09T19:06:14.716Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HenrikJoreteg","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HenrikJoreteg/repositories"},"tags":[{"name":"v3.0.1","sha":"05d41c55888a951e27b232cbaf4e432b41da3b65","kind":"tag","published_at":"2021-04-28T05:00:50.000Z","download_url":"https://codeload.github.com/HenrikJoreteg/html-parse-stringify/tar.gz/v3.0.1","html_url":"https://github.com/HenrikJoreteg/html-parse-stringify/releases/tag/v3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HenrikJoreteg%2Fhtml-parse-stringify/tags/v3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HenrikJoreteg%2Fhtml-parse-stringify/tags/v3.0.1/manifests"},{"name":"v3.0.0","sha":"d1f2a0f83f82e6978d304af26376ce3d5315df34","kind":"tag","published_at":"2021-04-12T13:32:46.000Z","download_url":"https://codeload.github.com/HenrikJoreteg/html-parse-stringify/tar.gz/v3.0.0","html_url":"https://github.com/HenrikJoreteg/html-parse-stringify/releases/tag/v3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HenrikJoreteg%2Fhtml-parse-stringify/tags/v3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HenrikJoreteg%2Fhtml-parse-stringify/tags/v3.0.0/manifests"},{"name":"v2.1.1","sha":"86daf067115ac8080bdf1897ebbd8440e8267997","kind":"tag","published_at":"2021-04-01T19:55:57.000Z","download_url":"https://codeload.github.com/HenrikJoreteg/html-parse-stringify/tar.gz/v2.1.1","html_url":"https://github.com/HenrikJoreteg/html-parse-stringify/releases/tag/v2.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HenrikJoreteg%2Fhtml-parse-stringify/tags/v2.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HenrikJoreteg%2Fhtml-parse-stringify/tags/v2.1.1/manifests"},{"name":"v2.1.0","sha":"866742dfa227f2a6c355726343b2fe15d0177511","kind":"tag","published_at":"2021-04-01T17:24:45.000Z","download_url":"https://codeload.github.com/HenrikJoreteg/html-parse-stringify/tar.gz/v2.1.0","html_url":"https://github.com/HenrikJoreteg/html-parse-stringify/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HenrikJoreteg%2Fhtml-parse-stringify/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HenrikJoreteg%2Fhtml-parse-stringify/tags/v2.1.0/manifests"},{"name":"v2.0.3","sha":"3bba8444c9142d61d44902c8f92b33c4ccb45699","kind":"tag","published_at":"2021-03-19T20:28:32.000Z","download_url":"https://codeload.github.com/HenrikJoreteg/html-parse-stringify/tar.gz/v2.0.3","html_url":"https://github.com/HenrikJoreteg/html-parse-stringify/releases/tag/v2.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HenrikJoreteg%2Fhtml-parse-stringify/tags/v2.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HenrikJoreteg%2Fhtml-parse-stringify/tags/v2.0.3/manifests"},{"name":"v2.0.2","sha":"99b7b602dd8a26b141ae2f2d43daaaadd03385c8","kind":"tag","published_at":"2021-03-03T15:20:21.000Z","download_url":"https://codeload.github.com/HenrikJoreteg/html-parse-stringify/tar.gz/v2.0.2","html_url":"https://github.com/HenrikJoreteg/html-parse-stringify/releases/tag/v2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HenrikJoreteg%2Fhtml-parse-stringify/tags/v2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HenrikJoreteg%2Fhtml-parse-stringify/tags/v2.0.2/manifests"},{"name":"v2.0.1","sha":"317b7f07bb0189074e39a05dd0eb06e85befff8c","kind":"tag","published_at":"2021-02-26T18:37:24.000Z","download_url":"https://codeload.github.com/HenrikJoreteg/html-parse-stringify/tar.gz/v2.0.1","html_url":"https://github.com/HenrikJoreteg/html-parse-stringify/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HenrikJoreteg%2Fhtml-parse-stringify/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HenrikJoreteg%2Fhtml-parse-stringify/tags/v2.0.1/manifests"},{"name":"v2.0.0","sha":"3a3ed62bf98381ac49de58afaad1515a857864cb","kind":"tag","published_at":"2020-07-11T23:13:36.000Z","download_url":"https://codeload.github.com/HenrikJoreteg/html-parse-stringify/tar.gz/v2.0.0","html_url":"https://github.com/HenrikJoreteg/html-parse-stringify/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HenrikJoreteg%2Fhtml-parse-stringify/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HenrikJoreteg%2Fhtml-parse-stringify/tags/v2.0.0/manifests"},{"name":"v1.0.3","sha":"b55a8d9b4883476971e178e583ac4ccf6879ce29","kind":"commit","published_at":"2018-10-01T16:18:00.000Z","download_url":"https://codeload.github.com/HenrikJoreteg/html-parse-stringify/tar.gz/v1.0.3","html_url":"https://github.com/HenrikJoreteg/html-parse-stringify/releases/tag/v1.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HenrikJoreteg%2Fhtml-parse-stringify/tags/v1.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HenrikJoreteg%2Fhtml-parse-stringify/tags/v1.0.3/manifests"},{"name":"v1.0.2","sha":"9435f258dc063933585be305af2954d229d46e4a","kind":"tag","published_at":"2015-03-17T04:50:51.000Z","download_url":"https://codeload.github.com/HenrikJoreteg/html-parse-stringify/tar.gz/v1.0.2","html_url":"https://github.com/HenrikJoreteg/html-parse-stringify/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HenrikJoreteg%2Fhtml-parse-stringify/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HenrikJoreteg%2Fhtml-parse-stringify/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"8e6ba4fbf6dcbf36b84b41ee18974d89a672fa33","kind":"tag","published_at":"2014-12-12T06:42:58.000Z","download_url":"https://codeload.github.com/HenrikJoreteg/html-parse-stringify/tar.gz/v1.0.1","html_url":"https://github.com/HenrikJoreteg/html-parse-stringify/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HenrikJoreteg%2Fhtml-parse-stringify/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HenrikJoreteg%2Fhtml-parse-stringify/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"34f2b329e7c372ce156f2a669d9fcc16c307932e","kind":"tag","published_at":"2014-12-12T06:17:12.000Z","download_url":"https://codeload.github.com/HenrikJoreteg/html-parse-stringify/tar.gz/v1.0.0","html_url":"https://github.com/HenrikJoreteg/html-parse-stringify/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HenrikJoreteg%2Fhtml-parse-stringify/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HenrikJoreteg%2Fhtml-parse-stringify/tags/v1.0.0/manifests"}]},"repo_metadata_updated_at":"2024-09-07T17:03:44.127Z","dependent_packages_count":112,"downloads":37607888,"downloads_period":"last-month","dependent_repos_count":20934,"rankings":{"downloads":0.09554336878734633,"dependent_repos_count":0.20111519944139458,"dependent_packages_count":0.3616057098239906,"stargazers_count":3.540595211338366,"forks_count":3.1538297735991225,"docker_downloads_count":0.13332969358595095,"average":1.2476698260960284},"purl":"pkg:npm/html-parse-stringify","advisories":[{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTU0NXEtM2ZnNi00OG03","url":"https://github.com/advisories/GHSA-545q-3fg6-48m7","title":"html-parse-stringify and html-parse-stringify2 vulnerable to Regular expression denial of service (ReDoS)","description":"This affects the package html-parse-stringify before 2.0.1; all versions of package html-parse-stringify2. Sending certain input could cause one of the regular expressions that is used for parsing to backtrack, freezing the process.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2021-03-18T19:39:31.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":5.3,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","references":["https://nvd.nist.gov/vuln/detail/CVE-2021-23346","https://github.com/HenrikJoreteg/html-parse-stringify/commit/c7274a48e59c92b2b7e906fedf9065159e73fe12","https://github.com/HenrikJoreteg/html-parse-stringify/blob/master/lib/parse.js%23L2","https://github.com/rayd/html-parse-stringify2/blob/master/lib/parse.js%23L2","https://snyk.io/vuln/SNYK-JAVA-ORGWEBJARSNPM-1080633","https://snyk.io/vuln/SNYK-JS-HTMLPARSESTRINGIFY-1079306","https://snyk.io/vuln/SNYK-JS-HTMLPARSESTRINGIFY2-1079307","https://github.com/HenrikJoreteg/html-parse-stringify/releases/tag/v2.0.1","https://github.com/advisories/GHSA-545q-3fg6-48m7"],"source_kind":"github","identifiers":["GHSA-545q-3fg6-48m7","CVE-2021-23346"],"repository_url":"https://github.com/HenrikJoreteg/html-parse-stringify","blast_radius":0.0,"created_at":"2022-12-21T16:13:10.714Z","updated_at":"2026-04-18T14:06:45.554Z","epss_percentage":0.00636,"epss_percentile":0.7035,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTU0NXEtM2ZnNi00OG03","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTU0NXEtM2ZnNi00OG03","packages":[{"ecosystem":"npm","package_name":"html-parse-stringify2","versions":[{"first_patched_version":null,"vulnerable_version_range":"\u003c= 2.0.1"}],"purl":"pkg:npm/html-parse-stringify2"},{"ecosystem":"npm","package_name":"html-parse-stringify","versions":[{"first_patched_version":"2.0.1","vulnerable_version_range":"\u003c 2.0.1"}],"purl":"pkg:npm/html-parse-stringify"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTU0NXEtM2ZnNi00OG03/related_packages","related_advisories":[]}],"docker_usage_url":"https://docker.ecosyste.ms/usage/npm/html-parse-stringify","docker_dependents_count":664,"docker_downloads_count":273015644,"usage_url":"https://repos.ecosyste.ms/usage/npm/html-parse-stringify","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/npm/html-parse-stringify/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2024-09-06T12:41:26.796Z","issues_count":28,"pull_requests_count":35,"avg_time_to_close_issue":54504570.04347826,"avg_time_to_close_pull_request":22517401.0,"issues_closed_count":23,"pull_requests_closed_count":24,"pull_request_authors_count":21,"issue_authors_count":24,"avg_comments_per_issue":1.9285714285714286,"avg_comments_per_pull_request":1.4285714285714286,"merged_pull_requests_count":17,"bot_issues_count":0,"bot_pull_requests_count":7,"past_year_issues_count":1,"past_year_pull_requests_count":1,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":2.0,"past_year_avg_comments_per_pull_request":1.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/HenrikJoreteg%2Fhtml-parse-stringify/issues","maintainers":[{"login":"latentflip","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/latentflip"},{"login":"pconerly","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/pconerly"},{"login":"adrai","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/adrai"},{"login":"frontmesh","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/frontmesh"},{"login":"HenrikJoreteg","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/HenrikJoreteg"},{"login":"hugooliveirad","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hugooliveirad"},{"login":"kranges","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/kranges"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/html-parse-stringify/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/html-parse-stringify/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/html-parse-stringify/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/html-parse-stringify/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/html-parse-stringify/codemeta","maintainers":[{"uuid":"henrikjoreteg","login":"henrikjoreteg","name":null,"email":"henrik@joreteg.com","url":null,"packages_count":239,"html_url":"https://www.npmjs.com/~henrikjoreteg","role":null,"created_at":"2022-11-12T17:51:29.870Z","updated_at":"2022-11-12T17:51:29.870Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/henrikjoreteg/packages"},{"uuid":"adrai","login":"adrai","name":null,"email":"adriano@raiano.ch","url":null,"packages_count":89,"html_url":"https://www.npmjs.com/~adrai","role":null,"created_at":"2022-11-12T17:51:29.857Z","updated_at":"2022-11-12T17:51:29.857Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/adrai/packages"},{"uuid":"latentflip","login":"latentflip","name":null,"email":"phil@latentflip.com","url":null,"packages_count":107,"html_url":"https://www.npmjs.com/~latentflip","role":null,"created_at":"2022-11-12T17:51:29.864Z","updated_at":"2022-11-12T17:51:29.864Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/latentflip/packages"},{"uuid":"hugobessaa","login":"hugobessaa","name":null,"email":"hugobessaa@gmail.com","url":null,"packages_count":3,"html_url":"https://www.npmjs.com/~hugobessaa","role":null,"created_at":"2022-11-12T17:51:29.851Z","updated_at":"2022-11-12T17:51:29.851Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/hugobessaa/packages"},{"uuid":"frontmesh","login":"frontmesh","name":null,"email":"vladimirvuj@gmail.com","url":null,"packages_count":1,"html_url":"https://www.npmjs.com/~frontmesh","role":null,"created_at":"2022-11-12T17:51:29.875Z","updated_at":"2022-11-12T17:51:29.875Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/frontmesh/packages"}]}