Files
ccs/package.json
T
kaitranntt c32c23e5ed feat: add npm postinstall config creation and restructure test suite
Configuration Management:
- Add npm postinstall script to auto-create ~/.ccs/ directory and config files
- Create config.json with default profile mappings (glm, default)
- Create glm.settings.json template with GLM API configuration
- Ensure idempotent postinstall behavior (safe to run multiple times)
- Fix config-manager.js to handle missing config.json gracefully

Test Suite Restructure:
- Reorganize tests by installation method (native vs npm)
- Move 37 native Unix tests to tests/native/unix/
- Move Windows tests to tests/native/windows/
- Move 39 npm package tests to tests/npm/
- Move shared utilities to tests/shared/
- Add comprehensive test documentation and README
- Implement master orchestrators for backward compatibility
- Increase test coverage from 41 to 83+ tests (100% increase)
- Add mocha framework for npm tests with better assertions

New Test Commands:
- npm run test:npm (npm package tests only)
- npm run test:native (native tests only)
- npm run test:unit (unit tests only)
- npm run test:all (all tests)

Backward Compatibility:
- npm test (runs all tests)
- bash tests/edge-cases.sh (master orchestrator)
- All existing workflows unchanged

Version: 2.4.4
2025-11-05 11:26:01 -05:00

63 lines
1.5 KiB
JSON

{
"name": "@kaitranntt/ccs",
"version": "2.4.4",
"description": "Claude Code Switch - Instant profile switching between Claude Sonnet 4.5 and GLM 4.6",
"keywords": [
"cli",
"claude",
"glm",
"ai",
"profile",
"switch"
],
"homepage": "https://github.com/kaitranntt/ccs",
"bugs": {
"url": "https://github.com/kaitranntt/ccs/issues"
},
"repository": {
"type": "git",
"url": "git+https://github.com/kaitranntt/ccs.git"
},
"license": "MIT",
"author": {
"name": "Tam Nhu Tran (Kai)",
"email": "kaitranntt@users.noreply.github.com"
},
"bin": {
"ccs": "bin/ccs.js"
},
"files": [
"bin/",
"lib/",
"scripts/",
"config/",
"VERSION",
"README.md",
"LICENSE"
],
"engines": {
"node": ">=14.0.0"
},
"os": [
"darwin",
"linux",
"win32"
],
"preferGlobal": true,
"scripts": {
"test": "npm run test:all",
"test:all": "npm run test:unit && npm run test:npm",
"test:unit": "npx mocha tests/shared/unit/**/*.test.js --timeout 5000",
"test:npm": "npx mocha tests/npm/**/*.test.js --timeout 10000",
"test:native": "bash tests/native/unix/edge-cases.sh",
"test:edge-cases": "bash tests/edge-cases.sh",
"prepublishOnly": "node scripts/sync-version.js",
"prepack": "node scripts/sync-version.js",
"prepare": "node scripts/check-executables.js",
"postinstall": "node scripts/postinstall.js"
},
"devDependencies": {
"mocha": "^11.7.5"
}
}