From bca0248075362bbb192fa6e6d84f36ed39456020 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Tue, 29 Apr 2025 11:28:16 +0200 Subject: [PATCH 1/7] cli: move backend runner and IPC into start module Signed-off-by: Patrik Oldsberg --- .../src/modules/start/commands/package/start/startBackend.ts | 2 +- packages/cli/src/{ => modules/start}/lib/ipc/IpcServer.ts | 0 packages/cli/src/{ => modules/start}/lib/ipc/ServerDataStore.ts | 0 packages/cli/src/{ => modules/start}/lib/ipc/index.ts | 0 packages/cli/src/{ => modules/start}/lib/runner/index.ts | 0 packages/cli/src/{ => modules/start}/lib/runner/runBackend.ts | 2 +- 6 files changed, 2 insertions(+), 2 deletions(-) rename packages/cli/src/{ => modules/start}/lib/ipc/IpcServer.ts (100%) rename packages/cli/src/{ => modules/start}/lib/ipc/ServerDataStore.ts (100%) rename packages/cli/src/{ => modules/start}/lib/ipc/index.ts (100%) rename packages/cli/src/{ => modules/start}/lib/runner/index.ts (100%) rename packages/cli/src/{ => modules/start}/lib/runner/runBackend.ts (99%) diff --git a/packages/cli/src/modules/start/commands/package/start/startBackend.ts b/packages/cli/src/modules/start/commands/package/start/startBackend.ts index 417398e9f9..a09a2cfe70 100644 --- a/packages/cli/src/modules/start/commands/package/start/startBackend.ts +++ b/packages/cli/src/modules/start/commands/package/start/startBackend.ts @@ -17,7 +17,7 @@ import fs from 'fs-extra'; import { resolve as resolvePath } from 'path'; import { paths } from '../../../../../lib/paths'; -import { runBackend } from '../../../../../lib/runner'; +import { runBackend } from '../../../lib/runner'; interface StartBackendOptions { targetDir: string; diff --git a/packages/cli/src/lib/ipc/IpcServer.ts b/packages/cli/src/modules/start/lib/ipc/IpcServer.ts similarity index 100% rename from packages/cli/src/lib/ipc/IpcServer.ts rename to packages/cli/src/modules/start/lib/ipc/IpcServer.ts diff --git a/packages/cli/src/lib/ipc/ServerDataStore.ts b/packages/cli/src/modules/start/lib/ipc/ServerDataStore.ts similarity index 100% rename from packages/cli/src/lib/ipc/ServerDataStore.ts rename to packages/cli/src/modules/start/lib/ipc/ServerDataStore.ts diff --git a/packages/cli/src/lib/ipc/index.ts b/packages/cli/src/modules/start/lib/ipc/index.ts similarity index 100% rename from packages/cli/src/lib/ipc/index.ts rename to packages/cli/src/modules/start/lib/ipc/index.ts diff --git a/packages/cli/src/lib/runner/index.ts b/packages/cli/src/modules/start/lib/runner/index.ts similarity index 100% rename from packages/cli/src/lib/runner/index.ts rename to packages/cli/src/modules/start/lib/runner/index.ts diff --git a/packages/cli/src/lib/runner/runBackend.ts b/packages/cli/src/modules/start/lib/runner/runBackend.ts similarity index 99% rename from packages/cli/src/lib/runner/runBackend.ts rename to packages/cli/src/modules/start/lib/runner/runBackend.ts index ebb1d535b3..49dccf804f 100644 --- a/packages/cli/src/lib/runner/runBackend.ts +++ b/packages/cli/src/modules/start/lib/runner/runBackend.ts @@ -21,7 +21,7 @@ import { IpcServer, ServerDataStore } from '../ipc'; import debounce from 'lodash/debounce'; import { fileURLToPath } from 'url'; import { isAbsolute as isAbsolutePath } from 'path'; -import { paths } from '../paths'; +import { paths } from '../../../../lib/paths'; import spawn from 'cross-spawn'; const loaderArgs = [ From 62f444f69ed215aa1d8ba629ffe1359781a02fe3 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Tue, 29 Apr 2025 11:30:25 +0200 Subject: [PATCH 2/7] cli: move publishing utils to maintenance module Signed-off-by: Patrik Oldsberg --- packages/cli/src/modules/maintenance/commands/package/pack.ts | 2 +- packages/cli/src/modules/maintenance/commands/repo/fix.ts | 2 +- packages/cli/src/{ => modules/maintenance}/lib/publishing.ts | 0 3 files changed, 2 insertions(+), 2 deletions(-) rename packages/cli/src/{ => modules/maintenance}/lib/publishing.ts (100%) diff --git a/packages/cli/src/modules/maintenance/commands/package/pack.ts b/packages/cli/src/modules/maintenance/commands/package/pack.ts index 510401c6d1..cdd50517ae 100644 --- a/packages/cli/src/modules/maintenance/commands/package/pack.ts +++ b/packages/cli/src/modules/maintenance/commands/package/pack.ts @@ -20,7 +20,7 @@ import { } from '../../../../modules/build/lib/packager/productionPack'; import { paths } from '../../../../lib/paths'; import fs from 'fs-extra'; -import { publishPreflightCheck } from '../../../../lib/publishing'; +import { publishPreflightCheck } from '../../lib/publishing'; import { createTypeDistProject } from '../../../../lib/typeDistProject'; export const pre = async () => { diff --git a/packages/cli/src/modules/maintenance/commands/repo/fix.ts b/packages/cli/src/modules/maintenance/commands/repo/fix.ts index 83f4da6114..231c822483 100644 --- a/packages/cli/src/modules/maintenance/commands/repo/fix.ts +++ b/packages/cli/src/modules/maintenance/commands/repo/fix.ts @@ -25,7 +25,7 @@ import { OptionValues } from 'commander'; import fs from 'fs-extra'; import { resolve as resolvePath, posix, relative as relativePath } from 'path'; import { paths } from '../../../../lib/paths'; -import { publishPreflightCheck } from '../../../../lib/publishing'; +import { publishPreflightCheck } from '../../lib/publishing'; /** * A mutable object representing a package.json file with potential fixes. diff --git a/packages/cli/src/lib/publishing.ts b/packages/cli/src/modules/maintenance/lib/publishing.ts similarity index 100% rename from packages/cli/src/lib/publishing.ts rename to packages/cli/src/modules/maintenance/lib/publishing.ts From 89c7d2e91f5b8cac386edab0a1ab105b1cf474cb Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Tue, 29 Apr 2025 11:31:59 +0200 Subject: [PATCH 3/7] cli: move codeowners lib into "new" module Signed-off-by: Patrik Oldsberg --- .../src/{ => modules/new}/lib/codeowners/codeowners.test.ts | 0 .../cli/src/{ => modules/new}/lib/codeowners/codeowners.ts | 2 +- packages/cli/src/{ => modules/new}/lib/codeowners/index.ts | 0 .../src/modules/new/lib/execution/executePortableTemplate.ts | 2 +- .../new/lib/preparation/collectPortableTemplateInput.ts | 5 +---- 5 files changed, 3 insertions(+), 6 deletions(-) rename packages/cli/src/{ => modules/new}/lib/codeowners/codeowners.test.ts (100%) rename packages/cli/src/{ => modules/new}/lib/codeowners/codeowners.ts (98%) rename packages/cli/src/{ => modules/new}/lib/codeowners/index.ts (100%) diff --git a/packages/cli/src/lib/codeowners/codeowners.test.ts b/packages/cli/src/modules/new/lib/codeowners/codeowners.test.ts similarity index 100% rename from packages/cli/src/lib/codeowners/codeowners.test.ts rename to packages/cli/src/modules/new/lib/codeowners/codeowners.test.ts diff --git a/packages/cli/src/lib/codeowners/codeowners.ts b/packages/cli/src/modules/new/lib/codeowners/codeowners.ts similarity index 98% rename from packages/cli/src/lib/codeowners/codeowners.ts rename to packages/cli/src/modules/new/lib/codeowners/codeowners.ts index 5734be95b8..32a38a71c7 100644 --- a/packages/cli/src/lib/codeowners/codeowners.ts +++ b/packages/cli/src/modules/new/lib/codeowners/codeowners.ts @@ -16,7 +16,7 @@ import fs from 'fs-extra'; import path from 'path'; -import { paths } from '../paths'; +import { paths } from '../../../../lib/paths'; const TEAM_ID_RE = /^@[-\w]+\/[-\w]+$/; const USER_ID_RE = /^@[-\w]+$/; diff --git a/packages/cli/src/lib/codeowners/index.ts b/packages/cli/src/modules/new/lib/codeowners/index.ts similarity index 100% rename from packages/cli/src/lib/codeowners/index.ts rename to packages/cli/src/modules/new/lib/codeowners/index.ts diff --git a/packages/cli/src/modules/new/lib/execution/executePortableTemplate.ts b/packages/cli/src/modules/new/lib/execution/executePortableTemplate.ts index cb076f3aa0..039575128e 100644 --- a/packages/cli/src/modules/new/lib/execution/executePortableTemplate.ts +++ b/packages/cli/src/modules/new/lib/execution/executePortableTemplate.ts @@ -15,7 +15,7 @@ */ import { assertError } from '@backstage/errors'; -import { addCodeownersEntry } from '../../../../lib/codeowners'; +import { addCodeownersEntry } from '../codeowners'; import { Task } from '../../../../lib/tasks'; import { PortableTemplate, diff --git a/packages/cli/src/modules/new/lib/preparation/collectPortableTemplateInput.ts b/packages/cli/src/modules/new/lib/preparation/collectPortableTemplateInput.ts index 23a30721b0..38e8eaddba 100644 --- a/packages/cli/src/modules/new/lib/preparation/collectPortableTemplateInput.ts +++ b/packages/cli/src/modules/new/lib/preparation/collectPortableTemplateInput.ts @@ -15,10 +15,7 @@ */ import inquirer, { DistinctQuestion } from 'inquirer'; -import { - getCodeownersFilePath, - parseOwnerIds, -} from '../../../../lib/codeowners'; +import { getCodeownersFilePath, parseOwnerIds } from '../codeowners'; import { paths } from '../../../../lib/paths'; import { PortableTemplateConfig, From 3743ac12daf6d9d0bc60b92763d38cae2e10ef38 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Tue, 29 Apr 2025 11:36:16 +0200 Subject: [PATCH 4/7] cli: move yarn utils into versioning lib Signed-off-by: Patrik Oldsberg --- packages/cli/src/lib/versioning/packages.test.ts | 4 ++-- packages/cli/src/lib/versioning/packages.ts | 2 +- packages/cli/src/lib/{ => versioning}/yarn.ts | 0 3 files changed, 3 insertions(+), 3 deletions(-) rename packages/cli/src/lib/{ => versioning}/yarn.ts (100%) diff --git a/packages/cli/src/lib/versioning/packages.test.ts b/packages/cli/src/lib/versioning/packages.test.ts index 23ff927c48..78fb1d1f5e 100644 --- a/packages/cli/src/lib/versioning/packages.test.ts +++ b/packages/cli/src/lib/versioning/packages.test.ts @@ -15,7 +15,7 @@ */ import * as runObj from '../run'; -import * as yarn from '../yarn'; +import * as yarn from './yarn'; import { fetchPackageInfo, mapDependencies } from './packages'; import { NotFoundError } from '../errors'; import { createMockDirectory } from '@backstage/backend-test-utils'; @@ -27,7 +27,7 @@ jest.mock('../run', () => { }; }); -jest.mock('../yarn', () => { +jest.mock('./yarn', () => { return { detectYarnVersion: jest.fn(), }; diff --git a/packages/cli/src/lib/versioning/packages.ts b/packages/cli/src/lib/versioning/packages.ts index 0499775bf2..7a75189a5f 100644 --- a/packages/cli/src/lib/versioning/packages.ts +++ b/packages/cli/src/lib/versioning/packages.ts @@ -17,7 +17,7 @@ import { minimatch } from 'minimatch'; import { getPackages } from '@manypkg/get-packages'; import { NotFoundError } from '../errors'; -import { detectYarnVersion } from '../yarn'; +import { detectYarnVersion } from './yarn'; import { execFile } from '../run'; const DEP_TYPES = [ diff --git a/packages/cli/src/lib/yarn.ts b/packages/cli/src/lib/versioning/yarn.ts similarity index 100% rename from packages/cli/src/lib/yarn.ts rename to packages/cli/src/lib/versioning/yarn.ts From 82cb824bdd1a7f4fd1b82a8045638e610288ab99 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Tue, 29 Apr 2025 11:43:32 +0200 Subject: [PATCH 5/7] cli: move task logging utils to "new" module Signed-off-by: Patrik Oldsberg --- .../src/modules/new/lib/execution/executePortableTemplate.ts | 2 +- packages/cli/src/modules/new/lib/execution/installNewPackage.ts | 2 +- packages/cli/src/{ => modules/new}/lib/tasks.ts | 0 3 files changed, 2 insertions(+), 2 deletions(-) rename packages/cli/src/{ => modules/new}/lib/tasks.ts (100%) diff --git a/packages/cli/src/modules/new/lib/execution/executePortableTemplate.ts b/packages/cli/src/modules/new/lib/execution/executePortableTemplate.ts index 039575128e..6d34e35e4c 100644 --- a/packages/cli/src/modules/new/lib/execution/executePortableTemplate.ts +++ b/packages/cli/src/modules/new/lib/execution/executePortableTemplate.ts @@ -16,7 +16,7 @@ import { assertError } from '@backstage/errors'; import { addCodeownersEntry } from '../codeowners'; -import { Task } from '../../../../lib/tasks'; +import { Task } from '../tasks'; import { PortableTemplate, PortableTemplateConfig, diff --git a/packages/cli/src/modules/new/lib/execution/installNewPackage.ts b/packages/cli/src/modules/new/lib/execution/installNewPackage.ts index 733a688bfb..0fe0284386 100644 --- a/packages/cli/src/modules/new/lib/execution/installNewPackage.ts +++ b/packages/cli/src/modules/new/lib/execution/installNewPackage.ts @@ -17,7 +17,7 @@ import fs from 'fs-extra'; import upperFirst from 'lodash/upperFirst'; import camelCase from 'lodash/camelCase'; import { paths } from '../../../../lib/paths'; -import { Task } from '../../../../lib/tasks'; +import { Task } from '../tasks'; import { PortableTemplateInput } from '../types'; export async function installNewPackage(input: PortableTemplateInput) { diff --git a/packages/cli/src/lib/tasks.ts b/packages/cli/src/modules/new/lib/tasks.ts similarity index 100% rename from packages/cli/src/lib/tasks.ts rename to packages/cli/src/modules/new/lib/tasks.ts From e27331c490e6f20a7436bb5ad959ba2a0c49fd29 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Tue, 29 Apr 2025 11:48:49 +0200 Subject: [PATCH 6/7] cli: move url utils to build module Signed-off-by: Patrik Oldsberg --- .../cli/src/modules/build/commands/package/build/command.ts | 2 +- packages/cli/src/{ => modules/build}/lib/urls.test.ts | 0 packages/cli/src/{ => modules/build}/lib/urls.ts | 0 3 files changed, 1 insertion(+), 1 deletion(-) rename packages/cli/src/{ => modules/build}/lib/urls.test.ts (100%) rename packages/cli/src/{ => modules/build}/lib/urls.ts (100%) diff --git a/packages/cli/src/modules/build/commands/package/build/command.ts b/packages/cli/src/modules/build/commands/package/build/command.ts index 77e48841cf..d6a71b6fc1 100644 --- a/packages/cli/src/modules/build/commands/package/build/command.ts +++ b/packages/cli/src/modules/build/commands/package/build/command.ts @@ -21,7 +21,7 @@ import { PackageGraph, PackageRoles } from '@backstage/cli-node'; import { paths } from '../../../../../lib/paths'; import { buildFrontend } from '../../../lib/buildFrontend'; import { buildBackend } from '../../../lib/buildBackend'; -import { isValidUrl } from '../../../../../lib/urls'; +import { isValidUrl } from '../../../lib/urls'; import chalk from 'chalk'; export async function command(opts: OptionValues): Promise { diff --git a/packages/cli/src/lib/urls.test.ts b/packages/cli/src/modules/build/lib/urls.test.ts similarity index 100% rename from packages/cli/src/lib/urls.test.ts rename to packages/cli/src/modules/build/lib/urls.test.ts diff --git a/packages/cli/src/lib/urls.ts b/packages/cli/src/modules/build/lib/urls.ts similarity index 100% rename from packages/cli/src/lib/urls.ts rename to packages/cli/src/modules/build/lib/urls.ts From 19a4e7cbc461e0420bdd53ccbac82a477626c32a Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Tue, 29 Apr 2025 11:54:07 +0200 Subject: [PATCH 7/7] changesets: add changeset for internal CLI refactor Signed-off-by: Patrik Oldsberg --- .changeset/spicy-camels-bet.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/spicy-camels-bet.md diff --git a/.changeset/spicy-camels-bet.md b/.changeset/spicy-camels-bet.md new file mode 100644 index 0000000000..0289980ff9 --- /dev/null +++ b/.changeset/spicy-camels-bet.md @@ -0,0 +1,5 @@ +--- +'@backstage/cli': patch +--- + +Internal refactor to move things closer to home