Skip to main content

Deprecated

V9

Do not use project.theming anymore

File shadowing is configured under project.shadowing, where a rule is a single path template ("src/{platform}/client(/tenant/{tenant})") instead of a { test, replace } pair. The two halves of a pair were only correct while they agreed with each other, and nothing enforced that. Both blocks still resolve identically and a project may keep using theming — it will be removed in a future major. Run pnpx @archibald/codemod . shadowing-config to migrate; the codemod compares the compiled rules before and after and refuses to write if they would resolve differently. See File shadowing.

Deprecation comment: @deprecated v9.1 - use project.shadowing

Do not import the Theming* build exports anymore

The feature is called shadowing in the code, so every export naming the mechanism was renamed — normalizeThemingConfig, ThemingLoaderConfig, ThemingLoader, NormalizedThemingConfig, scssThemingImporter, getBabelThemingLoader, precomputeThemingOverrides and precomputeThemingOriginals. The subpaths were renamed with them — use @archibald/build/shadowing-loader, @archibald/build/babel-shadowing-loader and @archibald/build/shadowing-resolver.wasm. The old names are kept as aliases, and the old theming-* subpaths still resolve to the same files, so existing imports keep working. What stays named theming is what genuinely is: the deprecated project.theming block and the cli.style.theming legacy SCSS mode.

Deprecation comment: @deprecated v9.1 - use {@link Shadowing*}

Do not use useRustTheming anymore

The flag picks the Rust SWC plugin over the Babel loader for shadowing, so it is spelled useRustShadowing. Both spellings are accepted on either block and are normalized to the same value at config load, so a project may set whichever it authored — but the deprecated one will be removed in a future major. The shadowing-config codemod renames it when it moves the block.

{
"project": {
"shadowing": {
"active": true,
"useRustShadowing": true
}
}
}

Deprecation comment: @deprecated v9.1 - use useRustShadowing

Use "modern" for deduplicateCriticalCSS

The optimization.deduplicateCriticalCSS legacy values true and "legacy" use the old css-purge optimizer, whose parser cannot handle modern CSS such as container queries — on such input it calls process.exit(1) and crashes the server (the failure cannot be caught). Use "modern" instead, which preserves all modern CSS features. In v10, "modern" becomes the default behaviour for true.

Deprecation comment: @deprecated v9 - set optimization.deduplicateCriticalCSS to "modern"

V8

Do not use compiler config from experimental anymore

We have moved compiler config in the archibald.json from experimental to optimization

Deprecation comment: @deprecated v8 - please use the config under `optimization.compiler`

Do not import facets interfaces from @archibald/storefront anymore

We have moved facet imports from @archibald/storefront to @archibald/search.

Deprecation comment: @deprecated v8 - import from @archibald/search

Do not import search interfaces from @archibald/storefront anymore

We have moved search interfaces imports from @archibald/storefront to @archibald/search.

Deprecation comment: @deprecated v8 - import from @archibald/search

Use getSearchQuerySuggestions instead of getSearchSuggestions

We have renamed getSearchSuggestions to getSearchQuerySuggestions.

Deprecation comment: @deprecated v8 - use getSearchQuerySuggestions

Use onSearchQuerySuggestions instead of onSearchSuggestions

We have renamed onSearchSuggestions to onSearchQuerySuggestions.

Deprecation comment: @deprecated v8 - use onSearchQuerySuggestions

Use useSearchQuerySuggestions instead of useSearchSuggestions

We have renamed useSearchSuggestions to useSearchQuerySuggestions.

Deprecation comment: @deprecated v8 - use useSearchQuerySuggestions

V7

Use the new preview wrapper

We moved the logic to initialize the preview functionality for our cms system from the hook useSmartEdit to a dedicated wrapper component

Deprecation comment: @deprecated v7 - use getPreviewWrapperComponent from cms-client instead

Use the new Provider Naming Schema

We renamed all legacy *Provider and *DataProvider to new *ClientProvider naming schema to be consistent in naming Providers which provide Client classes

Deprecation comment: @deprecated v7 - please use the new *ClientProvider name

Don't use HybrisAuthProvider and Hybris interfaces imports from @archibald/auth anymore

We renamed and moved the commerce-specific interfaces and providers to the @archibald/commerce integration package

Deprecation comment: @deprecated v7 - use @archibald/commerce import

Don't use mutateThrowOnError anymore

We renamed mutateThrowOnError to throwOnError to more precisely describe what it does

Deprecation comment: @deprecated v7 - use throwOnError

Don't use useMutate anymore and use useMutation

We introduced a new hook useMutation as a successor for useMutate which will be removed in v8, please check the new signature as no automatic key sharing is possible anymore.

