fix(core): update

This commit is contained in:
Philipp Kunz 2024-03-31 15:09:30 +02:00
parent 529297bd09
commit 39d64ffcf3
17 changed files with 5179 additions and 13665 deletions

View File

@ -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
View File

@ -2,28 +2,10 @@
"version": "0.2.0", "version": "0.2.0",
"configurations": [ "configurations": [
{ {
"name": "current file", "command": "npm test",
"type": "node", "name": "Run npm test",
"request": "launch", "request": "launch",
"args": [ "type": "node-terminal"
"${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"
} }
] ]
} }

View File

@ -1,5 +1,5 @@
#!/usr/bin/env node #!/usr/bin/env node
process.env.CLI_CALL = 'true'; 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); tsrun.runPath('./cli.child.js', import.meta.url);

View File

@ -6,7 +6,7 @@
"gitscope": "gitzone", "gitscope": "gitzone",
"gitrepo": "tsdoc", "gitrepo": "tsdoc",
"shortDescription": "a tool for better documentation", "shortDescription": "a tool for better documentation",
"npmPackagename": "@gitzone/tsdoc", "npmPackagename": "@git.zone/tsdoc",
"license": "MIT", "license": "MIT",
"projectDomain": "git.zone" "projectDomain": "git.zone"
} }

