Skip to content

Releases: seek-oss/sku

sku@13.3.0

21 Nov 00:33
d0a3b10
Compare
Choose a tag to compare

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 version 3.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 to node18.20 (#1076)

  • sku translations: Throw an error when languages has not been configured (#1090)

    Previously, if languages was not configured, the sku 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 the languages config).
    We now throw an error sooner to make it clear that the languages configuration is required to run any sku translations commands.

  • sku translations: Suggest using the vocab CLI when languages 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: Update lint-staged dependency to ^15.2.10 (#1084)

  • Update env-ci dependency to ^11.1.0 (#1082)

  • sku translations: When languages 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

27 Oct 23:13
26878cd
Compare
Choose a tag to compare

Patch Changes

  • Improve error handling and messaging when opening the user's browser during the start, start-ssr and serve 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

03 Oct 01:34
39da8a5
Compare
Choose a tag to compare

Minor Changes

  • Add experimental renderToStringAsync parameter in renderApp (#1050)

    The new renderToStringAsync method can be called instead of React DOM's renderToString. 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 use react-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

16 Sep 07:41
d4b0246
Compare
Choose a tag to compare

Patch Changes

  • Reverts #1039 (#1053)

    This change was causing a dependency to be cloned via git which may not be available in all CI envrionments.

sku@13.1.2

16 Sep 01:20
6c2049b
Compare
Choose a tag to compare

Patch Changes

  • Replace ejs dependency with eta (#1044)

  • Update didyoumean2 dependency to fix issue when running npx sku init (#1051)

sku@13.1.1

02 Sep 05:29
fbc6e8a
Compare
Choose a tag to compare

Patch Changes

  • Use HTTPS URL for zendesk/babel-plugin-react-displayname dependency to hopefully prevent it from being cloned via SSH (#1039)

  • Replace @manypkg/find-root dependency with find-up (#1040)

  • Replace @antfu/ni dependency with package-manager-detector (#1040)

sku@13.1.0

23 Aug 05:45
91ec138
Compare
Choose a tag to compare

Minor Changes

  • Widen support for reusing existing browser tab to more Chromium browsers. (#1036)

    start and start-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

13 Aug 04:38
9440607
Compare
Choose a tag to compare

Patch Changes

  • Fixes a bug preventing .mdx files from loading in Storybook when using sku's webpackFinal Storybook configuration (#1032)

sku@13.0.3

08 Aug 04:23
8595e73
Compare
Choose a tag to compare

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 of sku init, the current working directory (CWD) would sometimes be incorrect.
    It should now give the same result as sku configure.

    This change includes a refactor to how the webpack target directory is set in ignore files.

sku@13.0.2

30 Jul 00:44
48ae90b
Compare
Choose a tag to compare

Patch Changes

  • Replace sku/config/jest entrypoint with sku/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 new sku/jest-preset entrypoint. The sku/jest-preset module is a better way to expose a jest preset, rather than a relative path (the previous implementation), as it works even if sku is hoisted to a parent node_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',
    };