Compare commits
14 Commits
Author | SHA1 | Date | |
---|---|---|---|
e8372effc7 | |||
571249705e | |||
927cd961fd | |||
63b4fcc232 | |||
4188ed7f24 | |||
1feddc6e85 | |||
499baebc18 | |||
01fc0d0c6e | |||
b6c9cea5d1 | |||
a949039192 | |||
11bde9d756 | |||
eac26521c6 | |||
e1323569f5 | |||
41e4bd6689 |
23
changelog.md
Normal file
23
changelog.md
Normal file
@ -0,0 +1,23 @@
|
||||
# Changelog
|
||||
|
||||
## [1.2.4] - 1.2.4
|
||||
fix(logging): Refactor logger initialization to use commitinfo data
|
||||
|
||||
## [1.2.3]
|
||||
fix(aidocs): Fix bug in AiDoc class causing undefined token handling
|
||||
|
||||
## [1.2.2] - 2023-11-20
|
||||
### Fixed
|
||||
- Fix bug in AiDoc class causing undefined token handling
|
||||
|
||||
## [1.2.1] - 2023-11-10
|
||||
### Fixed
|
||||
- Fixed usage of plugins in project context and readme generation
|
||||
|
||||
## [1.2.0] - 2023-11-01
|
||||
### Added
|
||||
- Enhance changelog generation by supporting complete generation in the absence of previous changelog files
|
||||
|
||||
## [1.1.42] - 2023-10-30
|
||||
### Fixed
|
||||
- Improve commit message generation by handling empty diffs and updating changelog instructions
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@git.zone/tsdoc",
|
||||
"version": "1.1.40",
|
||||
"version": "1.2.4",
|
||||
"private": false,
|
||||
"description": "An advanced TypeScript documentation tool using AI to generate and enhance documentation for TypeScript projects.",
|
||||
"type": "module",
|
||||
|
@ -1,8 +1,8 @@
|
||||
/**
|
||||
* autocreated commitinfo by @pushrocks/commitinfo
|
||||
* autocreated commitinfo by @push.rocks/commitinfo
|
||||
*/
|
||||
export const commitinfo = {
|
||||
name: '@git.zone/tsdoc',
|
||||
version: '1.1.40',
|
||||
version: '1.2.4',
|
||||
description: 'An advanced TypeScript documentation tool using AI to generate and enhance documentation for TypeScript projects.'
|
||||
}
|
||||
|
@ -22,16 +22,20 @@ export class Commit {
|
||||
public async buildNextCommitObject(): Promise<INextCommitObject> {
|
||||
const smartgitInstance = new plugins.smartgit.Smartgit();
|
||||
await smartgitInstance.init();
|
||||
const gitRepo = await plugins.smartgit.GitRepo.fromOpeningRepoDir(smartgitInstance, this.projectDir);
|
||||
const gitRepo = await plugins.smartgit.GitRepo.fromOpeningRepoDir(
|
||||
smartgitInstance,
|
||||
this.projectDir
|
||||
);
|
||||
const diffString = await gitRepo.getUncommittedDiff();
|
||||
const projectContext = new ProjectContext(this.projectDir);
|
||||
let contextString = await projectContext.update();
|
||||
contextString = `
|
||||
${contextString}
|
||||
|
||||
Here is the diff:
|
||||
${diffString}
|
||||
`
|
||||
Below is the diff of the uncommitted changes. If nothing is changed, there are no changes:
|
||||
|
||||
${diffString || 'No changes.'}
|
||||
`;
|
||||
|
||||
let result = await this.aiDocsRef.openaiInstance.chat({
|
||||
systemMessage: `
|
||||
@ -61,7 +65,9 @@ Also you are given a diff
|
||||
});
|
||||
|
||||
// console.log(result.message);
|
||||
const resultObject: INextCommitObject = JSON.parse(result.message.replace('```json', '').replace('```', ''));
|
||||
const resultObject: INextCommitObject = JSON.parse(
|
||||
result.message.replace('```json', '').replace('```', '')
|
||||
);
|
||||
|
||||
// lets build the changelog based on that
|
||||
const commitMessages = await gitRepo.getAllCommitMessages();
|
||||
@ -82,18 +88,28 @@ You are given
|
||||
|
||||
Only return the changelog file, so it can be written directly to changelog.md
|
||||
|
||||
For the latest version, that is not yet part of the commit messages, use {{nextVersion}} and {{nextVersionMessage}} placeholders.
|
||||
For the latest version, that is not yet part of the commit messages, add a placeholder entry that uses {{nextVersion}} and {{nextVersionMessage}} as variables to filled later.
|
||||
Only output newer versions and their changes compared to ones already mentioned. We take of appending your output later.
|
||||
If there is no previous changelog file, generate a complete changelog from commit messages with heading and everything + the placeholder section mentioned above.
|
||||
`,
|
||||
userMessage: `
|
||||
The previous changelog file is:
|
||||
${(!previousChangelog) ? 'No previous changelog file found' : previousChangelog.contents.toString()}
|
||||
${!previousChangelog ? 'No previous changelog file found' : previousChangelog.contents.toString()}
|
||||
|
||||
Here are the commit messages so far:
|
||||
|
||||
${commitMessages.join('\n\n')}
|
||||
`
|
||||
})
|
||||
resultObject.changelog = result2.message;
|
||||
`,
|
||||
});
|
||||
if (previousChangelog) {
|
||||
let newChangelog = result2.message;
|
||||
newChangelog = newChangelog.replace('# Changelog\n\n', '');
|
||||
let oldChangelog = previousChangelog.contents.toString().replace('# Changelog\n\n', '');
|
||||
newChangelog = `# Changelog\n\n${newChangelog}\n\n${oldChangelog}`;
|
||||
resultObject.changelog = newChangelog;
|
||||
} else {
|
||||
resultObject.changelog = result2.message;
|
||||
}
|
||||
return resultObject;
|
||||
}
|
||||
}
|
||||
|
@ -1,15 +1,6 @@
|
||||
import { commitinfo } from './00_commitinfo_data.js';
|
||||
import * as plugins from './plugins.js';
|
||||
|
||||
export const logger = new plugins.smartlog.Smartlog({
|
||||
logContext: {
|
||||
company: 'Some Company',
|
||||
companyunit: 'Some CompanyUnit',
|
||||
containerName: 'Some Containername',
|
||||
environment: 'local',
|
||||
runtime: 'node',
|
||||
zone: 'gitzone',
|
||||
},
|
||||
minimumLogLevel: 'silly',
|
||||
});
|
||||
export const logger = plugins.smartlog.Smartlog.createForCommitinfo(commitinfo);
|
||||
|
||||
logger.addLogDestination(new plugins.smartlogDestinationLocal.DestinationLocal());
|
||||
|
Reference in New Issue
Block a user