chore: Update admin build/serve configuration (#9584)

**Breaking changes**

The `outDir` has been deprecated and wont be used anymore, instead all the path are computed internally following these rules
- if admin is not `disabled` and the `build` command is run without the `--admin-only` flag, then the admin output dir will be `.medusa/server/public/admin` and it will be served from that same location from the medusa instance.
- if admin is not `disabled` and the `build` command is run with the `--admin-only` flag, then the admin output dir will be `.medusa/admin` with the purpose of deploying the admin separately. ⚠️ (expect to receive a warning log)
- if the admin is `disabled` and the `build` command is run with the `--admin-only` flag, then fallback to rule number 2

| admin enabled  | medusa build --admin-only  | output dir |
|---|---|---|
| true  | true  | `.medusa/admin` ⚠️ (expect to receive a warning log) |
| true  | false  | `.medusa/server/public/admin`  |
| false  | true  | `.medusa/admin`  |
| false  | false  | none |

```diff
// medusa-config.ts

{
  // ...
  admin: {
-    outDir: 'some/path'
  }
}
```


cc @kasperkristensen @sradevski @olivermrbl
This commit is contained in:
Adrien de Peretti
2024-10-15 17:59:47 +02:00
committed by GitHub
parent 4a03bdbb86
commit 84fa6ccde5
9 changed files with 95 additions and 48 deletions

View File

@@ -354,9 +354,15 @@ function buildLocalCommands(cli, isLocalProject) {
),
})
.command({
command: `build`,
desc: `Build your project.`,
builder: (_) => _,
command: "build",
desc: "Build your project.",
builder: (_) =>
_.option("admin-only", {
default: false,
type: "boolean",
describe:
"Only build the admin to serve it separately (outDir .medusa/admin)",
}),
handler: handlerP(
getCommandHandler(`build`, (args, cmd) => {
process.env.NODE_ENV = process.env.NODE_ENV || `development`