Skip to content

Commit d94d4bb

Browse files
committed
chore: simplify naming
1 parent cdb8f23 commit d94d4bb

File tree

15 files changed

+85
-85
lines changed

15 files changed

+85
-85
lines changed

packages/core/README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -155,14 +155,14 @@ Project is a class that represents the project and provides methods to work with
155155
- publish the project
156156
- etc.
157157

158-
Most of the methods are implemented in base class [GenericProject](./src/project/project.ts) and you can extend it to create your own project class.
158+
Most of the methods are implemented in base class [Project](./src/project/project.ts) and you can extend it to create your own project class.
159159

160160
In most casses you need just prepare options for the base class and implement `publish` method (like it is done in [PackageJsonProject](./src/project/packageJson.ts)).
161161

162162
```js
163-
import { GenericProject } from '@simple-release/core'
163+
import { Project } from '@simple-release/core'
164164

165-
export class CustomProject extends GenericProject {
165+
export class CustomProject extends Project {
166166
constructor(options) {
167167
super({
168168
...options,
@@ -176,7 +176,7 @@ export class CustomProject extends GenericProject {
176176
}
177177
```
178178

179-
There also is a base class for monorepo projects - [GenericMonorepoProject](./src/project/monorepo.ts). It provides methods to work with monorepo projects and you can extend it to create your own monorepo project class (alos see [PackageJsonMonorepoProject](./src/project/packageJsonMonorepo.ts)).
179+
There also is a base class for monorepo projects - [MonorepoProject](./src/project/monorepo.ts). It provides methods to work with monorepo projects and you can extend it to create your own monorepo project class (alos see [PackageJsonMonorepoProject](./src/project/packageJsonMonorepo.ts)).
180180

181181
### Release creator
182182

