diff --git a/change/@fluentui-react-tabs-4923a382-6071-4f27-846e-b8d206ba30dd.json b/change/@fluentui-react-tabs-4923a382-6071-4f27-846e-b8d206ba30dd.json new file mode 100644 index 0000000000000..e1ec9713bf5d9 --- /dev/null +++ b/change/@fluentui-react-tabs-4923a382-6071-4f27-846e-b8d206ba30dd.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "chore: Migrate to new package structure.", + "packageName": "@fluentui/react-tabs", + "email": "tristan.watanabe@gmail.com", + "dependentChangeType": "patch" +} diff --git a/packages/react-components/react-tabs/.npmignore b/packages/react-components/react-tabs/.npmignore index 52d2a7273a151..f7ce568a6dbf7 100644 --- a/packages/react-components/react-tabs/.npmignore +++ b/packages/react-components/react-tabs/.npmignore @@ -3,10 +3,11 @@ bundle-size/ config/ coverage/ -e2e/ +docs/ etc/ node_modules/ src/ +stories/ dist/types/ temp/ __fixtures__ @@ -16,7 +17,7 @@ __tests__ *.api.json *.log *.spec.* -*.stories.* +*.cy.* *.test.* *.yml diff --git a/packages/react-components/react-tabs/.storybook/main.js b/packages/react-components/react-tabs/.storybook/main.js index f57cfd09509e7..26536b61b387f 100644 --- a/packages/react-components/react-tabs/.storybook/main.js +++ b/packages/react-components/react-tabs/.storybook/main.js @@ -2,7 +2,7 @@ const rootMain = require('../../../../.storybook/main'); module.exports = /** @type {Omit} */ ({ ...rootMain, - stories: [...rootMain.stories, '../src/**/*.stories.mdx', '../src/**/index.stories.@(ts|tsx)'], + stories: [...rootMain.stories, '../stories/**/*.stories.mdx', '../stories/**/index.stories.@(ts|tsx)'], addons: [...rootMain.addons], webpackFinal: (config, options) => { const localConfig = { ...rootMain.webpackFinal(config, options) }; diff --git a/packages/react-components/react-tabs/.storybook/tsconfig.json b/packages/react-components/react-tabs/.storybook/tsconfig.json index f9f60e1234ed4..ea89218a3d916 100644 --- a/packages/react-components/react-tabs/.storybook/tsconfig.json +++ b/packages/react-components/react-tabs/.storybook/tsconfig.json @@ -6,5 +6,5 @@ "checkJs": true, "types": ["static-assets", "environment", "storybook__addons"] }, - "include": ["../src/**/*.stories.ts", "../src/**/*.stories.tsx", "*.js"] + "include": ["../stories/**/*.stories.ts", "../stories/**/*.stories.tsx", "*.js"] } diff --git a/packages/react-components/react-tabs/config/api-extractor.json b/packages/react-components/react-tabs/config/api-extractor.json index eee94ff6de902..637d9797ae3e6 100644 --- a/packages/react-components/react-tabs/config/api-extractor.json +++ b/packages/react-components/react-tabs/config/api-extractor.json @@ -1,5 +1,9 @@ { "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", "extends": "@fluentui/scripts/api-extractor/api-extractor.common.v-next.json", - "mainEntryPointFilePath": "/dist/types/index.d.ts" + "dtsRollup": { + "enabled": true, + "untrimmedFilePath": "", + "publicTrimmedFilePath": "/dist/index.d.ts" + } } diff --git a/packages/react-components/react-tabs/config/api-extractor.local.json b/packages/react-components/react-tabs/config/api-extractor.local.json deleted file mode 100644 index 69e764bce3a59..0000000000000 --- a/packages/react-components/react-tabs/config/api-extractor.local.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - "extends": "./api-extractor.json", - "mainEntryPointFilePath": "/dist/types/packages/react-components//src/index.d.ts" -} diff --git a/packages/react-components/react-tabs/MIGRATION.md b/packages/react-components/react-tabs/docs/MIGRATION.md similarity index 100% rename from packages/react-components/react-tabs/MIGRATION.md rename to packages/react-components/react-tabs/docs/MIGRATION.md diff --git a/packages/react-components/react-tabs/Spec.md b/packages/react-components/react-tabs/docs/Spec.md similarity index 100% rename from packages/react-components/react-tabs/Spec.md rename to packages/react-components/react-tabs/docs/Spec.md diff --git a/packages/react-components/react-tabs/package.json b/packages/react-components/react-tabs/package.json index 89f41830c59a3..18c60fbc0ee8e 100644 --- a/packages/react-components/react-tabs/package.json +++ b/packages/react-components/react-tabs/package.json @@ -4,7 +4,7 @@ "description": "Fluent UI React tabs components", "main": "lib-commonjs/index.js", "module": "lib/index.js", - "typings": "dist/index.d.ts", + "typings": "./dist/index.d.ts", "sideEffects": false, "repository": { "type": "git", @@ -19,10 +19,9 @@ "lint": "just-scripts lint", "start": "yarn storybook", "test": "jest --passWithNoTests", - "docs": "api-extractor run --config=config/api-extractor.local.json --local", - "build:local": "tsc -p ./tsconfig.lib.json --module esnext --emitDeclarationOnly && node ../../../scripts/typescript/normalize-import --output ./dist/types/packages/react-components/react-tabs/src && yarn docs", "storybook": "start-storybook", - "type-check": "tsc -b tsconfig.json" + "type-check": "tsc -b tsconfig.json", + "generate-api": "tsc -p ./tsconfig.lib.json --emitDeclarationOnly && just-scripts api-extractor" }, "devDependencies": { "@fluentui/eslint-plugin": "*", @@ -53,9 +52,10 @@ }, "exports": { ".": { - "types": "./lib/index.d.ts", + "types": "./dist/index.d.ts", "import": "./lib/index.js", "require": "./lib-commonjs/index.js" - } + }, + "./package.json": "./package.json" } } diff --git a/packages/react-components/react-tabs/src/components/Tab/Tab.test.tsx b/packages/react-components/react-tabs/src/components/Tab/Tab.test.tsx index 949660c966acd..0bfe4c8b30548 100644 --- a/packages/react-components/react-tabs/src/components/Tab/Tab.test.tsx +++ b/packages/react-components/react-tabs/src/components/Tab/Tab.test.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { fireEvent, render } from '@testing-library/react'; import { Tab } from './Tab'; -import { isConformant } from '../../common/isConformant'; +import { isConformant } from '../../testing/isConformant'; import { TabListContext } from '../TabList/TabListContext'; import { TabListContextValue } from '../TabList/TabList.types'; import { CalendarMonthRegular } from '@fluentui/react-icons'; diff --git a/packages/react-components/react-tabs/src/components/TabList/TabList.test.tsx b/packages/react-components/react-tabs/src/components/TabList/TabList.test.tsx index 6ed614d7b4b21..fabfe96585e0c 100644 --- a/packages/react-components/react-tabs/src/components/TabList/TabList.test.tsx +++ b/packages/react-components/react-tabs/src/components/TabList/TabList.test.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import { render } from '@testing-library/react'; -import { isConformant } from '../../common/isConformant'; +import { isConformant } from '../../testing/isConformant'; import { Tab } from '../Tab/index'; import { TabList } from './index'; diff --git a/packages/react-components/react-tabs/src/common/isConformant.ts b/packages/react-components/react-tabs/src/testing/isConformant.ts similarity index 100% rename from packages/react-components/react-tabs/src/common/isConformant.ts rename to packages/react-components/react-tabs/src/testing/isConformant.ts diff --git a/packages/react-components/react-tabs/src/stories/Tabs/TabListAppearance.stories.tsx b/packages/react-components/react-tabs/stories/Tabs/TabListAppearance.stories.tsx similarity index 100% rename from packages/react-components/react-tabs/src/stories/Tabs/TabListAppearance.stories.tsx rename to packages/react-components/react-tabs/stories/Tabs/TabListAppearance.stories.tsx diff --git a/packages/react-components/react-tabs/src/stories/Tabs/TabListBestPractices.md b/packages/react-components/react-tabs/stories/Tabs/TabListBestPractices.md similarity index 100% rename from packages/react-components/react-tabs/src/stories/Tabs/TabListBestPractices.md rename to packages/react-components/react-tabs/stories/Tabs/TabListBestPractices.md diff --git a/packages/react-components/react-tabs/src/stories/Tabs/TabListDefault.stories.tsx b/packages/react-components/react-tabs/stories/Tabs/TabListDefault.stories.tsx similarity index 100% rename from packages/react-components/react-tabs/src/stories/Tabs/TabListDefault.stories.tsx rename to packages/react-components/react-tabs/stories/Tabs/TabListDefault.stories.tsx diff --git a/packages/react-components/react-tabs/src/stories/Tabs/TabListDescription.md b/packages/react-components/react-tabs/stories/Tabs/TabListDescription.md similarity index 100% rename from packages/react-components/react-tabs/src/stories/Tabs/TabListDescription.md rename to packages/react-components/react-tabs/stories/Tabs/TabListDescription.md diff --git a/packages/react-components/react-tabs/src/stories/Tabs/TabListDisabled.stories.tsx b/packages/react-components/react-tabs/stories/Tabs/TabListDisabled.stories.tsx similarity index 100% rename from packages/react-components/react-tabs/src/stories/Tabs/TabListDisabled.stories.tsx rename to packages/react-components/react-tabs/stories/Tabs/TabListDisabled.stories.tsx diff --git a/packages/react-components/react-tabs/src/stories/Tabs/TabListHorizontal.stories.tsx b/packages/react-components/react-tabs/stories/Tabs/TabListHorizontal.stories.tsx similarity index 100% rename from packages/react-components/react-tabs/src/stories/Tabs/TabListHorizontal.stories.tsx rename to packages/react-components/react-tabs/stories/Tabs/TabListHorizontal.stories.tsx diff --git a/packages/react-components/react-tabs/src/stories/Tabs/TabListIconOnly.stories.tsx b/packages/react-components/react-tabs/stories/Tabs/TabListIconOnly.stories.tsx similarity index 100% rename from packages/react-components/react-tabs/src/stories/Tabs/TabListIconOnly.stories.tsx rename to packages/react-components/react-tabs/stories/Tabs/TabListIconOnly.stories.tsx diff --git a/packages/react-components/react-tabs/src/stories/Tabs/TabListSizeMedium.stories.tsx b/packages/react-components/react-tabs/stories/Tabs/TabListSizeMedium.stories.tsx similarity index 100% rename from packages/react-components/react-tabs/src/stories/Tabs/TabListSizeMedium.stories.tsx rename to packages/react-components/react-tabs/stories/Tabs/TabListSizeMedium.stories.tsx diff --git a/packages/react-components/react-tabs/src/stories/Tabs/TabListSizeSmall.stories.tsx b/packages/react-components/react-tabs/stories/Tabs/TabListSizeSmall.stories.tsx similarity index 100% rename from packages/react-components/react-tabs/src/stories/Tabs/TabListSizeSmall.stories.tsx rename to packages/react-components/react-tabs/stories/Tabs/TabListSizeSmall.stories.tsx diff --git a/packages/react-components/react-tabs/src/stories/Tabs/TabListVertical.stories.tsx b/packages/react-components/react-tabs/stories/Tabs/TabListVertical.stories.tsx similarity index 100% rename from packages/react-components/react-tabs/src/stories/Tabs/TabListVertical.stories.tsx rename to packages/react-components/react-tabs/stories/Tabs/TabListVertical.stories.tsx diff --git a/packages/react-components/react-tabs/src/stories/Tabs/TabListWithIcon.stories.tsx b/packages/react-components/react-tabs/stories/Tabs/TabListWithIcon.stories.tsx similarity index 100% rename from packages/react-components/react-tabs/src/stories/Tabs/TabListWithIcon.stories.tsx rename to packages/react-components/react-tabs/stories/Tabs/TabListWithIcon.stories.tsx diff --git a/packages/react-components/react-tabs/src/stories/Tabs/TabListWithOverflow.stories.tsx b/packages/react-components/react-tabs/stories/Tabs/TabListWithOverflow.stories.tsx similarity index 100% rename from packages/react-components/react-tabs/src/stories/Tabs/TabListWithOverflow.stories.tsx rename to packages/react-components/react-tabs/stories/Tabs/TabListWithOverflow.stories.tsx diff --git a/packages/react-components/react-tabs/src/stories/Tabs/TabListWithPanels.stories.tsx b/packages/react-components/react-tabs/stories/Tabs/TabListWithPanels.stories.tsx similarity index 100% rename from packages/react-components/react-tabs/src/stories/Tabs/TabListWithPanels.stories.tsx rename to packages/react-components/react-tabs/stories/Tabs/TabListWithPanels.stories.tsx diff --git a/packages/react-components/react-tabs/src/stories/Tabs/index.stories.tsx b/packages/react-components/react-tabs/stories/Tabs/index.stories.tsx similarity index 100% rename from packages/react-components/react-tabs/src/stories/Tabs/index.stories.tsx rename to packages/react-components/react-tabs/stories/Tabs/index.stories.tsx diff --git a/packages/react-components/react-tabs/tsconfig.lib.json b/packages/react-components/react-tabs/tsconfig.lib.json index 5d7b14f1e0b70..6f90cf95c005b 100644 --- a/packages/react-components/react-tabs/tsconfig.lib.json +++ b/packages/react-components/react-tabs/tsconfig.lib.json @@ -3,14 +3,14 @@ "compilerOptions": { "noEmit": false, "lib": ["ES2019", "dom"], - "outDir": "dist", "declaration": true, - "declarationDir": "dist/types", + "declarationDir": "../../../dist/out-tsc/types", + "outDir": "../../../dist/out-tsc", "inlineSources": true, "types": ["static-assets", "environment"] }, "exclude": [ - "./src/common/**", + "./src/testing/**", "**/*.spec.ts", "**/*.spec.tsx", "**/*.test.ts", diff --git a/packages/react-components/react-tabs/tsconfig.spec.json b/packages/react-components/react-tabs/tsconfig.spec.json index 469fcba4d7ba7..911456fe4b4d9 100644 --- a/packages/react-components/react-tabs/tsconfig.spec.json +++ b/packages/react-components/react-tabs/tsconfig.spec.json @@ -5,5 +5,13 @@ "outDir": "dist", "types": ["jest", "node"] }, - "include": ["**/*.spec.ts", "**/*.spec.tsx", "**/*.test.ts", "**/*.test.tsx", "**/*.d.ts"] + "include": [ + "**/*.spec.ts", + "**/*.spec.tsx", + "**/*.test.ts", + "**/*.test.tsx", + "**/*.d.ts", + "./src/testing/**/*.ts", + "./src/testing/**/*.tsx" + ] }