Commit Graph
267 Commits
Author SHA1 Message Date
Bogdan Chadkin f7a3a46b85 build: upgrade storybook (#3915)
Bumped storybook and removed unused addons.
2024-08-10 15:00:43 +02:00
Bogdan Chadkin 0c6a5ebbba refactor: migrate dashboard to postgrest (#3902)
Bumped type-fest everywhere to cast DashboardProject view
2024-08-09 17:47:49 +02:00
Bogdan Chadkin c1d812353e feat: highlight markdown in code editor (#3893)
Closes https://github.com/webstudio-is/webstudio/issues/3485

Last piece in markdown support is code highlight.

<img width="1024" alt="Screenshot 2024-08-07 at 14 19 07"
src="https://github.com/user-attachments/assets/9f1f89eb-d340-4999-94eb-a98c7afc5a49">
2024-08-07 14:43:02 +02:00
Bogdan Chadkin a904d2cdc7 feat: add markdown embed component (#3884)
Ref https://github.com/webstudio-is/webstudio/issues/3485

Added component with descendants support.

<img width="861" alt="Screenshot 2024-08-06 at 15 53 33"
src="https://github.com/user-attachments/assets/4c488573-f52c-4661-b626-cedc113ee10c">
2024-08-07 00:51:41 +02:00
Bogdan Chadkin 44b2e80c31 build: bump remix (#3865)
Ref https://github.com/remix-run/remix/releases/tag/remix%402.11.0

Upgraded to the latest remix. Nothing major.
2024-08-04 14:56:28 +02:00
Bogdan Chadkin 214a1d5e39 refactor: move trpc-interface to postgrest (#3874)
- bumped @trpc/client and @trpc/server
- switched to postgrest for requests
2024-08-04 13:25:42 +02:00
Bogdan Chadkin 1746cf37c6 refactor: upgrade radix primitives (#3808)
Ref
https://www.radix-ui.com/primitives/docs/overview/releases#june-19-2024

Upgraded everything except react-scroll-area.

What to test

- builder
- radix sdk stories
2024-08-02 17:02:34 +02:00
Ivan Starkov 231c792ebf experimental: Enhance Performance by Using Postgrest to Fetch Data from Build Table (#3758)
## Description

[Big Project
Example](https://postgrest.development.webstudio.is/builder/be939bf2-9095-4e17-b175-69de2bbf9597)

Reduces time of big projects loading:

✓ { scenario:new_o }...........: avg=2.58s min=1.99s med=2.54s max=3.53s
p(90)=2.95s p(95)=3.15s p(99)=3.44s count=31
✓ { scenario:old_o }...........: avg=5.5s min=4.55s med=5.12s max=15.58s
p(90)=5.44s p(95)=6.02s p(99)=12.87s count=31

2 times faster. (but highly depends on test times, project size etc
sometimes it's 6x difference)

Reduces patch time too.

## 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/blob/main/apps/builder/docs/test-cases.md)
document
- [ ] added tests
- [ ] if any new env variables are added, added them to `.env` file
2024-07-20 18:34:36 +03:00
Bogdan Chadkin a533debc3b build: bump remix (#3749)
- netlify got rid of opentelemetry
- postcss is deduped
2024-07-18 13:28:54 +02:00
Bogdan Chadkin b0726f1be1 build: bump storybook (#3731)
Storybook cut a lot of transitive packages. Now upgrades should be
easier. Future 8.3 promise to cut even more.
2024-07-17 13:32:18 +02:00
Ivan Starkov 3cf1d2b16d build: Move rate-limit to cloudflare (#3710)
## Description

Move rate-limit to cloudflare

## 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/blob/main/apps/builder/docs/test-cases.md)
document
- [ ] added tests
- [ ] if any new env variables are added, added them to `.env` file
2024-07-15 16:27:00 +03:00
Bogdan Chadkin a58f2eff04 build: run all tests and typechecks in CI (#3661)
Here improved our checks. No longet rely on "checks" script but run
"test" and "typescript" scripts from each package in monorepo.

Would also make each package less boilerplaty.
2024-07-02 18:21:05 +03:00
Bogdan Chadkin ad5d050308 experimental: parse css wide keywords correctly (#3651)
Here added universal support for css wide keywords. initial, inherit and
unset will be parsed the same way for layered properties and singular
properties.

It will never be part of layers and always be represented as root
keyword.
2024-06-30 22:45:30 +03:00
Bogdan Chadkin 009c5d8e2d experimental: parse non-standard properties (#3648)
Ref https://github.com/webstudio-is/webstudio/issues/2647

Fixed parsing non-standard properties with prefixes

- font-smoothing
- -webkit-font-smoothing
- -moz-osx-font-smoothing
- tap-highlight-color
- -webkit-tap-highlight-color
- -webkit-overflow-scrolling
2024-06-30 02:25:18 +03:00
Bogdan Chadkin c1fc58ff4f experimental: expand background shorthand (#3647)
Ref https://github.com/webstudio-is/webstudio/issues/2647

Here added support for background shorthand in css parser. Refactored
background image parser and simplified figma paste parser.
2024-06-29 19:44:00 +03:00
Ivan Starkov dd7447a0b6 experimental: Upload Webflow background-image assets on copy-paste (#3638)
## Description

Upload backgrounds on webflow paste.

## Steps for reproduction

Create backgrounds with images at webflow
paste into the new project.

Example (everything is pasted from webflow in a single copy-paste)

https://upload-style-assets.development.webstudio.is/builder/dc6eae9d-dae6-4ba8-ade2-abd86f733d6a

Layers use assets
<img width="495" alt="image"
src="https://github.com/webstudio-is/webstudio/assets/5077042/aed96a08-f369-48b4-84ec-3e935c293510">


## 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/blob/main/apps/builder/docs/test-cases.md)
document
- [ ] added tests
- [ ] if any new env variables are added, added them to `.env` file
2024-06-28 18:44:44 +03:00
Bogdan Chadkin 13a4af8277 build: upgrade storybook (#3639)
Ref https://github.com/storybookjs/storybook/releases/tag/v8.1.11

Nothing critical
2024-06-28 13:14:31 +03:00
Ivan Starkov 4d0574d573 build: Update typescript (#3637)
## Description

1. What is this PR about (link the issue and add a short description)

## 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/blob/main/apps/builder/docs/test-cases.md)
document
- [ ] added tests
- [ ] if any new env variables are added, added them to `.env` file
2024-06-28 11:46:13 +03:00
Bogdan Chadkin 06a3e84487 build: upgrade to remix 2.10.0 (#3621)
Ref https://github.com/remix-run/remix/blob/main/CHANGELOG.md#v2100

Not important changes.
Netlify adds more opentelemetry, grpc and protobuf packages.
Reinstalled vanilla-extract drops old version of vite
2024-06-26 21:14:29 +03:00
Bogdan Chadkin 93aeceac59 build: bump storybook (#3559)
Upgrade storybook and vite, esbuild and tsx with it.
2024-06-14 01:18:30 +03:00
Bogdan Chadkin 56fbabf56d fix: clear format in text toolbar (#3544)
Here upgraded to the latest lexical version
and fixed the issue with updating buttons state
after format clearing.

<img width="321" alt="Screenshot 2024-06-12 at 16 59 26"
src="https://github.com/webstudio-is/webstudio/assets/5635476/7753070d-f627-4ac6-bee9-159dad9447eb">
2024-06-13 02:35:28 +03:00
Bogdan Chadkin f9c7b7a153 refactor: merge icon modules (#3516)
Our vite setup in builder is getting slower
because of huge amount of modules.

Here I merged more than 400 icon modules into 2 modules string and
components.

This should improved vite experience and slightly reduce bundling time.
2024-06-11 00:47:27 +03:00
Bogdan Chadkin d2be4bee67 build: bump storybook (#3515)
Here upgraded storybook with reresolved transitive dependencies. Removed
babel/types override, will eventually let us deduplicate a lot of
dependencies.
2024-06-07 17:11:29 +03:00
Ivan Starkov 0e1d1cf963 feat: Image Manager drag/drop suport (#3505)
## Description

This is 1st PR In a series of PR's

Next: Image URL Links upload support.

Image Manager now support files drag/drop
(Images, Fonts etc)

## Steps for reproduction

Drag files on image manager see it works.

## 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/blob/main/apps/builder/docs/test-cases.md)
document
- [ ] added tests
- [ ] if any new env variables are added, added them to `.env` file
2024-06-07 15:59:02 +03:00
Bogdan Chadkin 9998f1633f build: replace dotenv with node env loader (#3500)
Refs
- https://nodejs.org/docs/latest/api/process.html#processloadenvfilepath
-
https://nodejs.org/en/learn/command-line/how-to-read-environment-variables-from-nodejs

Here switched from dotenv to node env loader.
Solves both command line and runtime cases.
The only issue is inability to specify --env-file with NODE_OPTIONS.

Also fixed dev migrations by optionally loading .env.development
2024-06-05 18:26:35 +03:00
Oleg Isonen 4aef12cd7a experimental: Paste from webflow 4 (#3491)
## Description

- webflow css preset

## 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/blob/main/apps/builder/docs/test-cases.md)
document
- [ ] added tests
- [ ] if any new env variables are added, added them to `.env` file
2024-06-05 17:14:23 +02:00
Bogdan Chadkin be20193a85 build: upgrade remix (#3472)
Bumped a few packages
- remix run
- react router dom
- remix auth
- isbot
- netlify remix adapters
2024-06-01 23:15:05 +03:00
Bogdan Chadkin 4f285a1dd2 feat: insert a variable at the caret position from the list (#3469)
Ref https://github.com/webstudio-is/webstudio/issues/3080

Here improved variables list in bindings to insert variable at cursor
instead of full expression override.

Also bumped codemirror and disabled autocomplete in variable "name".



https://github.com/webstudio-is/webstudio/assets/5635476/2a5482e2-b880-4bcd-abdf-10ce6db68d31
2024-06-01 14:50:08 +03:00
Bogdan Chadkin 0883212cdb refactor: drop --force flag from migrations (#3447) 2024-05-29 23:39:14 +03:00
Bogdan Chadkin ea30e840a1 refactor: merge all storybooks into one (#3441)
Monorepo setup for storybook is very complicated, it has two major
problems

- it is very annoying to look for any link in commit status
- hard to upgrade comparing with single project setup

Here merged all storybooks into one in the root.
2024-05-29 17:05:17 +03:00
Bogdan Chadkin a74f895487 refactor: host hyphenate-style-name (#3421)
hyphenate-style-name utility is basically oneliner but requires to
install two packages. Considering we will switch to hyphenate property
naming by default, no reason to rely on this package.

Also switched to unprefixed property in css preview and property name
tooltips.
Just shows background-clip instead of -webkit-background-clip.
2024-05-26 19:14:16 +03:00
Bogdan Chadkin bd9cde8d52 build: upgrade storybook 8 (#3085) 2024-05-22 10:45:43 +03:00
Bogdan Chadkin 31ceb2bc44 fix: support multiline graphql in curl (#3342)
Here fixed the issue with parsing curl by switching argv parser.
2024-05-11 21:32:32 +03:00
Bogdan Chadkin 7128bc9204 build: publish 0.151.0 (#3297) 2024-05-04 16:56:39 +04:00
Bogdan Chadkin 7d78a85cbd refactor: upgrade to remix 2.9.1 (#3287)
Ref https://github.com/webstudio-is/webstudio/issues/3284

Bumped remix to 2.9.1 and fixed remix version in cli templates to avoid
accidental install of higher remix version and conflicting with
specified versions.
2024-05-04 00:06:01 +04:00
Ivan Starkov 7e1ec54079 build: Fix timeout error (#3222)
The only way I found to make it work is to deploy all functions again
Was:
<img width="1245" alt="image"
src="https://github.com/webstudio-is/webstudio/assets/5077042/2ce88b6a-3bdd-4c58-b690-fa2f5b35cb18">

Now:
<img width="1228" alt="image"
src="https://github.com/webstudio-is/webstudio/assets/5077042/a90ee191-fb4b-4666-859f-502e06929099">


Any ideas why rest/ai so much smaller than all other routes?
2024-04-23 11:48:39 +03:00
Bogdan Chadkin cb5e43580b refactor: replace uuid with crypto.randomUUID() (#3218)
crypto.randomUUID() is globally available in node and browser
environments. Uuid package is no longer necessary for our cases.
2024-04-21 15:38:39 +07:00
Bogdan Chadkin d0a00a3ebc refactor: render canvas only client side (#3199)
We don't need canvas to be rendered server side either.

```diff
build/server
- 1164 kB
+ 812 kB
```

Removed components metas form static json since we not longer bundle all
components on server.

Also refactor client only component with useSyncExternalStore which
render without waiting for effect commit and avoids hydration errors at
the same time.
2024-04-18 13:58:26 +07:00
Bogdan Chadkin c336b6ebc7 build: publish 0.145.0 (#3192) 2024-04-18 10:43:07 +07:00
Ivan Starkov 6d5e55b892 build: Update react + typescript hotfix (#3194)
## Description

Use canary react 

## 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/blob/main/apps/builder/docs/test-cases.md)
document
- [ ] added tests
- [ ] if any new env variables are added, added them to `.env.example`
and the `builder/env-check.js` if mandatory
2024-04-17 22:23:37 +03:00
Bogdan Chadkin 6d63dac7fd fix: improve code editor (#3181)
Ref https://github.com/webstudio-is/webstudio/issues/2956
https://github.com/webstudio-is/webstudio/issues/3080

- fix clicking on autocomplete options
- stop overriding tab in expression autocomplete
- indent with tab in all editors
- prevent deleting instance when cut inside code editor
- switched to more neutral code highlight without red strings

<img width="519" alt="Screenshot 2024-04-16 at 13 45 58"
src="https://github.com/webstudio-is/webstudio/assets/5635476/e27fdaf3-55a4-4c1a-9f5a-356e6df7624d">
2024-04-16 18:11:04 +07:00
Bogdan Chadkin e09f8a184e build: switch to pnpm linker (#3168)
With new remix setup we may finally not need hoisted linker which makes
pnpm very buggy.

Here added all missing dependencies to package.json and removed node
linker from .npmrc.
2024-04-14 23:07:53 +07:00
Bogdan Chadkin 3db9d3d8e8 feat: support pasting cURL into resource URL (#3156)
Closes https://github.com/webstudio-is/webstudio/issues/3087

https://github.com/webstudio-is/webstudio/assets/5635476/67161bea-2acc-4235-970b-b81520011341
2024-04-14 01:05:34 +07:00
Bogdan Chadkin 81b3daafb4 refactor: upgrade remix-auth (#3143)
Missed bumping it along with remix v2.
Also dropped @vercel/remix package as installed by vercel automatically.
2024-04-13 02:06:21 +07:00
Bogdan Chadkin 1e7b2e6aae refactor: upgrade remix-island (#3126)
Here bumped package with minor change to support layouts we don't use.
Added comment with reference to the PR and repro.
2024-04-10 13:21:30 +07:00
Bogdan Chadkin 6f3ac9d20a refactor: drop fetch polyfills (#3125)
Remix Vite no longer polyfills streams and fetch.
Should be safe to drop them.

Stream polyfills broke ai, fetch broke trpc.
2024-04-10 10:56:56 +07:00
Bogdan Chadkin ecc7c75e84 build: remove unused build scripts (#3123)
dev, build and dts are not necessary in not published packages and can
be removed. Builder vite setup is able to access webstudio export
conditions. Only prisma client need to be built before builder.

This will reduce CI time which runs build many times in various
workflows.
2024-04-09 20:46:22 +07:00
Bogdan Chadkin 4007fc329d refactor: switch to remix vite (#3120)
Ref https://remix.run/docs/en/main/future/vite#setup-vite
2024-04-09 17:45:00 +07:00
Bogdan Chadkin c596da6127 refactor: cleanup shared modules (#3119)
Got rid of remix/index.ts which mixed server and client code. Dropped
unused crypto utilities and jose dependency.
2024-04-09 14:09:35 +07:00
Bogdan Chadkin 9136430cb5 refactor: restructure ai package (#3118)
Here refactored ai package to better split server and client parts and
not leak babel to client.

This save ~100kB in our bundle size.
2024-04-09 13:05:48 +07:00