1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-10-18 20:09:08 +02:00
unleash.unleash/package.json
Gastón Fournier a53d50148b
fix: DigitalOcean template (#4287)
## About the changes
Instead of building from source (we require Node 18 but [DigitalOcean
buildpack currently does not support
it](https://www.digitalocean.com/community/questions/app-platform-node-build-pack-can-t-use-node-version-18)),
we're going to use our Docker image from DockerHub:
https://hub.docker.com/r/unleashorg/unleash-server

Additionally, I realized that our Dockerfile only works in our CI (or
performing a pre-build step which consists of building the frontend).
With this PR I've also made a change to build the frontend if needed.
That way our CI will continue to be optimal while anyone trying to build
it from source will be able to do it by just running `docker build .`

Closes #4261
2023-07-20 12:13:44 +00:00

266 lines
8.7 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.3.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": "eslint ./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",
"pretest:coverage:jest": "yarn build:frontend",
"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.8.1",
"@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.13",
"db-migrate-pg": "1.3.0",
"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.9.0",
"js-yaml": "^4.1.0",
"json-schema-to-ts": "2.9.1",
"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": "3.21.0",
"uuid": "^9.0.0"
},
"devDependencies": {
"@apidevtools/swagger-parser": "10.1.0",
"@babel/core": "7.22.5",
"@swc/core": "1.3.67",
"@swc/jest": "0.2.26",
"@types/bcryptjs": "2.4.2",
"@types/cors": "2.8.13",
"@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.2",
"@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": "16.18.37",
"@types/nodemailer": "6.4.8",
"@types/owasp-password-strength-test": "1.3.0",
"@types/pg": "8.10.2",
"@types/semver": "7.5.0",
"@types/stoppable": "1.1.1",
"@types/supertest": "2.0.12",
"@types/type-is": "1.6.3",
"@types/uuid": "9.0.2",
"@typescript-eslint/eslint-plugin": "5.60.1",
"@typescript-eslint/parser": "5.60.1",
"concurrently": "^8.0.1",
"copyfiles": "2.4.1",
"coveralls": "3.1.1",
"del-cli": "5.0.0",
"eslint": "^8.38.0",
"eslint-config-airbnb-base": "15.0.0",
"eslint-config-airbnb-typescript": "17.0.0",
"eslint-config-prettier": "8.8.0",
"eslint-plugin-import": "2.27.5",
"eslint-plugin-no-only-tests": "^3.1.0",
"eslint-plugin-prettier": "4.2.1",
"eslint-plugin-regexp": "^1.14.0",
"faker": "5.5.3",
"fast-check": "3.10.0",
"fetch-mock": "9.11.0",
"husky": "8.0.3",
"jest": "29.5.0",
"jest-junit": "^16.0.0",
"lint-staged": "13.2.3",
"nock": "13.3.1",
"openapi-enforcer": "1.22.3",
"prettier": "2.8.1",
"proxyquire": "2.1.3",
"source-map-support": "0.5.21",
"superagent": "8.0.9",
"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}": [
"eslint --fix"
],
"*.{json,yaml,md}": [
"prettier --write"
]
},
"prettier": {
"proseWrap": "never",
"singleQuote": true,
"tabWidth": 4,
"trailingComma": "all",
"overrides": [
{
"files": "*.{json,yaml,yml,md}",
"options": {
"tabWidth": 2
}
}
]
}
}