chore: complete TypeScript migration (Phase 05-06)

Phase 05: Migrate test imports from bin/ to dist/
- Update 19 test files to import from dist/ instead of bin/
- Update CLI path in cli.test.js and special-commands.test.js
- Update cross-platform.test.js to check dist/ directory

Phase 06: Cleanup & validation
- Remove bin/ directory (32 JS files)
- Fix ClaudeSymlinkManager import in doctor.ts
- Update postinstall.js to use dist/ modules
- Regenerate package-lock.json (now points to dist/ccs.js)

All 39 tests passing. TypeScript migration complete.
This commit is contained in:
kaitranntt committed 2025-11-26 20:20:54 -05:00
1 parent 26e279decf
commit 1c3c4aade0
54 files changed
+29 -9340

No files matched your search

+2 -2
View File
@@ -1,8 +1,8 @@
#!/usr/bin/env node
'use strict';
const GlmtTransformer = require('../bin/glmt-transformer');
const DeltaAccumulator = require('../bin/delta-accumulator');
const GlmtTransformer = require('../dist/glmt/glmt-transformer').default;
const { DeltaAccumulator } = require('../dist/glmt/delta-accumulator');
/**
* Token Counting Validation Tests
+1 -1
View File
@@ -5,7 +5,7 @@ const fs = require('fs');
const os = require('os');
describe('npm CLI', () => {
const ccsPath = path.join(__dirname, '..', '..', 'bin', 'ccs.js');
const ccsPath = path.join(__dirname, '..', '..', 'dist', 'ccs.js');
const ccsDir = path.join(os.homedir(), '.ccs');
const configPath = path.join(ccsDir, 'config.json');
+4 -4
View File
@@ -2,10 +2,10 @@ const assert = require('assert');
const path = require('path');
const os = require('os');
// Import the expandPath function from bin/utils/helpers.js
// Import the expandPath function from dist/utils/helpers.js
let expandPath;
try {
expandPath = require('../../bin/utils/helpers').expandPath;
expandPath = require('../../dist/utils/helpers').expandPath;
} catch (e) {
// If helpers module doesn't exist or doesn't export expandPath, create a mock
expandPath = function(p) {
@@ -110,9 +110,9 @@ describe('cross-platform', () => {
describe('npm package structure', () => {
it('has required executable files', () => {
const fs = require('fs');
const binDir = path.join(__dirname, '..', '..', 'bin');
const distDir = path.join(__dirname, '..', '..', 'dist');
assert(fs.existsSync(path.join(binDir, 'ccs.js')), 'ccs.js should exist in bin directory');
assert(fs.existsSync(path.join(distDir, 'ccs.js')), 'ccs.js should exist in dist directory');
});
it('has required script files', () => {
+1 -1
View File
@@ -3,7 +3,7 @@ const { execSync } = require('child_process');
const path = require('path');
describe('integration: special commands', () => {
const ccsPath = path.join(__dirname, '..', '..', 'bin', 'ccs.js');
const ccsPath = path.join(__dirname, '..', '..', 'dist', 'ccs.js');
it('shows version with --version', () => {
const output = execSync(`node ${ccsPath} --version`, { encoding: 'utf8' });
+1 -1
View File
@@ -1,7 +1,7 @@
const assert = require('assert');
const path = require('path');
const os = require('os');
const { expandPath } = require('../../../bin/utils/helpers');
const { expandPath } = require('../../../dist/utils/helpers');
describe('helpers', () => {
describe('expandPath', () => {
@@ -1,7 +1,7 @@
#!/usr/bin/env node
'use strict';
const { HeadlessExecutor } = require('../../../bin/delegation/headless-executor');
const { HeadlessExecutor } = require('../../../dist/delegation/headless-executor');
/**
* Test runner
@@ -1,7 +1,7 @@
#!/usr/bin/env node
'use strict';
const { ResultFormatter } = require('../../../bin/delegation/result-formatter');
const { ResultFormatter } = require('../../../dist/delegation/result-formatter');
/**
* Simple test runner (no external dependencies)
@@ -4,7 +4,7 @@
const fs = require('fs');
const path = require('path');
const os = require('os');
const { SessionManager } = require('../../../bin/delegation/session-manager');
const { SessionManager } = require('../../../dist/delegation/session-manager');
/**
* Test runner
@@ -4,7 +4,7 @@
const fs = require('fs');
const path = require('path');
const os = require('os');
const { SettingsParser } = require('../../../bin/delegation/settings-parser');
const { SettingsParser } = require('../../../dist/delegation/settings-parser');
/**
* Test runner
+1 -1
View File
@@ -4,7 +4,7 @@
const fs = require('fs');
const path = require('path');
const os = require('os');
const GlmtTransformer = require('../../../bin/glmt/glmt-transformer');
const GlmtTransformer = require('../../../dist/glmt/glmt-transformer').default;
/**
* Manual test for debug mode file logging
+1 -1
View File
@@ -1,7 +1,7 @@
#!/usr/bin/env node
'use strict';
const DeltaAccumulator = require('../../../bin/glmt/delta-accumulator');
const { DeltaAccumulator } = require('../../../dist/glmt/delta-accumulator');
console.log('[TEST] DeltaAccumulator unit tests');
console.log('');
+1 -1
View File
@@ -1,7 +1,7 @@
#!/usr/bin/env node
'use strict';
const GlmtTransformer = require('../../../bin/glmt/glmt-transformer');
const GlmtTransformer = require('../../../dist/glmt/glmt-transformer').default;
/**
* Simple test runner (no external dependencies)
+1 -1
View File
@@ -11,7 +11,7 @@
*/
const assert = require('assert');
const LocaleEnforcer = require('../../../bin/glmt/locale-enforcer');
const LocaleEnforcer = require('../../../dist/glmt/locale-enforcer').default;
describe('LocaleEnforcer', () => {
describe('Scenario 1: English prompt → English output', () => {
+1 -1
View File
@@ -1,7 +1,7 @@
#!/usr/bin/env node
'use strict';
const GlmtTransformer = require('../../../bin/glmt/glmt-transformer');
const GlmtTransformer = require('../../../dist/glmt/glmt-transformer').default;
console.log('=== Performance Test: Debug Mode Impact ===\n');
+1 -1
View File
@@ -13,7 +13,7 @@
* 6. Edge cases (empty messages, no system/user)
*/
const ReasoningEnforcer = require('../../../bin/glmt/reasoning-enforcer');
const ReasoningEnforcer = require('../../../dist/glmt/reasoning-enforcer').default;
/**
* Simple test runner (no external dependencies)
+1 -1
View File
@@ -1,7 +1,7 @@
#!/usr/bin/env node
'use strict';
const SSEParser = require('../../../bin/glmt/sse-parser');
const SSEParser = require('../../../dist/glmt/sse-parser').default;
console.log('[TEST] SSEParser unit tests');
console.log('');
+1 -1
View File
@@ -6,7 +6,7 @@
* Tests different message formats to understand the bug
*/
const GlmtTransformer = require('../../../bin/glmt/glmt-transformer');
const GlmtTransformer = require('../../../dist/glmt/glmt-transformer').default;
const transformer = new GlmtTransformer({ verbose: true });
@@ -10,8 +10,8 @@
* Fix: Guard against empty content, return null if block.content is empty
*/
const GlmtTransformer = require('../../../bin/glmt/glmt-transformer');
const DeltaAccumulator = require('../../../bin/glmt/delta-accumulator');
const GlmtTransformer = require('../../../dist/glmt/glmt-transformer').default;
const { DeltaAccumulator } = require('../../../dist/glmt/delta-accumulator');
// Test runner
class TestRunner {
+1 -1
View File
@@ -1,7 +1,7 @@
#!/usr/bin/env node
'use strict';
const GlmtTransformer = require('../../../bin/glmt/glmt-transformer');
const GlmtTransformer = require('../../../dist/glmt/glmt-transformer').default;
console.log('=== Demo: Verbose Output with Reasoning Detection ===\n');