@@ -185,9 +185,9 @@ Release creator is a class that creates a release in the remote repository (like
185185
Signature of the class is very simple, you just need to implement `create` method:
186186

187187
```js
188-
import { GenericReleaseCreator } from '@simple-release/core'
188+
import { ReleaseCreator } from '@simple-release/core'
189189

190-
export class CustomReleaseCreator extends GenericReleaseCreator {
190+
export class CustomReleaseCreator extends ReleaseCreator {
191191
async create({ project, dryRun, logger }) {
192192
// Create the release in the remote repository
193193
// You can use `project` to get information about the project

packages/core/src/project/monorepo.ts

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,17 @@ import {
66
import { type ReleaseData } from '../release/release.js'
77
import { type ProjectManifest } from '../manifest/index.js'
88
import {
9-
type GenericProjectOptions,
10-
type GenericProjectBumpOptions,
9+
type ProjectOptions,
10+
type ProjectBumpOptions,
1111
bumpDefaultOptions,
12-
GenericProject
12+
Project
1313
} from './project.js'
1414

1515
export type MonorepoMode = 'fixed' | 'independent'
1616

17-
export type GetProjectsOptions = Required<Pick<GenericProjectOptions, 'compose' | 'gitClient' | 'manifest'>>
17+
export type GetProjectsOptions = Required<Pick<ProjectOptions, 'compose' | 'gitClient' | 'manifest'>>
1818

19-
export interface GenericMonorepoProjectOptions extends GenericProjectOptions {
19+
export interface MonorepoProjectOptions extends ProjectOptions {
2020
/**
2121
* The mode of the monorepo.
2222
* If mode is 'fixed', all projects will be bumped to the same version.
@@ -31,7 +31,7 @@ export interface GenericMonorepoProjectOptions extends GenericProjectOptions {
3131
/**
3232
* Get projects in the monorepo.
3333
*/
34-
getProjects(options: GetProjectsOptions): AsyncIterable<GenericProject>
34+
getProjects(options: GetProjectsOptions): AsyncIterable<Project>
3535
/**
3636
* Get the scope for the project of monorepo.
3737
* @param projectName - Project name to get the scope for.
@@ -51,32 +51,32 @@ export interface GenericMonorepoProjectOptions extends GenericProjectOptions {
5151
gitClient?: ConventionalGitClient
5252
}
5353

54-
export interface GenericMonorepoProjectBumpOptions extends Omit<GenericProjectBumpOptions, 'tagPrefix'> {
54+
export interface MonorepoProjectBumpOptions extends Omit<ProjectBumpOptions, 'tagPrefix'> {
5555
/**
5656
* Force bump projects without changes in the monorepo with fixed mode.
5757
*/
5858
force?: boolean
5959
/**
6060
* Bump options for specific projects.
6161
*/
62-
byProject?: Record<string, Pick<GenericProjectBumpOptions, 'version' | 'as' | 'prerelease' | 'firstRelease'>>
62+
byProject?: Record<string, Pick<ProjectBumpOptions, 'version' | 'as' | 'prerelease' | 'firstRelease'>>
6363
}
6464

65-
export abstract class GenericMonorepoProject extends GenericProject {
65+
export abstract class MonorepoProject extends Project {
6666
/**
6767
* The mode of the monorepo.
6868
* If mode is 'fixed', all projects will be bumped to the same version.
6969
* If mode is 'independent', each project will be bumped to its own version.
7070
*/
7171
mode: MonorepoMode
72-
declare options: GenericMonorepoProjectOptions & GenericProjectOptions
73-
private projectsMutex: Promise<GenericProject[]> | undefined
72+
declare options: MonorepoProjectOptions & ProjectOptions
73+
private projectsMutex: Promise<Project[]> | undefined
7474

7575
/**
7676
* Creates a new instance of the generic monorepo project.
7777
* @param options - The options to use for the monorepo project.
7878
*/
79-
constructor(options: GenericMonorepoProjectOptions) {
79+
constructor(options: MonorepoProjectOptions) {
8080
const {
8181
mode,
8282
compose
@@ -107,10 +107,10 @@ export abstract class GenericMonorepoProject extends GenericProject {
107107
gitClient: this.gitClient,
108108
manifest: this.manifest
109109
}
110-
const projects: GenericProject[] = []
111-
let resolve: (projects: GenericProject[]) => void
110+
const projects: Project[] = []
111+
let resolve: (projects: Project[]) => void
112112

113-
this.projectsMutex = new Promise<GenericProject[]>((r) => {
113+
this.projectsMutex = new Promise<Project[]>((r) => {
114114
resolve = r
115115
})
116116

@@ -243,8 +243,8 @@ export abstract class GenericMonorepoProject extends GenericProject {
243243
}
244244

245245
private async getBumpOptions(
246-
project: GenericProject,
247-
options: GenericMonorepoProjectBumpOptions
246+
project: Project,
247+
options: MonorepoProjectBumpOptions
248248
) {
249249
const {
250250
preset = bumpDefaultOptions.preset,
@@ -272,7 +272,7 @@ export abstract class GenericMonorepoProject extends GenericProject {
272272
}
273273

274274
override getNextVersion(
275-
options: GenericMonorepoProjectBumpOptions = {}
275+
options: MonorepoProjectBumpOptions = {}
276276
): Promise<string | null> {
277277
if (this.mode === 'fixed' && options.version) {
278278
return super.getNextVersion(options)
@@ -284,7 +284,7 @@ export abstract class GenericMonorepoProject extends GenericProject {
284284
}
285285

286286
private async independentBump(
287-
options: GenericMonorepoProjectBumpOptions = {}
287+
options: MonorepoProjectBumpOptions = {}
288288
) {
289289
let hasBump = false
290290

@@ -308,12 +308,12 @@ export abstract class GenericMonorepoProject extends GenericProject {
308308
}
309309

310310
private async fixedBump(
311-
options: GenericMonorepoProjectBumpOptions = {}
311+
options: MonorepoProjectBumpOptions = {}
312312
) {
313313
const { force } = options
314314
const updatedProjects: {
315-
project: GenericProject
316-
options: GenericMonorepoProjectBumpOptions
315+
project: Project
316+
options: MonorepoProjectBumpOptions
317317
}[] = []
318318
let hasBump = false
319319
let fixedVersion: string | undefined
@@ -363,7 +363,7 @@ export abstract class GenericMonorepoProject extends GenericProject {
363363
}
364364

365365
override async bump(
366-
options: GenericMonorepoProjectBumpOptions = {}
366+
options: MonorepoProjectBumpOptions = {}
367367
) {
368368
const { mode } = this
369369

packages/core/src/project/packageJson.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import { PackageJsonManifest } from '../manifest/index.js'
22
import {
3-
type GenericProjectOptions,
4-
type GenericProjectPublishOptions,
5-
GenericProject
3+
type ProjectOptions,
4+
type ProjectPublishOptions,
5+
Project
66
} from './project.js'
77

8-
export interface PackageJsonProjectOptions extends Omit<GenericProjectOptions, 'manifest'> {
8+
export interface PackageJsonProjectOptions extends Omit<ProjectOptions, 'manifest'> {
99
/**
1010
* Path to the package.json file
1111
*/
@@ -15,7 +15,7 @@ export interface PackageJsonProjectOptions extends Omit<GenericProjectOptions, '
1515
/**
1616
* A package.json based project.
1717
*/
18-
export class PackageJsonProject extends GenericProject {
18+
export class PackageJsonProject extends Project {
1919
/**
2020
* Creates a package.json based project.
2121
* @param options
@@ -29,7 +29,7 @@ export class PackageJsonProject extends GenericProject {
2929
})
3030
}
3131

32-
override publish(_options?: GenericProjectPublishOptions): Promise<void> {
32+
override publish(_options?: ProjectPublishOptions): Promise<void> {
3333
throw new Error('Publishing a package.json project is not supported')
3434
}
3535
}

packages/core/src/project/packageJsonMonorepo.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import {
1111
forkProject
1212
} from 'test'
1313
import type { GetProjectsOptions } from './monorepo.js'
14-
import type { GenericProject } from './project.js'
14+
import type { Project } from './project.js'
1515
import { PackageJsonMonorepoProject } from './packageJsonMonorepo.js'
1616

1717
async function* getProjects(options: GetProjectsOptions) {
@@ -143,7 +143,7 @@ describe('core', () => {
143143
root: path,
144144
getProjects
145145
})
146-
const projects: GenericProject[] = []
146+
const projects: Project[] = []
147147

148148
for await (const subProject of project.getProjects()) {
149149
projects.push(subProject)

packages/core/src/project/packageJsonMonorepo.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,16 @@ import {
33
join
44
} from 'path'
55
import { PackageJsonManifest } from '../manifest/index.js'
6-
import { type GenericProjectPublishOptions } from './project.js'
6+
import { type ProjectPublishOptions } from './project.js'
77
import { PackageJsonProject } from './packageJson.js'
88
import {
9-
type GenericMonorepoProjectOptions,
9+
type MonorepoProjectOptions,
1010
type MonorepoMode,
1111
type GetProjectsOptions,
12-
GenericMonorepoProject
12+
MonorepoProject
1313
} from './monorepo.js'
1414

15-
export interface PackageJsonMonorepoProjectOptions extends Omit<GenericMonorepoProjectOptions, 'getProjects' | 'manifest'> {
15+
export interface PackageJsonMonorepoProjectOptions extends Omit<MonorepoProjectOptions, 'getProjects' | 'manifest'> {
1616
mode: MonorepoMode
1717
/**
1818
* Root path of the monorepo
@@ -27,7 +27,7 @@ export interface PackageJsonMonorepoProjectOptions extends Omit<GenericMonorepoP
2727
/**
2828
* A package.json based monorepo project.
2929
*/
30-
export class PackageJsonMonorepoProject extends GenericMonorepoProject {
30+
export class PackageJsonMonorepoProject extends MonorepoProject {
3131
/**
3232
* Creates a package.json based monorepo project.
3333
* @param options
@@ -52,7 +52,7 @@ export class PackageJsonMonorepoProject extends GenericMonorepoProject {
5252
})
5353
}
5454

55-
override publish(_options?: GenericProjectPublishOptions): Promise<void> {
55+
override publish(_options?: ProjectPublishOptions): Promise<void> {
5656
throw new Error('Publishing a package.json monorepo project is not supported')
5757
}
5858
}

packages/core/src/project/project.ts

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@ import { type ReleaseData } from '../release/index.js'
1818
import { type ChildLogger } from '../logger.js'
1919
import { getReleaseType } from '../utils.js'
2020

21-
export interface GenericProjectVersionUpdate extends ProjectManifestVersionUpdate {
21+
export interface ProjectVersionUpdate extends ProjectManifestVersionUpdate {
2222
notes: string
2323
}
2424

25-
export interface GenericProjectOptions {
25+
export interface ProjectOptions {
2626
/**
2727
* The manifest of the project.
2828
*/
@@ -43,7 +43,7 @@ export interface GenericProjectOptions {
4343
gitClient?: ConventionalGitClient
4444
}
4545

46-
export interface GenericProjectBumpOptions {
46+
export interface ProjectBumpOptions {
4747
/**
4848
* Force a specific version to bump to.
4949
* If not provided, the version will be determined based on the commits.
@@ -77,7 +77,7 @@ export interface GenericProjectBumpOptions {
7777
logger?: ChildLogger
7878
}
7979

80-
export interface GenericProjectTagsOptions {
80+
export interface ProjectTagsOptions {
8181
/**
8282
* The prefix to use for the tag.
8383
* @default 'v'
@@ -91,15 +91,15 @@ export interface GenericProjectTagsOptions {
9191
verify?: boolean
9292
}
9393

94-
export interface GenericProjectReleaseOptions {
94+
export interface ProjectReleaseOptions {
9595
/**
9696
* The prefix to use for the tag.
9797
* @default 'v'
9898
*/
9999
tagPrefix?: string
100100
}
101101

102-
export interface GenericProjectPublishOptions {
102+
export interface ProjectPublishOptions {
103103
dryRun?: boolean
104104
logger?: ChildLogger
105105
}
@@ -114,7 +114,7 @@ export const bumpDefaultOptions = {
114114
/**
115115
* A class that represents a generic project.
116116
*/
117-
export abstract class GenericProject {
117+
export abstract class Project {
118118
/**
119119
* The manifest of the project.
120120
*/
@@ -123,21 +123,21 @@ export abstract class GenericProject {
123123
* The git client used to interact with the repository.
124124
*/
125125
gitClient: ConventionalGitClient
126-
options: GenericProjectOptions
126+
options: ProjectOptions
127127
/**
128128
* Changed files after interacting with the project.
129129
*/
130130
changedFiles: string[] = []
131131
/**
132132
* Version updates after interacting with the project.
133133
*/
134-
versionUpdates: GenericProjectVersionUpdate[] = []
134+
versionUpdates: ProjectVersionUpdate[] = []
135135

136136
/**
137137
* Creates a new instance of the generic project.
138138
* @param options - The options to use for the project.
139139
*/
140-
constructor(options: GenericProjectOptions) {
140+
constructor(options: ProjectOptions) {
141141
const {
142142
manifest,
143143
compose,
@@ -171,7 +171,7 @@ export abstract class GenericProject {
171171
* @param options - The options to use for getting the tags.
172172
* @returns The new git tags.
173173
*/
174-
async getTags(options: GenericProjectTagsOptions = {}) {
174+
async getTags(options: ProjectTagsOptions = {}) {
175175
const {
176176
manifest,
177177
gitClient
@@ -199,7 +199,7 @@ export abstract class GenericProject {
199199
* @param options - The options to use for getting the release data.
200200
* @returns The release data.
201201
*/
202-
async getReleaseData(options: GenericProjectReleaseOptions = {}): Promise<ReleaseData[]> {
202+
async getReleaseData(options: ProjectReleaseOptions = {}): Promise<ReleaseData[]> {
203203
const {
204204
manifest,
205205
versionUpdates
@@ -243,7 +243,7 @@ export abstract class GenericProject {
243243
* @param options - The options to use for getting the next version.
244244
* @returns The next version.
245245
*/
246-
async getNextVersion(options: GenericProjectBumpOptions = {}): Promise<string | null> {
246+
async getNextVersion(options: ProjectBumpOptions = {}): Promise<string | null> {
247247
const {
248248
gitClient,
249249
manifest
@@ -318,7 +318,7 @@ export abstract class GenericProject {
318318
* @param options - The options to use for bumping the version.
319319
* @returns Whether the version was bumped.
320320
*/
321-
async bump(options: GenericProjectBumpOptions = {}) {
321+
async bump(options: ProjectBumpOptions = {}) {
322322
const nextVersion = await this.getNextVersion(options)
323323

324324
if (!nextVersion) {
@@ -384,5 +384,5 @@ export abstract class GenericProject {
384384
* Publish the project.
385385
* @param options
386386
*/
387-
abstract publish(options?: GenericProjectPublishOptions): Promise<void>
387+
abstract publish(options?: ProjectPublishOptions): Promise<void>
388388
}

0 commit comments

Comments
 (0)