diff --git a/.changeset/eighty-emus-float.md b/.changeset/eighty-emus-float.md new file mode 100644 index 0000000000..c149affa09 --- /dev/null +++ b/.changeset/eighty-emus-float.md @@ -0,0 +1,5 @@ +--- +'@backstage/cli': patch +--- + +Add ESM loader for the experimental backend start command. diff --git a/packages/cli/package.json b/packages/cli/package.json index 1662c39341..604832ed89 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -41,6 +41,7 @@ "@backstage/release-manifests": "workspace:^", "@backstage/types": "workspace:^", "@esbuild-kit/cjs-loader": "^2.4.1", + "@esbuild-kit/esm-loader": "^2.5.5", "@manypkg/get-packages": "^1.1.3", "@octokit/graphql": "^5.0.0", "@octokit/graphql-schema": "^13.7.0", diff --git a/packages/cli/src/lib/experimental/startBackendExperimental.ts b/packages/cli/src/lib/experimental/startBackendExperimental.ts index c08fbda0da..f4875ce1e5 100644 --- a/packages/cli/src/lib/experimental/startBackendExperimental.ts +++ b/packages/cli/src/lib/experimental/startBackendExperimental.ts @@ -25,7 +25,12 @@ import debounce from 'lodash/debounce'; import spawn from 'cross-spawn'; import { paths } from '../paths'; -const loaderArgs = ['--require', require.resolve('@esbuild-kit/cjs-loader')]; +const loaderArgs = [ + '--require', + require.resolve('@esbuild-kit/cjs-loader'), + '--loader', + require.resolve('@esbuild-kit/esm-loader'), +]; export async function startBackendExperimental(options: BackendServeOptions) { const envEnv = process.env as { NODE_ENV: string }; diff --git a/yarn.lock b/yarn.lock index e41c5ef273..4677a6ee5b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3767,6 +3767,7 @@ __metadata: "@backstage/theme": "workspace:^" "@backstage/types": "workspace:^" "@esbuild-kit/cjs-loader": ^2.4.1 + "@esbuild-kit/esm-loader": ^2.5.5 "@manypkg/get-packages": ^1.1.3 "@octokit/graphql": ^5.0.0 "@octokit/graphql-schema": ^13.7.0 @@ -10758,6 +10759,16 @@ __metadata: languageName: node linkType: hard +"@esbuild-kit/esm-loader@npm:^2.5.5": + version: 2.5.5 + resolution: "@esbuild-kit/esm-loader@npm:2.5.5" + dependencies: + "@esbuild-kit/core-utils": ^3.0.0 + get-tsconfig: ^4.4.0 + checksum: 9d4a03ffc937fbec75a8456c3d45d7cdb1a65768416791a5720081753502bc9f485ba27942a46f564b12483b140a8a46c12433a4496430d93e4513e430484ec7 + languageName: node + linkType: hard + "@esbuild/android-arm64@npm:0.16.17": version: 0.16.17 resolution: "@esbuild/android-arm64@npm:0.16.17"