* feat(gatekeeper): add per workspace feature flags * feat(workspaces): add admin api for granting and removing access to workspace features * fix(workspaces): use the correct constant name * fix(workspaces): more test type fixes * fix(shared): fix tests and types * fix(workspaces): properly use exhaustive switch statement * fix(workspaces): add new workspace plan feature to switch * fix(workspaces): use regular integer, its fine for now... * fix(workspaces): feature flag retention post checkout * fix(gatekeeper): fix upsert plan tests
@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
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".