diff --git a/change/@fluentui-react-portal-54fcbe1c-d23f-48f6-916a-9752737af543.json b/change/@fluentui-react-portal-54fcbe1c-d23f-48f6-916a-9752737af543.json
new file mode 100644
index 0000000000000..2a770628b1160
--- /dev/null
+++ b/change/@fluentui-react-portal-54fcbe1c-d23f-48f6-916a-9752737af543.json
@@ -0,0 +1,7 @@
+{
+ "type": "patch",
+ "comment": "chore: Migrate to new package structure.",
+ "packageName": "@fluentui/react-portal",
+ "email": "tristan.watanabe@gmail.com",
+ "dependentChangeType": "patch"
+}
diff --git a/change/@fluentui-react-portal-compat-0f43f3ad-6a47-4dec-8dfc-209831dd34b5.json b/change/@fluentui-react-portal-compat-0f43f3ad-6a47-4dec-8dfc-209831dd34b5.json
new file mode 100644
index 0000000000000..7fa24ca821436
--- /dev/null
+++ b/change/@fluentui-react-portal-compat-0f43f3ad-6a47-4dec-8dfc-209831dd34b5.json
@@ -0,0 +1,7 @@
+{
+ "type": "none",
+ "comment": "chore: Migrate to new package structure.",
+ "packageName": "@fluentui/react-portal-compat",
+ "email": "tristan.watanabe@gmail.com",
+ "dependentChangeType": "none"
+}
diff --git a/change/@fluentui-react-portal-compat-context-a9e06321-41d0-43bb-b673-d1da46746c8a.json b/change/@fluentui-react-portal-compat-context-a9e06321-41d0-43bb-b673-d1da46746c8a.json
new file mode 100644
index 0000000000000..11d29d810c6b4
--- /dev/null
+++ b/change/@fluentui-react-portal-compat-context-a9e06321-41d0-43bb-b673-d1da46746c8a.json
@@ -0,0 +1,7 @@
+{
+ "type": "patch",
+ "comment": "chore: Migrate to new package structure.",
+ "packageName": "@fluentui/react-portal-compat-context",
+ "email": "tristan.watanabe@gmail.com",
+ "dependentChangeType": "patch"
+}
diff --git a/packages/react-components/react-portal-compat-context/.npmignore b/packages/react-components/react-portal-compat-context/.npmignore
index 52d2a7273a151..f7ce568a6dbf7 100644
--- a/packages/react-components/react-portal-compat-context/.npmignore
+++ b/packages/react-components/react-portal-compat-context/.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-portal-compat-context/Spec.md b/packages/react-components/react-portal-compat-context/docs/Spec.md
similarity index 100%
rename from packages/react-components/react-portal-compat-context/Spec.md
rename to packages/react-components/react-portal-compat-context/docs/Spec.md
diff --git a/packages/react-components/react-portal-compat/.npmignore b/packages/react-components/react-portal-compat/.npmignore
index 52d2a7273a151..f7ce568a6dbf7 100644
--- a/packages/react-components/react-portal-compat/.npmignore
+++ b/packages/react-components/react-portal-compat/.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-portal-compat/e2e/PortalCompat.e2e.tsx b/packages/react-components/react-portal-compat/src/PortalCompat.cy.tsx
similarity index 91%
rename from packages/react-components/react-portal-compat/e2e/PortalCompat.e2e.tsx
rename to packages/react-components/react-portal-compat/src/PortalCompat.cy.tsx
index 5d77c57cef59f..92f406ed4374b 100644
--- a/packages/react-components/react-portal-compat/e2e/PortalCompat.e2e.tsx
+++ b/packages/react-components/react-portal-compat/src/PortalCompat.cy.tsx
@@ -2,7 +2,7 @@ import * as React from 'react';
import { mount as mountBase } from '@cypress/react';
import { FluentProvider } from '@fluentui/react-provider';
import { teamsLightTheme } from '@fluentui/react-theme';
-import { PortalCompatProvider } from '../src';
+import { PortalCompatProvider } from '@fluentui/react-portal-compat';
import { usePortalCompat } from '@fluentui/react-portal-compat-context';
const mount = (element: JSX.Element) => {
@@ -21,7 +21,7 @@ describe('PortalCompat', () => {
if (ref.current) {
return registerPortal(ref.current);
}
- }, []);
+ }, [registerPortal]);
return (
diff --git a/packages/react-components/react-portal-compat/e2e/tsconfig.json b/packages/react-components/react-portal-compat/tsconfig.cy.json
similarity index 70%
rename from packages/react-components/react-portal-compat/e2e/tsconfig.json
rename to packages/react-components/react-portal-compat/tsconfig.cy.json
index f6b23b30d510b..93a140885851d 100644
--- a/packages/react-components/react-portal-compat/e2e/tsconfig.json
+++ b/packages/react-components/react-portal-compat/tsconfig.cy.json
@@ -1,9 +1,9 @@
{
- "extends": "../tsconfig.json",
+ "extends": "./tsconfig.json",
"compilerOptions": {
"isolatedModules": false,
"types": ["node", "cypress", "cypress-storybook/cypress", "cypress-real-events"],
"lib": ["ES2019", "dom"]
},
- "include": ["**/*.ts", "**/*.tsx"]
+ "include": ["**/*.cy.ts", "**/*.cy.tsx"]
}
diff --git a/packages/react-components/react-portal-compat/tsconfig.json b/packages/react-components/react-portal-compat/tsconfig.json
index 8a5dce296d241..2502aa8966a25 100644
--- a/packages/react-components/react-portal-compat/tsconfig.json
+++ b/packages/react-components/react-portal-compat/tsconfig.json
@@ -18,6 +18,9 @@
},
{
"path": "./tsconfig.spec.json"
+ },
+ {
+ "path": "./tsconfig.cy.json"
}
]
}
diff --git a/packages/react-components/react-portal-compat/tsconfig.lib.json b/packages/react-components/react-portal-compat/tsconfig.lib.json
index 7763b7fe82bad..c2f9c89ec5c8d 100644
--- a/packages/react-components/react-portal-compat/tsconfig.lib.json
+++ b/packages/react-components/react-portal-compat/tsconfig.lib.json
@@ -9,6 +9,6 @@
"inlineSources": true,
"types": ["static-assets", "environment"]
},
- "exclude": ["**/*.spec.ts", "**/*.spec.tsx", "**/*.test.ts", "**/*.test.tsx"],
+ "exclude": ["**/*.spec.ts", "**/*.spec.tsx", "**/*.test.ts", "**/*.test.tsx", "**/*.cy.ts", "**/*.cy.tsx"],
"include": ["./src/**/*.ts", "./src/**/*.tsx"]
}
diff --git a/packages/react-components/react-portal/.npmignore b/packages/react-components/react-portal/.npmignore
index 52d2a7273a151..f7ce568a6dbf7 100644
--- a/packages/react-components/react-portal/.npmignore
+++ b/packages/react-components/react-portal/.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-portal/.storybook/main.js b/packages/react-components/react-portal/.storybook/main.js
index f57cfd09509e7..26536b61b387f 100644
--- a/packages/react-components/react-portal/.storybook/main.js
+++ b/packages/react-components/react-portal/.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-portal/.storybook/tsconfig.json b/packages/react-components/react-portal/.storybook/tsconfig.json
index f9f60e1234ed4..ea89218a3d916 100644
--- a/packages/react-components/react-portal/.storybook/tsconfig.json
+++ b/packages/react-components/react-portal/.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-portal/Spec.md b/packages/react-components/react-portal/docs/Spec.md
similarity index 100%
rename from packages/react-components/react-portal/Spec.md
rename to packages/react-components/react-portal/docs/Spec.md
diff --git a/packages/react-components/react-portal/src/stories/Portal/PortalDefault.stories.tsx b/packages/react-components/react-portal/stories/Portal/PortalDefault.stories.tsx
similarity index 100%
rename from packages/react-components/react-portal/src/stories/Portal/PortalDefault.stories.tsx
rename to packages/react-components/react-portal/stories/Portal/PortalDefault.stories.tsx
diff --git a/packages/react-components/react-portal/src/stories/Portal/PortalDescription.md b/packages/react-components/react-portal/stories/Portal/PortalDescription.md
similarity index 100%
rename from packages/react-components/react-portal/src/stories/Portal/PortalDescription.md
rename to packages/react-components/react-portal/stories/Portal/PortalDescription.md
diff --git a/packages/react-components/react-portal/src/stories/Portal/index.stories.tsx b/packages/react-components/react-portal/stories/Portal/index.stories.tsx
similarity index 100%
rename from packages/react-components/react-portal/src/stories/Portal/index.stories.tsx
rename to packages/react-components/react-portal/stories/Portal/index.stories.tsx