diff --git a/.agents/skills/dependabot-rollup/SKILL.md b/.agents/skills/dependabot-rollup/SKILL.md index d6108c01aefaf..a3537a50322f0 100644 --- a/.agents/skills/dependabot-rollup/SKILL.md +++ b/.agents/skills/dependabot-rollup/SKILL.md @@ -144,7 +144,7 @@ Never resolve dependency conflicts automatically. If no PRs merge successfully, Run validation from the temporary worktree through the repository's Nx workflow: ```bash -yarn --cwd "$ROLLUP_DIR" install --frozen-lockfile +yarn --cwd "$ROLLUP_DIR" install --immutable yarn --cwd "$ROLLUP_DIR" nx affected \ -t build test lint type-check \ --nxBail \ diff --git a/.agents/skills/visual-test/SKILL.md b/.agents/skills/visual-test/SKILL.md index 82faffc32bd69..bcf4fb7846986 100644 --- a/.agents/skills/visual-test/SKILL.md +++ b/.agents/skills/visual-test/SKILL.md @@ -27,7 +27,7 @@ Always boot the **per-component stories package** (`react--stories`) 1. **Find the component's stories package.** Each v9 component has a dedicated stories package named `react--stories`: ```bash - yarn --silent nx show project react--stories --json + yarn nx show project react--stories --json ``` If nx returns nothing with output of `Could not find project react--stories`, the component doesn't have its own stories package — check for a preview package (`react--preview-stories`) or ask before proceeding. diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 4036f2094b3c5..ca6ae6b05d575 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -42,7 +42,7 @@ /typings @microsoft/fluentui-react-build #### Root Build files -/.yarnrc @microsoft/fluentui-react-build +/.yarnrc.yml @microsoft/fluentui-react-build /.gitattributes @microsoft/fluentui-react-build /.gitignore @microsoft/fluentui-react-build /.npmrc @microsoft/fluentui-react-build diff --git a/.github/actions/run-publish-vr-screenshot/action.yml b/.github/actions/run-publish-vr-screenshot/action.yml index 67287d6ee5e21..8e006a528080a 100644 --- a/.github/actions/run-publish-vr-screenshot/action.yml +++ b/.github/actions/run-publish-vr-screenshot/action.yml @@ -50,7 +50,7 @@ runs: isPR=${{ github.event_name == 'pull_request' }} echo "isPR=$isPR" >> $GITHUB_ENV if [[ $isPR == true ]]; then - packageAffected=$(yarn --silent check:affected --project ${{ inputs.vrTestPackageName }}) + packageAffected=$(yarn check:affected --project ${{ inputs.vrTestPackageName }}) if [[ $packageAffected == false ]]; then echo "In PR pipeline but NOT affecting test package. Skipping test run" echo "vrTestSkip=yes" >> $GITHUB_ENV diff --git a/.github/instructions/copilot.instructions.md b/.github/instructions/copilot.instructions.md index 8d55b58c90fbc..0cea69b329340 100644 --- a/.github/instructions/copilot.instructions.md +++ b/.github/instructions/copilot.instructions.md @@ -10,7 +10,7 @@ You are working in the Microsoft Fluent UI monorepo, a comprehensive design syst This is a large Nx monorepo with the following key characteristics: -- **Package Manager**: Yarn v1 with strict dependency management +- **Package Manager**: Yarn 4.x (exact version pinned via `packageManager` in `package.json`; `.yarnrc.yml` configures the repository binary path) - **Build System**: Nx workspace with custom plugins (`tools/workspace-plugin/`) - **Node.js Versions**: ^22.0.0 - **Languages**: TypeScript (strict mode), React, Web Components diff --git a/.github/instructions/dependabot-security-fixes.instructions.md b/.github/instructions/dependabot-security-fixes.instructions.md index f69deb372ac8d..ccf52390b3634 100644 --- a/.github/instructions/dependabot-security-fixes.instructions.md +++ b/.github/instructions/dependabot-security-fixes.instructions.md @@ -35,7 +35,7 @@ For complex monorepo scenarios where automatic updates fail, security vulnerabil ```json { "resolutions": { - "**/vulnerable-package": "^secure-version" + "vulnerable-package": "^secure-version" } } ``` @@ -44,7 +44,7 @@ For complex monorepo scenarios where automatic updates fail, security vulnerabil The following resolutions are maintained for security purposes: -- `**/tar-fs`: `^2.1.3` - Fixes directory traversal vulnerability +- `tar-fs`: `^2.1.3` - Fixes directory traversal vulnerability ## Troubleshooting @@ -57,11 +57,11 @@ The following resolutions are maintained for security purposes: ### Manual Security Fix Process -1. Run `yarn audit --level ${SEVERITY}` to identify vulnerabilities (where SEVERITY can be: low, moderate, high, critical) +1. Run `yarn npm audit --severity ${SEVERITY}` to identify vulnerabilities (where SEVERITY can be: low, moderate, high, critical) 2. Check if Yarn resolutions are blocking updates 3. Update resolutions to secure versions 4. Run `yarn install` to update yarn.lock -5. Verify fixes with `yarn audit --level ${SEVERITY}` +5. Verify fixes with `yarn npm audit --severity ${SEVERITY}` 6. Test that builds still work ## Testing Security Fixes @@ -70,7 +70,7 @@ After making changes: ```bash # Check for remaining vulnerabilities at specified severity level -yarn audit --level ${SEVERITY} +yarn npm audit --severity ${SEVERITY} # Verify builds still work yarn nx run workspace-plugin:build diff --git a/.github/workflows/docsite-publish-ghpages.yml b/.github/workflows/docsite-publish-ghpages.yml index 055fe259dc348..1577271a6f504 100644 --- a/.github/workflows/docsite-publish-ghpages.yml +++ b/.github/workflows/docsite-publish-ghpages.yml @@ -37,7 +37,7 @@ jobs: - name: Affected Deployable Storybooks id: affected_storybooks_count run: | - affected_count=$(yarn --silent nx show projects -t build-storybook:docsite --affected --verbose false | wc -l | tr -d ' ') + affected_count=$(yarn nx show projects -t build-storybook:docsite --affected --verbose false | wc -l | tr -d ' ') echo "value=$affected_count" >> $GITHUB_OUTPUT - name: Build affected storybooks diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index bc4ca9d83723b..f82fd687e1402 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -103,7 +103,7 @@ jobs: cache: 'yarn' node-version: '22' - - run: yarn install --frozen-lockfile + - run: yarn install --immutable - name: React Compiler analysis (affected) run: | diff --git a/apps/chart-docsite/package.json b/apps/chart-docsite/package.json index 7090564d64fd0..287042bd31e23 100644 --- a/apps/chart-docsite/package.json +++ b/apps/chart-docsite/package.json @@ -4,20 +4,20 @@ "private": true, "description": "Fluent UI React Charts Preview documentation", "scripts": { - "build-storybook": "storybook build -o ./dist/storybook --docs", + "build-storybook": "yarn run -T storybook build -o ./dist/storybook --docs", "build-storybook:docsite": "yarn run -T cross-env DEPLOY_PATH=/charts/ storybook build -o ./dist/storybook --docs", "postbuild-storybook": "yarn rewrite-title && yarn generate-llms-docs", "postbuild-storybook:docsite": "yarn postbuild-storybook", "rewrite-title": "node -r ../../scripts/ts-node/src/register ../../scripts/storybook/src/scripts/rewrite-title.ts --title 'Fluent UI Charts v9' --distPath ./dist/storybook", - "generate-llms-docs": "storybook-llms-extractor --distPath ./dist/storybook --summaryBaseUrl \"https://storybooks.fluentui.dev/charts/\" --summaryTitle \"Fluent UI Charts v9\" --summaryDescription \"Fluent UI React charts is a set of modern, accessible, interactive, lightweight and highly customizable visualization library representing the Microsoft design system. These charts are used across 100s of projects inside Microsoft across Microsoft 365, Copilot and Azure.\"", + "generate-llms-docs": "yarn run -T storybook-llms-extractor --distPath ./dist/storybook --summaryBaseUrl \"https://storybooks.fluentui.dev/charts/\" --summaryTitle \"Fluent UI Charts v9\" --summaryDescription \"Fluent UI React charts is a set of modern, accessible, interactive, lightweight and highly customizable visualization library representing the Microsoft design system. These charts are used across 100s of projects inside Microsoft across Microsoft 365, Copilot and Azure.\"", "clean": "yarn run -T just-scripts clean", "code-style": "yarn run -T just-scripts code-style", "just": "yarn run -T just-scripts", "type-check": "yarn run -T just-scripts type-check", "start": "yarn storybook:docs", - "storybook": "storybook dev --port 3000", + "storybook": "yarn run -T storybook dev --port 3000", "storybook:docs": "yarn storybook --docs", - "test": "jest --passWithNoTests" + "test": "yarn run -T jest --passWithNoTests" }, "dependencies": { "@fluentui/react-charts": "*", diff --git a/apps/pr-deploy-site/package.json b/apps/pr-deploy-site/package.json index 77c9f9339bd71..9ee70b7e0d953 100644 --- a/apps/pr-deploy-site/package.json +++ b/apps/pr-deploy-site/package.json @@ -7,8 +7,8 @@ "scripts": { "clean": "yarn run -T just-scripts clean", "generate:site": "yarn run -T just-scripts generate:site", - "lint": "eslint --cache .", - "type-check": "tsc -p . --noEmit" + "lint": "yarn run -T eslint --cache .", + "type-check": "yarn run -T tsc -p . --noEmit" }, "license": "MIT" } diff --git a/apps/public-docsite-resources/package.json b/apps/public-docsite-resources/package.json index 25dc4b5ed8b38..4ef760eaaa9d3 100644 --- a/apps/public-docsite-resources/package.json +++ b/apps/public-docsite-resources/package.json @@ -32,7 +32,7 @@ "build": "yarn run -T just-scripts build", "prebundle": "yarn build", "bundle": "yarn run -T just-scripts bundle", - "lint": "eslint --ext .js,.ts,.tsx ./src", + "lint": "yarn run -T eslint --ext .js,.ts,.tsx ./src", "just": "yarn run -T just-scripts", "clean": "yarn run -T just-scripts clean", "code-style": "yarn run -T just-scripts code-style", diff --git a/apps/public-docsite-v9-headless/package.json b/apps/public-docsite-v9-headless/package.json index 74840a7b0592a..986d391f4c8b0 100644 --- a/apps/public-docsite-v9-headless/package.json +++ b/apps/public-docsite-v9-headless/package.json @@ -4,13 +4,13 @@ "private": true, "description": "Fluent UI React Headless Components Preview documentation", "scripts": { - "build-storybook": "storybook build -o ./dist/storybook --docs", - "build-storybook:docsite": "cross-env DEPLOY_PATH=/headless/ storybook build -o ./dist/storybook --docs", + "build-storybook": "yarn run -T storybook build -o ./dist/storybook --docs", + "build-storybook:docsite": "yarn run -T cross-env DEPLOY_PATH=/headless/ storybook build -o ./dist/storybook --docs", "postbuild-storybook": "yarn generate-llms-docs", "postbuild-storybook:docsite": "yarn postbuild-storybook", - "generate-llms-docs": "yarn storybook-llms-extractor --distPath ./dist/storybook --summaryBaseUrl \"https://storybooks.fluentui.dev/headless/\" --summaryTitle \"Fluent UI React Headless Components\" --summaryDescription \"Fluent UI React headless components provide unstyled, accessible component primitives that can be styled with any CSS approach.\"", + "generate-llms-docs": "yarn run -T storybook-llms-extractor --distPath ./dist/storybook --summaryBaseUrl \"https://storybooks.fluentui.dev/headless/\" --summaryTitle \"Fluent UI React Headless Components\" --summaryDescription \"Fluent UI React headless components provide unstyled, accessible component primitives that can be styled with any CSS approach.\"", "start": "yarn storybook:docs", - "storybook": "storybook dev --port 3000", + "storybook": "yarn run -T storybook dev --port 3000", "storybook:docs": "yarn storybook --docs" }, "dependencies": { diff --git a/apps/public-docsite-v9/package.json b/apps/public-docsite-v9/package.json index 4299bc2c267e3..d4e76d06c1c82 100644 --- a/apps/public-docsite-v9/package.json +++ b/apps/public-docsite-v9/package.json @@ -14,9 +14,9 @@ "lint": "yarn run -T just-scripts lint", "type-check": "yarn run -T just-scripts type-check", "start": "yarn storybook:docs", - "storybook": "storybook dev --port 3000", + "storybook": "yarn run -T storybook dev --port 3000", "storybook:docs": "yarn storybook --docs", - "test": "jest --passWithNoTests" + "test": "yarn run -T jest --passWithNoTests" }, "dependencies": { "@fluentui/react": "*", diff --git a/apps/public-docsite/package.json b/apps/public-docsite/package.json index d40c47ec3f4fb..89bf6be73f873 100644 --- a/apps/public-docsite/package.json +++ b/apps/public-docsite/package.json @@ -19,7 +19,7 @@ "clean": "yarn run -T just-scripts clean", "code-style": "yarn run -T just-scripts code-style", "start": "yarn run -T just-scripts dev", - "type-check": "tsc -p . --noEmit --baseUrl ." + "type-check": "yarn run -T tsc -p . --noEmit --baseUrl ." }, "license": "MIT", "devDependencies": { diff --git a/apps/ssr-tests-v9/package.json b/apps/ssr-tests-v9/package.json index 6aa51b74ecba9..8d12bcd7285f7 100644 --- a/apps/ssr-tests-v9/package.json +++ b/apps/ssr-tests-v9/package.json @@ -12,8 +12,8 @@ "clean": "yarn run -T just-scripts clean", "code-style": "yarn run -T just-scripts code-style", "lint": "yarn run -T just-scripts lint", - "storybook": "storybook dev", - "test": "jest --passWithNoTests", + "storybook": "yarn run -T storybook dev", + "test": "yarn run -T jest --passWithNoTests", "type-check": "yarn run -T just-scripts type-check", "test-ssr": "yarn run -T test-ssr \"./src/stories/**/*.stories.tsx\"" }, diff --git a/apps/ssr-tests/package.json b/apps/ssr-tests/package.json index e91e950144cd0..5005bd5fd52c4 100644 --- a/apps/ssr-tests/package.json +++ b/apps/ssr-tests/package.json @@ -4,7 +4,7 @@ "description": "Server-side rendering tests for @fluentui/react.", "private": true, "scripts": { - "type-check": "tsc -p . --noEmit --baseUrl .", + "type-check": "yarn run -T tsc -p . --noEmit --baseUrl .", "bundle": "yarn run -T just-scripts bundle", "test-ssr": "yarn run -T just-scripts test" }, diff --git a/apps/ts-minbar-test-react-components/package.json b/apps/ts-minbar-test-react-components/package.json index 9547ab1994e9e..397b69f4720fe 100644 --- a/apps/ts-minbar-test-react-components/package.json +++ b/apps/ts-minbar-test-react-components/package.json @@ -8,7 +8,7 @@ "@fluentui/react-components": "*" }, "scripts": { - "type-check": "tsc -p .", - "test-integration": "ts-node --transpileOnly ./src/index.ts" + "type-check": "yarn run -T tsc -p .", + "test-integration": "yarn run -T ts-node --transpileOnly ./src/index.ts" } } diff --git a/apps/ts-minbar-test-react/package.json b/apps/ts-minbar-test-react/package.json index f7ef8358f9510..bc71e48663e68 100644 --- a/apps/ts-minbar-test-react/package.json +++ b/apps/ts-minbar-test-react/package.json @@ -8,7 +8,7 @@ "@fluentui/react": "*" }, "scripts": { - "type-check": "tsc -p .", - "test-integration": "ts-node --transpileOnly ./src/index.ts" + "type-check": "yarn run -T tsc -p .", + "test-integration": "yarn run -T ts-node --transpileOnly ./src/index.ts" } } diff --git a/apps/vr-tests-react-components/package.json b/apps/vr-tests-react-components/package.json index 2b7e5f28ed1d0..3b27a76b647f7 100644 --- a/apps/vr-tests-react-components/package.json +++ b/apps/vr-tests-react-components/package.json @@ -4,14 +4,14 @@ "private": true, "description": "Visual regression tests for @fluentui/react-components", "scripts": { - "build-storybook": "storybook build -o dist/storybook", + "build-storybook": "yarn run -T storybook build -o dist/storybook", "clean": "yarn run -T just-scripts clean", - "format": "prettier . -w --ignore-path ../../.prettierignore", + "format": "yarn run -T prettier . -w --ignore-path ../../.prettierignore", "lint": "yarn run -T just-scripts lint", - "start": "storybook dev", + "start": "yarn run -T storybook dev", "test": "yarn run -T just-scripts test", - "type-check": "tsc -p . --noEmit --baseUrl .", - "test-vr": "storywright --browsers chromium --url dist/storybook --destpath dist/screenshots --waitTimeScreenshot 500 --concurrency 4 --headless true --bailOnStoriesError --stepsApi parameters" + "type-check": "yarn run -T tsc -p . --noEmit --baseUrl .", + "test-vr": "yarn run -T storywright --browsers chromium --url dist/storybook --destpath dist/screenshots --waitTimeScreenshot 500 --concurrency 4 --headless true --bailOnStoriesError --stepsApi parameters" }, "dependencies": { "@fluentui/react-accordion": "*", diff --git a/apps/vr-tests-web-components/package.json b/apps/vr-tests-web-components/package.json index 1cb143b41d1b8..2a8df296a4080 100644 --- a/apps/vr-tests-web-components/package.json +++ b/apps/vr-tests-web-components/package.json @@ -5,12 +5,12 @@ "description": "Visual regression tests for @fluentui/web-components", "type": "module", "scripts": { - "build-storybook": "storybook build -o dist/storybook", - "format": "prettier . -w --ignore-path ../../.prettierignore", - "lint": "eslint src --ext .ts,.tsx", - "start": "storybook dev", - "type-check": "tsc -p . --baseUrl . --noEmit", - "test-vr": "storywright --browsers chromium --url dist/storybook --destpath dist/screenshots --waitTimeScreenshot 500 --concurrency 4 --headless true --stepsApi parameters --bailOnStoriesError" + "build-storybook": "yarn run -T storybook build -o dist/storybook", + "format": "yarn run -T prettier . -w --ignore-path ../../.prettierignore", + "lint": "yarn run -T eslint src --ext .ts,.tsx", + "start": "yarn run -T storybook dev", + "type-check": "yarn run -T tsc -p . --baseUrl . --noEmit", + "test-vr": "yarn run -T storywright --browsers chromium --url dist/storybook --destpath dist/screenshots --waitTimeScreenshot 500 --concurrency 4 --headless true --stepsApi parameters --bailOnStoriesError" }, "dependencies": { "@fluentui/tokens": ">=1.0.0-alpha", diff --git a/apps/vr-tests/package.json b/apps/vr-tests/package.json index b787aeffe27dc..12c92b38d2ba5 100644 --- a/apps/vr-tests/package.json +++ b/apps/vr-tests/package.json @@ -4,14 +4,14 @@ "private": true, "description": "Visual regression tests for Fluent UI React", "scripts": { - "build-storybook": "storybook build -o dist/storybook", + "build-storybook": "yarn run -T storybook build -o dist/storybook", "clean": "yarn run -T just-scripts clean", "code-style": "yarn run -T just-scripts code-style", "just": "yarn run -T just-scripts", "lint": "yarn run -T just-scripts lint", - "start": "storybook dev -p 3000", - "type-check": "tsc -p . --noEmit --baseUrl .", - "test-vr": "storywright --browsers chromium --url dist/storybook --destpath dist/screenshots --waitTimeScreenshot 500 --concurrency 4 --headless true --stepsApi parameters --bailOnStoriesError" + "start": "yarn run -T storybook dev -p 3000", + "type-check": "yarn run -T tsc -p . --noEmit --baseUrl .", + "test-vr": "yarn run -T storywright --browsers chromium --url dist/storybook --destpath dist/screenshots --waitTimeScreenshot 500 --concurrency 4 --headless true --stepsApi parameters --bailOnStoriesError" }, "dependencies": { "@fluentui/example-data": "*", diff --git a/change/@fluentui-babel-preset-global-context-11690495-98b7-460d-815c-b6f7b9d5527d.json b/change/@fluentui-babel-preset-global-context-11690495-98b7-460d-815c-b6f7b9d5527d.json new file mode 100644 index 0000000000000..f3b8c1238799f --- /dev/null +++ b/change/@fluentui-babel-preset-global-context-11690495-98b7-460d-815c-b6f7b9d5527d.json @@ -0,0 +1,7 @@ +{ + "type": "none", + "comment": "update readme to reference correct yarn page link", + "packageName": "@fluentui/babel-preset-global-context", + "email": "vgenaev@gmail.com", + "dependentChangeType": "none" +} diff --git a/change/@fluentui-chart-web-components-8cfaf77f-dbde-4953-9020-5786c74249a0.json b/change/@fluentui-chart-web-components-8cfaf77f-dbde-4953-9020-5786c74249a0.json new file mode 100644 index 0000000000000..58f02f3ca157e --- /dev/null +++ b/change/@fluentui-chart-web-components-8cfaf77f-dbde-4953-9020-5786c74249a0.json @@ -0,0 +1,7 @@ +{ + "type": "none", + "comment": "fix: Yarn 4 workspace command resolution", + "packageName": "@fluentui/chart-web-components", + "email": "vgenaev@gmail.com", + "dependentChangeType": "none" +} diff --git a/change/@fluentui-cra-template-6823b89f-2e45-42f5-bc95-b8880e96fe7b.json b/change/@fluentui-cra-template-6823b89f-2e45-42f5-bc95-b8880e96fe7b.json new file mode 100644 index 0000000000000..09544977044e7 --- /dev/null +++ b/change/@fluentui-cra-template-6823b89f-2e45-42f5-bc95-b8880e96fe7b.json @@ -0,0 +1,7 @@ +{ + "type": "none", + "comment": "fix: Yarn 4 workspace command resolution", + "packageName": "@fluentui/cra-template", + "email": "vgenaev@gmail.com", + "dependentChangeType": "none" +} diff --git a/change/@fluentui-keyboard-key-c9ddc8c9-5cd4-4e8a-91b5-aef4c6958ae0.json b/change/@fluentui-keyboard-key-c9ddc8c9-5cd4-4e8a-91b5-aef4c6958ae0.json new file mode 100644 index 0000000000000..21cee0bf989a5 --- /dev/null +++ b/change/@fluentui-keyboard-key-c9ddc8c9-5cd4-4e8a-91b5-aef4c6958ae0.json @@ -0,0 +1,7 @@ +{ + "type": "none", + "comment": "fix: Yarn 4 workspace command resolution", + "packageName": "@fluentui/keyboard-key", + "email": "vgenaev@gmail.com", + "dependentChangeType": "none" +} diff --git a/change/@fluentui-public-docsite-setup-142602b1-648c-4e20-b4f1-a1ad201bb13d.json b/change/@fluentui-public-docsite-setup-142602b1-648c-4e20-b4f1-a1ad201bb13d.json new file mode 100644 index 0000000000000..b622e37977f49 --- /dev/null +++ b/change/@fluentui-public-docsite-setup-142602b1-648c-4e20-b4f1-a1ad201bb13d.json @@ -0,0 +1,7 @@ +{ + "type": "none", + "comment": "fix: Yarn 4 workspace command resolution", + "packageName": "@fluentui/public-docsite-setup", + "email": "vgenaev@gmail.com", + "dependentChangeType": "none" +} diff --git a/change/@fluentui-react-25703850-32df-47bb-b25b-ea8c63e13e53.json b/change/@fluentui-react-25703850-32df-47bb-b25b-ea8c63e13e53.json new file mode 100644 index 0000000000000..ac67bc8acb2b3 --- /dev/null +++ b/change/@fluentui-react-25703850-32df-47bb-b25b-ea8c63e13e53.json @@ -0,0 +1,7 @@ +{ + "type": "none", + "comment": "fix: Yarn 4 workspace command resolution", + "packageName": "@fluentui/react", + "email": "vgenaev@gmail.com", + "dependentChangeType": "none" +} diff --git a/change/@fluentui-react-cards-14d22b0a-8424-4462-8281-e171a2b837b0.json b/change/@fluentui-react-cards-14d22b0a-8424-4462-8281-e171a2b837b0.json new file mode 100644 index 0000000000000..d267d87879491 --- /dev/null +++ b/change/@fluentui-react-cards-14d22b0a-8424-4462-8281-e171a2b837b0.json @@ -0,0 +1,7 @@ +{ + "type": "none", + "comment": "fix: Yarn 4 workspace command resolution", + "packageName": "@fluentui/react-cards", + "email": "vgenaev@gmail.com", + "dependentChangeType": "none" +} diff --git a/change/@fluentui-react-charting-a9b32658-44e8-4747-8ba0-ed72fe438860.json b/change/@fluentui-react-charting-a9b32658-44e8-4747-8ba0-ed72fe438860.json new file mode 100644 index 0000000000000..d7847d6703ae4 --- /dev/null +++ b/change/@fluentui-react-charting-a9b32658-44e8-4747-8ba0-ed72fe438860.json @@ -0,0 +1,7 @@ +{ + "type": "none", + "comment": "fix: Yarn 4 workspace command resolution", + "packageName": "@fluentui/react-charting", + "email": "vgenaev@gmail.com", + "dependentChangeType": "none" +} diff --git a/change/@fluentui-react-docsite-components-0fd920ac-4d19-4926-ae1e-adc210e1395c.json b/change/@fluentui-react-docsite-components-0fd920ac-4d19-4926-ae1e-adc210e1395c.json new file mode 100644 index 0000000000000..947abfdff08ac --- /dev/null +++ b/change/@fluentui-react-docsite-components-0fd920ac-4d19-4926-ae1e-adc210e1395c.json @@ -0,0 +1,7 @@ +{ + "type": "none", + "comment": "fix: Yarn 4 workspace command resolution", + "packageName": "@fluentui/react-docsite-components", + "email": "vgenaev@gmail.com", + "dependentChangeType": "none" +} diff --git a/change/@fluentui-react-experiments-3a7aec4b-ef1d-45ee-b037-5e92bf90a3b3.json b/change/@fluentui-react-experiments-3a7aec4b-ef1d-45ee-b037-5e92bf90a3b3.json new file mode 100644 index 0000000000000..6c3533731c5bb --- /dev/null +++ b/change/@fluentui-react-experiments-3a7aec4b-ef1d-45ee-b037-5e92bf90a3b3.json @@ -0,0 +1,7 @@ +{ + "type": "none", + "comment": "fix: Yarn 4 workspace command resolution", + "packageName": "@fluentui/react-experiments", + "email": "vgenaev@gmail.com", + "dependentChangeType": "none" +} diff --git a/change/@fluentui-react-icons-mdl2-branded-f7e24102-d8b8-42d2-9c5f-1e50765b8818.json b/change/@fluentui-react-icons-mdl2-branded-f7e24102-d8b8-42d2-9c5f-1e50765b8818.json new file mode 100644 index 0000000000000..11fcaf7d3f1a5 --- /dev/null +++ b/change/@fluentui-react-icons-mdl2-branded-f7e24102-d8b8-42d2-9c5f-1e50765b8818.json @@ -0,0 +1,7 @@ +{ + "type": "none", + "comment": "fix: Yarn 4 workspace command resolution", + "packageName": "@fluentui/react-icons-mdl2-branded", + "email": "vgenaev@gmail.com", + "dependentChangeType": "none" +} diff --git a/change/@fluentui-react-icons-mdl2-d00bc5da-a920-40b9-a2e8-3eda93f8d4f7.json b/change/@fluentui-react-icons-mdl2-d00bc5da-a920-40b9-a2e8-3eda93f8d4f7.json new file mode 100644 index 0000000000000..f449523db5eab --- /dev/null +++ b/change/@fluentui-react-icons-mdl2-d00bc5da-a920-40b9-a2e8-3eda93f8d4f7.json @@ -0,0 +1,7 @@ +{ + "type": "none", + "comment": "fix: Yarn 4 workspace command resolution", + "packageName": "@fluentui/react-icons-mdl2", + "email": "vgenaev@gmail.com", + "dependentChangeType": "none" +} diff --git a/change/@fluentui-react-monaco-editor-00849bd2-49c4-4921-a6bb-561467e24373.json b/change/@fluentui-react-monaco-editor-00849bd2-49c4-4921-a6bb-561467e24373.json new file mode 100644 index 0000000000000..802a1ed140ebf --- /dev/null +++ b/change/@fluentui-react-monaco-editor-00849bd2-49c4-4921-a6bb-561467e24373.json @@ -0,0 +1,7 @@ +{ + "type": "none", + "comment": "fix: Yarn 4 workspace command resolution", + "packageName": "@fluentui/react-monaco-editor", + "email": "vgenaev@gmail.com", + "dependentChangeType": "none" +} diff --git a/change/@fluentui-theme-samples-4dd6c783-1057-4ced-bddb-9dae97e6af23.json b/change/@fluentui-theme-samples-4dd6c783-1057-4ced-bddb-9dae97e6af23.json new file mode 100644 index 0000000000000..a11e66f1fded6 --- /dev/null +++ b/change/@fluentui-theme-samples-4dd6c783-1057-4ced-bddb-9dae97e6af23.json @@ -0,0 +1,7 @@ +{ + "type": "none", + "comment": "fix: Yarn 4 workspace command resolution", + "packageName": "@fluentui/theme-samples", + "email": "vgenaev@gmail.com", + "dependentChangeType": "none" +} diff --git a/change/@fluentui-web-components-c7d0ab34-636d-4aca-8170-fca6588f645d.json b/change/@fluentui-web-components-c7d0ab34-636d-4aca-8170-fca6588f645d.json new file mode 100644 index 0000000000000..c29d9fbe1726c --- /dev/null +++ b/change/@fluentui-web-components-c7d0ab34-636d-4aca-8170-fca6588f645d.json @@ -0,0 +1,7 @@ +{ + "type": "none", + "comment": "fix: Yarn 4 workspace command resolution", + "packageName": "@fluentui/web-components", + "email": "vgenaev@gmail.com", + "dependentChangeType": "none" +} diff --git a/docs/react-v9/contributing/dev-env.md b/docs/react-v9/contributing/dev-env.md index d0e94f563cf36..f7faee248385f 100644 --- a/docs/react-v9/contributing/dev-env.md +++ b/docs/react-v9/contributing/dev-env.md @@ -11,10 +11,9 @@ Note that the core team does not support native Windows as a development platfor - Microsoft employees: please [link your GitHub account](https://repos.opensource.microsoft.com) (new or existing) to your MS account - Windows users should install **[WSL](https://learn.microsoft.com/en-us/windows/dev-environment/javascript/nodejs-on-wsl)** -- Install **[Node.js LTS](https://nodejs.org/en/)** (20 as of writing) +- Install **[Node.js LTS](https://nodejs.org/en/)** (^22 or ^24) - Optional: If you're developing across multiple repos with varying Node version requirements, you may want to use `nvm` to install and manage Node versions. -- Install **[Yarn v1](https://classic.yarnpkg.com/) (we do not use Yarn >=v2)** - - easiest way: run `npm install -g yarn@1` +- Install **[Yarn 4](https://yarnpkg.com/getting-started/install)**. The repo pins a specific Yarn 4.x release via the `packageManager` field in `package.json` (the exact version source of truth); `.yarnrc.yml` configures the repository binary path. - Install **[Git](https://git-scm.com/)** - Install **[Visual Studio Code](https://code.visualstudio.com/)** or any other editor of your preference - Install **[Nx Console extension for Visual Studio](https://marketplace.visualstudio.com/items?itemName=nrwl.angular-console)** @@ -28,8 +27,8 @@ Note that the core team does not support native Windows as a development platfor Open a command line and run: -- `node -v`: Should be `^22.x.x`. -- `yarn -v`: Should be >= 1.15.0 but **less than 2**. If not, run `npm install -g yarn@1`. +- `node -v`: Should be `^22.x.x` or `^24.x.x`. +- `yarn -v`: Should report `4.x`; the exact version is pinned by `packageManager` in `package.json`. - `git --version` to ensure you have Git installed. - If using VS Code, go to a folder and run `code .` to open the folder in VS Code. If it doesn't work, open VS Code and press `F1` or `ctrl+shift+P` (`cmd+shift+P`), type `path`, and select the `Install 'code' command in PATH` option. diff --git a/docs/react-v9/contributing/rfcs/react-components/convergence/dependency-versions.md b/docs/react-v9/contributing/rfcs/react-components/convergence/dependency-versions.md index 5567639110533..d54087f0fc03f 100644 --- a/docs/react-v9/contributing/rfcs/react-components/convergence/dependency-versions.md +++ b/docs/react-v9/contributing/rfcs/react-components/convergence/dependency-versions.md @@ -62,7 +62,7 @@ resolved "https://..." integrity sha512-... ``` -There are workaround that customers can use in this case ([`yarn resolutions`](https://classic.yarnpkg.com/en/docs/selective-version-resolutions/), [webpack aliases](https://webpack.js.org/configuration/resolve/#resolvealias)) to use a proper version. But we should not create an additional walls for customers to properly consumer the library. +There are workaround that customers can use in this case ([`yarn resolutions`](https://yarnpkg.com/configuration/manifest#resolutions), [webpack aliases](https://webpack.js.org/configuration/resolve/#resolvealias)) to use a proper version. But we should not create an additional walls for customers to properly consumer the library. There is a Webpack plugin (similar to [duplicate-package-checker-webpack-plugin](https://github.com/darrenscerri/duplicate-package-checker-webpack-plugin)) that prevents imports of duplicate versions on Teams side. diff --git a/docs/react-v9/contributing/using-local-unpublished-version-of-the-lib-with-a-local-React-app.md b/docs/react-v9/contributing/using-local-unpublished-version-of-the-lib-with-a-local-React-app.md index 530822be8af72..2113a713ed6f5 100644 --- a/docs/react-v9/contributing/using-local-unpublished-version-of-the-lib-with-a-local-React-app.md +++ b/docs/react-v9/contributing/using-local-unpublished-version-of-the-lib-with-a-local-React-app.md @@ -1,4 +1,4 @@ -In addition to the standard [development practice](https://github.com/microsoft/fluentui/wiki/Development-Workflow), it is sometimes useful to run a local app against the introduced changes within the library, for instance, when trying to repro a bug locally, etc. In this case, `yarn link` tool comes in real handy, and this short guide will take you through the full setup to get you up and running. +In addition to the standard [development practice](https://github.com/microsoft/fluentui/wiki/Development-Workflow), it is sometimes useful to run a local app against the introduced changes within the library, for instance, when trying to repro a bug locally, etc. This guide walks through the setup using Yarn 4's path-based linking. ## The scenario @@ -29,81 +29,43 @@ import { PrimaryButton } from '@fluentui/react'; render(, document.getElementById('content')); ``` -Normally, you'd add `@fluentui/react` to your project using `yarn add `. However, since we want to test our local changes to the `fluentui` package, this will not be sufficient. This is where `yarn link` saves the day. `yarn link` creates a symlink to your local package inside the `node_modules` directory, however, at the same time, it doesn't add the dependency to the `package.json` file. Having said that, you can still import the linked package as you'd normally do when adding a package from the npm registry. So no difference there. The trick is with the actual linking. We discuss this next. +Normally, you'd add `@fluentui/react` to your project using `yarn add `. However, since we want to test our local changes to the `fluentui` package, this will not be sufficient. This is where `yarn link` saves the day. ## The solution -We want to link `@fluentui/react` as a dependency of the `app` package. To do this, we first of all need to add our local copy of `@fluentui/react` into `yarn`'s link registry. This can be done by navigating to the `fluentui` project and then into the appropriate package source directory, in this case, `react`, and invoking `yarn link`: +Yarn 4 supports path-based linking directly, without a global link registry. From the `app` directory, point Yarn at the local package source: -``` -$ cd fluentui/packages/react -$ yarn link -yarn link v1.22.10 -success Registered "@fluentui/react". -info You can now run `yarn link "@fluentui/react"` in the projects where you want to use this package and it will be used instead. -✨ Done in 0.04s. -``` - -OK, so we're halfway there. Now, from within the `app`'s root directory, we execute the hint given to us by `yarn link`, that is: - -``` +```bash $ cd app -$ yarn link @fluentui/react -yarn link v1.22.10 -success Using linked package for "@fluentui/react". -✨ Done in 0.04s. +$ yarn link ../fluentui/packages/react ``` -After this is done, if you navigate into your `app`'s `node_modules` dir, you'll see that `@fluentui/react` is a symlink: +This records the local path for `@fluentui/react` in `app/package.json` under `resolutions` using Yarn's +[`portal:` protocol](https://yarnpkg.com/protocol/portal) and installs the link. The package is now resolved from your +local `fluentui/packages/react` directory — no separate registration step needed in the library. -``` -$ cd app/node_modules/@fluentui -$ ls -la react -lrwxr-xr-x 1 username group 45 Jan 11 13:03 node_modules/@fluentui/react -> ../../../../.config/yarn/link/@fluentui/react -``` +> **Warning:** If you encounter a [React "Rules of Hooks" error](https://reactjs.org/warnings/invalid-hook-call-warning.html), both projects are loading separate copies of `react`. Yarn 4 path linking preserves the consuming app's peer dependency resolution, so the linked package should resolve `react` through the app's own `node_modules`. If the error still occurs, verify that the app and the linked package declare compatible `react` peer versions. Do not add self-referential `link:./node_modules/react` resolutions — they are circular and unreliable. -This symlink points to `yarn`'s local link-registry, which in turn dereferences to the `fluentui/packages/react` directory: - -``` -$ ls -la ~/.config/yarn/link/@fluentui/react -lrwxr-xr-x 1 username group 39 Jan 11 11:56 ~/.config/yarn/link/@fluentui/react -> ../../../../common_root/fluentui/packages/react -``` - -In effect, you can think of it as: +With this done, you should be able to successfully run the app: -``` -common_root - \ - | -- fluentui - | \ - | | -- packages/react <---------| - | | - | -- app | - \ | - | -- node_modules/@fluentui/react +```bash +$ yarn start ``` -If you try running your app however, you will get greeted by a nasty looking [React error scolding you for violating the "Rules of Hooks"](https://reactjs.org/warnings/invalid-hook-call-warning.html). The good news is, we've not violated anything. The bad news is, the app will refuse to launch. It turns out, in addition to violating the "Rules of Hooks", this problem also surfaces when the two projects you want to link locally via symlink both add `react` and `react-dom` as dependencies. In such case, as prescribed by React, it is necessary to manually link in the same version of `react` and `react-dom` between the linked packages using `npm link `, and is best done in the lib's `node_modules`: - -``` -$ cd fluentui -$ rm -rf fluentui/node_modules/react # please, be extremely careful when invoking rm with -rf flags! -$ rm -rf fluentui/node_modules/react-dom -$ npm link ../app/node_modules/react -$ npm link ../app/node_modules/react-dom -``` +## Unlinking -With this done, you should be able to successfully run the app: +To restore the original published version, remove the entry `yarn link` added for `@fluentui/react` from the `resolutions` field in `app/package.json`, then reinstall: -``` -$ yarn start +```bash +$ cd app +$ yarn install ``` ## Development workflow Now, whenever you make tweaks to the `fluentui` lib, you simply need to rebuild it via: -``` +```bash $ cd fluentui $ yarn nx run react:build ``` diff --git a/packages/charts/chart-web-components/package.json b/packages/charts/chart-web-components/package.json index 5eebfa20a2811..bbd58b1244050 100644 --- a/packages/charts/chart-web-components/package.json +++ b/packages/charts/chart-web-components/package.json @@ -45,18 +45,18 @@ "type-check": "node ./scripts/type-check", "benchmark": "yarn clean && yarn compile:benchmark && yarn compile && node ./scripts/run-benchmarks", "compile": "node ./scripts/compile", - "compile:benchmark": "rollup -c rollup.bench.js", + "compile:benchmark": "yarn run -T rollup -c rollup.bench.js", "clean": "node ./scripts/clean dist", - "generate-api": "api-extractor run --local", - "build": "yarn compile && rollup -c && yarn generate-api", - "lint": "eslint . --ext .ts", - "lint:fix": "eslint . --ext .ts --fix", - "format": "prettier -w src/**/*.{ts,html} --ignore-path ../../.prettierignore", + "generate-api": "yarn run -T api-extractor run --local", + "build": "yarn compile && yarn run -T rollup -c && yarn generate-api", + "lint": "yarn run -T eslint . --ext .ts", + "lint:fix": "yarn run -T eslint . --ext .ts --fix", + "format": "yarn run -T prettier -w src/**/*.{ts,html} --ignore-path ../../.prettierignore", "format:check": "yarn format -c", "code-style": "yarn format:check && yarn lint", "start": "yarn start-storybook -p 6006 --docs", - "start-storybook": "storybook dev", - "build-storybook": "storybook build -o ./dist/storybook --docs", + "start-storybook": "yarn run -T storybook dev", + "build-storybook": "yarn run -T storybook build -o ./dist/storybook --docs", "e2e": "node ./scripts/e2e.js", "test:dev": "node ./scripts/e2e.js" }, diff --git a/packages/charts/react-charting/package.json b/packages/charts/react-charting/package.json index ac04eecc317ad..760857c8c21c1 100644 --- a/packages/charts/react-charting/package.json +++ b/packages/charts/react-charting/package.json @@ -14,14 +14,14 @@ }, "license": "MIT", "scripts": { - "build": "just-scripts build", - "test": "cross-env TZ=UTC just-scripts test", - "clean": "just-scripts clean", + "build": "yarn run -T just-scripts build", + "test": "yarn run -T cross-env TZ=UTC just-scripts test", + "clean": "yarn run -T just-scripts clean", "codepen": "node ../../../scripts/executors/src/local-codepen.js", - "start": "just-scripts dev:storybook", - "start:legacy": "just-scripts dev", - "start-test": "just-scripts jest-watch", - "update-snapshots": "cross-env TZ=UTC just-scripts jest -u", + "start": "yarn run -T just-scripts dev:storybook", + "start:legacy": "yarn run -T just-scripts dev", + "start-test": "yarn run -T just-scripts jest-watch", + "update-snapshots": "yarn run -T cross-env TZ=UTC just-scripts jest -u", "test:tz": "node ./scripts/run-tests-in-timezone.js" }, "devDependencies": { diff --git a/packages/cra-template/package.json b/packages/cra-template/package.json index 71e17b89c4f16..88336befb6749 100644 --- a/packages/cra-template/package.json +++ b/packages/cra-template/package.json @@ -8,9 +8,9 @@ "directory": "packages/cra-template" }, "scripts": { - "lint": "eslint --ext .js,.ts,.tsx .", + "lint": "yarn run -T eslint --ext .js,.ts,.tsx .", "test-integration": "node -r @fluentui/scripts-babel/register scripts/test.ts", - "type-check": "tsc -p ." + "type-check": "yarn run -T tsc -p ." }, "license": "MIT", "files": [ diff --git a/packages/keyboard-key/package.json b/packages/keyboard-key/package.json index 66a3315d96a6e..9e8ea29cc09f1 100644 --- a/packages/keyboard-key/package.json +++ b/packages/keyboard-key/package.json @@ -12,7 +12,7 @@ }, "license": "MIT", "scripts": { - "bundle-size": "monosize measure", + "bundle-size": "yarn run -T monosize measure", "build": "yarn run -T just-scripts build", "clean": "yarn run -T just-scripts clean", "code-style": "yarn run -T just-scripts code-style", diff --git a/packages/public-docsite-setup/package.json b/packages/public-docsite-setup/package.json index 399ea91baafb1..e4d0e9155cd8a 100644 --- a/packages/public-docsite-setup/package.json +++ b/packages/public-docsite-setup/package.json @@ -20,7 +20,7 @@ "clean": "yarn run -T just-scripts clean", "code-style": "yarn run -T just-scripts code-style", "just": "yarn run -T just-scripts", - "lint": "yarn run -T just-scripts lint && eslint ./bin/*.js ./scripts/*.js" + "lint": "yarn run -T just-scripts lint && yarn run -T eslint ./bin/*.js ./scripts/*.js" }, "license": "MIT" } diff --git a/packages/public-docsite-setup/scripts/generateHomepage.js b/packages/public-docsite-setup/scripts/generateHomepage.js index e17bc6872cd75..aef8a2be060db 100755 --- a/packages/public-docsite-setup/scripts/generateHomepage.js +++ b/packages/public-docsite-setup/scripts/generateHomepage.js @@ -17,10 +17,9 @@ if (!fs.existsSync(dest)) { fs.mkdirSync(dest); } -const rollupCommand = 'yarn --silent rollup'; +const rollupCommand = 'yarn run -T rollup'; // first rollup run: resolve imports relative to the original file -// (--silent prevents yarn headers from being printed with output) const loadSitePath = path.resolve(__dirname, '../lib/loadSite.js'); const prelimJsPath = path.join(dest, 'homepage.prelim.js'); execSync(`${rollupCommand} ${loadSitePath} -o ${prelimJsPath}`, { stdio: 'pipe' }); diff --git a/packages/react-cards/package.json b/packages/react-cards/package.json index 87428fcb5b580..1d8aaebf1ae28 100644 --- a/packages/react-cards/package.json +++ b/packages/react-cards/package.json @@ -14,7 +14,7 @@ }, "license": "MIT", "scripts": { - "build": "just-scripts build" + "build": "yarn run -T just-scripts build" }, "dependencies": { "@fluentui/foundation-legacy": "^8.6.7", diff --git a/packages/react-components/babel-preset-global-context/README.md b/packages/react-components/babel-preset-global-context/README.md index d7ab5c89c5812..f5da1cd1bbe65 100644 --- a/packages/react-components/babel-preset-global-context/README.md +++ b/packages/react-components/babel-preset-global-context/README.md @@ -55,7 +55,7 @@ function Consumer() { ``` > ⚠️ The recommended solution to the above problem is to make sure that the affected dependency -> only exists once in node_modules. You can do this by upgrading your dependencies or using [resolutions](https://classic.yarnpkg.com/lang/en/docs/selective-version-resolutions/). +> only exists once in node_modules. You can do this by upgrading your dependencies or using [resolutions](https://yarnpkg.com/configuration/manifest#resolutions). This library should only be used as a workaround in the cases where it might not be feasible to deduplicate `node_modules`. diff --git a/packages/react-components/react-headless-components-preview/stories/package.json b/packages/react-components/react-headless-components-preview/stories/package.json index c8a644112f61b..644ad79da4148 100644 --- a/packages/react-components/react-headless-components-preview/stories/package.json +++ b/packages/react-components/react-headless-components-preview/stories/package.json @@ -3,6 +3,6 @@ "version": "0.0.0", "private": true, "scripts": { - "build-storybook": "storybook build -o ./dist/storybook" + "build-storybook": "yarn run -T storybook build -o ./dist/storybook" } } diff --git a/packages/react-docsite-components/package.json b/packages/react-docsite-components/package.json index c1c2f5fcea8e0..a38b96deaa78e 100644 --- a/packages/react-docsite-components/package.json +++ b/packages/react-docsite-components/package.json @@ -11,9 +11,9 @@ }, "license": "MIT", "scripts": { - "build": "just-scripts build", - "clean": "just-scripts clean", - "start": "just-scripts dev" + "build": "yarn run -T just-scripts build", + "clean": "yarn run -T just-scripts clean", + "start": "yarn run -T just-scripts dev" }, "devDependencies": { "@types/color-check": "0.0.0", diff --git a/packages/react-examples/package.json b/packages/react-examples/package.json index 6c5153786c212..fcef6f416ffd6 100644 --- a/packages/react-examples/package.json +++ b/packages/react-examples/package.json @@ -11,8 +11,8 @@ "scripts": { "build": "yarn run -T just-scripts build", "clean": "yarn run -T just-scripts clean", - "e2e": "cypress run --component", - "e2e:local": "cypress open --component" + "e2e": "yarn run -T cypress run --component", + "e2e:local": "yarn run -T cypress open --component" }, "devDependencies": { "@types/d3-fetch": "^3.0.1", diff --git a/packages/react-experiments/package.json b/packages/react-experiments/package.json index 0790498fcefa9..4708632aa4056 100644 --- a/packages/react-experiments/package.json +++ b/packages/react-experiments/package.json @@ -14,11 +14,11 @@ }, "license": "MIT", "scripts": { - "build": "just-scripts build", - "clean": "just-scripts clean", - "start": "just-scripts dev:storybook", - "start:legacy": "just-scripts dev", - "start-test": "just-scripts jest-watch" + "build": "yarn run -T just-scripts build", + "clean": "yarn run -T just-scripts clean", + "start": "yarn run -T just-scripts dev:storybook", + "start:legacy": "yarn run -T just-scripts dev", + "start-test": "yarn run -T just-scripts jest-watch" }, "devDependencies": { "@types/deep-assign": "^0.1.1", diff --git a/packages/react-icons-mdl2-branded/package.json b/packages/react-icons-mdl2-branded/package.json index c5d7e6f5e155a..afe2e4720c778 100644 --- a/packages/react-icons-mdl2-branded/package.json +++ b/packages/react-icons-mdl2-branded/package.json @@ -14,11 +14,11 @@ }, "license": "SEE LICENSE IN LICENSE", "scripts": { - "build": "just-scripts build", - "clean": "just-scripts clean", - "code-style": "just-scripts code-style", - "just": "just-scripts", - "lint": "just-scripts lint" + "build": "yarn run -T just-scripts build", + "clean": "yarn run -T just-scripts clean", + "code-style": "yarn run -T just-scripts code-style", + "just": "yarn run -T just-scripts", + "lint": "yarn run -T just-scripts lint" }, "dependencies": { "@fluentui/react-icons-mdl2": "^1.4.7", diff --git a/packages/react-icons-mdl2/package.json b/packages/react-icons-mdl2/package.json index 3cfc95468cbf0..28c0592d94cc6 100644 --- a/packages/react-icons-mdl2/package.json +++ b/packages/react-icons-mdl2/package.json @@ -14,8 +14,8 @@ }, "license": "MIT", "scripts": { - "build": "just-scripts build", - "clean": "just-scripts clean" + "build": "yarn run -T just-scripts build", + "clean": "yarn run -T just-scripts clean" }, "dependencies": { "@fluentui/react-icon-provider": "^1.4.7", diff --git a/packages/react-monaco-editor/package.json b/packages/react-monaco-editor/package.json index b7dad19a4ec26..35e7e4a30b43b 100644 --- a/packages/react-monaco-editor/package.json +++ b/packages/react-monaco-editor/package.json @@ -11,9 +11,9 @@ }, "license": "MIT", "scripts": { - "build": "just-scripts build", - "clean": "just-scripts clean", - "start": "just-scripts dev" + "build": "yarn run -T just-scripts build", + "clean": "yarn run -T just-scripts clean", + "start": "yarn run -T just-scripts dev" }, "devDependencies": { "@types/react-syntax-highlighter": "^10.2.1" diff --git a/packages/react/package.json b/packages/react/package.json index b479aef3dd985..6262712debc48 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -15,16 +15,16 @@ }, "license": "MIT", "scripts": { - "build": "just-scripts build", - "build-storybook": "cross-env NODE_OPTIONS=--max-old-space-size=3072 just-scripts storybook:build", - "clean": "just-scripts clean", + "build": "yarn run -T just-scripts build", + "build-storybook": "yarn run -T cross-env NODE_OPTIONS=--max-old-space-size=3072 just-scripts storybook:build", + "clean": "yarn run -T just-scripts clean", "codepen": "node ../../scripts/executors/src/local-codepen.js", - "e2e": "nx run react-examples:e2e --verbose", - "e2e:local": "nx run react-examples:e2e:local", - "start": "cross-env NODE_OPTIONS=--max-old-space-size=3072 just-scripts dev:storybook", + "e2e": "yarn run -T nx run react-examples:e2e --verbose", + "e2e:local": "yarn run -T nx run react-examples:e2e:local", + "start": "yarn run -T cross-env NODE_OPTIONS=--max-old-space-size=3072 just-scripts dev:storybook", "start:legacy": "yarn workspace @fluentui/public-docsite-resources start", - "mf": "just-scripts mf", - "verify-packaging": "just-scripts verify-packaging" + "mf": "yarn run -T just-scripts mf", + "verify-packaging": "yarn run -T just-scripts verify-packaging" }, "devDependencies": { "office-ui-fabric-core": "^11.0.0" diff --git a/packages/storybook/package.json b/packages/storybook/package.json index cce4e601e00e5..7c287b51d381c 100644 --- a/packages/storybook/package.json +++ b/packages/storybook/package.json @@ -11,11 +11,11 @@ }, "license": "MIT", "scripts": { - "build": "just-scripts build", - "clean": "just-scripts clean", - "code-style": "just-scripts code-style", - "just": "just-scripts", - "lint": "just-scripts lint" + "build": "yarn run -T just-scripts build", + "clean": "yarn run -T just-scripts clean", + "code-style": "yarn run -T just-scripts code-style", + "just": "yarn run -T just-scripts", + "lint": "yarn run -T just-scripts lint" }, "dependencies": { "@fluentui/azure-themes": "^8.6.150", diff --git a/packages/theme-samples/package.json b/packages/theme-samples/package.json index 188b99a19b214..8e93885a62788 100644 --- a/packages/theme-samples/package.json +++ b/packages/theme-samples/package.json @@ -14,11 +14,11 @@ }, "license": "MIT", "scripts": { - "build": "just-scripts build", - "lint": "just-scripts lint", - "just": "just-scripts", - "code-style": "just-scripts code-style", - "clean": "just-scripts clean" + "build": "yarn run -T just-scripts build", + "lint": "yarn run -T just-scripts lint", + "just": "yarn run -T just-scripts", + "code-style": "yarn run -T just-scripts code-style", + "clean": "yarn run -T just-scripts clean" }, "dependencies": { "@fluentui/react": "^8.125.7", diff --git a/packages/web-components/package.json b/packages/web-components/package.json index b773d0ffaaab8..d16bc8498f86e 100644 --- a/packages/web-components/package.json +++ b/packages/web-components/package.json @@ -78,21 +78,21 @@ "type-check": "node ./scripts/type-check", "benchmark": "yarn clean && yarn compile:benchmark && yarn compile && node ./scripts/run-benchmarks", "compile": "node ./scripts/compile", - "compile:benchmark": "rollup -c rollup.bench.js", + "compile:benchmark": "yarn run -T rollup -c rollup.bench.js", "clean": "node ./scripts/clean dist", - "generate-api": "api-extractor run --local", + "generate-api": "yarn run -T api-extractor run --local", "build": "yarn compile && yarn build:rollup && yarn generate-api && yarn analyze", - "build:rollup": "rollup -c", + "build:rollup": "yarn run -T rollup -c", "generate:ssr": "node ./scripts/generate-ssr.js", "check:ssr": "node ./scripts/generate-ssr.js --check", - "lint": "eslint . --ext .ts", - "lint:fix": "eslint . --ext .ts --fix", - "format": "prettier -w src/**/*.{ts,html} src/*.{ts,html} --ignore-path ../../.prettierignore", + "lint": "yarn run -T eslint . --ext .ts", + "lint:fix": "yarn run -T eslint . --ext .ts --fix", + "format": "yarn run -T prettier -w src/**/*.{ts,html} src/*.{ts,html} --ignore-path ../../.prettierignore", "format:check": "yarn format -c", "code-style": "yarn format:check && yarn lint", "start": "yarn start-storybook -p 6006 --docs", - "start-storybook": "storybook dev", - "build-storybook": "yarn analyze && storybook build -o ./dist/storybook --docs", + "start-storybook": "yarn run -T storybook dev", + "build-storybook": "yarn analyze && yarn run -T storybook build -o ./dist/storybook --docs", "build-storybook:docsite": "yarn analyze && yarn run -T cross-env DEPLOY_PATH=/web-components/ storybook build -o ./dist/storybook --docs", "e2e": "node ./scripts/e2e.js", "e2e:local": "node ./scripts/e2e.js --ui" diff --git a/tools/workspace-plugin/scripts/install-verdaccio.js b/tools/workspace-plugin/scripts/install-verdaccio.js index 153431e71548c..4c651e87af5b8 100644 --- a/tools/workspace-plugin/scripts/install-verdaccio.js +++ b/tools/workspace-plugin/scripts/install-verdaccio.js @@ -13,7 +13,7 @@ function main() { } catch { output.logSingleLine('Installing verdaccio...'); const pm = getPackageManagerCommand(); - const cmd = `${pm.addDev} verdaccio@5 --ignore-scripts`; + const cmd = `${pm.addDev} verdaccio@5 --mode=skip-build`; execSync(cmd, { stdio: 'inherit', cwd: workspaceRoot }); } diff --git a/typings/package.json b/typings/package.json index 8dd13dc5e982c..f921b27d8ee5c 100644 --- a/typings/package.json +++ b/typings/package.json @@ -3,6 +3,6 @@ "version": "0.0.1", "private": true, "scripts": { - "type-check": "tsc -b ./tsconfig.json" + "type-check": "yarn run -T tsc -b ./tsconfig.json" } }