speckle-server/packages/shared
Gergő Jedlicska f210d9b749
gergo/web 2109 project region based db connection selector (#3434)
* feat(projects): add project regions, default to null

* feat(multiregion): add projectRegion Db client lookup logic

* feat(multiregion): add project region repositories and caching

* feat(multiRegion): db initialization and get project db client

* feat(docker-compose): add second db for regions testing

* feat(multiRegion): initialize region with pubs and subs working

* fix(multiRegion): get region client even if it was registered in another pod

* feat(workspaces): create workspace resolver split

* feat: update server region metadata

* feat(projects): rewrite project creation

* feat(multiRegion): getRegionDb

* fix(workspaces): get projects now can retur null

* feat(multiRegion): make local multi region DB-s work

* feat: set d efault workspace region

* CR changes

* tests

* feat(multiRegion): bind region properly

* fe update

* test fixes

* feat(multiRegion): automatically create aiven extras plugin

* ci(postgres): use published postgres with aiven extras

* fix(multiRegion): roll back the aiven extras migration, there is a better way

* tests fix

* fix(billing): we do not need to add a seat, if the workspace is on a plan, but has no sub

---------

Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
2024-11-06 17:29:08 +01:00
..
.tshy feat(shared): modularized package & node16 support (#2336) 2024-06-11 14:12:13 +03:00
src gergo/web 2109 project region based db connection selector (#3434) 2024-11-06 17:29:08 +01:00
eslint.config.mjs chore: upgrade to eslint 9 (#2348) 2024-06-12 14:38:02 +03:00
package.json gergo/web 2038 billing graphql api (#3379) 2024-10-25 10:46:09 +02:00
pinoPrettyTransport.cjs feat(shared): modularized package & node16 support (#2336) 2024-06-11 14:12:13 +03:00
readme.md feat(shared): modularized package & node16 support (#2336) 2024-06-11 14:12:13 +03:00
tsconfig.json feat(shared): modularized package & node16 support (#2336) 2024-06-11 14:12:13 +03:00

readme.md

@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".