fix(core): update
This commit is contained in:
		
							
								
								
									
										137
									
								
								.gitlab-ci.yml
									
									
									
									
									
								
							
							
						
						
									
										137
									
								
								.gitlab-ci.yml
									
									
									
									
									
								
							| @@ -1,137 +0,0 @@ | ||||
| # gitzone ci_default | ||||
| image: registry.gitlab.com/hosttoday/ht-docker-node:npmci | ||||
|  | ||||
| cache: | ||||
|   paths: | ||||
|     - .npmci_cache/ | ||||
|   key: '$CI_BUILD_STAGE' | ||||
|  | ||||
| stages: | ||||
|   - security | ||||
|   - test | ||||
|   - release | ||||
|   - metadata | ||||
|  | ||||
| # ==================== | ||||
| # security stage | ||||
| # ==================== | ||||
| mirror: | ||||
|   stage: security | ||||
|   script: | ||||
|     - npmci git mirror | ||||
|   only: | ||||
|     - tags | ||||
|   tags: | ||||
|     - lossless | ||||
|     - docker | ||||
|     - notpriv | ||||
|  | ||||
| auditProductionDependencies: | ||||
|   image: registry.gitlab.com/hosttoday/ht-docker-node:npmci | ||||
|   stage: security | ||||
|   script: | ||||
|     - npmci npm prepare | ||||
|     - npmci command npm install --production --ignore-scripts | ||||
|     - npmci command npm config set registry https://registry.npmjs.org | ||||
|     - npmci command npm audit --audit-level=high --only=prod --production | ||||
|   tags: | ||||
|     - docker | ||||
|  | ||||
| auditDevDependencies: | ||||
|   image: registry.gitlab.com/hosttoday/ht-docker-node:npmci | ||||
|   stage: security | ||||
|   script: | ||||
|     - npmci npm prepare | ||||
|     - npmci command npm install --ignore-scripts | ||||
|     - npmci command npm config set registry https://registry.npmjs.org | ||||
|     - npmci command npm audit --audit-level=high --only=dev | ||||
|   tags: | ||||
|     - docker | ||||
|   allow_failure: true | ||||
|  | ||||
| # ==================== | ||||
| # test stage | ||||
| # ==================== | ||||
|  | ||||
| testStable: | ||||
|   stage: test | ||||
|   script: | ||||
|     - npmci npm prepare | ||||
|     - npmci node install stable | ||||
|     - npmci npm install | ||||
|     - npmci npm test | ||||
|   coverage: /\d+.?\d+?\%\s*coverage/ | ||||
|   tags: | ||||
|     - docker | ||||
|  | ||||
| testBuild: | ||||
|   stage: test | ||||
|   script: | ||||
|     - npmci npm prepare | ||||
|     - npmci node install stable | ||||
|     - npmci npm install | ||||
|     - npmci command npm run build | ||||
|   coverage: /\d+.?\d+?\%\s*coverage/ | ||||
|   tags: | ||||
|     - docker | ||||
|  | ||||
| release: | ||||
|   stage: release | ||||
|   script: | ||||
|     - npmci node install stable | ||||
|     - npmci npm publish | ||||
|   only: | ||||
|     - tags | ||||
|   tags: | ||||
|     - lossless | ||||
|     - docker | ||||
|     - notpriv | ||||
|  | ||||
| # ==================== | ||||
| # metadata stage | ||||
| # ==================== | ||||
| codequality: | ||||
|   stage: metadata | ||||
|   allow_failure: true | ||||
|   only: | ||||
|     - tags | ||||
|   script: | ||||
|     - npmci command npm install -g tslint typescript | ||||
|     - npmci npm prepare | ||||
|     - npmci npm install | ||||
|     - npmci command "tslint -c tslint.json ./ts/**/*.ts" | ||||
|   tags: | ||||
|     - lossless | ||||
|     - docker | ||||
|     - priv | ||||
|  | ||||
| trigger: | ||||
|   stage: metadata | ||||
|   script: | ||||
|     - npmci trigger | ||||
|   only: | ||||
|     - tags | ||||
|   tags: | ||||
|     - lossless | ||||
|     - docker | ||||
|     - notpriv | ||||
|  | ||||
| pages: | ||||
|   stage: metadata | ||||
|   script: | ||||
|     - npmci node install lts | ||||
|     - npmci command npm install -g @gitzone/tsdoc | ||||
|     - npmci npm prepare | ||||
|     - npmci npm install | ||||
|     - npmci command tsdoc | ||||
|   tags: | ||||
|     - lossless | ||||
|     - docker | ||||
|     - notpriv | ||||
|   only: | ||||
|     - tags | ||||
|   artifacts: | ||||
|     expire_in: 1 week | ||||
|     paths: | ||||
|       - public | ||||
|   allow_failure: true | ||||
							
								
								
									
										24
									
								
								.vscode/launch.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										24
									
								
								.vscode/launch.json
									
									
									
									
										vendored
									
									
								
							| @@ -2,28 +2,10 @@ | ||||
