mirror of
https://github.com/samsonjs/Peekaboo.git
synced 2026-03-25 09:25:47 +00:00
✅ **Merge Conflicts Resolved** - Merged latest changes from main branch - Resolved conflicts in docs/spec.md by keeping comprehensive specification - Added PEEKABOO_CLI_TIMEOUT environment variable documentation 🧪 **Test Suite Updates for Linux Compatibility** - Added platform-specific test skipping for Swift-dependent tests - Created tests/setup.ts for global test configuration - Updated vitest.config.ts with platform detection - Modified integration tests to skip on non-macOS platforms: - tests/integration/peekaboo-cli-integration.test.ts - tests/integration/image-tool.test.ts - tests/integration/analyze-tool.test.ts 📦 **New Test Scripts** - `npm run test:unit` - Run only unit tests (any platform) - `npm run test:typescript` - Run TypeScript tests, skip Swift (Linux-friendly) - `npm run test:typescript:watch` - Watch mode for TypeScript-only tests 🌍 **Platform Support** - **macOS**: All tests run (unit + integration + Swift) - **Linux/CI**: Only TypeScript tests run (Swift tests auto-skipped) - **Environment Variables**: - `SKIP_SWIFT_TESTS=true` - Force skip Swift tests - `CI=true` - Auto-skip Swift tests in CI 📚 **Documentation Updates** - Added comprehensive testing section to README.md - Documented platform-specific test behavior - Added environment variable documentation for test control This allows the TypeScript parts of Peekaboo to be tested on Linux while maintaining full test coverage on macOS.
82 lines
2.5 KiB
JSON
82 lines
2.5 KiB
JSON
{
|
|
"name": "@steipete/peekaboo-mcp",
|
|
"version": "1.0.0-beta.19",
|
|
"description": "A macOS utility exposed via Node.js MCP server for advanced screen captures, image analysis, and window management",
|
|
"type": "module",
|
|
"main": "dist/index.js",
|
|
"bin": {
|
|
"peekaboo-mcp": "dist/index.js"
|
|
},
|
|
"files": [
|
|
"dist/",
|
|
"peekaboo",
|
|
"README.md",
|
|
"LICENSE"
|
|
],
|
|
"scripts": {
|
|
"build": "tsc",
|
|
"build:swift": "./scripts/build-swift-universal.sh",
|
|
"build:all": "npm run build:swift && npm run build",
|
|
"start": "node dist/index.js",
|
|
"prepublishOnly": "npm run build:all",
|
|
"dev": "tsc --watch",
|
|
"clean": "rm -rf dist",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest watch",
|
|
"test:coverage": "vitest run --coverage",
|
|
"test:unit": "vitest run tests/unit",
|
|
"test:typescript": "SKIP_SWIFT_TESTS=true vitest run",
|
|
"test:typescript:watch": "SKIP_SWIFT_TESTS=true vitest watch",
|
|
"test:swift": "cd peekaboo-cli && swift test --parallel --skip \"LocalIntegrationTests|ScreenshotValidationTests|ApplicationFinderTests|WindowManagerTests\"",
|
|
"test:integration": "npm run build && npm run test:swift && vitest run",
|
|
"test:all": "npm run test:integration",
|
|
"lint": "eslint 'src/**/*.ts'",
|
|
"lint:fix": "eslint 'src/**/*.ts' --fix",
|
|
"lint:swift": "cd peekaboo-cli && swiftlint",
|
|
"format:swift": "cd peekaboo-cli && swiftformat .",
|
|
"prepare-release": "node ./scripts/prepare-release.js",
|
|
"inspector": "npx @modelcontextprotocol/inspector node dist/index.js",
|
|
"postinstall": "chmod +x dist/index.js 2>/dev/null || true"
|
|
},
|
|
"keywords": [
|
|
"mcp",
|
|
"screen-capture",
|
|
"macos",
|
|
"ai-analysis",
|
|
"image-analysis",
|
|
"window-management"
|
|
],
|
|
"author": "Peter Steinberger <steipete@gmail.com>",
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"@modelcontextprotocol/sdk": "^1.12.0",
|
|
"openai": "^4.0.0",
|
|
"pino": "^9.7.0",
|
|
"zod": "^3.25.28"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^22.15.21",
|
|
"@typescript-eslint/eslint-plugin": "^8.19.1",
|
|
"@typescript-eslint/parser": "^8.19.1",
|
|
"eslint": "^8.57.1",
|
|
"pino-pretty": "^13.0.0",
|
|
"typescript": "^5.3.0",
|
|
"vitest": "^3.1.4",
|
|
"@vitest/ui": "^3.1.4",
|
|
"@vitest/coverage-v8": "^3.1.4"
|
|
},
|
|
"engines": {
|
|
"node": ">=18.0.0"
|
|
},
|
|
"os": [
|
|
"darwin"
|
|
],
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/steipete/peekaboo.git"
|
|
},
|
|
"bugs": {
|
|
"url": "https://github.com/steipete/peekaboo/issues"
|
|
},
|
|
"homepage": "https://github.com/steipete/peekaboo#readme"
|
|
}
|