Awesome
three-stdlib
Stand-alone version of threejs/examples/jsm written in Typescript & built for ESM & CJS.
Basic usage
npm install three-stdlib
// Export collection
import * as STDLIB from 'three-stdlib'
// Flatbundle
import { OrbitControls, ... } from 'three-stdlib'
Problem
three/examples
are usually regarded as something that you copy/paste into your project and adapt to your needs. That's not how people use it, and this has caused numerous issues in the past.
Solution
- A build system for ESM and CJS, compatible with browser, workers, and Node
- Class based, optimized for tree-shaking, no globals, exports instead of collections
- Typesafety with simple annotation-like types
- SemVer and NPM managed dependencies
But most importantly, allowing more people that use and rely on these primitives to hold a little stake, and to share the weight of maintaining it.
How to Contribute
- Fork and clone the repo
- Run
yarn install
to install dependencies - Create a branch for your PR with `git checkout -b pr-type/issue-number-your-branch-name beta
- Let's get cooking! 👨🏻🍳🥓
Commit Guidelines
Be sure your commit messages follow this specification: https://conventionalcommits.org/en/v1.0.0-beta.4
Publishing
We use semantic-release-action
to deploy the package. Because of this only certain commits will trigger the action of creating a release:
chore
will not release a new versionfix:
will create a0.0.x
versionfeat:
will create a0.x.0
versionBREAKING CHANGE:
will create ax.0.0
version