Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,9 @@ UPCOMING.md
# artifacts or bundleAnalysis folders. See scripts/pack-build-output.sh for more details.
build_output_archive

# Nx cache
.nx/

# Claude Code
# Local settings contain author-specific information and should not be shared.
**/.claude/**/*.local.*
Expand Down
9 changes: 9 additions & 0 deletions .mcp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"mcpServers": {
"nx-mcp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "nx-mcp@latest", "--no-minimal"]
}
}
}
7 changes: 7 additions & 0 deletions .nxignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Exclude sub-workspaces that have their own nx.json and pnpm-workspace.yaml.
# Without these entries, `nx run-many` at the root discovers packages from these
# directories even though they are not part of the root pnpm workspace.
build-tools
server/routerlicious
server/gitrest
server/historian
17 changes: 17 additions & 0 deletions azure/packages/azure-local-service/project.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"$schema": "../../../node_modules/nx/schemas/project-schema.json",
"targets": {
"check:format": {
"executor": "nx:noop"
},
"format": {
"executor": "nx:noop"
},
"lint": {
"executor": "nx:noop"
},
"lint:fix": {
"executor": "nx:noop"
}
}
}
35 changes: 35 additions & 0 deletions azure/packages/azure-service-utils/project.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{
"$schema": "../../../node_modules/nx/schemas/project-schema.json",
"targets": {
"api": {
"executor": "nx:noop"
},
"build": {
"executor": "nx:noop"
},
"build:api-reports": {
"executor": "nx:noop"
},
"build:commonjs": {
"executor": "nx:noop"
},
"build:compile": {
"executor": "nx:noop"
},
"check:format": {
"executor": "nx:noop"
},
"ci:build:api-reports": {
"executor": "nx:noop"
},
"format": {
"executor": "nx:noop"
},
"lint": {
"executor": "nx:noop"
},
"lint:fix": {
"executor": "nx:noop"
}
}
}
3 changes: 3 additions & 0 deletions build-tools/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,6 @@ artifacts
tsdoc-metadata.json

packages/**/package-lock.json

