sku@14.9.0
Minor Changes
-
This release improves support for the experimental Vite bundler, enabling full sku static-site config parity with the Webpack bundler. This is a big step forward for the Vite bundler, bringing us closer to taking it out of experimental mode. (#1305)
React 19 support
Sku now has React 19 support, while still supporting React 18. React 19 contains breaking changes. Please refer to the React 19 migration guide for more information on how to upgrade your application.
Vite bundler improvements
-
config: The vite bundler now has full support for all sku static-site config properties. (library mode and ssr mode is not supported.) -
config: AddpathAliasesconfiguration for custom import paths with Vite bundler. -
build: Bundle analysis reports are now generated for Vite builds in the/report/directory. This matches the behaviour of the Webpack bundler. -
start: Inline Vanilla Extract CSS to fix flash of unstyled text. -
Explicitly deny commands unsupported by the vite bundler.
Static site generation is our primary focus for the Vite bundler at this time, so SSR commands (
start-ssr,build-ssr) with the experimental Vite bundler will now throw an error. Disable the experimental vite mode to continue using sku in SSR apps. -
Vite v7 is now supported. Dropped support for v6.
sku init-
Dependencies will now correctly be pinned when running
sku initin PNPM workspaces. -
Populate
packageManagerfield inpackage.jsonif the new app is at the repo root. -
Install PNPM config dependency when PNPM is detected as the package manager.
-
Specify an exact version of
skuwhen installing dependencies.This fixes an issue where running
sku initwith a snapshot version ofskuwould install the latest version ofskuinstead of the specified version.
sku configure-
Suggest recommended configuration changes for PNPM applications.
During configuration,
skuwill conditionally output warning logs that suggest users make the following changes:- migrate
.npmrcconfiguration topnpm-workspace.yaml - update PNPM to at least v10.13.0
- delete top-level
node_modulesand install thepnpm-plugin-skuconfig dependency viapnpm add --config pnpm-plugin-sku && pnpm install
Applying all of these changes will suppress these warnings.
The combination of these three changes will ensure PNPM hoists dependencies necessary for a smooth development experience across all IDEs, and runs necessary post-install scripts for some of
sku's dependencies. The config dependency in particular enablesskuto effectively manage any future configuration changes that are necessary to ensure PNPM applications function correctly. - migrate
General improvements
-
config: TheSkuConfigtype has better type safety for webpack and vite options.When using
__experimental__bundler: 'vite', theSkuConfigtype will be more strict, and will not allow you to use any properties that are not supported by the Vite bundler. -
start: Don't emit telemetry whenOPEN_TAB=falseis set. -
test: Fixes a bug where project configuration and Vocab translation compilation were running twice instead of once. -
deps: Replacedidyoumean2dependency withfastest-levenshtein
-