openspec-stat 1.3.4 → 1.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  [![NPM version](https://img.shields.io/npm/v/openspec-stat.svg?style=flat)](https://npmjs.com/package/openspec-stat)
4
4
  [![NPM downloads](http://img.shields.io/npm/dm/openspec-stat.svg?style=flat)](https://npmjs.com/package/openspec-stat)
5
+ [![CI](https://github.com/Orchardxyz/openspec-stat/actions/workflows/ci.yml/badge.svg)](https://github.com/Orchardxyz/openspec-stat/actions/workflows/ci.yml)
5
6
 
6
7
  English | [简体中文](./README.zh-CN.md)
7
8
 
package/README.zh-CN.md CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  [![NPM version](https://img.shields.io/npm/v/openspec-stat.svg?style=flat)](https://npmjs.com/package/openspec-stat)
4
4
  [![NPM downloads](http://img.shields.io/npm/dm/openspec-stat.svg?style=flat)](https://npmjs.com/package/openspec-stat)
5
+ [![CI](https://github.com/Orchardxyz/openspec-stat/actions/workflows/ci.yml/badge.svg)](https://github.com/Orchardxyz/openspec-stat/actions/workflows/ci.yml)
5
6
 
6
7
  用于追踪团队成员在 Git 仓库中的 OpenSpec 提案和代码变更的命令行工具。
7
8
 
package/dist/cjs/cli.js CHANGED
@@ -6,7 +6,7 @@ var import_single = require("./commands/single.js");
6
6
  var import_multi = require("./commands/multi.js");
7
7
  var import_init = require("./commands/init.js");
8
8
  var program = new import_commander.Command();
9
- program.name("openspec-stat").description("Track team members' OpenSpec proposals and code changes in Git repositories").version("1.3.4").enablePositionalOptions().passThroughOptions();
9
+ program.name("openspec-stat").description("Track team members' OpenSpec proposals and code changes in Git repositories").version("1.3.5").enablePositionalOptions().passThroughOptions();
10
10
  program.argument("[repo]", "Repository path", ".").option("-r, --repo <path>", "Repository path (alternative)", ".").option("-b, --branches <branches>", "Branch list, comma-separated").option("--no-interactive", "Disable interactive branch selection").option("-s, --since <datetime>", "Start time (default: yesterday 20:00)").option("-u, --until <datetime>", "End time (default: today 20:00)").option("-a, --author <name>", "Filter by specific author").option("--json", "Output in JSON format").option("--csv", "Output in CSV format").option("--markdown", "Output in Markdown format").option("-c, --config <path>", "Configuration file path").option("-v, --verbose", "Verbose output mode").option("-l, --lang <language>", "Language for output (en, zh-CN)", "en").option("--no-fetch", "Skip fetching remote branches").action(async (repo, options) => {
11
11
  await (0, import_single.runSingleRepoCommand)({ ...options, repo: repo || options.repo || "." });
12
12
  });
package/dist/esm/cli.js CHANGED
@@ -13,7 +13,7 @@ import { runSingleRepoCommand } from "./commands/single.js";
13
13
  import { runMultiRepoCommand } from "./commands/multi.js";
14
14
  import { runInitCommand } from "./commands/init.js";
15
15
  var program = new Command();
16
- program.name('openspec-stat').description("Track team members' OpenSpec proposals and code changes in Git repositories").version("1.3.4").enablePositionalOptions().passThroughOptions();
16
+ program.name('openspec-stat').description("Track team members' OpenSpec proposals and code changes in Git repositories").version("1.3.5").enablePositionalOptions().passThroughOptions();
17
17
 
18
18
  // Default command for single-repository mode (for backward compatibility)
19
19
  program.argument('[repo]', 'Repository path', '.').option('-r, --repo <path>', 'Repository path (alternative)', '.').option('-b, --branches <branches>', 'Branch list, comma-separated').option('--no-interactive', 'Disable interactive branch selection').option('-s, --since <datetime>', 'Start time (default: yesterday 20:00)').option('-u, --until <datetime>', 'End time (default: today 20:00)').option('-a, --author <name>', 'Filter by specific author').option('--json', 'Output in JSON format').option('--csv', 'Output in CSV format').option('--markdown', 'Output in Markdown format').option('-c, --config <path>', 'Configuration file path').option('-v, --verbose', 'Verbose output mode').option('-l, --lang <language>', 'Language for output (en, zh-CN)', 'en').option('--no-fetch', 'Skip fetching remote branches').action( /*#__PURE__*/function () {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openspec-stat",
3
- "version": "1.3.4",
3
+ "version": "1.3.5",
4
4
  "description": "Track team members' OpenSpec proposals and code changes in Git repositories",
5
5
  "main": "dist/cjs/index.js",
6
6
  "types": "dist/cjs/index.d.ts",
@@ -36,16 +36,22 @@
36
36
  },
37
37
  "devDependencies": {
38
38
  "@changesets/cli": "^2.27.1",
39
+ "@types/mock-fs": "^4.13.4",
39
40
  "@types/node": "^25.0.3",
40
41
  "@typescript-eslint/eslint-plugin": "^6.21.0",
41
42
  "@typescript-eslint/parser": "^6.21.0",
43
+ "@vitest/coverage-v8": "^4.0.17",
44
+ "@vitest/ui": "^4.0.17",
42
45
  "eslint": "^8.56.0",
43
46
  "eslint-config-prettier": "^9.1.0",
44
47
  "eslint-plugin-prettier": "^5.1.3",
45
48
  "father": "^4.6.13",
46
49
  "husky": "^9.0.11",
47
50
  "lint-staged": "^15.2.2",
48
- "prettier": "^3.2.5"
51
+ "mock-fs": "^5.5.0",
52
+ "prettier": "^3.2.5",
53
+ "typescript": "^5.5.4",
54
+ "vitest": "^4.0.17"
49
55
  },
50
56
  "lint-staged": {
51
57
  "*.{ts,tsx}": [
@@ -68,6 +74,10 @@
68
74
  "dev": "father dev",
69
75
  "build": "father build",
70
76
  "build:deps": "father prebundle",
77
+ "test": "vitest",
78
+ "test:ui": "vitest --ui",
79
+ "test:run": "vitest run",
80
+ "test:coverage": "vitest run --coverage",
71
81
  "test:cli": "node dist/esm/cli.js --help",
72
82
  "link:global": "npm link",
73
83
  "link:local": "pnpm run build && chmod +x dist/esm/cli.js && npm link .",