{"id":15470560,"url":"https://github.com/the-holocron/threepio","last_synced_at":"2026-03-06T16:34:21.951Z","repository":{"id":38175352,"uuid":"243134138","full_name":"the-holocron/threepio","owner":"the-holocron","description":"The protocol droid.","archived":false,"fork":false,"pushed_at":"2025-06-11T21:09:44.000Z","size":2563,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-08T12:06:37.143Z","etag":null,"topics":["babel","babel-preset","browserslist","browserslist-config","commitlint","commitlint-config","eslint","eslint-config","jest-preset","lerna","lint-staged-config","markdownlint","markdownlint-config","monorepo","postcss","postcss-config","semantic-release-config","storybook-config","stylelint-config","webpack-config"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/the-holocron.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":".github/SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"iamnewton","patreon":"iamnewton"}},"created_at":"2020-02-26T00:42:07.000Z","updated_at":"2022-09-15T03:19:33.000Z","dependencies_parsed_at":"2024-12-24T21:31:18.423Z","dependency_job_id":"7b969a47-ca49-438c-8925-12a2d80879d1","html_url":"https://github.com/the-holocron/threepio","commit_stats":{"total_commits":154,"total_committers":4,"mean_commits":38.5,"dds":"0.24675324675324672","last_synced_commit":"e16466d2f5de8b71321fa263966cc73c00095833"},"previous_names":[],"tags_count":153,"template":false,"template_full_name":null,"purl":"pkg:github/the-holocron/threepio","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/the-holocron%2Fthreepio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/the-holocron%2Fthreepio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/the-holocron%2Fthreepio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/the-holocron%2Fthreepio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/the-holocron","download_url":"https://codeload.github.com/the-holocron/threepio/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/the-holocron%2Fthreepio/sbom","scorecard":{"id":877131,"data":{"date":"2025-08-11","repo":{"name":"github.com/the-holocron/threepio","commit":"e16466d2f5de8b71321fa263966cc73c00095833"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":1.4,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":0,"reason":"dangerous workflow patterns detected","details":["Warn: script injection with untrusted input ' github.event.head_commit.message ': .github/workflows/ci.yml:18","Warn: script injection with untrusted input ' github.event.head_commit.message ': .github/workflows/release.yml:13"],"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":"Pinned-Dependencies","score":2,"reason":"dependency not pinned by hash detected -- score normalized to 2","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/the-holocron/threepio/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/the-holocron/threepio/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/greetings.yml:9: update your workflow using https://app.stepsecurity.io/secureworkflow/the-holocron/threepio/greetings.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/the-holocron/threepio/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/the-holocron/threepio/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/the-holocron/threepio/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/the-holocron/threepio/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/stale.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/the-holocron/threepio/stale.yml/master?enable=pin","Info:   0 out of   8 GitHub-owned GitHubAction dependencies pinned","Info:   3 out of   3 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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Warn: no topLevel permission defined: .github/workflows/greetings.yml:1","Warn: no topLevel permission defined: .github/workflows/release.yml:1","Warn: no topLevel permission defined: .github/workflows/stale.yml:1","Info: no jobLevel write permissions found"],"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":"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":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","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":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"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":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: GNU General Public License v3.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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"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":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"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":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 1 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":0,"reason":"82 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-968p-4wvh-cqc8","Warn: Project is vulnerable to: GHSA-h5c3-5r3r-rr8q","Warn: Project is vulnerable to: GHSA-rmvr-2pp2-xj38","Warn: Project is vulnerable to: GHSA-xx4v-prfh-6cgc","Warn: Project is vulnerable to: GHSA-93q8-gq69-wqmw","Warn: Project is vulnerable to: GHSA-fwr7-v2mv-hh25","Warn: Project is vulnerable to: GHSA-4w2v-q235-vp99","Warn: Project is vulnerable to: GHSA-cph5-m8f7-6c5x","Warn: Project is vulnerable to: GHSA-wf5p-g6vw-rhxx","Warn: Project is vulnerable to: GHSA-jr5f-v2jv-69x6","Warn: Project is vulnerable to: GHSA-8hc4-vh64-cxmj","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-hr2v-3952-633q","Warn: Project is vulnerable to: GHSA-ff7x-qrg7-qggm","Warn: Project is vulnerable to: GHSA-ghr5-ch3p-vcr6","Warn: Project is vulnerable to: GHSA-434g-2637-qmqr","Warn: Project is vulnerable to: GHSA-49q7-c7j4-3p7m","Warn: Project is vulnerable to: GHSA-977x-g7h5-7qgw","Warn: Project is vulnerable to: GHSA-f7q4-pwc6-w24p","Warn: Project is vulnerable to: GHSA-fc9h-whq2-v747","Warn: Project is vulnerable to: GHSA-vjh7-7g9h-fjfh","Warn: Project is vulnerable to: GHSA-74fj-2j2h-c42q","Warn: Project is vulnerable to: GHSA-pw2r-vq6v-hr8c","Warn: Project is vulnerable to: GHSA-jchw-25xp-jwwc","Warn: Project is vulnerable to: GHSA-cxjh-pqwp-8mfp","Warn: Project is vulnerable to: GHSA-fjxv-7rqg-78g4","Warn: Project is vulnerable to: GHSA-pfrx-2q88-qq97","Warn: Project is vulnerable to: GHSA-rc47-6667-2j5j","Warn: Project is vulnerable to: GHSA-8g7p-74h8-hg48","Warn: Project is vulnerable to: GHSA-pc5p-h8pf-mvwp","Warn: Project is vulnerable to: GHSA-78xj-cgh5-2h22","Warn: Project is vulnerable to: GHSA-2p57-rm9w-gvfp","Warn: Project is vulnerable to: GHSA-896r-f27r-55mw","Warn: Project is vulnerable to: GHSA-jf85-cpcp-j695","Warn: Project is vulnerable to: GHSA-fvqr-27wr-82fm","Warn: Project is vulnerable to: GHSA-4xc9-xhrj-v574","Warn: Project is vulnerable to: GHSA-x5rq-j2xg-h7qm","Warn: Project is vulnerable to: GHSA-29mw-wpgm-hmr9","Warn: Project is vulnerable to: GHSA-35jh-r3h4-6jhm","Warn: Project is vulnerable to: GHSA-p6mc-m468-83gw","Warn: Project is vulnerable to: GHSA-6vfc-qv3f-vr6c","Warn: Project is vulnerable to: GHSA-5v2h-r2cx-5xgj","Warn: Project is vulnerable to: GHSA-rrrm-qjm4-v8hf","Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv","Warn: Project is vulnerable to: GHSA-f8q6-p94x-37v3","Warn: Project is vulnerable to: GHSA-gmwp-3pwc-3j3g","Warn: Project is vulnerable to: GHSA-mwcw-c2x4-8c55","Warn: Project is vulnerable to: GHSA-5fw9-fq32-wv5p","Warn: Project is vulnerable to: GHSA-hj9c-8jmm-8c52","Warn: Project is vulnerable to: GHSA-rp65-9cf3-cjxr","Warn: Project is vulnerable to: GHSA-h7cp-r72f-jxh6","Warn: Project is vulnerable to: GHSA-v62p-rq8g-8h59","Warn: Project is vulnerable to: GHSA-566m-qj78-rww5","Warn: Project is vulnerable to: GHSA-7fh5-64p2-3v2j","Warn: Project is vulnerable to: GHSA-hrpp-h998-j3pp","Warn: Project is vulnerable to: GHSA-p8p7-x288-28g6","Warn: Project is vulnerable to: GHSA-gcx4-mw62-g8wm","Warn: Project is vulnerable to: GHSA-x2pg-mjhr-2m5x","Warn: Project is vulnerable to: GHSA-r2j6-p67h-q639","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-44c6-4v22-4mhx","Warn: Project is vulnerable to: GHSA-4x5v-gmq8-25ch","Warn: Project is vulnerable to: GHSA-4rq4-32rv-6wp6","Warn: Project is vulnerable to: GHSA-64g7-mvw6-v9qj","Warn: Project is vulnerable to: GHSA-3f95-r44v-8mrg","Warn: Project is vulnerable to: GHSA-28xr-mwxg-3qc8","Warn: Project is vulnerable to: GHSA-9p95-fxvg-qgq2","Warn: Project is vulnerable to: GHSA-9w5j-4mwv-2wj8","Warn: Project is vulnerable to: GHSA-f5x3-32g6-xq36","Warn: Project is vulnerable to: GHSA-pq67-2wwv-3xjx","Warn: Project is vulnerable to: GHSA-8cj5-5rvv-wf4v","Warn: Project is vulnerable to: GHSA-52f5-9888-hmc6","Warn: Project is vulnerable to: GHSA-72xf-g2v4-qvf3","Warn: Project is vulnerable to: GHSA-w5p7-h5w8-2hfq","Warn: Project is vulnerable to: GHSA-7p7h-4mm5-852v","Warn: Project is vulnerable to: GHSA-v2p6-4mp7-3r9v","Warn: Project is vulnerable to: GHSA-3h5v-q93c-6h6q","Warn: Project is vulnerable to: GHSA-p9pc-299p-vxgp","Warn: Project is vulnerable to: GHSA-w8qv-6jwh-64r5","Warn: Project is vulnerable to: GHSA-hwj9-h5mp-3pm3"],"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-24T06:28:17.182Z","repository_id":38175352,"created_at":"2025-08-24T06:28:17.182Z","updated_at":"2025-08-24T06:28:17.182Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30185550,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-06T14:42:24.748Z","status":"ssl_error","status_checked_at":"2026-03-06T14:42:14.925Z","response_time":250,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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"}},"keywords":["babel","babel-preset","browserslist","browserslist-config","commitlint","commitlint-config","eslint","eslint-config","jest-preset","lerna","lint-staged-config","markdownlint","markdownlint-config","monorepo","postcss","postcss-config","semantic-release-config","storybook-config","stylelint-config","webpack-config"],"created_at":"2024-10-02T02:05:24.143Z","updated_at":"2026-03-06T16:34:16.782Z","avatar_url":"https://github.com/the-holocron.png","language":"JavaScript","funding_links":["https://github.com/sponsors/iamnewton","https://patreon.com/iamnewton"],"categories":[],"sub_categories":[],"readme":"# Threepio [![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lerna.js.org/) [![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release) [![Dependabot Status](https://api.dependabot.com/badges/status?host=github\u0026repo=the-holocron/threepio)](https://dependabot.com)\n\nThis protocol droid contains all protocols (shareable configurations) that are used within the Galaxy.\n\n![threepio](./threepio.png)\n\n## Installation\n\nPlease check the README for each configuration within the `packages` directory for specific installation instructions, however the general process is:\n\n```bash\nnpm install --save-dev @theholocron/\u003clib\u003e\n```\n\n## Table of Contents\n\n- [Usage](#usage)\n- [Packages](#the-packages-we-maintain)\n- [Browsers \u0026 Devices](#which-browsers-devices-we-support)\n- [Documentation](#where-to-find-documentation)\n- [Changelog](#how-we-track-changes)\n- [Versioning](#how-we-version)\n- [Contribution](#how-to-contribute)\n- [Support](#where-to-find-suport)\n- [Tools](#tools-we-use)\n- [Support](#where-to-find-suport)\n- [License](#license)\n\n## Usage\n\nCheck the README for each configuration within the `packages` directory for specific usage instructions.\n\n## The Packages We Maintain\n\n- [babel-preset](./packages/babel-preset#readme) - A Babel preset for transpiling next generation Javascript.\n- [browserslist-config](./packages/browserslist-config#readme) - A Browserslist configuration for all browsers and devices supported.\n- [bundlewatch-config](./packages/bundlewatch-config#readme) - A Bundlewatch configuration for all for monitoring package scope creep.\n- [commitlint-config](./packages/commitlint-config#readme) - A CommitLint configuration for writing Git commits.\n- [eslint-config](./packages/eslint-config#readme) - An ESLint configuration for writing well-formed Javascript.\n- [htmlhint-config](./packages/htmlhint-config#readme) - A HTMLHint configuration for writing well-formed HTML.\n- [jest-preset](./packages/jest-preset#readme) - A Jest preset for testing code.\n- [lint-staged-config](./packages/lint-staged-config#readme) - A Lint Staged configuration for linting code that has been staged in Git.\n- [markdownlint-config](./packages/markdownlint-config#readme) - A MarkdownLint configuration for writing well-formatted documentation.\n- [postcss-config](./packages/postcss-config#readme) - A PostCSS configuration for processing (S)CSS.\n- [prettier-config](./packages/prettier-config#readme) - A Prettier configuration for formatting libraries.\n- [rollup-config](./packages/rollup-config#readme) - A Rollup configuration for bundling libraries.\n- [semantic-release-config](./packages/semantic-release-config#readme) - A Semantic Release configuration for releasing code.\n- [stylelint-config](./packages/stylelint-config#readme) - A StyleLint configuration for writing well-formed (S)CSS.\n- [webpack-config](./packages/webpack-config#readme) - A Webpack configuration for developing and bundling libraries.\n\n## Where to Find Documentation\n\nThe best way to find out what's available is to dig through source code, as each directory has a README file to describe each feature.\n\n## How We Track Changes [![Keep a Changelog](https://img.shields.io/badge/Keep%20a%20Changelog-1.0.0-orange)](https://keepachangelog.com/en/1.0.0/)\n\nThis project uses a CHANGELOG and [GitHub releases](https://help.github.com/en/github/administering-a-repository/about-releases) which contains a curated, chronologically ordered list of notable changes for each version of a project. [Read more about changelogs](https://keepachangelog.com/en/1.0.0/).\n\n## How We Version [![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\nWe use [SemVer](https://semver.org/) for its versioning providing us an opt-in approach to releases. This means we add a version number according to the spec, as you see below. So rather than force developers to consume the latest and greatest, they can choose which version to consume and test any newer ones before upgrading. Please the read the spec as it goes into further detail.\n\nGiven a version number **MAJOR.MINOR.PATCH**, increment the:\n\n- **MAJOR** version when you make incompatible API changes.\n- **MINOR** version when you add functionality in a backward-compatible manner.\n- **PATCH** version when you make backward-compatible bug fixes.\n\nAdditional labels for pre-release and build metadata are available as extensions to the **MAJOR.MINOR.PATCH** format.\n\n## How to Contribute [![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)\n\nHave a bug or a feature request? Looking to contribute to advance the project? Read our [contribution guide](./github/CONTRIBUTING.md) or [maintenance guide](./.github/MAINTAINING.md) first in order to understand how we do things around here. Or you could look at some of our other guides below:\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cstrong\u003eHow do I…\u003c/strong\u003e (click to expand)\u003c/summary\u003e\n\n- [Ask or Say Something?](./.github/SUPPORT.md)\n    - [Request Support](./.github/SUPPORT.md#request-support)\n    - [Report an Error or Bug](./.github/SUPPORT.md#report-an-error-or-bug)\n    - [Request a Feature](./.github/SUPPORT.md#request-a-feature)\n- [Make Something?](./.github/CONTRIBUTING.md)\n    - [Setup the Project](./.github/CONTRIBUTING.md#get-started)\n    - [Create an Issue](./.github/CONTRIBUTING.md#creating-a-good-issue)\n    - [Create a Feature Request](./.github/CONTRIBUTING.md#create-a-good-feature-request)\n    - [Contribute Documentation](./.github/CONTRIBUTING.md#contribute-to-documentation)\n    - [Contribute Code](./.github/CONTRIBUTING.md#create-a-pull-request)\n    - [Join the Team](./.github/CONTRIBUTING.md#join-the-team)\n- [Manage Something](./.github/MAINTAINING.md)\n    - [Provide Support on Issues](./.github/MAINTAINING.md#provide-support-on-issues)\n    - [Label Issues](./.github/MAINTAINING.md#label-issues)\n    - [Clean Up Issues and PRs](./.github/MAINTAINING.md#clean-up-issues-and-prs)\n    - [Create a Pull Request](./.github/MAINTAINING.md#create-a-pull-request)\n    - [Review Pull Requests](./.github/MAINTAINING.md#review-pull-requests)\n    - [Merge Pull Requests](./.github/MAINTAINING.md#merge-pull-requests)\n    - [Tag a Release](./.github/MAINTAINING.md#tag-a-release)\n    - [Release a Version](./.github/MAINTAINING.md#release-a-version)\n\n\u003c/details\u003e\n\n## Where to Find Support [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg)](code_of_conduct.md)\n\nLooking to talk to someone or need some help? Please read our [support guidelines](./.github/SUPPORT.md).\n\n## Tools We Use\n\n- [Babel](https://babeljs.io/) - Used to compile JavaScript \n- [Browserslist](https://github.com/browserslist/browserslist) - Used to share to our code which browsers we support\n- [CommitLint](https://commitlint.js.org/#/) - Used to ensure our commits follow our standards\n- [Conventional Changelog](https://github.com/conventional-changelog/conventional-changelog) - Used to generate our CHANGELOG\n- [ESLint](https://eslint.org/) - Used to lint our JavaScript\n- [Husky](https://github.com/typicode/husky) - Used for auto-fixing linting errors on each commit\n- [Jest](https://jestjs.io/) - Used for testing our JavaScript and (S)CSS\n- [MarkdownLint](https://github.com/DavidAnson/markdownlint) - Used to lint our Markdown docs\n- [PostCSS](https://postcss.org/) - Used to compile (S)CSS\n- [Semantic Release](https://semantic-release.gitbook.io/semantic-release/) - Used for automating and releasing our library\n- [StorybookJS](https://storybook.js.org/) - Used for building out our interactive docs\n- [StyleLint](https://stylelint.io/) - Used to lint our (S)CSS\n- [Webpack](https://webpack.js.org/) - Used to bundle assets\n- [@godban's Browser Support Badges](https://godban.github.io/browsers-support-badges) - The tool used to generate the \"Which Browsers [sic] We Support\" section\n\n## References\n\n- [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) - For how we format commit messages\n- [Contributor Convenant](https://www.contributor-covenant.org)\n- [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) - For building out a quality CHANGELOG\n- [Make a README](https://www.makeareadme.com/) - For building out this README\n- [SemVer](https://semver.org/) - For versioning this library\n\n## License [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)\n\n©2020 GNU General Public License v3. See [LICENSE](./LICENSE.md) for specifics.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthe-holocron%2Fthreepio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthe-holocron%2Fthreepio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthe-holocron%2Fthreepio/lists"}