Deprecation comment: @deprecated v7 - use useMutation in the future

Don't use config from @archibald/core anymore

As we moved the config functionality to a separate package we deprecated the old export from @archibald/core

Deprecation comment: @deprecated v7 - use @archibald/config

Don't use logger from @archibald/core anymore

As we moved the logger functionality to a separate package we deprecated the old export from @archibald/core

Deprecation comment: @deprecated v7 - use @archibald/log

Don't use build tools from @archibald/cli anymore

As we moved the build and compiler functionality to a separate package we deprecated the old export from @archibald/cli

Deprecation comment: @deprecated v7 - use @archibald/build

Don't use helpers tools from @archibald/core or @archibald/cli anymore

As we moved helper scripts to a separate package we deprecated the old export from @archibald/core and @archibald/cli

Deprecation comment: @deprecated v7 - use @archibald/helpers

Don't use the rendered prop on AppClient

We created a new prop called hydrate which is more in line with the idea behind the prop. It is inverted to rendered

Deprecation comment: @deprecated v7 - use hydrate as rendered will be removed in the future. hydrate is inverted to rendered

Don't use customWrapper signature for TestBeds

We moved away from customWrapper and changed it to be unified with testing-library and also use the wrapper prop now.

Deprecation comment: @deprecated v7 - use wrapper with new signature

Don't use registerDefaultCustomWrapper anymore

We changed the name to registerDefaultWrapper

Deprecation comment: @deprecated v7 - use registerDefaultWrapper

Don't use clearDefaultCustomWrapper anymore

We changed the name to clearDefaultWrapper

Deprecation comment: @deprecated v7 - use clearDefaultWrapper

Don't use upperFirst anymore

We changed the name from upperFirst to capitalize to better reflect what it does

Deprecation comment: @deprecated v7 - use capitalize

V6

Don't use redux types and helpers from archibald anymore

As we don't have the need for redux anymore in our application we are removing it from the template and removing most of the helpers, it is still possible to add it to your project. If you do that we favor the RTK implementation.

Deprecation comment: @deprecated v6 - don't use redux anymore from archibald

Use usePreloadTranslation it works the same usePreload will be used differently in the future

Use usePreloadTranslation instead of usePreload works the same to open up the name in the future.

Deprecation comment: @deprecated v6 - use usePreloadTranslation it works the same usePreload will be used differently in the future

Removal of unused CMSHelper

Removal of an unused Helper

Deprecation comment: @deprecated v6 - will be removed in v7

If instead of IF

Simple rename to follow JSX rules.

Deprecation comment: @deprecated v6 - please use If now instead of IF

V5

renderAsync instead of render from @archibald/testing

We added a new renderAsync method for testing which flushes automatically all promises for more "real" testing behaviour.

Deprecation comment: @deprecated v5 - use the new renderAsync where applicable

defaultMiddleware usage

The old way of having one universal middleware is being deprecated in favor of the specific middlewares.

Deprecation comment: @deprecated v5 - don't use default middleware

useRequest and useResponse

The hooks using redux will be removed in favor of the node storage api.
Related tasks: ARC-747
Deprecation comment: @deprecated v5 - use the node storage version

Parts of AppClient

Removal of unused AppClient parameters.
Related tasks: ARC-791
Deprecation comment: @deprecated v5 - app client params not needed anymore

V4

Differential Build

The differential build functionality is deprecated in Archibald versions 4 and higher. Legacy builds are not needed anymore and will be removed in order to decrease the package sizes and install times.
Related tasks: ARC-555
Deprecation comment: @deprecated v4 - Legacy builds won't be supported anymore

Common Auth Constants

Instead of using the auth specific common constants, the constants exported from packages/auth/src/client/constants/tokens.ts should be used.
Related tasks: ARC-617
Deprecation comment: @deprecated v4 - Use the exports from @archibald/auth

urlParams

urlParams are deprecated in favor of params.
Related tasks: ARC-631
Deprecation comment: @deprecated v4 - please use params

useMutate Decorations

Related tasks: ARC-622
Deprecation comment: @deprecated v4 - not useful for mutations

rejectUnauthorized in DefaultApiConfig

Instead of setting rejectUnauthorized in the DefaultApiConfig, it should be set in config.server.connection.rejectUnauthorized
Related tasks: ARC-620
Deprecation comment: @deprecated v4 - Instead use config.server.connection.rejectUnauthorized

getKeepAliveStatus

Due to switch from node-fetch to FetchAPI we changed Agent implementation. Current one does not expose any stats or statuses at the moment.
Related tasks: ARC-620
Deprecation comment: @deprecated v4 - Due to switch from node-fetch to FetchAPI we changed Agent implementation.