Releases: seek-oss/sku
[email protected]
Minor Changes
-
Add WebP and AVIF image format support to sku (#1119)
Support for
webp
andavif
image formats has been added. Note that browser support for these formats may vary. To ensure compatibility across browsers, consumers are advised to use the<picture>
element with fallback formats.
Patch Changes
-
Fixes a bug that caused React 19 applications to fail during
sku build
(#1143)Note: remaining on React 18 is recommended until
sku
officially supports React 19. Updating your application to React 19 may require overriding dependency versions by configuring your package manager. Additionally, there may be other incompatibilities that haven't been found yet.
[email protected]
Minor Changes
-
Update TypeScript to 5.6 (#1048)
This release includes breaking changes. See the TypeScript 5.6 announcement for more information.
-
Update and pin
browserslist-config-seek
to version3.2.0
(#1078)sku
applications and libraries now default to supporting the following browser versions:Browser Oldest supported version Chrome 84 Edge 84 Safari 14.1 Firefox 86 Samsung Internet 14
Patch Changes
-
Set
esbuild-register
target tonode18.20
(#1076) -
sku translations
: Throw an error whenlanguages
has not been configured (#1090)Previously, if
languages
was not configured, thesku translations
command would log a message and continue to run the command, which would eventually error due to the lack of a vocab config (generated from thelanguages
config).
We now throw an error sooner to make it clear that thelanguages
configuration is required to run anysku translations
commands. -
sku translations
: Suggest using thevocab
CLI whenlanguages
is not configured and a vocab config file is detected (#1090) -
sku translations
: Improve log messages and align timing of log messages with actual command execution (#1075) -
sku pre-commit
: Updatelint-staged
dependency to^15.2.10
(#1084) -
Update
env-ci
dependency to^11.1.0
(#1082) -
sku translations
: Whenlanguages
is configured in sku config and a vocab config file is found, a warning will be shown telling the user that the vocab config file will be ignored (#1090)
[email protected]
Patch Changes
-
Improve error handling and messaging when opening the user's browser during the
start
,start-ssr
andserve
scripts (#1069)This fixes a macOS error where
sku
would crash when failing to detect the user's default browser.
Instead, the user will be shown a warning message with instructions to enable the system permission required to fix the issue.
[email protected]
Minor Changes
-
Add experimental
renderToStringAsync
parameter inrenderApp
(#1050)The new
renderToStringAsync
method can be called instead of React DOM'srenderToString
. It is an asynchronous function, but once awaited should return the same result.This new function won't error when hitting suspended components during a static render, instead it'll wait for all suspended boundaries to resolve.
Note:
react-dom
is now an optional peer dependency for use in this function. All known uses of static rendering usereact-dom
and shouldn't need to make a change.The function is being provided to enable teams to trial the behaviour, but is not encouraged for production use.
-import { renderToString } from 'react-dom/server'; const skuRender: Render<RenderContext> = { - renderApp: ({ SkuProvider, environment }) => { + renderApp: async ({ SkuProvider, environment, renderToStringAsync }) => { - const appHtml = renderToString( + const appHtml = await renderToStringAsync( <SkuProvider> <App environment={environment as ClientContext['environment']} /> </SkuProvider>, ); return { appHtml, }; }, // ... };
This new feature is experimental, and is likely to change in implementation or may be removed completely.
Patch Changes
-
Disable
babel-loader
cache compression (#1060)sku
applications tend to transpile many modules and upload all cache files as a single compressed file. This makes compressing each individual cache file superfluous, so this feature has been disabled. -
Adds "Chrome" and "Edge" as fallback browser names for reusing existing tabs, improving compatibility with different Chromium browser versions which may use abbreviated browser names. (#1061)
[email protected]
[email protected]
[email protected]
[email protected]
Minor Changes
-
Widen support for reusing existing browser tab to more Chromium browsers. (#1036)
start
andstart-ssr
scripts would previously only reuse an existing tab in Google Chrome.
This change adds support for the following Chromium browsers:- Google Chrome,
- Google Chrome Canary,
- Microsoft Edge,
- Brave Browser,
- Vivaldi,
- Chromium,
- Arc.
A tab will be reused if:
- The OS is macOS,
- The user's default browser is a supported Chromium browser,
- The user has an existing tab open in a supported Chromium browser with the exact same URL.
If any of the above is not true, a new tab will be created in the user's default browser.
[email protected]
Patch Changes
- Fixes a bug preventing
.mdx
files from loading in Storybook when usingsku
'swebpackFinal
Storybook configuration (#1032)
[email protected]
Patch Changes
-
Fix incorrect path in ignore files when running
sku init
(#1028)sku generates ignore files (e.g.
.eslintignore
) for the project.
When ran as part ofsku init
, the current working directory (CWD) would sometimes be incorrect.
It should now give the same result assku configure
.This change includes a refactor to how the webpack target directory is set in ignore files.