diff --git a/.devops/templates/tools.yml b/.devops/templates/tools.yml index 7d9e9af92f0fe3..401560f408bdfc 100644 --- a/.devops/templates/tools.yml +++ b/.devops/templates/tools.yml @@ -38,3 +38,9 @@ steps: echo number of CPUs "$(getconf _NPROCESSORS_ONLN)" displayName: Log environment variables (Linux) condition: eq(variables['Agent.OS'], 'Linux') + + # Logs a message when dry run mode is enabled. + - script: | + echo "dry run mode enabled!" + displayName: dry run mode notification + condition: eq(variables.dryRun, true) diff --git a/.devops/templates/variables.yml b/.devops/templates/variables.yml index a72a48c528ab88..277d3b48c7db93 100644 --- a/.devops/templates/variables.yml +++ b/.devops/templates/variables.yml @@ -43,3 +43,6 @@ variables: deployBasePath: ${{ coalesce(parameters.deployBasePath, replace(variables['Build.SourceBranch'], 'refs/', '')) }} skipComponentGovernanceDetection: ${{ parameters.skipComponentGovernanceDetection }} + + # Dry run mode for testing the pipeline without making changes + dryRun: false diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index f96863764909da..f439834d903e6d 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -121,6 +121,7 @@ apps/ts-minbar-test-react @microsoft/fluentui-react-build apps/ts-minbar-test-react-components @microsoft/fluentui-react-build apps/vr-tests @microsoft/fluentui-react apps/vr-tests-react-components @microsoft/fluentui-react +apps/vr-tests-react-components/src/stories/Charts @microsoft/charting-team apps/vr-tests-web-components @microsoft/fui-wc apps/ssr-tests @microsoft/fluentui-react apps/pr-deploy-site @microsoft/fluentui-react-build @@ -132,8 +133,9 @@ apps/react-18-tests-v9 @microsoft/fluentui-react-build apps/chart-docsite @microsoft/charting-team #### Packages -packages/azure-themes @Jacqueline-ms @robtaft-ms +packages/azure-themes @Jacqueline-ms packages/react-conformance @microsoft/fluentui-react-build +packages/charts/chart-web-components @microsoft/charting-team packages/charts/react-charting @microsoft/charting-team packages/charts/react-charts-preview/library @microsoft/charting-team packages/charts/react-charts-preview/stories @microsoft/charting-team @@ -191,93 +193,64 @@ common/_common.scss @microsoft/cxe-red @phkuo ## vNext packages packages/react-components/keyboard-keys @microsoft/teams-prg -packages/react-components/react-accordion @microsoft/cxe-prg packages/react-components/react-accordion/library @microsoft/cxe-prg packages/react-components/react-accordion/stories @microsoft/cxe-prg -packages/react-components/react-avatar @microsoft/cxe-prg packages/react-components/react-avatar/library @microsoft/cxe-prg packages/react-components/react-avatar/stories @microsoft/cxe-prg -packages/react-components/react-badge @microsoft/cxe-prg packages/react-components/react-badge/library @microsoft/cxe-prg packages/react-components/react-badge/stories @microsoft/cxe-prg -packages/react-components/react-button @microsoft/cxe-red @khmakoto packages/react-components/react-button/library @microsoft/cxe-red @khmakoto packages/react-components/react-button/stories @microsoft/cxe-red @khmakoto -packages/react-components/react-card @microsoft/cxe-prg @marcosmoura packages/react-components/react-card/library @microsoft/cxe-prg @marcosmoura packages/react-components/react-card/stories @microsoft/cxe-prg @marcosmoura -packages/react-components/react-checkbox @microsoft/cxe-prg packages/react-components/react-checkbox/library @microsoft/cxe-prg packages/react-components/react-checkbox/stories @microsoft/cxe-prg -packages/react-components/react-combobox @microsoft/cxe-prg @microsoft/teams-prg packages/react-components/react-combobox/library @microsoft/cxe-prg @microsoft/teams-prg packages/react-components/react-combobox/stories @microsoft/cxe-prg @microsoft/teams-prg packages/react-components/react-components @microsoft/fluentui-react -packages/react-components/react-dialog @microsoft/teams-prg packages/react-components/react-dialog/library @microsoft/teams-prg packages/react-components/react-dialog/stories @microsoft/teams-prg -packages/react-components/react-divider @microsoft/cxe-prg packages/react-components/react-divider/library @microsoft/cxe-prg packages/react-components/react-divider/stories @microsoft/cxe-prg -packages/react-components/react-field @microsoft/cxe-prg packages/react-components/react-field/library @microsoft/cxe-prg packages/react-components/react-field/stories @microsoft/cxe-prg packages/react-focus @microsoft/cxe-red @khmakoto -packages/react-components/react-image @microsoft/cxe-prg packages/react-components/react-image/library @microsoft/cxe-prg packages/react-components/react-image/stories @microsoft/cxe-prg -packages/react-components/react-input @microsoft/cxe-prg packages/react-components/react-input/library @microsoft/cxe-prg packages/react-components/react-input/stories @microsoft/cxe-prg -packages/react-components/react-label @microsoft/cxe-prg packages/react-components/react-label/library @microsoft/cxe-prg packages/react-components/react-label/stories @microsoft/cxe-prg -packages/react-components/react-link @microsoft/cxe-prg packages/react-components/react-link/library @microsoft/cxe-prg packages/react-components/react-link/stories @microsoft/cxe-prg -packages/react-components/react-menu @microsoft/teams-prg packages/react-components/react-menu/library @microsoft/teams-prg packages/react-components/react-menu/stories @microsoft/teams-prg -packages/react-components/react-popover @microsoft/teams-prg packages/react-components/react-popover/library @microsoft/teams-prg packages/react-components/react-popover/stories @microsoft/teams-prg -packages/react-components/react-portal @microsoft/teams-prg packages/react-components/react-portal/library @microsoft/teams-prg packages/react-components/react-portal/stories @microsoft/teams-prg -packages/react-components/react-provider @microsoft/teams-prg packages/react-components/react-provider/library @microsoft/teams-prg packages/react-components/react-provider/stories @microsoft/teams-prg -packages/react-components/react-radio @microsoft/cxe-red @behowell @spmonahan packages/react-components/react-radio/library @microsoft/cxe-red @behowell @spmonahan packages/react-components/react-radio/stories @microsoft/cxe-red @behowell @spmonahan -packages/react-components/react-select @microsoft/cxe-prg packages/react-components/react-select/library @microsoft/cxe-prg packages/react-components/react-select/stories @microsoft/cxe-prg -packages/react-components/react-slider @microsoft/cxe-prg packages/react-components/react-slider/library @microsoft/cxe-prg packages/react-components/react-slider/stories @microsoft/cxe-prg -packages/react-components/react-spinbutton @microsoft/cxe-prg packages/react-components/react-spinbutton/library @microsoft/cxe-prg packages/react-components/react-spinbutton/stories @microsoft/cxe-prg -packages/react-components/react-spinner @microsoft/cxe-prg packages/react-components/react-spinner/library @microsoft/cxe-prg packages/react-components/react-spinner/stories @microsoft/cxe-prg -packages/react-components/react-switch @microsoft/cxe-prg packages/react-components/react-switch/library @microsoft/cxe-prg packages/react-components/react-switch/stories @microsoft/cxe-prg -packages/react-components/react-tabs @microsoft/cxe-prg @dmytrokirpa packages/react-components/react-tabs/library @microsoft/cxe-prg @dmytrokirpa packages/react-components/react-tabs/stories @microsoft/cxe-prg @dmytrokirpa -packages/react-components/react-text @microsoft/cxe-prg @marcosmoura packages/react-components/react-text/library @microsoft/cxe-prg @marcosmoura packages/react-components/react-text/stories @microsoft/cxe-prg @marcosmoura -packages/react-components/react-textarea @microsoft/cxe-prg packages/react-components/react-textarea/library @microsoft/cxe-prg packages/react-components/react-textarea/stories @microsoft/cxe-prg -packages/react-components/react-tooltip @microsoft/cxe-prg packages/react-components/react-tooltip/library @microsoft/cxe-prg packages/react-components/react-tooltip/stories @microsoft/cxe-prg -packages/react-components/react-toolbar @microsoft/teams-prg @chpalac @ling1726 packages/react-components/react-toolbar/library @microsoft/teams-prg @chpalac @ling1726 packages/react-components/react-toolbar/stories @microsoft/teams-prg @chpalac @ling1726 packages/react-components/react-portal-compat @microsoft/teams-prg @@ -286,88 +259,63 @@ packages/react-components/react-theme-sass @microsoft/teams-prg packages/react-components/theme-designer @microsoft/cxe-red @ms-acalzaretto packages/react-components/global-context @microsoft/teams-prg packages/react-components/babel-preset-global-context @microsoft/teams-prg -packages/react-components/react-table @microsoft/teams-prg packages/react-components/react-table/library @microsoft/teams-prg packages/react-components/react-table/stories @microsoft/teams-prg -packages/react-components/react-progress @microsoft/cxe-prg packages/react-components/react-progress/library @microsoft/cxe-prg packages/react-components/react-progress/stories @microsoft/cxe-prg -packages/react-components/react-persona @microsoft/cxe-prg packages/react-components/react-persona/library @microsoft/cxe-prg packages/react-components/react-persona/stories @microsoft/cxe-prg -packages/react-components/react-tree @microsoft/teams-prg packages/react-components/react-tree/library @microsoft/teams-prg packages/react-components/react-tree/stories @microsoft/teams-prg -packages/react-components/react-virtualizer @microsoft/xc-uxe @Mitch-At-Work packages/react-components/react-virtualizer/library @microsoft/xc-uxe @Mitch-At-Work packages/react-components/react-virtualizer/stories @microsoft/xc-uxe @Mitch-At-Work -packages/react-components/react-skeleton @microsoft/cxe-prg packages/react-components/react-skeleton/library @microsoft/cxe-prg packages/react-components/react-skeleton/stories @microsoft/cxe-prg packages/tokens @microsoft/teams-prg -packages/react-components/react-tags @microsoft/cxe-prg @microsoft/teams-prg packages/react-components/react-tags/library @microsoft/cxe-prg @microsoft/teams-prg packages/react-components/react-tags/stories @microsoft/cxe-prg @microsoft/teams-prg packages/react-components/react-migration-v0-v9/library @microsoft/teams-prg packages/react-components/react-migration-v0-v9/stories @microsoft/teams-prg -packages/react-components/react-datepicker-compat @microsoft/cxe-prg packages/react-components/react-datepicker-compat/library @microsoft/cxe-prg packages/react-components/react-datepicker-compat/stories @microsoft/cxe-prg packages/react-components/react-migration-v8-v9/library @microsoft/cxe-prg @geoffcoxmsft packages/react-components/react-migration-v8-v9/stories @microsoft/cxe-prg @geoffcoxmsft -packages/react-components/react-breadcrumb @microsoft/cxe-prg packages/react-components/react-breadcrumb/library @microsoft/cxe-prg packages/react-components/react-breadcrumb/stories @microsoft/cxe-prg -packages/react-components/react-drawer @microsoft/cxe-prg @marcosmoura packages/react-components/react-drawer/library @microsoft/cxe-prg @marcosmoura packages/react-components/react-drawer/stories @microsoft/cxe-prg @marcosmoura packages/react-components/react-storybook-addon-export-to-sandbox @microsoft/fluentui-react-build packages/react-components/babel-preset-storybook-full-source @microsoft/fluentui-react-build packages/react-components/react-jsx-runtime @microsoft/teams-prg -packages/react-components/react-toast @microsoft/teams-prg packages/react-components/react-toast/library @microsoft/teams-prg packages/react-components/react-toast/stories @microsoft/teams-prg -packages/react-components/react-search @microsoft/cxe-prg packages/react-components/react-search/library @microsoft/cxe-prg packages/react-components/react-search/stories @microsoft/cxe-prg packages/react-components/react-colorpicker-compat @microsoft/cxe-red @sopranopillow -packages/react-components/react-nav-preview @microsoft/cxe-red @microsoft/xc-uxe @mltejera packages/react-components/react-nav-preview/library @microsoft/cxe-red @microsoft/xc-uxe @mltejera packages/react-components/react-nav-preview/stories @microsoft/cxe-red @microsoft/xc-uxe @mltejera -packages/react-components/react-message-bar @microsoft/teams-prg packages/react-components/react-message-bar/library @microsoft/teams-prg packages/react-components/react-message-bar/stories @microsoft/teams-prg -packages/react-components/react-rating @microsoft/cxe-prg packages/react-components/react-rating/library @microsoft/cxe-prg packages/react-components/react-rating/stories @microsoft/cxe-prg -packages/react-components/react-swatch-picker @microsoft/cxe-prg packages/react-components/react-swatch-picker/library @microsoft/cxe-prg packages/react-components/react-swatch-picker/stories @microsoft/cxe-prg -packages/react-components/react-calendar-compat @microsoft/cxe-prg packages/react-components/react-calendar-compat/library @microsoft/cxe-prg packages/react-components/react-calendar-compat/stories @microsoft/cxe-prg -packages/react-components/react-infolabel @microsoft/cxe-prg packages/react-components/react-infolabel/library @microsoft/cxe-prg packages/react-components/react-infolabel/stories @microsoft/cxe-prg -packages/react-components/react-list-preview @microsoft/teams-prg -packages/react-components/react-list-preview/library @microsoft/teams-prg -packages/react-components/react-list-preview/stories @microsoft/teams-prg -packages/react-components/react-motion @microsoft/teams-prg +packages/react-components/react-list/library @microsoft/teams-prg +packages/react-components/react-list/stories @microsoft/teams-prg packages/react-components/react-motion/library @microsoft/teams-prg packages/react-components/react-motion/stories @microsoft/teams-prg -packages/react-components/react-teaching-popover @microsoft/xc-uxe @Mitch-At-Work packages/react-components/react-teaching-popover/library @microsoft/xc-uxe @Mitch-At-Work packages/react-components/react-teaching-popover/stories @microsoft/xc-uxe @Mitch-At-Work -packages/react-components/react-timepicker-compat @microsoft/teams-prg packages/react-components/react-timepicker-compat/library @microsoft/teams-prg packages/react-components/react-timepicker-compat/stories @microsoft/teams-prg -packages/react-components/react-icons-compat @microsoft/cxe-red @tomi-msft packages/react-components/react-icons-compat/library @microsoft/cxe-red @tomi-msft packages/react-components/react-icons-compat/stories @microsoft/cxe-red @tomi-msft -packages/react-components/react-tag-picker @microsoft/teams-prg packages/react-components/react-tag-picker/library @microsoft/teams-prg packages/react-components/react-tag-picker/stories @microsoft/teams-prg -packages/react-components/react-carousel @microsoft/xc-uxe @microsoft/teams-prg @Mitch-At-Work packages/react-components/react-carousel/library @microsoft/xc-uxe @microsoft/teams-prg @Mitch-At-Work packages/react-components/react-carousel/stories @microsoft/xc-uxe @microsoft/teams-prg @Mitch-At-Work packages/react-components/recipes @microsoft/fluentui-react @sopranopillow @@ -430,6 +378,7 @@ packages/react/src/components/WeeklyDayPicker @microsoft/cxe-red packages/react/src/utilities/ThemeProvider @microsoft/cxe-red @dzearing packages/fluent2-theme @microsoft/cxe-red @geoffcoxmsft ## Experiments +packages/react-experiments @microsoft/cxe-red packages/react-experiments/src/components/Signals @ThomasMichon packages/react-experiments/src/components/Tile @ThomasMichon packages/react-experiments/src/components/TileList @ThomasMichon diff --git a/.github/ISSUE_TEMPLATE/01-react-components-bug-report.yml b/.github/ISSUE_TEMPLATE/01-react-components-bug-report.yml index fa2b5be3bc0082..3ac9d7de51cab4 100644 --- a/.github/ISSUE_TEMPLATE/01-react-components-bug-report.yml +++ b/.github/ISSUE_TEMPLATE/01-react-components-bug-report.yml @@ -26,8 +26,15 @@ body: - Breadcrumb - Button - Card + - CardFooter + - CardHeader + - CardPreview + - Carousel + - CarouselNav - Checkbox - Combobox + - CompoundButton + - Counter Badge - DataGrid - Dialog - Divider @@ -38,14 +45,19 @@ body: - Image - InfoLabel - Input + - InteractionTag - Label - Link + - List - Menu + - MenuButton + - MenuList - MessageBar - Overflow - Persona - Popover - Portal + - PresenceBadge - ProgressBar - RadioGroup - Rating @@ -56,32 +68,37 @@ body: - Slider - SpinButton - Spinner + - SplitButton - SwatchPicker - Switch - - Table - TabList + - Table - Tag + - TagGroup - TagPicker - TeachingPopover - Text - Textarea - Toast + - ToggleButton - Toolbar - Tooltip - Tree + - ColorPicker (Preview) + - Nav (Preview) + - Virtualizer (Preview) + - VirtualizerScrollView (Preview) + - VirtualizerScrollViewDynamic (Preview) - Calendar (Compat) - DatePicker (Compat) - TimePicker (Compat) - - Carousel (Preview) - - List (Preview) - - Nav (Preview) - - Virtualizer (Preview) - - Motion - Icons - - Theme/Tokens - - Utilities (utilities we provide besides Components, e.g. apis from react-utilities) - - Migration Shims v0 - - Migration Shims v8 + - Migration Shims V0 + - Migration Shims V8 + - Motion + - Theme + - Tokens + - Utilities - Other... validations: required: true diff --git a/.github/actions/run-publish-vr-screenshot/action.yml b/.github/actions/run-publish-vr-screenshot/action.yml index 8be472a2b66ce0..126e44de7c69d8 100644 --- a/.github/actions/run-publish-vr-screenshot/action.yml +++ b/.github/actions/run-publish-vr-screenshot/action.yml @@ -84,58 +84,64 @@ runs: path: screenshots # ========================================================== - # STEPS BELOW WILL FAIL TO RUN ON GITHUB ACTIONS - see TODOs + # STEPS BELOW WILL FAIL TO RUN ON GITHUB ACTIONS - see @TODOs # ========================================================== + # + # @TODO: will need Federated Identity to be added to tool similarly like we have for monosize azure plugin https://github.com/microsoft/monosize/blob/main/packages/monosize-storage-azure/src/createTableClient.mts#L27 + # - name: VR App - Create Policy + # if: ${{ env.isPR == 'true' && env.vrTestSkip == 'no' }} + # shell: bash + # run: | + # set -exuo pipefail + # npx vr-approval-cli@0.4.11 create-policy --nonBlockingPipelines '{"${{ env.pipelineId }}":{"pipelineStatus": "PENDING","pipelineName": "${{ env.pipelineName }}"}}' --clientType 'FLUENTUI' + # env: + # VR_APP_API_URL: ${{ secrets.VR_APP_API_URL }} + # TENANT_ID: ${{ secrets.TenantId }} + # PRINCIPAL_CLIENT_ID: ${{ secrets.PrincipalClientId }} + # SERVICE_CONNECTION_ID: ${{ secrets.ServiceConnectionId }} + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # TODO: will need Federated Identity to be added to tool similarly like we have for monosize azure plugin https://github.com/microsoft/monosize/blob/main/packages/monosize-storage-azure/src/createTableClient.mts#L27 - - name: VR App - Create Policy - if: ${{ env.isPR == 'true' }} - shell: bash - run: | - set -exuo pipefail - npx vr-approval-cli@0.4.11 create-policy --nonBlockingPipelines '{"${{ env.pipelineId }}":{"pipelineStatus": "PENDING","pipelineName": "${{ env.pipelineName }}"}}' --clientType 'FLUENTUI' - env: - VR_APP_API_URL: ${{ secrets.VR_APP_API_URL }} - TENANT_ID: ${{ secrets.TenantId }} - PRINCIPAL_CLIENT_ID: ${{ secrets.PrincipalClientId }} - SERVICE_CONNECTION_ID: ${{ secrets.ServiceConnectionId }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # @TODO: will need azure/login@v2 to be added to the workflow {@link file://./../../workflows/pr-website-deploy-comment.yml#49} + # - name: Run screenshotdiff + # if: ${{ env.isPR == 'true' && env.vrTestSkip == 'no' }} + # uses: azure/cli@v2 + # env: + # ciDefinitionId is set to 205 because that is the ID of the baseline pipeline (https://uifabric.visualstudio.com/fabricpublic/_build?definitionId=205) used by the master branch + # TODO: not sure how this will be used on GHA cc @evancharlton @TristanWatanabe + # CI_DEFINITION_ID: 205 + # API_TOKEN: ${{ secrets.fabric-public-pipeline-access-PAT }} + # GITHUB_API_TOKEN: ${{ secrets.githubRepoStatusPAT }} + # VR_APP_API_URL: ${{ secrets.VR_APP_API_URL }} + # STORAGE_ACCOUNT_ID: ${{ secrets.StorageAccountId }} + # TENANT_ID: ${{ secrets.TenantId }} + # PRINCIPAL_CLIENT_ID: ${{ secrets.PrincipalClientId }} + # SERVICE_CONNECTION_ID: ${{ secrets.ServiceConnectionId }} + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # with: + # azcliversion: latest + # inlineScript: | + # npx vr-approval-cli@0.4.11 run-diff --screenshotsDirectory ./screenshots --buildType pr --clientType "FLUENTUI" --ciDefinitionId ${{ env.CI_DEFINITION_ID }} --groupName ${{ env.pipelineName }} --locationPrefix ${{ inputs.locationPrefix }} --locationPostfix ${{ inputs.locationPostfix }} --pipelineId ${{ env.pipelineId }} --clientName ${{ inputs.clientName }} --threshold '0.04' --cumThreshold '1' - # TODO: will need azure/login@v2 to be added to the workflow {@ling file://./../../workflows/pr-website-deploy-comment.yml#49} - - name: Run screenshotdiff - if: ${{ env.isPR == 'true' && env.vrTestSkip == 'no' }} - uses: azure/cli@v2 - env: - # ciDefinitionId is set to 205 because that is the ID of the baseline pipeline (https://uifabric.visualstudio.com/fabricpublic/_build?definitionId=205) used by the master branch - # TODO: not sure how this will be used on GHA cc @evancharlton @TristanWatanabe - CI_DEFINITION_ID: 205 - API_TOKEN: ${{ secrets.fabric-public-pipeline-access-PAT }} - GITHUB_API_TOKEN: ${{ secrets.githubRepoStatusPAT }} - VR_APP_API_URL: ${{ secrets.VR_APP_API_URL }} - STORAGE_ACCOUNT_ID: ${{ secrets.StorageAccountId }} - TENANT_ID: ${{ secrets.TenantId }} - PRINCIPAL_CLIENT_ID: ${{ secrets.PrincipalClientId }} - SERVICE_CONNECTION_ID: ${{ secrets.ServiceConnectionId }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - azcliversion: latest - inlineScript: | - npx vr-approval-cli@0.4.11 run-diff --screenshotsDirectory ./screenshots --buildType pr --clientType "FLUENTUI" --ciDefinitionId ${{ env.CI_DEFINITION_ID }} --groupName ${{ env.pipelineName }} --locationPrefix ${{ inputs.locationPrefix }} --locationPostfix ${{ inputs.locationPostfix }} --pipelineId ${{ env.pipelineId }} --clientName ${{ inputs.clientName }} --threshold '0.04' --cumThreshold '1' + # ============ + # NON PR STEPS + # ============ - # TODO: will need azure/login@v2 to be added to the workflow {@ling file://./../../workflows/pr-website-deploy-comment.yml#49} - - name: Run screenshotdiff - update baseline (non PR) - if: ${{ github.event_name != 'pull_request' }} - uses: azure/cli@v2 - env: - API_TOKEN: ${{ secrets.fabric-public-pipeline-access-PAT }} - GITHUB_API_TOKEN: ${{ secrets.githubRepoStatusPAT }} - VR_APP_API_URL: ${{ secrets.VR_APP_API_URL }} - STORAGE_ACCOUNT_ID: ${{ secrets.StorageAccountId }} - TENANT_ID: ${{ secrets.TenantId }} - PRINCIPAL_CLIENT_ID: ${{ secrets.PrincipalClientId }} - SERVICE_CONNECTION_ID: ${{ secrets.ServiceConnectionId }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - azcliversion: latest - inlineScript: | - npx vr-approval-cli@0.4.11 run-diff --buildType release --screenshotsDirectory ./screenshots --clientType "FLUENTUI" --locationPrefix ${{ inputs.locationPrefix }} --locationPostfix ${{ inputs.locationPostfix }} --pipelineId ${{ env.pipelineId }} + # @NOTE: this step runs via ADO from master branch only for now {@link file://./../../../azure-pipelines.vrt-baseline.yml } + + # @TODO: will need azure/login@v2 to be added to the workflow {@link file://./../../workflows/pr-website-deploy-comment.yml#49} + # - name: Run screenshotdiff - update baseline (non PR) + # if: ${{ github.event_name != 'pull_request' }} + # uses: azure/cli@v2 + # env: + # API_TOKEN: ${{ secrets.fabric-public-pipeline-access-PAT }} + # GITHUB_API_TOKEN: ${{ secrets.githubRepoStatusPAT }} + # VR_APP_API_URL: ${{ secrets.VR_APP_API_URL }} + # STORAGE_ACCOUNT_ID: ${{ secrets.StorageAccountId }} + # TENANT_ID: ${{ secrets.TenantId }} + # PRINCIPAL_CLIENT_ID: ${{ secrets.PrincipalClientId }} + # SERVICE_CONNECTION_ID: ${{ secrets.ServiceConnectionId }} + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # with: + # azcliversion: latest + # inlineScript: | + # npx vr-approval-cli@0.4.11 run-diff --buildType release --screenshotsDirectory ./screenshots --clientType "FLUENTUI" --locationPrefix ${{ inputs.locationPrefix }} --locationPostfix ${{ inputs.locationPostfix }} --pipelineId ${{ env.pipelineId }} diff --git a/.github/scripts/prepare-vr-screenshots-for-upload.js b/.github/scripts/prepare-vr-screenshots-for-upload.js new file mode 100644 index 00000000000000..7c0367587796e4 --- /dev/null +++ b/.github/scripts/prepare-vr-screenshots-for-upload.js @@ -0,0 +1,46 @@ +// @ts-check + +const { join } = require('node:path'); +const { existsSync, cpSync, mkdirSync, writeFileSync } = require('node:fs'); +const { createProjectGraphAsync } = require('@nx/devkit'); + +module.exports = main; + +/** + * + * @param {import('../../scripts/triage-bot/src/types.ts').GithubScriptsParams & {config:{projects:string[]}} } options + * @returns + */ +async function main(options) { + const rootDir = 'screenshots'; + const graph = await createProjectGraphAsync(); + + /** + * @type {{[project_name:string]:{path:string}}} + */ + const report = {}; + + options.config.projects.forEach(project => { + const projectConfig = graph.nodes[project]; + const screenshotsPath = join(projectConfig.data.root, 'dist/screenshots'); + + if (!existsSync(screenshotsPath)) { + return; + } + + const destinationFolder = join(rootDir, project); + + mkdirSync(destinationFolder, { recursive: true }); + + cpSync(screenshotsPath, destinationFolder, { + recursive: true, + }); + + console.info(`✅ ${screenshotsPath} contents copied to ${destinationFolder}`); + report[project] = { path: project }; + }); + + writeFileSync(join(rootDir, 'screenshots-report.json'), JSON.stringify(report, null, 2)); + + return rootDir; +} diff --git a/.github/workflows/azure-static-web-apps-deploy.yml b/.github/workflows/azure-static-web-apps-deploy.yml index 1e049feb7b0b2c..bd29d2351ec5a1 100644 --- a/.github/workflows/azure-static-web-apps-deploy.yml +++ b/.github/workflows/azure-static-web-apps-deploy.yml @@ -13,6 +13,7 @@ permissions: jobs: build_and_deploy: + if: ${{ github.repository_owner == 'microsoft' }} runs-on: ubuntu-latest name: Build and Deploy Job steps: diff --git a/.github/workflows/bundle-size-base.yml b/.github/workflows/bundle-size-base.yml index cf71367ac61bc0..1c2aa9fb32bfd4 100644 --- a/.github/workflows/bundle-size-base.yml +++ b/.github/workflows/bundle-size-base.yml @@ -18,6 +18,7 @@ env: jobs: bundle-size-base: + if: ${{ github.repository_owner == 'microsoft' }} # TODO: use macos-14-xlarge (arm) for faster builds once https://github.com/Azure/cli/issues/172 will be fixed runs-on: ubuntu-latest permissions: diff --git a/.github/workflows/bundle-size-comment.yml b/.github/workflows/bundle-size-comment.yml index 9f2c116816e7c4..14715007aec7e8 100644 --- a/.github/workflows/bundle-size-comment.yml +++ b/.github/workflows/bundle-size-comment.yml @@ -8,7 +8,7 @@ on: jobs: comment: runs-on: ubuntu-latest - if: ${{ github.event.workflow_run.event == 'pull_request' && github.event.workflow_run.conclusion == 'success' }} + if: ${{ github.repository_owner == 'microsoft' }} && ${{ github.event.workflow_run.event == 'pull_request' && github.event.workflow_run.conclusion == 'success' }} permissions: pull-requests: write steps: diff --git a/.github/workflows/bundle-size.yml b/.github/workflows/bundle-size.yml index e523e3066e049e..adeabf8c750305 100644 --- a/.github/workflows/bundle-size.yml +++ b/.github/workflows/bundle-size.yml @@ -16,6 +16,7 @@ env: jobs: bundle-size: + if: ${{ github.repository_owner == 'microsoft' }} runs-on: macos-14-xlarge permissions: contents: 'read' diff --git a/.github/workflows/check-packages.yml b/.github/workflows/check-packages.yml index 8fadfbeedb554e..338a77e578bd90 100644 --- a/.github/workflows/check-packages.yml +++ b/.github/workflows/check-packages.yml @@ -5,6 +5,7 @@ on: jobs: dependency-deduplication: runs-on: ubuntu-latest + if: ${{ github.repository_owner == 'microsoft' }} steps: - uses: actions/checkout@v4 with: @@ -37,6 +38,7 @@ jobs: dependency-mismatches: runs-on: ubuntu-latest + if: ${{ github.repository_owner == 'microsoft' }} steps: - uses: actions/checkout@v4 with: @@ -63,6 +65,7 @@ jobs: change-files: runs-on: ubuntu-latest + if: ${{ github.repository_owner == 'microsoft' }} steps: - uses: actions/checkout@v4 with: diff --git a/.github/workflows/check-tooling.yml b/.github/workflows/check-tooling.yml index d43b425484aa17..9004893bb3bc49 100644 --- a/.github/workflows/check-tooling.yml +++ b/.github/workflows/check-tooling.yml @@ -14,6 +14,7 @@ env: jobs: check-tools: + if: ${{ github.repository_owner == 'microsoft' }} strategy: matrix: os: [ubuntu-latest, windows-latest] diff --git a/.github/workflows/create-milestone.yml b/.github/workflows/create-milestone.yml index 36fac805beb64a..14acf3cf83f372 100644 --- a/.github/workflows/create-milestone.yml +++ b/.github/workflows/create-milestone.yml @@ -10,6 +10,7 @@ permissions: jobs: create-milestone: + if: ${{ github.repository_owner == 'microsoft' }} name: Create this month's milestone runs-on: ubuntu-latest steps: diff --git a/.github/workflows/docsite-publish-ghpages.yml b/.github/workflows/docsite-publish-ghpages.yml index d22b389deedd2d..666616fd2f5a13 100644 --- a/.github/workflows/docsite-publish-ghpages.yml +++ b/.github/workflows/docsite-publish-ghpages.yml @@ -10,7 +10,7 @@ on: jobs: check: runs-on: ubuntu-latest - if: ${{ contains(github.event.head_commit.message, 'applying package updates') || github.event_name == 'workflow_dispatch' }} + if: ${{ github.repository_owner == 'microsoft' }} && ${{ contains(github.event.head_commit.message, 'applying package updates') || github.event_name == 'workflow_dispatch' }} outputs: status: ${{ steps.verify-react-components-changed.outputs.any_changed == 'true' || github.event_name == 'workflow_dispatch' }} @@ -37,7 +37,7 @@ jobs: - uses: actions/setup-node@v4 with: - node-version: 20.x + node-version: 20 cache: 'yarn' - name: Install packages @@ -49,9 +49,10 @@ jobs: STORYBOOK_APPINSIGHTS_INSTRUMENTATION_KEY: ${{ secrets.STORYBOOK_APPINSIGHTS_INSTRUMENTATION_KEY }} - name: Upload Pages Artifact - uses: actions/upload-pages-artifact@v1 + uses: actions/upload-pages-artifact@v3 with: path: './apps/public-docsite-v9/dist/storybook/' + deploy: runs-on: ubuntu-latest needs: build @@ -69,4 +70,4 @@ jobs: steps: - name: Deploy to GitHub Pages id: deployment - uses: actions/deploy-pages@v1 + uses: actions/deploy-pages@v4 diff --git a/.github/workflows/pr-housekeeping.yml b/.github/workflows/pr-housekeeping.yml index cc099a3290ad1c..2b6d63086c61da 100644 --- a/.github/workflows/pr-housekeeping.yml +++ b/.github/workflows/pr-housekeeping.yml @@ -9,6 +9,7 @@ permissions: jobs: label: + if: ${{ github.repository_owner == 'microsoft' }} runs-on: ubuntu-latest steps: - uses: actions/labeler@v5 @@ -18,6 +19,7 @@ jobs: configuration-path: .github/labeler.yml assign-to-current-milestone: + if: ${{ github.repository_owner == 'microsoft' }} runs-on: ubuntu-latest steps: - name: Assign to latest milestone diff --git a/.github/workflows/pr-vrt-comment.yml b/.github/workflows/pr-vrt-comment.yml new file mode 100644 index 00000000000000..e60ea899fc1e7f --- /dev/null +++ b/.github/workflows/pr-vrt-comment.yml @@ -0,0 +1,167 @@ +name: VRT CI | Comment on PR +on: + workflow_run: + workflows: ['VRT CI'] + types: + - completed + +concurrency: + # see https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#example-only-cancel-in-progress-jobs-or-runs-for-the-current-workflow + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +env: + NX_PARALLEL: 4 # ubuntu-latest = 4-core CPU / 16 GB of RAM | macos-14-xlarge (arm) = 6-core CPU / 14 GB of RAM + NX_PREFER_TS_NODE: true + NX_VERBOSE_LOGGING: true + +jobs: + run_vr_diff: + runs-on: ubuntu-latest + if: ${{ github.repository_owner == 'microsoft' }} && ${{ github.event.workflow_run.event == 'pull_request' && github.event.workflow_run.conclusion == 'success' }} + outputs: + pr_number: ${{ steps.pr_number.outputs.result }} + permissions: + # necessary to write comments to the PR from the vr-approval-cli + pull-requests: write + id-token: write + steps: + - uses: actions/checkout@v4 + with: + sparse-checkout: | + .github + + # downloaded artifacts will contain screenshots from affected project including 'screenshots-report.json' which contains proper image mappings for affected project + # - see @{link file://./../scripts/prepare-vr-screenshots-for-upload.js#43} + # - see @{link file://./pr-vrt.yml#56} + - uses: actions/download-artifact@v4 + with: + name: vrscreenshot + path: ./screenshots + run-id: ${{ github.event.workflow_run.id }} + github-token: ${{ secrets.GITHUB_TOKEN }} + + - uses: actions/download-artifact@v4 + with: + name: pr-number + path: ./results + run-id: ${{ github.event.workflow_run.id }} + github-token: ${{ secrets.GITHUB_TOKEN }} + + - name: Load PR number + uses: actions/github-script@v7 + id: pr_number + with: + script: | + const run = require('./.github/scripts/validate-pr-number'); + const result = run({filePath:'results/pr.txt'}); + return result; + result-encoding: string + + - name: VR App - Create Policy + run: | + echo "MAKE THIS STEP WORK" + + - name: Login via Azure CLI + uses: azure/login@v2 + with: + client-id: ${{ secrets.AZURE_CLIENT_ID }} + tenant-id: ${{ secrets.AZURE_TENANT_ID }} + subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} + + - name: Fetch Access Token + run: | + echo "ACCESSTOKEN=$(az account get-access-token --query accessToken --output tsv)" >> $GITHUB_ENV + + - name: Run screenshotdiff + env: + VR_APP_API_URL: 'https://vrapprovaldev2.azurewebsites.net/api/' + STORAGE_ACCOUNT_ID: 'https://onejstestartifactsprod.blob.core.windows.net/' + SYSTEM_ACCESSTOKEN: ${{ env.ACCESSTOKEN }} + TENANT_ID: ${{ secrets.AZURE_TENANT_ID }} + PRINCIPAL_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }} + SERVICE_CONNECTION_ID: ${{ secrets.ADO_VRT_SERVICE_CONNECTION_ID }} + GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + echo "MAKE THIS WORK" + npx vr-approval-cli@0.4.11 run-diff --screenshotsDirectory ./screenshots --buildType pr --clientType "FLUENTUI" --threshold '0.04' --cumThreshold '1' + +# 💡 NOTE: +# - following is manually provided setup used in previous ADO pipeline {@link file://./../../azure-pipelines.vrt-baseline.yml } +# - keeping for future reference + +# web_components: +# runs-on: ubuntu-latest +# env: +# pipelineId: '315' +# pipelineName: 'fluent-ui_VRT_Pipeline_web-components' +# steps: +# - uses: actions/checkout@v4 +# with: +# fetch-depth: 0 +# - name: Run and publish VR screenshot +# uses: ./.github/actions/run-publish-vr-screenshot +# with: +# fluentVersion: webcomponents +# vrTestPackageName: 'vr-tests-web-components' +# vrTestPackagePath: 'apps/vr-tests-web-components' +# locationPrefix: 'FluentUI-web-components' +# locationPostfix: 'vrscreenshotwebcomponents' +# clientName: 'fluentui-web-components-v3' + +# react_components: +# runs-on: ubuntu-latest +# env: +# pipelineId: '311' +# pipelineName: 'fluent-ui_VRT_Pipeline_v9' +# steps: +# - uses: actions/checkout@v4 +# with: +# fetch-depth: 0 +# - name: Run and publish VR screenshot +# uses: ./.github/actions/run-publish-vr-screenshot +# with: +# fluentVersion: v9 +# vrTestPackageName: 'vr-tests-react-components' +# vrTestPackagePath: 'apps/vr-tests-react-components' +# locationPrefix: 'fluentuiv9' +# locationPostfix: 'vrscreenshotv9' +# clientName: 'fluentuiv9' + +# react: +# runs-on: ubuntu-latest +# env: +# pipelineId: '312' +# pipelineName: 'fluent-ui_VRT_Pipeline_v8' +# steps: +# - uses: actions/checkout@v4 +# with: +# fetch-depth: 0 +# - name: Run and publish VR screenshot +# uses: ./.github/actions/run-publish-vr-screenshot +# with: +# fluentVersion: v8 +# vrTestPackageName: 'vr-tests' +# vrTestPackagePath: 'apps/vr-tests' +# locationPrefix: 'fluentuiv8' +# locationPostfix: 'vrscreenshotv8' +# clientName: 'fluentuiv8' + +# react_northstar: +# runs-on: ubuntu-latest +# env: +# pipelineId: '313' +# pipelineName: 'fluent-ui_VRT_Pipeline_v0' +# steps: +# - uses: actions/checkout@v4 +# with: +# fetch-depth: 0 +# - name: Run and publish VR screenshot +# uses: ./.github/actions/run-publish-vr-screenshot +# with: +# fluentVersion: v0 +# vrTestPackageName: 'docs' +# vrTestPackagePath: 'packages/fluentui/docs' +# locationPrefix: 'FluentUI-v0' +# locationPostfix: 'vrscreenshotv0' +# clientName: 'FluentUIV0' diff --git a/.github/workflows/pr-vrt.yml b/.github/workflows/pr-vrt.yml index 4e14e107dcca81..90901135c32cb7 100644 --- a/.github/workflows/pr-vrt.yml +++ b/.github/workflows/pr-vrt.yml @@ -1,10 +1,9 @@ name: VRT CI - on: - push: - branches: - - master pull_request: + # TODO: once testing is done enable pull_request on all branches again + branches: + - vrt-gha-testing concurrency: # see https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#example-only-cancel-in-progress-jobs-or-runs-for-the-current-workflow @@ -12,7 +11,7 @@ concurrency: cancel-in-progress: true env: - NX_PARALLEL: 4 # ubuntu-latest = 4-core CPU / 16 GB of RAM | macos-14-xlarge (arm) = 6-core CPU / 14 GB of RAM + NX_PARALLEL: 6 # ubuntu-latest = 4-core CPU / 16 GB of RAM | macos-14-xlarge (arm) = 6-core CPU / 14 GB of RAM NX_PREFER_TS_NODE: true NX_VERBOSE_LOGGING: true @@ -21,78 +20,56 @@ permissions: actions: 'read' jobs: - web_components: - runs-on: ubuntu-latest - env: - pipelineId: '315' - pipelineName: 'fluent-ui_VRT_Pipeline_web-components' + generate_vrt_screenshots: + if: ${{ github.repository_owner == 'microsoft' }} + runs-on: macos-14-xlarge steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - - name: Run and publish VR screenshot - uses: ./.github/actions/run-publish-vr-screenshot - with: - fluentVersion: webcomponents - vrTestPackageName: 'vr-tests-web-components' - vrTestPackagePath: 'apps/vr-tests-web-components' - locationPrefix: 'FluentUI-web-components' - locationPostfix: 'vrscreenshotwebcomponents' - clientName: 'fluentui-web-components-v3' - react_components: - runs-on: ubuntu-latest - env: - pipelineId: '311' - pipelineName: 'fluent-ui_VRT_Pipeline_v9' - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - name: Run and publish VR screenshot - uses: ./.github/actions/run-publish-vr-screenshot + - name: Derive appropriate SHAs for base and head for `nx affected` commands + uses: nrwl/nx-set-shas@v4 with: - fluentVersion: v9 - vrTestPackageName: 'vr-tests-react-components' - vrTestPackagePath: 'apps/vr-tests-react-components' - locationPrefix: 'fluentuiv9' - locationPostfix: 'vrscreenshotv9' - clientName: 'fluentuiv9' + main-branch-name: 'master' - react: - runs-on: ubuntu-latest - env: - pipelineId: '312' - pipelineName: 'fluent-ui_VRT_Pipeline_v8' - steps: - - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: - fetch-depth: 0 - - name: Run and publish VR screenshot - uses: ./.github/actions/run-publish-vr-screenshot + cache: 'yarn' + node-version: '20' + + - run: yarn install --frozen-lockfile + - run: yarn playwright install --with-deps + + - name: Run VR tests (generate screenshots) + run: yarn nx affected -t test-vr --nxBail + + - name: Prepare VR screenshots for upload + uses: actions/github-script@v7 + id: screenshots_root with: - fluentVersion: v8 - vrTestPackageName: 'vr-tests' - vrTestPackagePath: 'apps/vr-tests' - locationPrefix: 'fluentuiv8' - locationPostfix: 'vrscreenshotv8' - clientName: 'fluentuiv8' + script: | + const run = require('./.github/scripts/prepare-vr-screenshots-for-upload'); + const config = { + projects: ['vr-tests-web-components', 'vr-tests-react-components', 'vr-tests', 'docs'] + }; + const result = await run({github,context,core,config}); + return result; + result-encoding: string - react_northstar: - runs-on: ubuntu-latest - env: - pipelineId: '313' - pipelineName: 'fluent-ui_VRT_Pipeline_v0' - steps: - - uses: actions/checkout@v4 + - name: Upload VR screenshots + uses: actions/upload-artifact@v4 with: - fetch-depth: 0 - - name: Run and publish VR screenshot - uses: ./.github/actions/run-publish-vr-screenshot + name: vrscreenshot + retention-days: 1 + path: ${{steps.screenshots_root.outputs.result}} + + - name: Save PR number + run: echo ${{ github.event.number }} > pr.txt + - uses: actions/upload-artifact@v4 with: - fluentVersion: v0 - vrTestPackageName: 'docs' - vrTestPackagePath: 'packages/fluentui/docs' - locationPrefix: 'FluentUI-v0' - locationPostfix: 'vrscreenshotv0' - clientName: 'FluentUIV0' + name: pr-number + retention-days: 1 + if-no-files-found: error + path: | + pr.txt diff --git a/.github/workflows/pr-website-deploy-comment.yml b/.github/workflows/pr-website-deploy-comment.yml index d636e5ad9ddcde..a5ae23eb4be542 100644 --- a/.github/workflows/pr-website-deploy-comment.yml +++ b/.github/workflows/pr-website-deploy-comment.yml @@ -17,7 +17,7 @@ env: jobs: deploy: runs-on: ubuntu-latest - if: ${{ github.event.workflow_run.event == 'pull_request' && github.event.workflow_run.conclusion == 'success' }} + if: ${{ github.repository_owner == 'microsoft' }} && ${{ github.event.workflow_run.event == 'pull_request' && github.event.workflow_run.conclusion == 'success' }} outputs: pr_number: ${{ steps.pr_number.outputs.result }} website_url: ${{ steps.website_url.outputs.id }} diff --git a/.github/workflows/pr-website-deploy.yml b/.github/workflows/pr-website-deploy.yml index 862324e3e5c93f..149b78e0716dec 100644 --- a/.github/workflows/pr-website-deploy.yml +++ b/.github/workflows/pr-website-deploy.yml @@ -16,6 +16,7 @@ env: jobs: bundle: + if: ${{ github.repository_owner == 'microsoft' }} runs-on: macos-14-xlarge permissions: contents: 'read' @@ -37,6 +38,8 @@ jobs: node-version: '20' - run: echo number of CPUs "$(getconf _NPROCESSORS_ONLN)" + - name: NodeJS heap default size + run: node -e 'console.log(v8.getHeapStatistics().heap_size_limit / 1024 / 1024 + " MB");' - run: yarn install --frozen-lockfile diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 91d1fb2e791014..5712801a144c5d 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -23,6 +23,7 @@ env: jobs: main: + if: ${{ github.repository_owner == 'microsoft' }} runs-on: macos-14-xlarge permissions: contents: 'read' @@ -81,6 +82,7 @@ jobs: git diff-index --quiet HEAD -- || exit 1 e2e: + if: ${{ github.repository_owner == 'microsoft' }} # TODO: switch to macos once problematic tests are fixed # https://github.com/microsoft/fluentui/issues/33173 # https://github.com/microsoft/fluentui/issues/33172 diff --git a/README.md b/README.md index ce78d0bfa950d5..c2bffa8e5ced88 100644 --- a/README.md +++ b/README.md @@ -17,8 +17,8 @@ The following table will help you navigate the 3 projects and understand their d | **Used By** | Microsoft 365 | Office | Edge | | **Read Me** | [README.md](/packages/react-components/react-components/README.md) | [README.md](/packages/react/README.md)| [README.md](/packages/web-components/README.md) | | **Changelog** | [CHANGELOG.md](/packages/react-components/react-components/CHANGELOG.md) | [CHANGELOG.md](/packages/react/CHANGELOG.md) | [CHANGELOG.md](/packages/web-components/CHANGELOG.md) | -| **Repo** | [packages/react-components](/packages/react-components/react-components/CHANGELOG.md) | [./packages/react](/packages/react) | [./packages/web-components](/packages/web-components) | -| **Quick Start** | [Quick Start](https://react.fluentui.dev/?path=/docs/concepts-developer-quick-start--page) | [Quick Start](https://developer.microsoft.com/en-us/fluentui#/get-started/web) | [See README.md](https://github.com/microsoft/fluentui/tree/master/packages/web-components/README.md) | +| **Repo** | [packages/react-components](/packages/react-components/react-components) | [./packages/react](/packages/react) | [./packages/web-components](/packages/web-components) | +| **Quick Start** | [Quick Start](https://react.fluentui.dev/?path=/docs/concepts-developer-quick-start--docs) | [Quick Start](https://developer.microsoft.com/en-us/fluentui#/get-started/web) | [See README.md](https://github.com/microsoft/fluentui/tree/master/packages/web-components/README.md) | | **Docs** | [https://react.fluentui.dev/](https://react.fluentui.dev/) | [aka.ms/fluentui-react](https://aka.ms/fluentui-react) | [aka.ms/fluentui-web-components](https://aka.ms/fluentui-web-components) | | **NPM** | `@fluentui/react-components` | `@fluentui/react`| `@fluentui/web-components` | | **Version** | [](https://www.npmjs.com/package/@fluentui/react-components) | [](https://www.npmjs.com/package/@fluentui/react) | [](https://www.npmjs.com/package/@fluentui/web-components/v/3.0.0-beta.15) | diff --git a/apps/chart-docsite/.eslintrc.json b/apps/chart-docsite/.eslintrc.json index 45462ffe5954dc..a75719fd243047 100644 --- a/apps/chart-docsite/.eslintrc.json +++ b/apps/chart-docsite/.eslintrc.json @@ -4,7 +4,7 @@ "rules": { "@typescript-eslint/no-explicit-any": "off", "@typescript-eslint/jsx-no-bind": "off", - "deprecation/deprecation": "off", + "@typescript-eslint/no-deprecated": "off", "import/no-extraneous-dependencies": ["error", { "packageDir": [".", "../.."] }] } } diff --git a/apps/chart-docsite/.storybook/fix-title.js b/apps/chart-docsite/.storybook/fix-title.js deleted file mode 100644 index 3f72f01ea672c5..00000000000000 --- a/apps/chart-docsite/.storybook/fix-title.js +++ /dev/null @@ -1,36 +0,0 @@ -const fs = require('fs'); -const path = require('path'); - -/** - * - * @param {string} filePath - * @param {string} title - */ -function fixTitle(filePath, title) { - const htmlDocumentPath = path.resolve(__dirname, filePath); - const htmlDocument = fs.readFileSync(htmlDocumentPath, 'utf-8'); - const updatedHtmlDocument = htmlDocument.replace(/