Files
speckle-server/packages/shared/readme.md
T
Kristaps Fabians Geikins 2f8272b6ae feat(shared): modularized package & node16 support (#2336)
* feat(shared): modularized package & node16 support

* lockfile update

* various fixes

* moar fixes

* added znv and zod as devdeps of shared

* lockfile update
2024-06-11 14:12:13 +03:00

27 lines
1.1 KiB
Markdown

# @speckle/shared
This package holds code that otherwise would be duplicated across @speckle packages, things like helpers, constants and TS types.
## Usage
### Peer dependencies
Some dependencies are marked as peer dependencies, to ensure that package consumers can manage their versions themselves. If you use any code from this package that relies on a specific peer dependency, make sure its installed.
### How to use
```js
import { Roles, RichTextEditor } from '@speckle/shared'
```
There are also "heavy" imports, that are not exported by default, like `@speckle/shared/environment`. These are used to avoid importing the whole package when only a small part of it is needed.
If export maps don't work (due to a legacy TS configuration) you can always import from `@speckle/shared/dist/**` directly
## Development
Do `yarn build` to build or `yarn dev` to build in watch mode
### Code organization
Code should be organized according to areas of speckle, 'core' being the main one. Exports from areas other than "core" should be grouped under namespaces like "RichTextEditor".