FluidFramework/package.json

410 строки
16 KiB
JSON

{
"name": "client-release-group-root",
"version": "2.10.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",
"syncpack:deps": "syncpack lint-semver-ranges",
"syncpack:deps:fix": "syncpack set-semver-ranges",
"syncpack:versions": "syncpack list-mismatches",
"syncpack:versions:fix": "syncpack 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.50.0",
"@fluid-tools/markdown-magic": "workspace:~",
"@fluidframework/build-common": "^2.0.3",
"@fluidframework/build-tools": "^0.50.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": "^23.6.0",
"rimraf": "^4.4.0",
"run-script-os": "^1.1.6",
"syncpack": "^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",
"syncpack:deps",
"syncpack:versions",
"check:versions"
],
"script": false
},
"checks:fix": {
"dependsOn": [
"format",
"generate:packageList",
"policy-check:fix",
"syncpack:deps:fix",
"syncpack: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"
}
}
}