diff --git a/build/gulp/plugins/gulp-example-source.ts b/build/gulp/plugins/gulp-example-source.ts index 9826d42f37..f725ce8d6d 100644 --- a/build/gulp/plugins/gulp-example-source.ts +++ b/build/gulp/plugins/gulp-example-source.ts @@ -7,7 +7,7 @@ import Vinyl from 'vinyl' const prettierConfig = require('../../../.prettierrc.json') -import { ExampleSource } from '../../../docs/src/types' +import { ExampleSource } from './util/docs-types' import transformStarImportPlugin from '../../babel/transform-star-import-plugin' import { getRelativePathToSourceFile } from './util' diff --git a/build/gulp/plugins/util/docs-types.ts b/build/gulp/plugins/util/docs-types.ts new file mode 100644 index 0000000000..109d6c3b24 --- /dev/null +++ b/build/gulp/plugins/util/docs-types.ts @@ -0,0 +1,5 @@ +// Temporary workaround to prevent having a circular dependency on @fluentui/docs or +// outside-package path imports in several files. Long-term the types and/or docs build scripts +// should move somewhere else. +// TODO (@ecraig12345) - remove relative docs import +export * from '../../.././../docs/src/types' diff --git a/build/gulp/plugins/util/getComponentInfo.ts b/build/gulp/plugins/util/getComponentInfo.ts index 6166f08a1f..ab27db050f 100644 --- a/build/gulp/plugins/util/getComponentInfo.ts +++ b/build/gulp/plugins/util/getComponentInfo.ts @@ -4,7 +4,7 @@ import _ from 'lodash' import path from 'path' import fs from 'fs' -import { BehaviorInfo, ComponentInfo, ComponentProp } from 'docs/src/types' +import { BehaviorInfo, ComponentInfo, ComponentProp } from './docs-types' import * as docgen from './docgen' import parseDefaultValue from './parseDefaultValue' import parseDocblock from './parseDocblock' diff --git a/build/gulp/plugins/util/getShorthandInfo.ts b/build/gulp/plugins/util/getShorthandInfo.ts index 6da230c0dc..307a7d8d47 100644 --- a/build/gulp/plugins/util/getShorthandInfo.ts +++ b/build/gulp/plugins/util/getShorthandInfo.ts @@ -2,7 +2,7 @@ import * as Babel from '@babel/core' import { NodePath } from '@babel/traverse' import * as t from '@babel/types' -import { ComponentInfo } from 'docs/src/types' +import { ComponentInfo } from './docs-types' type ShorthandInfo = Required< Pick diff --git a/build/gulp/plugins/util/parseDefaultValue.ts b/build/gulp/plugins/util/parseDefaultValue.ts index f8b9ee5220..18902e3363 100644 --- a/build/gulp/plugins/util/parseDefaultValue.ts +++ b/build/gulp/plugins/util/parseDefaultValue.ts @@ -1,7 +1,7 @@ import _ from 'lodash' import * as React from 'react' -import { ComponentPropType } from 'docs/src/types' +import { ComponentPropType } from './docs-types' import { PropItem } from './docgen' const parseDefaultValue = ( diff --git a/build/gulp/plugins/util/parseType.ts b/build/gulp/plugins/util/parseType.ts index 3bd85369dc..947b69b58a 100644 --- a/build/gulp/plugins/util/parseType.ts +++ b/build/gulp/plugins/util/parseType.ts @@ -3,7 +3,7 @@ import { NodePath } from '@babel/traverse' import * as t from '@babel/types' import _ from 'lodash' -import { ComponentPropType } from 'docs/src/types' +import { ComponentPropType } from './docs-types' import { PropItem } from './docgen' import parseTypeAnnotation from './parseTypeAnnotation' diff --git a/build/gulp/plugins/util/parseTypeAnnotation.ts b/build/gulp/plugins/util/parseTypeAnnotation.ts index b6b34a26de..57d4c306ff 100644 --- a/build/gulp/plugins/util/parseTypeAnnotation.ts +++ b/build/gulp/plugins/util/parseTypeAnnotation.ts @@ -1,7 +1,7 @@ import * as t from '@babel/types' import _ from 'lodash' -import { ComponentPropType } from 'docs/src/types' +import { ComponentPropType } from './docs-types' const keywords: Record = { any: t.isTSAnyKeyword, diff --git a/build/gulp/tasks/perf.ts b/build/gulp/tasks/perf.ts index 19a49987a1..f09b9c65e3 100644 --- a/build/gulp/tasks/perf.ts +++ b/build/gulp/tasks/perf.ts @@ -18,7 +18,7 @@ import { } from '../../../perf/types' import config from '../../config' import webpackPlugin from '../plugins/gulp-webpack' -import { safeLaunchOptions } from 'build/puppeteer.config' +import { safeLaunchOptions } from '../../puppeteer.config' const { paths } = config diff --git a/build/gulp/tasks/test-dependencies/utils.ts b/build/gulp/tasks/test-dependencies/utils.ts index 9b8e550c2b..c713a86de3 100644 --- a/build/gulp/tasks/test-dependencies/utils.ts +++ b/build/gulp/tasks/test-dependencies/utils.ts @@ -59,11 +59,7 @@ export const prepareWebpackConfig = (options: WebpackOptions) => { ], resolve: { extensions: ['.ts', '.tsx', '.js', '.json'], - alias: { - ...lernaAliases(), - src: paths.packageSrc('react'), - docs: paths.base('docs'), - }, + alias: lernaAliases(), }, } } diff --git a/build/gulp/tasks/test-projects.ts b/build/gulp/tasks/test-projects.ts index db86817347..208a7411c6 100644 --- a/build/gulp/tasks/test-projects.ts +++ b/build/gulp/tasks/test-projects.ts @@ -11,7 +11,7 @@ import del from 'del' import config from '../../config' import tmp from 'tmp' import http from 'http' -import { safeLaunchOptions } from 'build/puppeteer.config' +import { safeLaunchOptions } from '../../puppeteer.config' type PackedPackages = Record diff --git a/build/tsconfig.docs.json b/build/tsconfig.docs.json index 93fc104626..e49fbafbb1 100644 --- a/build/tsconfig.docs.json +++ b/build/tsconfig.docs.json @@ -1,13 +1,7 @@ { "extends": "./tsconfig.common.json", "compilerOptions": { - "module": "esnext", - "paths": { - "@fluentui/*": ["packages/*/src"], - "docs/*": ["docs/*"], - "src/*": ["packages/react/src/*"], - "test/*": ["packages/react/test/*"] - } + "module": "esnext" }, - "include": ["../docs/src", "../packages/react/src", "../types"] + "include": ["../docs/src", "../types"] } diff --git a/build/webpack.config.perf.ts b/build/webpack.config.perf.ts index 70b22fc9b6..05e587a3a9 100644 --- a/build/webpack.config.perf.ts +++ b/build/webpack.config.perf.ts @@ -54,8 +54,6 @@ const webpackConfig: any = { extensions: ['.ts', '.tsx', '.js', '.json'], alias: { ...lernaAliases(), - docs: paths.base('docs'), - src: paths.packageSrc('react'), // We are using React in production mode with tracing. // https://gist.github.com/bvaughn/25e6233aeb1b4f0cdb8d8366e54a3977 diff --git a/build/webpack.config.ts b/build/webpack.config.ts index 342b4752ea..7ad2067be6 100644 --- a/build/webpack.config.ts +++ b/build/webpack.config.ts @@ -116,11 +116,7 @@ const webpackConfig: any = { ].filter(Boolean), resolve: { extensions: ['.ts', '.tsx', '.js', '.json'], - alias: { - ...lernaAliases(), - src: paths.packageSrc('react'), - docs: paths.base('docs'), - }, + alias: lernaAliases(), }, optimization: { // Automatically split vendor and commons diff --git a/packages/perf-test/.digest/config.tsx b/packages/perf-test/.digest/config.tsx index 4265a90fa9..c6255258fe 100644 --- a/packages/perf-test/.digest/config.tsx +++ b/packages/perf-test/.digest/config.tsx @@ -2,8 +2,7 @@ import * as React from 'react' import { Provider, themes } from '@fluentui/react' const reqContexts = [ - // TODO: Relative pathing isn't the best here, but docs containing perf stories isn't a package that can be added as a dep. - require.context('../../../docs/src', true, /\.perf\.tsx$/), + require.context('@fluentui/docs/src', true, /\.perf\.tsx$/), require.context('..', true, /\.perf\.tsx$/), // TODO: why does this break index.html?? seems to pull in stories the same way... // require.context('../stories', true, /\.perf\.tsx$/), diff --git a/packages/perf-test/package.json b/packages/perf-test/package.json index a43d118b05..0c0248c424 100644 --- a/packages/perf-test/package.json +++ b/packages/perf-test/package.json @@ -4,6 +4,7 @@ "version": "0.43.0", "private": true, "dependencies": { + "@fluentui/docs": "^0.43.0", "office-ui-fabric-react": "^7.44.0", "react": "^16.8.0", "react-dom": "^16.8.0" diff --git a/perf/package.json b/perf/package.json index 4f95cf63e0..26366d5b73 100644 --- a/perf/package.json +++ b/perf/package.json @@ -5,6 +5,7 @@ "license": "MIT", "devDependencies": { "@babel/polyfill": "^7.7.0", + "@fluentui/docs": "^0.43.0", "@fluentui/internal-tooling": "^0.43.0", "@fluentui/react": "^0.43.0", "minimatch": "^3.0.4" diff --git a/perf/src/index.tsx b/perf/src/index.tsx index 4827f0aea1..430f316f45 100644 --- a/perf/src/index.tsx +++ b/perf/src/index.tsx @@ -12,7 +12,11 @@ import { ProfilerMeasure, ProfilerMeasureCycle } from '../types' const Profiler = (React as any).unstable_Profiler const mountNode = document.querySelector('#root') -const performanceExamplesContext = require.context('docs/src/examples/', true, /.perf.tsx$/) +const performanceExamplesContext = require.context( + '@fluentui/docs/src/examples/', + true, + /.perf.tsx$/, +) // Heads up! // We want to randomize examples to avoid any notable issues with always first example diff --git a/tsconfig.json b/tsconfig.json index 72d25bc346..f8ccf7052c 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "./build/tsconfig.docs.json", + "extends": "./build/tsconfig.common.json", "compilerOptions": { "baseUrl": ".", "paths": {