# Nx cache
.nx/
10 changes: 10 additions & 0 deletions build-tools/.nxignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Nx ignore file - exclude directories that should not be treated as projects
node_modules
dist
lib
nyc
coverage
.cache-loader
_api-extractor-temp
bundleAnalysis
artifacts
116 changes: 116 additions & 0 deletions build-tools/nx.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
{
"$schema": "./node_modules/nx/schemas/nx-schema.json",
"affected": {
"defaultBase": "main"
},
"namedInputs": {
"source": [
"{projectRoot}/src/**/*.ts",
"{projectRoot}/src/**/*.tsx",
"{projectRoot}/src/**/*.js",
"{projectRoot}/src/**/*.json"
],
"config": [
"{projectRoot}/package.json",
"{projectRoot}/tsconfig.json",
"{projectRoot}/tsconfig*.json",
"{projectRoot}/.eslintrc.*"
],
"production": [
"source",
"config",
"!{projectRoot}/src/test/**",
"!{projectRoot}/src/**/*.test.ts",
"!{projectRoot}/src/**/*.spec.ts"
]
},
"targetDefaults": {
"tsc": {
"dependsOn": ["^tsc"],
"inputs": ["production"],
"outputs": [
"{projectRoot}/dist",
"{projectRoot}/lib",
"{projectRoot}/*.tsbuildinfo"
],
"cache": true
},
"build:esnext": {
"dependsOn": ["^tsc", "^build:esnext"],
"inputs": ["production"],
"outputs": ["{projectRoot}/lib"],
"cache": true
},
"build:commonjs": {
"dependsOn": ["tsc", "build:test"],
"cache": false
},
"build:test": {
"dependsOn": ["tsc"],
"inputs": ["source", "config"],
"outputs": ["{projectRoot}/dist/test"],
"cache": true
},
"build:test:esm": {
"dependsOn": ["build:esnext"],
"inputs": ["source", "config"],
"outputs": ["{projectRoot}/lib/test"],
"cache": true
},
"compile": {
"dependsOn": ["build:compile"]
},
"build:compile": {
"dependsOn": ["tsc", "build:esnext", "build:test", "build:test:esm", "build:copy"]
},
"build:copy": {
"cache": true
},
"build": {
"dependsOn": ["compile", "lint", "build:docs", "build:manifest", "build:readme"]
},
"build:docs": {
"dependsOn": ["tsc", "build:esnext"],
"cache": true
},
"build:manifest": {
"dependsOn": ["compile"],
"cache": true
},
"build:readme": {
"dependsOn": ["compile"],
"cache": true
},
"lint": {
"dependsOn": ["eslint"]
},
"eslint": {
"dependsOn": ["compile"],
"inputs": ["source"],
"cache": true
},
"check:biome": {
"inputs": ["source"],
"cache": true
},
"check:format": {
"inputs": ["source"],
"cache": true
},
"test": {
"dependsOn": ["compile"],
"inputs": ["source", "config"],
"cache": true
},
"test:mocha": {
"dependsOn": ["compile"],
"inputs": ["source", "config"],
"cache": true
},
"clean": {
"cache": false
}
},
"cacheDirectory": ".nx/cache",
"parallel": 3
}
15 changes: 14 additions & 1 deletion build-tools/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,16 @@
"test:mocha:bail": "pnpm run -r --no-sort --stream test:mocha",
"tsc": "fluid-build --task tsc",
"tsc:fast": "fluid-build --root . --task tsc --worker",
"watch": "pnpm run -r --parallel tsc --watch"
"watch": "pnpm run -r --parallel tsc --watch",
"nx:build": "nx run-many --target=build",
"nx:compile": "nx run-many --target=compile",
"nx:lint": "nx run-many --target=lint",
"nx:tsc": "nx run-many --target=tsc",
"nx:test": "nx run-many --target=test",
"nx:affected:build": "nx affected --target=build",
"nx:affected:compile": "nx affected --target=compile",
"nx:affected:lint": "nx affected --target=lint",
"nx:graph": "nx graph"
},
"c8": {
"all": true,
Expand All @@ -81,6 +90,8 @@
"@fluidframework/build-tools": "~0.63.0",
"@fluidframework/eslint-config-fluid": "link:../common/build/eslint-config-fluid",
"@microsoft/api-extractor": "^7.55.1",
"@nx/js": "^22.5.4",
"@nx/workspace": "^22.5.4",
"c8": "^10.1.3",
"commitizen": "^4.3.1",
"concurrently": "^9.2.1",
Expand All @@ -92,6 +103,7 @@
"eslint": "~9.39.2",
"inquirer": "^9.3.7",
"jiti": "^2.6.1",
"nx": "^22.5.4",
"rimraf": "^6.1.3",
"run-script-os": "^1.1.6",
"syncpack": "^13.0.4",
Expand Down Expand Up @@ -198,6 +210,7 @@
"@biomejs/biome",
"core-js",
"es5-ext",
"nx",
"sharp",
"unrs-resolver"
]
Expand Down
20 changes: 11 additions & 9 deletions build-tools/packages/build-cli/docs/generate.md
Original file line number Diff line number Diff line change
Expand Up @@ -143,33 +143,35 @@ _See code: [src/commands/generate/bundleStats.ts](https://github.com/microsoft/F

## `flub generate changelog`

Generate a changelog for packages based on changesets. Note that this process deletes the changeset files!
Generate a changelog for packages based on changesets.

```
USAGE
$ flub generate changelog -g <value> [-v | --quiet] [--version <value>]
$ flub generate changelog -g client|server|azure|build-tools|gitrest|historian [-v | --quiet] [--version <value>]
[--install]

FLAGS
-g, --releaseGroup=<value> (required) The name of a release group.
--version=<value> The version for which to generate the changelog. If this is not provided, the version of
the package according to package.json will be used.
-g, --releaseGroup=<option> (required) Name of a release group.
<options: client|server|azure|build-tools|gitrest|historian>
--[no-]install Update lockfiles by running 'npm install' automatically.
--version=<value> The version for which to generate the changelog. If this is not provided, the version of
the package according to package.json will be used.

LOGGING FLAGS
-v, --verbose Enable verbose logging.
--quiet Disable all logging.

DESCRIPTION
Generate a changelog for packages based on changesets. Note that this process deletes the changeset files!

ALIASES
$ flub generate changelog
Generate a changelog for packages based on changesets.

EXAMPLES
Generate changelogs for the client release group.

$ flub generate changelog --releaseGroup client
```

_See code: [src/commands/generate/changelog.ts](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/build-cli/src/commands/generate/changelog.ts)_

## `flub generate changeset`

Generates a new changeset file. You will be prompted to select the packages affected by this change. You can also create an empty changeset to include with this change that can be updated later.
Expand Down
17 changes: 17 additions & 0 deletions build-tools/packages/build-cli/project.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"$schema": "../../node_modules/nx/schemas/project-schema.json",
"targets": {
"build": {
"executor": "nx:noop"
},
"build:compile": {
"executor": "nx:noop"
},
"compile": {
"executor": "nx:noop"
},
"lint": {
"executor": "nx:noop"
}
}
}
17 changes: 17 additions & 0 deletions build-tools/packages/build-infrastructure/project.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"$schema": "../../node_modules/nx/schemas/project-schema.json",
"targets": {
"build": {
"executor": "nx:noop"
},
"build:compile": {
"executor": "nx:noop"
},
"compile": {
"executor": "nx:noop"
},
"lint": {
"executor": "nx:noop"
}
}
}
20 changes: 20 additions & 0 deletions build-tools/packages/build-tools/project.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"$schema": "../../node_modules/nx/schemas/project-schema.json",
"targets": {
"build": {
"executor": "nx:noop"
},
"build:compile": {
"executor": "nx:noop"
},
"compile": {
"executor": "nx:noop"
},
"build:commonjs": {
"executor": "nx:noop"
},
"lint": {
"executor": "nx:noop"
}
}
}
17 changes: 17 additions & 0 deletions build-tools/packages/bundle-size-tools/project.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"$schema": "../../node_modules/nx/schemas/project-schema.json",
"targets": {
"build": {
"executor": "nx:noop"
},
"build:compile": {
"executor": "nx:noop"
},
"compile": {
"executor": "nx:noop"
},
"lint": {
"executor": "nx:noop"
}
}
}
Loading
Loading