Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
88c0601c03 | |||
9645f27942 | |||
b73aa4f21f | |||
d9d6878a9f |
13
changelog.md
13
changelog.md
@ -1,5 +1,18 @@
|
||||
# Changelog
|
||||
|
||||
## 2025-05-15 - 2.5.1 - fix(commitinfo)
|
||||
Update commit information and metadata to synchronize release data
|
||||
|
||||
- Regenerated the commitinfo file with current version details
|
||||
- Maintained existing functionality with no functional code changes
|
||||
|
||||
## 2025-05-15 - 2.5.0 - feat(cli)
|
||||
Enhance type checking in CLI by adding default file pattern handling
|
||||
|
||||
- When no TypeScript file or glob pattern is provided, the CLI now performs a default type checking sequence.
|
||||
- First checks 'ts/**/*' files with standard options, then checks 'test/**/*' files with skiplibcheck enabled.
|
||||
- Improved logging to indicate file discovery and check results, ensuring clear feedback for users.
|
||||
|
||||
## 2025-05-15 - 2.4.1 - fix(cli)
|
||||
Improve TS folder compilation order display in CLI
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@git.zone/tsbuild",
|
||||
"version": "2.4.1",
|
||||
"version": "2.5.1",
|
||||
"private": false,
|
||||
"description": "A tool for compiling TypeScript files using the latest nightly features, offering flexible APIs and a CLI for streamlined development.",
|
||||
"main": "dist_ts/index.js",
|
||||
|
@ -3,6 +3,6 @@
|
||||
*/
|
||||
export const commitinfo = {
|
||||
name: '@git.zone/tsbuild',
|
||||
version: '2.4.1',
|
||||
version: '2.5.1',
|
||||
description: 'A tool for compiling TypeScript files using the latest nightly features, offering flexible APIs and a CLI for streamlined development.'
|
||||
}
|
||||
|
@ -190,11 +190,66 @@ export const runCli = async () => {
|
||||
tsbuildCli.addCommand('check').subscribe(async (argvArg) => {
|
||||
const patterns = argvArg._.slice(1); // Remove the first element which is 'check'
|
||||
|
||||
// If no patterns provided, default to checking ts/**/* and then test/**/*
|
||||
if (patterns.length === 0) {
|
||||
console.error('\n❌ Error: Please provide at least one TypeScript file path or glob pattern');
|
||||
console.error(' Usage: tsbuild check <file_or_glob_pattern> [additional_patterns ...]\n');
|
||||
console.error(' Example: tsbuild check "src/**/*.ts" "test/**/*.ts"\n');
|
||||
process.exit(1);
|
||||
console.log('\n🔬 Running default type checking sequence...\n');
|
||||
|
||||
// First check ts/**/* without skiplibcheck
|
||||
console.log('📂 Checking ts/**/* files...');
|
||||
const tsFiles = await plugins.smartfile.fs.listFileTree(process.cwd(), 'ts/**/*.ts');
|
||||
const tsTsFiles = Array.isArray(tsFiles)
|
||||
? tsFiles.filter((item): item is string => typeof item === 'string')
|
||||
: [];
|
||||
|
||||
if (tsTsFiles.length > 0) {
|
||||
console.log(` Found ${tsTsFiles.length} TypeScript files in ts/`);
|
||||
const tsAbsoluteFiles = plugins.smartpath.transform.toAbsolute(
|
||||
tsTsFiles,
|
||||
process.cwd()
|
||||
) as string[];
|
||||
|
||||
const tsCompilerOptions = tsbuild.mergeCompilerOptions({}, argvArg);
|
||||
const tsSuccess = await tsbuild.checkTypes(tsAbsoluteFiles, tsCompilerOptions, argvArg);
|
||||
|
||||
if (!tsSuccess) {
|
||||
console.error('❌ Type checking failed for ts/**/*');
|
||||
process.exit(1);
|
||||
}
|
||||
console.log('✅ Type checking passed for ts/**/*\n');
|
||||
} else {
|
||||
console.log(' No TypeScript files found in ts/\n');
|
||||
}
|
||||
|
||||
// Then check test/**/* with skiplibcheck
|
||||
console.log('📂 Checking test/**/* files with --skiplibcheck...');
|
||||
const testFiles = await plugins.smartfile.fs.listFileTree(process.cwd(), 'test/**/*.ts');
|
||||
const testTsFiles = Array.isArray(testFiles)
|
||||
? testFiles.filter((item): item is string => typeof item === 'string')
|
||||
: [];
|
||||
|
||||
if (testTsFiles.length > 0) {
|
||||
console.log(` Found ${testTsFiles.length} TypeScript files in test/`);
|
||||
const testAbsoluteFiles = plugins.smartpath.transform.toAbsolute(
|
||||
testTsFiles,
|
||||
process.cwd()
|
||||
) as string[];
|
||||
|
||||
// Create new argvArg with skiplibcheck for test files
|
||||
const testArgvArg = { ...argvArg, skiplibcheck: true };
|
||||
const testCompilerOptions = tsbuild.mergeCompilerOptions({}, testArgvArg);
|
||||
const testSuccess = await tsbuild.checkTypes(testAbsoluteFiles, testCompilerOptions, testArgvArg);
|
||||
|
||||
if (!testSuccess) {
|
||||
console.error('❌ Type checking failed for test/**/*');
|
||||
process.exit(1);
|
||||
}
|
||||
console.log('✅ Type checking passed for test/**/*\n');
|
||||
} else {
|
||||
console.log(' No TypeScript files found in test/\n');
|
||||
}
|
||||
|
||||
console.log('✅ All default type checks passed!\n');
|
||||
process.exit(0);
|
||||
}
|
||||
|
||||
const cwd = process.cwd();
|
||||
|
Reference in New Issue
Block a user