|   "version": "0.2.0", | ||||
|   "configurations": [ | ||||
|     { | ||||
|       "name": "current file", | ||||
|       "type": "node", | ||||
|       "command": "npm test", | ||||
|       "name": "Run npm test", | ||||
|       "request": "launch", | ||||
|       "args": [ | ||||
|         "${relativeFile}" | ||||
|       ], | ||||
|       "runtimeArgs": ["-r", "@gitzone/tsrun"], | ||||
|       "cwd": "${workspaceRoot}", | ||||
|       "protocol": "inspector", | ||||
|       "internalConsoleOptions": "openOnSessionStart" | ||||
|     }, | ||||
|     { | ||||
|       "name": "test.ts", | ||||
|       "type": "node", | ||||
|       "request": "launch", | ||||
|       "args": [ | ||||
|         "test/test.ts" | ||||
|       ], | ||||
|       "runtimeArgs": ["-r", "@gitzone/tsrun"], | ||||
|       "cwd": "${workspaceRoot}", | ||||
|       "protocol": "inspector", | ||||
|       "internalConsoleOptions": "openOnSessionStart" | ||||
|       "type": "node-terminal" | ||||
|     } | ||||
|   ] | ||||
| } | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| #!/usr/bin/env node | ||||
| process.env.CLI_CALL = 'true'; | ||||
|  | ||||
| import * as tsrun from '@gitzone/tsrun'; | ||||
| import * as tsrun from '@git.zone/tsrun'; | ||||
| tsrun.runPath('./cli.child.js', import.meta.url); | ||||
|   | ||||
| @@ -6,7 +6,7 @@ | ||||
|       "gitscope": "gitzone", | ||||
|       "gitrepo": "tsdoc", | ||||
|       "shortDescription": "a tool for better documentation", | ||||
|       "npmPackagename": "@gitzone/tsdoc", | ||||
|       "npmPackagename": "@git.zone/tsdoc", | ||||
|       "license": "MIT", | ||||
|       "projectDomain": "git.zone" | ||||
|     } | ||||
|   | ||||
							
								
								
									
										13466
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										13466
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										33
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										33
									
								
								package.json
									
									
									
									
									
								
							| @@ -1,5 +1,5 @@ | ||||
