Commit Graph
171 Commits
Author SHA1 Message Date
Ivan Starkov 35d0d7c8ac experimental: Breakpoint support for the Animation component (#5012)
## Description

https://animations.wstd.work/
Breakpoints Example

See on narrow screen animation is disabled.

<img width="699" alt="image"
src="https://github.com/user-attachments/assets/f464fdf3-f57a-4cf7-91a1-beb355f8a5bd"
/>



## 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:
0000)
- [ ] 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
2025-03-18 23:30:17 +05:00
Bogdan Chadkin 8b526dc7e9 refactor: store webhook form action as resource (#4983)
Ref https://github.com/webstudio-is/webstudio/issues/4093

Here's refactoring to unlock resource UI in webhook form

Need to test in builder and on published site

1. Create webhook form in main and try to update it on this branch. So
legacy text prop should automatically migrate to resource.

2. New webhook form should create resource when type anything in action
prop
2025-03-13 11:02:44 +07:00
Ivan Starkov ca4b0f89bc experimental: Animation publishing (#4976)
## 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:
0000)
- [ ] 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
2025-03-11 11:19:01 +05:00
Bogdan Chadkin 7a41a1e733 fix: render empty page when xml is empty (#4966) 2025-03-08 01:21:12 +07:00
Bogdan Chadkin b6437fe0df fix: handle empty xml (#4965)
XML body did not have any children and the logic had runtime error.
2025-03-07 23:50:20 +07:00
Bogdan Chadkin a344b34cf7 refactor: generate only asset name for published sites (#4947)
We don't really need anything from asset object on published sites
except the name to resolve the file.

Here got rid from Asset objects for favicon, fonts and backgrounds. This
should reduce client bundle where a lot of assets are used.
2025-03-05 20:54:34 +07:00
Bogdan Chadkin 238e300f6d refactor: simplify xml generation (#4942)
- got rid of svg hacks, suffix seems work well
- filtered data instead of generating empty components
- fixed sitemap in features fixture
2025-03-05 12:44:38 +07:00
Bogdan Chadkin bdf4463098 fix: set proper default value in radix with content block (#4937)
User reported in discord.

Radix components like accordion does not open first item by default when
use with content block. The reason was in our default detection.

We used indexes within ancestor and when put item inside of content
block template it gets 0 but not rendered.

Here improved the logic to reset index when render inside of block
template.

<img width="837" alt="Screenshot 2025-03-01 at 21 14 09"
src="https://github.com/user-attachments/assets/788df39a-b7c5-466b-a80e-09cc40de9e3f"
/>
2025-03-04 18:26:29 +07:00
Bogdan Chadkin 95cbb1ccab fix: generate global variables for published sites (#4932)
Another placed missed global variables support.
2025-02-28 22:33:52 +07:00
Bogdan Chadkin 250b525ef9 refactor: move css generation to sdk (#4889)
No changes. Just moved generateCss from react-sdk to sdk.
2025-02-18 21:14:05 +07:00
Bogdan Chadkin b7e1c86f68 experimental: generate global system variable with CLI (#4885)
Here added support for generating global system variable with CLI. It's
not available yet in builder though.

Global system not presented in data but instead can be referenced with
`$ws$system` in expression instead of encoded id like
`$ws$dataSource$id`. Legacy page system variable will continue to work.
2025-02-17 16:50:55 +07:00
Bogdan Chadkin 5c1c55799b feat: drop legacy CLI templates (#4867)
Here dropped vanilla and legacy vercel templates.
Replaced vanilla with docker in publish dialog.

<img width="360" alt="Screenshot 2025-02-13 at 18 34 53"
src="https://github.com/user-attachments/assets/c84cdae1-d1f8-4a91-b03c-1e13e95bcbf2"
/>
2025-02-16 12:50:39 +07:00
Bogdan Chadkin 5fabe66c7f feat: add new vercel template based on react-router (#4825)
Had to add huge @vercel/react-router but it works now.
2025-02-13 17:02:48 +08:00
Bogdan Chadkin 196a3d3903 refactor: drop legacy netlify templates from CLI (#4833)
Remix will no longer be used for netlify. And less choice for user. Now
we have only netlify and ssg netlify templates.

<img width="374" alt="image"
src="https://github.com/user-attachments/assets/29d68ee9-afee-42a8-8e0b-90ffa7bb52de"
/>
2025-02-05 17:01:49 +07:00
Bogdan Chadkin b9f84e723c feat: add new netlify template (#4812)
- added netlify template for react-router based on
https://github.com/remix-run/react-router-templates/pull/40
- fixed images optimization on deployed site (legacy templates still
broken)
- added deploy script

Can be tested with `npx webstudio@0.0.0-c1d6247`

Gonna remove legacy netlify templates in separate PR

<img width="578" alt="image"
src="https://github.com/user-attachments/assets/2d19de74-36be-48a0-8511-9ce1665b755d"
/>
2025-02-02 12:37:47 +07:00
Bogdan Chadkin 65e9e80025 refactor: split docker template (#4809)
We want to migrate more templates to react-router
so here I split docker template into react-router and
react-router-docker. Image processing, dockerfile and node environment
are left as docker specifics.
2025-01-31 17:55:59 +07:00
Bogdan Chadkin a0189c1b72 refactor: drop react and warn-once from CLI (#4801)
Here removed image package from CLI which depends on react and
warn-once. CLI can be a little smaller without it.
2025-01-29 10:46:19 +07:00
Bogdan Chadkin bc618d42fe experimental: add missing pieces to docker template (#4783)
- Got rid of peer dependencies warnings
- Added missing files in template
- reduced install time of dependencies
- added docker to init options
2025-01-25 17:56:20 +07:00
Bogdan Chadkin 1f48985a1c experimental: add docker template to CLI (#4744)
Here added first react-router template which additionally adds docker
support. For now only adds Dockerfile + .dockerignore. Will add support
for image transforms separately.

Mostly duplicated defaults template

- replaced remix packages with react-router ones
- replaced `return redirect()` with `throw redirect()`

The template for now is self contained. Will split base react-router
template when will add more integrations.
2025-01-19 17:04:31 +07:00
Bogdan Chadkin 94f219c249 refactor: rewrite core components templates with jsx (#4756)
Here refactored all core components with jsx templates and moved them to
sdk package. Fixed all imports as well.
2025-01-17 18:29:40 +07:00
Bogdan Chadkin ca85eddd2d refactor: add animation package (#4745)
Just an empty one
2025-01-16 13:29:21 +07:00
Bogdan Chadkin 86defe847f refactor: move component meta to sdk (#4720)
Moved all component meta and embed template to sdk schema. Embed
template generator is left in react-sdk, will probably be removed
eventually.
2025-01-05 23:20:23 +07:00
Bogdan Chadkin d07cef8d38 refactor: drop --preview flag from CLI (#4707)
We figured assets can be loaded from shared url without additional
manipulation. Here got rid of asset origin detection and dropped
excessive --preview flag. Now local, staging and prod will work
automatically.
2025-01-04 01:54:18 +07:00
Bogdan Chadkin 78d98a5519 refactor: pass wsImageLoader directly (#4567)
Split our saas image loader into separate function which is passed
directly everywhere without createImageLoader.
2024-12-12 13:56:46 +07:00
Bogdan Chadkin 729978a78e refactor: drop image base url from cli and templates (#4563)
In all cli templates asset base url and image base url are the same so
we can safely switch.

Removed image loader from prebuild.ts.

Dropped imageBaseUrl from sdk react context.
2024-12-12 11:43:18 +07:00
Ivan Starkov 7975fce938 feat: Create xml-time component to convert time to iso string in xml documents (#4515)
## Description

<img width="260" alt="image"
src="https://github.com/user-attachments/assets/de289e25-1ffe-4af9-afdb-8ed3db70c1e8">

Tested with fixtures.

## 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:
0000)
- [ ] 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-12-05 19:00:55 +03:00
Bogdan Chadkin cb255932bf refactor: migrate CLI tests to vitest (#4409)
Jest is barely maintained and vitest is blazinly faster.
2024-11-13 01:38:19 +04:00
Bogdan Chadkin 898728150f refactor: replace execa with tinyexec (#4400)
No dependencies, windows support, not trying to recreate shell.
2024-11-11 16:20:00 +04:00
Ivan Starkov 11c65dcdff fix: XML Node with title tag nested in any other XML Node breaks document (#4361)
## Description

closes #3715

## Steps for reproduction
paste in chrome

`view-source:https://webstudio-fixture-project-a-0su3o.wstd.work/sitemap.xml`

See title tag exists

<img width="412" alt="image"
src="https://github.com/user-attachments/assets/66df98b3-8d41-4890-8957-6f0bf6a758bb">

## 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-11-04 17:31:55 +04:00
Ivan Starkov ab2a985451 fix: Xml namespaces support (#4351)
## Description

closes #4343

## Steps for reproduction


https://p-cddc1d44-af37-4cb6-a430-d300cf6f932d-dot-sitemap.staging.webstudio.is/?pageId=FsnS9ui6btzM4W3YELE3Q&authToken=1cdc6026-dd5b-4624-b89b-9bd45e9bcc3d


<img width="423" alt="image"
src="https://github.com/user-attachments/assets/711bbda5-cf92-4421-853b-23eddcb8a8a7">


Resulting xml

https://webstudio-fixture-project-a-0su3o.wstd.work/sitemap.xml

```xml
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>https://webstudio-fixture-project-a-0su3o.wstd.work/</loc><lastmod>2024-05-07</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://webstudio-fixture-project-a-0su3o.wstd.work/en"></xhtml:link></url><url><loc>https://webstudio-fixture-project-a-0su3o.wstd.work/olegs-test</loc><lastmod>2024-05-07</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://webstudio-fixture-project-a-0su3o.wstd.work/olegs-testen"></xhtml:link></url><url><loc>custom-hand-made-location</loc><lastmod>2020-10-10</lastmod><xhtml:link rel="alternate" hreflang="en" href="custom-en-location"></xhtml:link></url></urlset>
```

## 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-10-28 23:09:13 +03:00
Bogdan Chadkin c05ccdd851 experimental: generate root styles for published sites (#4177)
Ref https://github.com/webstudio-is/webstudio/issues/3399

- render layout hack (display: grid; min-height: 100%) as root preset
styles
- generate root user styles on published sites
- moved typography preset from body to the root
- bumped a couple of deps

<img width="240" alt="Screenshot 2024-09-28 at 23 25 08"
src="https://github.com/user-attachments/assets/eaf7476e-f488-4f1f-89db-6d464c05b35f">
2024-10-01 13:54:10 +03:00
Ivan Starkov 0765d38047 fix: User defined class name is not being escaped (#4185)
## Description
 
closes #4181

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-10-01 13:50:15 +03:00
Ivan Starkov 6ba6fc5ce8 feat: Preview by publishing to subdomain only aka staging (#4143)
## Description

closes #2644

- [x] - Merge this https://github.com/webstudio-is/webstudio/pull/4156
into this PR

- If the user has no custom domains:
  - [x] Checkbox for Pro users is not shown.
  - [x] Checkbox for Free users is shown but disabled (Tooltip enabled).

- If the user has custom domains:
  - No Pro:
    - [x] Checkboxes are shown disabled with Tooltips.
  - Pro:
    - Users can select any checkbox (no Tooltips).

- Current indexing logic:
- If a user has custom domain(s), upon publishing, the `*.wstd.io`
domain will receive the meta tag:
    ```html
    <meta name="robots" content="noindex, nofollow">
    ```

- [x] - Fix example.com in tests (NEXT PR #4156) 
- [ ] - saas cleanup should be changed (we need to preserve latest build
by domain now) (NEXT PR)
- [x] - Disable Publish Button if no checkboxes are selected

- "With the Pro, you’ll gain the ability to publish to each domain
independently!"
<img width="477" alt="image"
src="https://github.com/user-attachments/assets/105577e5-318f-4146-a3eb-38c2117f6f79">

## Steps for reproduction

### Non Pro

- Login as a new non Pro User `pass:vaska@pupkin.ru`
- Create a new Project, Click Publish. Expect Disabled Checkbox with
Tolltip is visible. Publish is Enabled.
<img width="445" alt="image"
src="https://github.com/user-attachments/assets/e48654af-1969-4f96-b048-a3fa72303b8f">
- Publish, check it published.
- Add custom domain, Publish, check both are published.

### Pro

- Login as a Pro User `pass`
- Open new Project. Expect No checkbox. One wstd domain.
<img width="351" alt="image"
src="https://github.com/user-attachments/assets/c62f9ae5-669a-46ad-a2f2-32ba333068f9">
- Publish. Expect it published.
- Add domain. See checkboxes visible after domain activated.
- Publish. Expect both published.
- Uncheck checkboxes, see publish button disabled. See it has tooltip.



## 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-09-25 10:24:23 +03:00
Jaya Krishna Namburu 41ef20fe43 fix: check for expanded templates when a template is selected from the cli init flow. (#4107)
fixes #4105 
## Description

This issue fixes picking the default vanilla template in the cli
init-flow. Right now, when a template is selected from the
`PROJECT_TEMPLATES` we are directly sending the value to `build`. But we
need to check for the `expanded` value of the template in order to pick
all the series of templates needed for the build.


## Steps for reproduction
- create a project in the editor.
- Now, create a share-link for the project and copy it.
- Run `webstudio` in your local terminal and then the cli prompts for
the URL, parse the url from the above step.
- Now, pick `Vanilla` as a template from the list of the templates.
- The project should build a vanilla template without any errors.

## Code Review

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

## Before requesting a review

- [x] made a self-review
- [x] 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)
2024-09-20 08:53:54 +02:00
Ivan Starkov f653a116e7 chore: Update fixtures date (#4138)
## 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-09-19 23:08:58 +03:00
Ivan Starkov f46abe2f04 fix: Support new project links in the cli (#4049)
## Description

closes #4048

## Steps for reproduction

see fixtures
We are still supporting `BUILDER_URL_DEPRECATED` (in a single fixture)
and all other fixtures uses modern link format


## 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-09-02 16:59:06 +03:00
Ivan Starkov 13da170ef4 experimental: Allow json in template literals (#3886)
## Description
closes #3872


- [x] - Builder support
- [x] - Publish support

## Steps for reproduction

Example

https://add-json.staging.webstudio.is/builder/8160e16d-5ab4-4249-86de-0c98a64526a3

https://test-json-ki9yj.wstd.work/

## 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-08-11 11:50:18 +03:00
Ivan Starkov 749d56920f chore: Load fixtures by build id, use current deplyment for sync (#3890)
## Description

- [x] - Sync fixtures by buildId `pnpm cli sync --buildId blabla`
- [x] - Sync with current branch deployment 

## 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-08-07 01:29:05 +03:00
Bogdan Chadkin 829d46aed6 refactor: split react-sdk/runtime (#3858)
Here split everything imported from react-sdk by published sites into
separate entry point react-sdk/runtime.

The result in ssg fixture is the following

```diff
-  429788 chunk-CuG10VAj.js
+  370366 chunk-D4NWbWis.js
```
2024-08-02 14:17:42 +02:00
Ivan Starkov 54e686a4e3 experimental: Add ssg-netlify and ssg-vercel to the cli (#3835)
## Description

### Todos

- [x] - Expand support: `ssg` and `ssg-(netlify|vercel)` differ by only
one file. This expansion allows a single external template to apply to
multiple internal uses (previously hardcoded in prebuild, see
`defaults`).
- [x] - Add & test ssg-vercel and ssg-netlify constants.mjs templates to
support image optimizations.

## Steps for reproduction

```bash
cd ./fixtures/ssg
pnpm cli build --template ssg-netlify --template internal --preview && pnpm prettier --write .
pnpm build
```

then drag drop on netlify and see the result
[example](https://66a9d3c5c6bb86681c6611e4--inspiring-liger-df7a81.netlify.app/)
```html
<img alt="" width="14" height="16" src="/.netlify/images?url=%2Fassets%2Ficonly_svg_converted-converted_zMaMiAAutUl8XrITgz7d1.svg&amp;w=32&amp;q=80" class="w-image c161qeci" sizes="100vw" srcset="/.netlify/images?url=%2Fassets%2Ficonly_svg_converted-converted_zMaMiAAutUl8XrITgz7d1.svg&amp;w=16&amp;q=80 16w, /.netlify/images?url=%2Fassets%2Ficonly_svg_converted-converted_zMaMiAAutUl8XrITgz7d1.svg&amp;w=32&amp;q=80 32w" decoding="async" loading="lazy">
```


```bash
cd ./fixtures/ssg
pnpm cli build --template ssg-vercel --template internal --preview && pnpm prettier --write .
pnpm build
```

Upload to https://github.com/webstudio-is/ssg-vercel-test/tree/main
See vercel deployment
[example](https://ssg-vercel-test-r0a778rpj-getwebstudio.vercel.app/)

```html
<img alt="" width="14" height="16" src="/_vercel/image?url=%2Fassets%2Ficonly_svg_converted-converted_zMaMiAAutUl8XrITgz7d1.svg&amp;w=32&amp;q=80" class="w-image c161qeci" sizes="100vw" srcset="/_vercel/image?url=%2Fassets%2Ficonly_svg_converted-converted_zMaMiAAutUl8XrITgz7d1.svg&amp;w=16&amp;q=80 16w, /_vercel/image?url=%2Fassets%2Ficonly_svg_converted-converted_zMaMiAAutUl8XrITgz7d1.svg&amp;w=32&amp;q=80 32w" decoding="async" loading="lazy">
```





## 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-31 19:06:43 +03:00
Ivan Starkov 02e7531585 experimental: Templates support (#3819)
## Description

Only support without any UI

Corresponding saas
https://github.com/webstudio-is/webstudio-saas/pull/312

## 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-30 20:10:40 +03:00
Ivan Starkov 8be665e68d experimental: SSG download support (#3783)
## Description

See corresponding [SaaS
PR](https://github.com/webstudio-is/webstudio-saas/pull/311) too

## Steps for reproduction

Click Publish/Export

<img width="363" alt="image"
src="https://github.com/user-attachments/assets/fbc1f4e5-3a2c-4bb9-9242-025196f991bc">


Deploy zip to netlify
<img width="1710" alt="image"
src="https://github.com/user-attachments/assets/daca4ead-6272-4729-8e82-0986301e5c8b">


## 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-30 08:57:33 +03:00
Bogdan Chadkin 50a71564f5 feat: support static site generation in cli (#3813)
Closes https://github.com/webstudio-is/webstudio/issues/3763

Added ssg to the list of templates.
2024-07-29 13:30:30 +02:00
Bogdan Chadkin d7531b73b7 refactor: manage forms with resources (#3803)
Ref https://github.com/webstudio-is/webstudio/issues/3789

Here changed a few things

- replace WebhookForm action prop with resource, which is sent with
hidden field instead of instance id
- prevented generating method and action in client side code
- generate "action" resource instead of form properties for server

action prop is replaced only inside cli to not require support in
builder yet, in the future this can be part of client migrations
2024-07-27 20:20:29 +02:00
Bogdan Chadkin 34ae0411db refactor: decouple resource loader from generated requests (#3798)
Ref https://github.com/webstudio-is/webstudio/issues/3789

Unified resource generation to output computed request factory to use in
both loader and action.
2024-07-27 11:59:46 +02:00
Bogdan Chadkin f73680027f feat: use classes for preset styles (#3794)
Closes https://github.com/webstudio-is/webstudio/issues/3787

Replaced [data-ws-component=...] selector with classes in generated
styles. This will unlock cleaner html output in the future.
2024-07-26 10:45:29 +02:00
Bogdan Chadkin 37791ee4c1 experimental: support ssg with vike (#3773)
Ref https://github.com/webstudio-is/webstudio/issues/3763

Here added new "ssg" template to cli.
Generated non-remix app. `vike build` generates
static site at `dist/client`.

```
cd fixtures/ssg
pnpm build
npx sirv-cli client/dist
```
2024-07-23 10:51:36 +02:00
Bogdan Chadkin 2518719ba9 refactor: merge tsconfig from CLI templates (#3774)
Here changed tsconfig copying logic to merge instead of override. This
simplifies alternative frameworks support.
2024-07-22 13:49:10 +02:00
Bogdan Chadkin a10c9d16b3 refactor: replace constants in templates (#3770)
Here made constants path easier to access from dynamic paths by
automatically replacing __CONSTANTS__ with actual relative path.

This is necessary for vike support which has folder based routes.
2024-07-21 15:34:07 +02:00
Bogdan Chadkin 4977e82031 refactor: move social asset into page meta (#3764)
Removed social asset form top level and moved into generated page meta.
Will be less generated data and simple page head.
2024-07-19 21:32:22 +02:00