Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
4f0fb26a15 | |||
00f06b48f3 | |||
74f4cb3034 | |||
b98dc7a9fa |
12
changelog.md
12
changelog.md
@ -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
|
||||
|
||||
|
@ -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
8441
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@ -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.'
|
||||
}
|
||||
|
@ -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();
|
||||
|
@ -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/**/*',
|
||||
|
23
ts/mod_format/format.tsconfig.ts
Normal file
23
ts/mod_format/format.tsconfig.ts
Normal 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();
|
||||
};
|
@ -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');
|
||||
|
Reference in New Issue
Block a user