diff --git a/packages/react-storybook-addon/.npmignore b/packages/react-storybook-addon/.npmignore index fa2d3a7f5111ca..e719afb921bc93 100644 --- a/packages/react-storybook-addon/.npmignore +++ b/packages/react-storybook-addon/.npmignore @@ -1,4 +1,3 @@ -.cache/ .storybook/ .vscode/ bundle-size/ diff --git a/packages/react-storybook-addon/.storybook/main.js b/packages/react-storybook-addon/.storybook/main.js index a9589e11b63e4a..610a5a4f01159f 100644 --- a/packages/react-storybook-addon/.storybook/main.js +++ b/packages/react-storybook-addon/.storybook/main.js @@ -1,12 +1,14 @@ const rootMain = require('../../../.storybook/main'); -module.exports = /** @type {Pick} */ ({ +module.exports = /** @type {Omit} */ ({ + ...rootMain, stories: [...rootMain.stories, '../src/**/*.stories.mdx', '../src/**/*.stories.@(ts|tsx)'], addons: ['../preset.js', ...rootMain.addons], webpackFinal: (config, options) => { const localConfig = { ...rootMain.webpackFinal(config, options) }; + // add your own webpack tweaks if needed + return localConfig; }, - previewHead: rootMain.previewHead, }); diff --git a/packages/react-storybook-addon/.storybook/tsconfig.json b/packages/react-storybook-addon/.storybook/tsconfig.json index 3bd9adcd2ee05e..29aa16f2f178f3 100644 --- a/packages/react-storybook-addon/.storybook/tsconfig.json +++ b/packages/react-storybook-addon/.storybook/tsconfig.json @@ -1,9 +1,10 @@ { "extends": "../tsconfig.json", "compilerOptions": { + "outDir": "", "allowJs": true, - "checkJs": true + "checkJs": true, + "types": ["static-assets", "environment", "inline-style-expand-shorthand", "storybook__addons"] }, - "exclude": ["../**/*.test.ts", "../**/*.test.js", "../**/*.test.tsx", "../**/*.test.jsx"], - "include": ["../src/**/*", "*.js"] + "include": ["../src/**/*.stories.ts", "../src/**/*.stories.tsx", "*.js"] } diff --git a/packages/react-storybook-addon/config/api-extractor.local.json b/packages/react-storybook-addon/config/api-extractor.local.json index c2ea401c1c3685..7974a129e8a337 100644 --- a/packages/react-storybook-addon/config/api-extractor.local.json +++ b/packages/react-storybook-addon/config/api-extractor.local.json @@ -1,5 +1,5 @@ { "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", "extends": "./api-extractor.json", - "mainEntryPointFilePath": "/dist//src/index.d.ts" + "mainEntryPointFilePath": "/dist/packages//src/index.d.ts" } diff --git a/packages/react-storybook-addon/jest.config.js b/packages/react-storybook-addon/jest.config.js index fc9806327507f0..5dd3e18c1a44d2 100644 --- a/packages/react-storybook-addon/jest.config.js +++ b/packages/react-storybook-addon/jest.config.js @@ -8,7 +8,7 @@ module.exports = { preset: '../../jest.preset.js', globals: { 'ts-jest': { - tsConfig: '/tsconfig.json', + tsConfig: '/tsconfig.spec.json', diagnostics: false, }, }, diff --git a/packages/react-storybook-addon/package.json b/packages/react-storybook-addon/package.json index a25ad9b11859f9..c5a2cb0a5cb00b 100644 --- a/packages/react-storybook-addon/package.json +++ b/packages/react-storybook-addon/package.json @@ -21,8 +21,9 @@ "start": "yarn storybook", "test": "jest --passWithNoTests", "docs": "api-extractor run --config=config/api-extractor.local.json --local", - "build:local": "tsc -p . --module esnext --emitDeclarationOnly && node ../../scripts/typescript/normalize-import --output dist/react-storybook-addon/src && yarn docs", - "storybook": "start-storybook" + "build:local": "tsc -p ./tsconfig.lib.json --module esnext --emitDeclarationOnly && node ../../scripts/typescript/normalize-import --output ./dist/packages/react-storybook-addon/src && yarn docs", + "storybook": "start-storybook", + "type-check": "tsc -b tsconfig.json" }, "devDependencies": { "@fluentui/eslint-plugin": "*", diff --git a/packages/react-storybook-addon/src/index.ts b/packages/react-storybook-addon/src/index.ts index 3da679ee45e465..ecb1744ced790a 100644 --- a/packages/react-storybook-addon/src/index.ts +++ b/packages/react-storybook-addon/src/index.ts @@ -1,3 +1,4 @@ export type { FluentGlobals, FluentStoryContext } from './hooks'; -export { themes, ThemeIds } from './theme'; +export type { ThemeIds } from './theme'; +export { themes } from './theme'; export { THEME_ID } from './constants'; diff --git a/packages/react-storybook-addon/tsconfig.json b/packages/react-storybook-addon/tsconfig.json index 4befe6a6ce1ac0..affceae1828ae1 100644 --- a/packages/react-storybook-addon/tsconfig.json +++ b/packages/react-storybook-addon/tsconfig.json @@ -1,17 +1,25 @@ { "extends": "../../tsconfig.base.json", - "include": ["src"], "compilerOptions": { - "target": "ES2015", - "module": "CommonJS", - "lib": ["ES2015", "dom"], - "outDir": "dist", - "jsx": "react", - "declaration": true, - "experimentalDecorators": true, + "target": "ES2019", + "noEmit": true, + "isolatedModules": true, "importHelpers": true, + "jsx": "react", "noUnusedLocals": true, - "preserveConstEnums": true, - "types": ["jest", "custom-global", "inline-style-expand-shorthand", "storybook__addons"] - } + "preserveConstEnums": true + }, + "include": [], + "files": [], + "references": [ + { + "path": "./tsconfig.lib.json" + }, + { + "path": "./tsconfig.spec.json" + }, + { + "path": "./.storybook/tsconfig.json" + } + ] } diff --git a/packages/react-storybook-addon/tsconfig.lib.json b/packages/react-storybook-addon/tsconfig.lib.json new file mode 100644 index 00000000000000..51f5726b71c686 --- /dev/null +++ b/packages/react-storybook-addon/tsconfig.lib.json @@ -0,0 +1,12 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "noEmit": false, + "lib": ["ES2019", "dom"], + "outDir": "dist", + "declaration": true, + "types": ["static-assets", "environment", "inline-style-expand-shorthand"] + }, + "exclude": ["**/*.spec.ts", "**/*.spec.tsx", "**/*.test.ts", "**/*.test.tsx", "**/*.stories.ts", "**/*.stories.tsx"], + "include": ["./src/**/*.ts", "./src/**/*.tsx"] +} diff --git a/packages/react-storybook-addon/tsconfig.spec.json b/packages/react-storybook-addon/tsconfig.spec.json new file mode 100644 index 00000000000000..28fa5226de4204 --- /dev/null +++ b/packages/react-storybook-addon/tsconfig.spec.json @@ -0,0 +1,9 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "module": "CommonJS", + "outDir": "dist", + "types": ["jest", "node", "inline-style-expand-shorthand"] + }, + "include": ["**/*.spec.ts", "**/*.spec.tsx", "**/*.test.ts", "**/*.test.tsx", "**/*.d.ts"] +}