build: smaller bundle size for websites

This commit is contained in:
iCrawl
2022-11-28 05:55:08 +01:00
parent 2f4bfedca1
commit 31e67c4316
24 changed files with 199 additions and 97 deletions

View File

@@ -48,20 +48,7 @@ const rootDir = new URL('../../', import.meta.url);
export default defineConfig({
integrations: [
react(),
mdx(),
image({
serviceEntryPoint: '@astrojs/image/sharp',
}),
prefetch({
throttle: 3,
}),
Unocss({
configFile: fileURLToPath(new URL('unocss.config.ts', rootDir)),
}),
critters(),
compress(),
],
markdown: {
mdx({
remarkPlugins: [[remarkCodeHike, { autoImport: false, theme: shikiThemeDarkPlus, lineNumbers: true }]],
rehypePlugins: [
rehypeSlug,
@@ -91,6 +78,20 @@ export default defineConfig({
},
],
],
}),
image({
serviceEntryPoint: '@astrojs/image/sharp',
}),
prefetch({
throttle: 3,
}),
Unocss({
configFile: fileURLToPath(new URL('unocss.config.ts', rootDir)),
}),
critters(),
compress(),
],
markdown: {
extendDefaultPlugins: true,
syntaxHighlight: false,
},
@@ -109,7 +110,6 @@ export default defineConfig({
'ariakit-utils/system': fileURLToPath(new URL('node_modules/ariakit-utils/esm/system.js', rootDir)),
'react-icons/fi': fileURLToPath(new URL('node_modules/react-icons/fi/index.esm.js', rootDir)),
'react-icons/vsc': fileURLToPath(new URL('node_modules/react-icons/vsc/index.esm.js', rootDir)),
'react-use': fileURLToPath(new URL('node_modules/react-use/esm/index.js', rootDir)),
},
},
},

View File

@@ -36,24 +36,20 @@
},
"homepage": "https://discord.js.org",
"dependencies": {
"@astrojs/image": "^0.11.6",
"@astrojs/mdx": "^0.12.0",
"@astrojs/react": "^1.2.2",
"@code-hike/mdx": "^0.7.4",
"@discordjs/ui": "workspace:^",
"ariakit": "^2.0.0-next.41",
"cmdk": "^0.1.20",
"meilisearch": "^0.29.1",
"react": "^18.2.0",
"react-custom-scrollbars-2": "^4.5.0",
"react-dom": "^18.2.0",
"react-icons": "^4.6.0",
"react-use": "^17.4.0",
"sharp": "^0.31.2",
"shiki": "^0.11.1"
"react-use": "^17.4.0"
},
"devDependencies": {
"@astrojs/image": "^0.11.6",
"@astrojs/mdx": "^0.12.0",
"@astrojs/prefetch": "^0.1.1",
"@astrojs/react": "^1.2.2",
"@testing-library/react": "^13.4.0",
"@testing-library/user-event": "^14.4.3",
"@types/node": "16.18.3",
@@ -80,6 +76,8 @@
"prettier-plugin-tailwindcss": "^0.2.0",
"rehype-autolink-headings": "^6.1.1",
"rehype-slug": "^5.1.0",
"sharp": "^0.31.2",
"shiki": "^0.11.1",
"typescript": "^4.9.3",
"unocss": "^0.46.5",
"vercel": "^28.5.6",

View File

@@ -1,10 +1,15 @@
/* eslint-disable tsdoc/syntax */
import { fileURLToPath } from 'node:url';
import bundleAnalyzer from '@next/bundle-analyzer';
const withBundleAnalyzer = bundleAnalyzer({
enabled: process.env.ANALYZE === 'true',
});
/**
* @type {import('next').NextConfig}
*/
export default {
export default withBundleAnalyzer({
reactStrictMode: true,
eslint: {
ignoreDuringBuilds: true,
@@ -20,4 +25,4 @@ export default {
dangerouslyAllowSVG: true,
contentSecurityPolicy: "default-src 'self'; script-src 'none'; sandbox;",
},
};
});

View File

@@ -5,11 +5,12 @@
"private": true,
"scripts": {
"test": "vitest run",
"build:local": "yarn run --top-level docs --force && cross-env NEXT_PUBLIC_LOCAL_DEV=true yarn build:prod",
"build:local": "yarn run --top-level docs --force && cross-env-shell NEXT_PUBLIC_LOCAL_DEV=true yarn build:prod",
"build:prod": "yarn workspaces foreach -ptR run build && yarn build:css && yarn build:next",
"build:next": "next build",
"build:css": "yarn generate:css",
"build:search_indicies": "yarn node scripts/generateAllIndicies.js",
"build:analyze": "yarn run --top-level docs --force && cross-env-shell ANALYZE=true NEXT_PUBLIC_LOCAL_DEV=true yarn build:prod",
"dev": "yarn run --top-level docs && concurrently 'yarn dev:css' 'yarn dev:next'",
"dev:next": "next dev",
"dev:css": "yarn generate:css --watch",
@@ -46,6 +47,7 @@
"@discordjs/ui": "workspace:^",
"@microsoft/api-extractor-model": "7.24.0",
"@microsoft/tsdoc": "0.14.1",
"@react-icons/all-files": "^4.1.0",
"@vercel/og": "^0.0.21",
"@vscode/codicons": "^0.0.32",
"ariakit": "^2.0.0-next.41",
@@ -58,7 +60,6 @@
"react": "^18.2.0",
"react-custom-scrollbars-2": "^4.5.0",
"react-dom": "^18.2.0",
"react-icons": "^4.6.0",
"react-syntax-highlighter": "^15.5.0",
"react-use": "^17.4.0",
"rehype-ignore": "^1.0.3",
@@ -71,6 +72,7 @@
"swr": "^1.3.0"
},
"devDependencies": {
"@next/bundle-analyzer": "^13.0.5",
"@testing-library/react": "^13.4.0",
"@testing-library/user-event": "^14.4.3",
"@types/node": "16.18.3",

View File

@@ -1,6 +1,8 @@
import { VscArrowLeft } from '@react-icons/all-files/vsc/VscArrowLeft';
import { VscArrowRight } from '@react-icons/all-files/vsc/VscArrowRight';
import { VscVersions } from '@react-icons/all-files/vsc/VscVersions';
import Link from 'next/link';
import { notFound } from 'next/navigation';
import { VscArrowLeft, VscArrowRight, VscVersions } from 'react-icons/vsc';
import { PACKAGES } from '~/util/constants';
export const dynamicParams = false;

View File

@@ -1,5 +1,7 @@
import { VscArrowLeft } from '@react-icons/all-files/vsc/VscArrowLeft';
import { VscArrowRight } from '@react-icons/all-files/vsc/VscArrowRight';
import { VscPackage } from '@react-icons/all-files/vsc/VscPackage';
import Link from 'next/link';
import { VscArrowLeft, VscArrowRight, VscPackage } from 'react-icons/vsc';
import { PACKAGES } from '~/util/constants';
async function getData() {

View File

@@ -1,6 +1,6 @@
import { FiExternalLink } from '@react-icons/all-files/fi/FiExternalLink';
import Image from 'next/image';
import Link from 'next/link';
import { FiExternalLink } from 'react-icons/fi';
import vercelLogo from '../assets/powered-by-vercel.svg';
import { SyntaxHighlighter } from '~/components/SyntaxHighlighter';
import { CODE_EXAMPLE } from '~/util/constants';

View File

@@ -1,20 +1,18 @@
'use client';
import type { ApiItemKind } from '@microsoft/api-extractor-model';
import { VscArrowRight } from '@react-icons/all-files/vsc/VscArrowRight';
import { VscSymbolClass } from '@react-icons/all-files/vsc/VscSymbolClass';
import { VscSymbolEnum } from '@react-icons/all-files/vsc/VscSymbolEnum';
import { VscSymbolField } from '@react-icons/all-files/vsc/VscSymbolField';
import { VscSymbolInterface } from '@react-icons/all-files/vsc/VscSymbolInterface';
import { VscSymbolMethod } from '@react-icons/all-files/vsc/VscSymbolMethod';
import { VscSymbolProperty } from '@react-icons/all-files/vsc/VscSymbolProperty';
import { VscSymbolVariable } from '@react-icons/all-files/vsc/VscSymbolVariable';
import { Dialog } from 'ariakit/dialog';
import { Command } from 'cmdk';
import { usePathname, useRouter } from 'next/navigation';
import { useEffect, useMemo, useState } from 'react';
import {
VscArrowRight,
VscSymbolClass,
VscSymbolEnum,
VscSymbolField,
VscSymbolInterface,
VscSymbolMethod,
VscSymbolProperty,
VscSymbolVariable,
} from 'react-icons/vsc';
import { useKey } from 'react-use';
import { useCmdK } from '~/contexts/cmdK';
import { client } from '~/util/search';

View File

@@ -1,8 +1,8 @@
'use client';
import type { TokenDocumentation, ApiItemJSON, AnyDocNodeJSON, InheritanceData } from '@discordjs/api-extractor-utils';
import { FiLink } from '@react-icons/all-files/fi/FiLink';
import type { PropsWithChildren } from 'react';
import { FiLink } from 'react-icons/fi';
import { HyperlinkedText } from './HyperlinkedText';
import { InheritanceText } from './InheritanceText';
import { TSDoc } from './tsdoc/TSDoc';

View File

@@ -8,18 +8,16 @@ import type {
ApiInterfaceJSON,
} from '@discordjs/api-extractor-utils';
import { Section } from '@discordjs/ui';
import type { ReactNode } from 'react';
import { VscListSelection } from '@react-icons/all-files/vsc/VscListSelection';
import { VscSymbolClass } from '@react-icons/all-files/vsc/VscSymbolClass';
import { VscSymbolEnum } from '@react-icons/all-files/vsc/VscSymbolEnum';
import { VscSymbolInterface } from '@react-icons/all-files/vsc/VscSymbolInterface';
import { VscSymbolMethod } from '@react-icons/all-files/vsc/VscSymbolMethod';
import { VscSymbolParameter } from '@react-icons/all-files/vsc/VscSymbolParameter';
import { VscSymbolVariable } from '@react-icons/all-files/vsc/VscSymbolVariable';
import { Fragment, type PropsWithChildren } from 'react';
import type { ReactNode } from 'react';
import { Scrollbars } from 'react-custom-scrollbars-2';
import {
VscSymbolClass,
VscSymbolMethod,
VscSymbolEnum,
VscSymbolInterface,
VscSymbolVariable,
VscListSelection,
VscSymbolParameter,
} from 'react-icons/vsc';
import { useMedia } from 'react-use';
import { HyperlinkedText } from './HyperlinkedText';
import { SyntaxHighlighter } from './SyntaxHighlighter';

View File

@@ -1,12 +1,15 @@
'use client';
import { FiCommand } from '@react-icons/all-files/fi/FiCommand';
import { VscColorMode } from '@react-icons/all-files/vsc/VscColorMode';
import { VscGithubInverted } from '@react-icons/all-files/vsc/VscGithubInverted';
import { VscMenu } from '@react-icons/all-files/vsc/VscMenu';
import { VscSearch } from '@react-icons/all-files/vsc/VscSearch';
import { Button } from 'ariakit/button';
import Link from 'next/link';
import { usePathname } from 'next/navigation';
import { useTheme } from 'next-themes';
import { Fragment, useEffect, useMemo, useState } from 'react';
import { FiCommand } from 'react-icons/fi';
import { VscColorMode, VscGithubInverted, VscMenu, VscSearch } from 'react-icons/vsc';
import { useCmdK } from '~/contexts/cmdK';
import { useNav } from '~/contexts/nav';

View File

@@ -1,10 +1,11 @@
'use client';
import type { ApiMethodJSON, ApiMethodSignatureJSON } from '@discordjs/api-extractor-utils';
import { FiLink } from '@react-icons/all-files/fi/FiLink';
import { VscChevronDown } from '@react-icons/all-files/vsc/VscChevronDown';
import { VscVersions } from '@react-icons/all-files/vsc/VscVersions';
import { Menu, MenuButton, MenuItem, useMenuState } from 'ariakit/menu';
import { useCallback, useMemo, useState } from 'react';
import { FiLink } from 'react-icons/fi';
import { VscChevronDown, VscVersions } from 'react-icons/vsc';
import { HyperlinkedText } from './HyperlinkedText';
import { InheritanceText } from './InheritanceText';
import { ParameterTable } from './ParameterTable';

View File

@@ -1,8 +1,9 @@
import { VscChevronDown } from '@react-icons/all-files/vsc/VscChevronDown';
import { VscPackage } from '@react-icons/all-files/vsc/VscPackage';
import { Menu, MenuButton, MenuItem, useMenuState } from 'ariakit/menu';
import Link from 'next/link';
import { usePathname } from 'next/navigation';
import { useMemo } from 'react';
import { VscPackage, VscChevronDown } from 'react-icons/vsc';
import { PACKAGES } from '~/util/constants';
export function PackageSelect() {

View File

@@ -7,8 +7,10 @@ import type {
ApiConstructorJSON,
} from '@discordjs/api-extractor-utils';
import { Section } from '@discordjs/ui';
import { VscSymbolConstant } from '@react-icons/all-files/vsc/VscSymbolConstant';
import { VscSymbolMethod } from '@react-icons/all-files/vsc/VscSymbolMethod';
import { VscSymbolProperty } from '@react-icons/all-files/vsc/VscSymbolProperty';
import { useMemo } from 'react';
import { VscSymbolConstant, VscSymbolMethod, VscSymbolProperty } from 'react-icons/vsc';
import { useMedia } from 'react-use';
import { MethodList } from './MethodList';
import { ParameterTable } from './ParameterTable';

View File

@@ -2,17 +2,15 @@
import type { getMembers } from '@discordjs/api-extractor-utils';
import { Section } from '@discordjs/ui';
import { VscSymbolClass } from '@react-icons/all-files/vsc/VscSymbolClass';
import { VscSymbolEnum } from '@react-icons/all-files/vsc/VscSymbolEnum';
import { VscSymbolField } from '@react-icons/all-files/vsc/VscSymbolField';
import { VscSymbolInterface } from '@react-icons/all-files/vsc/VscSymbolInterface';
import { VscSymbolMethod } from '@react-icons/all-files/vsc/VscSymbolMethod';
import { VscSymbolVariable } from '@react-icons/all-files/vsc/VscSymbolVariable';
import Link from 'next/link';
import { usePathname } from 'next/navigation';
import { useMemo, useState, useEffect } from 'react';
import {
VscSymbolClass,
VscSymbolEnum,
VscSymbolInterface,
VscSymbolField,
VscSymbolVariable,
VscSymbolMethod,
} from 'react-icons/vsc';
import { useNav } from '~/contexts/nav';
type Members = ReturnType<typeof getMembers>;

View File

@@ -1,8 +1,10 @@
'use client';
import type { ApiClassJSON, ApiInterfaceJSON } from '@discordjs/api-extractor-utils';
import { VscListSelection } from '@react-icons/all-files/vsc/VscListSelection';
import { VscSymbolMethod } from '@react-icons/all-files/vsc/VscSymbolMethod';
import { VscSymbolProperty } from '@react-icons/all-files/vsc/VscSymbolProperty';
import { useMemo } from 'react';
import { VscListSelection, VscSymbolMethod, VscSymbolProperty } from 'react-icons/vsc';
export function TableOfContentItems({
methods,

View File

@@ -1,8 +1,9 @@
import { VscChevronDown } from '@react-icons/all-files/vsc/VscChevronDown';
import { VscVersions } from '@react-icons/all-files/vsc/VscVersions';
import { Menu, MenuButton, MenuItem, useMenuState } from 'ariakit/menu';
import Link from 'next/link';
import { usePathname } from 'next/navigation';
import { useMemo } from 'react';
import { VscVersions, VscChevronDown } from 'react-icons/vsc';
import useSWR from 'swr';
import { fetcher } from '~/util/fetcher';

View File

@@ -2,8 +2,8 @@
import type { ApiEnumJSON } from '@discordjs/api-extractor-utils';
import { Section } from '@discordjs/ui';
import { VscSymbolEnumMember } from '@react-icons/all-files/vsc/VscSymbolEnumMember';
import { Fragment } from 'react';
import { VscSymbolEnumMember } from 'react-icons/vsc';
import { useMedia } from 'react-use';
import { CodeListing, CodeListingSeparatorType } from '../CodeListing';
import { DocContainer } from '../DocContainer';

View File

@@ -1,9 +1,10 @@
'use client';
import type { ApiFunctionJSON } from '@discordjs/api-extractor-utils';
import { VscChevronDown } from '@react-icons/all-files/vsc/VscChevronDown';
import { VscVersions } from '@react-icons/all-files/vsc/VscVersions';
import { Menu, MenuButton, MenuItem, useMenuState } from 'ariakit/menu';
import { useState } from 'react';
import { VscChevronDown, VscVersions } from 'react-icons/vsc';
import { DocContainer } from '../DocContainer';
import { ParametersSection } from '../Sections';

View File

@@ -45,12 +45,12 @@
"dependencies": {
"ariakit": "^2.0.0-next.41",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-icons": "^4.6.0"
"react-dom": "^18.2.0"
},
"devDependencies": {
"@favware/cliff-jumper": "^1.9.0",
"@ladle/react": "^2.4.5",
"@react-icons/all-files": "^4.1.0",
"@types/node": "16.18.3",
"@types/react": "^18.0.25",
"@types/react-dom": "^18.0.9",

View File

@@ -1,5 +1,7 @@
import { VscFlame } from '@react-icons/all-files/vsc/VscFlame';
import { VscInfo } from '@react-icons/all-files/vsc/VscInfo';
import { VscWarning } from '@react-icons/all-files/vsc/VscWarning';
import type { PropsWithChildren } from 'react';
import { VscFlame, VscInfo, VscWarning } from 'react-icons/vsc';
export interface IAlert {
title?: string | undefined;

View File

@@ -1,6 +1,6 @@
import { VscChevronDown } from '@react-icons/all-files/vsc/VscChevronDown';
import { Disclosure, DisclosureContent, useDisclosureState } from 'ariakit/disclosure';
import type { PropsWithChildren } from 'react';
import { VscChevronDown } from 'react-icons/vsc';
export interface SectionOptions {
background?: boolean | undefined;

View File

@@ -14,7 +14,15 @@ export default defineConfig({
fileName: 'ui',
},
rollupOptions: {
external: ['react', 'react-dom', 'ariakit/disclosure', 'react-icons/vsc'],
external: [
'react',
'react-dom',
'ariakit/disclosure',
'@react-icons/all-files/vsc/VscFlame',
'@react-icons/all-files/vsc/VscInfo',
'@react-icons/all-files/vsc/VscWarning',
'@react-icons/all-files/vsc/VscChevronDown',
],
},
},
});

View File

@@ -2179,7 +2179,6 @@ __metadata:
astro: ^1.6.11
astro-compress: ^1.1.12
astro-critters: ^1.1.12
cmdk: ^0.1.20
cross-env: ^7.0.3
eslint: ^8.28.0
eslint-config-neon: ^0.1.40
@@ -2188,7 +2187,6 @@ __metadata:
hast-util-to-string: ^2.0.0
hastscript: ^7.1.0
html-escaper: ^3.0.3
meilisearch: ^0.29.1
prettier: ^2.8.0
prettier-plugin-astro: ^0.7.0
prettier-plugin-tailwindcss: ^0.2.0
@@ -2312,6 +2310,7 @@ __metadata:
dependencies:
"@favware/cliff-jumper": ^1.9.0
"@ladle/react": ^2.4.5
"@react-icons/all-files": ^4.1.0
"@types/node": 16.18.3
"@types/react": ^18.0.25
"@types/react-dom": ^18.0.9
@@ -2326,7 +2325,6 @@ __metadata:
prettier: ^2.8.0
react: ^18.2.0
react-dom: ^18.2.0
react-icons: ^4.6.0
typescript: ^4.9.3
unocss: ^0.46.5
vite: ^3.2.4
@@ -2395,6 +2393,8 @@ __metadata:
"@discordjs/ui": "workspace:^"
"@microsoft/api-extractor-model": 7.24.0
"@microsoft/tsdoc": 0.14.1
"@next/bundle-analyzer": ^13.0.5
"@react-icons/all-files": ^4.1.0
"@testing-library/react": ^13.4.0
"@testing-library/user-event": ^14.4.3
"@types/node": 16.18.3
@@ -2425,7 +2425,6 @@ __metadata:
react: ^18.2.0
react-custom-scrollbars-2: ^4.5.0
react-dom: ^18.2.0
react-icons: ^4.6.0
react-syntax-highlighter: ^15.5.0
react-use: ^17.4.0
rehype-ignore: ^1.0.3
@@ -3249,6 +3248,15 @@ __metadata:
languageName: node
linkType: hard
"@next/bundle-analyzer@npm:^13.0.5":
version: 13.0.5
resolution: "@next/bundle-analyzer@npm:13.0.5"
dependencies:
webpack-bundle-analyzer: 4.7.0
checksum: 0494c7211af0f4d995d5b08df00f6686f2df7e165623c7c9a9d27ed1b04a8ae1b3908c0f09ec40174de96f6817873df89b7c5c4044c4cbf4e2e9034cb9859d56
languageName: node
linkType: hard
"@next/env@npm:13.0.5":
version: 13.0.5
resolution: "@next/env@npm:13.0.5"
@@ -3703,6 +3711,15 @@ __metadata:
languageName: node
linkType: hard
"@react-icons/all-files@npm:^4.1.0":
version: 4.1.0
resolution: "@react-icons/all-files@npm:4.1.0"
peerDependencies:
react: "*"
checksum: c34c644650a144e4f2157c20b3106200ac1f76b3132dcda1a40f061e000a34c78df188266395afae571d5c85bf48365824db7b1bf8b7ae6229fdc148c941ab85
languageName: node
linkType: hard
"@resvg/resvg-wasm@npm:2.0.0-alpha.4":
version: 2.0.0-alpha.4
resolution: "@resvg/resvg-wasm@npm:2.0.0-alpha.4"
@@ -5242,14 +5259,14 @@ __metadata:
languageName: node
linkType: hard
"acorn-walk@npm:^8.1.1, acorn-walk@npm:^8.2.0":
"acorn-walk@npm:^8.0.0, acorn-walk@npm:^8.1.1, acorn-walk@npm:^8.2.0":
version: 8.2.0
resolution: "acorn-walk@npm:8.2.0"
checksum: 1715e76c01dd7b2d4ca472f9c58968516a4899378a63ad5b6c2d668bba8da21a71976c14ec5f5b75f887b6317c4ae0b897ab141c831d741dc76024d8745f1ad1
languageName: node
linkType: hard
"acorn@npm:^8.0.0, acorn@npm:^8.4.1, acorn@npm:^8.5.0, acorn@npm:^8.6.0, acorn@npm:^8.7.1, acorn@npm:^8.8.0":
"acorn@npm:^8.0.0, acorn@npm:^8.0.4, acorn@npm:^8.4.1, acorn@npm:^8.5.0, acorn@npm:^8.6.0, acorn@npm:^8.7.1, acorn@npm:^8.8.0":
version: 8.8.1
resolution: "acorn@npm:8.8.1"
bin:
@@ -13866,7 +13883,7 @@ __metadata:
languageName: node
linkType: hard
"lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.21, lodash@npm:~4.17.15":
"lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:~4.17.15":
version: 4.17.21
resolution: "lodash@npm:4.17.21"
checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7
@@ -15956,6 +15973,15 @@ __metadata:
languageName: node
linkType: hard
"opener@npm:^1.5.2":
version: 1.5.2
resolution: "opener@npm:1.5.2"
bin:
opener: bin/opener-bin.js
checksum: 33b620c0d53d5b883f2abc6687dd1c5fd394d270dbe33a6356f2d71e0a2ec85b100d5bac94694198ccf5c30d592da863b2292c5539009c715a9c80c697b4f6cc
languageName: node
linkType: hard
"optionator@npm:^0.9.1":
version: 0.9.1
resolution: "optionator@npm:0.9.1"
@@ -18350,6 +18376,17 @@ __metadata:
languageName: node
linkType: hard
"sirv@npm:^1.0.7":
version: 1.0.19
resolution: "sirv@npm:1.0.19"
dependencies:
"@polka/url": ^1.0.0-next.20
mrmime: ^1.0.0
totalist: ^1.0.0
checksum: c943cfc61baf85f05f125451796212ec35d4377af4da90ae8ec1fa23e6d7b0b4d9c74a8fbf65af83c94e669e88a09dc6451ba99154235eead4393c10dda5b07c
languageName: node
linkType: hard
"sirv@npm:^2.0.2":
version: 2.0.2
resolution: "sirv@npm:2.0.2"
@@ -19554,6 +19591,13 @@ __metadata:
languageName: node
linkType: hard
"totalist@npm:^1.0.0":
version: 1.1.0
resolution: "totalist@npm:1.1.0"
checksum: dfab80c7104a1d170adc8c18782d6c04b7df08352dec452191208c66395f7ef2af7537ddfa2cf1decbdcfab1a47afbbf0dec6543ea191da98c1c6e1599f86adc
languageName: node
linkType: hard
"totalist@npm:^3.0.0":
version: 3.0.0
resolution: "totalist@npm:3.0.0"
@@ -21213,6 +21257,25 @@ __metadata:
languageName: node
linkType: hard
"webpack-bundle-analyzer@npm:4.7.0":
version: 4.7.0
resolution: "webpack-bundle-analyzer@npm:4.7.0"
dependencies:
acorn: ^8.0.4
acorn-walk: ^8.0.0
chalk: ^4.1.0
commander: ^7.2.0
gzip-size: ^6.0.0
lodash: ^4.17.20
opener: ^1.5.2
sirv: ^1.0.7
ws: ^7.3.1
bin:
webpack-bundle-analyzer: lib/bin/analyzer.js
checksum: 4ce3b379c61ce16b2219756843407cc99f2b82cd191f653043f1b705a3e32b3af03834af0dfded98ab852313a892a148bed1a8effaacd6440f028c19f41581f3
languageName: node
linkType: hard
"whatwg-encoding@npm:^2.0.0":
version: 2.0.0
resolution: "whatwg-encoding@npm:2.0.0"
@@ -21448,6 +21511,21 @@ __metadata:
languageName: node
linkType: hard
"ws@npm:^7.3.1":
version: 7.5.9
resolution: "ws@npm:7.5.9"
peerDependencies:
bufferutil: ^4.0.1
utf-8-validate: ^5.0.2
peerDependenciesMeta:
bufferutil:
optional: true
utf-8-validate:
optional: true
checksum: c3c100a181b731f40b7f2fddf004aa023f79d64f489706a28bc23ff88e87f6a64b3c6651fbec3a84a53960b75159574d7a7385709847a62ddb7ad6af76f49138
languageName: node
linkType: hard
"ws@npm:^8.11.0":
version: 8.11.0
resolution: "ws@npm:8.11.0"