webstudio/vite.sdk-components.config.ts
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

43 lines
1015 B
TypeScript

import { defineConfig } from "vite";
import { existsSync } from "node:fs";
import path from "node:path";
const hasPrivateFolders = existsSync(
path.join(process.cwd(), "private-src", "README.md")
);
const isBareImport = (id: string) =>
id.startsWith("@") || id.includes(".") === false;
export default defineConfig({
build: {
lib: {
entry: [
hasPrivateFolders ? "private-src/components.ts" : "src/components.ts",
"src/metas.ts",
"src/props.ts",
"src/hooks.ts",
"src/templates.ts",
],
formats: ["es"],
},
rollupOptions: {
external: isBareImport,
output: [
{
preserveModules: true,
preserveModulesRoot: "src",
dir: "lib",
},
hasPrivateFolders
? {
preserveModules: true,
preserveModulesRoot: "private-src",
dir: "lib",
}
: undefined,
].filter((output) => output !== undefined),
},
},
});