fix(aidocs_classes): Fix minor bugs and update dependencies in aidocs_classes

This commit is contained in:
Philipp Kunz 2024-06-23 22:47:27 +02:00
parent 5e2171dbfd
commit 34102a2544
6 changed files with 39 additions and 28 deletions

View File

@ -1,12 +1,19 @@
# Changelog # Changelog
## 2024-06-23 - 1.3.3 - 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) ## 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. - Corrected typo in INextCommitObject interface within the aidocs_classes directory.
- Updated date format in changelog generation from European format to hyphened sortable format. - Updated date format in changelog generation from European format to hyphened sortable format.
```markdown
## 2023-xx-xx - 1.3.1 - aidocs_classes ## 2023-xx-xx - 1.3.1 - aidocs_classes
Fix typo in INextCommitObject interface Fix typo in INextCommitObject interface
- Corrected a minor typo in the INextCommitObject interface for consistency. - Corrected a minor typo in the INextCommitObject interface for consistency.
@ -37,4 +44,4 @@ Enhance changelog generation by supporting complete generation in the absence of
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. - Enhanced commit message generation to handle empty diffs.
- Updated instructions for changelog generation for better clarity. - Updated instructions for changelog generation for better clarity.
```

View File

@ -33,14 +33,14 @@
"@push.rocks/smartcli": "^4.0.11", "@push.rocks/smartcli": "^4.0.11",
"@push.rocks/smartdelay": "^3.0.5", "@push.rocks/smartdelay": "^3.0.5",
"@push.rocks/smartfile": "^11.0.20", "@push.rocks/smartfile": "^11.0.20",
"@push.rocks/smartgit": "^3.0.4", "@push.rocks/smartgit": "^3.1.0",
"@push.rocks/smartinteract": "^2.0.15", "@push.rocks/smartinteract": "^2.0.15",
"@push.rocks/smartlog": "^3.0.7", "@push.rocks/smartlog": "^3.0.7",
"@push.rocks/smartlog-destination-local": "^9.0.2", "@push.rocks/smartlog-destination-local": "^9.0.2",
"@push.rocks/smartpath": "^5.0.18", "@push.rocks/smartpath": "^5.0.18",
"@push.rocks/smartshell": "^3.0.5", "@push.rocks/smartshell": "^3.0.5",
"@push.rocks/smarttime": "^4.0.6", "@push.rocks/smarttime": "^4.0.6",
"typedoc": "^0.26.0", "typedoc": "^0.26.1",
"typescript": "^5.5.2" "typescript": "^5.5.2"
}, },
"files": [ "files": [

View File

@ -30,8 +30,8 @@ importers:
specifier: ^11.0.20 specifier: ^11.0.20
version: 11.0.20 version: 11.0.20
'@push.rocks/smartgit': '@push.rocks/smartgit':
specifier: ^3.0.4 specifier: ^3.1.0
version: 3.0.4 version: 3.1.0
'@push.rocks/smartinteract': '@push.rocks/smartinteract':
specifier: ^2.0.15 specifier: ^2.0.15
version: 2.0.15 version: 2.0.15
@ -51,8 +51,8 @@ importers:
specifier: ^4.0.6 specifier: ^4.0.6
version: 4.0.6 version: 4.0.6
typedoc: typedoc:
specifier: ^0.26.0 specifier: ^0.26.1
version: 0.26.0(typescript@5.5.2) version: 0.26.1(typescript@5.5.2)
typescript: typescript:
specifier: ^5.5.2 specifier: ^5.5.2
version: 5.5.2 version: 5.5.2
@ -432,8 +432,8 @@ packages:
'@push.rocks/smartfile@11.0.20': '@push.rocks/smartfile@11.0.20':
resolution: {integrity: sha512-gJERlNE2fNah9HLq6W3srcl1GZwlz2vFVZRmb50TQLabmWF4qyTlaMYAwY8ffgf8np4TsHAa4s+kL5F0zUfUUg==} resolution: {integrity: sha512-gJERlNE2fNah9HLq6W3srcl1GZwlz2vFVZRmb50TQLabmWF4qyTlaMYAwY8ffgf8np4TsHAa4s+kL5F0zUfUUg==}
'@push.rocks/smartgit@3.0.4': '@push.rocks/smartgit@3.1.0':
resolution: {integrity: sha512-6uYifD4rGjTp6KO8kdaVenXeef0uZOfQSTuLuG3+ubpMXwZNSp0iQWx+XgS5pQipzG0+3p4ddnQ7/R8gm7LWOg==} resolution: {integrity: sha512-a3LbECFQSURkJc9t8CGJrzv7ZzfG1c83x424nb6jfj3jVJXCqjMvs1AkmpkUiro77J7yg4CavTu8vslAfrPIOw==}
'@push.rocks/smarthash@3.0.4': '@push.rocks/smarthash@3.0.4':
resolution: {integrity: sha512-HJ/fSx41jm0CvSaqMLa6b2nuNK5rHAqAeAq3dAB7Sq9BCPm2M0J5ZVDTzEAH8pS91XYniUiwuE0jwPERNn9hmw==} resolution: {integrity: sha512-HJ/fSx41jm0CvSaqMLa6b2nuNK5rHAqAeAq3dAB7Sq9BCPm2M0J5ZVDTzEAH8pS91XYniUiwuE0jwPERNn9hmw==}
@ -1927,8 +1927,8 @@ packages:
resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==}
engines: {node: '>=16'} engines: {node: '>=16'}
isomorphic-git@1.25.10: isomorphic-git@1.26.2:
resolution: {integrity: sha512-IxGiaKBwAdcgBXwIcxJU6rHLk+NrzYaaPKXXQffcA0GW3IUrQXdUPDXDo+hkGVcYruuz/7JlGBiuaeTCgIgivQ==} resolution: {integrity: sha512-swKxfDm/GyaU5ojGwKtfs3EiHwlUf3iP1iIHPduaJHA5y1cIzMDFo3ogwdW6i00UmAjYQNKyF2BZgj/jz58/2A==}
engines: {node: '>=12'} engines: {node: '>=12'}
hasBin: true hasBin: true
@ -3018,8 +3018,8 @@ packages:
resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
engines: {node: '>= 0.6'} engines: {node: '>= 0.6'}
typedoc@0.26.0: typedoc@0.26.1:
resolution: {integrity: sha512-OcYevjHsMN8DfpaL0dSBGAEBhOxuBB5Au8QVs9oz9iB0kRStPZwXLFWqh9gwbMUxNjW3yQuIM5GrVVauMJ2Akw==} resolution: {integrity: sha512-APsVXqh93jTlpkLuw6+/IORx7n5LN8hzJV8nvMIrYYaIva0VCq0CoDN7Z3hsRThEYVExI/qoFHnAAxrhG+Wd7Q==}
engines: {node: '>= 18'} engines: {node: '>= 18'}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
@ -3867,7 +3867,7 @@ snapshots:
glob: 10.4.1 glob: 10.4.1
js-yaml: 4.1.0 js-yaml: 4.1.0
'@push.rocks/smartgit@3.0.4': '@push.rocks/smartgit@3.1.0':
dependencies: dependencies:
'@push.rocks/smartenv': 5.0.12 '@push.rocks/smartenv': 5.0.12
'@push.rocks/smartfile': 11.0.20 '@push.rocks/smartfile': 11.0.20
@ -3875,10 +3875,11 @@ snapshots:
'@push.rocks/smartpromise': 4.0.3 '@push.rocks/smartpromise': 4.0.3
'@push.rocks/smartshell': 3.0.5 '@push.rocks/smartshell': 3.0.5
'@push.rocks/smartstring': 4.0.15 '@push.rocks/smartstring': 4.0.15
'@push.rocks/smarttime': 4.0.6
'@types/diff': 5.2.1 '@types/diff': 5.2.1
'@types/minimatch': 5.1.2 '@types/minimatch': 5.1.2
diff: 5.2.0 diff: 5.2.0
isomorphic-git: 1.25.10 isomorphic-git: 1.26.2
'@push.rocks/smarthash@3.0.4': '@push.rocks/smarthash@3.0.4':
dependencies: dependencies:
@ -5801,7 +5802,7 @@ snapshots:
isexe@3.1.1: {} isexe@3.1.1: {}
isomorphic-git@1.25.10: isomorphic-git@1.26.2:
dependencies: dependencies:
async-lock: 1.4.1 async-lock: 1.4.1
clean-git-ref: 2.0.1 clean-git-ref: 2.0.1
@ -7158,7 +7159,7 @@ snapshots:
media-typer: 0.3.0 media-typer: 0.3.0
mime-types: 2.1.35 mime-types: 2.1.35
typedoc@0.26.0(typescript@5.5.2): typedoc@0.26.1(typescript@5.5.2):
dependencies: dependencies:
lunr: 2.3.9 lunr: 2.3.9
markdown-it: 14.1.0 markdown-it: 14.1.0

View File

@ -3,6 +3,6 @@
*/ */
export const commitinfo = { export const commitinfo = {
name: '@git.zone/tsdoc', name: '@git.zone/tsdoc',
version: '1.3.2', version: '1.3.3',
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

@ -72,8 +72,6 @@ Also you are given a diff
result.message.replace('```json', '').replace('```', '') result.message.replace('```json', '').replace('```', '')
); );
// lets build the changelog based on that
const commitMessages = await gitRepo.getAllCommitMessages();
const previousChangelogPath = plugins.path.join(this.projectDir, 'changelog.md'); const previousChangelogPath = plugins.path.join(this.projectDir, 'changelog.md');
let previousChangelog: plugins.smartfile.SmartFile; let previousChangelog: plugins.smartfile.SmartFile;
if (await plugins.smartfile.fs.fileExists(previousChangelogPath)) { if (await plugins.smartfile.fs.fileExists(previousChangelogPath)) {
@ -81,6 +79,8 @@ Also you are given a diff
} }
if (!previousChangelog) { if (!previousChangelog) {
// lets build the changelog based on that
const commitMessages = await gitRepo.getAllCommitMessages();
let result2 = await this.aiDocsRef.openaiInstance.chat({ let result2 = await this.aiDocsRef.openaiInstance.chat({
messageHistory: [], messageHistory: [],
systemMessage: ` systemMessage: `
@ -100,17 +100,20 @@ Only return the changelog file, so it can be written directly to changelog.md`,
userMessage: ` userMessage: `
Here are the commit messages: Here are the commit messages:
${commitMessages.join('\n')} ${JSON.stringify(commitMessages, null, 2)}
`, `,
}); });
previousChangelog = await plugins.smartfile.SmartFile.fromString(previousChangelogPath, result2.message, 'utf8'); previousChangelog = await plugins.smartfile.SmartFile.fromString(
previousChangelogPath,
result2.message,
'utf8'
);
} }
let oldChangelog = previousChangelog.contents.toString().replace('# Changelog\n\n', ''); let oldChangelog = previousChangelog.contents.toString().replace('# Changelog\n\n', '');
let newDateString = new plugins.smarttime.ExtendedDate().exportToHyphedSortableDate(); let newDateString = new plugins.smarttime.ExtendedDate().exportToHyphedSortableDate();
let newChangelog = `# Changelog\n\n${ let newChangelog = `# Changelog\n\n${`## ${newDateString} - {{nextVersion}} - {{nextVersionScope}}
`## ${newDateString} - {{nextVersion}} - {{nextVersionScope}}
{{nextVersionMessage}} {{nextVersionMessage}}
{{nextVersionDetails}} {{nextVersionDetails}}
`}\n\n${oldChangelog}\n`; `}\n\n${oldChangelog}\n`;

View File

@ -49,7 +49,7 @@ 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:`); console.log(`Using the following files for the documentation:`);
filesArg.map((fileArg) => { filesArg.map((fileArg) => {
console.log(` -> ${fileArg.relative}`); // console.log(` -> ${fileArg.relative}`);
}); });
return filesArg return filesArg
.map((smartfile) => { .map((smartfile) => {