| { | ||||
|   "name": "@gitzone/tsdoc", | ||||
|   "name": "@git.zone/tsdoc", | ||||
|   "version": "1.1.13", | ||||
|   "private": false, | ||||
|   "description": "a tool for better documentation", | ||||
| @@ -16,21 +16,26 @@ | ||||
|     "build": "(tsbuild --web --allowimplicitany)" | ||||
|   }, | ||||
|   "devDependencies": { | ||||
|     "@gitzone/tsbuild": "^2.1.65", | ||||
|     "@gitzone/tstest": "^1.0.73", | ||||
|     "@pushrocks/tapbundle": "^5.0.4", | ||||
|     "@types/node": "^18.7.18" | ||||
|     "@git.zone/tsbuild": "^2.1.65", | ||||
|     "@git.zone/tsrun": "^1.2.46", | ||||
|     "@git.zone/tstest": "^1.0.73", | ||||
|     "@push.rocks/tapbundle": "^5.0.4", | ||||
|     "@types/node": "^20.12.2" | ||||
|   }, | ||||
|   "dependencies": { | ||||
|     "@pushrocks/early": "^4.0.3", | ||||
|     "@pushrocks/smartcli": "^4.0.6", | ||||
|     "@pushrocks/smartfile": "^10.0.5", | ||||
|     "@pushrocks/smartlog": "^3.0.1", | ||||
|     "@pushrocks/smartlog-destination-local": "^8.0.8", | ||||
|     "@pushrocks/smartpath": "^5.0.5", | ||||
|     "@pushrocks/smartshell": "^2.0.30", | ||||
|     "typedoc": "^0.23.14", | ||||
|     "typescript": "^4.8.3" | ||||
|     "@push.rocks/early": "^4.0.3", | ||||
|     "@push.rocks/npmextra": "^5.0.10", | ||||
|     "@push.rocks/qenv": "^6.0.5", | ||||
|     "@push.rocks/smartai": "^0.0.6", | ||||
|     "@push.rocks/smartcli": "^4.0.6", | ||||
|     "@push.rocks/smartfile": "^11.0.4", | ||||
|     "@push.rocks/smartinteract": "^2.0.14", | ||||
|     "@push.rocks/smartlog": "^3.0.1", | ||||
|     "@push.rocks/smartlog-destination-local": "^9.0.1", | ||||
|     "@push.rocks/smartpath": "^5.0.5", | ||||
|     "@push.rocks/smartshell": "^3.0.4", | ||||
|     "typedoc": "^0.25.12", | ||||
|     "typescript": "^5.4.3" | ||||
|   }, | ||||
|   "files": [ | ||||
|     "ts/**/*", | ||||
|   | ||||
							
								
								
									
										5054
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										5054
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										12
									
								
								readme.md
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								readme.md
									
									
									
									
									
								
							| @@ -1,8 +1,8 @@ | ||||
| # @gitzone/tsdoc | ||||
| # @git.zone/tsdoc | ||||
| a tool for better documentation | ||||
|  | ||||
| ## Availabililty and Links | ||||
| * [npmjs.org (npm package)](https://www.npmjs.com/package/@gitzone/tsdoc) | ||||
| * [npmjs.org (npm package)](https://www.npmjs.com/package/@git.zone/tsdoc) | ||||
| * [gitlab.com (source)](https://gitlab.com/gitzone/tsdoc) | ||||
| * [github.com (source mirror)](https://github.com/gitzone/tsdoc) | ||||
| * [docs (typedoc)](https://gitzone.gitlab.io/tsdoc/) | ||||
| @@ -13,14 +13,14 @@ Status Category | Status Badge | ||||
| -- | -- | ||||
| GitLab Pipelines | [](https://lossless.cloud) | ||||
| GitLab Pipline Test Coverage | [](https://lossless.cloud) | ||||
| npm | [](https://lossless.cloud) | ||||
| npm | [](https://lossless.cloud) | ||||
| Snyk | [](https://lossless.cloud) | ||||
| TypeScript Support | [](https://lossless.cloud) | ||||
| node Support | [](https://nodejs.org/dist/latest-v10.x/docs/api/) | ||||
| Code Style | [](https://lossless.cloud) | ||||
| PackagePhobia (total standalone install weight) | [](https://lossless.cloud) | ||||
| PackagePhobia (package size on registry) | [](https://lossless.cloud) | ||||
| BundlePhobia (total size when bundled) | [](https://lossless.cloud) | ||||
| PackagePhobia (total standalone install weight) | [](https://lossless.cloud) | ||||
| PackagePhobia (package size on registry) | [](https://lossless.cloud) | ||||
| BundlePhobia (total size when bundled) | [](https://lossless.cloud) | ||||
| Platform support | [](https://lossless.cloud) [](https://lossless.cloud) | ||||
|  | ||||
| ## Usage | ||||
|   | ||||
							
								
								
									
										15
									
								
								test/test.aidocs.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								test/test.aidocs.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | ||||
| import { tap, expect } from '@push.rocks/tapbundle'; | ||||
|  | ||||
| import * as tsdocs from '../ts/index.js'; | ||||
|  | ||||
| let aidocs: tsdocs.AiDocs; | ||||
|  | ||||
| tap.test('should create an AIdocs class', async () => { | ||||
|   aidocs = new tsdocs.AiDocs(); | ||||
|   expect(aidocs).toBeInstanceOf(tsdocs.AiDocs); | ||||
| }); | ||||
|  | ||||
| tap.test('should start AIdocs', async () => {}) | ||||
|  | ||||
|  | ||||
| tap.start(); | ||||
| @@ -1,4 +1,4 @@ | ||||
| import { expect, tap } from '@pushrocks/tapbundle'; | ||||
| import { expect, tap } from '@push.rocks/tapbundle'; | ||||
| import * as tsdoc from '../ts/index.js'; | ||||
|  | ||||
| tap.test('first test', async () => { | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  * autocreated commitinfo by @pushrocks/commitinfo | ||||
|  */ | ||||
| export const commitinfo = { | ||||
|   name: '@gitzone/tsdoc', | ||||
|   version: '1.1.13', | ||||
|   name: '@git.zone/tsdoc', | ||||
|   version: '1.1.14', | ||||
|   description: 'a tool for better documentation' | ||||
| } | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| import * as early from '@pushrocks/early'; | ||||
| import * as early from '@push.rocks/early'; | ||||
| early.start('tsdoc'); | ||||
| import * as plugins from './tsdoc.plugins.js'; | ||||
| import * as cli from './tsdoc.cli.js'; | ||||
| @@ -7,3 +7,6 @@ early.stop(); | ||||
| export const runCli = async () => { | ||||
|   await cli.run(); | ||||
| }; | ||||
|  | ||||
| // exports | ||||
| export * from './tsdoc.classes.aidocs.js'; | ||||
|   | ||||
							
								
								
									
										44
									
								
								ts/tsdoc.classes.aidocs.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								ts/tsdoc.classes.aidocs.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,44 @@ | ||||
| import * as plugins from './tsdoc.plugins.js'; | ||||
|  | ||||
| export class AiDocs { | ||||
|   private openaiToken: string; | ||||
|  | ||||
|   public npmextraKV: plugins.npmextra.KeyValueStore; | ||||
|   public qenvInstance: plugins.qenv.Qenv; | ||||
|   public smartinteractInstance: plugins.smartinteract.SmartInteract; | ||||
|   public openaiInstance: plugins.smartai.OpenAiProvider; | ||||
|  | ||||
|   constructor() {} | ||||
|  | ||||
|   public async start() { | ||||
|     // lets care about prerequisites | ||||
|     this.smartinteractInstance = new plugins.smartinteract.SmartInteract(); | ||||
|     this.qenvInstance = new plugins.qenv.Qenv() | ||||
|     if (!(await this.qenvInstance.getEnvVarOnDemand('OPENAI_TOKEN'))) { | ||||
|       this.npmextraKV = new plugins.npmextra.KeyValueStore({ | ||||
|         typeArg: 'userHomeDir', | ||||
|         identityArg: 'tsdoc', | ||||
|         mandatoryKeys: ['OPENAI_TOKEN'] | ||||
|       }); | ||||
|  | ||||
|       const missingKeys = this.npmextraKV.getMissingMandatoryKeys(); | ||||
|       if (missingKeys.length > 0) { | ||||
|         const answerObject = await this.smartinteractInstance.askQuestion({ | ||||
|           type: 'input', | ||||
|           message: `Please provide your OpenAI token`, | ||||
|           name: 'OPENAI_TOKEN', | ||||
|           default: '', | ||||
|         }); | ||||
|         this.openaiToken = answerObject.value | ||||
|         await this.npmextraKV.writeKey('OPENAI_TOKEN', this.openaiToken); | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     // lets assume we have an OPENAI_Token now | ||||
|     // we can now assemble the directory structure. | ||||
|     const smartfilesMod = plugins.smartfile.fs.fileTreeToObject(process.cwd(), 'ts/**/*.ts'); | ||||
|     const smartfilesTest = plugins.smartfile.fs.fileTreeToObject(process.cwd(), 'test/**/*.ts'); | ||||
|     console.log(smartfilesMod); | ||||
|     console.log(smartfilesTest); | ||||
|   } | ||||
| } | ||||
| @@ -20,14 +20,14 @@ export class TypeDoc { | ||||
|  | ||||
|   public async compile(options?: { publicSubdir?: string }) { | ||||
|     const data = { | ||||
|       compilerOptions: { | ||||
|       "compilerOptions": { | ||||
|         "experimentalDecorators": true, | ||||
|         "useDefineForClassFields": false, | ||||
|         "target": "ES2022", | ||||
|         "module": "ES2022", | ||||
|         "moduleResolution": "nodenext", | ||||
|         "skipLibCheck": true, | ||||
|         "allowSyntheticDefaultImports": true, | ||||
|         "module": "NodeNext", | ||||
|         "moduleResolution": "NodeNext", | ||||
|         "esModuleInterop": true, | ||||
|         "verbatimModuleSyntax": true | ||||
|       }, | ||||
|       include: [], | ||||
|     }; | ||||
|   | ||||
| @@ -3,6 +3,7 @@ import * as paths from './tsdoc.paths.js'; | ||||
| import { logger } from './tsdoc.logging.js'; | ||||
|  | ||||
| import { TypeDoc } from './tsdoc.classes.typedoc.js'; | ||||
| import { AiDocs } from './tsdoc.classes.aidocs.js'; | ||||
|  | ||||
| export const run = async () => { | ||||
|   const tsdocCli = new plugins.smartcli.Smartcli(); | ||||
| @@ -26,6 +27,10 @@ export const run = async () => { | ||||
|     }); | ||||
|   }); | ||||
|  | ||||
|   tsdocCli.addCommand('aidocs').subscribe(async (argvArg) => { | ||||
|     const aidocs = new AiDocs(); | ||||
|   }) | ||||
|  | ||||
|   tsdocCli.addCommand('test').subscribe((argvArg) => { | ||||
|     tsdocCli.triggerCommand('typedoc', argvArg); | ||||
|     process.on('exit', async () => { | ||||
|   | ||||
| @@ -4,14 +4,18 @@ import * as path from 'path'; | ||||
| export { path }; | ||||
|  | ||||
| // pushrocks scope | ||||
| import * as smartcli from '@pushrocks/smartcli'; | ||||
| import * as smartfile from '@pushrocks/smartfile'; | ||||
| import * as smartlog from '@pushrocks/smartlog'; | ||||
| import * as smartlogDestinationLocal from '@pushrocks/smartlog-destination-local'; | ||||
| import * as smartpath from '@pushrocks/smartpath'; | ||||
| import * as smartshell from '@pushrocks/smartshell'; | ||||
| import * as npmextra from '@push.rocks/npmextra'; | ||||
| import * as qenv from '@push.rocks/qenv'; | ||||
| import * as smartai from '@push.rocks/smartai'; | ||||
| import * as smartcli from '@push.rocks/smartcli'; | ||||
| import * as smartfile from '@push.rocks/smartfile'; | ||||
| import * as smartinteract from '@push.rocks/smartinteract'; | ||||
| import * as smartlog from '@push.rocks/smartlog'; | ||||
| import * as smartlogDestinationLocal from '@push.rocks/smartlog-destination-local'; | ||||
| import * as smartpath from '@push.rocks/smartpath'; | ||||
| import * as smartshell from '@push.rocks/smartshell'; | ||||
|  | ||||
| export { smartcli, smartfile, smartlog, smartlogDestinationLocal, smartpath, smartshell }; | ||||
| export { npmextra, qenv, smartai, smartcli, smartfile, smartinteract, smartlog, smartlogDestinationLocal, smartpath, smartshell }; | ||||
|  | ||||
| // third party scope | ||||
| import * as typedoc from 'typedoc'; | ||||
|   | ||||
| @@ -3,7 +3,12 @@ | ||||
|     "experimentalDecorators": true, | ||||
|     "useDefineForClassFields": false, | ||||
|     "target": "ES2022", | ||||
|     "module": "ES2022", | ||||
|     "moduleResolution": "nodenext" | ||||
|   } | ||||
|     "module": "NodeNext", | ||||
|     "moduleResolution": "NodeNext", | ||||
|     "esModuleInterop": true, | ||||
|     "verbatimModuleSyntax": true | ||||
|   }, | ||||
|   "exclude": [ | ||||
|     "dist_*/**/*.d.ts" | ||||
|   ] | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user