410 строки
16 KiB
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"
|
|
}
|
|
}
|
|
}
|