Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
558 commits
Select commit Hold shift + click to select a range
e0bd0e7
[PLA-12793] Fixes in /cli for Next.js app router codegen sync (#2139)
sarahsga Jan 26, 2026
12b4234
Publish
Jan 26, 2026
ea3ca01
upgrade-internal
Jan 26, 2026
3fbb85b
fix: Layout style from a preset does not apply on the element (#2184)
sarahsga Jan 28, 2026
37e22f3
[PLA-12830] include empty dataTokensFilePath (#2196)
sampullman Jan 28, 2026
1a29b62
Publish
Jan 28, 2026
c65638a
upgrade-internal
Jan 28, 2026
f91daec
[PLA-12478]: Add Plasmic AI Chat endpoint (#2170)
asimkhan73301 Jan 28, 2026
07a6cb2
[PLA-12825] CSS value update bugs (#2198)
abbas-nazar Jan 29, 2026
c76345e
[PLA-12773]: Improve UX for recording/viewing Element Variants (#2090)
asimkhan73301 Jan 29, 2026
d63ab12
[PLA-12842] support default and advanced in flattened object params (…
sampullman Feb 1, 2026
ff713f8
[PLA-12839] add host to CMS functions and fix codegen bug (#2209)
sampullman Feb 2, 2026
9f1b245
Publish
Feb 2, 2026
0d04f18
upgrade-internal
Feb 2, 2026
5ded9fe
chore: remove cypress from package.json (#2211)
sampullman Feb 2, 2026
cd0f42c
fix(antd5): collapse/accordion's expand icon can rotate to any angle …
sarahsga Feb 2, 2026
5eee35a
Publish
Feb 2, 2026
0f9f8ac
upgrade-internal
Feb 2, 2026
0ee2f8f
[cli][create-plasmic-app] fix pnpm install command (#2191)
jaslong Feb 3, 2026
eced7d4
Publish
Feb 3, 2026
f5056d4
upgrade-internal
Feb 3, 2026
0153cb1
Remove some old cypress tests (#2220)
sampullman Feb 3, 2026
e48355a
[DEVOP-438]: Create util and migration to create wabro user (#2193)
daniel-schub Feb 3, 2026
0ed5b05
[DEVOP-438]: Create migration to grant read only role to wabro (#2189)
daniel-schub Feb 4, 2026
56d9f9f
RSC UX (#2075)
jaslong Feb 5, 2026
0331106
Integrate query builder in Contentful package (#2103)
sarahsga Feb 5, 2026
64c950c
Publish
Feb 5, 2026
916e231
upgrade-internal
Feb 5, 2026
0158211
Integrate query builder in Wordpress package (#2104)
sarahsga Feb 5, 2026
0c9e114
Publish
Feb 5, 2026
14258d0
upgrade-internal
Feb 5, 2026
e759282
Minor improvement to fetch meta (#2183)
sarahsga Feb 5, 2026
f2349ca
Publish
Feb 5, 2026
9134531
upgrade-internal
Feb 5, 2026
667286a
[DEVOP-320]: Change pipelines to run in ARM64 (#2219)
daniel-schub Feb 6, 2026
fecb75c
[DEVOP-320]: Fix unstable pipeline (#2227)
daniel-schub Feb 7, 2026
62ce318
upgrade-internal
Feb 7, 2026
d62a2eb
[DEVOP-340]: Remove production build flag (#2229)
daniel-schub Feb 7, 2026
45e1cd2
Use pnpm for loader html tests (#2225)
sampullman Feb 7, 2026
802e76c
packages cleanup (#2233)
jaslong Feb 9, 2026
8b7f1ea
[PLA-12848]: Fix refs for Global varianted style in Local style token…
asimkhan73301 Feb 9, 2026
2122c21
fix: exclude current server query from param data picker (#2232)
sampullman Feb 9, 2026
28510c3
[PLA-12821]: Add Copilot Chat Dialog in the Top Frame (#2187)
asimkhan73301 Feb 9, 2026
ec8555a
fix: use correct serverQueries flag (#2235)
jaslong Feb 10, 2026
a2392f1
dedupe @types/react and @types/react-dom (#2201)
sarahsga Feb 10, 2026
2f6ad69
Publish
Feb 10, 2026
d5fd326
upgrade-internal
Feb 10, 2026
be733af
fix: unable to commit in loader-nextjs (#2188)
sarahsga Feb 10, 2026
a9a253e
[PLA-12855] [react-web] Next.js deprecation error for Link.legacyBeha…
sarahsga Feb 10, 2026
7889918
Publish
Feb 10, 2026
fe12195
upgrade-internal
Feb 10, 2026
da47572
[DEVOP-320] Optimize copy from layers of Dockerfile and add tests for…
daniel-schub Feb 11, 2026
1454bf5
[DEVOP-450]: Add metrics for wab (#2238)
daniel-schub Feb 11, 2026
1cbafed
Add missing unit tests to CI (#2231)
sarahsga Feb 11, 2026
8f9d49a
Publish
Feb 11, 2026
70620a4
upgrade-internal
Feb 11, 2026
f29b6ba
refactor: improvements legacy behavior detection of next link (#2237)
sarahsga Feb 11, 2026
d61dd0e
Publish
Feb 11, 2026
af894c9
upgrade-internal
Feb 11, 2026
8fabe19
test: control playwright baseURL via env (#2239)
sampullman Feb 11, 2026
9148345
[PLA-12587]: Design tab toolbar UX improvements for Animations (#2042)
asimkhan73301 Feb 11, 2026
e7f9252
[data-sources] rewrite (#2113)
jaslong Feb 12, 2026
bdf52b4
Publish
Feb 12, 2026
97a6ed4
upgrade-internal
Feb 12, 2026
c36d82b
upgrade-internal
Feb 12, 2026
8a2bf02
[PLA-12796] Data tokens and server queries in page router codegen (#2…
sampullman Feb 13, 2026
1786a5c
Publish
Feb 13, 2026
fe010f0
upgrade-internal
Feb 13, 2026
fdd5c3c
upgrade-internal
Feb 13, 2026
4439645
fix: bump react-web required version (#2242)
sarahsga Feb 13, 2026
ac730df
fix: handle legacy behavior of link for outdated sync (#2251)
sarahsga Feb 16, 2026
347a536
Publish
Feb 16, 2026
ff1d30c
upgrade-internal
Feb 16, 2026
86c9909
upgrade-internal
Feb 16, 2026
24cb113
chore: bump react-web required version (#2253)
sarahsga Feb 16, 2026
01aa550
chore: bump latest codegen version (#2255)
sarahsga Feb 16, 2026
0457b39
Move playwright to devDependencies (#2260)
jaslong Feb 19, 2026
090b6d8
upgrade minor vuln packages (#2261)
jaslong Feb 19, 2026
8fa75fe
fix: seo metadata expr clone with dataTokens (#2245)
sampullman Feb 19, 2026
ac5e1b4
[DEVOP-440] Add tflint to Husky (#2250)
daniel-schub Feb 19, 2026
606b6b9
[wab] refactor date time formatting to date-utils.ts (#2262)
jaslong Feb 19, 2026
43a3641
chore: run setup-all (#2257)
sarahsga Feb 20, 2026
bc1851d
[PLA-12850] refactor server query rename (#2263)
sampullman Feb 20, 2026
2252017
fix(variant-row): removed unused icons in VariantRow (#2266)
asimkhan73301 Feb 20, 2026
e01c7ea
chore: plasmic.json changes for publishing branch to main and changin…
asimkhan73301 Feb 21, 2026
d8d4dc9
chore: run-cpa (#2270)
sarahsga Feb 23, 2026
02e5a0e
Publish
Feb 23, 2026
0e24ab1
fix: TypeError App router codegen in pages using server queries (#2271)
sarahsga Feb 23, 2026
884a9c0
[PLA-12865] Tooltip does not close when hovered away (#2264)
sarahsga Feb 24, 2026
ad9fbec
Publish
Feb 24, 2026
3f1a24e
upgrade-internal
Feb 24, 2026
0d7810e
[PLA-12874] Dynamic href used in App Router codegen (#2275)
sarahsga Feb 24, 2026
21ad1c8
Publish
Feb 24, 2026
6300372
[PLA-12860] download image option (#2267)
sampullman Feb 24, 2026
73931a3
fix: update based on review comments (#2278)
sampullman Feb 24, 2026
1c47656
[PLA-12867]: Add tools support in the Copilot Chat Backend (#2258)
asimkhan73301 Feb 25, 2026
737e4c1
[PLA-12870]: Preview animations in the new Animations UX (#2274)
asimkhan73301 Feb 25, 2026
7e4fd11
[PLA-12872] getStaticPaths missing in page router with data queries (…
sarahsga Feb 25, 2026
bb40b67
[PLA-12868]: Add Copilot tools integration with useChat on client sid…
asimkhan73301 Feb 25, 2026
f06c169
clean up loader-bundle-env building (#2283)
jaslong Feb 25, 2026
7c7c8f9
chore: plasmic studio changes for showing preview animation buttons o…
asimkhan73301 Feb 25, 2026
d418689
Attempt to improve comment test instability (#2243)
sampullman Feb 26, 2026
7bd98ca
feat(cpa): create-plasmic-app to generate for app router next.js with…
sarahsga Feb 27, 2026
119ef90
Publish
Feb 27, 2026
066a748
Add copy paste to tpl context menu (#2285)
sampullman Feb 28, 2026
35bd4ca
chore: bump react-web packages to trigger deploy (#2294)
sampullman Feb 28, 2026
491d753
Publish
Feb 28, 2026
7f9544d
upgrade-internal
Feb 28, 2026
32fb23d
Rsc app dir file name bug (#2252)
sampullman Feb 28, 2026
574d371
Publish
Feb 28, 2026
2e560cd
upgrade-internal
Feb 28, 2026
754bc4e
PLA-12875 Fix codegen bug and deduplicate rsc functions (#2277)
sampullman Feb 28, 2026
e14854d
[PLA-12792] [loader] create-plasmic-app to generate for app router ne…
sarahsga Mar 2, 2026
abb16b3
Publish
Mar 2, 2026
f941855
Fix codegen (#2303)
daniel-schub Mar 3, 2026
a1992bb
[wab] add debug log at start of span and more spans (#2305)
jaslong Mar 3, 2026
5b05906
[wab] add params to workerpool.exec spans (#2306)
jaslong Mar 3, 2026
8d5424b
[PLA-12762] Serialize a component and tpl tree to HTML/CSS (#2218)
abbas-nazar Mar 3, 2026
418a14b
[PLA-12763] HTML importer should deserialize components (#2206)
abbas-nazar Mar 3, 2026
eb8eb0b
[PLA-12884]: Improve insertHtml command to support target element and…
asimkhan73301 Mar 3, 2026
d35fb93
Remove parameter logging from exec method (#2323)
jaslong Mar 4, 2026
515d47f
[wab] respond 404 for not found, 500 for no html (#2320)
jaslong Mar 4, 2026
59948b5
FIX(web-exporter): Disable unused stream polyfill to allow web-expor…
asimkhan73301 Mar 4, 2026
99cbb28
Bump the npm_and_yarn group across 32 directories with 4 updates (#2351)
dependabot[bot] Mar 7, 2026
fc64c9c
PLA-12879 loader generateMetadata bug (#2296)
sampullman Mar 7, 2026
ef63e77
Publish
Mar 7, 2026
f78181f
upgrade-internal
Mar 7, 2026
1939ec2
upgrade-internal
Mar 7, 2026
9f85975
spring cleaning (#2355)
jaslong Mar 8, 2026
0e99b32
fix(copilot-chat-dialog): preserve copilot_chat query param while swi…
asimkhan73301 Mar 9, 2026
cae8300
refactor(web-exporter): added separate variants tag in component seri…
asimkhan73301 Mar 9, 2026
816979f
[PLA-12585] Duplicate server query (#2336)
sarahsga Mar 10, 2026
b0b07b3
Bump the npm_and_yarn group across 7 directories with 3 updates (#2371)
dependabot[bot] Mar 10, 2026
453c503
[wab] update caniuse-lite (#2384)
jaslong Mar 10, 2026
2e41cb9
[wab] Allow filtering/sorting on createdAt/updatedAt (#2389)
jaslong Mar 10, 2026
083a3d9
deps(root): bump multer in the npm_and_yarn group across 1 directory …
dependabot[bot] Mar 10, 2026
0ded9d3
AI improvements (#2379)
jaslong Mar 11, 2026
d7310c9
deps(root): bump svgo in the npm_and_yarn group across 1 directory (#…
dependabot[bot] Mar 11, 2026
5f6f039
[wab] handle polyfill projects that return 200 (#2393)
jaslong Mar 11, 2026
257cf1c
[wab] add cache-control for polyfill projects (#2396)
jaslong Mar 11, 2026
9fe6540
fix(rac): Select is incompatible with React 19 (#2400)
sarahsga Mar 12, 2026
6f36d52
Publish
Mar 12, 2026
bcf1643
upgrade-internal
Mar 12, 2026
8154790
[PLA-12834] e2e codegen app/pages router (#2222)
sarahsga Mar 12, 2026
1370b67
upgrade-internal
Mar 12, 2026
4ebc01e
fix(rac): Range Slider is incompatible with React 19 (#2399)
sarahsga Mar 12, 2026
78a157f
Publish
Mar 12, 2026
0f0470f
upgrade-internal
Mar 12, 2026
0bc95bd
chore: Include Nextjs versions 15/16 in loader tests (#2310)
sarahsga Mar 12, 2026
52b2c82
[wab] fix issues in serializedKeyValueForObject (#2398)
jaslong Mar 12, 2026
4cd03e0
[PLA-12748]: Ignore -webkit-animation on import (#2388)
charliecreates[bot] Mar 12, 2026
c1a5fe2
[data-sources][wab] ensure wab only uses new data-sources APIs (#2246)
jaslong Mar 13, 2026
aff73ef
Publish
Mar 13, 2026
dfc4e3a
upgrade-internal
Mar 13, 2026
8b8ab1c
Fix codegen React e2e (#2423)
sampullman Mar 15, 2026
e3198da
Publish
Mar 15, 2026
f4d6248
[PLA-12838] Select is incompatible with React 19 (#2420)
sarahsga Mar 15, 2026
aa5232f
Publish
Mar 15, 2026
5a5234c
upgrade-internal
Mar 15, 2026
6fea4ec
upgrade-internal
Mar 15, 2026
7dead28
fix: loader versions must use "latest" (#2429)
sarahsga Mar 16, 2026
dcc7912
chore: run-cpa (#2430)
sarahsga Mar 16, 2026
2fdbe2d
Publish
Mar 16, 2026
623bad9
[data-sources] delete unused unreleased code (#2410)
jaslong Mar 17, 2026
d4c04a0
Publish
Mar 17, 2026
d883101
upgrade-internal
Mar 17, 2026
37a2cd8
[wab] implement self-service team ownership transfer (#2394)
jaslong Mar 17, 2026
ba5e48c
upgrade-internal
Mar 17, 2026
50160fc
[PLA-12635]: Studio preview mode not using default theme of imported …
asimkhan73301 Mar 17, 2026
6efc758
refactor(paste): make global variant paste behaviour consistent with …
asimkhan73301 Mar 17, 2026
5cec112
[wab] data sources UX followup (#2412)
jaslong Mar 17, 2026
6fa5f34
chore(dev+prod): Add Sentry ENV (#1888)
daniel-schub Mar 17, 2026
0510af4
Apply suggested fix to packages/data-sources/src/serverQueries/common…
jaslong Mar 18, 2026
7bd4e54
Publish
Mar 18, 2026
7a7ec59
[wab] improve logging when fnContext fails (#2425)
jaslong Mar 18, 2026
8f66eb4
upgrade-internal
Mar 18, 2026
902de96
upgrade-internal
Mar 18, 2026
6bfe5da
REFACTOR: Use simple CopilotTool interface instead of Command for Cop…
asimkhan73301 Mar 19, 2026
8257e60
[wab] delete app tutorial code (#2443)
jaslong Mar 19, 2026
246ee72
[DEVOP-437]: Improve CD pipeline (#2289)
daniel-schub Mar 20, 2026
b699d2c
[PLA-12902]: Skip hard coded wrapping div coming from HTML body eleme…
asimkhan73301 Mar 20, 2026
dc1bd3f
[plasmicpkgs-dev] add contentful and wordpress (#2479)
jaslong Mar 20, 2026
f0d9cde
[PLA-12750] Expose PlasmicImg format and quality props (#2413)
sampullman Mar 20, 2026
dc7c34e
Publish
Mar 20, 2026
f6deaca
upgrade-internal
Mar 20, 2026
a34abbc
[host] fix hidden field typing (#2463)
jaslong Mar 20, 2026
54ffd02
Publish
Mar 20, 2026
a922e01
upgrade-internal
Mar 20, 2026
1d2f0ab
feat: expand server query preview body by default (#2469)
sampullman Mar 20, 2026
62abb49
upgrade-internal
Mar 20, 2026
4800096
[wab] implement server param hidden field
jaslong Mar 15, 2026
24a85e4
[wordpress] fix offset hidden function
jaslong Mar 18, 2026
6ca6bc9
Publish
Mar 20, 2026
2821ada
upgrade-internal
Mar 20, 2026
900c142
[root] add AI startup scripts for safehouse (#2477)
jaslong Mar 20, 2026
2fa4aa8
[query][loader-react] fix getting React internals for React 19 (#2487)
jaslong Mar 22, 2026
d0f529a
Publish
Mar 22, 2026
04c8e1a
upgrade-internal
Mar 22, 2026
3094668
[PLA-12913] Fix admin revert revision lookup (#2402)
charliecreates[bot] Mar 23, 2026
5af1489
deps(examples): bump the npm_and_yarn group across 29 directories wit…
dependabot[bot] Mar 23, 2026
29d3d46
[PLA-12933]: Support changes across components + variantCombo (#2488)
asimkhan73301 Mar 23, 2026
00122ce
fix: hide image context menu when empty (#2472)
sampullman Mar 24, 2026
53b92a0
deps(examples): bump the npm_and_yarn group across 24 directories wit…
dependabot[bot] Mar 24, 2026
766315d
Packages major version bump to v2 (#1221)
jaslong Mar 25, 2026
42aec15
Publish
Mar 25, 2026
ecfdb1c
upgrade-internal
Mar 25, 2026
5fed3ae
[PLA-12886]: Add support of Read tool in Copilot Chat to serialize pr…
asimkhan73301 Mar 25, 2026
2c2546d
[PLA-12938]: Copilot not showing up for Enterprise customer (#2504)
asimkhan73301 Mar 26, 2026
c943b23
[PLA-12829] fix: filter invalid style props when pasting styles to a …
abbas-nazar Mar 26, 2026
788447a
merge upstream/master — 517 commits, 354 conflicts resolved (v2)
field123 Mar 30, 2026
f2863ef
chore: regenerate lock files for fork deps
field123 Mar 30, 2026
b843c1f
fix: resolve remaining conflict markers in nx.json and test fixture J…
field123 Mar 30, 2026
85e0c1a
fix: update API reports to match upstream type signatures
field123 Mar 30, 2026
30f544f
fix: remove stale generateMetadataFuncFileName from loader packages
field123 Mar 30, 2026
5e72668
fix(ci): exclude Vitest tests from Jest runs, add Vitest step for dat…
field123 Mar 30, 2026
a71f12a
fix(ci): run data-sources vitest from package directory
field123 Mar 30, 2026
064b296
fix(ci): exclude plasmic-mcp from Jest run (uses vitest, not jest)
field123 Mar 30, 2026
770f7fc
fix(data-sources): add vitest config to dedupe React in monorepo
field123 Mar 30, 2026
80252d6
fix(wordpress): remove stray closing brace from merge resolution
field123 Mar 30, 2026
90caaba
fix: clean ALL remaining conflict markers from JSON fixtures and pkg …
field123 Mar 31, 2026
7509a9f
fix: replace corrupted ServerQueryOpPicker.tsx with upstream version
field123 Mar 31, 2026
7902384
fix: clean conflict markers from plume/plexus master package JSONs
field123 Mar 31, 2026
1905317
fix: remove duplicate html-parser keyframes tests and regenerate migr…
field123 Mar 31, 2026
8dda48a
fix: resolve 4 test regressions from upstream merge
field123 Mar 31, 2026
5fc728c
fix: create migration-pool connection in DbInit for seed
field123 Apr 1, 2026
9467a0b
fix: close DB connection pools between test suites, add migration-poo…
field123 Apr 1, 2026
44c0b63
fix: clear Prometheus registry between test backend instances
field123 Apr 1, 2026
e4f5821
fix: create migration-pool in createDatabase for test suites
field123 Apr 1, 2026
2d9dc5d
fix: migrate dev bundles from version 255 to 256
field123 Apr 1, 2026
c894b5d
fix: restore EP commerce dep and prevent CI OOM in WAB tests
field123 Apr 1, 2026
7507dd2
fix: remove duplicate mkRevisionBroadcastData export in projects.ts
field123 Apr 1, 2026
bcbc821
fix(ci): use production build for E2E tests to prevent server overload
field123 Apr 2, 2026
b406fee
fix(ci): set NODE_ENV=development for E2E frontend build
field123 Apr 2, 2026
af2f3ca
fix: restore WebImporter.spec.ts to match upstream
field123 Apr 2, 2026
2b3fa72
fix(ci): replace redundant yarn install with cache validation in test…
field123 Apr 2, 2026
f112e6a
fix(e2e): skip plexus and signup tests not applicable to EP fork
field123 Apr 2, 2026
a831611
fix(e2e): increase global test timeout from 400s to 600s
field123 Apr 2, 2026
411a1d3
fix(ci): skip grant-revoke emails in E2E tests
field123 Apr 2, 2026
20943fd
fix(e2e): skip flaky comments-multiplayer test
field123 Apr 2, 2026
708eca7
fix(ci): add platform/wab install step to restore .bin/ symlinks
field123 Apr 2, 2026
3d83561
fix(ci): isolate loader HTML tests in dedicated runner
field123 Apr 2, 2026
ea97065
feat(ci): shard E2E tests with cached build artifacts
field123 Apr 2, 2026
61efb52
fix(ci): restore artifact paths and loader-bundle-env for E2E shards
field123 Apr 3, 2026
411d504
fix(ci): cache loader-bundle-env node_modules
field123 Apr 3, 2026
cc4902f
fix(ci): include hidden/gitignored files in E2E build artifact
field123 Apr 3, 2026
2134fa9
revert(ci): revert E2E sharding back to single job
field123 Apr 3, 2026
826965c
fix(ci): skip multiplayer-cursor test, use --ignore-optional for wab …
field123 Apr 3, 2026
6022204
fix(ci): remove platform/wab install step entirely
field123 Apr 3, 2026
2217eab
fix(ci): revert loader-bundle-env from setup job and cache
field123 Apr 3, 2026
b6b6337
fix(ci): free disk space before installs to prevent ENOSPC
field123 Apr 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/packages/create-plasmic-app/cpa-out/
2 changes: 1 addition & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ module.exports = {
"error",
{
name: "@plasmicapp/host",
importNames: ["registerComponent"],
importNames: ["registerComponent", "CodeComponentMeta"],
message:
"Please import from @plasmicapp/host/registerComponent instead",
},
Expand Down
9 changes: 7 additions & 2 deletions .eslintrc.react.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
/** ESLint config for packages using React. */
module.exports = {
extends: ['./.eslintrc.js', 'react-app'],
extends: ["./.eslintrc.js"],
settings: {
react: {
version: 'detect',
version: "detect",
},
},
plugins: ["react-hooks"],
rules: {
"react-hooks/rules-of-hooks": "error",
"react-hooks/exhaustive-deps": "warn",
},
};
3 changes: 2 additions & 1 deletion .github/actions/setup-env/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,13 @@ runs:
path: |
node_modules
platform/wab/node_modules
platform/loader-bundle-env/node_modules
platform/wab/src/wab/gen
platform/wab/src/wab/shared/model/classes.ts
platform/wab/src/wab/shared/model/classes-metas.ts
platform/wab/src/wab/styles/_tokens.sass
platform/wab/src/wab/styles/_tokens.ts
platform/wab/src/wab/styles/css-variables.ts
platform/wab/src/wab/styles/css-variables.scss
key: deps-v3-${{ runner.os }}-${{ hashFiles('**/yarn.lock') }}
key: deps-v4-${{ runner.os }}-${{ hashFiles('**/yarn.lock') }}
fail-on-cache-miss: ${{ inputs.fail-on-cache-miss }}
157 changes: 142 additions & 15 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,10 @@ jobs:
working-directory: platform/wab
run: yarn install --frozen-lockfile

- name: Install loader-bundle-env dependencies
working-directory: platform/loader-bundle-env
run: yarn install --frozen-lockfile

- name: Generate required files (PEG parsers, model classes)
working-directory: platform/wab
run: make
Expand Down Expand Up @@ -81,12 +85,17 @@ jobs:
with:
fail-on-cache-miss: 'true'

- name: Install root dependencies
run: yarn install --frozen-lockfile
- name: Free disk space
run: |
sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc
df -h

- name: Install platform/wab dependencies
- name: Validate cached dependencies
run: yarn install --frozen-lockfile --check-files

- name: Ensure platform/wab binaries
working-directory: platform/wab
run: yarn install --frozen-lockfile
run: yarn install --frozen-lockfile --check-files

- name: Generate required files (PEG parsers, model classes)
working-directory: platform/wab
Expand All @@ -110,7 +119,7 @@ jobs:
env:
CI: true
NODE_OPTIONS: '--max-old-space-size=8192'
run: yarn test --shard=${{ matrix.shard }}/4
run: yarn test:ci --shard=${{ matrix.shard }}/4 --testPathIgnorePatterns='loader.spec.ts'

- name: Test Summary
if: always()
Expand All @@ -122,6 +131,97 @@ jobs:
echo "Some tests failed." >> $GITHUB_STEP_SUMMARY
fi

# Isolated runner for loader HTML tests. These tests spawn a subprocess
# (~500MB-1GB) to render HTML previews. When run alongside other Jest tests
# on the same 7GB runner (with Jest's 8GB heap), the subprocess OOMs.
# Running on a dedicated runner with a 4GB Jest heap leaves room for the
# subprocess. The sharded WAB tests exclude loader.spec.ts via
# --testPathIgnorePatterns to avoid duplication.
test-wab-loader:
name: WAB Loader HTML Tests
needs: setup
runs-on: ubuntu-latest
if: |
github.event_name == 'workflow_dispatch' ||
github.event_name == 'push' ||
contains(github.event.pull_request.labels.*.name, 'run-wab-tests')

services:
postgres:
image: postgres:15
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: postgres
POSTGRES_HOST_AUTH_METHOD: trust
ports:
- 5432:5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup environment
uses: ./.github/actions/setup-env
with:
fail-on-cache-miss: 'true'

- name: Free disk space
run: |
sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc
df -h

- name: Validate cached dependencies
run: yarn install --frozen-lockfile --check-files

- name: Ensure platform/wab binaries
working-directory: platform/wab
run: yarn install --frozen-lockfile --check-files

- name: Generate required files (PEG parsers, model classes)
working-directory: platform/wab
run: make

- name: Setup PostgreSQL users and extensions
env:
PGPASSWORD: postgres
PGHOST: localhost
PGUSER: postgres
run: |
psql -c "CREATE USER wab PASSWORD 'SEKRET';"
psql -c "CREATE USER superwab PASSWORD 'SEKRET' CREATEDB CREATEROLE IN GROUP wab;"
psql -c "GRANT pg_signal_backend TO superwab;"
psql -c "CREATE DATABASE wab OWNER wab;"
psql -c "CREATE EXTENSION IF NOT EXISTS \"uuid-ossp\";"
psql -c "CREATE EXTENSION IF NOT EXISTS pgcrypto;"

- name: Install loader-bundle-env dependencies
working-directory: platform/loader-bundle-env
run: yarn install --frozen-lockfile

- name: Run loader HTML tests
working-directory: platform/wab
env:
CI: true
NODE_OPTIONS: '--max-old-space-size=4096'
HTML_PREVIEW_POOL_SIZE: '1'
run: yarn test:ci --testPathPattern='loader.spec.ts'

- name: Test Summary
if: always()
run: |
echo "### WAB Loader HTML Test Results" >> $GITHUB_STEP_SUMMARY
if [ "${{ job.status }}" == "success" ]; then
echo "All tests passed." >> $GITHUB_STEP_SUMMARY
else
echo "Some tests failed." >> $GITHUB_STEP_SUMMARY
fi

test-packages:
name: SDK Packages Tests
# No needs: runs in parallel with setup (doesn't need generated files)
Expand Down Expand Up @@ -153,7 +253,13 @@ jobs:
env:
CI: true
NODE_OPTIONS: '--max-old-space-size=4096 --experimental-vm-modules'
run: yarn jest --testPathPattern='packages/' --passWithNoTests
run: yarn jest --testPathPattern='packages/' --testPathIgnorePatterns='packages/data-sources/src/serverQueries|packages/plasmic-mcp' --passWithNoTests

- name: Run SDK packages Vitest tests (data-sources)
env:
CI: true
working-directory: packages/data-sources
run: yarn test

- name: Test Summary
if: always()
Expand Down Expand Up @@ -188,7 +294,7 @@ jobs:
env:
CI: true
NODE_OPTIONS: '--max-old-space-size=4096 --experimental-vm-modules'
run: yarn jest --testPathPattern='plasmicpkgs/' --testPathIgnorePatterns='plasmicpkgs/wordpress' --passWithNoTests
run: yarn jest --testPathPattern='plasmicpkgs/' --testPathIgnorePatterns='plasmicpkgs/wordpress|plasmicpkgs/contentful' --passWithNoTests

- name: Run plasmicpkgs Vitest tests
env:
Expand Down Expand Up @@ -240,12 +346,17 @@ jobs:
with:
fail-on-cache-miss: 'true'

- name: Install root dependencies
run: yarn install --frozen-lockfile
- name: Free disk space
run: |
sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc
df -h

- name: Install platform/wab dependencies
- name: Validate cached dependencies
run: yarn install --frozen-lockfile --check-files

- name: Ensure platform/wab binaries
working-directory: platform/wab
run: yarn install --frozen-lockfile
run: yarn install --frozen-lockfile --check-files

- name: Generate required files (PEG parsers, model classes)
working-directory: platform/wab
Expand Down Expand Up @@ -338,23 +449,31 @@ jobs:
working-directory: platform/wab/playwright
run: npx playwright install chromium

- name: Build production frontend
working-directory: platform/wab
run: NODE_ENV=development PUBLIC_URL=http://localhost:3003 bash tools/dev-server.bash build

- name: Start application servers
working-directory: platform/wab
env:
NODE_ENV: development
CI: true
TUTORIAL_DB_SUPER_PASSSWORD: SEKRET
SKIP_GRANT_REVOKE_EMAILS: 'true'
run: |
# Start backend server in background
yarn dev:backend &

# Start host server in background
yarn host-server &

# Start frontend dev server in background
yarn start &
# Serve production frontend build with API proxy to backend
cd build && npx -p local-web-server ws --spa index.html --port 3003 \
--cors.origin '*' \
--rewrite '/api/(.*) -> http://localhost:3004/api/$1' &
cd ..

# Wait for all servers to be ready (longer timeout for dev server startup)
# Wait for all servers to be ready
npx wait-on http://localhost:3003 http://localhost:3004 http://localhost:3005 --timeout 300000

- name: Run Playwright tests
Expand Down Expand Up @@ -391,7 +510,7 @@ jobs:

all-tests:
name: All Tests
needs: [setup, test-wab, test-packages, test-plasmicpkgs, test-e2e]
needs: [setup, test-wab, test-wab-loader, test-packages, test-plasmicpkgs, test-e2e]
if: always()
runs-on: ubuntu-latest

Expand All @@ -403,6 +522,7 @@ jobs:

setup_result="${{ needs.setup.result }}"
wab_result="${{ needs.test-wab.result }}"
wab_loader_result="${{ needs.test-wab-loader.result }}"
packages_result="${{ needs.test-packages.result }}"
plasmicpkgs_result="${{ needs.test-plasmicpkgs.result }}"
e2e_result="${{ needs.test-e2e.result }}"
Expand All @@ -411,6 +531,7 @@ jobs:
echo "|-----|--------|" >> $GITHUB_STEP_SUMMARY
echo "| Setup | ${setup_result} |" >> $GITHUB_STEP_SUMMARY
echo "| WAB Tests | ${wab_result} |" >> $GITHUB_STEP_SUMMARY
echo "| WAB Loader HTML | ${wab_loader_result} |" >> $GITHUB_STEP_SUMMARY
echo "| SDK Packages | ${packages_result} |" >> $GITHUB_STEP_SUMMARY
echo "| Plasmic Packages | ${plasmicpkgs_result} |" >> $GITHUB_STEP_SUMMARY
echo "| E2E Tests | ${e2e_result} |" >> $GITHUB_STEP_SUMMARY
Expand All @@ -430,6 +551,12 @@ jobs:
fi

# WAB tests are optional (can be skipped on PRs without label)
if [[ "${wab_loader_result}" == "failure" ]]; then
echo ""
echo "WAB Loader HTML tests failed."
exit 1
fi

if [[ "${wab_result}" == "failure" ]]; then
echo ""
echo "WAB tests failed."
Expand Down
7 changes: 0 additions & 7 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -43,10 +43,3 @@ dist/
# Playwright test results
test-results/
playwright-report/
.playwright-mcp/

.history/

# Eval system results (regenerated on each run)
packages/plasmic-mcp/evals/results/*.json
packages/plasmic-mcp/evals/results/screenshots/
11 changes: 9 additions & 2 deletions .lintstagedrc.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
module.exports = {
"*.{js,jsx,ts,tsx,cjs,mjs,cts,mts}": ["eslint --fix", "prettier --write"],
"*.{json,css,less,scss,md,toml,xml,yml,yaml}": ["prettier --write"],
"Dockerfile*": ["hadolint --failure-threshold=warning"],
"Dockerfile*": ["hadolint --failure-threshold=error"],

// Format HCL/Terragrunt files, but never touch generated *.lock.hcl (excluded via extglob)
"!(*lock).hcl": (files) => {
Expand All @@ -10,7 +10,14 @@ module.exports = {
},

// Terraform files (format on commit)
"*.tf": ["terraform fmt -write=true"],
"*.tf": (files) => {
const path = require("path");
const dirs = [...new Set(files.map((f) => path.dirname(f)))];
return [
"tofu fmt -write=true",
...dirs.map((d) => `tflint --chdir "${d}"`),
];
},

"platform/wab/src/wab/server/bundle-migrations/**/*": [
"platform/wab/tools/bundle-migration-check.sh",
Expand Down
4 changes: 4 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# CLAUDE.md

## Sandbox

You might be in a sandbox. Check out [safehouse.sb](docs/internal/ai/safehouse.sb).

## Key tools of root directory

This is root directory of the monorepo. Most development will be done in individual packages, but this directory is responsible for some centrally managed concerns:
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,7 @@ The package must work for both codegen and loader users. This means that the reg
```typescript
export function registerFooBar(
loader?: { registerComponent: typeof registerComponent },
customFooBarMeta?: ComponentMeta<FooBarProps>
customFooBarMeta?: CodeComponentMeta<FooBarProps>
) {
if (loader) {
loader.registerComponent(FooBar, customFooBarMeta ?? FooBarMeta);
Expand Down
Loading
Loading