Repository navigation
Upgrade frontend toolchain: Vite 8, TypeScript 6, Inertia v3 - #39
Merged
Merged
Conversation
….4.10
- Vite 6→8: rollupOptions→rolldownOptions, __dirname→import.meta.dirname,
--configLoader runner for monorepo TS workspace deps
- TypeScript 5→6: fix strict index signature checks in chart.tsx, Badge/Button
variant renames (secondary→default/info, destructive→danger, outline→info),
PageHeaderProps title type conflict, Playwright ReporterDescription tuples
- @inertiajs/react 2→3: router.on('invalid')→router.on('httpException')
- @vitejs/plugin-react 4→6, cross-env 7→10
- Fix missing TenantsDbContext in LoadTestWebApplicationFactory
- Fix tsconfig.json exclude path and add allowImportingTsExtensions
Deploying simplemodule-website with
|
| Latest commit: |
b9819d4
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://cc6c8109.simplemodule-website.pages.dev |
| Branch Preview URL: | https://feature-serene-vaughan.simplemodule-website.pages.dev |
Inertia v3 reads initial page data from <script id="inertia-page" type="application/json"> instead of the data-page attribute on the root div. Update InertiaPage.razor and the corresponding unit test.
TypeScript 6 requires explicit module declaration for CSS imports used by the PageBuilder module.
Inertia v3 reads initial page data from `script[data-page="app"][type="application/json"]` instead of `script#inertia-page`. Without this, React components mount but receive no props, rendering empty pages.
- Add AddTenantsModule migration with Tenants_Tenants and Tenants_TenantHosts tables plus seed data (3 tenants, 3 hosts) - Replace EnsureCreated fallback with MigrateAsync-only DB init since all schema is managed via Host migrations
Define BulkImport (disabled) and AdvancedPricing (enabled) feature flags so the featureFlags shared prop is no longer empty.
The setup-build action already builds the project. Adding --no-build to the dotnet run command avoids a full rebuild when starting the server for Playwright tests.
…SM shims
Rolldown (Vite 8) cannot convert CJS require() calls for externalized
packages to ESM imports in library mode. This caused runtime errors
when module page bundles loaded in the browser, because
use-sync-external-store's CJS entry uses require('react') internally.
Replace the CJS package with ESM shims that use React 19's built-in
useSyncExternalStore, eliminating all CJS require calls from the
browser-targeted bundles.
Simplify the with-selector shim to pass Biome lint rules (useOptionalChain, useExhaustiveDependencies).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
rollupOptions→rolldownOptions,__dirname→import.meta.dirname,--configLoader runnerfor monorepo TS workspace dependenciessecondary→default/info,destructive→danger),PageHeaderPropstitle type conflict, PlaywrightReporterDescriptiontuples,allowImportingTsExtensionsrouter.on('invalid')→router.on('httpException')with defensive JSON parsingTenantsDbContextregistration inLoadTestWebApplicationFactorytsconfig.jsonexclude path (src/→packages/)Test plan
npx tsc --noEmitpasses with 0 errorsnpm run buildcompletes successfully for all modulesnpm run checkpasses (biome lint + format + page validation)dotnet buildcompiles backenddotnet testpasses (including LoadTests with TenantsDbContext fix)