Compare commits

...

4 Commits

Author SHA1 Message Date
4f0fb26a15 1.10.0
Some checks failed
Default (tags) / security (push) Failing after 1s
Default (tags) / test (push) Failing after 1s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2024-10-27 01:51:17 +02:00
00f06b48f3 feat(mod_format): Add support for tsconfig.json formatting 2024-10-27 01:51:17 +02:00
74f4cb3034 1.9.126
Some checks failed
Default (tags) / security (push) Failing after 6s
Default (tags) / test (push) Failing after 2s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2024-10-23 22:11:19 +02:00
b98dc7a9fa fix(format): Remove redundant package.json property checks 2024-10-23 22:11:18 +02:00
8 changed files with 3496 additions and 5014 deletions

View File

@ -1,5 +1,17 @@
# Changelog
## 2024-10-27 - 1.10.0 - feat(mod_format)
Add support for tsconfig.json formatting
- Added a new script to format tsconfig.json.
- Updated package.json to include `@git.zone/tspublish` as a dependency.
## 2024-10-23 - 1.9.126 - fix(format)
Remove redundant package.json property checks
- Removed property checks for `main`, `typings`, and `browserslist` from format.packagejson.ts
- This change streamlines the formatting process by removing unnecessary exits
## 2024-09-29 - 1.9.125 - fix(cli)
Fix package version configuration and formatting issues

View File

@ -1,7 +1,7 @@
{
"name": "@git.zone/cli",
"private": false,
"version": "1.9.125",
"version": "1.10.0",
"description": "A CLI toolbelt to streamline local development cycles by using various gitzone utilities.",
"main": "dist_ts/index.ts",
"typings": "dist_ts/index.d.ts",
@ -55,10 +55,11 @@
"@git.zone/tsbuild": "^2.1.84",
"@git.zone/tsrun": "^1.2.49",
"@git.zone/tstest": "^1.0.90",
"@types/node": "^22.7.4"
"@types/node": "^22.8.1"
},
"dependencies": {
"@git.zone/tsdoc": "^1.3.12",
"@git.zone/tspublish": "^1.4.0",
"@push.rocks/commitinfo": "^1.0.12",
"@push.rocks/early": "^4.0.4",
"@push.rocks/gulp-function": "^3.0.7",

8441
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@ -3,6 +3,6 @@
*/
export const commitinfo = {
name: '@git.zone/cli',
version: '1.9.125',
version: '1.10.0',
description: 'A CLI toolbelt to streamline local development cycles by using various gitzone utilities.'
}

View File

@ -5,6 +5,12 @@ import * as paths from '../paths.js';
import { logger } from '../gitzone.logging.js';
export const run = async (argvArg: any) => {
if (argvArg.format) {
const formatMod = await import('../mod_format/index.js');
await formatMod.run();
}
logger.log('info', `gathering facts...`);
const aidoc = new plugins.tsdoc.AiDoc();
await aidoc.start();

View File

@ -70,23 +70,6 @@ export const run = async (projectArg: Project) => {
packageJson.scripts.buildDocs = `tsdoc`;
}
// check package.json
if (!packageJson.main) {
logger.log('error', 'no "main" property');
process.exit(0);
}
if (!packageJson.typings) {
logger.log('error', 'no "typings" property');
process.exit(0);
}
if (!packageJson.browserslist) {
packageJson.browserslist = ['last 1 chrome versions'];
}
if (!packageJson.main.includes('dist_') || !packageJson.typings.includes('dist_')) {
logger.log('error', 'check packagesJson main and typings');
process.exit(0);
}
// check for files
packageJson.files = [
'ts/**/*',

View File

@ -0,0 +1,23 @@
import * as plugins from './mod.plugins.js';
import * as paths from '../paths.js';
import { logger } from '../gitzone.logging.js';
import { Project } from '../classes.project.js';
export const run = async (projectArg: Project) => {
// lets care about tsconfig.json
const tsconfigSmartfile = await plugins.smartfile.SmartFile.fromFilePath(plugins.path.join(paths.cwd, 'tsconfig.json'));
const tsconfigObject = JSON.parse(tsconfigSmartfile.contentBuffer.toString());
tsconfigObject.compilerOptions = tsconfigObject.compilerOptions || {};
tsconfigObject.compilerOptions.baseUrl = '.';
tsconfigObject.compilerOptions.paths = {};
const tsPublishMod = await import('@git.zone/tspublish');
const tsPublishInstance = new tsPublishMod.TsPublish();
const publishModules = tsPublishInstance.getModuleSubDirs(paths.cwd);
for (const publishModule of Object.keys(publishModules)) {
const publishConfig = publishModules[publishModule];
tsconfigObject.compilerOptions.paths[`${publishConfig.moduleName}`] = [`./${publishModule}/index.ts`];
}
tsconfigSmartfile.setContentsFromString(JSON.stringify(tsconfigObject, null, 2));
await tsconfigSmartfile.write();
};

View File

@ -1,7 +1,7 @@
import * as plugins from './mod.plugins.js';
import { Project } from '../classes.project.js';
export let run = async (write: boolean = true): Promise<any> => {
export let run = async (writeArg: boolean = true): Promise<any> => {
const project = await Project.fromCwd();
// cleanup
@ -31,6 +31,8 @@ export let run = async (write: boolean = true): Promise<any> => {
// format TypeScript
const formatPrettier = await import('./format.prettier.js');
await formatPrettier.run(project);
const formatTsConfig = await import('./format.tsconfig.js');
await formatTsConfig.run(project);
// format readme.md
const formatReadme = await import('./format.readme.js');