diff --git a/packages/docusaurus-bundler/src/currentBundler.ts b/packages/docusaurus-bundler/src/currentBundler.ts index 2005dea60e67..115828959eba 100644 --- a/packages/docusaurus-bundler/src/currentBundler.ts +++ b/packages/docusaurus-bundler/src/currentBundler.ts @@ -9,7 +9,7 @@ import webpack from 'webpack'; import WebpackBar from 'webpackbar'; import MiniCssExtractPlugin from 'mini-css-extract-plugin'; import CopyWebpackPlugin from 'copy-webpack-plugin'; -import logger from '@docusaurus/logger'; +import {importRspack} from './importFaster'; import type {CurrentBundler, DocusaurusConfig} from '@docusaurus/types'; // We inject a site config slice because the Rspack flag might change place @@ -32,10 +32,10 @@ export async function getCurrentBundler({ siteConfig: SiteConfigSlice; }): Promise { if (isRspack(siteConfig)) { - // TODO add support for Rspack - logger.error( - 'Rspack bundler is not supported yet, will use Webpack instead', - ); + return { + name: 'rspack', + instance: await importRspack(), + }; } return { name: 'webpack', @@ -49,7 +49,8 @@ export async function getCSSExtractPlugin({ currentBundler: CurrentBundler; }): Promise { if (currentBundler.name === 'rspack') { - throw new Error('Rspack bundler is not supported yet'); + // @ts-expect-error: this exists only in Rspack + return currentBundler.instance.CssExtractRspackPlugin; } return MiniCssExtractPlugin; } @@ -60,9 +61,9 @@ export async function getCopyPlugin({ currentBundler: CurrentBundler; }): Promise { if (currentBundler.name === 'rspack') { - throw new Error('Rspack bundler is not supported yet'); + // @ts-expect-error: this exists only in Rspack + return currentBundler.instance.CopyRspackPlugin; } - // https://github.com/webpack-contrib/copy-webpack-plugin return CopyWebpackPlugin; } diff --git a/packages/docusaurus-bundler/src/importFaster.ts b/packages/docusaurus-bundler/src/importFaster.ts index a7549ef96a9b..9bd4127074fd 100644 --- a/packages/docusaurus-bundler/src/importFaster.ts +++ b/packages/docusaurus-bundler/src/importFaster.ts @@ -5,6 +5,7 @@ * LICENSE file in the root directory of this source tree. */ +import type webpack from 'webpack'; import type {ConfigureWebpackUtils} from '@docusaurus/types'; import type { MinimizerOptions as JsMinimizerOptions, @@ -29,6 +30,11 @@ async function ensureFaster(): Promise { } } +export async function importRspack(): Promise { + const faster = await ensureFaster(); + return faster.getRspack() as unknown as typeof webpack; +} + export async function importSwcJsLoaderFactory(): Promise< ConfigureWebpackUtils['getJSLoader'] > { @@ -50,6 +56,11 @@ export async function importSwcHtmlMinifier(): Promise< return faster.getSwcHtmlMinifier(); } +export async function importBrowserslistQueries(): Promise { + const faster = await ensureFaster(); + return faster.getBrowserslistQueries(); +} + export async function importLightningCssMinimizerOptions(): Promise< CssMinimizerOptions > { diff --git a/packages/docusaurus-bundler/src/loaders/__tests__/jsLoader.test.ts b/packages/docusaurus-bundler/src/loaders/__tests__/jsLoader.test.ts index 2ac34d425f40..22016169b883 100644 --- a/packages/docusaurus-bundler/src/loaders/__tests__/jsLoader.test.ts +++ b/packages/docusaurus-bundler/src/loaders/__tests__/jsLoader.test.ts @@ -5,14 +5,16 @@ * LICENSE file in the root directory of this source tree. */ -import {fromPartial} from '@total-typescript/shoehorn'; +import {fromPartial, type PartialDeep} from '@total-typescript/shoehorn'; import {createJsLoaderFactory} from '../jsLoader'; import type {RuleSetRule} from 'webpack'; describe('createJsLoaderFactory', () => { function testJsLoaderFactory( - siteConfig?: Parameters[0]['siteConfig'], + siteConfig?: PartialDeep< + Parameters[0]['siteConfig'] + >, ) { return createJsLoaderFactory({ siteConfig: { @@ -21,7 +23,12 @@ describe('createJsLoaderFactory', () => { jsLoader: 'babel', ...siteConfig?.webpack, }, - future: fromPartial(siteConfig?.future), + future: fromPartial({ + ...siteConfig?.future, + experimental_faster: fromPartial({ + ...siteConfig?.future?.experimental_faster, + }), + }), }, }); } diff --git a/packages/docusaurus-bundler/src/loaders/jsLoader.ts b/packages/docusaurus-bundler/src/loaders/jsLoader.ts index 64c2c9ced976..1714558dbeb4 100644 --- a/packages/docusaurus-bundler/src/loaders/jsLoader.ts +++ b/packages/docusaurus-bundler/src/loaders/jsLoader.ts @@ -7,6 +7,7 @@ import {getBabelOptions} from '@docusaurus/babel'; import {importSwcJsLoaderFactory} from '../importFaster'; +import {getCurrentBundler} from '../currentBundler'; import type {ConfigureWebpackUtils, DocusaurusConfig} from '@docusaurus/types'; const BabelJsLoaderFactory: ConfigureWebpackUtils['getJSLoader'] = ({ @@ -19,6 +20,25 @@ const BabelJsLoaderFactory: ConfigureWebpackUtils['getJSLoader'] = ({ }; }; +const RspackJsLoaderFactory: ConfigureWebpackUtils['getJSLoader'] = () => { + return { + loader: 'builtin:swc-loader', + options: { + jsc: { + parser: { + syntax: 'typescript', + tsx: true, + }, + transform: { + react: { + runtime: 'automatic', + }, + }, + }, + }, + }; +}; + // Confusing: function that creates a function that creates actual js loaders // This is done on purpose because the js loader factory is a public API // It is injected in configureWebpack plugin lifecycle for plugin authors @@ -27,11 +47,22 @@ export async function createJsLoaderFactory({ }: { siteConfig: { webpack?: DocusaurusConfig['webpack']; - future?: { + future: { experimental_faster: DocusaurusConfig['future']['experimental_faster']; }; }; }): Promise { + const currentBundler = await getCurrentBundler({siteConfig}); + const isSWCLoader = siteConfig.future.experimental_faster.swcJsLoader; + + if (currentBundler.name === 'rspack') { + if (!isSWCLoader) { + throw new Error( + 'When using Rspack bundler, it is required to enable swcJsLoader too', + ); + } + return RspackJsLoaderFactory; + } const jsLoader = siteConfig.webpack?.jsLoader ?? 'babel'; if ( jsLoader instanceof Function && diff --git a/packages/docusaurus-bundler/src/minification.ts b/packages/docusaurus-bundler/src/minification.ts index 4cd001d7322d..193608935513 100644 --- a/packages/docusaurus-bundler/src/minification.ts +++ b/packages/docusaurus-bundler/src/minification.ts @@ -10,6 +10,7 @@ import CssMinimizerPlugin from 'css-minimizer-webpack-plugin'; import { importSwcJsMinimizerOptions, importLightningCssMinimizerOptions, + importBrowserslistQueries, } from './importFaster'; import type {CustomOptions, CssNanoOptions} from 'css-minimizer-webpack-plugin'; import type {WebpackPluginInstance} from 'webpack'; @@ -137,8 +138,23 @@ async function getWebpackMinimizers( async function getRspackMinimizers({ currentBundler, }: MinimizersConfig): Promise { - console.log('currentBundler', currentBundler.name); - throw new Error('TODO Rspack minimizers not implemented yet'); + const browserslistQueries = await importBrowserslistQueries(); + return [ + // @ts-expect-error: Rspack has this built-in + new currentBundler.instance.SwcJsMinimizerRspackPlugin(), + // @ts-expect-error: Rspack has this built-in + new currentBundler.instance.LightningCssMinimizerRspackPlugin({ + minimizerOptions: { + ...(await importLightningCssMinimizerOptions()), + // Not sure why but Rspack takes browserslist queries directly + // While LightningCSS targets are normally not browserslist queries + // We have to override the option to avoid errors + // See https://rspack.dev/plugins/rspack/lightning-css-minimizer-rspack-plugin#minimizeroptions + // See https://lightningcss.dev/transpilation.html + targets: browserslistQueries, + }, + }), + ]; } export async function getMinimizers( diff --git a/packages/docusaurus-faster/package.json b/packages/docusaurus-faster/package.json index 34e5b284c3c8..d157d2db2417 100644 --- a/packages/docusaurus-faster/package.json +++ b/packages/docusaurus-faster/package.json @@ -18,6 +18,7 @@ }, "license": "MIT", "dependencies": { + "@rspack/core": "^1.0.8", "@swc/core": "^1.7.28", "@swc/html": "^1.7.28", "browserslist": "^4.24.0", diff --git a/packages/docusaurus-faster/src/index.ts b/packages/docusaurus-faster/src/index.ts index 42ab8413b4cb..9cc07ab779a4 100644 --- a/packages/docusaurus-faster/src/index.ts +++ b/packages/docusaurus-faster/src/index.ts @@ -5,12 +5,17 @@ * LICENSE file in the root directory of this source tree. */ +import Rspack from '@rspack/core'; import * as lightningcss from 'lightningcss'; import browserslist from 'browserslist'; import {minify as swcHtmlMinifier} from '@swc/html'; import type {RuleSetRule} from 'webpack'; import type {JsMinifyOptions} from '@swc/core'; +export function getRspack(): typeof Rspack { + return Rspack; +} + export function getSwcHtmlMinifier(): typeof swcHtmlMinifier { return swcHtmlMinifier; } @@ -63,6 +68,15 @@ export function getSwcJsMinimizerOptions(): JsMinifyOptions { }; } +// We need this because of Rspack built-in LightningCSS integration +// See https://github.com/orgs/browserslist/discussions/846 +export function getBrowserslistQueries(): string[] { + const queries = browserslist.loadConfig({path: process.cwd()}) ?? [ + ...browserslist.defaults, + ]; + return queries; +} + // LightningCSS doesn't expose any type for css-minimizer-webpack-plugin setup // So we derive it ourselves // see https://lightningcss.dev/docs.html#with-webpack diff --git a/packages/docusaurus-theme-classic/package.json b/packages/docusaurus-theme-classic/package.json index ba3877ddc173..062e9a4d3055 100644 --- a/packages/docusaurus-theme-classic/package.json +++ b/packages/docusaurus-theme-classic/package.json @@ -21,6 +21,7 @@ }, "dependencies": { "@docusaurus/core": "3.5.2", + "@docusaurus/logger": "3.5.2", "@docusaurus/mdx-loader": "3.5.2", "@docusaurus/module-type-aliases": "3.5.2", "@docusaurus/plugin-content-blog": "3.5.2", diff --git a/packages/docusaurus/src/client/docusaurus.ts b/packages/docusaurus/src/client/docusaurus.ts index 79bb4e21c779..7e4ccda3dfc6 100644 --- a/packages/docusaurus/src/client/docusaurus.ts +++ b/packages/docusaurus/src/client/docusaurus.ts @@ -17,7 +17,7 @@ const loaded = new Set(); declare global { // eslint-disable-next-line camelcase, no-underscore-dangle - const __webpack_require__: {gca: (name: string) => string}; + const __webpack_require__: {gca?: (name: string) => string}; interface Navigator { connection?: {effectiveType: string; saveData: boolean}; } @@ -65,17 +65,22 @@ const prefetch: Docusaurus['prefetch'] = ( // Prefetch all webpack chunk assets file needed. return Promise.all( chunkNamesNeeded.map((chunkName) => { + // TODO + if (!__webpack_require__.gca) { + console.warn('Rspack bug to fix: unable to prefetch'); + return Promise.resolve(); + } // "__webpack_require__.gca" is injected by ChunkAssetPlugin. Pass it // the name of the chunk you want to load and it will return its URL. // eslint-disable-next-line camelcase const chunkAsset = __webpack_require__.gca(chunkName); - // In some cases, webpack might decide to optimize further, leading to // the chunk assets being merged to another chunk. In this case, we can // safely filter it out and don't need to load it. if (chunkAsset && !chunkAsset.includes('undefined')) { return prefetchHelper(chunkAsset); } + return Promise.resolve(); }), ); diff --git a/packages/docusaurus/src/commands/build.ts b/packages/docusaurus/src/commands/build.ts index ec0f5f3ae73c..df8f962aac83 100644 --- a/packages/docusaurus/src/commands/build.ts +++ b/packages/docusaurus/src/commands/build.ts @@ -189,17 +189,14 @@ async function buildLocale({ ); // Run webpack to build JS bundle (client) and static html files (server). - await PerfLogger.async( - `Bundling with ${configureWebpackUtils.currentBundler.name}`, - () => { - return compile({ - configs: - // For hash router we don't do SSG and can skip the server bundle - router === 'hash' ? [clientConfig] : [clientConfig, serverConfig], - currentBundler: configureWebpackUtils.currentBundler, - }); - }, - ); + await PerfLogger.async(`Bundling with ${props.currentBundler.name}`, () => { + return compile({ + configs: + // For hash router we don't do SSG and can skip the server bundle + router === 'hash' ? [clientConfig] : [clientConfig, serverConfig], + currentBundler: configureWebpackUtils.currentBundler, + }); + }); const {collectedData} = await PerfLogger.async('SSG', () => executeSSG({ diff --git a/packages/docusaurus/src/commands/start/webpack.ts b/packages/docusaurus/src/commands/start/webpack.ts index 9c462cd7d974..c9675aeba256 100644 --- a/packages/docusaurus/src/commands/start/webpack.ts +++ b/packages/docusaurus/src/commands/start/webpack.ts @@ -7,7 +7,6 @@ import path from 'path'; import merge from 'webpack-merge'; -import webpack from 'webpack'; import {formatStatsErrorMessage, printStatsWarnings} from '@docusaurus/bundler'; import logger from '@docusaurus/logger'; import WebpackDevServer from 'webpack-dev-server'; @@ -168,7 +167,7 @@ export async function createWebpackDevServer({ configureWebpackUtils, }); - const compiler = webpack(config); + const compiler = props.currentBundler.instance(config); registerWebpackE2ETestHook(compiler); const defaultDevServerConfig = await createDevServerConfig({ diff --git a/packages/docusaurus/src/webpack/base.ts b/packages/docusaurus/src/webpack/base.ts index a9d4adc05c96..40445ae7f905 100644 --- a/packages/docusaurus/src/webpack/base.ts +++ b/packages/docusaurus/src/webpack/base.ts @@ -98,10 +98,14 @@ export async function createBaseConfig({ currentBundler: props.currentBundler, }); - return { - mode, - name, - cache: { + function getCache(): Configuration['cache'] { + if (props.currentBundler.name === 'rspack') { + // TODO Rspack only supports memory cache (as of Sept 2024) + // TODO re-enable file persistent cache one Rspack supports it + // See also https://rspack.dev/config/cache#cache + return undefined; + } + return { type: 'filesystem', // Can we share the same cache across locales? // Exploring that question at https://github.com/webpack/webpack/issues/13034 @@ -127,7 +131,13 @@ export async function createBaseConfig({ siteConfigPath, ], }, - }, + }; + } + + return { + mode, + name, + cache: getCache(), output: { pathinfo: false, path: outDir, @@ -145,7 +155,6 @@ export async function createBaseConfig({ }, devtool: isProd ? undefined : 'eval-cheap-module-source-map', resolve: { - unsafeCache: false, // Not enabled, does not seem to improve perf much extensions: ['.wasm', '.mjs', '.js', '.jsx', '.ts', '.tsx', '.json'], symlinks: true, // See https://github.com/facebook/docusaurus/issues/3272 roots: [ diff --git a/packages/docusaurus/src/webpack/client.ts b/packages/docusaurus/src/webpack/client.ts index d09197d764b2..102cf53aa1dd 100644 --- a/packages/docusaurus/src/webpack/client.ts +++ b/packages/docusaurus/src/webpack/client.ts @@ -45,7 +45,7 @@ async function createBaseClientConfig({ }); const ProgressBarPlugin = await getProgressBarPlugin({ - currentBundler: configureWebpackUtils.currentBundler, + currentBundler: props.currentBundler, }); return merge(baseConfig, { diff --git a/packages/docusaurus/src/webpack/plugins/ChunkAssetPlugin.ts b/packages/docusaurus/src/webpack/plugins/ChunkAssetPlugin.ts index 0d216e36e17c..86c004913dfb 100644 --- a/packages/docusaurus/src/webpack/plugins/ChunkAssetPlugin.ts +++ b/packages/docusaurus/src/webpack/plugins/ChunkAssetPlugin.ts @@ -68,6 +68,8 @@ export default class ChunkAssetPlugin { } // Inspired by https://github.com/webpack/webpack/blob/v5.94.0/lib/runtime/CompatRuntimeModule.js +// See also https://rspack.dev/api/javascript-api/compilation#addruntimemodule +// See also https://rspack.dev/api/plugin-api/compilation-hooks#additionaltreeruntimerequirements class ChunkAssetRuntimeModule extends webpack.RuntimeModule { constructor() { super('ChunkAssetRuntimeModule', webpack.RuntimeModule.STAGE_ATTACH); diff --git a/website/docusaurus.config.ts b/website/docusaurus.config.ts index 7bdd69512687..228aafcbc813 100644 --- a/website/docusaurus.config.ts +++ b/website/docusaurus.config.ts @@ -24,6 +24,7 @@ import ConfigLocalized from './docusaurus.config.localized.json'; import PrismLight from './src/utils/prismLight'; import PrismDark from './src/utils/prismDark'; + import type {Config, DocusaurusConfig} from '@docusaurus/types'; import type * as Preset from '@docusaurus/preset-classic'; diff --git a/website/package.json b/website/package.json index 9de98596395e..70e80a64c3a4 100644 --- a/website/package.json +++ b/website/package.json @@ -84,7 +84,8 @@ "devDependencies": { "@docusaurus/eslint-plugin": "3.5.2", "@docusaurus/tsconfig": "3.5.2", - "@rsdoctor/webpack-plugin": "^0.3.11", + "@rsdoctor/webpack-plugin": "^0.4.1", + "@rsdoctor/rspack-plugin": "^0.4.1", "@types/color": "^3.0.4", "@types/jest": "^29.5.3", "cross-env": "^7.0.3", diff --git a/website/src/plugins/rsdoctor/RsdoctorPlugin.ts b/website/src/plugins/rsdoctor/RsdoctorPlugin.ts index 1d1e52c4c4be..74f06a3d7171 100644 --- a/website/src/plugins/rsdoctor/RsdoctorPlugin.ts +++ b/website/src/plugins/rsdoctor/RsdoctorPlugin.ts @@ -5,15 +5,18 @@ * LICENSE file in the root directory of this source tree. */ +import {RsdoctorRspackMultiplePlugin} from '@rsdoctor/rspack-plugin'; import type {PluginConfig} from '@docusaurus/types'; -async function createRsdoctorBundlerPlugin() { +function createRsdoctorBundlerPlugin({isServer}: {isServer: boolean}) { // TODO Shitty workaround to bypass lib typechecking // package does not work will with skipLibCheck false - // eslint-disable-next-line - const {RsdoctorWebpackMultiplePlugin} = require('@rsdoctor/webpack-plugin'); + // // eslint-disable-next-line + // const {RsdoctorWebpackMultiplePlugin} = require('@rsdoctor/webpack-plugin'); - return new RsdoctorWebpackMultiplePlugin({ + // return new RsdoctorWebpackMultiplePlugin({ + return new RsdoctorRspackMultiplePlugin({ + name: isServer ? 'server' : 'client', disableTOSUpload: true, supports: { // https://rsdoctor.dev/config/options/options#generatetilegraph @@ -31,11 +34,13 @@ export default (async function RsdoctorPlugin() { if (!process.env.RSDOCTOR) { return null; } - const plugin = await createRsdoctorBundlerPlugin(); + const pluginClient = await createRsdoctorBundlerPlugin({isServer: false}); + const pluginServer = await createRsdoctorBundlerPlugin({isServer: true}); console.log('Rsdoctor plugin enabled'); return { name: 'rsdoctor-plugin', - configureWebpack: () => { + configureWebpack: (__config, isServer) => { + const plugin = isServer ? pluginServer : pluginClient; return { plugins: [plugin], }; diff --git a/yarn.lock b/yarn.lock index a14fba51a995..bd40f102ccff 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2222,6 +2222,34 @@ dependencies: langium "3.0.0" +"@module-federation/runtime-tools@0.5.1": + version "0.5.1" + resolved "https://registry.yarnpkg.com/@module-federation/runtime-tools/-/runtime-tools-0.5.1.tgz#1b1f93837159a6bf0c0ba78730d589a5a8f74aa3" + integrity sha512-nfBedkoZ3/SWyO0hnmaxuz0R0iGPSikHZOAZ0N/dVSQaIzlffUo35B5nlC2wgWIc0JdMZfkwkjZRrnuuDIJbzg== + dependencies: + "@module-federation/runtime" "0.5.1" + "@module-federation/webpack-bundler-runtime" "0.5.1" + +"@module-federation/runtime@0.5.1": + version "0.5.1" + resolved "https://registry.yarnpkg.com/@module-federation/runtime/-/runtime-0.5.1.tgz#b548a75e2068952ff66ad717cbf73fc921edd5d7" + integrity sha512-xgiMUWwGLWDrvZc9JibuEbXIbhXg6z2oUkemogSvQ4LKvrl/n0kbqP1Blk669mXzyWbqtSp6PpvNdwaE1aN5xQ== + dependencies: + "@module-federation/sdk" "0.5.1" + +"@module-federation/sdk@0.5.1": + version "0.5.1" + resolved "https://registry.yarnpkg.com/@module-federation/sdk/-/sdk-0.5.1.tgz#6c0a4053c23fa84db7aae7e4736496c541de7191" + integrity sha512-exvchtjNURJJkpqjQ3/opdbfeT2wPKvrbnGnyRkrwW5o3FH1LaST1tkiNviT6OXTexGaVc2DahbdniQHVtQ7pA== + +"@module-federation/webpack-bundler-runtime@0.5.1": + version "0.5.1" + resolved "https://registry.yarnpkg.com/@module-federation/webpack-bundler-runtime/-/webpack-bundler-runtime-0.5.1.tgz#ef626af0d57e3568c474d66d7d3797366e09cafd" + integrity sha512-mMhRFH0k2VjwHt3Jol9JkUsmI/4XlrAoBG3E0o7HoyoPYv1UFOWyqAflfANcUPgbYpvqmyLzDcO+3IT36LXnrA== + dependencies: + "@module-federation/runtime" "0.5.1" + "@module-federation/sdk" "0.5.1" + "@netlify/functions@^1.6.0": version "1.6.0" resolved "https://registry.yarnpkg.com/@netlify/functions/-/functions-1.6.0.tgz#c373423e6fef0e6f7422ac0345e8bbf2cb692366" @@ -2744,110 +2772,196 @@ estree-walker "^1.0.1" picomatch "^2.2.2" -"@rsdoctor/client@0.3.11": - version "0.3.11" - resolved "https://registry.yarnpkg.com/@rsdoctor/client/-/client-0.3.11.tgz#010fe58c0872f05e2d327f8c83053ab43fc40c23" - integrity sha512-mqbatlzgBMlz2C40fXCH7+oHFzDLzOD7yCvvLpolQ6AGwDADJK16fXVtvpBPLP3kzRgw+G4mDwy+UiAmAaCGaQ== - -"@rsdoctor/core@0.3.11": - version "0.3.11" - resolved "https://registry.yarnpkg.com/@rsdoctor/core/-/core-0.3.11.tgz#85730315425b9ececea6f64145ae04140c5bfdcd" - integrity sha512-+l9Kpjge+xpBKovc6aP7gtBPM6vGJRi475DOC6We5/AbnpI60Jt3wiJ0arEfgCZ7p8qNvTLsBYSY6CYJm4dDLw== - dependencies: - "@rsdoctor/graph" "0.3.11" - "@rsdoctor/sdk" "0.3.11" - "@rsdoctor/types" "0.3.11" - "@rsdoctor/utils" "0.3.11" - axios "^1.7.2" +"@rsdoctor/client@0.4.5": + version "0.4.5" + resolved "https://registry.yarnpkg.com/@rsdoctor/client/-/client-0.4.5.tgz#4cf012c509b210c3419be033870af0dd5d7609c0" + integrity sha512-JzTBH4UAI70ftV5GfwF+oCs6Hf9Jq2FXerg9AlRwQgPpQoLLdke0tJYwvuEzSVxuVqAWKB3Z1mQwRm/fwo08xg== + +"@rsdoctor/core@0.4.5": + version "0.4.5" + resolved "https://registry.yarnpkg.com/@rsdoctor/core/-/core-0.4.5.tgz#aab0195ff00b569543242fb402745fc1b398492a" + integrity sha512-5KiDjIKK4psRRPeCwIcudKaTkR+rz854SezHqEhCnLAhsfOcFVDjfjyRFTyevdCaAnK6qnQgM3qNRuxiw+3kdw== + dependencies: + "@rsdoctor/graph" "0.4.5" + "@rsdoctor/sdk" "0.4.5" + "@rsdoctor/types" "0.4.5" + "@rsdoctor/utils" "0.4.5" + axios "^1.7.7" enhanced-resolve "5.12.0" - filesize "^10.1.4" + filesize "^10.1.6" fs-extra "^11.1.1" - loader-utils "^2.0.4" lodash "^4.17.21" path-browserify "1.0.1" semver "^7.6.3" source-map "^0.7.4" webpack-bundle-analyzer "^4.10.2" - webpack-sources "^3.2.3" -"@rsdoctor/graph@0.3.11": - version "0.3.11" - resolved "https://registry.yarnpkg.com/@rsdoctor/graph/-/graph-0.3.11.tgz#b8d1a6452545e36b508285fc98b5776d074479f4" - integrity sha512-1WDLgwA0TWUS8NIPsV1eTbXH0UMNbLoYDLGSiaUVrwnl90cQsajaEUkwMcKu9VU3YVC4ayjwG6/RCrPlRqE4bw== +"@rsdoctor/graph@0.4.5": + version "0.4.5" + resolved "https://registry.yarnpkg.com/@rsdoctor/graph/-/graph-0.4.5.tgz#b730bdcb2f4fc340f32faa0e95215fac264c1306" + integrity sha512-ugDDVoWJZ1djlqE0F9tJPNmFXCA6j49oCPeL7fIhYcxayQlrMiQOCHmgqbD84QFCuOJoyCHm44w6y+BAs9nTgw== dependencies: - "@rsdoctor/types" "0.3.11" - "@rsdoctor/utils" "0.3.11" + "@rsdoctor/types" "0.4.5" + "@rsdoctor/utils" "0.4.5" lodash "^4.17.21" socket.io "4.7.2" source-map "^0.7.4" -"@rsdoctor/sdk@0.3.11": - version "0.3.11" - resolved "https://registry.yarnpkg.com/@rsdoctor/sdk/-/sdk-0.3.11.tgz#58bb83b077ed167b5f29b6835ead9e78fbd718c3" - integrity sha512-ys9lTasYm9ecvj0oUbQuSpnULqImYq9QET1LUtoVBa5QIpQBbxOOegWnBmSsDlH7LlFQYhqLl5DR9FdJ7yTmcw== +"@rsdoctor/rspack-plugin@^0.4.1": + version "0.4.5" + resolved "https://registry.yarnpkg.com/@rsdoctor/rspack-plugin/-/rspack-plugin-0.4.5.tgz#c37b2bd340ae1bcc09bcd68f270b9271d89a21cd" + integrity sha512-pAKN2hS4s+47GXfolHwC+uAe8Dxh4Y/VWinMaxpZmnDt1LeUX2ynvz7Hy8r1Q5vaG1mC6FxdKMrEDGMB9Ck1WQ== + dependencies: + "@rsdoctor/core" "0.4.5" + "@rsdoctor/graph" "0.4.5" + "@rsdoctor/sdk" "0.4.5" + "@rsdoctor/types" "0.4.5" + "@rsdoctor/utils" "0.4.5" + lodash "^4.17.21" + +"@rsdoctor/sdk@0.4.5": + version "0.4.5" + resolved "https://registry.yarnpkg.com/@rsdoctor/sdk/-/sdk-0.4.5.tgz#63ae3c58ae3174bf065e759e09f278c42e595259" + integrity sha512-j5lQOJt0UOkLUU2fWyeL6kP/EZVZTavg/1p5hCBWlarYpUECl/iH2m/EDT1nxqrPf2tlxTaEfzTlGy9TH4Cm0w== dependencies: - "@rsdoctor/client" "0.3.11" - "@rsdoctor/graph" "0.3.11" - "@rsdoctor/types" "0.3.11" - "@rsdoctor/utils" "0.3.11" - body-parser "1.20.2" + "@rsdoctor/client" "0.4.5" + "@rsdoctor/graph" "0.4.5" + "@rsdoctor/types" "0.4.5" + "@rsdoctor/utils" "0.4.5" + "@types/fs-extra" "^11.0.4" + body-parser "1.20.3" cors "2.8.5" - dayjs "1.11.12" + dayjs "1.11.13" + fs-extra "^11.1.1" lodash "^4.17.21" open "^8.4.2" - serve-static "1.15.0" + serve-static "1.16.2" socket.io "4.7.2" source-map "^0.7.4" tapable "2.2.1" -"@rsdoctor/types@0.3.11": - version "0.3.11" - resolved "https://registry.yarnpkg.com/@rsdoctor/types/-/types-0.3.11.tgz#d2a37650476bbf7a9d63d951bc0499c8a9b72ac4" - integrity sha512-BH+P5RekIQy3VqFswsTkSB5yeZBYTbMNIlVq1chHhIQcF0Hpd9fuUjFG59NJgBILZoL2vknUhBfhmiv2WEOYig== +"@rsdoctor/types@0.4.5": + version "0.4.5" + resolved "https://registry.yarnpkg.com/@rsdoctor/types/-/types-0.4.5.tgz#c30ba651ec9c4edb72024340a20879eb2a9de49f" + integrity sha512-KZamdG7Vc7d26DkPizO5EKvSeI+OFR35UcyMxRfiswDAo3EJJxtuebKh8TsHDBDvYNhOgAWTT5DcvouhBYJRhg== dependencies: "@types/connect" "3.4.38" "@types/estree" "1.0.5" "@types/tapable" "2.2.7" - "@types/webpack" "5.28.5" source-map "^0.7.4" -"@rsdoctor/utils@0.3.11": - version "0.3.11" - resolved "https://registry.yarnpkg.com/@rsdoctor/utils/-/utils-0.3.11.tgz#650b2b8cf2c4d38a0f35d05f13625965c467d185" - integrity sha512-S1h/rG3wPFjHE9AffGjBGxPhP1j8X23KZKiyYnYHiOTCHxnYTyBqRJXUA0OvGewFY9zi7ucz800y+s0G1ujGyg== +"@rsdoctor/utils@0.4.5": + version "0.4.5" + resolved "https://registry.yarnpkg.com/@rsdoctor/utils/-/utils-0.4.5.tgz#269e6c8cd5aedeeed3387966c418373fce1a0b3c" + integrity sha512-ueEpGDRCufy2s60Q4mI83qYEroeaELFQr3QdxCCjC+BJylRNJiPYe9fb1o6gnSWHw2QKhCC/HUPLcz+twbMvyg== dependencies: "@babel/code-frame" "7.24.7" - "@rsdoctor/types" "0.3.11" + "@rsdoctor/types" "0.4.5" "@types/estree" "1.0.5" acorn "^8.10.0" acorn-import-assertions "1.9.0" - acorn-walk "8.3.3" + acorn-walk "8.3.4" chalk "^4.1.2" connect "3.7.0" deep-eql "4.1.4" - envinfo "7.13.0" - filesize "^10.1.4" + envinfo "7.14.0" + filesize "^10.1.6" fs-extra "^11.1.1" get-port "5.1.1" json-stream-stringify "3.0.1" lines-and-columns "2.0.4" lodash "^4.17.21" - rslog "^1.2.2" + rslog "^1.2.3" strip-ansi "^6.0.1" -"@rsdoctor/webpack-plugin@^0.3.11": - version "0.3.11" - resolved "https://registry.yarnpkg.com/@rsdoctor/webpack-plugin/-/webpack-plugin-0.3.11.tgz#b5f43b7c3c8c365e379dbd5a51bfae284aee61b4" - integrity sha512-Gqr5GMOhHkJl9rtsbnCZV5mXuvsfpRtg735cRie9eT1E/dMpHerIGZFRGRIMPNkLAd/lfe0KwrGRZknWX9M/zQ== +"@rsdoctor/webpack-plugin@^0.4.1": + version "0.4.5" + resolved "https://registry.yarnpkg.com/@rsdoctor/webpack-plugin/-/webpack-plugin-0.4.5.tgz#58084b2f254da615a60044d369f74f3a857f11c1" + integrity sha512-SFaLvi6I53KRfHwYnAomi5pU9ZnBtpmfQpEl7L8HzxyAtfNRNFGPl+WFOM4V6xiE6JguffJcm0j6DkClGF5TUQ== dependencies: - "@rsdoctor/core" "0.3.11" - "@rsdoctor/graph" "0.3.11" - "@rsdoctor/sdk" "0.3.11" - "@rsdoctor/types" "0.3.11" - "@rsdoctor/utils" "0.3.11" + "@rsdoctor/core" "0.4.5" + "@rsdoctor/graph" "0.4.5" + "@rsdoctor/sdk" "0.4.5" + "@rsdoctor/types" "0.4.5" + "@rsdoctor/utils" "0.4.5" fs-extra "^11.1.1" lodash "^4.17.21" +"@rspack/binding-darwin-arm64@1.0.8": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@rspack/binding-darwin-arm64/-/binding-darwin-arm64-1.0.8.tgz#ec66776dbad65f481b7dee93ad08a390fcbf7c17" + integrity sha512-1l8/eg3HNz53DHQO3fy5O5QKdYh8hSMZaWGtm3NR5IfdrTm2TaLL9tuR8oL2iHHtd87LEvVKHXdjlcuLV5IPNQ== + +"@rspack/binding-darwin-x64@1.0.8": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@rspack/binding-darwin-x64/-/binding-darwin-x64-1.0.8.tgz#85d27372dd62e933ddd236d1f85ee6a97243886f" + integrity sha512-7BbG8gXVWjtqJegDpsObzM/B90Eig1piEtcahvPdvlC92uZz3/IwtKPpMaywGBrf5RSI3U0nQMSekwz0cO1SOw== + +"@rspack/binding-linux-arm64-gnu@1.0.8": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@rspack/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.8.tgz#e958882680e6d95af19fbe73386d50f16ae524e6" + integrity sha512-QnqCL0wmwYqT/IFx5q0aw7DsIOr8oYUa4+7JI8iiqRf3RuuRJExesVW9VuWr0jS2UvChKgmb8PvRtDy/0tshFw== + +"@rspack/binding-linux-arm64-musl@1.0.8": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@rspack/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.8.tgz#7dc25acee1c414587d0fcad7f7a4cc08ceb442df" + integrity sha512-Ns9TsE7zdUjimW5HURRW08BaMyAh16MDh97PPsGEMeRPx9plnRO9aXvuUG6t+0gy4KwlQdeq3BvUsbBpIo5Tow== + +"@rspack/binding-linux-x64-gnu@1.0.8": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@rspack/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.8.tgz#86b81fe00c36fbb15123450dfc05dc202a49b910" + integrity sha512-lfqUuKCoyRN/gGeokhX/oNYqB6OpbtgQb57b0QuD8IaiH2a1ee0TtEVvRbyQNEDwht6lW4RTNg0RfMYu52LgXg== + +"@rspack/binding-linux-x64-musl@1.0.8": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@rspack/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.8.tgz#6778f9a646674902d129a5bfcab5a2a8dc04c1e3" + integrity sha512-MgbHJWV5utVa1/U9skrXClydZ/eZw001++v4B6nb8myU6Ck1D02aMl9ESefb/sSA8TatLLxEXQ2VENG9stnPwQ== + +"@rspack/binding-win32-arm64-msvc@1.0.8": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@rspack/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.8.tgz#b88bc3965d5ea508a571019dd5d497492f21bc67" + integrity sha512-3NN5VisnSOzhgqX77O/7NvcjPUueg1oIdMKoc5vElJCEu5FEXPqDhwZmr1PpBovaXshAcgExF3j54+20pwdg5g== + +"@rspack/binding-win32-ia32-msvc@1.0.8": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@rspack/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.0.8.tgz#dd4dbd02027af60b2d1ed514466a76da701cb632" + integrity sha512-17VQNC7PSygzsipSVoukDM/SOcVueVNsk9bZiB0Swl20BaqrlBts2Dvlmo+L+ZGsxOYI97WvA/zomMDv860usg== + +"@rspack/binding-win32-x64-msvc@1.0.8": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@rspack/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.8.tgz#c58a9471da64a9cadc5ddccbc9ed6aeb9a3a70fe" + integrity sha512-Vtjt74Soh09XUsV5Nw0YjZVSk/qtsjtPnzbSZluncSAVUs8l+X1ALcM6n1Jrt3TLTfcqf7a+VIsWOXAMqkCGUg== + +"@rspack/binding@1.0.8": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@rspack/binding/-/binding-1.0.8.tgz#d0e09342fa9411ca88195c7d3ff414191cdf2bee" + integrity sha512-abRirbrjobcllLAamyeiWxT6Rb0wELUnITynQdqRbSweWm2lvnhm9YBv4BcOjvJBzhJtvRJo5JBtbKXjDTarug== + optionalDependencies: + "@rspack/binding-darwin-arm64" "1.0.8" + "@rspack/binding-darwin-x64" "1.0.8" + "@rspack/binding-linux-arm64-gnu" "1.0.8" + "@rspack/binding-linux-arm64-musl" "1.0.8" + "@rspack/binding-linux-x64-gnu" "1.0.8" + "@rspack/binding-linux-x64-musl" "1.0.8" + "@rspack/binding-win32-arm64-msvc" "1.0.8" + "@rspack/binding-win32-ia32-msvc" "1.0.8" + "@rspack/binding-win32-x64-msvc" "1.0.8" + +"@rspack/core@^1.0.8": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@rspack/core/-/core-1.0.8.tgz#49ea9d20427245b87a25188e60f820e256b202f4" + integrity sha512-pbXwXYb4WQwb0l35P5v3l/NpDJXy1WiVE4IcQ/6LxZYU5NyZuqtsK0trR88xIVRZb9qU0JUeCdQq7Xa6Q+c3Xw== + dependencies: + "@module-federation/runtime-tools" "0.5.1" + "@rspack/binding" "1.0.8" + "@rspack/lite-tapable" "1.0.1" + caniuse-lite "^1.0.30001616" + +"@rspack/lite-tapable@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@rspack/lite-tapable/-/lite-tapable-1.0.1.tgz#d4540a5d28bd6177164bc0ba0bee4bdec0458591" + integrity sha512-VynGOEsVw2s8TAlLf/uESfrgfrq2+rcXB1muPJYBWbsm1Oa6r5qVQhjA5ggM6z/coYPrsVMgovl3Ff7Q7OCp1w== + "@sideway/address@^4.1.3": version "4.1.4" resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.4.tgz#03dccebc6ea47fdc226f7d3d1ad512955d4783f0" @@ -3448,6 +3562,14 @@ dependencies: "@types/webpack" "^4" +"@types/fs-extra@^11.0.4": + version "11.0.4" + resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-11.0.4.tgz#e16a863bb8843fba8c5004362b5a73e17becca45" + integrity sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ== + dependencies: + "@types/jsonfile" "*" + "@types/node" "*" + "@types/fs-extra@^9.0.13": version "9.0.13" resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.13.tgz#7594fbae04fe7f1918ce8b3d213f74ff44ac1f45" @@ -3583,6 +3705,13 @@ resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== +"@types/jsonfile@*": + version "6.1.4" + resolved "https://registry.yarnpkg.com/@types/jsonfile/-/jsonfile-6.1.4.tgz#614afec1a1164e7d670b4a7ad64df3e7beb7b702" + integrity sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ== + dependencies: + "@types/node" "*" + "@types/katex@^0.16.0": version "0.16.1" resolved "https://registry.yarnpkg.com/@types/katex/-/katex-0.16.1.tgz#e1faa29f131c241a7669e65bdf8ce470c9c4e3a9" @@ -3957,15 +4086,6 @@ "@types/source-list-map" "*" source-map "^0.7.3" -"@types/webpack@5.28.5": - version "5.28.5" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-5.28.5.tgz#0e9d9a15efa09bbda2cef41356ca4ac2031ea9a2" - integrity sha512-wR87cgvxj3p6D0Crt1r5avwqffqPXUkNlnQ1mjU93G7gCuFjufZR4I6j8cz5g1F1tTYpfOOFvly+cmIQwL9wvw== - dependencies: - "@types/node" "*" - tapable "^2.2.0" - webpack "^5" - "@types/webpack@^4": version "4.41.33" resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.33.tgz#16164845a5be6a306bcbe554a8e67f9cac215ffc" @@ -4322,10 +4442,10 @@ acorn-jsx@^5.0.0, acorn-jsx@^5.0.1, acorn-jsx@^5.3.2: resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -acorn-walk@8.3.3, acorn-walk@^8.0.0, acorn-walk@^8.0.2: - version "8.3.3" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.3.tgz#9caeac29eefaa0c41e3d4c65137de4d6f34df43e" - integrity sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw== +acorn-walk@8.3.4, acorn-walk@^8.0.0, acorn-walk@^8.0.2: + version "8.3.4" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.4.tgz#794dd169c3977edf4ba4ea47583587c5866236b7" + integrity sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g== dependencies: acorn "^8.11.0" @@ -4709,10 +4829,10 @@ axe-core@^4.6.2: resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.7.2.tgz#040a7342b20765cb18bb50b628394c21bccc17a0" integrity sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g== -axios@^1, axios@^1.0.0, axios@^1.5.0, axios@^1.7.2: - version "1.7.4" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.4.tgz#4c8ded1b43683c8dd362973c393f3ede24052aa2" - integrity sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw== +axios@^1, axios@^1.0.0, axios@^1.5.0, axios@^1.7.7: + version "1.7.7" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.7.tgz#2f554296f9892a72ac8d8e4c5b79c14a91d0a47f" + integrity sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q== dependencies: follow-redirects "^1.15.6" form-data "^4.0.0" @@ -4926,24 +5046,6 @@ bluebird@~3.4.1: resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3" integrity sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA== -body-parser@1.20.2: - version "1.20.2" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.2.tgz#6feb0e21c4724d06de7ff38da36dad4f57a747fd" - integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA== - dependencies: - bytes "3.1.2" - content-type "~1.0.5" - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - http-errors "2.0.0" - iconv-lite "0.4.24" - on-finished "2.4.1" - qs "6.11.0" - raw-body "2.5.2" - type-is "~1.6.18" - unpipe "1.0.0" - body-parser@1.20.3: version "1.20.3" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.3.tgz#1953431221c6fb5cd63c4b36d53fab0928e548c6" @@ -5254,7 +5356,7 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001646, caniuse-lite@^1.0.30001663: +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001616, caniuse-lite@^1.0.30001646, caniuse-lite@^1.0.30001663: version "1.0.30001664" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001664.tgz#d588d75c9682d3301956b05a3749652a80677df4" integrity sha512-AmE7k4dXiNKQipgn7a2xg558IRqPN3jMQY/rOsbxDhrd0tyChwbITBfiwtnqz8bi2M5mIWbxAYBvk7W7QBUS2g== @@ -6753,12 +6855,7 @@ dateformat@^3.0.0: resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== -dayjs@1.11.12: - version "1.11.12" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.12.tgz#5245226cc7f40a15bf52e0b99fd2a04669ccac1d" - integrity sha512-Rt2g+nTbLlDWZTwwrIXjy9MeiZmSDI375FvZs72ngxx8PDC6YXOeR3q5LAuPzjZQxhiWdRKac7RKV+YyQYfYIg== - -dayjs@^1.11.10: +dayjs@1.11.13, dayjs@^1.11.10: version "1.11.13" resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.13.tgz#92430b0139055c3ebb60150aa13e860a4b5a366c" integrity sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg== @@ -7294,10 +7391,10 @@ env-paths@^2.2.0, env-paths@^2.2.1: resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== -envinfo@7.13.0, envinfo@^7.7.4: - version "7.13.0" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.13.0.tgz#81fbb81e5da35d74e814941aeab7c325a606fb31" - integrity sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q== +envinfo@7.14.0, envinfo@^7.7.4: + version "7.14.0" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.14.0.tgz#26dac5db54418f2a4c1159153a0b2ae980838aae" + integrity sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg== equals@^1.0.5: version "1.0.5" @@ -8076,10 +8173,10 @@ filelist@^1.0.4: dependencies: minimatch "^5.0.1" -filesize@^10.1.4: - version "10.1.4" - resolved "https://registry.yarnpkg.com/filesize/-/filesize-10.1.4.tgz#184f256063a201f08b6e6b3cc47d21b60f5b8d89" - integrity sha512-ryBwPIIeErmxgPnm6cbESAzXjuEFubs+yKYLBZvg3CaiNcmkJChoOGcBSrZ6IwkMwPABwPpVXE6IlNdGJJrvEg== +filesize@^10.1.6: + version "10.1.6" + resolved "https://registry.yarnpkg.com/filesize/-/filesize-10.1.6.tgz#31194da825ac58689c0bce3948f33ce83aabd361" + integrity sha512-sJslQKU2uM33qH5nqewAwVB2QgR6w1aMNsYUp3aN5rMRyXEwJGmZvaWzeJFNTOXWlHQyBFCWrdj3fV/fsTOX8w== filesize@^8.0.6: version "8.0.7" @@ -10961,7 +11058,7 @@ loader-runner@^4.2.0: resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== -loader-utils@^2.0.0, loader-utils@^2.0.4: +loader-utils@^2.0.0: version "2.0.4" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== @@ -14970,10 +15067,10 @@ roughjs@^4.6.6: points-on-curve "^0.2.0" points-on-path "^0.2.1" -rslog@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/rslog/-/rslog-1.2.2.tgz#057791013c1de27d1d8b0728a766688d11c13830" - integrity sha512-tZP8KjrI1nz6qOYCrFxAV7cfmfS2GV94jotU2zOmF/6ByO1zNvGR6/+0inylpjqyBjAdnnutTUW0m4th06bSTw== +rslog@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/rslog/-/rslog-1.2.3.tgz#9114d93056312fbe35c11b3fea3f2774a7debe56" + integrity sha512-antALPJaKBRPBU1X2q9t085K4htWDOOv/K1qhTUk7h0l1ePU/KbDqKJn19eKP0dk7PqMioeA0+fu3gyPXCsXxQ== rtl-detect@^1.0.4: version "1.0.4" @@ -15256,16 +15353,6 @@ serve-index@^1.9.1: mime-types "~2.1.17" parseurl "~1.3.2" -serve-static@1.15.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" - integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.18.0" - serve-static@1.16.0: version "1.16.0" resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.16.0.tgz#2bf4ed49f8af311b519c46f272bf6ac3baf38a92" @@ -15276,6 +15363,16 @@ serve-static@1.16.0: parseurl "~1.3.3" send "0.18.0" +serve-static@1.16.2: + version "1.16.2" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.16.2.tgz#b6a5343da47f6bdd2673848bf45754941e803296" + integrity sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw== + dependencies: + encodeurl "~2.0.0" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.19.0" + server-only@^0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/server-only/-/server-only-0.0.1.tgz#0f366bb6afb618c37c9255a314535dc412cd1c9e"