Release Notes / Version 11.2304
Table Of Contents
The package manager of the frontend workspace has been changed from
yarn
to
pnpm
.
Yarn
in version 1 is not maintained anymore and
pnpm
is fast, efficient, strict and supports monorepos without additional libraries like
lerna
. Please check
https://pnpm.io/
for more details and installation. Please use the latest 6.x version of
pnpm
. Changes to the tooling should not affect any bricks or themes in your project.
Changes:
Support for building the frontend workspace with
maven
or other package manager has been removed.The lock file for pinned versions changed from
yarn.lock
topnpm-lock.yaml
A new file for the workspace structure has been introduced:
pnpm-workspace.yaml
All workspace commands work like before, but just with
pnpm
. Examples:yarn install
=>pnpm install
yarn start
=>pnpm start
yarn build
=>pnpm build
Upgrade steps:
Since
pnpm
uses a non-flat
node_modules
structure, it is important to check for missing dependencies in custom themes and bricks. Please remove all
node_modules
in your project workspace. If a build fails, add the missing dependency to your theme or brick according to the error message.
Optionally:
Pnpm
uses a different versioning for local dependencies (it adds a prefix
workspace:
before the version). You can run
pnpm up -r
to change the entries in the
package.json
files. All local dependencies in the blueprint themes and bricks have been changed to an even more generic way, because versions inside the workspace are not important.
Example:
"@coremedia/theme-utils": "^3.0.0"
=>
"@coremedia/theme-utils": "workspace:*"
.
(CMS-19955)