Skip to content

Commit

Permalink
Remove detectPackageManager
Browse files Browse the repository at this point in the history
  • Loading branch information
munierujp committed May 26, 2024
1 parent ec399e0 commit 15e4fb5
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 31 deletions.
6 changes: 1 addition & 5 deletions src/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ import { logger } from './logger/logger.js'
import { NpmCheckUpdates } from './npm-check-updates/NpmCheckUpdates.js'
import type { Options } from './options/Options.js'
import { OutdatedPackageProcessorCreator } from './outdated-package-processor/OutdatedPackageProcessorCreator.js'
import { detectPackageManager } from './package-manager/detectPackageManager.js'
import { PackageManagerCreator } from './package-manager/PackageManagerCreator.js'
import { Terminal } from './terminal/Terminal.js'

Expand Down Expand Up @@ -93,10 +92,7 @@ export const main = async (options: Options): Promise<void> => {
})

const branchFinder = new BranchFinder(branches)
const packageManagerCreator = new PackageManagerCreator({
options,
detectPackageManager
})
const packageManagerCreator = new PackageManagerCreator(options)
const packageManager = await packageManagerCreator.create(terminal)
const pullRequestTitleCreator = new PullRequestTitleCreator(options.prTitle)
const releasesFetcher = new ReleasesFetcher({
Expand Down
17 changes: 6 additions & 11 deletions src/package-manager/PackageManagerCreator.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,17 @@ import { each } from 'test-each'
import type { Class } from 'utility-types'
import type { Options } from '../options/Options.js'
import type { Terminal } from '../terminal/Terminal.js'
import type { detectPackageManager } from './detectPackageManager.js'
import { detectPackageManager } from './detectPackageManager.js'
import { Npm } from './npm/Npm.js'
import type { PackageManager } from './PackageManager.js'
import { PackageManagerCreator } from './PackageManagerCreator.js'
import { PackageManagerName } from './PackageManagerName.js'
import { Yarn } from './yarn/Yarn.js'

await describe('PackageManagerCreator', async () => {
await describe('create', async () => {
const detectPackageManagerMock = mock.fn<typeof detectPackageManager>()
// TODO: Activate when mock.module can use.
await describe.skip('create', async () => {
const detectPackageManagerMock = mock.fn(detectPackageManager)
const terminal = {} as unknown as Terminal
const inputs: Array<[packageManager: PackageManagerName, expected: Class<PackageManager>]> = [
[PackageManagerName.Npm, Npm],
Expand All @@ -35,10 +36,7 @@ await describe('PackageManagerCreator', async () => {
const options = {
packageManager
} as unknown as Options
const packageManagerCreator = new PackageManagerCreator({
options,
detectPackageManager: detectPackageManagerMock
})
const packageManagerCreator = new PackageManagerCreator(options)

const actual = await packageManagerCreator.create(terminal)

Expand All @@ -53,10 +51,7 @@ await describe('PackageManagerCreator', async () => {
each(inputs, ({ title }, [packageManager, expected]) => {
void it(title, async () => {
const options = {} as unknown as Options
const packageManagerCreator = new PackageManagerCreator({
options,
detectPackageManager: detectPackageManagerMock
})
const packageManagerCreator = new PackageManagerCreator(options)
detectPackageManagerMock.mock.mockImplementation(() => packageManager)

const actual = await packageManagerCreator.create(terminal)
Expand Down
18 changes: 3 additions & 15 deletions src/package-manager/PackageManagerCreator.ts
Original file line number Diff line number Diff line change
@@ -1,26 +1,14 @@
import { logger } from '../logger/logger.js'
import type { Options } from '../options/Options.js'
import type { Terminal } from '../terminal/Terminal.js'
import type { detectPackageManager as DetectPackageManager } from './detectPackageManager.js'
import { detectPackageManager } from './detectPackageManager.js'
import { Npm } from './npm/Npm.js'
import type { PackageManager } from './PackageManager.js'
import { PackageManagerName } from './PackageManagerName.js'
import { Yarn } from './yarn/Yarn.js'

export class PackageManagerCreator {
private readonly options: Options
private readonly detectPackageManager: typeof DetectPackageManager

constructor ({
options,
detectPackageManager
}: {
options: Options
detectPackageManager: typeof DetectPackageManager
}) {
this.options = options
this.detectPackageManager = detectPackageManager
}
constructor (private readonly options: Options) {}

async create (terminal: Terminal): Promise<PackageManager> {
const packageManagerName = await this.getPackageManagerName()
Expand All @@ -42,6 +30,6 @@ export class PackageManagerCreator {
}

logger.info('Try to detect package manager from lock file.')
return await this.detectPackageManager()
return await detectPackageManager()
}
}

0 comments on commit 15e4fb5

Please sign in to comment.