UNPKG

surgio

Version:

Generating rules for Surge, Clash, Quantumult like a PRO

245 lines 6.81 kB
{ "name": "surgio", "description": "Generating rules for Surge, Clash, Quantumult like a PRO", "version": "3.14.0", "main": "./build/index.js", "types": "./build/index.d.ts", "bin": { "surgio": "bin/run" }, "repository": "https://github.com/geekdada/surgio", "author": "Roy Li <me@royli.dev>", "license": "MIT", "files": [ "bin", "build", "hygen-template", "index.js", "index.d.ts", "internal.js", "internal.d.ts", "generator.js", "generator.d.ts", "provider.js", "provider.d.ts", "constant.js", "constant.d.ts", "utils.js", "utils.d.ts", "config.js", "config.d.ts" ], "bugs": { "url": "https://github.com/geekdada/surgio/issues" }, "homepage": "https://surgio.js.org", "oclif": { "bin": "surgio", "dirname": "surgio", "commands": "./build/commands", "plugins": [ "@oclif/plugin-help", "@oclif/plugin-plugins" ], "hooks": { "init": [ "./build/hooks/init" ], "prerun": [], "postrun": [] }, "topicSeparator": " ", "topics": {} }, "dependencies": { "@babel/parser": "^7.28.5", "@brillout/import": "^0.2.6", "@oclif/core": "^2.16.0", "@oclif/plugin-help": "^5.2.20", "@oclif/plugin-plugins": "^3.10.1", "@royli/hygen": "^6.2.0", "@surgio/eslint-config-surgio": "^2.0.0", "@surgio/logger": "^1.3.0", "ali-oss": "^6.23.0", "bluebird": "^3.7.2", "bytes": "^3.1.2", "cache-manager": "^5.7.6", "cache-manager-ioredis-yet": "^1.2.2", "chalk": "^4.1.2", "change-case": "^4.1.2", "check-node-version": "^4.2.1", "compare-versions": "^6.1.1", "date-fns": "^2.30.0", "detect-newline": "^3.1.0", "dotenv": "^16.6.1", "emoji-regex": "^10.6.0", "eslint": "^9.28.0", "execa": "^4.1.0", "filesize": "^10.1.6", "fs-extra": "^11.3.3", "got": "^11.8.6", "hpagent": "^1.2.0", "inquirer": "^8.2.7", "ioredis": "^5.8.2", "is-gzip": "^2.0.0", "lodash": "^4.17.21", "micromatch": "^4.0.8", "ms": "^2.1.3", "node-dir": "^0.1.17", "node-gzip": "^1.1.2", "nunjucks": "^3.2.4", "ora": "^5.4.1", "query-string": "^7.1.3", "rimraf": "^4.4.1", "source-map-support": "^0.5.21", "ts-expect": "^1.3.0", "type-fest": "^3.13.1", "update-notifier": "^5.1.0", "urlsafe-base64": "^1.0.0", "yaml": "^2.8.2", "zod": "^3.25.76", "zod-validation-error": "^1.5.0" }, "devDependencies": { "@algolia/client-search": "^4.25.3", "@commitlint/cli": "^17.8.1", "@commitlint/config-angular": "^17.8.1", "@istanbuljs/nyc-config-typescript": "^1.0.2", "@oclif/test": "^2.5.6", "@types/ali-oss": "^6.16.13", "@types/bluebird": "^3.5.42", "@types/bytes": "^3.1.5", "@types/chai": "^4.3.20", "@types/debug": "^4.1.12", "@types/fs-extra": "^11.0.4", "@types/ini": "^1.3.34", "@types/inquirer": "^8.2.12", "@types/ioredis-mock": "^8.2.6", "@types/is-gzip": "^2.0.2", "@types/lodash": "^4.17.21", "@types/micromatch": "^4.0.10", "@types/mocha": "^10.0.10", "@types/ms": "^0.7.34", "@types/node": "^18.19.130", "@types/node-dir": "^0.0.35", "@types/node-gzip": "^1.1.3", "@types/nunjucks": "^3.2.6", "@types/sinon": "^10.0.20", "@types/urlsafe-base64": "^1.0.31", "@eslint/js": "^9.28.0", "typescript-eslint": "^8.33.1", "@vuepress/bundler-vite": "2.0.0-rc.19", "@vuepress/client": "2.0.0-rc.19", "@vuepress/core": "2.0.0-rc.19", "@vuepress/markdown": "2.0.0-rc.19", "@vuepress/plugin-docsearch": "2.0.0-rc.68", "@vuepress/plugin-google-analytics": "2.0.0-rc.66", "@vuepress/plugin-register-components": "2.0.0-rc.66", "@vuepress/plugin-shiki": "2.0.0-rc.68", "@vuepress/plugin-sitemap": "2.0.0-rc.68", "@vuepress/shared": "2.0.0-rc.19", "@vuepress/theme-default": "2.0.0-rc.68", "@vuepress/utils": "2.0.0-rc.19", "ava": "^5.3.1", "benchmark": "^2.1.4", "bumpp": "^9.11.1", "chai": "^4.5.0", "chai-jest-snapshot": "^2.0.0", "conventional-changelog-cli": "^2.2.2", "eslint-config-prettier": "^10.1.5", "eslint-import-resolver-typescript": "^4.4.3", "eslint-plugin-import-x": "^4.16.1", "eslint-plugin-prettier": "^5.4.1", "globals": "^16.2.0", "husky": "^8.0.3", "ini": "^3.0.1", "ioredis-mock": "^8.13.1", "lint-staged": "^13.3.0", "mocha": "^10.8.2", "nock": "^13.5.6", "np": "^6.5.0", "npm-debug-log-cleaner": "^1.0.3", "npm-run-all": "^4.1.5", "nyc": "^15.1.0", "prettier": "^2.8.8", "sass": "^1.97.1", "search-insights": "^2.17.3", "sinon": "^15.2.0", "ts-node": "^10.9.2", "typescript": "^5.9.3", "vue": "^3.5.26", "vuepress": "2.0.0-rc.19", "vuepress-plugin-umami-analytics": "1.8.1" }, "resolutions": { "@vuepress/client": "2.0.0-rc.19", "@vuepress/core": "2.0.0-rc.19", "@vuepress/markdown": "2.0.0-rc.19", "@vuepress/utils": "2.0.0-rc.19", "vuepress": "2.0.0-rc.19" }, "ava": { "failFast": false, "timeout": "30s", "extensions": [ "ts", "js" ], "files": [ "./test/**/*.test.ts", "./src/**/*.test.ts" ], "require": [ "ts-node/register", "./test/helpers/stub-axios.js" ] }, "nyc": { "extends": "@istanbuljs/nyc-config-typescript", "reporter": [ "html", "text-summary", "lcov" ] }, "engines": { "node": ">=18.0.0" }, "lint-staged": { "*.{js,ts}": "eslint --fix" }, "husky": { "hooks": { "commit-msg": "commitlint -c .commitlintrc.json -E HUSKY_GIT_PARAMS", "pre-commit": "npm-debug-log-cleaner && lint-staged" } }, "keywords": [ "surgio", "surge", "quantumult", "clash", "mihomo", "singbox", "shadowrocket" ], "scripts": { "dev": "pnpm run build -- --watch", "test": "run-s build test:lint test:unit test:cli", "test:types": "tsc --noEmit", "test:lint": "eslint .", "test:unit": "ava", "test:cli": "mocha", "test:cli:update": "CHAI_JEST_SNAPSHOT_UPDATE_ALL=true pnpm test:cli", "run-example": "node ./scripts/run-example.js", "coverage": "TS_NODE_FILES=true nyc ava", "clean": "pnpm run build --clean", "build": "tsc --build tsconfig.build.json", "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0", "docs:dev": "NODE_ENV=development vuepress dev docs", "docs:build": "NODE_ENV=production vuepress build docs", "release": "bumpp && pnpm publish", "release:beta": "bumpp --preid beta --no-push && pnpm publish --tag beta", "check-vuepress-version": "ncu -f \"*vuepress*\" --interactive --target @next -p pnpm" } }