13466
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
{ {
"name": "@gitzone/tsdoc", "name": "@git.zone/tsdoc",
"version": "1.1.13", "version": "1.1.13",
"private": false, "private": false,
"description": "a tool for better documentation", "description": "a tool for better documentation",
@ -16,21 +16,26 @@
"build": "(tsbuild --web --allowimplicitany)" "build": "(tsbuild --web --allowimplicitany)"
}, },
"devDependencies": { "devDependencies": {
"@gitzone/tsbuild": "^2.1.65", "@git.zone/tsbuild": "^2.1.65",
"@gitzone/tstest": "^1.0.73", "@git.zone/tsrun": "^1.2.46",
"@pushrocks/tapbundle": "^5.0.4", "@git.zone/tstest": "^1.0.73",
"@types/node": "^18.7.18" "@push.rocks/tapbundle": "^5.0.4",
"@types/node": "^20.12.2"
}, },
"dependencies": { "dependencies": {
"@pushrocks/early": "^4.0.3", "@push.rocks/early": "^4.0.3",
"@pushrocks/smartcli": "^4.0.6", "@push.rocks/npmextra": "^5.0.10",
"@pushrocks/smartfile": "^10.0.5", "@push.rocks/qenv": "^6.0.5",
"@pushrocks/smartlog": "^3.0.1", "@push.rocks/smartai": "^0.0.6",
"@pushrocks/smartlog-destination-local": "^8.0.8", "@push.rocks/smartcli": "^4.0.6",
"@pushrocks/smartpath": "^5.0.5", "@push.rocks/smartfile": "^11.0.4",
"@pushrocks/smartshell": "^2.0.30", "@push.rocks/smartinteract": "^2.0.14",
"typedoc": "^0.23.14", "@push.rocks/smartlog": "^3.0.1",
"typescript": "^4.8.3" "@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": [ "files": [
"ts/**/*", "ts/**/*",

5054
pnpm-lock.yaml generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,8 +1,8 @@
# @gitzone/tsdoc # @git.zone/tsdoc
a tool for better documentation a tool for better documentation
## Availabililty and Links ## 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) * [gitlab.com (source)](https://gitlab.com/gitzone/tsdoc)
* [github.com (source mirror)](https://github.com/gitzone/tsdoc) * [github.com (source mirror)](https://github.com/gitzone/tsdoc)
* [docs (typedoc)](https://gitzone.gitlab.io/tsdoc/) * [docs (typedoc)](https://gitzone.gitlab.io/tsdoc/)
@ -13,14 +13,14 @@ Status Category | Status Badge
-- | -- -- | --
GitLab Pipelines | [![pipeline status](https://gitlab.com/gitzone/tsdoc/badges/master/pipeline.svg)](https://lossless.cloud) GitLab Pipelines | [![pipeline status](https://gitlab.com/gitzone/tsdoc/badges/master/pipeline.svg)](https://lossless.cloud)
GitLab Pipline Test Coverage | [![coverage report](https://gitlab.com/gitzone/tsdoc/badges/master/coverage.svg)](https://lossless.cloud) GitLab Pipline Test Coverage | [![coverage report](https://gitlab.com/gitzone/tsdoc/badges/master/coverage.svg)](https://lossless.cloud)
npm | [![npm downloads per month](https://badgen.net/npm/dy/@gitzone/tsdoc)](https://lossless.cloud) npm | [![npm downloads per month](https://badgen.net/npm/dy/@git.zone/tsdoc)](https://lossless.cloud)
Snyk | [![Known Vulnerabilities](https://badgen.net/snyk/gitzone/tsdoc)](https://lossless.cloud) Snyk | [![Known Vulnerabilities](https://badgen.net/snyk/gitzone/tsdoc)](https://lossless.cloud)
TypeScript Support | [![TypeScript](https://badgen.net/badge/TypeScript/>=%203.x/blue?icon=typescript)](https://lossless.cloud) TypeScript Support | [![TypeScript](https://badgen.net/badge/TypeScript/>=%203.x/blue?icon=typescript)](https://lossless.cloud)
node Support | [![node](https://img.shields.io/badge/node->=%2010.x.x-blue.svg)](https://nodejs.org/dist/latest-v10.x/docs/api/) node Support | [![node](https://img.shields.io/badge/node->=%2010.x.x-blue.svg)](https://nodejs.org/dist/latest-v10.x/docs/api/)
Code Style | [![Code Style](https://badgen.net/badge/style/prettier/purple)](https://lossless.cloud) Code Style | [![Code Style](https://badgen.net/badge/style/prettier/purple)](https://lossless.cloud)
PackagePhobia (total standalone install weight) | [![PackagePhobia](https://badgen.net/packagephobia/install/@gitzone/tsdoc)](https://lossless.cloud) PackagePhobia (total standalone install weight) | [![PackagePhobia](https://badgen.net/packagephobia/install/@git.zone/tsdoc)](https://lossless.cloud)
PackagePhobia (package size on registry) | [![PackagePhobia](https://badgen.net/packagephobia/publish/@gitzone/tsdoc)](https://lossless.cloud) PackagePhobia (package size on registry) | [![PackagePhobia](https://badgen.net/packagephobia/publish/@git.zone/tsdoc)](https://lossless.cloud)
BundlePhobia (total size when bundled) | [![BundlePhobia](https://badgen.net/bundlephobia/minzip/@gitzone/tsdoc)](https://lossless.cloud) BundlePhobia (total size when bundled) | [![BundlePhobia](https://badgen.net/bundlephobia/minzip/@git.zone/tsdoc)](https://lossless.cloud)
Platform support | [![Supports Windows 10](https://badgen.net/badge/supports%20Windows%2010/yes/green?icon=windows)](https://lossless.cloud) [![Supports Mac OS X](https://badgen.net/badge/supports%20Mac%20OS%20X/yes/green?icon=apple)](https://lossless.cloud) Platform support | [![Supports Windows 10](https://badgen.net/badge/supports%20Windows%2010/yes/green?icon=windows)](https://lossless.cloud) [![Supports Mac OS X](https://badgen.net/badge/supports%20Mac%20OS%20X/yes/green?icon=apple)](https://lossless.cloud)
## Usage ## Usage

15
test/test.aidocs.ts Normal file
View 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();

View File

@ -1,4 +1,4 @@
import { expect, tap } from '@pushrocks/tapbundle'; import { expect, tap } from '@push.rocks/tapbundle';
import * as tsdoc from '../ts/index.js'; import * as tsdoc from '../ts/index.js';
tap.test('first test', async () => { tap.test('first test', async () => {

View File

@ -2,7 +2,7 @@
* autocreated commitinfo by @pushrocks/commitinfo * autocreated commitinfo by @pushrocks/commitinfo
*/ */
export const commitinfo = { export const commitinfo = {
name: '@gitzone/tsdoc', name: '@git.zone/tsdoc',
version: '1.1.13', version: '1.1.14',
description: 'a tool for better documentation' description: 'a tool for better documentation'
} }

View File

@ -1,4 +1,4 @@
import * as early from '@pushrocks/early'; import * as early from '@push.rocks/early';
early.start('tsdoc'); early.start('tsdoc');
import * as plugins from './tsdoc.plugins.js'; import * as plugins from './tsdoc.plugins.js';
import * as cli from './tsdoc.cli.js'; import * as cli from './tsdoc.cli.js';
@ -7,3 +7,6 @@ early.stop();
export const runCli = async () => { export const runCli = async () => {
await cli.run(); await cli.run();
}; };
// exports
export * from './tsdoc.classes.aidocs.js';

View 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);
}
}

View File

@ -20,14 +20,14 @@ export class TypeDoc {
public async compile(options?: { publicSubdir?: string }) { public async compile(options?: { publicSubdir?: string }) {
const data = { const data = {
compilerOptions: { "compilerOptions": {
"experimentalDecorators": true, "experimentalDecorators": true,
"useDefineForClassFields": false, "useDefineForClassFields": false,
"target": "ES2022", "target": "ES2022",
"module": "ES2022", "module": "NodeNext",
"moduleResolution": "nodenext", "moduleResolution": "NodeNext",
"skipLibCheck": true, "esModuleInterop": true,
"allowSyntheticDefaultImports": true, "verbatimModuleSyntax": true
}, },
include: [], include: [],
}; };

View File

@ -3,6 +3,7 @@ import * as paths from './tsdoc.paths.js';
import { logger } from './tsdoc.logging.js'; import { logger } from './tsdoc.logging.js';
import { TypeDoc } from './tsdoc.classes.typedoc.js'; import { TypeDoc } from './tsdoc.classes.typedoc.js';
import { AiDocs } from './tsdoc.classes.aidocs.js';
export const run = async () => { export const run = async () => {
const tsdocCli = new plugins.smartcli.Smartcli(); 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.addCommand('test').subscribe((argvArg) => {
tsdocCli.triggerCommand('typedoc', argvArg); tsdocCli.triggerCommand('typedoc', argvArg);
process.on('exit', async () => { process.on('exit', async () => {

View File

@ -4,14 +4,18 @@ import * as path from 'path';
export { path }; export { path };
// pushrocks scope // pushrocks scope
import * as smartcli from '@pushrocks/smartcli'; import * as npmextra from '@push.rocks/npmextra';
import * as smartfile from '@pushrocks/smartfile'; import * as qenv from '@push.rocks/qenv';
import * as smartlog from '@pushrocks/smartlog'; import * as smartai from '@push.rocks/smartai';
import * as smartlogDestinationLocal from '@pushrocks/smartlog-destination-local'; import * as smartcli from '@push.rocks/smartcli';
import * as smartpath from '@pushrocks/smartpath'; import * as smartfile from '@push.rocks/smartfile';
import * as smartshell from '@pushrocks/smartshell'; 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 // third party scope
import * as typedoc from 'typedoc'; import * as typedoc from 'typedoc';

View File

@ -3,7 +3,12 @@
"experimentalDecorators": true, "experimentalDecorators": true,
"useDefineForClassFields": false, "useDefineForClassFields": false,
"target": "ES2022", "target": "ES2022",
"module": "ES2022", "module": "NodeNext",
"moduleResolution": "nodenext" "moduleResolution": "NodeNext",
} "esModuleInterop": true,
"verbatimModuleSyntax": true
},
"exclude": [
"dist_*/**/*.d.ts"
]
} }