Звіт у форматі JSON машиночитний
{
"data": {
"repo": {
"topics": [
"search",
"autosuggest",
"recommendations",
"browser",
"javascript",
"constructorio-integrations"
],
"is_fork": false,
"size_kb": 5911,
"has_wiki": true,
"homepage": "https://constructor.io",
"languages": {
"Shell": 55,
"JavaScript": 1273449,
"TypeScript": 19960
},
"pushed_at": "2026-07-29T15:45:56Z",
"created_at": "2019-09-10T18:49:22Z",
"owner_type": "Organization",
"updated_at": "2026-07-21T17:43:16Z",
"description": "Constructor.io JavaScript client for web applications",
"is_archived": false,
"is_disabled": false,
"license_spdx": "MIT",
"default_branch": "master",
"license_spdx_raw": "MIT",
"primary_language": "JavaScript",
"significant_languages": [
"JavaScript"
]
},
"owner": {
"blog": "https://constructor.io/",
"name": "Constructor.io",
"type": "Organization",
"login": "Constructor-io",
"company": null,
"location": null,
"followers": 63,
"avatar_url": "https://avatars.githubusercontent.com/u/9828194?v=4",
"created_at": "2014-11-18T18:57:28Z",
"is_verified": null,
"public_repos": 39,
"account_age_days": 4271
},
"license": {
"state": "standard",
"spdx_id": "MIT",
"raw_spdx": "MIT",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v2.90.0",
"kind": "minor",
"published_at": "2026-07-21T17:43:48Z"
},
{
"tag": "v2.89.1",
"kind": "patch",
"published_at": "2026-07-09T17:31:52Z"
},
{
"tag": "v2.89.0",
"kind": "minor",
"published_at": "2026-07-06T13:15:51Z"
},
{
"tag": "v2.88.0",
"kind": "minor",
"published_at": "2026-07-02T13:11:16Z"
},
{
"tag": "v2.87.0",
"kind": "minor",
"published_at": "2026-06-30T14:56:35Z"
},
{
"tag": "v2.86.0",
"kind": "minor",
"published_at": "2026-06-23T17:15:21Z"
},
{
"tag": "v2.85.2",
"kind": "patch",
"published_at": "2026-06-15T20:29:08Z"
},
{
"tag": "v2.85.1",
"kind": "patch",
"published_at": "2026-06-15T15:52:08Z"
},
{
"tag": "v2.85.0",
"kind": "minor",
"published_at": "2026-06-15T14:15:09Z"
},
{
"tag": "v2.84.0",
"kind": "minor",
"published_at": "2026-06-15T14:14:40Z"
},
{
"tag": "v2.83.0",
"kind": "minor",
"published_at": "2026-06-11T18:12:26Z"
},
{
"tag": "v2.82.0",
"kind": "minor",
"published_at": "2026-06-11T14:38:21Z"
},
{
"tag": "v2.81.0",
"kind": "minor",
"published_at": "2026-06-04T18:51:37Z"
},
{
"tag": "v2.80.0",
"kind": "minor",
"published_at": "2026-05-27T18:51:39Z"
},
{
"tag": "v2.78.2",
"kind": "patch",
"published_at": "2026-05-12T16:49:07Z"
},
{
"tag": "v2.78.1",
"kind": "patch",
"published_at": "2026-05-11T23:42:25Z"
},
{
"tag": "v2.78.0",
"kind": "minor",
"published_at": "2026-04-23T19:56:43Z"
},
{
"tag": "v2.77.1",
"kind": "patch",
"published_at": "2026-04-07T19:04:16Z"
},
{
"tag": "v2.77.0",
"kind": "minor",
"published_at": "2026-03-24T14:14:22Z"
},
{
"tag": "v2.76.1",
"kind": "patch",
"published_at": "2026-03-12T17:39:09Z"
},
{
"tag": "v2.76.0",
"kind": "minor",
"published_at": "2026-03-09T14:17:00Z"
},
{
"tag": "v2.75.1",
"kind": "patch",
"published_at": "2026-02-25T11:13:07Z"
},
{
"tag": "v2.75.0",
"kind": "minor",
"published_at": "2026-02-13T19:34:53Z"
},
{
"tag": "v2.74.0",
"kind": "minor",
"published_at": "2026-02-12T18:27:59Z"
},
{
"tag": "v2.73.1",
"kind": "patch",
"published_at": "2026-01-27T14:44:12Z"
},
{
"tag": "v2.73.0",
"kind": "minor",
"published_at": "2026-01-26T10:05:31Z"
},
{
"tag": "v2.72.3",
"kind": "patch",
"published_at": "2026-01-26T10:05:12Z"
},
{
"tag": "v2.72.2",
"kind": "patch",
"published_at": "2026-01-06T14:18:05Z"
},
{
"tag": "v2.72.1",
"kind": "patch",
"published_at": "2026-01-05T17:44:05Z"
},
{
"tag": "v2.72.0",
"kind": "minor",
"published_at": "2025-12-30T12:56:12Z"
},
{
"tag": "v2.71.3",
"kind": "patch",
"published_at": "2025-12-18T10:16:56Z"
},
{
"tag": "v2.71.2",
"kind": "patch",
"published_at": "2025-12-11T18:14:08Z"
},
{
"tag": "v2.71.1",
"kind": "patch",
"published_at": "2025-11-17T15:57:07Z"
},
{
"tag": "v2.71.0",
"kind": "minor",
"published_at": "2025-11-17T14:31:59Z"
},
{
"tag": "v2.70.0",
"kind": "minor",
"published_at": "2025-10-22T16:16:53Z"
},
{
"tag": "v2.69.2",
"kind": "patch",
"published_at": "2025-10-15T12:34:40Z"
},
{
"tag": "v2.69.1",
"kind": "patch",
"published_at": "2025-10-15T12:15:10Z"
},
{
"tag": "v2.69.0",
"kind": "minor",
"published_at": "2025-10-13T14:26:28Z"
},
{
"tag": "v2.68.1",
"kind": "patch",
"published_at": "2025-10-08T14:59:16Z"
},
{
"tag": "v2.68.0",
"kind": "minor",
"published_at": "2025-09-30T20:58:53Z"
},
{
"tag": "v2.67.6",
"kind": "patch",
"published_at": "2025-09-16T17:56:33Z"
},
{
"tag": "v2.67.5",
"kind": "patch",
"published_at": "2025-09-08T11:36:32Z"
},
{
"tag": "v2.67.4",
"kind": "patch",
"published_at": "2025-08-26T15:56:55Z"
},
{
"tag": "v2.67.3",
"kind": "patch",
"published_at": "2025-08-18T07:51:28Z"
},
{
"tag": "v2.67.2",
"kind": "patch",
"published_at": "2025-08-07T11:14:03Z"
},
{
"tag": "v2.67.1",
"kind": "patch",
"published_at": "2025-07-24T16:12:35Z"
},
{
"tag": "v2.67.0",
"kind": "minor",
"published_at": "2025-07-24T12:51:29Z"
},
{
"tag": "v2.66.2",
"kind": "patch",
"published_at": "2025-07-22T16:52:10Z"
},
{
"tag": "v2.66.1",
"kind": "patch",
"published_at": "2025-07-22T16:46:41Z"
},
{
"tag": "v2.66.0",
"kind": "minor",
"published_at": "2025-07-15T21:00:45Z"
},
{
"tag": "v2.65.1",
"kind": "patch",
"published_at": "2025-07-07T14:33:00Z"
},
{
"tag": "v2.65.0",
"kind": "minor",
"published_at": "2025-06-17T16:49:49Z"
},
{
"tag": "v2.64.3",
"kind": "patch",
"published_at": "2025-05-08T11:58:43Z"
},
{
"tag": "v2.64.2",
"kind": "patch",
"published_at": "2025-04-29T11:41:43Z"
},
{
"tag": "v2.64.1",
"kind": "patch",
"published_at": "2025-04-17T10:10:23Z"
},
{
"tag": "v2.64.0",
"kind": "minor",
"published_at": "2025-04-10T13:53:35Z"
},
{
"tag": "v2.63.0",
"kind": "minor",
"published_at": "2025-04-03T16:45:47Z"
},
{
"tag": "v2.62.6",
"kind": "patch",
"published_at": "2025-03-17T18:28:19Z"
},
{
"tag": "v2.62.5",
"kind": "patch",
"published_at": "2025-03-17T13:37:17Z"
},
{
"tag": "v2.62.4",
"kind": "patch",
"published_at": "2025-02-27T00:35:00Z"
},
{
"tag": "v2.62.3",
"kind": "patch",
"published_at": "2025-02-17T15:01:40Z"
},
{
"tag": "v2.62.2",
"kind": "patch",
"published_at": "2025-01-09T19:22:42Z"
},
{
"tag": "v2.62.1",
"kind": "patch",
"published_at": "2024-12-30T19:52:52Z"
},
{
"tag": "v2.62.0",
"kind": "minor",
"published_at": "2024-12-19T18:35:45Z"
},
{
"tag": "v2.61.0",
"kind": "minor",
"published_at": "2024-12-19T13:15:48Z"
},
{
"tag": "v2.60.0",
"kind": "minor",
"published_at": "2024-12-17T19:43:40Z"
},
{
"tag": "v2.59.2",
"kind": "patch",
"published_at": "2024-12-03T16:24:50Z"
},
{
"tag": "v2.59.1",
"kind": "patch",
"published_at": "2024-12-03T16:22:32Z"
},
{
"tag": "v2.59.0",
"kind": "minor",
"published_at": "2024-11-25T10:24:40Z"
},
{
"tag": "v2.58.5",
"kind": "patch",
"published_at": "2024-11-22T16:34:58Z"
},
{
"tag": "v2.58.4",
"kind": "patch",
"published_at": "2024-11-20T12:08:57Z"
},
{
"tag": "v2.58.3",
"kind": "patch",
"published_at": "2024-11-19T16:10:28Z"
},
{
"tag": "v2.58.2",
"kind": "patch",
"published_at": "2024-11-18T12:15:41Z"
},
{
"tag": "v2.58.1",
"kind": "patch",
"published_at": "2024-11-18T11:43:43Z"
},
{
"tag": "v2.58.0",
"kind": "minor",
"published_at": "2024-11-12T18:21:33Z"
},
{
"tag": "v2.57.0",
"kind": "minor",
"published_at": "2024-11-12T12:10:17Z"
},
{
"tag": "v2.56.0",
"kind": "minor",
"published_at": "2024-10-22T23:14:06Z"
},
{
"tag": "v2.55.1",
"kind": "patch",
"published_at": "2024-10-22T21:26:07Z"
},
{
"tag": "v2.55.0",
"kind": "minor",
"published_at": "2024-10-21T15:08:31Z"
},
{
"tag": "v2.54.0",
"kind": "minor",
"published_at": "2024-10-03T19:51:58Z"
},
{
"tag": "v2.53.1",
"kind": "patch",
"published_at": "2024-09-25T21:53:48Z"
},
{
"tag": "v2.53.0",
"kind": "minor",
"published_at": "2024-09-24T22:35:59Z"
},
{
"tag": "v2.52.0",
"kind": "minor",
"published_at": "2024-09-24T22:00:14Z"
},
{
"tag": "v2.51.2",
"kind": "patch",
"published_at": "2024-09-03T20:26:40Z"
},
{
"tag": "v2.51.1",
"kind": "patch",
"published_at": "2024-07-25T18:47:23Z"
},
{
"tag": "v2.51.0",
"kind": "minor",
"published_at": "2024-07-15T18:53:37Z"
},
{
"tag": "v2.50.0",
"kind": "minor",
"published_at": "2024-07-15T16:41:59Z"
},
{
"tag": "v2.49.4",
"kind": "patch",
"published_at": "2024-07-10T14:32:22Z"
},
{
"tag": "v2.49.3",
"kind": "patch",
"published_at": "2024-06-25T19:54:20Z"
},
{
"tag": "v2.49.2",
"kind": "patch",
"published_at": "2024-05-10T15:07:40Z"
},
{
"tag": "v2.49.1",
"kind": "patch",
"published_at": "2024-05-06T19:24:00Z"
},
{
"tag": "v2.49.0",
"kind": "minor",
"published_at": "2024-04-30T15:38:12Z"
},
{
"tag": "v2.48.0",
"kind": "minor",
"published_at": "2024-04-25T14:08:25Z"
},
{
"tag": "v2.47.1",
"kind": "patch",
"published_at": "2024-04-17T16:22:40Z"
},
{
"tag": "v2.47.0",
"kind": "minor",
"published_at": "2024-04-17T16:09:07Z"
},
{
"tag": "v2.46.0",
"kind": "minor",
"published_at": "2024-04-15T21:01:39Z"
},
{
"tag": "v2.45.0",
"kind": "minor",
"published_at": "2024-04-08T20:49:31Z"
},
{
"tag": "v2.44.1",
"kind": "patch",
"published_at": "2024-04-03T20:51:29Z"
},
{
"tag": "v2.44.0",
"kind": "minor",
"published_at": "2024-04-03T15:32:21Z"
},
{
"tag": "v2.43.0",
"kind": "minor",
"published_at": "2024-04-01T17:02:47Z"
}
],
"recent_commits": [
{
"oid": "838b672bd84411a5cc6b727b6ea42e62fb90979c",
"body": null,
"is_bot": false,
"headline": "Add questionTopic parameter for PIA Question Tracking Events",
"author_name": "mudaafi",
"author_login": "Mudaafi",
"committed_at": "2026-07-21T17:42:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2c052b5d5fa0e9a9df7f8cd54c3e7bfa6ef78750",
"body": "… (#475)\n\n* Add questionTopic parameter to PIA question tracking events\n\n* temp\n\n---------\n\nCo-authored-by: dmitrycnstrc <dmitrii.gulevskii@constructor.io>",
"is_bot": false,
"headline": "[AT-176]: Add questionTopic parameter to PIA question tracking events…",
"author_name": "Dmitry G.",
"author_login": "dmitrycnstrc",
"committed_at": "2026-07-21T17:08:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f2cd727221d4edf18fc5de6e80574754238704e7",
"body": "* [CDX-497] Add GoogleOther and related bots to the SDK bot list and update tests\n\n* [CDX-497] Remove tests for GoogleOther and related bots from humanity-check and request-queue",
"is_bot": false,
"headline": "[CDX-497] Add GoogleOther and related bots to the SDK bot list (#476)",
"author_name": "Aleksei Pavlov",
"author_login": "Alexey-Pavlov",
"committed_at": "2026-07-21T16:18:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a26d36e8661960352157b81a34d68f44e433edb4",
"body": null,
"is_bot": false,
"headline": "Allow setClientOptions to set serviceUrl",
"author_name": "mudaafi",
"author_login": "Mudaafi",
"committed_at": "2026-07-09T17:30:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "182328ed900ad302f11514010bc83f888817673d",
"body": "* Support setting serviceUrl via setClientOptions\n\n* Update cspell\n\n* Normalize serviceUrl\n\n* Guard string check\n\nCo-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>\n\n* fix bundled-esm-tests workflow\n\n---------\n\nCo-authored-by: Hossam Hindawy <hossam.hindawy@hossam.hindawy-Q7M9F6QK6G>\nCo-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>\nCo-authored-by: mudaafi <ahmad.mudaafi@constructor.io>",
"is_bot": false,
"headline": "Set serviceUrl via setClientOptions (#473)",
"author_name": "Hossam Hassan Hindawy",
"author_login": "HHHindawy",
"committed_at": "2026-07-09T17:28:34Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "efc65319b518cdd9135ca27e37e0dcfe82f3746f",
"body": null,
"is_bot": false,
"headline": "Add PIA module",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2026-07-06T13:15:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "71b225a35dd242939bc151d69a4a0a99d7aac856",
"body": "* [NO-REF] - introduce pia http module\n\n* Address comments\n\n* Update CI\n\n* Add a timeout for tests\n\n* code restructure",
"is_bot": false,
"headline": "[NO-REF] - introduce pia http module (#449)",
"author_name": "Vladislav Saitov",
"author_login": "vladconstructor",
"committed_at": "2026-07-06T13:14:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "136b0e74a76f85de67d4f43c1c9fc94fa78a420e",
"body": null,
"is_bot": false,
"headline": "Add pia recommendations tracking",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2026-07-02T13:10:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b1204a179ec260fb669ef9b068f40d6350b6c560",
"body": "* [NO-REF] - add pia recommendations tracking\n\n* [NO-REF] - add pia recommendations tracking\n\n* Add tests and new click event\n\n* address review\n\n* another review\n\n* fix copilot review\n\n* Add more fields\n\n* Fix test\n\n* Address review\n\n* Update types",
"is_bot": false,
"headline": "[NO-REF] - add pia recommendations tracking (#469)",
"author_name": "Vladislav Saitov",
"author_login": "vladconstructor",
"committed_at": "2026-07-02T13:09:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "17e619177e2f8f8add8769623d5b0ce7905c1f52",
"body": null,
"is_bot": false,
"headline": "Add support for default window variables",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2026-06-30T14:55:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "638a5526e085d31b1ca4c53791ffc8673bd886a2",
"body": "* [CDX-201] Add support for tracking window parameters in autocomplete, browse, recommendations, and search\n\n* [CDX-201] Refactor setClientOptions to use a helper function for setting options and improve handling of window parameters\n\n* [CDX-201] Address PR feedback: rename to useWindowParameters, include tracker, and improve safety",
"is_bot": false,
"headline": "[CDX-201] Tracking other related parameters (#459)",
"author_name": "Aleksei Pavlov",
"author_login": "Alexey-Pavlov",
"committed_at": "2026-06-30T14:55:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fda2ff18da41c001243e30bad13f6070d296e12f",
"body": null,
"is_bot": false,
"headline": "add new quiz_asa_results_message type",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2026-06-23T17:13:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "99e22690f7aa006456be52519958f56939829a2a",
"body": "* add new quiz_asa_results_message type\n\n* add test\n\n* make quiz_asa_results_message optional instead of nullable\n\n---------\n\nCo-authored-by: dmitrycnstrc <dmitrii.gulevskii@constructor.io>",
"is_bot": false,
"headline": "[AT-82]: add new quiz_asa_results_message type (#458)",
"author_name": "Dmitry G.",
"author_login": "dmitrycnstrc",
"committed_at": "2026-06-23T17:13:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7b77454e859503734315003ca60fe58023ccb91d",
"body": null,
"is_bot": false,
"headline": "Bundle external packages",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2026-06-15T20:28:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cc4a93e071c4eeb975d7ef923c7f282c4fa8fc31",
"body": null,
"is_bot": false,
"headline": "Bundle required packaes (#467)",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2026-06-15T20:27:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a4932614ae8e64299438efa43945da695213548c",
"body": null,
"is_bot": false,
"headline": "Fix compile command",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2026-06-15T15:51:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f0e36de6cf16b5af23185dcac642a51d231fc9fb",
"body": null,
"is_bot": false,
"headline": "Move from postcompile to compile (#466)",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2026-06-15T15:51:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2dbc12ff667004426bb00505d55dd0f28d4c8532",
"body": null,
"is_bot": false,
"headline": "Add result offset parameter",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2026-06-15T14:14:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cd608e991c665630b3189cba35d52db1f863c601",
"body": "* add result_offset to tracking methods\n\n* replace Object.assign with spread operator to avoid mutating requiredParameters\n\n* fix trackGenericResultClick test\n\n* update jsdoc for trackGenericResultClick\n\n* add result_offset to trackSearchResultClickV2",
"is_bot": false,
"headline": "Cdx 429 add result offset parameter support to js sdk tracker (#463)",
"author_name": "Sherzod Bakhodirov",
"author_login": "Sher-Bakhodirov",
"committed_at": "2026-06-15T14:13:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "46e0ea42c48ddd41108f97aeecb04520066895c6",
"body": null,
"is_bot": false,
"headline": "Add ESM build",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2026-06-15T14:10:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "442f64f21826bdebd527356fd47ce20c4d77e3ce",
"body": "* Build ESM\n\n* Address comments\n\n* Update package.json\n\nCo-authored-by: Ahmad Mudaafi' <ahmad.mudaafi@constructor.io>\n\n* Move bundle script\n\n---------\n\nCo-authored-by: Ahmad Mudaafi' <ahmad.mudaafi@constructor.io>",
"is_bot": false,
"headline": "[CDX-468] Add modern ESM build (#455)",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2026-06-15T14:09:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1ce53f63a0e647c42b79c2bd054dee48a6207c32",
"body": null,
"is_bot": false,
"headline": "Add option to allow http in serviceUrl",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2026-06-11T18:12:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7430a256d1709dd77535af697c6def846c118225",
"body": "* feat: Add option to allow http in serviceUrl, default false\n\n* Add default when destructuring\n\n---------\n\nCo-authored-by: Enes Kutay SEZEN <eneskutaysezen@gmail.com>",
"is_bot": false,
"headline": "feat: Add option to allow http in serviceUrl, default false (#460)",
"author_name": "Jonas Berlin",
"author_login": "xkr47",
"committed_at": "2026-06-11T18:11:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7b1b512ca20055519d0684dbe7eb6dd938e2bcc3",
"body": null,
"is_bot": false,
"headline": "Update README (#464)",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2026-06-11T16:41:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f22ca4a6a8771981114e1be8753abba1e441aa01",
"body": null,
"is_bot": false,
"headline": "Viewable impressions tracking",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2026-06-11T14:37:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8631d8bd368c3ba1ca0ee70a74f383680c9402b5",
"body": "* [REM-3439] Add `trackResultsImpressionView`, types and tests\n\n* [REM-3439] Remove 100 items limit, add sponsored listings attributes to tests\n\n* [REM-3439] Update jsdoc with all item fields\n\n* [REM-3439] Add item-level validations to trackREsultsImpressionView and add stricter types to tracker.d.ts",
"is_bot": false,
"headline": "[REM-3439] Viewable impressions tracking (#456)",
"author_name": "Viktor Zavala",
"author_login": "ZSnake",
"committed_at": "2026-06-11T14:33:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5fb5a8e341d575b72718e42b1e06a096a2ce1a5d",
"body": "* Add .npmrc with ignore-scripts and save-exact\n\nSecurity hardening: ignore-scripts prevents malicious install scripts\nfrom running during npm install, and save-exact pins dependency versions.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\n\n* Update readme\n\n---------\n\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>\nCo-authored-by: Enes Kutay SEZEN <eneskutaysezen@gmail.com>",
"is_bot": false,
"headline": "Add .npmrc with security hardening settings (#462)",
"author_name": "Dan Admin McCormick",
"author_login": "danmcc-admin",
"committed_at": "2026-06-10T17:50:54Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "263c3082ba5bf898444c3554be1f8f32df641b76",
"body": "Removes [uuid](https://github.com/uuidjs/uuid). It's no longer used after updating ancestor dependency [nyc](https://github.com/istanbuljs/nyc). These dependencies need to be updated together.\n\n\nRemoves `uuid`\n\nUpdates `nyc` from 15.1.0 to 18.0.0\n- [Release notes](https://github.com/istanbuljs/nyc/r\n[…]\ndency-version: 18.0.0\n dependency-type: direct:development\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "Bump uuid and nyc (#461)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-06-10T17:50:34Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b386c72124d1cc2dcd1f6cc6662756914e7f1b13",
"body": null,
"is_bot": false,
"headline": "Remove the limit of 100 for browse/search load events",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2026-06-04T18:51:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9dcfeb287a812fd4523b806bb6a3dc26ec71dbd3",
"body": "* Remove the limit of 100 for browse/search load events\n\n* Remove .only\n\n---------\n\nCo-authored-by: Tarek Ahmed <tarek.ahmed@tarek.ahmed-F5P62C970K>",
"is_bot": false,
"headline": "[CDX-472] Remove the limit of 100 for browse/search load events (#457)",
"author_name": "Tarek Alqaddy",
"author_login": "TarekAlQaddy",
"committed_at": "2026-06-04T18:50:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "db82f2c3d444175b0417fd3c1809141c197443d1",
"body": null,
"is_bot": false,
"headline": "Better error logging on event failure and update dependencies",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2026-05-27T18:50:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e3bfa503423fc8c5ff7130ed10f0ecf884c756b3",
"body": "Bumps [qs](https://github.com/ljharb/qs) from 6.14.2 to 6.15.2.\n- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/ljharb/qs/compare/v6.14.2...v6.15.2)\n\n---\nupdated-dependencies:\n- dependency-name: qs\n dependency-version: 6.15.2\n dependency-type: direct:development\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "Bump qs from 6.14.2 to 6.15.2 (#453)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-05-27T18:47:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9ee9ca85791f4baaa9e22bb8cbc10bfd2dbecdae",
"body": "* Better error logging on event failure\n\n* Update events.js\n\n* Update src/utils/events.js\r\n\r\nextended serialisation\n\nCo-authored-by: Enes Kutay SEZEN <eneskutaysezen@gmail.com>\n\n---------\n\nCo-authored-by: Enes Kutay SEZEN <eneskutaysezen@gmail.com>",
"is_bot": false,
"headline": "Better error logging on event failure (#450)",
"author_name": "jakequade-pc",
"author_login": "jakequade-pc",
"committed_at": "2026-05-27T18:46:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9b292c752647be3555e43b0dab6211bdc16421aa",
"body": null,
"is_bot": false,
"headline": "Add analyticsTags support to trackConversion",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2026-05-26T16:23:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6dae327de7a0e66e58b0812e200894f1824223cf",
"body": null,
"is_bot": false,
"headline": "Add analyticsTags to trackConversion (#454)",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2026-05-26T16:22:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "05a9799da2239113f017e6890927bc53bc43f9dc",
"body": null,
"is_bot": false,
"headline": "Add optional description field to BaseQuestionOption interface",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2026-05-12T16:48:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5a9db99da988f4146afb9fd80675197878777403",
"body": "Co-authored-by: dmitrycnstrc <dmitrii.gulevskii@constructor.io>",
"is_bot": false,
"headline": "Add optional description field to BaseQuestionOption interface (#446)",
"author_name": "Dmitry Gulevskii",
"author_login": "dmitrycnstrc",
"committed_at": "2026-05-12T16:47:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "61fa242ef318cbd1ad8144be067c40291ce6e661",
"body": null,
"is_bot": false,
"headline": "Update dependencies and tests",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2026-05-11T23:42:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a2b94320c1bd9656372b68a6bd643c83a7169014",
"body": "…#451)\n\nBumps [@babel/plugin-transform-modules-systemjs](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-modules-systemjs) from 7.27.1 to 7.29.4.\n- [Release notes](https://github.com/babel/babel/releases)\n- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)\n-\n[…]\ns\"\n dependency-version: 7.29.4\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "Bump @babel/plugin-transform-modules-systemjs from 7.27.1 to 7.29.4 (…",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-05-11T21:52:19Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ab41f811069a2225088f5ddf819cd485b0bc8370",
"body": "Bumps [lodash](https://github.com/lodash/lodash) from 4.17.23 to 4.18.1.\n- [Release notes](https://github.com/lodash/lodash/releases)\n- [Commits](https://github.com/lodash/lodash/compare/4.17.23...4.18.1)\n\n---\nupdated-dependencies:\n- dependency-name: lodash\n dependency-version: 4.18.1\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "Bump lodash from 4.17.23 to 4.18.1 (#445)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-05-11T21:52:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b9f117d8f9406893476717a164356b815bf70579",
"body": "…tests (#448)\n\n* [NO-REF] - fix abscence of quiz_session_id on subsequent requests in tests\n\n* Fix eslint\n\n* remove quizSessionId duplicates",
"is_bot": false,
"headline": "[NO-REF] - fix abscence of quiz session id on subsequent requests in …",
"author_name": "Vladislav Saitov",
"author_login": "vladconstructor",
"committed_at": "2026-05-11T21:47:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "31b056e47e38ea49bfad199b64c4888173e37340",
"body": null,
"is_bot": false,
"headline": "Add pre filter expression per section",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2026-04-23T19:56:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "40cf46bca453f16104c9e87a47fa5e40b9290644",
"body": "* add pre filter expression per section\n\n* remove only\n\n* Update and add test\n\n---------\n\nCo-authored-by: Enes Kutay SEZEN <eneskutaysezen@gmail.com>",
"is_bot": false,
"headline": "[CI-5649] Add pre filter expression per section (#447)",
"author_name": "ST P",
"author_login": "stanlp1",
"committed_at": "2026-04-23T19:55:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "36aee5e77db2d925ac8618a2e73e10692d0ea83a",
"body": null,
"is_bot": false,
"headline": "Update dependencies and types",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2026-04-07T19:03:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d9d84f0df4ce00e98d930312ee8182b914df3a7c",
"body": "Bumps [picomatch](https://github.com/micromatch/picomatch) from 2.3.1 to 2.3.2.\n- [Release notes](https://github.com/micromatch/picomatch/releases)\n- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.\n[…]\ntch\n dependency-version: 2.3.2\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "Bump picomatch from 2.3.1 to 2.3.2 (#442)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-04-07T19:03:18Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "88732eb63cab2737cb11ddb9a214b9448ff4eb55",
"body": null,
"is_bot": false,
"headline": "Replace individual usernames with team in CODEOWNERS (#443)",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2026-04-07T18:52:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "94f83c82f6a18f006df8a96d0949fabb55c30972",
"body": "* [CDX-281] Mark itemName as optional in trackSearchResultClick\n\n* Update jsdoc\n\n---------\n\nCo-authored-by: Enes Kutay SEZEN <eneskutaysezen@gmail.com>",
"is_bot": false,
"headline": "[CDX-281] Mark itemName as optional in trackSearchResultClick (#444)",
"author_name": "Vadim Kruglov",
"author_login": "quiteeasy",
"committed_at": "2026-04-07T18:45:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3ef81a7bb043d938abc22fcb7d14557fbfc0bf46",
"body": null,
"is_bot": false,
"headline": "Update VariationsMap types and resolve security vulns",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2026-03-24T14:12:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f931bbf7e937a1fd0eb1cb9d443a89dd1eb7933f",
"body": "Bumps [undici](https://github.com/nodejs/undici) from 7.23.0 to 7.24.4.\n- [Release notes](https://github.com/nodejs/undici/releases)\n- [Commits](https://github.com/nodejs/undici/compare/v7.23.0...v7.24.4)\n\n---\nupdated-dependencies:\n- dependency-name: undici\n dependency-version: 7.24.4\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "Bump undici from 7.23.0 to 7.24.4 (#438)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-24T14:06:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "327f341f8187995c794070ef39bfabdd6880cef6",
"body": "Bumps [flatted](https://github.com/WebReflection/flatted) from 3.3.3 to 3.4.2.\n- [Commits](https://github.com/WebReflection/flatted/compare/v3.3.3...v3.4.2)\n\n---\nupdated-dependencies:\n- dependency-name: flatted\n dependency-version: 3.4.2\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "Bump flatted from 3.3.3 to 3.4.2 (#441)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-24T14:06:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e47612a88862be4df76313adf4c636d391f3a266",
"body": "* [CDX-390]: update VarioationsMap type\n\n* [CDX-390]: add discriminated union for VariationValue types\n\n* [CDX-390]: update FilterNode to union type\n\n* Address comment\n\n* Lint\n\n* Update types\n\n* Update types\n\n* Address comments\n\n---------\n\nCo-authored-by: Enes Kutay SEZEN <eneskutaysezen@gmail.com>",
"is_bot": false,
"headline": "[CDX-390]: update VarioationsMap type (#440)",
"author_name": "Nizom",
"author_login": "niizom",
"committed_at": "2026-03-24T14:04:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "042673148e0f91b367f8fbfae4819746b6d8e26c",
"body": null,
"is_bot": false,
"headline": "Remove deprecated arguments from Claude PR Review workflow (#439)",
"author_name": "Pedro Bini",
"author_login": "pedro-lb",
"committed_at": "2026-03-19T14:58:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6dadf19e1f474f8c1a9060ead37a87818cc512cd",
"body": "* Update node version\n\n* Update workflows' node versions\n\n* Remove verify node version\n\n* Downgrade npm for diffend\n\n* Revert diffend changes\n\n* Fix bundled tests",
"is_bot": false,
"headline": "[CDX-398] Update Node version and packages (#437)",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2026-03-16T18:48:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2e5fd45d38c9d595f9226035412988f66a2be60f",
"body": null,
"is_bot": false,
"headline": "Add variationId to getRecommendations",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2026-03-12T17:38:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5a5320f6aa1dd009041b6bc10b0f5b5d47fb7250",
"body": "* [CDX-384]: added variationId param for getRecomendations function\n\n* [CDX-384]: improved itemIds validation and test coverage\n\n* [CDX-384]: fixed max-len lint issue in recommendations JSDoc",
"is_bot": false,
"headline": "[CDX-384]: added variationId param for getRecomendations function (#435)",
"author_name": "Nizom",
"author_login": "niizom",
"committed_at": "2026-03-12T17:36:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0b89768a361201d2d5904eebd9cb28f9da02ce32",
"body": null,
"is_bot": false,
"headline": "Update Agents module",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2026-03-09T14:16:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2c4db035960c2579660a1a2a62cedc1b18c89bd2",
"body": "Bumps [minimatch](https://github.com/isaacs/minimatch) from 3.1.2 to 3.1.5.\n- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)\n- [Commits](https://github.com/isaacs/minimatch/compare/v3.1.2...v3.1.5)\n\n---\nupdated-dependencies:\n- dependency-name: minimatch\n dependency-version: 3.1.5\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "Bump minimatch from 3.1.2 to 3.1.5 (#433)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-09T14:06:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "13661c7039c2b007c3b248aac71d34c1a8872f00",
"body": "* add agent-overview module\n\n* update readme\n\n* fix linter\n\n* fixes after copilot review\n\n* fix copilot review\n\n* return condition for strings\n\n* remove agent-overview module & update agent module\n\n* remove agent-overview module\n\n* return event types\n\n* return even types comment\n\n* fix types\n\n* fix conditions for agent & description\n\n* fix types\n\n* update description\n\n* update agent test\n\n* update doc URLs\n\n* fix typo\n\n---------\n\nCo-authored-by: dmitrycnstrc <dmitrii.gulevskii@constructor.io>",
"is_bot": false,
"headline": "[AT-68]: agent overview update javascript client repo (#432)",
"author_name": "Dmitry Gulevskii",
"author_login": "dmitrycnstrc",
"committed_at": "2026-03-09T14:05:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4678f25d3c9fce85b72f76c16796bd61ae7960a9",
"body": "* Test new prompt\n\n* Address comments",
"is_bot": false,
"headline": "Test new prompt for code reviews (#428)",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2026-02-25T12:38:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b0a820c42ad4465e9ced08cf127361f0503b18e8",
"body": null,
"is_bot": false,
"headline": "Update dependencies and validate testCells",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2026-02-25T11:12:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2f1f31c001c0ac84f83ad297135f1a13db81023c",
"body": "Bumps [qs](https://github.com/ljharb/qs) from 6.14.1 to 6.14.2.\n- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/ljharb/qs/compare/v6.14.1...v6.14.2)\n\n---\nupdated-dependencies:\n- dependency-name: qs\n dependency-version: 6.14.2\n dependency-type: direct:development\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "Bump qs from 6.14.1 to 6.14.2 (#430)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-02-25T11:08:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6bdefc8ce54cb9ed869868eb6713bd3661f23543",
"body": "* Validate testCells\n\n* Update src/utils/helpers.js\n\nCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>\n\n* Update spec/src/constructorio.js\n\nCo-authored-by: Ahmad Mudaafi' <ahmad.mudaafi@constructor.io>\n\n* Fix issue originating from conflict\n\n---------\n\nCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>\nCo-authored-by: Ahmad Mudaafi' <ahmad.mudaafi@constructor.io>",
"is_bot": false,
"headline": "[CDX-379] Validate testCells (#429)",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2026-02-25T11:08:27Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "da6aed7e543ac3a59892bb190ed6c1fa9fcde208",
"body": null,
"is_bot": false,
"headline": "Allow using localStorage for humanity check",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2026-02-13T19:33:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "72879636a4fb4fa2582a985a92de94bda52c7c0c",
"body": "* Allow using localStorage for humanity check\n\n* Update getIsHumanFromSessionStorage\n\n* Remove test",
"is_bot": false,
"headline": "[CDX-381] Allow using localStorage for humanity check (#431)",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2026-02-13T19:32:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9ddffdabf99bc62468a88bf7a5830a9edd06b4d3",
"body": null,
"is_bot": false,
"headline": "Add trackMediaImpressionClick support",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2026-02-12T18:27:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3e9cf258238f9dbe62eb9c8ab5dedbecc44776ee",
"body": "* [REM-2574] Add trackMediaImpressionClick function with tests and types\n\n* [REM-2574] Add a valid api key, banner id and placement id for display ads tracking tests\n\n* [REM-2574] Update tests to fetch a valid display ads banner. Fix assertions. Extract behavior base URL helper function\n\n* Move key to env variable\n\n* Spread instead of assign\n\n* [REM-2574] Add media api key env variable to bundled test runs\n\n---------\n\nCo-authored-by: Enes Kutay SEZEN <eneskutaysezen@gmail.com>",
"is_bot": false,
"headline": "[REM-2574] Support click tracking for media impressions (#426)",
"author_name": "Viktor Zavala",
"author_login": "ZSnake",
"committed_at": "2026-02-12T18:26:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ba667ce55fbc4787136e31c6c3852a4780a1bf3e",
"body": null,
"is_bot": false,
"headline": "Add hide_previous_comments flag to Claude review workflow (#427)",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2026-01-29T11:30:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e8ec6433e35adca6da95b699da29a216db06a183",
"body": null,
"is_bot": false,
"headline": "Add new question type to quizzes",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2026-01-27T14:43:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0adfee0b84535b0ee9fa3f0ee6ab2f0cb8f4c492",
"body": "Co-authored-by: dmitrycnstrc <dmitrii.gulevskii@constructor.io>",
"is_bot": false,
"headline": "support new quiz type question (#425)",
"author_name": "Dmitry",
"author_login": "dmitrycnstrc",
"committed_at": "2026-01-27T14:42:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "642f9c2372d90957fbcd3685958d58ade04fe2a7",
"body": null,
"is_bot": false,
"headline": "Update search adn browse types",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2026-01-26T10:04:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2cf5727761025dad8be3f6a1de9ccf53e30bb42b",
"body": "* Fix browse types based on empirical testing\n\n* Fix search types based on empirical testing\n\n* Fix types in browse and search tests\n\n* Fix typo\n\n---------\n\nCo-authored-by: Aleksei Pavlov <pavlov.aleksey.m@gmail.com>\nCo-authored-by: Enes Kutay SEZEN <eneskutaysezen@gmail.com>",
"is_bot": false,
"headline": "Fix: Browse and Search types (#410)",
"author_name": "Jonas Berlin",
"author_login": "xkr47",
"committed_at": "2026-01-26T10:03:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dea9dda821b84af8373181a2ddfbe9a8be0373aa",
"body": null,
"is_bot": false,
"headline": "Update dependencies and types",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2026-01-26T09:59:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "64534a3eb35fde6d891f4fb87e1b2e16836b80a3",
"body": null,
"is_bot": false,
"headline": "fix types (#423)",
"author_name": "Ahmad Mudaafi",
"author_login": "Mudaafi",
"committed_at": "2026-01-26T09:59:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0bde26adfbde0a20c716523f2adcb3dde68f49ee",
"body": "Bumps [lodash](https://github.com/lodash/lodash) from 4.17.21 to 4.17.23.\n- [Release notes](https://github.com/lodash/lodash/releases)\n- [Commits](https://github.com/lodash/lodash/compare/4.17.21...4.17.23)\n\n---\nupdated-dependencies:\n- dependency-name: lodash\n dependency-version: 4.17.23\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "Bump lodash from 4.17.21 to 4.17.23 (#424)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-01-26T09:58:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6e80b06efd812e0df22484c09402e8f0784166a5",
"body": null,
"is_bot": false,
"headline": "Update dependencies",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2026-01-06T14:17:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f5f16fc5bc74885d898c6fb7a6c6c0290ae65fda",
"body": "Bumps [qs](https://github.com/ljharb/qs) from 6.14.0 to 6.14.1.\n- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/ljharb/qs/compare/v6.14.0...v6.14.1)\n\n---\nupdated-dependencies:\n- dependency-name: qs\n dependency-version: 6.14.1\n dependency-type: direct:development\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "Bump qs from 6.14.0 to 6.14.1 (#422)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-01-06T14:17:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "59c2cb331cea2d6a187b3552c911c098fac5903b",
"body": null,
"is_bot": false,
"headline": "Adds extra url validation for android referrers",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2026-01-05T17:42:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9d0a4a35dde08194ed3c60650a46941c0e7e9550",
"body": "* add url validation for android referres\n\n* lint spell check\n\n* add url trimming\n\n* remove mutation",
"is_bot": false,
"headline": "[NOCSL] Adds extra url validation for android referrers (#420)",
"author_name": "ST P",
"author_login": "stanlp1",
"committed_at": "2026-01-05T17:42:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f123f364e6e8d6024b26494d0f3246f997990744",
"body": null,
"is_bot": false,
"headline": "Made trackBrowseRedirect public",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2025-12-30T12:55:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "271cdc9af4ccdd62cd779c870a0c573f944f4bc6",
"body": null,
"is_bot": false,
"headline": "update private function (#421)",
"author_name": "ST P",
"author_login": "stanlp1",
"committed_at": "2025-12-30T12:54:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e70b96d5dacdeaa28ab29502f03f11cbe560b38a",
"body": null,
"is_bot": false,
"headline": "Add canonical url validation",
"author_name": "mudaafi",
"author_login": "Mudaafi",
"committed_at": "2025-12-18T10:13:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "00170683f1a812325d9d79ca9dda1956d2bf95d7",
"body": "* add tests\n\n* add url validation\n\n* try catch\n\n* remove console log\n\n* more tests\n\n* minor test fix",
"is_bot": false,
"headline": "[NOCSL] Add url validation (#419)",
"author_name": "ST P",
"author_login": "stanlp1",
"committed_at": "2025-12-18T10:11:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dd8b22db18d6c729d45bd52874cde5d8a968505c",
"body": null,
"is_bot": false,
"headline": "Add support for document_referrer and canonical_url in tracking methods",
"author_name": "Steve Blaurock",
"author_login": "sblaurock",
"committed_at": "2025-12-11T18:13:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d5c13795f5fac4da17063b6c2fcafd54ca06995b",
"body": "…king methods. (#417)\n\n* add support for documentReferrer , canonical url\n\n* add test boilerplate\n\n* add test\n\n* lint\n\n* add tests",
"is_bot": false,
"headline": "[CDI-208] Add support for document_referrer and canonical_url in trac…",
"author_name": "ST P",
"author_login": "stanlp1",
"committed_at": "2025-12-11T18:05:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0eb2b7e46d2fedb58066d6008505bdb0951ef457",
"body": null,
"is_bot": false,
"headline": "Add CC workflow (#418)",
"author_name": "Aleksei Pavlov",
"author_login": "Alexey-Pavlov",
"committed_at": "2025-12-04T14:58:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e8549a77f97605cb93e23e26d78ba3c76b136d75",
"body": "Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 3.14.1 to 3.14.2.\n- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/nodeca/js-yaml/compare/3.14.1...3.14.2)\n\n---\nupdated-dependencies:\n- dependency-name: js-yaml\n dependency-version: 3.14.2\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "Bump js-yaml from 3.14.1 to 3.14.2 (#416)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2025-11-18T17:05:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a1407535cb80b6325e069d18a6ff420a87edc1c9",
"body": null,
"is_bot": false,
"headline": "Update fmtOptions types",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2025-11-17T15:56:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9306c6c4e33e5b4138fdf467d8d1e084e5ddd637",
"body": "* fix: additional params for fmtOptions\n\nSince those parameters are already passed properly there should be no need to change anything but the type definition for the fmt_options\n\n* Update src/types/index.d.ts\n\n---------\n\nCo-authored-by: Enes Kutay SEZEN <eneskutaysezen@gmail.com>",
"is_bot": false,
"headline": "fix: additional params for fmtOptions (#415)",
"author_name": "Jens Meichler",
"author_login": "jensmeichler",
"committed_at": "2025-11-17T15:55:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0d8e0e8607967bca62ceb588f1b0a6331254b0ab",
"body": null,
"is_bot": false,
"headline": "Add skipTracking functionality to getQuizNextQuestion",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2025-11-17T14:31:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fb31be3d12b137d6554106a1cff439e07c87dd92",
"body": "* [NO-REF] - introduce skip tracking param for quiz next question\n\n* Remove only for test\n\n* Update types and jsdoc",
"is_bot": false,
"headline": "[NO-REF] - introduce skip tracking param for quiz next question (#413)",
"author_name": "Vladislav Saitov",
"author_login": "vladconstructor",
"committed_at": "2025-11-17T14:30:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9e6e9df81dbcd2a8e85fe78ef0403ae50ad93b2e",
"body": null,
"is_bot": false,
"headline": "update docs (#414)",
"author_name": "Ahmad Mudaafi",
"author_login": "Mudaafi",
"committed_at": "2025-11-17T14:29:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d1e71826efddb09f76e6fb7f9490e8a3ad707bab",
"body": "* Improve typings for IdOptions\n\n* Update src/types/index.d.ts\n\n* Update src/types/index.d.ts\n\n---------\n\nCo-authored-by: Enes Kutay SEZEN <eneskutaysezen@gmail.com>",
"is_bot": false,
"headline": "Improve typings for IdOptions (#411)",
"author_name": "Jonas Berlin",
"author_login": "xkr47",
"committed_at": "2025-10-27T13:15:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ee917f0ebed2fc729fd5d3cd0dc41203849a95dc",
"body": null,
"is_bot": false,
"headline": "Add media impression tracking event",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2025-10-22T16:16:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ad061b6c8a89abb8f54e3340f853b9c473bbc1a4",
"body": "* [REM-1773] Add mediaServiceUrl to js module, add tracking event for media impression view and tests\n\n* [REM-1773] Remove subdomain from base mediaURL and add it on the behavior call. Remove snake case params handling\n\n* [REM-1773] Add types to tracker.d.ts and remove resultId as its not used",
"is_bot": false,
"headline": "[REM-1773] Add media impression tracking event (#406)",
"author_name": "Viktor Zavala",
"author_login": "ZSnake",
"committed_at": "2025-10-22T16:15:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5ec0ea717bf397d1920e4760f86c78bfba78b719",
"body": null,
"is_bot": false,
"headline": "Update Quizzes types and tests",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2025-10-15T12:34:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "00306d259f5d3de90ec24489026ba7fe290b094d",
"body": "* fix tests\n\n* fix tests\n\n* remove only\n\n* readd test\n\n* Update spec/src/modules/quizzes.js\n\n---------\n\nCo-authored-by: Enes Kutay SEZEN <eneskutaysezen@gmail.com>",
"is_bot": false,
"headline": "No ref/fix type issues (#409)",
"author_name": "Vishnu PS",
"author_login": "v-i-s-h-n-u-ps",
"committed_at": "2025-10-15T12:33:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9d53470c7f8ed513b0bee32e8b133f18fe8116c7",
"body": null,
"is_bot": false,
"headline": "Update types",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2025-10-15T12:14:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4bb4598c498ce71f29972534e784b11efff52bcc",
"body": "…vent (#408)",
"is_bot": false,
"headline": "fix: fixing the type definition for trackBrowseResultClick tracking e…",
"author_name": "Jens Meichler",
"author_login": "jensmeichler",
"committed_at": "2025-10-15T12:13:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "46a319408e29733749de1fc430b52d7e1871b99b",
"body": null,
"is_bot": false,
"headline": "Allow updating sendTrackingEvents in setClientOptions",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2025-10-13T14:25:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d395744e4e0ff21521d70389ac26fada496f0cb5",
"body": "* feat: make sendTrackingEvents updatable\n\nThis may be necessary in case a cookie consent changes and no tracking event should be dispatched anymore. This would allow it to keep the logic therefore in the client and not having to do this check before each call.\n\n* test: add tests for setting the sendTrackingEvents property\n\n* Update tests and adjust implementation\n\n* Add one more test\n\n* Update test\n\n---------\n\nCo-authored-by: Jens Meichler <j.meichler@rebuy.com>",
"is_bot": false,
"headline": "[CDX-280] Allow updating sendTrackingEvents in setClientOptions (#407)",
"author_name": "Enes Kutay SEZEN",
"author_login": "esezen",
"committed_at": "2025-10-13T14:25:11Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 100,
"commits_last_year": 120,
"latest_release_at": "2026-07-21T17:43:48Z",
"latest_release_tag": "v2.90.0",
"releases_from_tags": false,
"days_since_last_push": 0,
"active_weeks_last_year": 34,
"days_since_latest_release": 8,
"mean_days_between_releases": 4
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": false,
"health_percentage": 37,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": [
{
"name": "@constructor-io/constructorio-client-javascript",
"exists": true,
"license": "MIT",
"keywords": [],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/@constructor-io/constructorio-client-javascript",
"is_deprecated": false,
"latest_version": "2.90.0",
"repository_url": "https://github.com/Constructor-io/constructorio-client-javascript",
"versions_count": 264,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 8,
"monthly_downloads": 78387,
"first_published_at": "2019-09-20T19:57:48.705000Z",
"latest_published_at": "2026-07-21T17:45:50.948000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 8
}
]
},
"popularity": {
"forks": 15,
"stars": 22,
"watchers": 25,
"fork_history": {
"days": [
{
"date": "2020-12-16",
"count": 1
},
{
"date": "2021-09-27",
"count": 1
},
{
"date": "2023-05-17",
"count": 1
},
{
"date": "2023-07-20",
"count": 1
},
{
"date": "2023-11-03",
"count": 1
},
{
"date": "2025-01-29",
"count": 1
},
{
"date": "2025-06-04",
"count": 1
},
{
"date": "2025-07-17",
"count": 1
},
{
"date": "2025-08-27",
"count": 1
},
{
"date": "2025-10-09",
"count": 1
},
{
"date": "2025-10-17",
"count": 1
},
{
"date": "2026-01-27",
"count": 1
},
{
"date": "2026-02-11",
"count": 1
},
{
"date": "2026-05-06",
"count": 1
},
{
"date": "2026-07-09",
"count": 1
}
],
"complete": true,
"collected": 15,
"total_forks": 15
},
"star_history": null,
"open_issues_and_prs": 9
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [],
"has_llms_txt": false,
"has_dockerfile": false,
"has_mcp_signal": false,
"bootstrap_files": [],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [],
"largest_source_bytes": 610905,
"source_files_sampled": 69,
"oversized_source_files": 3,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"package.json"
],
"advisories": {
"error": null,
"scope": "published_package",
"source": "osv",
"findings": [],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {},
"advisory_count": 0,
"affected_count": 0,
"assessed_count": 2,
"malicious_count": 0,
"assessed_package": "npm:@constructor-io/constructorio-client-javascript@2.90.0",
"unassessed_count": 0,
"direct_affected_count": 0
},
"ecosystems": [
"npm"
],
"dependencies": [
{
"name": "@constructor-io/constructorio-id",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^2.6.0"
},
{
"name": "crc-32",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^1.2.2"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "@constructor-io/constructorio-id",
"direct": true,
"version": "2.7.0",
"ecosystem": "npm"
},
{
"name": "crc-32",
"direct": true,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "@acemir/cssom",
"direct": false,
"version": "0.9.31",
"ecosystem": "npm"
},
{
"name": "@ampproject/remapping",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "@asamuzakjp/css-color",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "@asamuzakjp/dom-selector",
"direct": false,
"version": "6.8.1",
"ecosystem": "npm"
},
{
"name": "@asamuzakjp/nwsapi",
"direct": false,
"version": "2.3.9",
"ecosystem": "npm"
},
{
"name": "@babel/cli",
"direct": false,
"version": "7.28.0",
"ecosystem": "npm"
},
{
"name": "@babel/code-frame",
"direct": false,
"version": "7.29.0",
"ecosystem": "npm"
},
{
"name": "@babel/compat-data",
"direct": false,
"version": "7.28.0",
"ecosystem": "npm"
},
{
"name": "@babel/core",
"direct": false,
"version": "7.28.0",
"ecosystem": "npm"
},
{
"name": "@babel/generator",
"direct": false,
"version": "7.29.1",
"ecosystem": "npm"
},
{
"name": "@babel/helper-annotate-as-pure",
"direct": false,
"version": "7.27.3",
"ecosystem": "npm"
},
{
"name": "@babel/helper-compilation-targets",
"direct": false,
"version": "7.27.2",
"ecosystem": "npm"
},
{
"name": "@babel/helper-create-class-features-plugin",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/helper-create-regexp-features-plugin",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/helper-define-polyfill-provider",
"direct": false,
"version": "0.6.5",
"ecosystem": "npm"
},
{
"name": "@babel/helper-globals",
"direct": false,
"version": "7.28.0",
"ecosystem": "npm"
},
{
"name": "@babel/helper-member-expression-to-functions",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/helper-module-imports",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/helper-module-transforms",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/helper-optimise-call-expression",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/helper-plugin-utils",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/helper-remap-async-to-generator",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/helper-replace-supers",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/helper-skip-transparent-expression-wrappers",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/helper-string-parser",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/helper-validator-identifier",
"direct": false,
"version": "7.28.5",
"ecosystem": "npm"
},
{
"name": "@babel/helper-validator-option",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/helper-wrap-function",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/helpers",
"direct": false,
"version": "7.28.2",
"ecosystem": "npm"
},
{
"name": "@babel/parser",
"direct": false,
"version": "7.29.3",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-bugfix-firefox-class-in-computed-class-key",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-bugfix-safari-class-field-initializer-scope",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-proposal-private-property-in-object",
"direct": false,
"version": "7.21.0-placeholder-for-preset-env.2",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-import-assertions",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-import-attributes",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-unicode-sets-regex",
"direct": false,
"version": "7.18.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-arrow-functions",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-async-generator-functions",
"direct": false,
"version": "7.28.0",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-async-to-generator",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-block-scoped-functions",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-block-scoping",
"direct": false,
"version": "7.28.0",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-class-properties",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-class-static-block",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-classes",
"direct": false,
"version": "7.28.0",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-computed-properties",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-destructuring",
"direct": false,
"version": "7.28.0",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-dotall-regex",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-duplicate-keys",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-duplicate-named-capturing-groups-regex",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-dynamic-import",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-explicit-resource-management",
"direct": false,
"version": "7.28.0",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-exponentiation-operator",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-export-namespace-from",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-for-of",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-function-name",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-json-strings",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-literals",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-logical-assignment-operators",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-member-expression-literals",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-modules-amd",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-modules-commonjs",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-modules-systemjs",
"direct": false,
"version": "7.29.4",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-modules-umd",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-named-capturing-groups-regex",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-new-target",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-nullish-coalescing-operator",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-numeric-separator",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-object-rest-spread",
"direct": false,
"version": "7.28.0",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-object-super",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-optional-catch-binding",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-optional-chaining",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-parameters",
"direct": false,
"version": "7.27.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-private-methods",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-private-property-in-object",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-property-literals",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-regenerator",
"direct": false,
"version": "7.28.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-regexp-modifiers",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-reserved-words",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-runtime",
"direct": false,
"version": "7.28.0",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-shorthand-properties",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-spread",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-sticky-regex",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-template-literals",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-typeof-symbol",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-unicode-escapes",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-unicode-property-regex",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-unicode-regex",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-unicode-sets-regex",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/preset-env",
"direct": false,
"version": "7.28.0",
"ecosystem": "npm"
},
{
"name": "@babel/preset-modules",
"direct": false,
"version": "0.1.6-no-external-plugins",
"ecosystem": "npm"
},
{
"name": "@babel/register",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/runtime",
"direct": false,
"version": "7.28.2",
"ecosystem": "npm"
},
{
"name": "@babel/template",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/traverse",
"direct": false,
"version": "7.29.0",
"ecosystem": "npm"
},
{
"name": "@babel/types",
"direct": false,
"version": "7.29.0",
"ecosystem": "npm"
},
{
"name": "@bramus/specificity",
"direct": false,
"version": "2.4.2",
"ecosystem": "npm"
},
{
"name": "@cspell/cspell-bundled-dicts",
"direct": false,
"version": "6.31.3",
"ecosystem": "npm"
},
{
"name": "@cspell/cspell-pipe",
"direct": false,
"version": "6.31.3",
"ecosystem": "npm"
},
{
"name": "@cspell/cspell-service-bus",
"direct": false,
"version": "6.31.3",
"ecosystem": "npm"
},
{
"name": "@cspell/cspell-types",
"direct": false,
"version": "6.31.3",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-ada",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-aws",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-bash",
"direct": false,
"version": "4.2.1",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-companies",
"direct": false,
"version": "3.2.3",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-cpp",
"direct": false,
"version": "5.1.23",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-cryptocurrencies",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-csharp",
"direct": false,
"version": "4.0.7",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-css",
"direct": false,
"version": "4.0.18",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-dart",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-data-science",
"direct": false,
"version": "2.0.9",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-django",
"direct": false,
"version": "4.1.5",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-docker",
"direct": false,
"version": "1.1.16",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-dotnet",
"direct": false,
"version": "5.0.10",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-elixir",
"direct": false,
"version": "4.0.8",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-en-common-misspellings",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-en-gb",
"direct": false,
"version": "1.1.33",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-en_us",
"direct": false,
"version": "4.4.16",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-filetypes",
"direct": false,
"version": "3.0.13",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-fonts",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-fullstack",
"direct": false,
"version": "3.2.7",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-gaming-terms",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-git",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-golang",
"direct": false,
"version": "6.0.23",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-haskell",
"direct": false,
"version": "4.0.6",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-html",
"direct": false,
"version": "4.0.12",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-html-symbol-entities",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-java",
"direct": false,
"version": "5.0.12",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-k8s",
"direct": false,
"version": "1.0.12",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-latex",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-lorem-ipsum",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-lua",
"direct": false,
"version": "4.0.8",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-node",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-npm",
"direct": false,
"version": "5.2.13",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-php",
"direct": false,
"version": "4.0.15",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-powershell",
"direct": false,
"version": "5.0.15",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-public-licenses",
"direct": false,
"version": "2.0.14",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-python",
"direct": false,
"version": "4.2.19",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-r",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-ruby",
"direct": false,
"version": "5.0.9",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-rust",
"direct": false,
"version": "4.0.12",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-scala",
"direct": false,
"version": "5.0.8",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-shell",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-software-terms",
"direct": false,
"version": "3.4.10",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-sql",
"direct": false,
"version": "2.2.1",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-svelte",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-swift",
"direct": false,
"version": "2.0.6",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-typescript",
"direct": false,
"version": "3.2.3",
"ecosystem": "npm"
},
{
"name": "@cspell/dict-vue",
"direct": false,
"version": "3.0.5",
"ecosystem": "npm"
},
{
"name": "@cspell/eslint-plugin",
"direct": false,
"version": "6.31.3",
"ecosystem": "npm"
},
{
"name": "@cspell/strong-weak-map",
"direct": false,
"version": "6.31.3",
"ecosystem": "npm"
},
{
"name": "@csstools/color-helpers",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "@csstools/css-calc",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "@csstools/css-color-parser",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "@csstools/css-parser-algorithms",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "@csstools/css-syntax-patches-for-csstree",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@csstools/css-tokenizer",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "@esbuild/aix-ppc64",
"direct": false,
"version": "0.25.8",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm",
"direct": false,
"version": "0.25.8",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm64",
"direct": false,
"version": "0.25.8",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-x64",
"direct": false,
"version": "0.25.8",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-arm64",
"direct": false,
"version": "0.25.8",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-x64",
"direct": false,
"version": "0.25.8",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-arm64",
"direct": false,
"version": "0.25.8",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-x64",
"direct": false,
"version": "0.25.8",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm",
"direct": false,
"version": "0.25.8",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm64",
"direct": false,
"version": "0.25.8",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ia32",
"direct": false,
"version": "0.25.8",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-loong64",
"direct": false,
"version": "0.25.8",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-mips64el",
"direct": false,
"version": "0.25.8",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ppc64",
"direct": false,
"version": "0.25.8",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-riscv64",
"direct": false,
"version": "0.25.8",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-s390x",
"direct": false,
"version": "0.25.8",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-x64",
"direct": false,
"version": "0.25.8",
"ecosystem": "npm"
},
{
"name": "@esbuild/netbsd-arm64",
"direct": false,
"version": "0.25.8",
"ecosystem": "npm"
},
{
"name": "@esbuild/netbsd-x64",
"direct": false,
"version": "0.25.8",
"ecosystem": "npm"
},
{
"name": "@esbuild/openbsd-arm64",
"direct": false,
"version": "0.25.8",
"ecosystem": "npm"
},
{
"name": "@esbuild/openbsd-x64",
"direct": false,
"version": "0.25.8",
"ecosystem": "npm"
},
{
"name": "@esbuild/openharmony-arm64",
"direct": false,
"version": "0.25.8",
"ecosystem": "npm"
},
{
"name": "@esbuild/sunos-x64",
"direct": false,
"version": "0.25.8",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-arm64",
"direct": false,
"version": "0.25.8",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-ia32",
"direct": false,
"version": "0.25.8",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-x64",
"direct": false,
"version": "0.25.8",
"ecosystem": "npm"
},
{
"name": "@eslint-community/eslint-utils",
"direct": false,
"version": "4.7.0",
"ecosystem": "npm"
},
{
"name": "@eslint-community/regexpp",
"direct": false,
"version": "4.12.1",
"ecosystem": "npm"
},
{
"name": "@eslint/eslintrc",
"direct": false,
"version": "2.1.4",
"ecosystem": "npm"
},
{
"name": "@eslint/js",
"direct": false,
"version": "8.57.1",
"ecosystem": "npm"
},
{
"name": "@exodus/bytes",
"direct": false,
"version": "1.15.0",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/config-array",
"direct": false,
"version": "0.13.0",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/module-importer",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/object-schema",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "@isaacs/cliui",
"direct": false,
"version": "8.0.2",
"ecosystem": "npm"
},
{
"name": "@istanbuljs/load-nyc-config",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@istanbuljs/schema",
"direct": false,
"version": "0.1.6",
"ecosystem": "npm"
},
{
"name": "@jridgewell/gen-mapping",
"direct": false,
"version": "0.3.12",
"ecosystem": "npm"
},
{
"name": "@jridgewell/resolve-uri",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "@jridgewell/sourcemap-codec",
"direct": false,
"version": "1.5.4",
"ecosystem": "npm"
},
{
"name": "@jridgewell/trace-mapping",
"direct": false,
"version": "0.3.29",
"ecosystem": "npm"
},
{
"name": "@jsdoc/salty",
"direct": false,
"version": "0.2.9",
"ecosystem": "npm"
},
{
"name": "@nicolo-ribaudo/chokidar-2",
"direct": false,
"version": "2.1.8-no-fsevents.3",
"ecosystem": "npm"
},
{
"name": "@nodelib/fs.scandir",
"direct": false,
"version": "2.1.5",
"ecosystem": "npm"
},
{
"name": "@nodelib/fs.stat",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "@nodelib/fs.walk",
"direct": false,
"version": "1.2.8",
"ecosystem": "npm"
},
{
"name": "@pkgjs/parseargs",
"direct": false,
"version": "0.11.0",
"ecosystem": "npm"
},
{
"name": "@pkgr/core",
"direct": false,
"version": "0.1.2",
"ecosystem": "npm"
},
{
"name": "@rtsao/scc",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@sinonjs/commons",
"direct": false,
"version": "1.8.6",
"ecosystem": "npm"
},
{
"name": "@sinonjs/formatio",
"direct": false,
"version": "3.2.2",
"ecosystem": "npm"
},
{
"name": "@sinonjs/samsam",
"direct": false,
"version": "3.3.3",
"ecosystem": "npm"
},
{
"name": "@sinonjs/text-encoding",
"direct": false,
"version": "0.7.3",
"ecosystem": "npm"
},
{
"name": "@tsd/typescript",
"direct": false,
"version": "4.8.4",
"ecosystem": "npm"
},
{
"name": "@types/eslint",
"direct": false,
"version": "7.29.0",
"ecosystem": "npm"
},
{
"name": "@types/estree",
"direct": false,
"version": "1.0.8",
"ecosystem": "npm"
},
{
"name": "@types/json-schema",
"direct": false,
"version": "7.0.15",
"ecosystem": "npm"
},
{
"name": "@types/json5",
"direct": false,
"version": "0.0.29",
"ecosystem": "npm"
},
{
"name": "@types/linkify-it",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "@types/markdown-it",
"direct": false,
"version": "14.1.2",
"ecosystem": "npm"
},
{
"name": "@types/mdurl",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "@types/minimist",
"direct": false,
"version": "1.2.5",
"ecosystem": "npm"
},
{
"name": "@types/normalize-package-data",
"direct": false,
"version": "2.4.4",
"ecosystem": "npm"
},
{
"name": "@types/semver",
"direct": false,
"version": "7.7.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/eslint-plugin",
"direct": false,
"version": "5.62.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/parser",
"direct": false,
"version": "5.62.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/scope-manager",
"direct": false,
"version": "5.62.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/type-utils",
"direct": false,
"version": "5.62.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/types",
"direct": false,
"version": "5.62.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/typescript-estree",
"direct": false,
"version": "5.62.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/utils",
"direct": false,
"version": "5.62.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/visitor-keys",
"direct": false,
"version": "5.62.0",
"ecosystem": "npm"
},
{
"name": "@ungap/structured-clone",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "abbrev",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "acorn",
"direct": false,
"version": "8.15.0",
"ecosystem": "npm"
},
{
"name": "acorn-jsx",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "agent-base",
"direct": false,
"version": "7.1.4",
"ecosystem": "npm"
},
{
"name": "aggregate-error",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "ajv",
"direct": false,
"version": "6.14.0",
"ecosystem": "npm"
},
{
"name": "ansi-escapes",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "ansi-regex",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "ansi-regex",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "3.2.1",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "6.2.1",
"ecosystem": "npm"
},
{
"name": "anymatch",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "append-transform",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "archy",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "argparse",
"direct": false,
"version": "1.0.10",
"ecosystem": "npm"
},
{
"name": "argparse",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "array-buffer-byte-length",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "array-find-index",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "array-from",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "array-includes",
"direct": false,
"version": "3.1.9",
"ecosystem": "npm"
},
{
"name": "array-timsort",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "array-union",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "array.prototype.findlastindex",
"direct": false,
"version": "1.2.6",
"ecosystem": "npm"
},
{
"name": "array.prototype.flat",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "array.prototype.flatmap",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "arraybuffer.prototype.slice",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "arrify",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "asap",
"direct": false,
"version": "2.0.6",
"ecosystem": "npm"
},
{
"name": "assertion-error",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "async-function",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "available-typed-arrays",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "babel-plugin-polyfill-corejs2",
"direct": false,
"version": "0.4.14",
"ecosystem": "npm"
},
{
"name": "babel-plugin-polyfill-corejs3",
"direct": false,
"version": "0.13.0",
"ecosystem": "npm"
},
{
"name": "babel-plugin-polyfill-regenerator",
"direct": false,
"version": "0.6.5",
"ecosystem": "npm"
},
{
"name": "balanced-match",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "balanced-match",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "bidi-js",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "binary-extensions",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "bluebird",
"direct": false,
"version": "3.7.2",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "1.1.12",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "5.0.6",
"ecosystem": "npm"
},
{
"name": "braces",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "browser-stdout",
"direct": false,
"version": "1.3.1",
"ecosystem": "npm"
},
{
"name": "browserslist",
"direct": false,
"version": "4.25.1",
"ecosystem": "npm"
},
{
"name": "buffer-from",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "caching-transform",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "call-bind",
"direct": false,
"version": "1.0.8",
"ecosystem": "npm"
},
{
"name": "call-bind-apply-helpers",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "call-bound",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "callsites",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "camelcase",
"direct": false,
"version": "5.3.1",
"ecosystem": "npm"
},
{
"name": "camelcase",
"direct": false,
"version": "6.3.0",
"ecosystem": "npm"
},
{
"name": "camelcase-keys",
"direct": false,
"version": "6.2.2",
"ecosystem": "npm"
},
{
"name": "caniuse-lite",
"direct": false,
"version": "1.0.30001731",
"ecosystem": "npm"
},
{
"name": "catharsis",
"direct": false,
"version": "0.9.0",
"ecosystem": "npm"
},
{
"name": "chai",
"direct": false,
"version": "4.5.0",
"ecosystem": "npm"
},
{
"name": "chai-as-promised",
"direct": false,
"version": "7.1.2",
"ecosystem": "npm"
},
{
"name": "chalk",
"direct": false,
"version": "2.4.2",
"ecosystem": "npm"
},
{
"name": "chalk",
"direct": false,
"version": "4.1.2",
"ecosystem": "npm"
},
{
"name": "check-error",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "chokidar",
"direct": false,
"version": "3.6.0",
"ecosystem": "npm"
},
{
"name": "chokidar",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "clean-stack",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "clear-module",
"direct": false,
"version": "4.1.2",
"ecosystem": "npm"
},
{
"name": "cliui",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "cliui",
"direct": false,
"version": "8.0.1",
"ecosystem": "npm"
},
{
"name": "clone-deep",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "color-convert",
"direct": false,
"version": "1.9.3",
"ecosystem": "npm"
},
{
"name": "color-convert",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "color-name",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "color-name",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": false,
"version": "6.2.1",
"ecosystem": "npm"
},
{
"name": "comment-json",
"direct": false,
"version": "4.2.5",
"ecosystem": "npm"
},
{
"name": "commondir",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "concat-map",
"direct": false,
"version": "0.0.1",
"ecosystem": "npm"
},
{
"name": "configstore",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "confusing-browser-globals",
"direct": false,
"version": "1.0.11",
"ecosystem": "npm"
},
{
"name": "convert-source-map",
"direct": false,
"version": "1.9.0",
"ecosystem": "npm"
},
{
"name": "convert-source-map",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "core-js-compat",
"direct": false,
"version": "3.44.0",
"ecosystem": "npm"
},
{
"name": "core-util-is",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "cosmiconfig",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "cross-spawn",
"direct": false,
"version": "7.0.6",
"ecosystem": "npm"
},
{
"name": "crypto-random-string",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "cspell-dictionary",
"direct": false,
"version": "6.31.3",
"ecosystem": "npm"
},
{
"name": "cspell-glob",
"direct": false,
"version": "6.31.3",
"ecosystem": "npm"
},
{
"name": "cspell-grammar",
"direct": false,
"version": "6.31.3",
"ecosystem": "npm"
},
{
"name": "cspell-io",
"direct": false,
"version": "6.31.3",
"ecosystem": "npm"
},
{
"name": "cspell-lib",
"direct": false,
"version": "6.31.3",
"ecosystem": "npm"
},
{
"name": "cspell-trie-lib",
"direct": false,
"version": "6.31.3",
"ecosystem": "npm"
},
{
"name": "css-tree",
"direct": false,
"version": "3.2.1",
"ecosystem": "npm"
},
{
"name": "cssstyle",
"direct": false,
"version": "6.2.0",
"ecosystem": "npm"
},
{
"name": "data-urls",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "data-view-buffer",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "data-view-byte-length",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "data-view-byte-offset",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "debug",
"direct": false,
"version": "3.2.7",
"ecosystem": "npm"
},
{
"name": "debug",
"direct": false,
"version": "4.4.1",
"ecosystem": "npm"
},
{
"name": "debuglog",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "decamelize",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "decamelize",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "decamelize-keys",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "decimal.js",
"direct": false,
"version": "10.6.0",
"ecosystem": "npm"
},
{
"name": "deep-eql",
"direct": false,
"version": "4.1.4",
"ecosystem": "npm"
},
{
"name": "deep-is",
"direct": false,
"version": "0.1.4",
"ecosystem": "npm"
},
{
"name": "default-require-extensions",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "define-data-property",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "define-properties",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "dezalgo",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "diff",
"direct": false,
"version": "3.5.1",
"ecosystem": "npm"
},
{
"name": "diff",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "dir-glob",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "docdash",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "doctrine",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "doctrine",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "dot-prop",
"direct": false,
"version": "5.3.0",
"ecosystem": "npm"
},
{
"name": "dotenv",
"direct": false,
"version": "8.6.0",
"ecosystem": "npm"
},
{
"name": "dunder-proto",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "eastasianwidth",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "electron-to-chromium",
"direct": false,
"version": "1.5.194",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "9.2.2",
"ecosystem": "npm"
},
{
"name": "entities",
"direct": false,
"version": "4.5.0",
"ecosystem": "npm"
},
{
"name": "entities",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "error-ex",
"direct": false,
"version": "1.3.2",
"ecosystem": "npm"
},
{
"name": "es-abstract",
"direct": false,
"version": "1.24.0",
"ecosystem": "npm"
},
{
"name": "es-define-property",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "es-errors",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "es-object-atoms",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "es-set-tostringtag",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "es-shim-unscopables",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "es-to-primitive",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "es6-error",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "esbuild",
"direct": false,
"version": "0.25.8",
"ecosystem": "npm"
},
{
"name": "escalade",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "escape-string-regexp",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "escape-string-regexp",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "escape-string-regexp",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "eslint",
"direct": false,
"version": "8.57.1",
"ecosystem": "npm"
},
{
"name": "eslint-config-airbnb-base",
"direct": false,
"version": "15.0.0",
"ecosystem": "npm"
},
{
"name": "eslint-formatter-pretty",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "eslint-import-resolver-node",
"direct": false,
"version": "0.3.9",
"ecosystem": "npm"
},
{
"name": "eslint-module-utils",
"direct": false,
"version": "2.12.1",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-import",
"direct": false,
"version": "2.32.0",
"ecosystem": "npm"
},
{
"name": "eslint-rule-docs",
"direct": false,
"version": "1.1.235",
"ecosystem": "npm"
},
{
"name": "eslint-scope",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "eslint-scope",
"direct": false,
"version": "7.2.2",
"ecosystem": "npm"
},
{
"name": "eslint-visitor-keys",
"direct": false,
"version": "3.4.3",
"ecosystem": "npm"
},
{
"name": "espree",
"direct": false,
"version": "9.6.1",
"ecosystem": "npm"
},
{
"name": "esprima",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "esquery",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "esrecurse",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "estraverse",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "estraverse",
"direct": false,
"version": "5.3.0",
"ecosystem": "npm"
},
{
"name": "estree-walker",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "esutils",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "eventsource",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "fast-deep-equal",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "fast-equals",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "fast-glob",
"direct": false,
"version": "3.3.3",
"ecosystem": "npm"
},
{
"name": "fast-json-stable-stringify",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "fast-levenshtein",
"direct": false,
"version": "2.0.6",
"ecosystem": "npm"
},
{
"name": "fastq",
"direct": false,
"version": "1.19.1",
"ecosystem": "npm"
},
{
"name": "file-entry-cache",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "fill-range",
"direct": false,
"version": "7.1.1",
"ecosystem": "npm"
},
{
"name": "find-cache-dir",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "find-cache-dir",
"direct": false,
"version": "3.3.2",
"ecosystem": "npm"
},
{
"name": "find-up",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "find-up",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "find-up",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "flat",
"direct": false,
"version": "5.0.2",
"ecosystem": "npm"
},
{
"name": "flat-cache",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "flatted",
"direct": false,
"version": "3.4.2",
"ecosystem": "npm"
},
{
"name": "for-each",
"direct": false,
"version": "0.3.5",
"ecosystem": "npm"
},
{
"name": "foreground-child",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "foreground-child",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "fromentries",
"direct": false,
"version": "1.3.2",
"ecosystem": "npm"
},
{
"name": "fs-readdir-recursive",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "fs.realpath",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "fsevents",
"direct": false,
"version": "2.3.3",
"ecosystem": "npm"
},
{
"name": "function-bind",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "function.prototype.name",
"direct": false,
"version": "1.1.8",
"ecosystem": "npm"
},
{
"name": "functions-have-names",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "gensequence",
"direct": false,
"version": "5.0.2",
"ecosystem": "npm"
},
{
"name": "gensync",
"direct": false,
"version": "1.0.0-beta.2",
"ecosystem": "npm"
},
{
"name": "get-caller-file",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "get-func-name",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "get-intrinsic",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "get-package-type",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "get-proto",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "get-symbol-description",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "10.5.0",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "13.0.6",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "7.2.3",
"ecosystem": "npm"
},
{
"name": "glob-parent",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "glob-parent",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "global-dirs",
"direct": false,
"version": "0.1.1",
"ecosystem": "npm"
},
{
"name": "globals",
"direct": false,
"version": "13.24.0",
"ecosystem": "npm"
},
{
"name": "globalthis",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "globby",
"direct": false,
"version": "11.1.0",
"ecosystem": "npm"
},
{
"name": "gopd",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "graceful-fs",
"direct": false,
"version": "4.2.11",
"ecosystem": "npm"
},
{
"name": "graphemer",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "hard-rejection",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "has-bigints",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "has-flag",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "has-flag",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "has-own-prop",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "has-property-descriptors",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "has-proto",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "has-symbols",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "has-tostringtag",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "hasha",
"direct": false,
"version": "5.2.2",
"ecosystem": "npm"
},
{
"name": "hasown",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "he",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "hosted-git-info",
"direct": false,
"version": "2.8.9",
"ecosystem": "npm"
},
{
"name": "hosted-git-info",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "html-encoding-sniffer",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "html-escaper",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "http-proxy-agent",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "https-proxy-agent",
"direct": false,
"version": "7.0.6",
"ecosystem": "npm"
},
{
"name": "husky",
"direct": false,
"version": "7.0.4",
"ecosystem": "npm"
},
{
"name": "ignore",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "import-fresh",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "imurmurhash",
"direct": false,
"version": "0.1.4",
"ecosystem": "npm"
},
{
"name": "indent-string",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "inflight",
"direct": false,
"version": "1.0.6",
"ecosystem": "npm"
},
{
"name": "inherits",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "ini",
"direct": false,
"version": "1.3.8",
"ecosystem": "npm"
},
{
"name": "internal-slot",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "irregular-plurals",
"direct": false,
"version": "3.5.0",
"ecosystem": "npm"
},
{
"name": "is-array-buffer",
"direct": false,
"version": "3.0.5",
"ecosystem": "npm"
},
{
"name": "is-arrayish",
"direct": false,
"version": "0.2.1",
"ecosystem": "npm"
},
{
"name": "is-async-function",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "is-bigint",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "is-binary-path",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "is-boolean-object",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "is-callable",
"direct": false,
"version": "1.2.7",
"ecosystem": "npm"
},
{
"name": "is-core-module",
"direct": false,
"version": "2.16.1",
"ecosystem": "npm"
},
{
"name": "is-data-view",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "is-date-object",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "is-extglob",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "is-finalizationregistry",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "is-fullwidth-code-point",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "is-generator-function",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "is-glob",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "is-map",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "is-negative-zero",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "is-number",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "is-number-object",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "is-obj",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "is-path-inside",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "is-plain-obj",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "is-plain-obj",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "is-plain-object",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "is-potential-custom-element-name",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "is-regex",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "is-set",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "is-shared-array-buffer",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "is-stream",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "is-string",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "is-symbol",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "is-typed-array",
"direct": false,
"version": "1.1.15",
"ecosystem": "npm"
},
{
"name": "is-typedarray",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "is-unicode-supported",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "is-weakmap",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "is-weakref",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "is-weakset",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "is-windows",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "isarray",
"direct": false,
"version": "0.0.1",
"ecosystem": "npm"
},
{
"name": "isarray",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "isexe",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "isobject",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-coverage",
"direct": false,
"version": "3.2.2",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-hook",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-instrument",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-processinfo",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-report",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-source-maps",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "istanbul-reports",
"direct": false,
"version": "3.1.7",
"ecosystem": "npm"
},
{
"name": "jackspeak",
"direct": false,
"version": "3.4.3",
"ecosystem": "npm"
},
{
"name": "js-tokens",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "js-yaml",
"direct": false,
"version": "3.14.2",
"ecosystem": "npm"
},
{
"name": "js-yaml",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "js2xmlparser",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "jsdoc",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "jsdom",
"direct": false,
"version": "28.1.0",
"ecosystem": "npm"
},
{
"name": "jsesc",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "jsesc",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "json-buffer",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "json-parse-even-better-errors",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "json-schema-traverse",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "json-stable-stringify-without-jsonify",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "json5",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "json5",
"direct": false,
"version": "2.2.3",
"ecosystem": "npm"
},
{
"name": "just-extend",
"direct": false,
"version": "4.2.1",
"ecosystem": "npm"
},
{
"name": "keyv",
"direct": false,
"version": "4.5.4",
"ecosystem": "npm"
},
{
"name": "kind-of",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "klaw",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "levn",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "license-checker",
"direct": false,
"version": "25.0.1",
"ecosystem": "npm"
},
{
"name": "lines-and-columns",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "linkify-it",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "locate-path",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "locate-path",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "locate-path",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "lodash",
"direct": false,
"version": "4.18.1",
"ecosystem": "npm"
},
{
"name": "lodash.clonedeep",
"direct": false,
"version": "4.5.0",
"ecosystem": "npm"
},
{
"name": "lodash.debounce",
"direct": false,
"version": "4.0.8",
"ecosystem": "npm"
},
{
"name": "lodash.flattendeep",
"direct": false,
"version": "4.4.0",
"ecosystem": "npm"
},
{
"name": "lodash.merge",
"direct": false,
"version": "4.6.2",
"ecosystem": "npm"
},
{
"name": "log-symbols",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "lolex",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "lolex",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "loupe",
"direct": false,
"version": "2.3.7",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "10.4.3",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "11.2.6",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "11.5.1",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "make-dir",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "make-dir",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "make-dir",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "map-obj",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "map-obj",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "markdown-it",
"direct": false,
"version": "14.1.1",
"ecosystem": "npm"
},
{
"name": "markdown-it-anchor",
"direct": false,
"version": "8.6.7",
"ecosystem": "npm"
},
{
"name": "marked",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "math-intrinsics",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "mdn-data",
"direct": false,
"version": "2.27.1",
"ecosystem": "npm"
},
{
"name": "mdurl",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "meow",
"direct": false,
"version": "9.0.0",
"ecosystem": "npm"
},
{
"name": "merge2",
"direct": false,
"version": "1.4.1",
"ecosystem": "npm"
},
{
"name": "micromatch",
"direct": false,
"version": "4.0.8",
"ecosystem": "npm"
},
{
"name": "min-indent",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "10.2.5",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "3.1.5",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "9.0.9",
"ecosystem": "npm"
},
{
"name": "minimist",
"direct": false,
"version": "1.2.8",
"ecosystem": "npm"
},
{
"name": "minimist-options",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "minipass",
"direct": false,
"version": "7.1.3",
"ecosystem": "npm"
},
{
"name": "mkdirp",
"direct": false,
"version": "0.5.6",
"ecosystem": "npm"
},
{
"name": "mkdirp",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "mocha",
"direct": false,
"version": "11.7.5",
"ecosystem": "npm"
},
{
"name": "ms",
"direct": false,
"version": "2.1.3",
"ecosystem": "npm"
},
{
"name": "natural-compare",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "natural-compare-lite",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "nise",
"direct": false,
"version": "1.5.3",
"ecosystem": "npm"
},
{
"name": "node-fetch",
"direct": false,
"version": "2.7.0",
"ecosystem": "npm"
},
{
"name": "node-preload",
"direct": false,
"version": "0.2.1",
"ecosystem": "npm"
},
{
"name": "node-releases",
"direct": false,
"version": "2.0.19",
"ecosystem": "npm"
},
{
"name": "nopt",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "normalize-package-data",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "normalize-package-data",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "normalize-path",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "npm-normalize-package-bin",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "nyc",
"direct": false,
"version": "18.0.0",
"ecosystem": "npm"
},
{
"name": "object-inspect",
"direct": false,
"version": "1.13.4",
"ecosystem": "npm"
},
{
"name": "object-keys",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "object.assign",
"direct": false,
"version": "4.1.7",
"ecosystem": "npm"
},
{
"name": "object.entries",
"direct": false,
"version": "1.1.9",
"ecosystem": "npm"
},
{
"name": "object.fromentries",
"direct": false,
"version": "2.0.8",
"ecosystem": "npm"
},
{
"name": "object.groupby",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "object.values",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "once",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "optionator",
"direct": false,
"version": "0.9.4",
"ecosystem": "npm"
},
{
"name": "os-homedir",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "os-tmpdir",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "osenv",
"direct": false,
"version": "0.1.5",
"ecosystem": "npm"
},
{
"name": "own-keys",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "p-limit",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "p-limit",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "p-locate",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "p-locate",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "p-locate",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "p-map",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "p-try",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "package-hash",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "package-json-from-dist",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "parent-module",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "parent-module",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "parse-json",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "parse5",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "path-exists",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "path-exists",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "path-is-absolute",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "path-key",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "path-parse",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "path-scurry",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "path-scurry",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "path-to-regexp",
"direct": false,
"version": "1.9.0",
"ecosystem": "npm"
},
{
"name": "path-type",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "pathval",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "picocolors",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "picomatch",
"direct": false,
"version": "2.3.2",
"ecosystem": "npm"
},
{
"name": "pify",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "pirates",
"direct": false,
"version": "4.0.7",
"ecosystem": "npm"
},
{
"name": "pkg-dir",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "pkg-dir",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "plur",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "possible-typed-array-names",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "prelude-ls",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "process-on-spawn",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "punycode",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "punycode.js",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "qs",
"direct": false,
"version": "6.15.2",
"ecosystem": "npm"
},
{
"name": "queue-microtask",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "quick-lru",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "randombytes",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "read-installed",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "read-package-json",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "read-pkg",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "read-pkg-up",
"direct": false,
"version": "7.0.1",
"ecosystem": "npm"
},
{
"name": "readdir-scoped-modules",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "readdirp",
"direct": false,
"version": "3.6.0",
"ecosystem": "npm"
},
{
"name": "readdirp",
"direct": false,
"version": "4.1.2",
"ecosystem": "npm"
},
{
"name": "redent",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "reflect.getprototypeof",
"direct": false,
"version": "1.0.10",
"ecosystem": "npm"
},
{
"name": "regenerate",
"direct": false,
"version": "1.4.2",
"ecosystem": "npm"
},
{
"name": "regenerate-unicode-properties",
"direct": false,
"version": "10.2.0",
"ecosystem": "npm"
},
{
"name": "regexp.prototype.flags",
"direct": false,
"version": "1.5.4",
"ecosystem": "npm"
},
{
"name": "regexpu-core",
"direct": false,
"version": "6.2.0",
"ecosystem": "npm"
},
{
"name": "regjsgen",
"direct": false,
"version": "0.8.0",
"ecosystem": "npm"
},
{
"name": "regjsparser",
"direct": false,
"version": "0.12.0",
"ecosystem": "npm"
},
{
"name": "release-zalgo",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "repeat-string",
"direct": false,
"version": "1.6.1",
"ecosystem": "npm"
},
{
"name": "require-directory",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "require-from-string",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "require-main-filename",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "requizzle",
"direct": false,
"version": "0.2.4",
"ecosystem": "npm"
},
{
"name": "resolve",
"direct": false,
"version": "1.22.10",
"ecosystem": "npm"
},
{
"name": "resolve-from",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "resolve-from",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "resolve-global",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "reusify",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "rimraf",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "rimraf",
"direct": false,
"version": "6.1.3",
"ecosystem": "npm"
},
{
"name": "run-parallel",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "safe-array-concat",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "safe-buffer",
"direct": false,
"version": "5.2.1",
"ecosystem": "npm"
},
{
"name": "safe-push-apply",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "safe-regex-test",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "saxes",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "5.7.2",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "6.3.1",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "7.7.2",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "7.8.3",
"ecosystem": "npm"
},
{
"name": "serialize-javascript",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "set-blocking",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "set-function-length",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "set-function-name",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "set-proto",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "shallow-clone",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "shebang-command",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "shebang-regex",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "side-channel",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "side-channel-list",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "side-channel-map",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "side-channel-weakmap",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "signal-exit",
"direct": false,
"version": "3.0.7",
"ecosystem": "npm"
},
{
"name": "signal-exit",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "sinon",
"direct": false,
"version": "7.5.0",
"ecosystem": "npm"
},
{
"name": "sinon-chai",
"direct": false,
"version": "3.7.0",
"ecosystem": "npm"
},
{
"name": "slash",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "slash",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "slide",
"direct": false,
"version": "1.1.6",
"ecosystem": "npm"
},
{
"name": "source-map",
"direct": false,
"version": "0.6.1",
"ecosystem": "npm"
},
{
"name": "source-map-js",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "source-map-support",
"direct": false,
"version": "0.5.21",
"ecosystem": "npm"
},
{
"name": "spawn-wrap",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "spdx-compare",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "spdx-correct",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "spdx-exceptions",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "spdx-expression-parse",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "spdx-license-ids",
"direct": false,
"version": "3.0.21",
"ecosystem": "npm"
},
{
"name": "spdx-ranges",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "spdx-satisfies",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "sprintf-js",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "stop-iteration-iterator",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "string-width",
"direct": false,
"version": "4.2.3",
"ecosystem": "npm"
},
{
"name": "string-width",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "string.prototype.trim",
"direct": false,
"version": "1.2.10",
"ecosystem": "npm"
},
{
"name": "string.prototype.trimend",
"direct": false,
"version": "1.0.9",
"ecosystem": "npm"
},
{
"name": "string.prototype.trimstart",
"direct": false,
"version": "1.0.8",
"ecosystem": "npm"
},
{
"name": "strip-ansi",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "strip-ansi",
"direct": false,
"version": "7.1.0",
"ecosystem": "npm"
},
{
"name": "strip-bom",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "strip-bom",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "strip-indent",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "strip-json-comments",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "supports-color",
"direct": false,
"version": "5.5.0",
"ecosystem": "npm"
},
{
"name": "supports-color",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "supports-color",
"direct": false,
"version": "8.1.1",
"ecosystem": "npm"
},
{
"name": "supports-hyperlinks",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "supports-preserve-symlinks-flag",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "symbol-tree",
"direct": false,
"version": "3.2.4",
"ecosystem": "npm"
},
{
"name": "synckit",
"direct": false,
"version": "0.8.8",
"ecosystem": "npm"
},
{
"name": "test-exclude",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "text-table",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "tldts",
"direct": false,
"version": "7.0.25",
"ecosystem": "npm"
},
{
"name": "tldts-core",
"direct": false,
"version": "7.0.25",
"ecosystem": "npm"
},
{
"name": "to-regex-range",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "tough-cookie",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "tr46",
"direct": false,
"version": "0.0.3",
"ecosystem": "npm"
},
{
"name": "tr46",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "treeify",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "trim-newlines",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "tsconfig-paths",
"direct": false,
"version": "3.15.0",
"ecosystem": "npm"
},
{
"name": "tsd",
"direct": false,
"version": "0.24.1",
"ecosystem": "npm"
},
{
"name": "tslib",
"direct": false,
"version": "1.14.1",
"ecosystem": "npm"
},
{
"name": "tslib",
"direct": false,
"version": "2.8.1",
"ecosystem": "npm"
},
{
"name": "tsutils",
"direct": false,
"version": "3.21.0",
"ecosystem": "npm"
},
{
"name": "type-check",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "type-detect",
"direct": false,
"version": "4.0.8",
"ecosystem": "npm"
},
{
"name": "type-detect",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "0.18.1",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "0.20.2",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "0.21.3",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "0.6.0",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "0.8.1",
"ecosystem": "npm"
},
{
"name": "typed-array-buffer",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "typed-array-byte-length",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "typed-array-byte-offset",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "typed-array-length",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "typedarray-to-buffer",
"direct": false,
"version": "3.1.5",
"ecosystem": "npm"
},
{
"name": "typescript",
"direct": false,
"version": "5.9.2",
"ecosystem": "npm"
},
{
"name": "uc.micro",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "unbox-primitive",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "underscore",
"direct": false,
"version": "1.13.8",
"ecosystem": "npm"
},
{
"name": "undici",
"direct": false,
"version": "7.24.4",
"ecosystem": "npm"
},
{
"name": "unicode-canonical-property-names-ecmascript",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "unicode-match-property-ecmascript",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "unicode-match-property-value-ecmascript",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "unicode-property-aliases-ecmascript",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "unique-string",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "update-browserslist-db",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "uri-js",
"direct": false,
"version": "4.4.1",
"ecosystem": "npm"
},
{
"name": "util-extend",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "validate-npm-package-license",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "vscode-languageserver-textdocument",
"direct": false,
"version": "1.0.12",
"ecosystem": "npm"
},
{
"name": "vscode-uri",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "w3c-xmlserializer",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "web-streams-polyfill",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "webidl-conversions",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "webidl-conversions",
"direct": false,
"version": "8.0.1",
"ecosystem": "npm"
},
{
"name": "whatwg-mimetype",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "whatwg-url",
"direct": false,
"version": "16.0.1",
"ecosystem": "npm"
},
{
"name": "whatwg-url",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "which",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "which-boxed-primitive",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "which-builtin-type",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "which-collection",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "which-module",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "which-typed-array",
"direct": false,
"version": "1.1.19",
"ecosystem": "npm"
},
{
"name": "word-wrap",
"direct": false,
"version": "1.2.5",
"ecosystem": "npm"
},
{
"name": "workerpool",
"direct": false,
"version": "9.3.3",
"ecosystem": "npm"
},
{
"name": "wrap-ansi",
"direct": false,
"version": "6.2.0",
"ecosystem": "npm"
},
{
"name": "wrap-ansi",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "wrap-ansi",
"direct": false,
"version": "8.1.0",
"ecosystem": "npm"
},
{
"name": "wrappy",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "write-file-atomic",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "xdg-basedir",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "xml-name-validator",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "xmlchars",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "xmlcreate",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "y18n",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "y18n",
"direct": false,
"version": "5.0.8",
"ecosystem": "npm"
},
{
"name": "yallist",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "yallist",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "yargs",
"direct": false,
"version": "15.4.1",
"ecosystem": "npm"
},
{
"name": "yargs",
"direct": false,
"version": "17.7.2",
"ecosystem": "npm"
},
{
"name": "yargs-parser",
"direct": false,
"version": "18.1.3",
"ecosystem": "npm"
},
{
"name": "yargs-parser",
"direct": false,
"version": "20.2.9",
"ecosystem": "npm"
},
{
"name": "yargs-parser",
"direct": false,
"version": "21.1.1",
"ecosystem": "npm"
},
{
"name": "yargs-unparser",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "yocto-queue",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
}
],
"collected": true,
"truncated": false,
"total_count": 812,
"direct_count": 2,
"indirect_count": 810
}
},
"maintainership": {
"issues": {
"open_prs": 9,
"merged_prs": 421,
"open_issues": 0,
"closed_ratio": 1,
"closed_issues": 7,
"closed_unmerged_prs": 43
},
"bus_factor": 2,
"bot_contributors": 1,
"top_contributors": [
{
"type": "User",
"login": "sblaurock",
"commits": 257,
"avatar_url": "https://avatars.githubusercontent.com/u/4909263?v=4"
},
{
"type": "User",
"login": "esezen",
"commits": 228,
"avatar_url": "https://avatars.githubusercontent.com/u/2954126?v=4"
},
{
"type": "User",
"login": "jjl014",
"commits": 69,
"avatar_url": "https://avatars.githubusercontent.com/u/7194266?v=4"
},
{
"type": "User",
"login": "stanlp1",
"commits": 34,
"avatar_url": "https://avatars.githubusercontent.com/u/57369888?v=4"
},
{
"type": "User",
"login": "mocca102",
"commits": 26,
"avatar_url": "https://avatars.githubusercontent.com/u/58053149?v=4"
},
{
"type": "User",
"login": "Mudaafi",
"commits": 11,
"avatar_url": "https://avatars.githubusercontent.com/u/42373265?v=4"
},
{
"type": "User",
"login": "crgee1",
"commits": 10,
"avatar_url": "https://avatars.githubusercontent.com/u/45833304?v=4"
},
{
"type": "User",
"login": "rubikzube",
"commits": 9,
"avatar_url": "https://avatars.githubusercontent.com/u/524424?v=4"
},
{
"type": "User",
"login": "vladconstructor",
"commits": 7,
"avatar_url": "https://avatars.githubusercontent.com/u/96235348?v=4"
},
{
"type": "User",
"login": "HHHindawy",
"commits": 7,
"avatar_url": "https://avatars.githubusercontent.com/u/17954212?v=4"
}
],
"contributors_sampled": 36,
"top_contributor_share": 0.358
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"claude-review.yml",
"claude.yml",
"codeql-analysis.yml",
"dependabot-alerts-to-slack.yml",
"publish-cdn.yml",
"publish.yml",
"run-diffend.yml",
"run-license-check.yml",
"run-lint.yml",
"run-tests-bundled-esm.yml",
"run-tests-bundled.yml",
"run-tests.yml",
"spell-check.yml"
],
"has_docs_dir": true,
"linter_configs": [
".eslintrc"
],
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"package-lock.json"
],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 10,
"reason": "no binaries found in the repo",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": 6,
"reason": "branch protection is not maximal on development and all release branches",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 10,
"reason": "17 out of 17 merged PRs checked by a CI test -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 5,
"reason": "Found 16/29 approved changesets -- score normalized to 5",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 4 contributing companies or organizations",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 10,
"reason": "no dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 10,
"reason": "update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 10,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 10,
"reason": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": null,
"reason": "packaging workflow not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 1,
"reason": "dependency not pinned by hash detected -- score normalized to 1",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 10,
"reason": "SAST tool is run on all commits",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 0,
"reason": "security policy file not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": null,
"reason": "no releases found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 0,
"reason": "detected GitHub workflow tokens with excessive permissions",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 0,
"reason": "19 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "838b672bd84411a5cc6b727b6ea42e62fb90979c",
"ran_at": "2026-07-30T10:30:13Z",
"aggregate_score": 5.8,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": true,
"has_security_policy": false,
"has_dependabot_config": true
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-30T06:25:01Z",
"oldest_open_prs": [
{
"number": 465,
"created_at": "2026-06-14T02:19:59Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 468,
"created_at": "2026-06-17T19:57:37Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 470,
"created_at": "2026-06-19T07:35:07Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 471,
"created_at": "2026-06-19T07:35:20Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 472,
"created_at": "2026-06-22T10:28:09Z",
"last_comment_at": "2026-07-24T07:55:04Z",
"last_comment_author": "evanyan13"
},
{
"number": 474,
"created_at": "2026-07-09T17:56:27Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 478,
"created_at": "2026-07-24T00:23:22Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 479,
"created_at": "2026-07-24T15:16:09Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 480,
"created_at": "2026-07-29T17:03:04Z",
"last_comment_at": null,
"last_comment_author": null
}
],
"last_merged_pr_at": "2026-07-21T17:08:03Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": []
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/Constructor-io/constructorio-client-javascript",
"host": "github.com",
"name": "constructorio-client-javascript",
"owner": "Constructor-io"
},
"metrics": {
"overall": {
"key": "overall",
"band": "excellent",
"name": "Overall health",
"note": "The weighted overall 76 is calibrated to 90 on the published index scale (record calibration 2026-08-02).",
"notes": [
{
"code": "overall_calibration",
"params": {
"raw": 76,
"calibrated": 90,
"calibration": "2026-08-02"
}
}
],
"value": 90,
"inputs": {
"security": 66,
"vitality": 93,
"community": 54,
"governance": 78,
"calibration": "2026-08-02",
"engineering": 90,
"ai_readiness": 47,
"weighted_overall_raw": 76
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "exceptional",
"name": "Vitality",
"value": 93,
"weight": 0.21,
"metrics": [
{
"key": "development_activity",
"band": "excellent",
"name": "Development activity",
"note": null,
"notes": [],
"value": 88,
"inputs": {
"commits_last_year": 120,
"human_commit_share": 0.88,
"days_since_last_push": 0,
"active_weeks_last_year": 34
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 0 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 0
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "34/52 weeks with commits",
"points": 23.5,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 34
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "120 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 120
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "exceptional",
"name": "Release discipline",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 100,
"inputs": {
"releases_count": 100,
"latest_release_tag": "v2.90.0",
"releases_from_tags": false,
"days_since_latest_release": 8,
"mean_days_between_releases": 4
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "100 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 100
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 8 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 8
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~4 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 4
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "exceptional",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "maintained",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": 12,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 12 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 12
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "moderate",
"name": "Community & Adoption",
"value": 54,
"weight": 0.17,
"metrics": [
{
"key": "popularity",
"band": "weak",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 39,
"inputs": {
"forks": 15,
"stars": 22,
"watchers": 25,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "22 stars",
"points": 21.4,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 22
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "15 forks",
"points": 9.6,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 15
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "25 watchers",
"points": 7.7,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 25
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "moderate",
"name": "Community health",
"note": null,
"notes": [],
"value": 50,
"inputs": {
"has_readme": true,
"has_license": true,
"readme_badges": null,
"has_contributing": false,
"has_issue_template": false,
"has_code_of_conduct": false,
"readme_badge_services": [],
"has_pull_request_template": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (MIT)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "MIT"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.3
}
]
},
{
"key": "ecosystem_adoption",
"band": "excellent",
"name": "Ecosystem adoption (downloads)",
"note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"registry_dependents"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 82,
"inputs": {
"packages": [
"@constructor-io/constructorio-client-javascript"
],
"dependents": null,
"ecosystems": "npm",
"total_downloads": null,
"monthly_downloads": 78387
},
"components": [
{
"key": "monthly_downloads",
"name": "Monthly downloads",
"detail": "78,387 downloads/month across npm",
"points": 65.3,
"status": "partial",
"details": [
{
"code": "downloads_monthly",
"params": {
"count": 78387,
"ecosystems": "npm"
}
}
],
"max_points": 80
},
{
"key": "registry_dependents",
"name": "Registry dependents",
"detail": "not reported by this ecosystem",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_reported_by_this_ecosystem",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "good",
"name": "Sustainability & Governance",
"value": 78,
"weight": 0.23,
"metrics": [
{
"key": "maintainer_resilience",
"band": "moderate",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 63,
"inputs": {
"bus_factor": 2,
"contributors_sampled": 36,
"top_contributor_share": 0.358
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "2 contributor(s) cover half of all commits",
"points": 25.2,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 2
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 36% of commits",
"points": 14.4,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 36
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "36 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 36
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 4 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "excellent",
"name": "Issue & PR responsiveness",
"note": "Excluded from scoring (no data or not applicable): Newcomer PR acceptance. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"newcomer_pr_acceptance"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 88,
"inputs": {
"merged_prs": 421,
"open_issues": 0,
"closed_issues": 7,
"prs_merged_7d": null,
"prs_decided_7d": null,
"prs_merged_30d": null,
"prs_decided_30d": null,
"issue_closed_ratio": 1,
"closed_unmerged_prs": 43,
"first_time_authors_30d": null,
"first_time_prs_merged_30d": null,
"first_time_prs_decided_30d": null
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "100% of issues closed",
"points": 42,
"status": "met",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 100
}
}
],
"max_points": 42
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "421/464 decided PRs merged",
"points": 27.2,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 421,
"decided": 464
}
}
],
"max_points": 30
},
{
"key": "newcomer_pr_acceptance",
"name": "Newcomer PR acceptance",
"detail": "no first-time contributor's PR decided in 30d",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_newcomer_prs",
"params": {
"days": 30
}
}
],
"max_points": 13
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 16/29 approved changesets -- score normalized to 5",
"points": 7.5,
"status": "partial",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "good",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 67,
"inputs": {
"followers": 63,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "Constructor-io",
"public_repos": 39,
"account_age_days": 4271
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "organization-owned",
"points": 30,
"status": "met",
"details": [
{
"code": "owner_organization",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "63 followers of Constructor-io",
"points": 13,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 63,
"login": "Constructor-io"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "39 public repos, account ~11 yr old",
"points": 23.7,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 39
}
},
{
"code": "account_age_years",
"params": {
"years": 11
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "exceptional",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"@constructor-io/constructorio-client-javascript"
],
"ecosystems": "npm",
"any_deprecated": false,
"min_days_since_publish": 8
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "1 package(s) on npm",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 1,
"ecosystems": "npm"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 8 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 8
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "264 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 264
}
}
],
"max_points": 20
},
{
"key": "not_deprecated",
"name": "Not deprecated",
"detail": "active, not deprecated or yanked",
"points": 20,
"status": "met",
"details": [
{
"code": "package_not_deprecated",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "excellent",
"name": "Engineering Quality",
"value": 90,
"weight": 0.19,
"metrics": [
{
"key": "engineering_practices",
"band": "excellent",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 84,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "13 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 13
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": ".eslintrc",
"points": 16,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".eslintrc"
}
}
],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "17 out of 17 merged PRs checked by a CI test -- score normalized to 10",
"points": 20,
"status": "met",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "exceptional",
"name": "Documentation",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"topics": [
"search",
"autosuggest",
"recommendations",
"browser",
"javascript",
"constructorio-integrations"
],
"has_wiki": true,
"homepage": "https://constructor.io",
"has_readme": true,
"has_docs_dir": true,
"has_description": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 25,
"status": "met",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": "https://constructor.io",
"points": 15,
"status": "met",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": "6 topics",
"points": 10,
"status": "met",
"details": [
{
"code": "topics_count",
"params": {
"count": 6
}
}
],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "good",
"name": "Security",
"value": 66,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "moderate",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Packaging, Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"packaging",
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 58,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 16,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 2,
"scorecard_aggregate": 5.8
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "branch protection is not maximal on development and all release branches",
"points": 4.5,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "17 out of 17 merged PRs checked by a CI test -- score normalized to 10",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "Found 16/29 approved changesets -- score normalized to 5",
"points": 3.8,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 4 contributing companies or organizations",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no dangerous workflow patterns detected",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "update tool detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow not detected",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 1",
"points": 0.5,
"status": "partial",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is run on all commits",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file not detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "detected GitHub workflow tokens with excessive permissions",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "19 existing vulnerabilities detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "exceptional",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): No advisories left outstanding. Remaining weights renormalized. Matched the npm:@constructor-io/constructorio-client-javascript@2.90.0 runtime dependency closure — what installing the published package pulls in — 2 packages. Reachability is not analyzed.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"no_advisories_left_outstanding"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_published",
"params": {
"package": "npm:@constructor-io/constructorio-client-javascript@2.90.0",
"assessed": 2
}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 100,
"inputs": {
"source": "osv",
"advisories": 0,
"affected_packages": 0,
"assessed_packages": 2,
"unassessed_packages": 0,
"affected_by_severity": "none",
"direct_affected_packages": 0
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "no direct dependency carries a known advisory",
"points": 35,
"status": "met",
"details": [
{
"code": "no_direct_advisories",
"params": {}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "no indirect dependency carries a known advisory",
"points": 25,
"status": "met",
"details": [
{
"code": "no_indirect_advisories",
"params": {}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "no advisory carries a publication date",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_no_publication_date",
"params": {}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "exceptional",
"name": "Malicious dependencies",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"source": "osv",
"meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
"packages": [],
"red_flag": false,
"assessed_packages": 2,
"malicious_packages": 0,
"direct_malicious_packages": 0,
"withdrawn_malicious_packages": 0,
"installable_malicious_packages": 0
},
"components": [
{
"key": "no_dependency_reported_as_a_malicious_package",
"name": "No dependency reported as a malicious package",
"detail": "no dependency is reported as a malicious package",
"points": 100,
"status": "met",
"details": [
{
"code": "no_malicious_dependencies",
"params": {}
}
],
"max_points": 100
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "exceptional",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"commit_weight_rule": {
"min_commits": 50,
"min_commit_share": 0.1
},
"review_only_matches": 0,
"below_threshold_exposures": [],
"assessed_self_published_locations": 3
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "weak",
"name": "AI Readiness",
"value": 47,
"weight": 0.04,
"metrics": [
{
"key": "ai_agent_context",
"band": "at_risk",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 30,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.557,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "no CLAUDE.md / AGENTS.md / editor rules",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_instructions",
"params": {}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "49 of 88 human commits state their intent (structured subject or explanatory body)",
"points": 29.7,
"status": "partial",
"details": [
{
"code": "legible_history",
"params": {
"legible": 49,
"sampled": 88
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "moderate",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 58,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"package-lock.json"
],
"has_dockerfile": false,
"typed_language": false,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": true,
"typecheck_configs": [],
"agent_commit_share": 0.03,
"toolchain_manifests": [],
"dependency_bot_commit_share": 0.12
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": ".eslintrc",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".eslintrc"
}
}
],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "lockfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "3 of the last 100 commits agent-authored or agent-credited",
"points": 6,
"status": "partial",
"details": [
{
"code": "agent_authored_commits",
"params": {
"count": 3,
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "12 of the last 100 commits are automated dependency updates",
"points": 8,
"status": "met",
"details": [
{
"code": "dependency_bot_commits",
"params": {
"count": 12,
"sampled": 100
}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 1",
"points": 1,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "moderate",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 53,
"inputs": {
"primary_language": "JavaScript",
"largest_source_bytes": 610905,
"source_files_sampled": 69,
"oversized_source_files": 3
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "JavaScript without a type-check config",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_typecheck_config_language",
"params": {
"language": "JavaScript"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "3/69 source files over 60KB",
"points": 52.6,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 69,
"oversized": 3
}
}
],
"max_points": 55
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? Carries a deliberately small weight: agent tooling is a real maintenance signal, but its absence must never gate the top of the scale (calibration saturates at raw 91, so 100/100 remains reachable with AI Readiness at zero)."
}
],
"classification": {
"labels": [
"library"
],
"scores": {
"library": 6
},
"primary": "library",
"evidence": [
{
"tier": "distribution",
"label": "library",
"source": "registry:npm",
"weight": 6
}
],
"artifacts": [],
"confidence": "medium",
"host_extension": false,
"runs_as_process": false,
"consumed_by_code": true
},
"metrics_version": "2.3.1"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
],
"report_type": "repository",
"generated_at": "2026-07-30T10:30:37.606921Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/c/Constructor-io/constructorio-client-javascript.svg",
"full_name": "Constructor-io/constructorio-client-javascript",
"license_state": "standard",
"license_spdx": "MIT"
}