diff --git a/examples/getstarted/jsconfig.json b/examples/getstarted/jsconfig.json
index 4ebd9272cf..43e55dec51 100644
--- a/examples/getstarted/jsconfig.json
+++ b/examples/getstarted/jsconfig.json
@@ -1,5 +1,6 @@
{
"compilerOptions": {
+ "jsx": "react",
"moduleResolution": "nodenext",
"target": "ES2021",
"checkJs": true,
diff --git a/examples/getstarted/src/admin/app.js b/examples/getstarted/src/admin/app.js
index 3acc1c2c16..78994130c7 100644
--- a/examples/getstarted/src/admin/app.js
+++ b/examples/getstarted/src/admin/app.js
@@ -1,8 +1,18 @@
+import React from 'react';
+import { Button } from '@strapi/design-system';
+
const config = {
locales: ['it', 'es', 'en'],
};
-const bootstrap = () => {
+const bootstrap = (app) => {
console.log('I AM BOOTSTRAPPED');
+
+ app.injectContentManagerComponent('editView', 'right-links', {
+ name: 'PreviewButton',
+ Component: () => (
+
+ ),
+ });
};
export default {
diff --git a/packages/core/admin/_internal/node/core/files.ts b/packages/core/admin/_internal/node/core/files.ts
index 644f1afd7e..f9fd9a52b0 100644
--- a/packages/core/admin/_internal/node/core/files.ts
+++ b/packages/core/admin/_internal/node/core/files.ts
@@ -18,7 +18,11 @@ const pathExists = async (path: string) => {
*/
const loadFile = async (path: string): Promise => {
if (await pathExists(path)) {
- const esbuildOptions = { extensions: ['.js', '.mjs', '.ts'] };
+ const esbuildOptions: Parameters[0] = {
+ extensions: ['.js', '.mjs', '.ts', '.jsx', '.tsx'],
+ jsx: 'automatic',
+ loader: 'jsx',
+ };
const { unregister } = register(esbuildOptions);
diff --git a/packages/core/admin/_internal/node/staticFiles.ts b/packages/core/admin/_internal/node/staticFiles.ts
index 914e7725bf..79cf23e113 100644
--- a/packages/core/admin/_internal/node/staticFiles.ts
+++ b/packages/core/admin/_internal/node/staticFiles.ts
@@ -24,7 +24,7 @@ const getEntryModule = (ctx: BuildContext): string => {
*/
${pluginsImport}
import { renderAdmin } from "@strapi/strapi/admin"
-
+
${
ctx.customisations?.path
? `import customisations from '${path.relative(
@@ -33,7 +33,7 @@ const getEntryModule = (ctx: BuildContext): string => {
)}'`
: ''
}
-
+
renderAdmin(
document.getElementById("strapi"),
{