{ "_comment": "Analytics Feature - Package.json Template", "_description": "This file demonstrates layered override system for feature-specific dependencies. It will be merged with base package.json when analytics feature is enabled. Layer: Feature > Template > Framework", "scripts": { "analytics:dev": "concurrently \"npm run analytics:server\" \"npm run analytics:ui\"", "analytics:server": "node scripts/features/analytics/dev-server.js", "analytics:ui": "node scripts/features/analytics/dashboard-ui.js", "analytics:build": "node scripts/features/analytics/build-dashboard.js", "analytics:test": "jest tests/analytics --coverage --verbose", "analytics:e2e": "playwright test tests/e2e/analytics.spec.js", "analytics:report": "node scripts/features/analytics/generate-report.js", "analytics:monitor": "node scripts/features/analytics/monitor.js --daemon", "analytics:export": "node scripts/features/analytics/export-data.js", "analytics:validate": "node scripts/features/analytics/validate-config.js", "analytics:benchmark": "node scripts/features/analytics/benchmark.js", "analytics:docs": "typedoc src/analytics --out docs/analytics", "analytics:lint": "eslint src/analytics scripts/features/analytics --fix", "analytics:format": "prettier src/analytics scripts/features/analytics --write" }, "dependencies": { "@analytics/core": "^2.9.0", "@analytics/google-analytics": "^1.0.7", "@analytics/segment": "^1.2.4", "chart.js": "^4.4.0", "chartjs-adapter-date-fns": "^3.0.0", "date-fns": "^2.30.0", "d3": "^7.8.5", "d3-scale": "^4.0.2", "d3-array": "^3.2.4", "recharts": "^2.8.0", "victory": "^37.0.2", "plotly.js": "^2.27.0", "apache-arrow": "^14.0.1", "web-vitals": "^3.5.0", "performance-observer": "^1.0.1", "@sentry/browser": "^7.81.1", "mixpanel-browser": "^2.47.0", "amplitude-js": "^8.21.6", "hotjar-js": "^1.0.1" }, "devDependencies": { "@types/d3": "^7.4.3", "@types/d3-scale": "^4.0.6", "@types/d3-array": "^3.0.9", "@types/chart.js": "^2.9.37", "@testing-library/jest-dom": "^6.1.4", "@testing-library/dom": "^9.3.4", "jest": "^29.7.0", "jest-environment-jsdom": "^29.7.0", "@playwright/test": "^1.40.0", "playwright": "^1.40.0", "puppeteer": "^21.5.2", "jsdom": "^23.0.1", "canvas": "^2.11.2", "chartjs-node-canvas": "^4.1.6", "webpack": "^5.89.0", "webpack-cli": "^5.1.4", "webpack-dev-server": "^4.15.1", "babel-loader": "^9.1.3", "@babel/core": "^7.23.3", "@babel/preset-env": "^7.23.3", "@babel/preset-typescript": "^7.23.3", "typescript": "^5.2.2", "ts-loader": "^9.5.1", "ts-jest": "^29.1.1", "typedoc": "^0.25.4", "eslint": "^8.54.0", "@typescript-eslint/eslint-plugin": "^6.12.0", "@typescript-eslint/parser": "^6.12.0", "prettier": "^3.1.0", "concurrently": "^8.2.2", "nodemon": "^3.0.1", "cross-env": "^7.0.3" }, "optionalDependencies": { "sharp": "^0.32.6", "canvas": "^2.11.2", "@node-rs/jieba": "^1.7.0" }, "peerDependencies": { "react": "^18.0.0", "react-dom": "^18.0.0" }, "jest": { "testEnvironment": "jsdom", "setupFilesAfterEnv": ["/tests/analytics/setup.js"], "testMatch": [ "/tests/analytics/**/*.test.{js,ts}", "/src/analytics/**/*.test.{js,ts}" ], "collectCoverageFrom": [ "src/analytics/**/*.{js,ts}", "scripts/features/analytics/**/*.{js,ts}", "!**/*.d.ts", "!**/node_modules/**" ], "coverageThreshold": { "global": { "branches": 80, "functions": 80, "lines": 80, "statements": 80 } }, "transform": { "^.+\\.(ts|tsx)$": "ts-jest", "^.+\\.(js|jsx)$": "babel-jest" } }, "eslintConfig": { "extends": [ "eslint:recommended", "@typescript-eslint/recommended" ], "parser": "@typescript-eslint/parser", "plugins": ["@typescript-eslint"], "rules": { "@typescript-eslint/no-unused-vars": "error", "@typescript-eslint/explicit-function-return-type": "warn", "prefer-const": "error", "no-console": "warn" }, "ignorePatterns": [ "dist/", "node_modules/", "coverage/" ] }, "prettier": { "semi": false, "singleQuote": true, "tabWidth": 2, "trailingComma": "es5", "printWidth": 100, "arrowParens": "avoid" }, "browserslist": [ "> 1%", "last 2 versions", "not dead", "not ie 11" ], "engines": { "node": ">=18.0.0", "npm": ">=9.0.0" }, "_rustelo_feature": { "name": "analytics", "version": "1.0.0", "description": "Comprehensive analytics and monitoring system", "category": "monitoring", "dependencies": { "rust_crates": [ "serde_json", "chrono", "tokio", "reqwest", "prometheus", "tracing" ], "system_deps": [ "postgresql-client", "redis-tools" ] }, "scripts": { "post_install": "node scripts/features/analytics/post-install.js", "pre_uninstall": "node scripts/features/analytics/pre-uninstall.js" }, "config": { "dashboard_port": 3001, "api_endpoints": [ "/api/analytics/metrics", "/api/analytics/events", "/api/analytics/reports" ], "default_retention_days": 30, "max_events_per_minute": 1000 } }, "_layered_merge": { "strategy": "deep_merge", "precedence": "feature_over_base", "conflict_resolution": "feature_wins", "array_merge": "concat_unique", "script_merge": "feature_prefix" } }