mirror of
https://github.com/Unleash/unleash.git
synced 2026-09-10 06:05:47 +00:00
205 lines
7.2 KiB
JSON
205 lines
7.2 KiB
JSON
{
|
|
"name": "unleash-server",
|
|
"type": "module",
|
|
"description": "Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.",
|
|
"version": "8.2.0",
|
|
"keywords": [
|
|
"unleash",
|
|
"feature flag",
|
|
"flag",
|
|
"feature toggle",
|
|
"feature",
|
|
"toggle"
|
|
],
|
|
"files": [
|
|
"dist",
|
|
"frontend/build",
|
|
"frontend/build/*",
|
|
"frontend/build/**/*",
|
|
"frontend/index.js",
|
|
"frontend/package.json"
|
|
],
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/Unleash/unleash.git"
|
|
},
|
|
"bugs": {
|
|
"url": "https://github.com/unleash/unleash/issues"
|
|
},
|
|
"types": "./dist/lib/server-impl.d.ts",
|
|
"engines": {
|
|
"node": ">=22"
|
|
},
|
|
"license": "AGPL-3.0-or-later",
|
|
"exports": "./dist/lib/server-impl.js",
|
|
"scripts": {
|
|
"ci": "pnpm run lint:fix && pnpm run build:backend && pnpm run test --reporter=dot",
|
|
"start": "TZ=UTC node ./dist/server.js",
|
|
"copy-templates": "mkdir -p dist && cp -r src/mailtemplates dist/",
|
|
"copy-migrations-package": "mkdir -p dist/migrations && cp src/migrations/package.json dist/migrations/",
|
|
"build:backend": "tsc --pretty && pnpm run copy-migrations-package",
|
|
"build:frontend": "pnpm --dir ./frontend run build",
|
|
"build:frontend:if-needed": "./scripts/build-frontend-if-needed.sh",
|
|
"build": "pnpm run clean && pnpm run copy-templates && pnpm run build:frontend && pnpm run build:backend",
|
|
"dev:vite": "TZ=UTC NODE_ENV=development vite-node src/server-dev.ts",
|
|
"dev:backend": "pnpm run copy-migrations-package && TZ=UTC NODE_ENV=${NODE_ENV:-development} tsc-watch --onSuccess \"node dist/server-dev.js\"",
|
|
"dev:frontend": "wait-on tcp:4242 && pnpm --dir ./frontend run dev",
|
|
"dev:frontend:cloud": "UNLEASH_BASE_PATH=/demo/ pnpm run dev:frontend",
|
|
"dev": "concurrently \"pnpm run dev:backend\" \"pnpm run dev:frontend\"",
|
|
"profile:startup": "./scripts/profile-startup.sh",
|
|
"prepare:backend": "concurrently \"pnpm run copy-templates\" \"pnpm run build:backend\"",
|
|
"start:dev": "pnpm run clean && pnpm run dev:backend",
|
|
"db-migrate": "db-migrate --migrations-dir ./src/migrations",
|
|
"lint": "biome check . --error-on-warnings",
|
|
"lint:fix": "biome check . --write --error-on-warnings",
|
|
"lint:fix:unsafe": "biome check . --write --error-on-warnings --unsafe",
|
|
"local:package": "del-cli --force build && mkdir build && cp -r dist CHANGELOG.md LICENSE README.md package.json build",
|
|
"build:watch": "tsc -w",
|
|
"postinstall": "if command -v husky >/dev/null 2>&1; then husky; fi",
|
|
"prepare": "test -f ./dist/server.js || pnpm run build",
|
|
"test": "PORT=4243 vitest run",
|
|
"test:unit": "PORT=4243 vitest --exclude src/test/e2e",
|
|
"test:docker": "./scripts/docker-postgres.sh",
|
|
"test:report": "PORT=4243 vitest --reporter=junit",
|
|
"test:docker:cleanup": "docker rm -f unleash-postgres",
|
|
"test:watch": "vitest",
|
|
"test:coverage": "PORT=4243 vitest run --coverage --outputFile=\"coverage/report.json\"",
|
|
"test:updateSnapshot": "PORT=4243 vitest run -u",
|
|
"test:ui": "vitest --ui",
|
|
"test:trace": "NODE_OPTIONS=--trace-warnings pnpm run test --no-file-parallelism",
|
|
"seed:setup": "ts-node src/test/e2e/seed/segment.seed.ts",
|
|
"seed:serve": "UNLEASH_DATABASE_NAME=unleash_test UNLEASH_DATABASE_SCHEMA=seed pnpm run start:dev",
|
|
"clean": "del-cli --force dist",
|
|
"prepack": "pnpm install --frozen-lockfile",
|
|
"schema:update": "node ./.husky/update-openapi-spec-list.js"
|
|
},
|
|
"dependencies": {
|
|
"@json2csv/plainjs": "^7.0.6",
|
|
"@slack/web-api": "^7.15.1",
|
|
"@wesleytodd/openapi": "^1.1.0",
|
|
"ajv": "^8.20.0",
|
|
"ajv-formats": "^3.0.1",
|
|
"async": "^3.2.6",
|
|
"bcryptjs": "^3.0.3",
|
|
"compression": "^1.8.1",
|
|
"connect-session-knex": "^5.0.0",
|
|
"cookie-parser": "^1.4.7",
|
|
"cookie-session": "^2.1.1",
|
|
"cors": "^2.8.6",
|
|
"date-fns": "^4.1.0",
|
|
"db-migrate": "0.11.14",
|
|
"db-migrate-pg": "1.5.2",
|
|
"db-migrate-shared": "1.2.0",
|
|
"deep-object-diff": "^1.1.9",
|
|
"deepmerge": "^4.3.1",
|
|
"errorhandler": "^1.5.2",
|
|
"express": "^4.22.1",
|
|
"express-rate-limit": "^8.4.1",
|
|
"express-session": "^1.19.0",
|
|
"fast-json-patch": "^3.1.1",
|
|
"hash-sum": "^2.0.0",
|
|
"helmet": "^8.1.0",
|
|
"http-errors": "^2.0.1",
|
|
"hyperloglog-lite": "^1.0.2",
|
|
"ip-address": "10.3.1",
|
|
"joi": "^18.1.2",
|
|
"js-sha256": "^0.11.1",
|
|
"js-yaml": "^4.3.1",
|
|
"json-diff": "^1.0.6",
|
|
"json-schema-to-ts": "3.1.1",
|
|
"knex": "^3.2.10",
|
|
"ky": "^1.14.3",
|
|
"lodash": "^4.18.1",
|
|
"lodash.get": "^4.4.2",
|
|
"lodash.groupby": "^4.6.0",
|
|
"lodash.isequal": "^4.5.0",
|
|
"lodash.sortby": "^4.7.0",
|
|
"log4js": "^6.9.1",
|
|
"memoizee": "^0.4.17",
|
|
"mime": "^4.1.0",
|
|
"murmurhash3js": "^3.0.1",
|
|
"mustache": "^4.2.0",
|
|
"nodemailer": "^9.0.1",
|
|
"normalize-url": "^9.0.0",
|
|
"openapi-types": "^12.1.3",
|
|
"owasp-password-strength-test": "^1.3.0",
|
|
"parse-database-url": "^0.3.0",
|
|
"pg": "^8.20.0",
|
|
"pg-connection-string": "^2.12.0",
|
|
"pkginfo": "^0.4.1",
|
|
"prom-client": "^15.1.3",
|
|
"re2js": "2.3.2",
|
|
"sanitize-filename": "^1.6.4",
|
|
"sanitize-html": "^2.17.7",
|
|
"semver": "7.7.4",
|
|
"serve-favicon": "^2.5.1",
|
|
"slug": "^11.0.1",
|
|
"stoppable": "^1.1.0",
|
|
"tldts": "7.0.30",
|
|
"ts-toolbelt": "^9.6.0",
|
|
"type-is": "^2.0.1",
|
|
"ulidx": "^2.4.1",
|
|
"unleash-client": "^6.12.1"
|
|
},
|
|
"devDependencies": {
|
|
"@apidevtools/swagger-parser": "12.1.0",
|
|
"@biomejs/biome": "2.4.16",
|
|
"@faker-js/faker": "^10.5.0",
|
|
"@fast-check/vitest": "^0.4.1",
|
|
"@types/cors": "2.8.19",
|
|
"@types/express": "4.17.25",
|
|
"@types/express-session": "1.19.0",
|
|
"@types/hash-sum": "^1.0.2",
|
|
"@types/http-errors": "2.0.5",
|
|
"@types/js-yaml": "4.0.9",
|
|
"@types/lodash": "4.17.25",
|
|
"@types/lodash.groupby": "4.6.9",
|
|
"@types/lodash.isequal": "^4.5.8",
|
|
"@types/memoizee": "0.4.12",
|
|
"@types/murmurhash3js": "^3.0.7",
|
|
"@types/mustache": "^4.2.6",
|
|
"@types/node": "22.20.1",
|
|
"@types/nodemailer": "^8.0.0",
|
|
"@types/owasp-password-strength-test": "1.3.2",
|
|
"@types/pg": "8.23.1",
|
|
"@types/sanitize-html": "^2.16.1",
|
|
"@types/semver": "7.7.1",
|
|
"@types/slug": "^5.0.9",
|
|
"@types/stoppable": "1.1.3",
|
|
"@types/supertest": "7.2.1",
|
|
"@types/type-is": "1.6.7",
|
|
"@vitest/coverage-v8": "4.1.11",
|
|
"@vitest/ui": "4.1.11",
|
|
"concurrently": "^10.0.0",
|
|
"del-cli": "7.0.0",
|
|
"fast-check": "4.8.0",
|
|
"fetch-mock": "^12.6.0",
|
|
"husky": "^9.1.7",
|
|
"lint-staged": "16.4.0",
|
|
"nock": "^14.0.14",
|
|
"openapi-enforcer": "1.23.0",
|
|
"proxyquire": "2.1.3",
|
|
"source-map-support": "0.5.21",
|
|
"superagent": "10.3.0",
|
|
"supertest": "7.2.2",
|
|
"ts-node": "10.9.2",
|
|
"tsc-watch": "7.2.1",
|
|
"typescript": "7.0.2",
|
|
"vite-node": "^6.0.0",
|
|
"vitest": "4.1.11",
|
|
"wait-on": "^9.0.5"
|
|
},
|
|
"lint-staged": {
|
|
"*.{js,ts}": [
|
|
"pnpm biome check --write --no-errors-on-unmatched"
|
|
],
|
|
"*.{jsx,tsx}": [
|
|
"pnpm biome check --write --no-errors-on-unmatched"
|
|
],
|
|
"*.json": [
|
|
"pnpm biome format --write --no-errors-on-unmatched"
|
|
]
|
|
},
|
|
"packageManager": "pnpm@11.15.1+sha512.81350b07e53c9538a02f1f2303b4290fa2d7be04e56e2a970c4cc4b417dc761de196edabd49d55c7dc9580db81007c44143e4e3d7e462b3000d23c255122d065"
|
|
}
|