UNPKG

synopkg

Version:

Consistent dependency versions in large JavaScript Monorepos

410 lines (409 loc) 16.6 kB
{ "name": "client-release-group-root", "version": "2.5.0", "private": true, "homepage": "https://fluidframework.com", "repository": { "type": "git", "url": "https://github.com/microsoft/FluidFramework.git" }, "license": "MIT", "author": "Microsoft and contributors", "scripts": { "build": "fluid-build --task build", "build:api": "fluid-build --task build:api", "build:compile": "fluid-build --task compile", "build:docs": "fluid-build --task build:docs", "build:eslint": "fluid-build --task eslint", "build:fast": "fluid-build --task build --worker", "build:full": "fluid-build --task full", "build:full:compile": "fluid-build --task compile --task webpack", "build:gendocs": "concurrently npm:build:gendocs:client npm:build:gendocs:server && cd docs && npm run build", "build:gendocs:client": "fluid-build --task build:gendocs:client", "build:gendocs:client:azure": "copyfiles \"azure/**/*.api.json\" ./_api-extractor-temp/doc-models/ -e \"**/node_modules/**\" -f -V", "build:gendocs:client:examples": "copyfiles \"examples/**/*.api.json\" ./_api-extractor-temp/doc-models/ -e \"**/node_modules/**\" -f -V", "build:gendocs:client:experimental": "copyfiles \"experimental/**/*.api.json\" ./_api-extractor-temp/doc-models/ -e \"**/node_modules/**\" -f -V", "build:gendocs:client:packages": "copyfiles \"packages/**/*.api.json\" ./_api-extractor-temp/doc-models/ -e \"**/node_modules/**\" -f -V", "build:gendocs:server": "concurrently \"npm:build:gendocs:server:*\"", "build:gendocs:server:routerlicious": "copyfiles \"server/routerlicious/**/*.api.json\" ./_api-extractor-temp/doc-models/ -e \"**/node_modules/**\" -f -V", "build:readme": "markdown-magic --files \"**/*.md\" !docs", "bundle-analysis:collect": "npm run webpack:profile && flub generate bundleStats", "bundle-analysis:run": "flub run bundleStats --dangerfile build-tools/packages/build-cli/lib/library/dangerfile.cjs", "changeset": "flub changeset add --releaseGroup client", "check:are-the-types-wrong": "fluid-build --task check:are-the-types-wrong", "check:format:repo": "biome check .", "check:versions": "flub check buildVersion -g client --path .", "check:versions:fix": "flub check buildVersion -g client --path . --fix", "checks": "fluid-build --task checks", "checks:fix": "fluid-build --task checks:fix", "ci:build": "fluid-build --task ci:build", "ci:build:docs": "fluid-build --task ci:build:docs", "ci:test:jest": "npm run test:jest:report", "ci:test:jest:coverage": "c8 --no-clean npm run test:jest:report", "ci:test:mocha": "npm run test:mocha", "ci:test:mocha:coverage": "c8 --no-clean npm run test:mocha -- --timeout 4s", "ci:test:realsvc:local": "pnpm run -r --no-sort --stream --no-bail test:realsvc:local:report", "ci:test:realsvc:local:coverage": "c8 --no-clean pnpm recursive --no-sort --stream --no-bail run test:realsvc:local:report", "ci:test:realsvc:tinylicious": "pnpm run -r --no-sort --stream --no-bail test:realsvc:tinylicious:report", "ci:test:realsvc:tinylicious:coverage": "c8 --no-clean pnpm run -r --no-sort --stream --no-bail test:realsvc:tinylicious:report ", "ci:test:stress:tinylicious": "pnpm run -r --no-sort --stream --no-bail test:stress:tinylicious:report ", "ci:test:stress:tinylicious:coverage": "c8 --no-clean pnpm run -r --no-sort --stream --no-bail test:stress:tinylicious:report ", "clean": "fluid-build --task clean", "clean:docs": "rimraf --glob \"**/_api-extractor-temp*\"", "clean:nyc": "rimraf --glob \"nyc/**\"", "clean:r11s": "fluid-build -g server --task clean", "clean:root": "rimraf --glob \"*.done.build.log\"", "eslint": "fluid-build --task eslint", "eslint:fix": "fluid-build --task eslint:fix", "format": "fluid-build --task format", "format:biome": "fluid-build --task format:biome", "format:changed": "npm run format:changed:main", "format:changed:main": "biome check --write --changed --since=main", "format:changed:next": "biome check --write --changed --since=next", "format:prettier": "fluid-build --task format:prettier", "format:repo": "biome check . --write", "generate:packageList": "fluid-build --task generate:packageList", "generate:packageList:internal-build": "flub list client --no-private --feed internal-build --outFile feeds/internal-build.txt", "generate:packageList:internal-dev": "flub list client --no-private --feed internal-dev --outFile feeds/internal-dev.txt", "generate:packageList:internal-test": "flub list client --no-private --feed internal-test --outFile feeds/internal-test.txt", "generate:packageList:public": "flub list client --no-private --feed public --outFile feeds/public.txt", "preinstall": "node scripts/only-pnpm.cjs", "layer-check": "flub check layers --info layerInfo.json", "lint": "fluid-build --task lint", "lint:fix": "fluid-build --task lint:fix", "policy-check": "flub check policy", "policy-check-help": "echo Detect (and error on) policy-check violations, like package.json sorting, copyright headers etc. Excludes assert-short-code. Run the check or \"pnpm flub check policy --listHandlers\" for a full list.", "policy-check:asserts": "flub generate assertTags --all && npm run format", "policy-check:fix": "flub check policy --excludeHandler assert-short-codes --fix", "policy-check:fix-help": "echo Fix policy-check violations excludes assert-short-code/", "prettier": "fluid-build --task prettier", "prettier:fix": "fluid-build --task prettier:fix", "prettier:repo": "prettier --check . --cache --ignore-path ./.prettierignore", "prettier:repo:fix": "prettier --write . --cache --ignore-path ./.prettierignore", "prettier:root": "prettier --check \"./*.*\" --cache --ignore-path .prettierignore --ignore-unknown", "prettier:root:fix": "prettier --write \"./*.*\" --cache --ignore-path .prettierignore --ignore-unknown", "restart": "cd server/routerlicious && npm run restart", "start:docker": "docker-compose -f server/docker-compose.yml up", "stop:docker": "docker-compose -f server/docker-compose.yml down", "stop:docker:full": "docker-compose -f server/docker-compose.yml down && docker volume prune --force", "synopkg:deps": "synopkg lint-semver-ranges", "synopkg:deps:fix": "synopkg set-semver-ranges", "synopkg:versions": "synopkg list-mismatches", "synopkg:versions:fix": "synopkg fix-mismatches", "test": "npm run test:mocha && npm run test:jest && npm run test:realsvc && npm run test:stress", "test:bail": "npm run test:mocha:bail && npm run test:jest:bail", "test:benchmark:copyresults": "copyfiles --exclude \"**/node_modules/**\" \"**/benchmarkOutput/**\" benchmarkOutput", "test:benchmark:report": "pnpm run -r --no-sort --stream --no-bail test:benchmark:report --reporterOptions reportDir=./benchmarkOutput", "test:copyresults": "copyfiles --exclude \"**/node_modules/**\" \"**/nyc/**\" nyc", "test:coverage": "c8 npm test", "test:fromroot": "mocha \"packages/**/dist/test/**/*.spec.*js\" --exit", "test:jest": "assign-test-ports && pnpm puppeteer browsers install chrome-headless-shell && pnpm -r --no-sort --stream --no-bail test:jest --color", "test:jest:bail": "assign-test-ports && pnpm puppeteer browsers install chrome-headless-shell && pnpm -r --no-sort --stream test:jest", "test:jest:report": "assign-test-ports && pnpm puppeteer browsers install chrome-headless-shell && pnpm -r --no-sort --stream --no-bail --workspace-concurrency=4 test:jest --ci", "test:memory-profiling:copyresults": "copyfiles --exclude \"**/node_modules/**\" \"**/memoryProfilingOutput/**\" memoryProfilingOutput", "test:memory-profiling:report": "pnpm run -r --no-sort --stream --no-bail test:memory-profiling:report -- --reporterOptions reportDir=./memoryProfilingOutput", "test:mocha": "pnpm run -r --no-sort --stream --no-bail test:mocha --color", "test:mocha:bail": "pnpm run -r --no-sort --stream test:mocha", "test:realsvc": "pnpm run -r --no-sort --stream --no-bail test:realsvc", "test:stress": "pnpm run -r --no-sort --stream --no-bail test:stress", "tsc": "fluid-build --task tsc", "tsc:fast": "fluid-build --task tsc --worker", "typetests:gen": "fluid-build --task typetests:gen", "typetests:prepare": "flub typetests -g client --reset --previous --normalize", "watch": "concurrently \"npm run watch:tsc\" \"npm run watch:esnext\" \"npm run watch:webpack\"", "watch:esnext": "pnpm run -r --parallel build:esnext --watch", "watch:tsc": "pnpm run -r --parallel tsc --watch", "watch:webpack": "pnpm run -r --parallel webpack --watch", "webpack": "fluid-build --task webpack", "webpack:profile": "fluid-build --task webpack:profile" }, "c8": { "all": true, "cache-dir": "nyc/.cache", "exclude": [ "**/*.d.*ts", "**/src/test/**/*.*ts", "**/dist/test/**/*.*js", "**/lib/test/**/*.*js", "experimental/examples/**", "experimental/PropertyDDS/examples/**", "**/*.bundle.js", "packages/tools/devtools/devtools-browser-extension/dist/e2e-tests/**", "packages/tools/devtools/devtools-browser-extension/dist/bundle/**" ], "exclude-after-remap": false, "extension": [ ".ts", ".tsx", ".js", ".jsx" ], "include": [ "packages/**/src/**/*.*ts", "packages/**/dist/**/*.*js", "packages/**/lib/**/*.*js", "experimental/**/src/**/*.*ts", "experimental/**/dist/**/*.*js" ], "merge-async": true, "report-dir": "nyc/report", "reporter": [ "cobertura", "html", "text" ], "temp-directory": "nyc/.nyc_output" }, "devDependencies": { "@biomejs/biome": "~1.9.3", "@changesets/cli": "^2.27.8", "@fluid-private/changelog-generator-wrapper": "workspace:~", "@fluid-tools/build-cli": "^0.49.0", "@fluid-tools/markdown-magic": "workspace:~", "@fluidframework/build-common": "^2.0.3", "@fluidframework/build-tools": "^0.49.0", "@fluidframework/eslint-config-fluid": "^5.4.0", "@fluidframework/test-tools": "^1.0.195075", "@microsoft/api-documenter": "^7.21.6", "@microsoft/api-extractor": "7.47.8", "@octokit/core": "^4.0.5", "auto-changelog": "^2.4.0", "c8": "^8.0.1", "changesets-format-with-issue-links": "^0.3.0", "concurrently": "^8.2.1", "copyfiles": "^2.4.1", "danger": "^11.3.0", "eslint": "~8.55.0", "jest": "^29.6.2", "mocha": "^10.2.0", "prettier": "~3.0.3", "pretty-quick": "^4.0.0", "puppeteer": "^22.2.0", "rimraf": "^4.4.0", "run-script-os": "^1.1.6", "synopkg": "^9.8.4", "ts2esm": "^1.4.0", "typescript": "~5.4.5" }, "packageManager": "pnpm@8.15.8+sha512.d1a029e1a447ad90bc96cd58b0fad486d2993d531856396f7babf2d83eb1823bb83c5a3d0fc18f675b2d10321d49eb161fece36fe8134aa5823ecd215feed392", "engines": { "node": ">=18.17.1", "pnpm": "8" }, "fluidBuild": { "tasks": { "build": { "dependsOn": [ "^build", "build:docs", "build:gendocs:client", "checks" ], "script": false }, "build:api": { "dependsOn": [ "^build:docs", "build:gendocs:client" ], "script": false }, "build:docs": { "dependsOn": [ "^build:docs", "build:gendocs:client", "build:readme" ], "script": false }, "build:gendocs:client": { "dependsOn": [ "build:gendocs:client:azure", "build:gendocs:client:examples", "build:gendocs:client:experimental", "build:gendocs:client:packages" ], "script": false }, "build:gendocs:client:azure": { "after": [ "^build:docs", "^ci:build:docs" ] }, "build:gendocs:client:examples": { "after": [ "^build:docs", "^ci:build:docs" ] }, "build:gendocs:client:experimental": { "after": [ "^build:docs", "^ci:build:docs" ] }, "build:gendocs:client:packages": { "after": [ "^build:docs", "^ci:build:docs" ] }, "build:readme": { "dependsOn": [] }, "check:format": { "dependsOn": [ "check:format:repo" ], "script": false }, "checks": { "dependsOn": [ "check:format", "generate:packageList", "policy-check", "layer-check", "synopkg:deps", "synopkg:versions", "check:versions" ], "script": false }, "checks:fix": { "dependsOn": [ "format", "generate:packageList", "policy-check:fix", "synopkg:deps:fix", "synopkg:versions:fix", "check:versions:fix" ], "script": false }, "ci:build": { "dependsOn": [ "^ci:build", "ci:build:docs" ], "script": false }, "ci:build:docs": { "dependsOn": [ "^ci:build:docs", "build:gendocs:client", "build:readme" ], "script": false }, "clean": { "dependsOn": [ "^clean", "clean:root", "clean:docs", "clean:nyc" ], "script": false }, "clean:docs": { "before": [ "*" ] }, "clean:nyc": { "before": [ "*" ] }, "format": { "dependsOn": [ "format:repo" ], "script": false }, "generate:packageList": { "dependsOn": [ "generate:packageList:internal-build", "generate:packageList:internal-dev", "generate:packageList:internal-test", "generate:packageList:public" ], "script": false }, "lint": { "dependsOn": [ "checks" ], "script": false }, "lint:fix": { "dependsOn": [ "checks:fix" ], "script": false }, "prettier": { "dependsOn": [ "prettier:root", "^prettier" ], "script": false }, "prettier:fix": { "dependsOn": [ "prettier:root:fix", "^prettier:fix" ], "script": false } } }, "pnpm": { "comments": [ "nodegit is replaced with an empty package here because it's currently only used by good-fences for features we do not need, and has issues building when changing node versions. See https://github.com/smikula/good-fences/issues/105 for details.", "codemirror and marked overrides are because simplemde use * versions, and the fully up to date versions of its deps do not work. packageExtensions was tried to fix this, but did not work.", "sharp <0.32.6 has a vulnerability that Component Governance flags (https://github.com/advisories/GHSA-54xq-cgqr-rpm3). It's a transitive dependency through jssm-viz-cli, which hasn't updated to a version with the fix", "@fluentui/react-positioning's dependency on @floating-ui/dom causes a peer dependency violation, so overriding it forces a version that meets peer dependency requirements is installed.", "get-tsconfig has a bug below 4.7.3 which causes eslint to fail to resolve typescript configurations. See https://github.com/privatenumber/get-tsconfig/issues/67", "oclif includes some AWS-related features, but we don't use them, so we override those dependencies with empty packages. This helps reduce lockfile churn since the deps release very frequently.", "socket.io-client has an issue with 4.8.0 which breaks the build, so avoid it: https://github.com/socketio/socket.io/issues/5202" ], "overrides": { "@types/node@<18": "^18.19.0", "get-tsconfig": "^4.7.3", "node-fetch": "^2.6.9", "good-fences>nodegit": "npm:empty-npm-package@1.0.0", "qs": "^6.11.0", "simplemde>codemirror": "^5.65.11", "simplemde>marked": "^4.3.0", "sharp": "^0.33.2", "@fluentui/react-positioning>@floating-ui/dom": "~1.5.4", "oclif>@aws-sdk/client-cloudfront": "npm:empty-npm-package@1.0.0", "oclif>@aws-sdk/client-s3": "npm:empty-npm-package@1.0.0", "socket.io-client": "~4.7.5" }, "peerDependencyComments": [ "@types/node is ignored because it is usually not needed by packages, and if it is, then the package will hit a compilation failure.", "Peer dependencies on fluid-framework are never fulfilled since that's an in-repo dependency; we expect a customer using some packages to install it as a dependency.", "markdown-magic is provided by another dependency so is ignored here.", "oclif includes some AWS-related features, but we don't use them, so we ignore @aws-sdk peer dependencies.", "The react-split-pane package used by devtools-view has a peer dependency on React 16, but it doesn't seem to be maintained and it works fine with React 18. TODO: AB#18876" ], "peerDependencyRules": { "allowedVersions": { "react": "18.3.1", "react-dom": "18.3.1", "webpack": "^5.94.0" }, "ignoreMissing": [ "@types/node", "fluid-framework", "markdown-magic", "@aws-sdk/*" ] }, "patchedDependencies": { "@microsoft/api-extractor@7.47.8": "patches/@microsoft__api-extractor@7.47.8.patch" } } }