Compare commits
18 Commits
Author | SHA1 | Date | |
---|---|---|---|
2946bcaf49 | |||
d962e17c18 | |||
a22c400355 | |||
08b7305ef0 | |||
d7b462fda9 | |||
01e6c15626 | |||
94a066247f | |||
7de157ccb3 | |||
d783965b25 | |||
07f1413d5e | |||
d7bf45f6b5 | |||
3eb64bcb5d | |||
e24a027fdd | |||
3f451cfcb1 | |||
e355c51c8d | |||
b0fcaba2c3 | |||
4ea205e11b | |||
f819e7b521 |
87
changelog.md
87
changelog.md
@ -1,47 +1,80 @@
|
||||
# Changelog
|
||||
|
||||
## 2024-06-24 - 1.3.12 - fix(aidocs)
|
||||
Fix changelog generation by handling leading newlines
|
||||
|
||||
- Fixed handling of leading newlines in the changelog to ensure proper formatting.
|
||||
|
||||
## 2024-06-23 - 1.3.11 - fix(core)
|
||||
Fixed new changelog formatting issue to retain consistent spacing.
|
||||
|
||||
- Adjusted the new changelog generation to ensure consistent spacing for improved readability.
|
||||
|
||||
## 2024-06-23 - 1.3.10 - fix(aidocs_classes)
|
||||
Fix changelog format to remove extra newline
|
||||
|
||||
- Updated `ts/aidocs_classes/commit.ts` to fix the changelog format.
|
||||
|
||||
## 2024-06-23 - 1.3.9 - fix(aidoc)
|
||||
Fix changelog generation by properly stripping markdown code fences
|
||||
|
||||
- Corrected the changelog generation code to ensure markdown code fences are properly stripped.
|
||||
|
||||
|
||||
## 2024-06-23 - 1.3.8 - fix(changelog)
|
||||
Fix changelog generation by properly stripping markdown code fences
|
||||
|
||||
- Corrected the changelog generation code to ensure markdown code fences are properly stripped.
|
||||
|
||||
## 2024-06-23 - 1.3.7 - fix(aidoc)
|
||||
Update to include package-lock.json in uncommitted changes check
|
||||
|
||||
- Modified the getUncommittedDiff method call in commit.ts to include package-lock.json along with pnpm-lock.yaml
|
||||
|
||||
|
||||
## 2024-06-23 - 1.3.6 - fix(commit)
|
||||
Fixed issue with retrieving uncommitted diffs in git repository
|
||||
|
||||
- Revised logic to correctly handle uncommitted changes by using an array for `getUncommittedDiff` method
|
||||
- Ensured proper handling and representation of uncommitted changes in the output
|
||||
|
||||
|
||||
## 2024-06-23 - 1.3.5 - fix(aidocs_classes)
|
||||
Refactor and enhance changelog formatting
|
||||
|
||||
- Updated the `commit.ts` file to improve the changelog formatting and ensure consistency.
|
||||
- Enhanced the changelog instructions to include summarizing messages for omitted commits.
|
||||
- Removed unnecessary console logging in `projectcontext.ts`.
|
||||
|
||||
|
||||
```markdown
|
||||
## 2024-06-23 - 1.3.3 - fix(aidocs_classes)
|
||||
Fix changelog formatting issue in commit class
|
||||
|
||||
## 2024-06-23 - 1.3.2 - fix(aidocs_classes)
|
||||
Fix minor bugs and update dependencies in aidocs_classes
|
||||
- Fixed typo in INextCommitObject interface within the aidocs_classes.
|
||||
- Updated date format in changelog generation from European format to hyphened sortable format.
|
||||
- Updated @push.rocks/smartgit dependency from version 3.0.4 to 3.1.0.
|
||||
- Updated typedoc dependency from version 0.26.0 to 0.26.1.
|
||||
- Improved commit message generation by adding handling for empty diffs and updating changelog instructions.
|
||||
|
||||
|
||||
## 23.06.2024 - 1.3.2 - fix(aidocs_classes)
|
||||
## 2024-06-23 - 1.3.1 - fix(aidocs_classes)
|
||||
Fix typo in INextCommitObject interface and update date format in changelog generation.
|
||||
- Corrected typo in INextCommitObject interface within the aidocs_classes directory.
|
||||
- Updated date format in changelog generation from European format to hyphened sortable format.
|
||||
|
||||
## 2023-xx-xx - 1.3.1 - aidocs_classes
|
||||
## 2024-06-23 - 1.3.0 - fix(aidocs_classes)
|
||||
Fix typo in INextCommitObject interface
|
||||
- Corrected a minor typo in the INextCommitObject interface for consistency.
|
||||
|
||||
## 2023-xx-xx - 1.3.0 - core
|
||||
## 2024-06-23 - 1.2.4 - feat(core)
|
||||
Added smarttime dependency and improved changelog generation
|
||||
- Introduced smarttime dependency to the core module.
|
||||
- Enhanced changelog generation to be more efficient.
|
||||
|
||||
## 2023-xx-xx - 1.2.4 - logging
|
||||
## 2024-06-23 - 1.2.3 - fix(logging)
|
||||
Refactor logger initialization to use commitinfo data
|
||||
- Logger initialization now utilizes commitinfo data for better context and accuracy.
|
||||
|
||||
## 2023-xx-xx - 1.2.3 - aidocs
|
||||
## 2024-06-23 - 1.2.2 - fix(aidocs)
|
||||
Fix bug in AiDoc class causing undefined token handling
|
||||
- Resolved an issue in the AiDoc class where undefined tokens were not being handled correctly.
|
||||
|
||||
## 2023-xx-xx - 1.2.1 - core
|
||||
## 2024-06-23 - 1.2.0 - fix(core)
|
||||
Fixed usage of plugins in project context and readme generation
|
||||
- Improved the usage of plugins within the project context.
|
||||
- Fixed issues related to README.md generation.
|
||||
|
||||
## 2023-xx-xx - 1.2.0 - aidocs_classes
|
||||
## 2024-06-23 - 1.1.42 - feat(aidocs_classes)
|
||||
Enhance changelog generation by supporting complete generation in the absence of previous changelog files
|
||||
- Updated changelog generation to support complete generation even when previous changelog files are absent.
|
||||
|
||||
## 2023-xx-xx - 1.1.42 - aidoc_classes
|
||||
## 2024-06-23 - 1.1.41 - fix(aidocs_classes)
|
||||
Improve commit message generation by handling empty diffs and updating changelog instructions
|
||||
- Enhanced commit message generation to handle empty diffs.
|
||||
- Updated instructions for changelog generation for better clarity.
|
||||
|
||||
```
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@git.zone/tsdoc",
|
||||
"version": "1.3.3",
|
||||
"version": "1.3.12",
|
||||
"private": false,
|
||||
"description": "An advanced TypeScript documentation tool using AI to generate and enhance documentation for TypeScript projects.",
|
||||
"type": "module",
|
||||
|
@ -3,6 +3,6 @@
|
||||
*/
|
||||
export const commitinfo = {
|
||||
name: '@git.zone/tsdoc',
|
||||
version: '1.3.3',
|
||||
version: '1.3.12',
|
||||
description: 'An advanced TypeScript documentation tool using AI to generate and enhance documentation for TypeScript projects.'
|
||||
}
|
||||
|
@ -27,7 +27,10 @@ export class Commit {
|
||||
smartgitInstance,
|
||||
this.projectDir
|
||||
);
|
||||
const diffString = await gitRepo.getUncommittedDiff();
|
||||
const diffStringArray = await gitRepo.getUncommittedDiff([
|
||||
'pnpm-lock.yaml',
|
||||
'package-lock.json',
|
||||
]);
|
||||
const projectContext = new ProjectContext(this.projectDir);
|
||||
let contextString = await projectContext.update();
|
||||
contextString = `
|
||||
@ -35,7 +38,7 @@ ${contextString}
|
||||
|
||||
Below is the diff of the uncommitted changes. If nothing is changed, there are no changes:
|
||||
|
||||
${diffString || 'No changes.'}
|
||||
${diffStringArray[0] ? diffStringArray.join('\n\n') : 'No changes.'}
|
||||
`;
|
||||
|
||||
let result = await this.aiDocsRef.openaiInstance.chat({
|
||||
@ -59,6 +62,8 @@ interface {
|
||||
recommendedNextVersion: string; // the recommended next version of the project, x.x.x
|
||||
}
|
||||
|
||||
For the recommendedNextVersionDetails, please only add a detail entries to the array if it has an obvious value to the reader.
|
||||
|
||||
You are being given the files of the project. You should use them to create the commit message.
|
||||
Also you are given a diff
|
||||
|
||||
@ -81,16 +86,18 @@ Also you are given a diff
|
||||
if (!previousChangelog) {
|
||||
// lets build the changelog based on that
|
||||
const commitMessages = await gitRepo.getAllCommitMessages();
|
||||
console.log(JSON.stringify(commitMessages, null, 2));
|
||||
let result2 = await this.aiDocsRef.openaiInstance.chat({
|
||||
messageHistory: [],
|
||||
systemMessage: `
|
||||
You are building a changelog.md file for the project.
|
||||
Omit commits and versions that lack relevant changes.
|
||||
Omit commits and versions that lack relevant changes, but make sure to mention them as a range with a summarizing message instead.
|
||||
|
||||
A changelog entry should look like this:
|
||||
|
||||
## yyyy-mm-dd - x.x.x - scope here
|
||||
main descriptiom here
|
||||
|
||||
- detailed bullet points follow
|
||||
|
||||
You are given:
|
||||
@ -106,17 +113,20 @@ ${JSON.stringify(commitMessages, null, 2)}
|
||||
|
||||
previousChangelog = await plugins.smartfile.SmartFile.fromString(
|
||||
previousChangelogPath,
|
||||
result2.message,
|
||||
result2.message.replaceAll('```markdown', '').replaceAll('```', ''),
|
||||
'utf8'
|
||||
);
|
||||
}
|
||||
|
||||
let oldChangelog = previousChangelog.contents.toString().replace('# Changelog\n\n', '');
|
||||
if (oldChangelog.startsWith('\n')) {
|
||||
oldChangelog = oldChangelog.replace('\n', '');
|
||||
}
|
||||
let newDateString = new plugins.smarttime.ExtendedDate().exportToHyphedSortableDate();
|
||||
let newChangelog = `# Changelog\n\n${`## ${newDateString} - {{nextVersion}} - {{nextVersionScope}}
|
||||
{{nextVersionMessage}}
|
||||
{{nextVersionDetails}}
|
||||
`}\n\n${oldChangelog}\n`;
|
||||
|
||||
{{nextVersionDetails}}`}\n\n${oldChangelog}`;
|
||||
resultObject.changelog = newChangelog;
|
||||
|
||||
return resultObject;
|
||||
|
@ -47,7 +47,6 @@ export class ProjectContext {
|
||||
}
|
||||
|
||||
public async convertFilesToContext(filesArg: plugins.smartfile.SmartFile[]) {
|
||||
console.log(`Using the following files for the documentation:`);
|
||||
filesArg.map((fileArg) => {
|
||||
// console.log(` -> ${fileArg.relative}`);
|
||||
});
|
||||
|
Reference in New Issue
Block a user