diff --git a/.lintstagedrc.mjs b/.lintstagedrc.mjs new file mode 100644 index 00000000..2c76d3c7 --- /dev/null +++ b/.lintstagedrc.mjs @@ -0,0 +1,3 @@ +export default { + "*.json": "prettier --write" +} diff --git a/Common/.prettierrc.json b/.prettierrc.json similarity index 100% rename from Common/.prettierrc.json rename to .prettierrc.json diff --git a/Common/.eslintrc.js b/Common/.eslintrc.js index 20ff982b..7a8d4f1b 100644 --- a/Common/.eslintrc.js +++ b/Common/.eslintrc.js @@ -3,7 +3,10 @@ module.exports = { root: true, parser: '@typescript-eslint/parser', - parserOptions: { project: './tsconfig.cjs.json' }, + parserOptions: { + project: './tsconfig.cjs.json', + tsconfigRootDir: __dirname, + }, plugins: [ '@typescript-eslint', 'eslint-plugin-tsdoc', diff --git a/Common/.lintstagedrc.mjs b/Common/.lintstagedrc.mjs new file mode 100644 index 00000000..a8a481e5 --- /dev/null +++ b/Common/.lintstagedrc.mjs @@ -0,0 +1,7 @@ +import baseConfig from '../.lintstagedrc.mjs' + +export default { + ...baseConfig, + '*.ts': 'eslint --fix', +} + diff --git a/Common/package.json b/Common/package.json index 4dad3252..1813f941 100644 --- a/Common/package.json +++ b/Common/package.json @@ -1,49 +1,49 @@ -{ - "name": "@epicgames-ps/lib-pixelstreamingcommon-ue5.5", - "version": "0.1.4", - "description": "Common utilities library for Unreal Engine 5.5 Pixel Streaming", - "main": "build/commonjs/pixelstreamingcommon.js", - "module": "build/esm/pixelstreamingcommon.js", - "types": "build/types/pixelstreamingcommon.d.ts", - "sideEffects": false, - "scripts": { - "compile": "tsc --project tsconfig.esm.json && tsc --project tsconfig.cjs.json", - "build": "rimraf ./build && npm run build-proto && npm run compile", - "build-dev": "npm run build-proto && npm run compile", - "build-proto": "protoc --experimental_allow_proto3_optional --ts_out src/Messages --proto_path protobuf protobuf/signalling_messages.proto", - "build-proto-docs": "protoc --doc_out=docs --doc_opt=markdown,messages.md --proto_path protobuf protobuf/signalling_messages.proto", - "build-docs": "typedoc --tsconfig tsconfig.base.json", - "lint": "eslint . --ext .js,.jsx,.ts,.tsx", - "test": "echo \"Error: no test specified\" && exit 1" - }, - "devDependencies": { - "@types/jest": "^29.5.14", - "@types/webxr": "^0.5.1", - "@typescript-eslint/eslint-plugin": "^6.21.0", - "cspell": "^4.1.0", - "eslint": "^8.11.0", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-prettier": "^5.2.1", - "eslint-plugin-tsdoc": "^0.2.17", - "jest": "^29.7.0", - "jest-environment-jsdom": "^29.7.0", - "prettier": "3.3.3", - "rimraf": "^5.0.5", - "ts-jest": "^29.2.5", - "ts-loader": "^9.4.2", - "ts-node": "^10.9.2", - "typedoc": "^0.27.4", - "typedoc-plugin-markdown": "^4.3.2", - "typescript": "^5.0.0" - }, - "author": "Epic Games", - "license": "MIT", - "publishConfig": { - "access": "public" - }, - "dependencies": { - "@protobuf-ts/plugin": "^2.9.3", - "@types/ws": "^8.5.10", - "ws": "^8.17.1" - } -} +{ + "name": "@epicgames-ps/lib-pixelstreamingcommon-ue5.5", + "version": "0.1.4", + "description": "Common utilities library for Unreal Engine 5.5 Pixel Streaming", + "main": "build/commonjs/pixelstreamingcommon.js", + "module": "build/esm/pixelstreamingcommon.js", + "types": "build/types/pixelstreamingcommon.d.ts", + "sideEffects": false, + "scripts": { + "compile": "tsc --project tsconfig.esm.json && tsc --project tsconfig.cjs.json", + "build": "rimraf ./build && npm run build-proto && npm run compile", + "build-dev": "npm run build-proto && npm run compile", + "build-proto": "protoc --experimental_allow_proto3_optional --ts_out src/Messages --proto_path protobuf protobuf/signalling_messages.proto", + "build-proto-docs": "protoc --doc_out=docs --doc_opt=markdown,messages.md --proto_path protobuf protobuf/signalling_messages.proto", + "build-docs": "typedoc --tsconfig tsconfig.base.json", + "lint": "eslint . --ext .js,.jsx,.ts,.tsx", + "test": "echo \"Error: no test specified\" && exit 1" + }, + "devDependencies": { + "@types/jest": "^29.5.14", + "@types/webxr": "^0.5.1", + "@typescript-eslint/eslint-plugin": "^6.21.0", + "cspell": "^4.1.0", + "eslint": "^8.11.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-prettier": "^5.2.1", + "eslint-plugin-tsdoc": "^0.2.17", + "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", + "prettier": "3.3.3", + "rimraf": "^5.0.5", + "ts-jest": "^29.2.5", + "ts-loader": "^9.4.2", + "ts-node": "^10.9.2", + "typedoc": "^0.27.4", + "typedoc-plugin-markdown": "^4.3.2", + "typescript": "^5.0.0" + }, + "author": "Epic Games", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "dependencies": { + "@protobuf-ts/plugin": "^2.9.3", + "@types/ws": "^8.5.10", + "ws": "^8.17.1" + } +} diff --git a/Extras/Scripts/pre-commit-checks.sh b/Extras/Scripts/pre-commit-checks.sh index 50a4328c..4bef0c9d 100755 --- a/Extras/Scripts/pre-commit-checks.sh +++ b/Extras/Scripts/pre-commit-checks.sh @@ -1,5 +1,8 @@ #!/bin/bash +# No longer used in favor of using lint-staged +# Will remove this eventually but leaving here for reference for now + LINT_CHECK_PATHS=( "Common/" "Signalling/" diff --git a/Frontend/library/.eslintrc.js b/Frontend/library/.eslintrc.js index 575ba0f9..9f133ace 100644 --- a/Frontend/library/.eslintrc.js +++ b/Frontend/library/.eslintrc.js @@ -3,7 +3,10 @@ module.exports = { root: true, parser: '@typescript-eslint/parser', - parserOptions: { project: './tsconfig.cjs.json' }, + parserOptions: { + project: './tsconfig.cjs.json', + tsconfigRootDir: __dirname, + }, plugins: ['@typescript-eslint'], extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended', "plugin:prettier/recommended"], rules: { diff --git a/Frontend/library/.lintstagedrc.mjs b/Frontend/library/.lintstagedrc.mjs new file mode 100644 index 00000000..49ca2945 --- /dev/null +++ b/Frontend/library/.lintstagedrc.mjs @@ -0,0 +1,7 @@ +import baseConfig from '../../.lintstagedrc.mjs' + +export default { + ...baseConfig, + '*.ts': 'eslint --fix', +} + diff --git a/Frontend/library/.prettierrc.json b/Frontend/library/.prettierrc.json deleted file mode 100644 index b20d97c1..00000000 --- a/Frontend/library/.prettierrc.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "printWidth": 110, - "trailingComma": "none", - "tabWidth": 4, - "semi": true, - "singleQuote": true -} diff --git a/Frontend/library/package.json b/Frontend/library/package.json index 17f67f4a..f4c2c319 100644 --- a/Frontend/library/package.json +++ b/Frontend/library/package.json @@ -1,45 +1,45 @@ -{ - "name": "@epicgames-ps/lib-pixelstreamingfrontend-ue5.5", - "version": "0.4.5", - "description": "Frontend library for Unreal Engine 5.5 Pixel Streaming", - "main": "dist/commonjs/pixelstreamingfrontend.js", - "module": "dist/esm/pixelstreamingfrontend.js", - "types": "dist/types/pixelstreamingfrontend.d.ts", - "sideEffects": false, - "scripts": { - "compile": "tsc --project tsconfig.esm.json && tsc --project tsconfig.cjs.json", - "build": "npm run compile", - "build-all": "cd ../../Common && npm install && npm run build && cd ../Frontend/library && npm install && npm run build", - "lint": "eslint . --ext .js,.jsx,.ts,.tsx", - "test": "jest --detectOpenHandles --coverage=true", - "spellcheck": "cspell \"{README.md,.github/*.md,src/**/*.ts}\"" - }, - "devDependencies": { - "@types/jest": "^29.5.14", - "@typescript-eslint/eslint-plugin": "^6.21.0", - "cspell": "^4.1.0", - "eslint": "^8.11.0", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-prettier": "^5.2.1", - "jest": "^29.7.0", - "jest-environment-jsdom": "^29.7.0", - "prettier": "3.3.3", - "ts-jest": "^29.2.5", - "typedoc": "^0.27.4", - "typescript": "^5.0.0" - }, - "dependencies": { - "@epicgames-ps/lib-pixelstreamingcommon-ue5.5": "^0.1.4", - "@types/webxr": "^0.5.1", - "sdp": "^3.1.0" - }, - "repository": { - "type": "git", - "url": "https://github.com/EpicGamesExt/PixelStreamingInfrastructure.git" - }, - "author": "Epic Games", - "license": "MIT", - "publishConfig": { - "access": "public" - } -} +{ + "name": "@epicgames-ps/lib-pixelstreamingfrontend-ue5.5", + "version": "0.4.5", + "description": "Frontend library for Unreal Engine 5.5 Pixel Streaming", + "main": "dist/commonjs/pixelstreamingfrontend.js", + "module": "dist/esm/pixelstreamingfrontend.js", + "types": "dist/types/pixelstreamingfrontend.d.ts", + "sideEffects": false, + "scripts": { + "compile": "tsc --project tsconfig.esm.json && tsc --project tsconfig.cjs.json", + "build": "npm run compile", + "build-all": "cd ../../Common && npm install && npm run build && cd ../Frontend/library && npm install && npm run build", + "lint": "eslint . --ext .js,.jsx,.ts,.tsx", + "test": "jest --detectOpenHandles --coverage=true", + "spellcheck": "cspell \"{README.md,.github/*.md,src/**/*.ts}\"" + }, + "devDependencies": { + "@types/jest": "^29.5.14", + "@typescript-eslint/eslint-plugin": "^6.21.0", + "cspell": "^4.1.0", + "eslint": "^8.11.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-prettier": "^5.2.1", + "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", + "prettier": "3.3.3", + "ts-jest": "^29.2.5", + "typedoc": "^0.27.4", + "typescript": "^5.0.0" + }, + "dependencies": { + "@epicgames-ps/lib-pixelstreamingcommon-ue5.5": "^0.1.4", + "@types/webxr": "^0.5.1", + "sdp": "^3.1.0" + }, + "repository": { + "type": "git", + "url": "https://github.com/EpicGamesExt/PixelStreamingInfrastructure.git" + }, + "author": "Epic Games", + "license": "MIT", + "publishConfig": { + "access": "public" + } +} diff --git a/Frontend/ui-library/.eslintrc.js b/Frontend/ui-library/.eslintrc.js index d44cfd4b..e683525d 100644 --- a/Frontend/ui-library/.eslintrc.js +++ b/Frontend/ui-library/.eslintrc.js @@ -3,7 +3,10 @@ module.exports = { root: true, parser: '@typescript-eslint/parser', - parserOptions: { project: './tsconfig.json' }, + parserOptions: { + project: './tsconfig.json', + tsconfigRootDir: __dirname, + }, plugins: [ '@typescript-eslint', 'eslint-plugin-tsdoc' diff --git a/Frontend/ui-library/.lintstagedrc.mjs b/Frontend/ui-library/.lintstagedrc.mjs new file mode 100644 index 00000000..49ca2945 --- /dev/null +++ b/Frontend/ui-library/.lintstagedrc.mjs @@ -0,0 +1,7 @@ +import baseConfig from '../../.lintstagedrc.mjs' + +export default { + ...baseConfig, + '*.ts': 'eslint --fix', +} + diff --git a/Frontend/ui-library/.prettierrc.json b/Frontend/ui-library/.prettierrc.json deleted file mode 100644 index b20d97c1..00000000 --- a/Frontend/ui-library/.prettierrc.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "printWidth": 110, - "trailingComma": "none", - "tabWidth": 4, - "semi": true, - "singleQuote": true -} diff --git a/Frontend/ui-library/package.json b/Frontend/ui-library/package.json index 2c1f79eb..778f5171 100644 --- a/Frontend/ui-library/package.json +++ b/Frontend/ui-library/package.json @@ -1,44 +1,44 @@ -{ - "name": "@epicgames-ps/lib-pixelstreamingfrontend-ui-ue5.5", - "version": "0.4.4", - "description": "Reference frontend UI library for Unreal Engine 5.5 Pixel Streaming - gives the stock look and feel.", - "main": "dist/commonjs/pixelstreamingfrontend-ui.js", - "module": "dist/esm/pixelstreamingfrontend-ui.esm.js", - "types": "dist/types/pixelstreamingfrontend-ui.d.ts", - "sideEffects": false, - "scripts": { - "compile": "tsc --project tsconfig.esm.json && tsc --project tsconfig.cjs.json", - "build": "npm run compile", - "build-all": "cd ../library && npm install && npm run build-all && cd ../ui-library && npm install && npm run build", - "lint": "eslint . --ext .js,.jsx,.ts,.tsx", - "spellcheck": "cspell \"{README.md,.github/*.md,src/**/*.ts}\"" - }, - "devDependencies": { - "@typescript-eslint/eslint-plugin": "^6.21.0", - "cspell": "^4.1.0", - "eslint": "^8.11.0", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-prettier": "^5.2.1", - "eslint-plugin-tsdoc": "^0.2.17", - "prettier": "3.3.3", - "typedoc": "^0.27.4", - "typescript": "^5.0.0" - }, - "dependencies": { - "jss": "^10.9.2", - "jss-plugin-camel-case": "^10.9.2", - "jss-plugin-global": "^10.9.2" - }, - "peerDependencies": { - "@epicgames-ps/lib-pixelstreamingfrontend-ue5.5": "^0.4.5" - }, - "repository": { - "type": "git", - "url": "https://github.com/EpicGamesExt/PixelStreamingInfrastructure.git" - }, - "author": "Epic Games", - "license": "MIT", - "publishConfig": { - "access": "public" - } -} +{ + "name": "@epicgames-ps/lib-pixelstreamingfrontend-ui-ue5.5", + "version": "0.4.4", + "description": "Reference frontend UI library for Unreal Engine 5.5 Pixel Streaming - gives the stock look and feel.", + "main": "dist/commonjs/pixelstreamingfrontend-ui.js", + "module": "dist/esm/pixelstreamingfrontend-ui.esm.js", + "types": "dist/types/pixelstreamingfrontend-ui.d.ts", + "sideEffects": false, + "scripts": { + "compile": "tsc --project tsconfig.esm.json && tsc --project tsconfig.cjs.json", + "build": "npm run compile", + "build-all": "cd ../library && npm install && npm run build-all && cd ../ui-library && npm install && npm run build", + "lint": "eslint . --ext .js,.jsx,.ts,.tsx", + "spellcheck": "cspell \"{README.md,.github/*.md,src/**/*.ts}\"" + }, + "devDependencies": { + "@typescript-eslint/eslint-plugin": "^6.21.0", + "cspell": "^4.1.0", + "eslint": "^8.11.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-prettier": "^5.2.1", + "eslint-plugin-tsdoc": "^0.2.17", + "prettier": "3.3.3", + "typedoc": "^0.27.4", + "typescript": "^5.0.0" + }, + "dependencies": { + "jss": "^10.9.2", + "jss-plugin-camel-case": "^10.9.2", + "jss-plugin-global": "^10.9.2" + }, + "peerDependencies": { + "@epicgames-ps/lib-pixelstreamingfrontend-ue5.5": "^0.4.5" + }, + "repository": { + "type": "git", + "url": "https://github.com/EpicGamesExt/PixelStreamingInfrastructure.git" + }, + "author": "Epic Games", + "license": "MIT", + "publishConfig": { + "access": "public" + } +} diff --git a/Signalling/.eslintrc.js b/Signalling/.eslintrc.js index de2e88de..5528f1e1 100644 --- a/Signalling/.eslintrc.js +++ b/Signalling/.eslintrc.js @@ -3,7 +3,10 @@ module.exports = { root: true, parser: '@typescript-eslint/parser', - parserOptions: { project: './tsconfig.cjs.json' }, + parserOptions: { + project: './tsconfig.cjs.json', + tsconfigRootDir: __dirname, + }, plugins: [ '@typescript-eslint', 'eslint-plugin-tsdoc' diff --git a/Signalling/.lintstagedrc.mjs b/Signalling/.lintstagedrc.mjs new file mode 100644 index 00000000..a8a481e5 --- /dev/null +++ b/Signalling/.lintstagedrc.mjs @@ -0,0 +1,7 @@ +import baseConfig from '../.lintstagedrc.mjs' + +export default { + ...baseConfig, + '*.ts': 'eslint --fix', +} + diff --git a/Signalling/.prettierrc.json b/Signalling/.prettierrc.json deleted file mode 100644 index b20d97c1..00000000 --- a/Signalling/.prettierrc.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "printWidth": 110, - "trailingComma": "none", - "tabWidth": 4, - "semi": true, - "singleQuote": true -} diff --git a/Signalling/package.json b/Signalling/package.json index 5a7413b8..2f3fcc40 100644 --- a/Signalling/package.json +++ b/Signalling/package.json @@ -1,57 +1,57 @@ -{ - "name": "@epicgames-ps/lib-pixelstreamingsignalling-ue5.5", - "version": "2.1.5", - "description": "Basic signalling library for developers wishing to build applications that signal a Pixel Streaming application.", - "main": "build/commonjs/pixelstreamingsignalling.js", - "module": "build/esm/pixelstreamingsignalling.js", - "types": "build/types/pixelstreamingsignalling.d.ts", - "scripts": { - "build": "tsc --project tsconfig.esm.json && tsc --project tsconfig.cjs.json", - "build-dev": "npm run build", - "build-all": "rimraf ./build && cd ../Common && npm run build-dev && cd ../Signalling && npm run build-dev", - "build-docs": "typedoc --tsconfig tsconfig.base.json", - "lint": "eslint . --ext .js,.jsx,.ts,.tsx", - "test": "echo \"Error: no test specified\" && exit 1" - }, - "author": "Epic Games", - "license": "MIT", - "devDependencies": { - "@types/express": "^4.17.21", - "@types/node": "^20.11.13", - "@types/ws": "^8.5.10", - "@typescript-eslint/eslint-plugin": "^6.21.0", - "eslint": "^8.56.0", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-prettier": "^5.2.1", - "eslint-plugin-tsdoc": "^0.2.17", - "nodemon": "^3.0.3", - "openapi-typescript": "^6.7.4", - "prettier": "3.3.3", - "ts-node": "^10.9.2", - "typedoc": "^0.25.8", - "typedoc-plugin-markdown": "^3.17.1", - "typescript": "^5.0.0" - }, - "dependencies": { - "@epicgames-ps/lib-pixelstreamingcommon-ue5.5": "^0.1.4", - "commander": "^12.0.0", - "express": "^4.21.2", - "express-openapi": "^12.1.3", - "express-rate-limit": "^7.1.5", - "helmet": "^7.1.0", - "hsts": "^2.2.0", - "jsonc": "^2.0.0", - "winston": "^3.11.0", - "winston-daily-rotate-file": "^4.7.1", - "ws": "^8.16.0" - }, - "overrides": { - "express-openapi": { - "fs-routes": "npm:epic-fs-routes@1.0.0" - } - }, - "repository": { - "type": "git", - "url": "https://github.com/EpicGames/PixelStreamingInfrastructure.git" - } -} +{ + "name": "@epicgames-ps/lib-pixelstreamingsignalling-ue5.5", + "version": "2.1.5", + "description": "Basic signalling library for developers wishing to build applications that signal a Pixel Streaming application.", + "main": "build/commonjs/pixelstreamingsignalling.js", + "module": "build/esm/pixelstreamingsignalling.js", + "types": "build/types/pixelstreamingsignalling.d.ts", + "scripts": { + "build": "tsc --project tsconfig.esm.json && tsc --project tsconfig.cjs.json", + "build-dev": "npm run build", + "build-all": "rimraf ./build && cd ../Common && npm run build-dev && cd ../Signalling && npm run build-dev", + "build-docs": "typedoc --tsconfig tsconfig.base.json", + "lint": "eslint . --ext .js,.jsx,.ts,.tsx", + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "Epic Games", + "license": "MIT", + "devDependencies": { + "@types/express": "^4.17.21", + "@types/node": "^20.11.13", + "@types/ws": "^8.5.10", + "@typescript-eslint/eslint-plugin": "^6.21.0", + "eslint": "^8.56.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-prettier": "^5.2.1", + "eslint-plugin-tsdoc": "^0.2.17", + "nodemon": "^3.0.3", + "openapi-typescript": "^6.7.4", + "prettier": "3.3.3", + "ts-node": "^10.9.2", + "typedoc": "^0.25.8", + "typedoc-plugin-markdown": "^3.17.1", + "typescript": "^5.0.0" + }, + "dependencies": { + "@epicgames-ps/lib-pixelstreamingcommon-ue5.5": "^0.1.4", + "commander": "^12.0.0", + "express": "^4.21.2", + "express-openapi": "^12.1.3", + "express-rate-limit": "^7.1.5", + "helmet": "^7.1.0", + "hsts": "^2.2.0", + "jsonc": "^2.0.0", + "winston": "^3.11.0", + "winston-daily-rotate-file": "^4.7.1", + "ws": "^8.16.0" + }, + "overrides": { + "express-openapi": { + "fs-routes": "npm:epic-fs-routes@1.0.0" + } + }, + "repository": { + "type": "git", + "url": "https://github.com/EpicGames/PixelStreamingInfrastructure.git" + } +} diff --git a/SignallingWebServer/.eslintrc.js b/SignallingWebServer/.eslintrc.js index dd91c7e2..35cc8ac2 100644 --- a/SignallingWebServer/.eslintrc.js +++ b/SignallingWebServer/.eslintrc.js @@ -3,7 +3,10 @@ module.exports = { root: true, parser: '@typescript-eslint/parser', - parserOptions: { project: './tsconfig.json' }, + parserOptions: { + project: './tsconfig.json', + tsconfigRootDir: __dirname, + }, plugins: [ '@typescript-eslint', 'eslint-plugin-tsdoc' diff --git a/SignallingWebServer/.lintstagedrc.mjs b/SignallingWebServer/.lintstagedrc.mjs new file mode 100644 index 00000000..a8a481e5 --- /dev/null +++ b/SignallingWebServer/.lintstagedrc.mjs @@ -0,0 +1,7 @@ +import baseConfig from '../.lintstagedrc.mjs' + +export default { + ...baseConfig, + '*.ts': 'eslint --fix', +} + diff --git a/SignallingWebServer/.prettierrc.json b/SignallingWebServer/.prettierrc.json deleted file mode 100644 index b20d97c1..00000000 --- a/SignallingWebServer/.prettierrc.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "printWidth": 110, - "trailingComma": "none", - "tabWidth": 4, - "semi": true, - "singleQuote": true -} diff --git a/SignallingWebServer/package.json b/SignallingWebServer/package.json index 49f29c3a..849dc329 100644 --- a/SignallingWebServer/package.json +++ b/SignallingWebServer/package.json @@ -1,53 +1,53 @@ { - "name": "@epicgames-ps/wilbur", - "version": "2.1.3", - "description": "A basic signalling server application for Unreal Engine's Pixel Streaming applications.", - "main": "index.js", - "scripts": { - "build": "tsc", - "build-dev": "npm run build", - "build-all": "rimraf ./build && cd ../Signalling && npm run build-all && cd ../SignallingWebServer && npm run build-dev", - "start": "node ./build/index.js --serve --console_messages verbose --log_config --https_redirect", - "lint": "eslint ./src --ext .js,.jsx,.ts,.tsx", - "test": "echo \"Error: no test specified\" && exit 1" - }, - "author": "Epic Games", - "license": "MIT", - "devDependencies": { - "@types/express": "^4.17.21", - "@types/node": "^20.11.13", - "@types/ws": "^8.5.10", - "@typescript-eslint/eslint-plugin": "^6.21.0", - "eslint": "^8.56.0", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-prettier": "^5.2.1", - "eslint-plugin-tsdoc": "^0.2.17", - "nodemon": "^3.0.3", - "openapi-typescript": "^6.7.4", - "prettier": "3.3.3", - "ts-node": "^10.9.2", - "typedoc": "^0.25.8", - "typedoc-plugin-markdown": "^3.17.1", - "typescript": "^5.3.3" - }, - "dependencies": { - "@epicgames-ps/lib-pixelstreamingsignalling-ue5.5": "^2.1.5", - "commander": "^12.0.0", - "express": "^4.21.2", - "express-openapi": "^12.1.3", - "express-rate-limit": "^7.1.5", - "jsonc": "^2.0.0", - "winston": "^3.11.0", - "winston-daily-rotate-file": "^4.7.1", - "ws": "^8.17.1" - }, - "overrides": { - "express-openapi": { - "fs-routes": "npm:epic-fs-routes@1.0.0" + "name": "@epicgames-ps/wilbur", + "version": "2.1.3", + "description": "A basic signalling server application for Unreal Engine's Pixel Streaming applications.", + "main": "index.js", + "scripts": { + "build": "tsc", + "build-dev": "npm run build", + "build-all": "rimraf ./build && cd ../Signalling && npm run build-all && cd ../SignallingWebServer && npm run build-dev", + "start": "node ./build/index.js --serve --console_messages verbose --log_config --https_redirect", + "lint": "eslint ./src --ext .js,.jsx,.ts,.tsx", + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "Epic Games", + "license": "MIT", + "devDependencies": { + "@types/express": "^4.17.21", + "@types/node": "^20.11.13", + "@types/ws": "^8.5.10", + "@typescript-eslint/eslint-plugin": "^6.21.0", + "eslint": "^8.56.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-prettier": "^5.2.1", + "eslint-plugin-tsdoc": "^0.2.17", + "nodemon": "^3.0.3", + "openapi-typescript": "^6.7.4", + "prettier": "3.3.3", + "ts-node": "^10.9.2", + "typedoc": "^0.25.8", + "typedoc-plugin-markdown": "^3.17.1", + "typescript": "^5.3.3" + }, + "dependencies": { + "@epicgames-ps/lib-pixelstreamingsignalling-ue5.5": "^2.1.5", + "commander": "^12.0.0", + "express": "^4.21.2", + "express-openapi": "^12.1.3", + "express-rate-limit": "^7.1.5", + "jsonc": "^2.0.0", + "winston": "^3.11.0", + "winston-daily-rotate-file": "^4.7.1", + "ws": "^8.17.1" + }, + "overrides": { + "express-openapi": { + "fs-routes": "npm:epic-fs-routes@1.0.0" + } + }, + "repository": { + "type": "git", + "url": "https://github.com/EpicGames/PixelStreamingInfrastructure.git" } - }, - "repository": { - "type": "git", - "url": "https://github.com/EpicGames/PixelStreamingInfrastructure.git" - } } diff --git a/package-lock.json b/package-lock.json index 25de7245..5e371ad7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,6 +21,7 @@ "SS_Test" ], "devDependencies": { + "lint-staged": "^15.3.0", "pre-commit": "^1.2.2" } }, @@ -11179,6 +11180,87 @@ "dev": true, "license": "MIT" }, + "node_modules/cli-cursor": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", + "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", + "dev": true, + "dependencies": { + "restore-cursor": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", + "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", + "dev": true, + "dependencies": { + "slice-ansi": "^5.0.0", + "string-width": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/cli-truncate/node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "dev": true + }, + "node_modules/cli-truncate/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, "node_modules/clone-deep": { "version": "4.0.1", "dev": true, @@ -12298,8 +12380,9 @@ "license": "MIT" }, "node_modules/debug": { - "version": "4.3.7", - "license": "MIT", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", "dependencies": { "ms": "^2.1.3" }, @@ -12491,6 +12574,18 @@ "node": ">=4" } }, + "node_modules/environment": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", + "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/error-ex": { "version": "1.3.2", "license": "MIT", @@ -12775,6 +12870,12 @@ "node": ">= 0.6" } }, + "node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "dev": true + }, "node_modules/events": { "version": "3.3.0", "license": "MIT", @@ -13150,6 +13251,18 @@ "node": "6.* || 8.* || >= 10.*" } }, + "node_modules/get-east-asian-width": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.3.0.tgz", + "integrity": "sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/get-intrinsic": { "version": "1.2.4", "license": "MIT", @@ -14070,6 +14183,18 @@ "node": ">= 0.8.0" } }, + "node_modules/lilconfig": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, "node_modules/lines-and-columns": { "version": "1.2.4", "dev": true, @@ -14083,6 +14208,284 @@ "uc.micro": "^2.0.0" } }, + "node_modules/lint-staged": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.3.0.tgz", + "integrity": "sha512-vHFahytLoF2enJklgtOtCtIjZrKD/LoxlaUusd5nh7dWv/dkKQJY74ndFSzxCdv7g0ueGg1ORgTSt4Y9LPZn9A==", + "dev": true, + "dependencies": { + "chalk": "~5.4.1", + "commander": "~12.1.0", + "debug": "~4.4.0", + "execa": "~8.0.1", + "lilconfig": "~3.1.3", + "listr2": "~8.2.5", + "micromatch": "~4.0.8", + "pidtree": "~0.6.0", + "string-argv": "~0.3.2", + "yaml": "~2.6.1" + }, + "bin": { + "lint-staged": "bin/lint-staged.js" + }, + "engines": { + "node": ">=18.12.0" + }, + "funding": { + "url": "https://opencollective.com/lint-staged" + } + }, + "node_modules/lint-staged/node_modules/chalk": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", + "dev": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/lint-staged/node_modules/commander": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", + "dev": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/lint-staged/node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/lint-staged/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/lint-staged/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "dev": true, + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/lint-staged/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/listr2": { + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.2.5.tgz", + "integrity": "sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ==", + "dev": true, + "dependencies": { + "cli-truncate": "^4.0.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^6.1.0", + "rfdc": "^1.4.1", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/listr2/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/listr2/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/listr2/node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "dev": true + }, + "node_modules/listr2/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/listr2/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/listr2/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/loader-runner": { "version": "4.3.0", "dev": true, @@ -14119,6 +14522,150 @@ "version": "4.6.2", "license": "MIT" }, + "node_modules/log-update": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", + "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", + "dev": true, + "dependencies": { + "ansi-escapes": "^7.0.0", + "cli-cursor": "^5.0.0", + "slice-ansi": "^7.1.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/ansi-escapes": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz", + "integrity": "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==", + "dev": true, + "dependencies": { + "environment": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/log-update/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-update/node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "dev": true + }, + "node_modules/log-update/node_modules/is-fullwidth-code-point": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", + "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", + "dev": true, + "dependencies": { + "get-east-asian-width": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", + "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/lru-cache": { "version": "5.1.1", "dev": true, @@ -14280,6 +14827,18 @@ "node": ">=6" } }, + "node_modules/mimic-function": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", + "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/minimatch": { "version": "9.0.3", "license": "ISC", @@ -14606,6 +15165,18 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "dev": true, + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, "node_modules/pirates": { "version": "4.0.6", "dev": true, @@ -15116,6 +15687,49 @@ "node": ">=10" } }, + "node_modules/restore-cursor": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", + "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", + "dev": true, + "dependencies": { + "onetime": "^7.0.0", + "signal-exit": "^4.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/restore-cursor/node_modules/onetime": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", + "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", + "dev": true, + "dependencies": { + "mimic-function": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/restore-cursor/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/reusify": { "version": "1.0.4", "dev": true, @@ -15125,6 +15739,12 @@ "node": ">=0.10.0" } }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "dev": true + }, "node_modules/rimraf": { "version": "3.0.2", "dev": true, @@ -15368,6 +15988,46 @@ "node": ">=8" } }, + "node_modules/slice-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/source-map": { "version": "0.6.1", "dev": true, @@ -15445,6 +16105,15 @@ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, + "node_modules/string-argv": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", + "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", + "dev": true, + "engines": { + "node": ">=0.6.19" + } + }, "node_modules/string-length": { "version": "4.0.2", "dev": true, diff --git a/package.json b/package.json index 129b65e7..f97b3419 100644 --- a/package.json +++ b/package.json @@ -18,12 +18,13 @@ "private": true, "scripts": { "build": "npm run build --ws", - "pre-commit-lint": "bash ./Extras/Scripts/pre-commit-checks.sh" + "pre-commit-lint": "lint-staged" }, "pre-commit": [ "pre-commit-lint" ], "devDependencies": { + "lint-staged": "^15.3.0", "pre-commit": "^1.2.2" } }