Compare commits
14 Commits
Author | SHA1 | Date | |
---|---|---|---|
59c3deb83a | |||
c76403a34c | |||
23b361f26a | |||
9f7d447bc7 | |||
8904bf9427 | |||
3c5a8282ab | |||
4f0fb26a15 | |||
00f06b48f3 | |||
74f4cb3034 | |||
b98dc7a9fa | |||
924470407a | |||
f346a397d5 | |||
c05f2d35e5 | |||
c0a409bbc9 |
38
changelog.md
38
changelog.md
@ -1,5 +1,43 @@
|
||||
# Changelog
|
||||
|
||||
## 2024-10-27 - 1.10.3 - fix(mod_format)
|
||||
Reorder TypeScript formatting steps in mod_format module
|
||||
|
||||
- Moved TypeScript configuration formatting earlier in the sequence for better logical consistency.
|
||||
|
||||
## 2024-10-27 - 1.10.2 - fix(format)
|
||||
Add logging for tsconfig.json formatting
|
||||
|
||||
- Added an info log message for tsconfig.json formatting in format.tsconfig.ts.
|
||||
|
||||
## 2024-10-27 - 1.10.1 - fix(format)
|
||||
Fixed async issue in tsconfig module lookup and corrected property access
|
||||
|
||||
|
||||
## 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
|
||||
|
||||
- Updated metadata fields in package.json (repository URL, bugs URL, and homepage).
|
||||
- Ensured presence and correctness of essential fields in package.json (main, typings, files, scripts, etc.).
|
||||
- Added missing Prettier default TypeScript and Markdown configurations.
|
||||
|
||||
## 2024-09-27 - 1.9.124 - fix(cli)
|
||||
Ensured proper existence and initialization of readme files
|
||||
|
||||
- Ensured readme.md and readme.hints.md files are created and initialized if they do not exist.
|
||||
|
||||
## 2024-09-27 - 1.9.123 - fix(core)
|
||||
No changes detected
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@git.zone/cli",
|
||||
"private": false,
|
||||
"version": "1.9.123",
|
||||
"version": "1.10.3",
|
||||
"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",
|
||||
|
8573
pnpm-lock.yaml
generated
8573
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.123',
|
||||
version: '1.10.3',
|
||||
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/**/*',
|
||||
|
24
ts/mod_format/format.tsconfig.ts
Normal file
24
ts/mod_format/format.tsconfig.ts
Normal file
@ -0,0 +1,24 @@
|
||||
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
|
||||
logger.log('info', 'Formatting 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 = await tsPublishInstance.getModuleSubDirs(paths.cwd);
|
||||
for (const publishModule of Object.keys(publishModules)) {
|
||||
const publishConfig = publishModules[publishModule];
|
||||
tsconfigObject.compilerOptions.paths[`${publishConfig.name}`] = [`./${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
|
||||
@ -29,6 +29,8 @@ export let run = async (write: boolean = true): Promise<any> => {
|
||||
await formatGitignore.run(project);
|
||||
|
||||
// format TypeScript
|
||||
const formatTsConfig = await import('./format.tsconfig.js');
|
||||
await formatTsConfig.run(project);
|
||||
const formatPrettier = await import('./format.prettier.js');
|
||||
await formatPrettier.run(project);
|
||||
|
||||
|
Reference in New Issue
Block a user