Releases: seek-oss/sku
sku@13.3.0
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)
sku@13.2.1
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.
sku@13.2.0
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)
sku@13.1.3
sku@13.1.2
sku@13.1.1
sku@13.1.0
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.
sku@13.0.4
Patch Changes
- Fixes a bug preventing
.mdx
files from loading in Storybook when usingsku
'swebpackFinal
Storybook configuration (#1032)
sku@13.0.3
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.
sku@13.0.2
Patch Changes
-
Replace
sku/config/jest
entrypoint withsku/jest-preset
(#1024)BREAKING CHANGE FOR CUSTOM JEST CONFIG:
This breaking change will only affect a very small number of projects that have a custom Jest configuration/wish to debug tests in their IDE, and it is intended to be a quick fix/improvement for a feature released in
sku@13.0.0
. Therefore, it's not being released as a major version.The
sku/config/jest
entrypoint has been removed in favor of a newsku/jest-preset
entrypoint. Thesku/jest-preset
module is a better way to expose a jest preset, rather than a relative path (the previous implementation), as it works even ifsku
is hoisted to a parentnode_modules
directory.MIGRATION GUIDE:
// jest.config.js - const { preset } = require('sku/config/jest'); /** @type {import('jest').Config} */ module.exports = { // If you've already migrated to sku v13 - preset, // If you're still on sku v12.x - preset: 'sku/config/jest', + preset: 'sku', };