1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-10-18 20:09:08 +02:00
unleash.unleash/package.json
Christopher Kolstad 6673d131fe
feat: biome lint (#4853)
This commit changes our linter/formatter to biome (https://biomejs.dev/)
Causing our prehook to run almost instantly, and our "yarn lint" task to
run in sub 100ms.

Some trade-offs:
* Biome isn't quite as well established as ESLint
* Are we ready to install a different vscode plugin (the biome plugin)
instead of the prettier plugin


The configuration set for biome also has a set of recommended rules,
this is turned on by default, in order to get to something that was
mergeable I have turned off a couple the rules we seemed to violate the
most, that we also explicitly told eslint to ignore.
2023-09-29 14:18:21 +02:00

241 lines
8.0 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"name": "unleash-server",
"description": "Unleash is an enterprise ready feature toggles service. It provides different strategies for handling feature toggles.",
"version": "5.6.0-main",
"keywords": [
"unleash",
"feature toggle",
"feature",
"toggle"
],
"files": [
"dist",
"docs",
"frontend/build",
"frontend/build/*",
"frontend/index.js",
"frontend/package.json"
],
"repository": {
"type": "git",
"url": "ssh://git@github.com:unleash/unleash.git"
},
"bugs": {
"url": "https://github.com/unleash/unleash/issues"
},
"types": "./dist/lib/server-impl.d.ts",
"engines": {
"node": ">=18"
},
"license": "Apache-2.0",
"main": "./dist/lib/server-impl.js",
"scripts": {
"start": "TZ=UTC node ./dist/server.js",
"copy-templates": "copyfiles -u 1 src/mailtemplates/**/*.mustache dist/",
"build:backend": "tsc --pretty --strictNullChecks false",
"build:frontend": "yarn --cwd ./frontend run build",
"build:frontend:if-needed": "if [ ! -d ./frontend/build ]; then yarn install --cwd ./frontend --frozen-lockfile --ignore-scripts && yarn build:frontend; fi",
"build": "concurrently \"yarn:copy-templates\" \"yarn:build:frontend\" \"yarn:build:backend\"",
"dev:backend": "TZ=UTC NODE_ENV=development tsc-watch --strictNullChecks false --onSuccess \"node dist/server-dev.js\"",
"dev:frontend": "wait-on tcp:4242 && yarn --cwd ./frontend run dev",
"dev": "concurrently \"yarn:dev:backend\" \"yarn:dev:frontend\"",
"prepare": "node scripts/husky-install && yarn --cwd ./frontend install && if [ ! -d ./dist ]; then yarn build; fi",
"prepare:backend": "concurrently \"yarn:copy-templates\" \"yarn:build:backend\"",
"prestart:dev": "yarn run clean",
"start:dev": "TZ=UTC NODE_ENV=development tsc-watch --strictNullChecks false --onSuccess \"node dist/server-dev.js\"",
"db-migrate": "db-migrate --migrations-dir ./src/migrations",
"lint": "biome check src",
"local:package": "del-cli --force build && mkdir build && cp -r dist docs CHANGELOG.md LICENSE README.md package.json build",
"prebuild:watch": "yarn run clean",
"build:watch": "tsc -w --strictNullChecks false",
"prebuild": "yarn run clean",
"test": "NODE_ENV=test PORT=4243 jest",
"test:unit": "NODE_ENV=test PORT=4243 jest --testPathIgnorePatterns=src/test/e2e --testPathIgnorePatterns=dist",
"test:docker": "./scripts/docker-postgres.sh",
"test:report": "NODE_ENV=test PORT=4243 jest --reporters=\"default\" --reporters=\"jest-junit\"",
"test:docker:cleanup": "docker rm -f unleash-postgres",
"test:watch": "yarn test --watch",
"test:coverage": "NODE_ENV=test PORT=4243 jest --coverage --testLocationInResults --outputFile=\"coverage/report.json\" --forceExit --testTimeout=10000",
"test:coverage:jest": "NODE_ENV=test PORT=4243 jest --silent --ci --json --coverage --testLocationInResults --outputFile=\"report.json\" --forceExit --testTimeout=10000",
"seed:setup": "ts-node --compilerOptions '{\"strictNullChecks\": false}' src/test/e2e/seed/segment.seed.ts",
"seed:serve": "UNLEASH_DATABASE_NAME=unleash_test UNLEASH_DATABASE_SCHEMA=seed yarn run start:dev",
"clean": "del-cli --force dist",
"preversion": "./scripts/check-release.sh",
"heroku-postbuild": "cd frontend && yarn && yarn build"
},
"jest-junit": {
"suiteName": "Unleash Unit Tests",
"outputDirectory": "./reports",
"outputName": "jest-junit.xml",
"uniqueOutputName": "false",
"classNameTemplate": "{classname}-{title}",
"titleTemplate": "{classname}-{title}",
"ancestorSeparator": " ",
"usePathForSuiteName": "true"
},
"jest": {
"automock": false,
"maxWorkers": 4,
"testTimeout": 10000,
"globalSetup": "./scripts/jest-setup.js",
"transform": {
"^.+\\.tsx?$": [
"@swc/jest"
]
},
"testRegex": "(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$",
"testPathIgnorePatterns": [
"/dist/",
"/node_modules/",
"/frontend/"
],
"moduleFileExtensions": [
"ts",
"tsx",
"js",
"jsx",
"json"
],
"coveragePathIgnorePatterns": [
"/node_modules/",
"/dist/",
"/src/migrations",
"/src/test"
]
},
"dependencies": {
"@slack/web-api": "^6.9.0",
"@unleash/express-openapi": "^0.3.0",
"ajv": "^8.11.0",
"ajv-formats": "^2.1.1",
"async": "^3.2.4",
"bcryptjs": "^2.4.3",
"compression": "^1.7.4",
"connect-session-knex": "^3.0.0",
"cookie-parser": "^1.4.5",
"cookie-session": "^2.0.0-rc.1",
"cors": "^2.8.5",
"date-fns": "^2.25.0",
"db-migrate": "0.11.14",
"db-migrate-pg": "1.4.2",
"db-migrate-shared": "1.2.0",
"deep-object-diff": "^1.1.9",
"deepmerge": "^4.2.2",
"errorhandler": "^1.5.1",
"express": "^4.18.2",
"express-rate-limit": "^6.6.0",
"express-session": "^1.17.1",
"fast-json-patch": "^3.1.0",
"gravatar-url": "^3.1.0",
"hash-sum": "^2.0.0",
"helmet": "^6.0.0",
"http-errors": "^2.0.0",
"ip": "^1.1.8",
"joi": "^17.3.0",
"js-sha256": "^0.10.0",
"js-yaml": "^4.1.0",
"json-schema-to-ts": "2.9.2",
"json2csv": "^5.0.7",
"knex": "^2.4.2",
"lodash.get": "^4.4.2",
"lodash.groupby": "^4.6.0",
"log4js": "^6.0.0",
"make-fetch-happen": "^11.0.0",
"memoizee": "^0.4.15",
"mime": "^3.0.0",
"multer": "^1.4.5-lts.1",
"murmurhash3js": "^3.0.1",
"mustache": "^4.1.0",
"nodemailer": "^6.5.0",
"openapi-types": "^12.0.0",
"owasp-password-strength-test": "^1.3.0",
"parse-database-url": "^0.3.0",
"pg": "^8.7.3",
"pg-connection-string": "^2.5.0",
"pkginfo": "^0.4.1",
"prom-client": "^14.0.0",
"response-time": "^2.3.2",
"sanitize-filename": "^1.6.3",
"semver": "^7.5.3",
"serve-favicon": "^2.5.0",
"stoppable": "^1.1.0",
"ts-toolbelt": "^9.6.0",
"type-is": "^1.6.18",
"unleash-client": "4.2.0-beta.0",
"uuid": "^9.0.0"
},
"devDependencies": {
"@apidevtools/swagger-parser": "10.1.0",
"@babel/core": "7.22.17",
"@swc/core": "1.3.88",
"@biomejs/biome": "1.2.2",
"@swc/jest": "0.2.29",
"@types/bcryptjs": "2.4.3",
"@types/cors": "2.8.14",
"@types/express": "4.17.17",
"@types/express-session": "1.17.7",
"@types/faker": "5.5.9",
"@types/hash-sum": "^1.0.0",
"@types/jest": "29.5.4",
"@types/js-yaml": "4.0.5",
"@types/lodash.groupby": "4.6.7",
"@types/make-fetch-happen": "10.0.1",
"@types/memoizee": "0.4.8",
"@types/mime": "3.0.1",
"@types/node": "18.17.15",
"@types/nodemailer": "6.4.10",
"@types/owasp-password-strength-test": "1.3.0",
"@types/pg": "8.10.2",
"@types/semver": "7.5.1",
"@types/stoppable": "1.1.1",
"@types/supertest": "2.0.12",
"@types/type-is": "1.6.4",
"@types/uuid": "9.0.3",
"concurrently": "^8.0.1",
"copyfiles": "2.4.1",
"coveralls": "3.1.1",
"del-cli": "5.1.0",
"faker": "5.5.3",
"fast-check": "3.13.0",
"fetch-mock": "9.11.0",
"husky": "8.0.3",
"jest": "29.7.0",
"jest-junit": "^16.0.0",
"lint-staged": "13.2.3",
"nock": "13.3.3",
"openapi-enforcer": "1.22.3",
"proxyquire": "2.1.3",
"source-map-support": "0.5.21",
"superagent": "8.1.2",
"supertest": "6.3.3",
"ts-node": "10.9.1",
"tsc-watch": "6.0.4",
"typescript": "4.8.4",
"wait-on": "^7.0.1"
},
"resolutions": {
"async": "^3.2.4",
"db-migrate/rc/minimist": "^1.2.5",
"es5-ext": "0.10.62",
"knex/liftoff/object.map/**/kind-of": "^6.0.3",
"knex/liftoff/findup-sync/micromatc/kind-of": "^6.0.3",
"knex/liftoff/findup-sync/micromatc/nanomatch/kind-of": "^6.0.3",
"knex/liftoff/findup-sync/micromatch/define-property/**/kind-of": "^6.0.3",
"node-forge": "^1.0.0",
"set-value": "^4.0.1",
"ansi-regex": "^5.0.1",
"ssh2": "^1.4.0",
"json-schema": "^0.4.0",
"minimatch": "^5.0.0",
"semver": "^7.5.3"
},
"lint-staged": {
"*.{js,ts}": [
"biome check --apply"
],
"*.{json,yaml,md}": [
"biome format --write"
]
}
}