Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
title: Additional resources for migrating to Strapi 5
sidebar_label: Introduction
displayed_sidebar: devDocsMigrationV5Sidebar
---

# Additional resources for migrating to Strapi 5

The following pages cover some specific topics for migrating to Strapi 5 that have not been covered neither in the [CLI upgrade tool](/dev-docs/migration/v4-to-v5/use-the-upgrade-tool) guide nor in the list of [breaking changes](/dev-docs/migration/v4-to-v5/breaking-changes):

<CustomDocCard emoji="📦" title="Entity Service API to Document Service API migration reference" description="Learn how to transition from the Entity Service API, deprecated in Strapi 5, to the new Document Service API." link="/dev-docs/migration/v4-to-v5/guides/from-entity-service-to-document-service" />
<CustomDocCard emoji="🧩" title="Plugins migration summary" description="Find all resources and answers to your questions on how to migrate your plugins to Strapi 5." link="/dev-docs/migration/v4-to-v5/guides/plugins-migration" />
<CustomDocCard emoji="💁" title="Helper-plugin deprecation reference" description="Learn how to develop plugins with the Strapi v4 helper-plugin that has been removed in Strapi 5." link="/dev-docs/migration/v4-to-v5/guides/helper-plugin" />
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
title: Plugins migration reference
displayed_sidebar: devDocsMigrationV5Sidebar
---

# Plugins migration summary

:::callout 🚧 Work in progress
This page is a work-in-progress and some links are currently missing.
:::

The present page is intended to be used as a short summary of everything to consider if you are a plugin developer intending to migrate your plugin from Strapi v4 to Strapi 5. The page quickly describes the changes affecting plugins and link to additional resources where necessary.

## Back-end changes

- The Entity Service API from Strapi v4 is deprecated and Strapi 5 uses the [Document Service API](/dev-docs/api/document-service) instead. A [migration guide](/dev-docs/migration/v4-to-v5/guides/from-entity-service-to-document-service) is available to help you transition to the Document Service API.
- General Strapi v4 to Strapi 5 [breaking changes](/dev-docs/migration/v4-to-v5/breaking-changes) might apply.
- You can use the new [Plugin CLI](/dev-docs/plugins/guides/use-the-plugin-cli) to generate plugins and publish them on NPM and/or submit them to the Marketplace.

## Front-end changes

- The Design System is upgraded to v2 in Strapi 5:
<!-- TODO: add link to icons in Design System v2 -->
- There are no big visual changes, except for [icons](#).<br/>(_the link will be added in the upcoming weeks_)
<!-- TODO: add link to migration guide -->
- A migration guide will be [available](#).<br/>(_the link will be added in the upcoming weeks_)
<!-- TODO: add link to breaking changes -->
- A list of breaking changes specific to the Design System will be available in the [Design System documentation](#).<br/>(_the link will be added in the upcoming weeks_)
- General Strapi v4 to Strapi 5 [breaking changes](/dev-docs/migration/v4-to-v5/breaking-changes) might apply.
- The `helper-plugin` is deprecated. A [migration reference](/dev-docs/migration/v4-to-v5/guides/helper-plugin) is available to help you transition away from the `helper-plugin`.
- Strapi does not alias dependencies any longer. The 4 dependencies that are expected to be used by all client facing code are declared at the project level (react/react-dom/styled-components & react-router-dom). If you do not declare your dependencies that you use e.g. `axios` there's a likelihood users could face unforeseen issues with your plugin.

<!-- TODO: clarify these 👇-->
<!-- ## General changes

- Building and packaging?
- They don’t have to do it (not tested)
- Recommended as a best practices (from npm)
- Pack up?
- Not required
- Is pack up specific to our packages or is it universal
- More for libraries
- Does the plugin need to be a TS one to use pack up (honestly no idea what pack up does)
- peerDepend requirement?
- Yes probably (ask emilie)
- As a peerDepend -->

## Custom providers

Custom [providers](/dev-docs/providers) for the Email and Upload plugins need conversion only if they were using the Entity Service API (please refer to the [Entity Service API to Document Service API migration guide](/dev-docs/migration/v4-to-v5/guides/from-entity-service-to-document-service)).
6 changes: 4 additions & 2 deletions docusaurus/docs/dev-docs/migration/v4-to-v5/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,10 @@ It is currently strongly advised that you refrain from migrating from Strapi v4
The beta version of Strapi 5 is not meant to be used in production yet.
:::

The [upgrade tool](/dev-docs/upgrade-tool) and its codemods should automate some parts of the migration from v4 to Strapi 5. Additional information is also given below about breaking changes.
The [upgrade tool](/dev-docs/upgrade-tool) and its codemods should automate some parts of the migration from v4 to Strapi 5. Additional information is also given below about breaking changes and dedicated migration resources for specific topics.

<CustomDocCardsWrapper>
<CustomDocCard emoji="" title="v4 to v5 Breaking changes" description="Read more about the differences between Strapi v4 and v5 and the resulting breaking changes." link="/dev-docs/migration/v4-to-v5/breaking-changes" />
<CustomDocCard emoji="" title="Use the upgrade tool" description="Learn how you can use the CLI upgrade tool to migrate from v4 to Strapi 5." link="/dev-docs/migration/v4-to-v5/use-the-upgrade-tool" />
<CustomDocCard emoji="" title="Breaking changes list" description="Read more about the differences between Strapi v4 and v5 and the resulting breaking changes." link="/dev-docs/migration/v4-to-v5/breaking-changes" />
<CustomDocCard emoji="" title="Specific migration resources" description="Handle specific use cases: Plugins migration, helper-plugin deprecation, Entity Service API deprecation." link="/dev-docs/migration/v4-to-v5/guides/introduction" />
</CustomDocCardsWrapper>
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
title: Migrate to Strapi 5 with the CLI upgrade tool
displayed_sidebar: devDocsMigrationV5Sidebar
---

_Coming soon…_
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,6 @@ import NotV5 from '/docs/snippets/_not-updated-to-v5.md'

# How to use the Plugin CLI to create and publish a Strapi plugin

<NotV5/>

:::caution
The Plugin CLI is currently experimental.
:::

The Plugin CLI is set of commands orientated around developing plugins to use them as local plugins or to publish them on NPM and/or submit them to the Marketplace.

As opposed to the `strapi generate plugin` command (see [plugin creation and setup](/dev-docs/plugins/development/create-a-plugin)) you do not need to set up a Strapi project to use the Plugin CLI.
Expand Down
3 changes: 3 additions & 0 deletions docusaurus/sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -1227,7 +1227,10 @@ const sidebars = {
{
type: 'category',
label: 'Migration guides',
link: { type: 'doc', id: 'dev-docs/migration/v4-to-v5/guides/introduction' },
items: [
'dev-docs/migration/v4-to-v5/guides/introduction',
'dev-docs/migration/v4-to-v5/guides/plugins-migration',
'dev-docs/migration/v4-to-v5/guides/helper-plugin',
'dev-docs/migration/v4-to-v5/guides/from-entity-service-to-document-service',
]
Expand Down