3080 Commits
Author SHA1 Message Date
Bogdan Chadkin 0f9043fc54 Add style sources schema (#850)
Ref https://github.com/webstudio-is/webstudio-designer/issues/807

We are gonna consolidate design token styles and local styles. On build
(project) level there will be list of styles and list of style sources
which are basically a group of styles to be referenced.

These style sources can be local with mandatory tree id or token with
optional tree id to scope a token on specific page instead of whole
project.

Tree will get new list of references to style sources.

Here resulting types

```ts
// Stored as Build.styles
type StylesItem = {
  // same as before but instead of instanceId style is referenced through style source
  styleSourceId: string,
  breakpointId,
  property,
  value
}

type StyleSourcesToken = {
  type: token
  id: string
  treeId?: string
  name: string
}

type StyleSourcesLocal = {
  type: local
  id: string
  treeId: string
  name: string
}

// Stored as Build.styleSources
type StyleSourcesItem = StyleSourcesToken | StyleSourcesLocal

// Stored as Tree.styleRefs
type StyleRefsItem = {
  instanceId: string,
  values: StyleSourcesItem['id']
}
```
0.23.0
2023-01-27 12:34:28 +03:00
Andras Bacsai a9b2fdb7ed Merge pull request #862 from webstudio-is/cf-pages-integration
Bump designer version to be in sync with other components
2023-01-27 10:11:26 +01:00
Bogdan Chadkin 2d798069f7 Replace lint-staged with nano-staged (#865)
Ref https://github.com/usmanyunusov/nano-staged

Lint-staged has a lot of dependencies and a few versions of the same
dependencies.

Nano-staged is smaller alternative used in many "nano" packages.

```diff
du -ckd1 node_modules
-766128
+763924

-900ms
+200ms
```
2023-01-27 11:43:41 +03:00
Bogdan Chadkin bf50c0c547 Move project build schema into separate package (#864)
The new package will be responsible for schema and db access to all
build and tree data.

Decoupling will let us make sdk and project thinner.
2023-01-26 21:03:17 +03:00
Bogdan Chadkin 185fb27c85 Treat component name as generic string (#861)
We want to decouple schema stored in db from sdk which generates a list
of components. Components will be added dynamically later so better
avoid component name enum.
2023-01-26 17:33:26 +03:00
Andras Bacsai 16fcce1a68 Merge branch 'main' into cf-pages-integration 2023-01-26 14:56:53 +01:00
Oleg Isonen 6fbc8813e5 More dashboard tweaks (#855)
## Description

Styling in dashboard card

## Steps for reproduction

1. go to /dashboard

## Code Review

- [ ] hi @TrySound , I need you to do
  - conceptual review (architecture, feature-correctness)
  - detailed review (read every line)
  - test it on preview

## Before requesting a review

- [ ] made a self-review
- [ ] added inline comments where things may be not obvious (the "why",
not "what")

## Before merging

- [ ] tested locally and on preview environment (preview dev login:
5de6)
- [ ] updated [test
cases](https://github.com/webstudio-is/webstudio-designer/blob/main/apps/designer/docs/test-cases.md)
document
- [ ] added tests
- [ ] if any new env variables are added, added them to `.env.example`
and the `designer/env-check.js` if mandatory
2023-01-26 13:16:07 +01:00
Bogdan Chadkin a075ee0cc0 Replace husky with simple-git-hooks (#854)
Husky have a few downsides

- requires additional .husky folder in the root
- configuration should be written to .husky folder
- changes default git config core.hooksPath to custom .husky

simple-git-hooks is simpler alternative used by many "nano" projects

- configurable with package.json
- use default .git/hooks
2023-01-26 14:37:15 +03:00
Bogdan Chadkin 2e10e164f5 Bump shallow-equal (#853)
Ref https://github.com/moroshko/shallow-equal

New release got types and builtin generic form for both objects and
arrays.
2023-01-26 13:06:38 +03:00
Roman Pominov 4a9c7842e6 Minor menu fixes (#852)
1. Fixed #851 
2. Cleaned up Menu usage in some other places
2023-01-26 12:14:53 +03:00
Oleg Isonen dd40f745a5 Dashboard styling (#849)
## Description

Styling tweaks

## Steps for reproduction

1. open /dashboard

## Code Review

- [ ] hi @kof, I need you to do
  - conceptual review (architecture, feature-correctness)
  - detailed review (read every line)
  - test it on preview

## Before requesting a review

- [ ] made a self-review
- [ ] added inline comments where things may be not obvious (the "why",
not "what")

## Before merging

- [ ] tested locally and on preview environment (preview dev login:
5de6)
- [ ] updated [test
cases](https://github.com/webstudio-is/webstudio-designer/blob/main/apps/designer/docs/test-cases.md)
document
- [ ] added tests
- [ ] if any new env variables are added, added them to `.env.example`
and the `designer/env-check.js` if mandatory
2023-01-25 22:33:23 +01:00
Oleg Isonenandistarkov e0cd48aab5 New dashboard has reached feature parity with the old one (#835)
## Description

This is not a complete dashboard implementation, but it can now list,
create and open projects, so it can be deployed to production and
replace the old version while we work on the remaining features.

In addition implemented: renaming, duplicating, deletion (mark as
deleted), keyboard accessibility


## Steps for reproduction

1. click on card to open the project in the designer
1. click on a link at the card bottom if project is published to open
published version
1. click on new project and create new project
2. click on rename over menu to rename
3. click on duplicate
4. click on delete
5. Use tab to switch between projects, use arrow keys to switch between
focusable elements inside the project card

## Code Review

- [ ] hi @rpominov , I need you to do
  - conceptual review (architecture, feature-correctness)
  - detailed review (read every line)
  - test it on preview
- [ ] hi @istarkov, we need to discuss how we want to build the future
APIs with TRPC and probably rewrite what I did here right away

## Before requesting a review

- [ ] made a self-review
- [ ] added inline comments where things may be not obvious (the "why",
not "what")

## Before merging

- [ ] tested locally and on preview environment (preview dev login:
5de6)
- [ ] updated [test
cases](https://github.com/webstudio-is/webstudio-designer/blob/main/apps/designer/docs/test-cases.md)
document
- [ ] added tests
- [ ] if any new env variables are added, added them to `.env.example`
and the `designer/env-check.js` if mandatory

Co-authored-by: istarkov <istarkov@gmail.com>
2023-01-25 21:17:50 +01:00
Bogdan Chadkin aba909ad63 Drop preset styles from db (#848)
After discussing with @kof figured we do not need to store preset styles
in db as after sdk upgrade components may still break.

Sdk versioning along with its hardcoded values will solve the problem
better.
2023-01-25 18:55:11 +03:00
Roman Pominov ee8e1bedd3 Menu design update (#799)
Closes #798.

I've implemented "Menu" and "Menu item" from Figma and updated our
components that use menus.

TODO at some later point:

  - Component: "Menu Item Large"
  - Type of "Menu" component: "Dropdown w/large items"
  - Type of "Menu" component: "Context menu"
2023-01-25 16:51:43 +03:00
Bogdan Chadkin f8fb928436 Migrate hovered outline to synchronized stores (#846)
Recently added support for synchronization of non-immerhin stores. Here
refactored instance hovering from pubsub to such stores.

Designer and canvas can both set hovered instance id and instance
connector subscribes to these changes and sends to designer outline
rect.
2023-01-25 12:38:29 +03:00
Bogdan Chadkin d612a33991 Migrate designer to selected instance store (#844)
selectedInstanceData update is sent from canvas after every render in
effect. The latency can be avoided by subscribing to selectedInstanceId
directly. For styles added new store selectedInstanceBrowserStyle and
synchronized it the same way. Works without flashing in UI even without
reset.
2023-01-25 10:18:34 +03:00
ce1294480c Figma tokens (#845)
## Description

1. deleted inner glow tokens since no one is using them. 
2. Organized text styles and atomic text styles such as font-weight and
line-height
3. modified some colors related to the project card component used in
the dashboard.

Co-authored-by: Roman Pominov <rpominov+github@gmail.com>
Co-authored-by: Taylor Nowotny <86495896+taylornowotny@users.noreply.github.com>
Co-authored-by: Bot (build-figma-tokens.yml) <bot@localhost>
2023-01-25 09:17:01 +03:00
Bogdan Chadkin 83f03e2254 Synchronize non-immerhin stores (#843)
We often need to sync states between canvas and designer without sending
to server. Here added logic to synchronize whole states between frames.
Almost same as immerhin logic.

Here synchronized selectedInstanceId store.
2023-01-24 20:58:41 +03:00
Bogdan Chadkin 57a43cda6c Use instances index to compute selected instance (#839)
Because we tracked the tree and selected instance, traversed and updated
the value on every change which usually lead to running same code twice
in a row.

Here I added computed index for instances which can be reused in other
parts. It is generated by traversing tree. Later will be replaced with
for loop.

This allows us to store only selected id and compute instance with
`instancesById.get(selectedInstanceId)`.

This store need to be synchronized with designer to use it instead of
selected instance data in almost all cases.
2023-01-24 14:19:46 +03:00
Andras Bacsai 30f600a92c Bump designer version to by in sync with other components 2023-01-24 09:47:21 +01:00
Roman Pominov c8193ed551 fix fontWeight parsing in transform-figma-tokens (#840)
Closes #838
2023-01-24 11:44:15 +03:00
Bogdan Chadkin 78196958cd Transform styles without zod (#822)
Found zod allows to pass anything in transform without type checking.
This means we can easily get unexpected result. In this case we could
get undefined as asset.

As a solution I defined two versions of types, client side and stored in
db. Conversion is implemented on db routes side.

This makes data flow more clear and let us describe only two versions of
types instead of tree (in, out, client side).
0.22.0
2023-01-23 20:39:48 +03:00
Bogdan Chadkin 846240abc8 Add new label for style panel (#820)
Used new local/remote terms instead of set/inherited from figma for
color here.

<img width="309" alt="Screenshot 2023-01-20 at 14 06 35"
src="https://user-images.githubusercontent.com/5635476/213681171-dcc6bd6d-2d31-42fb-9e6a-49c90da3ab6f.png">
2023-01-23 11:56:36 +03:00
Bogdan Chadkin bb288f309b Replace UserProp with PropsItem (#833)
Here is migration to new props type with more safe conversion to db
format. Added two versions StoredPropsItem for and PropsItem for client
and got rid of "as" casting.
2023-01-22 15:57:37 +03:00
Bogdan Chadkin ca08925962 Update lost pixel screenshots (#832) 2023-01-22 15:50:05 +03:00
Bogdan Chadkin 1da64faf4f Add shallowComputed nanostores utility (#827)
The new utility allows us to subscribe to filtered array and give the
same reference when all items are the same. This prevents unnecessary
rerenders in react because getSnapshot considers value unchanged.

This is necessary for styles and we'll need same for props.

The downside is filter and shallow compare will be called on every
change for every instance. We will see if this give us performance
issues.
2023-01-22 10:14:34 +03:00
Oleg Isonen 72073cb30a Dashboard redesign - project cards (#817)
## Description

Not complete, everything that needs adjustments supposed to have a todo
comment

1. Added project cards
2. Variable Inter font
3. Flex space-between


https://user-images.githubusercontent.com/52824/213592204-ffb2ee3b-b613-4561-a808-31b05889bf39.mp4


## Steps for reproduction

1. open /dashboard2

## Code Review

- [ ] hi @rpominov , I need you to do
  - conceptual review (architecture, feature-correctness)
  - detailed review (read every line)

## Before requesting a review

- [ ] made a self-review
- [ ] added inline comments where things may be not obvious (the "why",
not "what")

## Before merging

- [ ] tested locally and on preview environment (preview dev login:
5de6)
- [ ] updated [test
cases](https://github.com/webstudio-is/webstudio-designer/blob/main/apps/designer/docs/test-cases.md)
document
- [ ] added tests
- [ ] if any new env variables are added, added them to `.env.example`
and the `designer/env-check.js` if mandatory
2023-01-21 22:40:11 +01:00
Roman Pominov 9ff8c74692 Make shadow and typography tokens available to be used in code (#821)
1. Added `@font-face`s to `designer` and `design-system` storybooks
2. Shadow tokens are now available via `theme.shadows.somthing`
3. Typography tokens are now available like this:

```ts
import { typography, styled } from '@webstudio-is/design-system'; 

const Something = styled("div", typography.something)

<div className={typography.something()} />
```
2023-01-21 08:53:52 +03:00
74f74cf77a updated success color (#823)
## Description

just updated the color of foreground/success

Co-authored-by: markxtang <122043657+markxtang@users.noreply.github.com>
Co-authored-by: Bot (build-figma-tokens.yml) <bot@localhost>
2023-01-21 08:33:07 +03:00
Bogdan Chadkin 78af54b017 Migrate InstanceProps into Tree table as props column (#819)
InstanceProps is designed to store props per each instance which
requires a lot of sql updates on every props change.

Here moved per instance props into array with props for whole tree. This
way patches are safer to apply on large trees.

```
type PropsItem = {
  id: string,
  instanceId: string,
  name: string,
  required?: boolean,
  type: 'number' | 'string' | 'boolean' | 'asset',
  value: number | string | boolean
}
```
2023-01-20 13:02:13 +03:00
markxtang 417ae2298b Figma tokens (#818)
Renamed some styles to make it more clear which styles are brand styles
as opposed to builder styles. E.g. before the brand color styles were
distributed with the other color styles, now they are all under brand.
grouping. Also renamed the atomic typography tokens such as font-size so
they are in order (smallest value to highest value corresponds to first
to last in the array)
2023-01-20 09:15:23 +03:00
Oleg Isonen 011257f0ab Dashboard redesign (#809)
## Description

The first piece of the new dashboard - empty state for the projects
section.
Lots of design system values are not coming from Figma yet because Mark
is still on it.

Its not live, only visible over /dashboard2

<img width="960" alt="Screenshot 2023-01-19 at 00 33 19"
src="https://user-images.githubusercontent.com/52824/213328060-c84a18d5-3dd2-43d6-a70d-cdf8cd504108.png">



## Steps for reproduction

1. go to /dashboard2


## Code Review

- [ ] hi @rpominov , I need you to do
  - conceptual review (architecture, feature-correctness)
  - detailed review (read every line)

## Before requesting a review

- [ ] made a self-review
- [ ] added inline comments where things may be not obvious (the "why",
not "what")

## Before merging

- [ ] tested locally and on preview environment (preview dev login:
5de6)
- [ ] updated [test
cases](https://github.com/webstudio-is/webstudio-designer/blob/main/apps/designer/docs/test-cases.md)
document
- [ ] added tests
- [ ] if any new env variables are added, added them to `.env.example`
and the `designer/env-check.js` if mandatory
2023-01-19 16:33:35 +01:00
Roman Pominov 6ec2f5661a Add instructions on how to approve Lost-pixel test when syncing tokens from Figma (#815) 2023-01-19 18:21:08 +03:00
Bogdan Chadkin ca6bdb34a9 Deprecate label component (#810)
Gonna start over to align with design system.
2023-01-19 13:23:54 +03:00
Bogdan Chadkin e03dbecb3b Sync patches with server in designer (#813)
For security reasons it's important to prevent canvas from having write
access to db.

Here I moved old sync logic to designer folder and got rid of one more
event in pubsub, used atom directly.
2023-01-19 13:17:02 +03:00
Bogdan Chadkin 6ca1f7088a Bump packages (#814)
Let's release
2023-01-19 13:08:32 +03:00
Ivan Starkov d17b7a1b27 Fix Transaction already closed: Could not perform operation on InstanceProps (#811)
2 Issues.
- Absense of unique index caused huge update times like 100ms.
- updateMany creates implicit transaction which in prisma has very small
timeouts
2023-01-19 10:48:02 +03:00
Roman Pominov e3fb088f24 Added instructions about pull requests when syncing tokens from Figma (#804)
## Description

Added instructions about pull requests when syncing tokens from Figma:


https://github.com/webstudio-is/webstudio-designer/blob/tokens-pull-doc/packages/design-system/documentation/figma-design-tokens.md#creating-a-pull-request

Still need to add about lostpixel. I will do that once it fails next
time.
2023-01-18 17:21:16 +03:00
Bogdan Chadkin 02d5f509dd Use build-package for http-client (#806)
Forgot to migrate it to our build-package script before. Now we got rid
of tsup.

```diff
du -ckd1 node_modules
-804060
+794324
```

```diff
root> pnpm build
-16s
+10s
```
2023-01-18 16:16:58 +03:00
Bogdan Chadkin 6f5a0bcfbc Bump packages (#805)
Let's release
2023-01-18 14:06:44 +03:00
Oleg IsonenandRoman Pominov e790af958a Style source input states (#785)
## Description

1. Styling all states
<img width="353" alt="Screenshot 2023-01-14 at 15 40 54"
src="https://user-images.githubusercontent.com/52824/212480260-b37ba7c4-7fde-45c7-beba-5e79980aadd7.png">

2. Functionality overview

- Type a new input with autocomplete
- Select an existing source from a list
- Enter a new source
- Hover the source to see the menu
- Menu provides: Remove, Duplicate, Disable, Edit name
- Drag and drop to reorder
- Click to toggle select/unselect
- Double click to edit name
- Local source can only be disabled, nothing else should be possible
- Hit Backspace to delete the last Source item when you are in the input


https://user-images.githubusercontent.com/52824/212717241-eb694803-ee50-4054-bdd6-faaa6ffb197b.mp4




## Steps for reproduction

1. open stories in the designer
3. check all possible states are according to
[figma](https://www.figma.com/file/sfCE7iLS0k25qCxiifQNLE/%F0%9F%93%9A-Webstudio-Library?node-id=947%3A3701&t=GviFHhyBu6zfoxRk-4)

## Code Review

- [ ] hi @rpominov , I need you to do
  - conceptual review (architecture, feature-correctness)
  - check how I exposed buttonStyle from design system

- [ ] hi @taylornowotny 
- please try in storybook and see if you find mistakes. Autocomplete
list/menu is not done, only the style sources.
  
## Before requesting a review

- [ ] made a self-review
- [ ] added inline comments where things may be not obvious (the "why",
not "what")

## Before merging

- [ ] tested locally and on preview environment (preview dev login:
5de6)
- [ ] updated [test
cases](https://github.com/webstudio-is/webstudio-designer/blob/main/apps/designer/docs/test-cases.md)
document
- [ ] added tests
- [ ] if any new env variables are added, added them to `.env.example`
and the `designer/env-check.js` if mandatory

Co-authored-by: Roman Pominov <rpominov+github@gmail.com>
2023-01-18 00:12:50 +01:00
Bogdan Chadkin 2c8395b4d0 Add feature-flags package (#800)
Extracted from
https://github.com/webstudio-is/webstudio-designer/pull/797 for upcoming
dashboard split into separate app

## Code Review

- [ ] hi @kof, I need you to do
  - conceptual review (architecture, feature-correctness)
  - detailed review (read every line)

## Before requesting a review

- [ ] made a self-review
- [ ] added inline comments where things may be not obvious (the "why",
not "what")

## Before merging

- [ ] tested locally and on preview environment (preview dev login:
5de6)
- [ ] updated [test
cases](https://github.com/webstudio-is/webstudio-designer/blob/main/apps/designer/docs/test-cases.md)
document
- [ ] added tests
- [ ] if any new env variables are added, added them to `.env.example`
and the `designer/env-check.js` if mandatory
2023-01-17 20:08:35 +01:00
Roman Pominov a1edc22be1 Type-safe CSS Stitches' variables (#792)
I've replaced all `"$something$something"` CSS variables with
`variables.something.something`. Now we have autocomplete and
type-safety: if a variable is removed or renamed w/o fixing the usage
the build will fail.

This will allow designers to change design tokens and either make sure
nothing is broken or if something is broken we'll know exactly what and
it will be easy to fix.

Discussed here:
https://discord.com/channels/955905230107738152/1061992022665334837
2023-01-17 09:36:24 +03:00
Bogdan Chadkin 0d52c8949f Update token store directly (#796)
We no longer need to use pubsub to notify canvas to change something and
duplicate logic in designer.

Here updated syncrhonized state directly and replaced tokens utils with
generic array utils.
2023-01-16 23:53:12 +03:00
Ivan Starkov 537ae78786 Cleanup rest (#795)
## Description

Cleanup unused rest endpoints

## Steps for reproduction

1. click button
2. expect xyz

## Code Review

- [ ] hi @kof, I need you to do
  - conceptual review (architecture, feature-correctness)
  - detailed review (read every line)
  - test it on preview

## Before requesting a review

- [ ] made a self-review
- [ ] added inline comments where things may be not obvious (the "why",
not "what")

## Before merging

- [ ] tested locally and on preview environment (preview dev login:
5de6)
- [ ] updated [test
cases](https://github.com/webstudio-is/webstudio-designer/blob/main/apps/designer/docs/test-cases.md)
document
- [ ] added tests
- [ ] if any new env variables are added, added them to `.env.example`
and the `designer/env-check.js` if mandatory
2023-01-16 22:35:39 +03:00
Ivan Starkov 1ad428c79a Add returnTo support for login, disable cloning without login (#794)
## Description

closes #790

1. This PR adds `returnTo` search parameter to `/login` page _now we can
return logged user to the page he visited initially_
2. This PR enforces user to login in case of project clone
`/rest/project/clone/webstudiois`

_returnTo is in cookie because no way I found to put it into oauth state
etc parameter, and seems like its recommended way for remix auth_

## Steps for reproduction

### Test A
Visit any of your projects.
Copy pathname.
Logout.
Create URL `https://{SITE_URL}/login?returnTo={YOUR_PROJECT_PATH}`
Visit it.
After login you will be redirected to
`https://{SITE_URL}/login?returnTo={YOUR_PROJECT_PATH}`


### Test B

Delete all projects you have.
Logout.
Visit `http://{SITE_URL}/rest/project/clone/webstudiois`
You will be asked to login, and then redirected to cloned project.








## Code Review

- [ ] hi @TrySound , I need you to do
  - conceptual review (architecture, feature-correctness)
  - detailed review (read every line)

## Before requesting a review

- [x] made a self-review
- [ ] added inline comments where things may be not obvious (the "why",
not "what")

## Before merging

- [x] tested locally and on preview environment (preview dev login:
5de6)
- [ ] updated [test
cases](https://github.com/webstudio-is/webstudio-designer/blob/main/apps/designer/docs/test-cases.md)
document
- [ ] added tests
- [ ] if any new env variables are added, added them to `.env.example`
and the `designer/env-check.js` if mandatory
2023-01-16 21:32:35 +03:00
Ivan Starkov 2f171e0f42 Add initial trpc interface package (#780)
## Description

ref #548

New `trpc-interface` package.

It's intended to implement various TRPC services we are going to use.
But it can act as a proxy for TRPC services implemented at SAAS and at
open source.

Exposes: `createTRPCProxyServiceClient` method, and `SharedRouter` type.

`createTRPCProxyServiceClient` creates
[createTRPCProxyClient](https://trpc.io/docs/vanilla#initialize-a-trpc-client)
for the local TRCP router, or for a remote TRPC server.
`SharedRouter` type information would be used at SAAS to check that SAAS
services have the same API interface as open-source TRPC.

The current implementation has just an example call `authorize.check`,
without any logic. And used just to check that everything works.


## Steps for reproduction


## Code Review

- [ ] hi @kof, I need you to do
  - conceptual review (architecture, feature-correctness)
  - detailed review (read every line)

- [ ] hi @TrySound , I need you to do
  - conceptual review (architecture, feature-correctness)
  - detailed review (read every line)


## Before requesting a review

- [ ] made a self-review
- [ ] added inline comments where things may be not obvious (the "why",
not "what")

## Before merging

- [ ] tested locally and on preview environment (preview dev login:
5de6)
- [ ] updated [test
cases](https://github.com/webstudio-is/webstudio-designer/blob/main/apps/designer/docs/test-cases.md)
document
- [ ] added tests
- [ ] if any new env variables are added, added them to `.env.example`
and the `designer/env-check.js` if mandatory
2023-01-16 21:31:58 +03:00
Oleg Isonen e0b52fb612 Login visual fixes (#793)
## Description

Login looks terrible, we need a proper design, so I just removed
unnecessary elements and made the buttons neutral

<img width="506" alt="Screenshot 2023-01-16 at 14 38 25"
src="https://user-images.githubusercontent.com/52824/212703640-af16ad13-e8b4-4a8e-aca0-ff735d0f4d79.png">


## Steps for reproduction

1.  open login

 ## Code Review

- [ ] hi @rpominov , I need you to do
  - conceptual review (architecture, feature-correctness)


## Before requesting a review

- [ ] made a self-review
- [ ] added inline comments where things may be not obvious (the "why",
not "what")

## Before merging

- [ ] tested locally and on preview environment (preview dev login:
5de6)
- [ ] updated [test
cases](https://github.com/webstudio-is/webstudio-designer/blob/main/apps/designer/docs/test-cases.md)
document
- [ ] added tests
- [ ] if any new env variables are added, added them to `.env.example`
and the `designer/env-check.js` if mandatory
2023-01-16 16:02:41 +01:00
Bogdan Chadkin 1d457b5b98 Normalize instances in db (#788)
Ref https://github.com/webstudio-is/webstudio-designer/issues/696

Here only migration and converters between tree and list on db access.
2023-01-16 14:58:49 +03:00
Bogdan Chadkin 44b96edf93 Fix styles uploads (#789)
Forgot to move uploads logic to normalized styles
2023-01-16 14:17:32 +03:00