Compare commits

...

18 Commits

Author SHA1 Message Date
2946bcaf49 1.3.12 2024-06-24 00:01:37 +02:00
d962e17c18 fix(aidocs): Fix changelog generation by handling leading newlines 2024-06-24 00:01:36 +02:00
a22c400355 1.3.11 2024-06-23 23:59:44 +02:00
08b7305ef0 fix(core): Fixed new changelog formatting issue to retain consistent spacing. 2024-06-23 23:59:43 +02:00
d7b462fda9 1.3.10 2024-06-23 23:58:32 +02:00
01e6c15626 fix(aidocs_classes): Fix changelog format to remove extra newline 2024-06-23 23:58:31 +02:00
94a066247f 1.3.9 2024-06-23 23:50:51 +02:00
7de157ccb3 fix(aidoc): Fix changelog generation by properly stripping markdown code fences 2024-06-23 23:50:51 +02:00
d783965b25 1.3.8 2024-06-23 23:29:37 +02:00
07f1413d5e fix(changelog): Fix changelog generation by properly stripping markdown code fences 2024-06-23 23:29:36 +02:00
d7bf45f6b5 1.3.7 2024-06-23 23:24:09 +02:00
3eb64bcb5d fix(aidoc): Update to include package-lock.json in uncommitted changes check 2024-06-23 23:24:09 +02:00
e24a027fdd 1.3.6 2024-06-23 23:20:02 +02:00
3f451cfcb1 fix(commit): Fixed issue with retrieving uncommitted diffs in git repository 2024-06-23 23:20:01 +02:00
e355c51c8d 1.3.5 2024-06-23 23:05:47 +02:00
b0fcaba2c3 fix(aidocs_classes): Refactor and enhance changelog formatting 2024-06-23 23:05:47 +02:00
4ea205e11b 1.3.4 2024-06-23 22:48:06 +02:00
f819e7b521 fix(aidocs_classes): Fix changelog formatting issue in commit class 2024-06-23 22:48:05 +02:00
5 changed files with 78 additions and 36 deletions

View File

@ -1,47 +1,80 @@
# Changelog # 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) ## 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 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.
## 2024-06-23 - 1.3.1 - fix(aidocs_classes)
## 23.06.2024 - 1.3.2 - fix(aidocs_classes)
Fix typo in INextCommitObject interface and update date format in changelog generation. 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 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 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 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 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 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 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 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.

View File

@ -1,6 +1,6 @@
{ {
"name": "@git.zone/tsdoc", "name": "@git.zone/tsdoc",
"version": "1.3.3", "version": "1.3.12",
"private": false, "private": false,
"description": "An advanced TypeScript documentation tool using AI to generate and enhance documentation for TypeScript projects.", "description": "An advanced TypeScript documentation tool using AI to generate and enhance documentation for TypeScript projects.",
"type": "module", "type": "module",

View File

@ -3,6 +3,6 @@
*/ */
export const commitinfo = { export const commitinfo = {
name: '@git.zone/tsdoc', 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.' description: 'An advanced TypeScript documentation tool using AI to generate and enhance documentation for TypeScript projects.'
} }

View File

@ -27,7 +27,10 @@ export class Commit {
smartgitInstance, smartgitInstance,
this.projectDir this.projectDir
); );
const diffString = await gitRepo.getUncommittedDiff(); const diffStringArray = await gitRepo.getUncommittedDiff([
'pnpm-lock.yaml',
'package-lock.json',
]);
const projectContext = new ProjectContext(this.projectDir); const projectContext = new ProjectContext(this.projectDir);
let contextString = await projectContext.update(); let contextString = await projectContext.update();
contextString = ` contextString = `
@ -35,7 +38,7 @@ ${contextString}
Below is the diff of the uncommitted changes. If nothing is changed, there are no changes: 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({ let result = await this.aiDocsRef.openaiInstance.chat({
@ -59,6 +62,8 @@ interface {
recommendedNextVersion: string; // the recommended next version of the project, x.x.x 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. You are being given the files of the project. You should use them to create the commit message.
Also you are given a diff Also you are given a diff
@ -81,16 +86,18 @@ Also you are given a diff
if (!previousChangelog) { if (!previousChangelog) {
// lets build the changelog based on that // lets build the changelog based on that
const commitMessages = await gitRepo.getAllCommitMessages(); const commitMessages = await gitRepo.getAllCommitMessages();
console.log(JSON.stringify(commitMessages, null, 2));
let result2 = await this.aiDocsRef.openaiInstance.chat({ let result2 = await this.aiDocsRef.openaiInstance.chat({
messageHistory: [], messageHistory: [],
systemMessage: ` systemMessage: `
You are building a changelog.md file for the project. 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: A changelog entry should look like this:
## yyyy-mm-dd - x.x.x - scope here ## yyyy-mm-dd - x.x.x - scope here
main descriptiom here main descriptiom here
- detailed bullet points follow - detailed bullet points follow
You are given: You are given:
@ -106,17 +113,20 @@ ${JSON.stringify(commitMessages, null, 2)}
previousChangelog = await plugins.smartfile.SmartFile.fromString( previousChangelog = await plugins.smartfile.SmartFile.fromString(
previousChangelogPath, previousChangelogPath,
result2.message, result2.message.replaceAll('```markdown', '').replaceAll('```', ''),
'utf8' 'utf8'
); );
} }
let oldChangelog = previousChangelog.contents.toString().replace('# Changelog\n\n', ''); 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 newDateString = new plugins.smarttime.ExtendedDate().exportToHyphedSortableDate();
let newChangelog = `# Changelog\n\n${`## ${newDateString} - {{nextVersion}} - {{nextVersionScope}} let newChangelog = `# Changelog\n\n${`## ${newDateString} - {{nextVersion}} - {{nextVersionScope}}
{{nextVersionMessage}} {{nextVersionMessage}}
{{nextVersionDetails}}
`}\n\n${oldChangelog}\n`; {{nextVersionDetails}}`}\n\n${oldChangelog}`;
resultObject.changelog = newChangelog; resultObject.changelog = newChangelog;
return resultObject; return resultObject;

View File

@ -47,7 +47,6 @@ export class ProjectContext {
} }
public async convertFilesToContext(filesArg: plugins.smartfile.SmartFile[]) { public async convertFilesToContext(filesArg: plugins.smartfile.SmartFile[]) {
console.log(`Using the following files for the documentation:`);
filesArg.map((fileArg) => { filesArg.map((fileArg) => {
// console.log(` -> ${fileArg.relative}`); // console.log(` -> ${fileArg.relative}`);
}); });