From e5c9c8f931c24267759e9933d8332ecf8c6ccf31 Mon Sep 17 00:00:00 2001 From: Jonathan Delgado Date: Wed, 15 Jan 2020 21:07:29 -0800 Subject: [PATCH] feat: allow for Typescript pages and components --- packages/docusaurus-plugin-content-pages/src/index.ts | 2 +- packages/docusaurus-utils/src/index.ts | 2 +- packages/docusaurus/src/webpack/base.ts | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/docusaurus-plugin-content-pages/src/index.ts b/packages/docusaurus-plugin-content-pages/src/index.ts index 09422d5e5d24..1249d2cc78ff 100644 --- a/packages/docusaurus-plugin-content-pages/src/index.ts +++ b/packages/docusaurus-plugin-content-pages/src/index.ts @@ -16,7 +16,7 @@ import {PluginOptions, LoadedContent} from './types'; const DEFAULT_OPTIONS: PluginOptions = { path: 'src/pages', // Path to data on filesystem, relative to site dir. routeBasePath: '', // URL Route. - include: ['**/*.{js,jsx}'], // Extensions to include. + include: ['**/*.{js,jsx,ts,tsx}'], // Extensions to include. }; export default function pluginContentPages( diff --git a/packages/docusaurus-utils/src/index.ts b/packages/docusaurus-utils/src/index.ts index 2443b1c01f11..24c6d63eb9d3 100644 --- a/packages/docusaurus-utils/src/index.ts +++ b/packages/docusaurus-utils/src/index.ts @@ -60,7 +60,7 @@ export function objectWithKeySorted(obj: Object) { .value(); } -const indexRE = /(^|.*\/)index\.(md|js)$/i; +const indexRE = /(^|.*\/)index\.(md|js|jsx|ts|tsx)$/i; const extRE = /\.(md|js)$/; /** diff --git a/packages/docusaurus/src/webpack/base.ts b/packages/docusaurus/src/webpack/base.ts index 0ebf1a922ca6..4e578033749c 100644 --- a/packages/docusaurus/src/webpack/base.ts +++ b/packages/docusaurus/src/webpack/base.ts @@ -56,6 +56,7 @@ export function createBaseConfig( }, devtool: isProd ? false : 'cheap-module-eval-source-map', resolve: { + extensions: ['.wasm', '.mjs', '.js', '.jsx', '.ts', '.tsx', '.json'], symlinks: true, alias: { // https://stackoverflow.com/a/55433680/6072730 @@ -146,7 +147,7 @@ export function createBaseConfig( module: { rules: [ { - test: /\.jsx?$/, + test: /\.(j|t)sx?$/, exclude: excludeJS, use: [getCacheLoader(isServer), getBabelLoader(isServer)].filter( Boolean,