2022-04-25 07:58:42 +00:00
|
|
|
import * as plugins from './commitinfo.plugins.js';
|
|
|
|
|
2022-04-26 14:57:02 +00:00
|
|
|
export class CommitInfo {
|
|
|
|
// Instance
|
|
|
|
public projectDir: string;
|
|
|
|
public plannedCommitVersionTypeArg: 'patch' | 'minor' | 'major';
|
|
|
|
public projectinfoNpmRef: plugins.projectinfo.ProjectinfoNpm;
|
|
|
|
public smartVersionRef: plugins.smartversion.SmartVersion;
|
|
|
|
constructor(projectDirArg: string, plannedCommitVersionTypeArg: 'patch' | 'minor' | 'major') {
|
|
|
|
this.projectDir = projectDirArg;
|
|
|
|
this.plannedCommitVersionTypeArg = plannedCommitVersionTypeArg;
|
|
|
|
this.projectinfoNpmRef = new plugins.projectinfo.ProjectinfoNpm(projectDirArg);
|
|
|
|
this.smartVersionRef = new plugins.smartversion.SmartVersion(this.projectinfoNpmRef.version);
|
|
|
|
}
|
|
|
|
|
|
|
|
public async writeIntoPotentialDirs(potentialDirs: string[] = ['ts', 'ts_web']) {
|
|
|
|
const expectedDefinitiveVersion = this.smartVersionRef.getNewVersion(
|
|
|
|
this.plannedCommitVersionTypeArg
|
|
|
|
);
|
|
|
|
for (const dir of potentialDirs) {
|
|
|
|
const dirExists = plugins.smartfile.fs.isDirectory(plugins.path.join(this.projectDir, dir));
|
|
|
|
if (dirExists) {
|
|
|
|
const writePath = plugins.path.join(this.projectDir, dir, '00_commitinfo_data.ts');
|
|
|
|
await plugins.smartfile.memory.toFs(
|
2022-04-26 14:59:15 +00:00
|
|
|
`/**
|
|
|
|
* autocreated commitinfo by @pushrocks/commitinfo
|
|
|
|
*/
|
2022-04-26 15:02:16 +00:00
|
|
|
export const version: string = '${expectedDefinitiveVersion.versionString}';
|
2022-04-27 12:15:12 +00:00
|
|
|
export default version;
|
2022-04-26 15:03:15 +00:00
|
|
|
`,
|
2022-04-26 14:57:02 +00:00
|
|
|
writePath
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|