mirror of
https://github.com/nonebot/nonebot2.git
synced 2025-03-13 12:21:57 +08:00
📝 Docs: 商店头像 skeleton (#3362)
This commit is contained in:
parent
ecab229133
commit
09343c332e
394
.eslintrc.js
394
.eslintrc.js
@ -1,3 +1,10 @@
|
||||
const OFF = 0;
|
||||
const WARNING = 1;
|
||||
const ERROR = 2;
|
||||
|
||||
// Prevent importing lodash, usually for browser bundle size reasons
|
||||
const LodashImportPatterns = ["lodash", "lodash.**", "lodash/**"];
|
||||
|
||||
module.exports = {
|
||||
root: true,
|
||||
env: {
|
||||
@ -6,80 +13,391 @@ module.exports = {
|
||||
node: true,
|
||||
},
|
||||
parser: "@typescript-eslint/parser",
|
||||
parserOptions: {
|
||||
tsconfigRootDir: __dirname,
|
||||
project: ["./tsconfig.json", "./website/tsconfig.json"],
|
||||
},
|
||||
parserOptions: {},
|
||||
globals: {
|
||||
JSX: true,
|
||||
},
|
||||
extends: [
|
||||
"eslint:recommended",
|
||||
"plugin:react/recommended",
|
||||
"plugin:react-hooks/recommended",
|
||||
"airbnb",
|
||||
"plugin:@typescript-eslint/recommended",
|
||||
"plugin:import/recommended",
|
||||
// 'plugin:@typescript-eslint/recommended-requiring-type-checking',
|
||||
// 'plugin:@typescript-eslint/strict',
|
||||
"plugin:regexp/recommended",
|
||||
"plugin:prettier/recommended",
|
||||
"prettier",
|
||||
"plugin:@docusaurus/all",
|
||||
],
|
||||
settings: {
|
||||
"import/resolver": {
|
||||
node: {
|
||||
extensions: [".js", ".jsx", ".ts", ".tsx"],
|
||||
},
|
||||
typescript: true,
|
||||
},
|
||||
react: {
|
||||
version: "detect",
|
||||
},
|
||||
},
|
||||
overrides: [
|
||||
{
|
||||
files: ["*.ts", "*.tsx"],
|
||||
rules: {
|
||||
"import/no-unresolved": "off",
|
||||
},
|
||||
},
|
||||
{
|
||||
files: ["*.js", "*.cjs"],
|
||||
rules: {
|
||||
"@typescript-eslint/no-var-requires": "off",
|
||||
},
|
||||
},
|
||||
],
|
||||
plugins: ["@typescript-eslint"],
|
||||
reportUnusedDisableDirectives: true,
|
||||
plugins: ["react-hooks", "@typescript-eslint", "regexp", "@docusaurus"],
|
||||
rules: {
|
||||
"linebreak-style": ["error", "unix"],
|
||||
quotes: ["error", "double", { avoidEscape: true }],
|
||||
semi: ["error", "always"],
|
||||
"@typescript-eslint/no-non-null-assertion": "off",
|
||||
"react/jsx-uses-react": OFF, // JSX runtime: automatic
|
||||
"react/react-in-jsx-scope": OFF, // JSX runtime: automatic
|
||||
"array-callback-return": WARNING,
|
||||
camelcase: WARNING,
|
||||
"class-methods-use-this": OFF, // It's a way of allowing private variables.
|
||||
curly: [WARNING, "all"],
|
||||
"global-require": WARNING,
|
||||
"lines-between-class-members": OFF,
|
||||
"max-classes-per-file": OFF,
|
||||
"max-len": [
|
||||
WARNING,
|
||||
{
|
||||
code: Infinity, // Code width is already enforced by Prettier
|
||||
tabWidth: 2,
|
||||
comments: 80,
|
||||
ignoreUrls: true,
|
||||
ignorePattern: "(eslint-disable|@)",
|
||||
},
|
||||
],
|
||||
"arrow-body-style": OFF,
|
||||
"no-await-in-loop": OFF,
|
||||
"no-case-declarations": WARNING,
|
||||
"no-console": OFF,
|
||||
"no-constant-binary-expression": ERROR,
|
||||
"no-continue": OFF,
|
||||
"no-control-regex": WARNING,
|
||||
"no-else-return": OFF,
|
||||
"no-empty": [WARNING, { allowEmptyCatch: true }],
|
||||
"no-lonely-if": WARNING,
|
||||
"no-nested-ternary": WARNING,
|
||||
"no-param-reassign": [WARNING, { props: false }],
|
||||
"no-prototype-builtins": WARNING,
|
||||
"no-restricted-exports": OFF,
|
||||
"no-restricted-properties": [
|
||||
ERROR,
|
||||
.../** @type {[string, string][]} */ ([
|
||||
// TODO: TS doesn't make Boolean a narrowing function yet,
|
||||
// so filter(Boolean) is problematic type-wise
|
||||
// ['compact', 'Array#filter(Boolean)'],
|
||||
["concat", "Array#concat"],
|
||||
["drop", "Array#slice(n)"],
|
||||
["dropRight", "Array#slice(0, -n)"],
|
||||
["fill", "Array#fill"],
|
||||
["filter", "Array#filter"],
|
||||
["find", "Array#find"],
|
||||
["findIndex", "Array#findIndex"],
|
||||
["first", "foo[0]"],
|
||||
["flatten", "Array#flat"],
|
||||
["flattenDeep", "Array#flat(Infinity)"],
|
||||
["flatMap", "Array#flatMap"],
|
||||
["fromPairs", "Object.fromEntries"],
|
||||
["head", "foo[0]"],
|
||||
["indexOf", "Array#indexOf"],
|
||||
["initial", "Array#slice(0, -1)"],
|
||||
["join", "Array#join"],
|
||||
// Unfortunately there's no great alternative to _.last yet
|
||||
// Candidates: foo.slice(-1)[0]; foo[foo.length - 1]
|
||||
// Array#at is ES2022; could replace _.nth as well
|
||||
// ['last'],
|
||||
["map", "Array#map"],
|
||||
["reduce", "Array#reduce"],
|
||||
["reverse", "Array#reverse"],
|
||||
["slice", "Array#slice"],
|
||||
["take", "Array#slice(0, n)"],
|
||||
["takeRight", "Array#slice(-n)"],
|
||||
["tail", "Array#slice(1)"],
|
||||
]).map(([property, alternative]) => ({
|
||||
object: "_",
|
||||
property,
|
||||
message: `Use ${alternative} instead.`,
|
||||
})),
|
||||
...[
|
||||
"readdirSync",
|
||||
"readFileSync",
|
||||
"statSync",
|
||||
"lstatSync",
|
||||
"existsSync",
|
||||
"pathExistsSync",
|
||||
"realpathSync",
|
||||
"mkdirSync",
|
||||
"mkdirpSync",
|
||||
"mkdirsSync",
|
||||
"writeFileSync",
|
||||
"writeJsonSync",
|
||||
"outputFileSync",
|
||||
"outputJsonSync",
|
||||
"moveSync",
|
||||
"copySync",
|
||||
"copyFileSync",
|
||||
"ensureFileSync",
|
||||
"ensureDirSync",
|
||||
"ensureLinkSync",
|
||||
"ensureSymlinkSync",
|
||||
"unlinkSync",
|
||||
"removeSync",
|
||||
"emptyDirSync",
|
||||
].map((property) => ({
|
||||
object: "fs",
|
||||
property,
|
||||
message: "Do not use sync fs methods.",
|
||||
})),
|
||||
],
|
||||
"no-restricted-syntax": [
|
||||
WARNING,
|
||||
// Copied from airbnb, removed for...of statement, added export all
|
||||
{
|
||||
selector: "ForInStatement",
|
||||
message:
|
||||
"for..in loops iterate over the entire prototype chain, which is virtually never what you want. Use Object.{keys,values,entries}, and iterate over the resulting array.",
|
||||
},
|
||||
{
|
||||
selector: "LabeledStatement",
|
||||
message:
|
||||
"Labels are a form of GOTO; using them makes code confusing and hard to maintain and understand.",
|
||||
},
|
||||
{
|
||||
selector: "WithStatement",
|
||||
message:
|
||||
"`with` is disallowed in strict mode because it makes code impossible to predict and optimize.",
|
||||
},
|
||||
{
|
||||
selector: "ExportAllDeclaration",
|
||||
message:
|
||||
"Export all does't work well if imported in ESM due to how they are transpiled, and they can also lead to unexpected exposure of internal methods.",
|
||||
},
|
||||
// TODO make an internal plugin to ensure this
|
||||
// {
|
||||
// selector:
|
||||
// @ 'ExportDefaultDeclaration > Identifier, ExportNamedDeclaration[source=null] > ExportSpecifier',
|
||||
// message: 'Export in one statement'
|
||||
// },
|
||||
...["path", "fs-extra", "webpack", "lodash"].map((m) => ({
|
||||
selector: `ImportDeclaration[importKind=value]:has(Literal[value=${m}]) > ImportSpecifier[importKind=value]`,
|
||||
message:
|
||||
"Default-import this, both for readability and interoperability with ESM",
|
||||
})),
|
||||
],
|
||||
"no-template-curly-in-string": WARNING,
|
||||
"no-unused-expressions": [
|
||||
WARNING,
|
||||
{ allowTaggedTemplates: true, allowShortCircuit: true },
|
||||
],
|
||||
"no-useless-escape": WARNING,
|
||||
"no-void": [ERROR, { allowAsStatement: true }],
|
||||
"prefer-destructuring": WARNING,
|
||||
"prefer-named-capture-group": WARNING,
|
||||
"prefer-template": WARNING,
|
||||
yoda: WARNING,
|
||||
|
||||
"import/extensions": OFF,
|
||||
// This rule doesn't yet support resolving .js imports when the actual file
|
||||
// is .ts. Plus it's not all that useful when our code is fully TS-covered.
|
||||
"import/no-unresolved": [
|
||||
OFF,
|
||||
{
|
||||
// Ignore certain webpack aliases because they can't be resolved
|
||||
ignore: [
|
||||
"^@theme",
|
||||
"^@docusaurus",
|
||||
"^@generated",
|
||||
"^@site",
|
||||
"^@testing-utils",
|
||||
],
|
||||
},
|
||||
],
|
||||
"import/order": [
|
||||
"error",
|
||||
WARNING,
|
||||
{
|
||||
groups: [
|
||||
"builtin",
|
||||
"external",
|
||||
"internal",
|
||||
"parent",
|
||||
"sibling",
|
||||
"index",
|
||||
["parent", "sibling", "index"],
|
||||
"type",
|
||||
],
|
||||
"newlines-between": "always",
|
||||
pathGroups: [
|
||||
// always put css import to the last, ref:
|
||||
// https://github.com/import-js/eslint-plugin-import/issues/1239
|
||||
{
|
||||
pattern: "*.+(css|sass|less|scss|pcss|styl)",
|
||||
group: "unknown",
|
||||
patternOptions: { matchBase: true },
|
||||
position: "after",
|
||||
},
|
||||
{ pattern: "react", group: "builtin", position: "before" },
|
||||
{ pattern: "react-dom", group: "builtin", position: "before" },
|
||||
{ pattern: "react-dom/**", group: "builtin", position: "before" },
|
||||
{ pattern: "stream", group: "builtin", position: "before" },
|
||||
{ pattern: "fs-extra", group: "builtin" },
|
||||
{ pattern: "lodash", group: "external", position: "before" },
|
||||
{ pattern: "clsx", group: "external", position: "before" },
|
||||
// 'Bit weird to not use the `import/internal-regex` option, but this
|
||||
// way, we can make `import type { Props } from "@theme/*"` appear
|
||||
// before `import styles from "styles.module.css"`, which is what we
|
||||
// always did. This should be removable once we stop using ambient
|
||||
// module declarations for theme aliases.
|
||||
{ pattern: "@theme/**", group: "internal" },
|
||||
{ pattern: "@site/**", group: "internal" },
|
||||
{ pattern: "@theme-init/**", group: "internal" },
|
||||
{ pattern: "@theme-original/**", group: "internal" },
|
||||
{ pattern: "@/components/**", group: "internal" },
|
||||
{ pattern: "@/libs/**", group: "internal" },
|
||||
{ pattern: "@/types/**", group: "type" },
|
||||
],
|
||||
pathGroupsExcludedImportTypes: [],
|
||||
"newlines-between": "always",
|
||||
alphabetize: {
|
||||
order: "asc",
|
||||
},
|
||||
// example: let `import './nprogress.css';` after importing others
|
||||
// in `packages/docusaurus-theme-classic/src/nprogress.ts`
|
||||
// see more: https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/order.md#warnonunassignedimports-truefalse
|
||||
warnOnUnassignedImports: true,
|
||||
},
|
||||
],
|
||||
"import/prefer-default-export": OFF,
|
||||
|
||||
"jsx-a11y/click-events-have-key-events": WARNING,
|
||||
"jsx-a11y/no-noninteractive-element-interactions": WARNING,
|
||||
"jsx-a11y/html-has-lang": OFF,
|
||||
|
||||
"react-hooks/rules-of-hooks": ERROR,
|
||||
"react-hooks/exhaustive-deps": ERROR,
|
||||
|
||||
// Sometimes we do need the props as a whole, e.g. when spreading
|
||||
"react/destructuring-assignment": OFF,
|
||||
"react/function-component-definition": [
|
||||
WARNING,
|
||||
{
|
||||
namedComponents: "function-declaration",
|
||||
unnamedComponents: "arrow-function",
|
||||
},
|
||||
],
|
||||
"react/jsx-filename-extension": OFF,
|
||||
"react/jsx-key": [ERROR, { checkFragmentShorthand: true }],
|
||||
"react/jsx-no-useless-fragment": [ERROR, { allowExpressions: true }],
|
||||
"react/jsx-props-no-spreading": OFF,
|
||||
"react/no-array-index-key": OFF, // We build a static site, and nearly all components don't change.
|
||||
"react/no-unstable-nested-components": [WARNING, { allowAsProps: true }],
|
||||
"react/prefer-stateless-function": WARNING,
|
||||
"react/prop-types": OFF,
|
||||
"react/require-default-props": [
|
||||
ERROR,
|
||||
{ ignoreFunctionalComponents: true },
|
||||
],
|
||||
|
||||
"@typescript-eslint/consistent-type-definitions": OFF,
|
||||
"@typescript-eslint/require-await": OFF,
|
||||
|
||||
"@typescript-eslint/ban-ts-comment": [
|
||||
ERROR,
|
||||
{ "ts-expect-error": "allow-with-description" },
|
||||
],
|
||||
"@typescript-eslint/consistent-indexed-object-style": OFF,
|
||||
"@typescript-eslint/consistent-type-imports": [
|
||||
WARNING,
|
||||
{ disallowTypeAnnotations: false },
|
||||
],
|
||||
"@typescript-eslint/explicit-module-boundary-types": WARNING,
|
||||
"@typescript-eslint/method-signature-style": ERROR,
|
||||
"@typescript-eslint/no-empty-function": OFF,
|
||||
"@typescript-eslint/no-empty-interface": [
|
||||
ERROR,
|
||||
{
|
||||
allowSingleExtends: true,
|
||||
},
|
||||
],
|
||||
"@typescript-eslint/no-inferrable-types": OFF,
|
||||
"@typescript-eslint/no-namespace": [WARNING, { allowDeclarations: true }],
|
||||
"no-use-before-define": OFF,
|
||||
"@typescript-eslint/no-use-before-define": [
|
||||
ERROR,
|
||||
{ functions: false, classes: false, variables: true },
|
||||
],
|
||||
"@typescript-eslint/no-non-null-assertion": OFF,
|
||||
"no-redeclare": OFF,
|
||||
"@typescript-eslint/no-redeclare": ERROR,
|
||||
"no-shadow": OFF,
|
||||
"@typescript-eslint/no-shadow": ERROR,
|
||||
"no-unused-vars": OFF,
|
||||
// We don't provide any escape hatches for this rule. Rest siblings and
|
||||
// function placeholder params are always ignored, and any other unused
|
||||
// locals must be justified with a disable comment.
|
||||
"@typescript-eslint/no-unused-vars": [ERROR, { ignoreRestSiblings: true }],
|
||||
"@typescript-eslint/prefer-optional-chain": ERROR,
|
||||
"@docusaurus/no-html-links": ERROR,
|
||||
"@docusaurus/prefer-docusaurus-heading": ERROR,
|
||||
"@docusaurus/no-untranslated-text": [
|
||||
WARNING,
|
||||
{
|
||||
ignoredStrings: [
|
||||
"·",
|
||||
"-",
|
||||
"—",
|
||||
"×",
|
||||
"", // zwj: ​
|
||||
"@",
|
||||
"WebContainers",
|
||||
"Twitter",
|
||||
"GitHub",
|
||||
"Dev.to",
|
||||
"1.x",
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
overrides: [
|
||||
{
|
||||
files: ["packages/*/src/theme/**/*.{js,ts,tsx}"],
|
||||
excludedFiles: "*.test.{js,ts,tsx}",
|
||||
rules: {
|
||||
"no-restricted-imports": [
|
||||
"error",
|
||||
{
|
||||
patterns: LodashImportPatterns.concat(
|
||||
// Prevents relative imports between React theme components
|
||||
[
|
||||
"../**",
|
||||
"./**",
|
||||
// Allows relative styles module import with consistent filename
|
||||
"!./styles.module.css",
|
||||
// Allows relative tailwind css import with consistent filename
|
||||
"!./styles.css",
|
||||
]
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
{
|
||||
files: ["packages/*/src/theme/**/*.{js,ts,tsx}"],
|
||||
rules: {
|
||||
"import/no-named-export": ERROR,
|
||||
},
|
||||
},
|
||||
{
|
||||
files: ["*.d.ts"],
|
||||
rules: {
|
||||
"import/no-duplicates": OFF,
|
||||
},
|
||||
},
|
||||
{
|
||||
files: ["*.{ts,tsx}"],
|
||||
rules: {
|
||||
"no-undef": OFF,
|
||||
"import/no-import-module-exports": OFF,
|
||||
},
|
||||
},
|
||||
{
|
||||
files: ["*.{js,mjs,cjs}"],
|
||||
rules: {
|
||||
// Make JS code directly runnable in Node.
|
||||
"@typescript-eslint/no-var-requires": OFF,
|
||||
"@typescript-eslint/explicit-module-boundary-types": OFF,
|
||||
},
|
||||
},
|
||||
{
|
||||
// Internal files where extraneous deps don't matter much at long as
|
||||
// they run
|
||||
files: ["website/**"],
|
||||
rules: {
|
||||
"import/no-extraneous-dependencies": OFF,
|
||||
},
|
||||
},
|
||||
],
|
||||
};
|
||||
|
13
package.json
13
package.json
@ -21,16 +21,15 @@
|
||||
"pyright": "pyright"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@typescript-eslint/eslint-plugin": "^6.6.0",
|
||||
"@typescript-eslint/parser": "^6.6.0",
|
||||
"@typescript-eslint/eslint-plugin": "^5.62.0",
|
||||
"@typescript-eslint/parser": "^5.62.0",
|
||||
"cross-env": "^7.0.3",
|
||||
"eslint": "^8.48.0",
|
||||
"eslint-config-prettier": "^9.0.0",
|
||||
"eslint-import-resolver-typescript": "^3.6.0",
|
||||
"eslint-plugin-import": "^2.28.1",
|
||||
"eslint-config-airbnb": "^19.0.4",
|
||||
"eslint-config-prettier": "^8.8.0",
|
||||
"eslint-plugin-import": "^2.27.5",
|
||||
"eslint-plugin-jsx-a11y": "^6.7.1",
|
||||
"eslint-plugin-prettier": "^5.0.0",
|
||||
"eslint-plugin-react": "^7.33.2",
|
||||
"eslint-plugin-react": "^7.32.2",
|
||||
"eslint-plugin-react-hooks": "^4.6.0",
|
||||
"eslint-plugin-regexp": "^1.15.0",
|
||||
"prettier": "^3.0.3",
|
||||
|
@ -1,7 +1,8 @@
|
||||
import { themes } from "prism-react-renderer";
|
||||
|
||||
import type { Config } from "@docusaurus/types";
|
||||
import type { Options as ChangelogOptions } from "@nullbot/docusaurus-plugin-changelog";
|
||||
import type * as Preset from "@nullbot/docusaurus-preset-nonepress";
|
||||
import { themes } from "prism-react-renderer";
|
||||
|
||||
// color mode config
|
||||
const colorMode: Preset.ThemeConfig["colorMode"] = {
|
||||
|
@ -27,6 +27,7 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@docusaurus/core": "^3.7.0",
|
||||
"@docusaurus/eslint-plugin": "3.7.0",
|
||||
"@mdx-js/react": "^3.0.0",
|
||||
"@nullbot/docusaurus-plugin-changelog": "^3.0.0",
|
||||
"@nullbot/docusaurus-preset-nonepress": "^3.0.0",
|
||||
|
@ -10,9 +10,10 @@
|
||||
*/
|
||||
import path from "path";
|
||||
|
||||
import type { SidebarsConfig } from "@docusaurus/plugin-content-docs";
|
||||
import { getChangelogItemsSync } from "@nullbot/docusaurus-plugin-changelog";
|
||||
|
||||
import type { SidebarsConfig } from "@docusaurus/plugin-content-docs";
|
||||
|
||||
const changelogPath = path.join(__dirname, "src/changelog/changelog.md");
|
||||
const changelogItems = getChangelogItemsSync(changelogPath, 10);
|
||||
|
||||
|
@ -32,5 +32,5 @@ export default function AsciinemaContainer({
|
||||
AsciinemaPlayer.create(url, ref.current, options);
|
||||
}, [url, options]);
|
||||
|
||||
return <div ref={ref} className="not-prose ap-container"></div>;
|
||||
return <div ref={ref} className="not-prose ap-container" />;
|
||||
}
|
||||
|
@ -1,9 +1,11 @@
|
||||
import React from "react";
|
||||
|
||||
import BrowserOnly from "@docusaurus/BrowserOnly";
|
||||
|
||||
import "asciinema-player/dist/bundle/asciinema-player.css";
|
||||
|
||||
import type { Props } from "./container";
|
||||
|
||||
import "./styles.css";
|
||||
|
||||
export type { Props } from "./container";
|
||||
|
@ -8,7 +8,8 @@ import { ChromePicker, type ColorResult } from "react-color";
|
||||
import "./styles.css";
|
||||
|
||||
import TagComponent from "@/components/Tag";
|
||||
import { Tag as TagType } from "@/types/tag";
|
||||
|
||||
import type { Tag as TagType } from "@/types/tag";
|
||||
|
||||
export type Props = {
|
||||
allowTags: TagType[];
|
||||
@ -103,7 +104,7 @@ export default function TagFormItem({
|
||||
<ChromePicker
|
||||
className="my-4 fix-input-color"
|
||||
color={color}
|
||||
disableAlpha={true}
|
||||
disableAlpha
|
||||
onChangeComplete={onChangeColor}
|
||||
/>
|
||||
</div>
|
||||
|
@ -4,10 +4,13 @@ import clsx from "clsx";
|
||||
|
||||
import "./styles.css";
|
||||
|
||||
|
||||
import type { Resource } from "@/libs/store";
|
||||
import { fetchRegistryData } from "@/libs/store";
|
||||
|
||||
import TagFormItem from "./Items/Tag";
|
||||
|
||||
import { fetchRegistryData, Resource } from "@/libs/store";
|
||||
import { Tag as TagType } from "@/types/tag";
|
||||
import type { Tag as TagType } from "@/types/tag";
|
||||
|
||||
export type FormItemData = {
|
||||
type: string;
|
||||
@ -62,8 +65,8 @@ export function Form({
|
||||
(item) => item.name
|
||||
);
|
||||
if (currentStepNames.every((name) => result[name]))
|
||||
setCurrentStep(currentStep + 1);
|
||||
else return;
|
||||
{setCurrentStep(currentStep + 1);}
|
||||
else {}
|
||||
};
|
||||
const onPrev = () => currentStep > 0 && setCurrentStep(currentStep - 1);
|
||||
const onNext = () =>
|
||||
|
@ -2,6 +2,7 @@ import React from "react";
|
||||
|
||||
import HomeFeatures from "./Feature";
|
||||
import HomeHero from "./Hero";
|
||||
|
||||
import "./styles.css";
|
||||
|
||||
export default function HomeContent(): React.ReactNode {
|
||||
|
@ -7,6 +7,7 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
||||
import { useNonepressThemeConfig } from "@nullbot/docusaurus-theme-nonepress/client";
|
||||
|
||||
import ThemedImage from "@theme/ThemedImage";
|
||||
|
||||
import "./styles.css";
|
||||
|
||||
export type Message = {
|
||||
@ -54,7 +55,7 @@ function MessageBox({
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: msg.replace(/\n/g, "<br/>").replace(/ /g, " "),
|
||||
}}
|
||||
></div>
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ import React, { useCallback } from "react";
|
||||
import clsx from "clsx";
|
||||
|
||||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
||||
|
||||
import type { usePagination } from "react-use-pagination";
|
||||
|
||||
import "./styles.css";
|
||||
@ -66,7 +67,7 @@ export default function Paginate({
|
||||
const even = MAX_LENGTH % 2 === 0 ? 1 : 0;
|
||||
const left = Math.floor(MAX_LENGTH / 2);
|
||||
const right = totalPages - left + even + 1;
|
||||
currentPage = currentPage + 1;
|
||||
currentPage += 1;
|
||||
|
||||
if (totalPages <= MAX_LENGTH) {
|
||||
pages.push(...range(1, totalPages));
|
||||
|
43
website/src/components/Resource/Avatar/index.tsx
Normal file
43
website/src/components/Resource/Avatar/index.tsx
Normal file
@ -0,0 +1,43 @@
|
||||
import { useState } from "react";
|
||||
import Link from "@docusaurus/Link";
|
||||
import clsx from "clsx";
|
||||
|
||||
interface Props {
|
||||
className?: string;
|
||||
authorLink: string;
|
||||
authorAvatar: string;
|
||||
}
|
||||
|
||||
export default function Avatar({ authorLink, authorAvatar, className }: Props) {
|
||||
const [loaded, setLoaded] = useState(false);
|
||||
const onLoad = () => setLoaded(true);
|
||||
|
||||
return (
|
||||
<div className="avatar">
|
||||
<div className={className}>
|
||||
<Link href={authorLink}>
|
||||
<div className="relative w-full h-full">
|
||||
{!loaded && (
|
||||
<div
|
||||
className={clsx(
|
||||
"absolute inset-0 rounded-full bg-gray-200",
|
||||
"animate-pulse"
|
||||
)}
|
||||
/>
|
||||
)}
|
||||
<img
|
||||
src={authorAvatar}
|
||||
onLoad={onLoad}
|
||||
className={clsx(
|
||||
"w-full h-full rounded-full object-cover",
|
||||
"transition-opacity duration-300",
|
||||
loaded ? "opacity-100" : "opacity-0"
|
||||
)}
|
||||
alt="Avatar"
|
||||
/>
|
||||
</div>
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
@ -5,9 +5,11 @@ import clsx from "clsx";
|
||||
import Link from "@docusaurus/Link";
|
||||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
||||
|
||||
import Avatar from "@/components/Resource/Avatar";
|
||||
import Tag from "@/components/Resource/Tag";
|
||||
import ValidStatus from "@/components/Resource/ValidStatus";
|
||||
import type { Resource } from "@/libs/store";
|
||||
|
||||
import "./styles.css";
|
||||
|
||||
export type Props = {
|
||||
@ -73,7 +75,7 @@ export default function ResourceCard({
|
||||
/>
|
||||
))}
|
||||
</div>
|
||||
<div className="divider resource-card-footer-divider"></div>
|
||||
<div className="divider resource-card-footer-divider" />
|
||||
<div className="resource-card-footer-info">
|
||||
<div className="resource-card-footer-group">
|
||||
<Link href={resource.homepage}>
|
||||
@ -99,13 +101,12 @@ export default function ResourceCard({
|
||||
)}
|
||||
</div>
|
||||
<div className="resource-card-footer-group">
|
||||
<div className="avatar">
|
||||
<div className="resource-card-footer-avatar">
|
||||
<Link href={authorLink}>
|
||||
<img src={authorAvatar} key={resource.author} />
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
<Avatar
|
||||
className="resource-card-footer-avatar"
|
||||
key={resource.author}
|
||||
authorAvatar={authorAvatar}
|
||||
authorLink={authorLink}
|
||||
/>
|
||||
<span
|
||||
className="resource-card-footer-author"
|
||||
onClick={onAuthorClick}
|
||||
|
@ -1,15 +1,15 @@
|
||||
import React, { useEffect, useState } from "react";
|
||||
import { useEffect, useState } from "react";
|
||||
|
||||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
||||
// @ts-expect-error: we need to make package have type: module
|
||||
import copy from "copy-text-to-clipboard";
|
||||
|
||||
import { PyPIData } from "./types";
|
||||
|
||||
import Tag from "@/components/Resource/Tag";
|
||||
import ValidStatus from "@/components/Resource/ValidStatus";
|
||||
import type { Resource } from "@/libs/store";
|
||||
|
||||
import type { PyPIData } from "./types";
|
||||
|
||||
import Avatar from "../Avatar";
|
||||
import "./styles.css";
|
||||
|
||||
export type Props = {
|
||||
@ -97,11 +97,13 @@ export default function ResourceDetailCard({ resource }: Props) {
|
||||
|
||||
useEffect(() => {
|
||||
const fetchingTasks: Promise<void>[] = [];
|
||||
if (resource.resourceType === "bot" || resource.resourceType === "driver")
|
||||
if (resource.resourceType === "bot" || resource.resourceType === "driver") {
|
||||
return;
|
||||
}
|
||||
|
||||
if (resource.project_link)
|
||||
if (resource.project_link) {
|
||||
fetchingTasks.push(fetchPypiProject(resource.project_link));
|
||||
}
|
||||
|
||||
Promise.all(fetchingTasks);
|
||||
}, [resource]);
|
||||
@ -115,10 +117,11 @@ export default function ResourceDetailCard({ resource }: Props) {
|
||||
return (
|
||||
<>
|
||||
<div className="detail-card-header">
|
||||
<img
|
||||
src={authorAvatar}
|
||||
<Avatar
|
||||
className="detail-card-avatar"
|
||||
decoding="async"
|
||||
key={resource.author}
|
||||
authorLink={authorLink}
|
||||
authorAvatar={authorAvatar}
|
||||
/>
|
||||
<div className="detail-card-title">
|
||||
<span className="detail-card-title-main flex items-center gap-x-1">
|
||||
@ -152,7 +155,7 @@ export default function ResourceDetailCard({ resource }: Props) {
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div className="divider detail-card-header-divider"></div>
|
||||
<div className="divider detail-card-header-divider" />
|
||||
<div className="detail-card-body">
|
||||
<div className="detail-card-body-left">
|
||||
<span className="h-full">{resource.desc}</span>
|
||||
|
@ -3,7 +3,10 @@ import React from "react";
|
||||
import clsx from "clsx";
|
||||
|
||||
import { pickTextColor } from "@/libs/color";
|
||||
|
||||
import type { Tag } from "@/types/tag";
|
||||
|
||||
|
||||
import "./styles.css";
|
||||
|
||||
export type Props = Tag & {
|
||||
|
@ -2,17 +2,18 @@ import React from "react";
|
||||
|
||||
import clsx from "clsx";
|
||||
|
||||
import type { IconName } from "@fortawesome/fontawesome-common-types";
|
||||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
||||
|
||||
import { Resource } from "@/libs/store";
|
||||
import type { Resource } from "@/libs/store";
|
||||
import { ValidStatus } from "@/libs/valid";
|
||||
|
||||
import type { IconName } from "@fortawesome/fontawesome-common-types";
|
||||
|
||||
export const getValidStatus = (resource: Resource) => {
|
||||
switch (resource.resourceType) {
|
||||
case "plugin":
|
||||
if (resource.skip_test) return ValidStatus.SKIP;
|
||||
if (resource.valid) return ValidStatus.VALID;
|
||||
if (resource.skip_test) {return ValidStatus.SKIP;}
|
||||
if (resource.valid) {return ValidStatus.VALID;}
|
||||
return ValidStatus.INVALID;
|
||||
default:
|
||||
return ValidStatus.MISSING;
|
||||
|
@ -4,6 +4,7 @@ import clsx from "clsx";
|
||||
|
||||
import { translate } from "@docusaurus/Translate";
|
||||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
||||
|
||||
import "./styles.css";
|
||||
|
||||
export type Props = {
|
||||
|
@ -4,7 +4,6 @@ import Translate from "@docusaurus/Translate";
|
||||
import { usePagination } from "react-use-pagination";
|
||||
|
||||
import Admonition from "@theme/Admonition";
|
||||
|
||||
import AdapterForm from "@/components/Form/Adapter";
|
||||
import Modal from "@/components/Modal";
|
||||
import Paginate from "@/components/Paginate";
|
||||
@ -16,6 +15,7 @@ import { authorFilter, tagFilter } from "@/libs/filter";
|
||||
import { useSearchControl } from "@/libs/search";
|
||||
import { fetchRegistryData, loadFailedTitle } from "@/libs/store";
|
||||
import { useToolbar } from "@/libs/toolbar";
|
||||
|
||||
import type { Adapter } from "@/types/adapter";
|
||||
|
||||
export default function AdapterPage(): React.ReactNode {
|
||||
@ -146,7 +146,7 @@ export default function AdapterPage(): React.ReactNode {
|
||||
</Admonition>
|
||||
) : loading ? (
|
||||
<p className="store-loading-container">
|
||||
<span className="loading loading-dots loading-lg store-loading"></span>
|
||||
<span className="loading loading-dots loading-lg store-loading" />
|
||||
</p>
|
||||
) : (
|
||||
<div className="store-container">
|
||||
|
@ -4,7 +4,6 @@ import Translate from "@docusaurus/Translate";
|
||||
import { usePagination } from "react-use-pagination";
|
||||
|
||||
import Admonition from "@theme/Admonition";
|
||||
|
||||
import BotForm from "@/components/Form/Bot";
|
||||
import Modal from "@/components/Modal";
|
||||
import Paginate from "@/components/Paginate";
|
||||
@ -15,6 +14,7 @@ import { authorFilter, tagFilter } from "@/libs/filter";
|
||||
import { useSearchControl } from "@/libs/search";
|
||||
import { fetchRegistryData, loadFailedTitle } from "@/libs/store";
|
||||
import { useToolbar } from "@/libs/toolbar";
|
||||
|
||||
import type { Bot } from "@/types/bot";
|
||||
|
||||
export default function PluginPage(): React.ReactNode {
|
||||
@ -138,7 +138,7 @@ export default function PluginPage(): React.ReactNode {
|
||||
</Admonition>
|
||||
) : loading ? (
|
||||
<p className="store-loading-container">
|
||||
<span className="loading loading-dots loading-lg store-loading"></span>
|
||||
<span className="loading loading-dots loading-lg store-loading" />
|
||||
</p>
|
||||
) : (
|
||||
<div className="store-container">
|
||||
|
@ -4,7 +4,6 @@ import Translate from "@docusaurus/Translate";
|
||||
import { usePagination } from "react-use-pagination";
|
||||
|
||||
import Admonition from "@theme/Admonition";
|
||||
|
||||
import Modal from "@/components/Modal";
|
||||
import Paginate from "@/components/Paginate";
|
||||
import ResourceCard from "@/components/Resource/Card";
|
||||
@ -13,6 +12,7 @@ import Searcher from "@/components/Searcher";
|
||||
import { authorFilter, tagFilter } from "@/libs/filter";
|
||||
import { useSearchControl } from "@/libs/search";
|
||||
import { fetchRegistryData, loadFailedTitle } from "@/libs/store";
|
||||
|
||||
import type { Driver } from "@/types/driver";
|
||||
|
||||
export default function DriverPage(): React.ReactNode {
|
||||
@ -123,7 +123,7 @@ export default function DriverPage(): React.ReactNode {
|
||||
</Admonition>
|
||||
) : loading ? (
|
||||
<p className="store-loading-container">
|
||||
<span className="loading loading-dots loading-lg store-loading"></span>
|
||||
<span className="loading loading-dots loading-lg store-loading" />
|
||||
</p>
|
||||
) : (
|
||||
<div className="store-container">
|
||||
|
@ -4,7 +4,6 @@ import Translate, { translate } from "@docusaurus/Translate";
|
||||
import { usePagination } from "react-use-pagination";
|
||||
|
||||
import Admonition from "@theme/Admonition";
|
||||
|
||||
import PluginForm from "@/components/Form/Plugin";
|
||||
import Modal from "@/components/Modal";
|
||||
import Paginate from "@/components/Paginate";
|
||||
@ -20,6 +19,7 @@ import { useSearchControl } from "@/libs/search";
|
||||
import { SortMode } from "@/libs/sorter";
|
||||
import { fetchRegistryData, loadFailedTitle } from "@/libs/store";
|
||||
import { useToolbar } from "@/libs/toolbar";
|
||||
|
||||
import type { Plugin } from "@/types/plugin";
|
||||
|
||||
export default function PluginPage(): React.ReactNode {
|
||||
@ -149,7 +149,7 @@ export default function PluginPage(): React.ReactNode {
|
||||
<Translate
|
||||
id="pages.store.plugin.searchInfo"
|
||||
description="Plugins search info of the plugin store page"
|
||||
values={{ pluginCount, filteredPluginCount: filteredPluginCount }}
|
||||
values={{ pluginCount, filteredPluginCount }}
|
||||
>
|
||||
{"当前共有 {filteredPluginCount} / {pluginCount} 个插件"}
|
||||
</Translate>
|
||||
@ -180,7 +180,7 @@ export default function PluginPage(): React.ReactNode {
|
||||
</Admonition>
|
||||
) : loading ? (
|
||||
<p className="store-loading-container">
|
||||
<span className="loading loading-dots loading-lg store-loading"></span>
|
||||
<span className="loading loading-dots loading-lg store-loading" />
|
||||
</p>
|
||||
) : (
|
||||
<div className="store-container">
|
||||
|
@ -2,9 +2,10 @@ import React, { useState } from "react";
|
||||
|
||||
import clsx from "clsx";
|
||||
|
||||
import type { IconProp } from "@fortawesome/fontawesome-svg-core";
|
||||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
||||
|
||||
import type { IconProp } from "@fortawesome/fontawesome-svg-core";
|
||||
|
||||
export type Filter = {
|
||||
label: string;
|
||||
icon: IconProp;
|
||||
|
@ -5,7 +5,8 @@ import clsx from "clsx";
|
||||
import "./styles.css";
|
||||
|
||||
import { pickTextColor } from "@/libs/color";
|
||||
import { Tag as TagType } from "@/types/tag";
|
||||
|
||||
import type { Tag as TagType } from "@/types/tag";
|
||||
|
||||
export default function Tag({
|
||||
label,
|
||||
|
@ -2,10 +2,12 @@ import { useCallback, useState } from "react";
|
||||
|
||||
import { translate } from "@docusaurus/Translate";
|
||||
|
||||
import type { Resource } from "./store";
|
||||
import { getValidStatus } from "@/components/Resource/ValidStatus";
|
||||
|
||||
import { ValidStatus } from "./valid";
|
||||
|
||||
import { getValidStatus } from "@/components/Resource/ValidStatus";
|
||||
import type { Resource } from "./store";
|
||||
|
||||
|
||||
export type Filter<T extends Resource = Resource> = {
|
||||
type: string;
|
||||
@ -102,7 +104,7 @@ export const queryFilter = <T extends Resource = Resource>(
|
||||
id: `query-${query}`,
|
||||
displayName: query,
|
||||
filter: (resource: Resource): boolean => {
|
||||
if (!query) return true;
|
||||
if (!query) {return true;}
|
||||
const queryLower = query.toLowerCase();
|
||||
const pluginMatch =
|
||||
resource.resourceType === "plugin" &&
|
||||
@ -141,7 +143,7 @@ export function useFilteredResources<T extends Resource>(
|
||||
|
||||
const addFilter = useCallback(
|
||||
(filter: Filter<T>) => {
|
||||
if (filters.some((f) => f.id === filter.id)) return;
|
||||
if (filters.some((f) => f.id === filter.id)) {return;}
|
||||
setFilters((filters) => [...filters, filter]);
|
||||
},
|
||||
[filters, setFilters]
|
||||
|
@ -1,6 +1,7 @@
|
||||
import { useCallback, useEffect, useState } from "react";
|
||||
|
||||
import { type Filter, useFilteredResources, queryFilter } from "./filter";
|
||||
|
||||
import type { Resource } from "./store";
|
||||
|
||||
type useSearchControlReturn<T extends Resource> = {
|
||||
@ -42,7 +43,7 @@ export function useSearchControl<T extends Resource>(
|
||||
|
||||
const newFilter = queryFilter<T>(newQuery);
|
||||
// do nothing if filter is not changed
|
||||
if (currentFilter?.id === newFilter.id) return;
|
||||
if (currentFilter?.id === newFilter.id) {return;}
|
||||
|
||||
// remove old currentFilter
|
||||
currentFilter && removeFilter(currentFilter);
|
||||
|
@ -31,9 +31,9 @@ export async function fetchRegistryData<T extends RegistryDataType>(
|
||||
throw new Error(`Failed to fetch ${dataType}s: ${e}`);
|
||||
});
|
||||
if (!resp.ok)
|
||||
throw new Error(
|
||||
{throw new Error(
|
||||
`Failed to fetch ${dataType}s: ${resp.status} ${resp.statusText}`
|
||||
);
|
||||
);}
|
||||
const data = (await resp.json()) as RegistryDataResponseTypes[T];
|
||||
return data.map(
|
||||
(resource) => ({ ...resource, resourceType: dataType }) as ResourceTypes[T]
|
||||
|
@ -1,15 +1,16 @@
|
||||
import { translate } from "@docusaurus/Translate";
|
||||
|
||||
import type { Filter as FilterTool } from "@/components/Store/Toolbar";
|
||||
|
||||
import {
|
||||
authorFilter,
|
||||
tagFilter,
|
||||
validStatusFilter,
|
||||
type Filter,
|
||||
} from "./filter";
|
||||
import type { Resource } from "./store";
|
||||
import { ValidStatus } from "./valid";
|
||||
|
||||
import type { Filter as FilterTool } from "@/components/Store/Toolbar";
|
||||
import type { Resource } from "./store";
|
||||
|
||||
type Props<T extends Resource = Resource> = {
|
||||
resources: T[];
|
||||
@ -75,7 +76,7 @@ export function useToolbar<T extends Resource = Resource>({
|
||||
choices: Object.keys(validateStatusFilterMapping),
|
||||
onSubmit: (type: string) => {
|
||||
const validStatus = validateStatusFilterMapping[type];
|
||||
if (!validStatus) return;
|
||||
if (!validStatus) {return;}
|
||||
addFilter(validStatusFilter(validStatus));
|
||||
},
|
||||
};
|
||||
|
@ -1,7 +1,6 @@
|
||||
import React from "react";
|
||||
|
||||
import Layout from "@theme/Layout";
|
||||
|
||||
import HomeContent from "@/components/Home";
|
||||
|
||||
export default function Homepage(): React.ReactNode {
|
||||
|
@ -4,6 +4,7 @@ import { useWindowSize } from "@nullbot/docusaurus-theme-nonepress/client";
|
||||
|
||||
import type { Props } from "@theme/Page/TOC/Container";
|
||||
import OriginTOCContainer from "@theme-original/Page/TOC/Container";
|
||||
|
||||
import "./styles.css";
|
||||
|
||||
export default function TOCContainer({
|
||||
@ -18,7 +19,7 @@ export default function TOCContainer({
|
||||
{children}
|
||||
{isClient && (
|
||||
<div className="toc-ads-container">
|
||||
<div className="wwads-cn wwads-vertical toc-ads" data-id="281"></div>
|
||||
<div className="wwads-cn wwads-vertical toc-ads" data-id="281" />
|
||||
</div>
|
||||
)}
|
||||
</OriginTOCContainer>
|
||||
|
@ -1,14 +1,14 @@
|
||||
self.addEventListener("install", function () {
|
||||
self.addEventListener("install", () => {
|
||||
self.skipWaiting();
|
||||
});
|
||||
|
||||
self.addEventListener("activate", function () {
|
||||
self.addEventListener("activate", () => {
|
||||
self.registration
|
||||
.unregister()
|
||||
.then(function () {
|
||||
.then(() => {
|
||||
return self.clients.matchAll();
|
||||
})
|
||||
.then(function (clients) {
|
||||
.then((clients) => {
|
||||
clients.forEach((client) => client.navigate(client.url));
|
||||
});
|
||||
});
|
||||
|
@ -1,2 +1,2 @@
|
||||
if (location.search.includes("?uwu"))
|
||||
document.documentElement.setAttribute("data-uwu", "true");
|
||||
{document.documentElement.setAttribute("data-uwu", "true");}
|
||||
|
@ -11,7 +11,7 @@ function excludeThemeColor(
|
||||
): { [key: string]: string } {
|
||||
const newObj: { [key: string]: string } = {};
|
||||
for (const key in theme) {
|
||||
if (exclude.includes(key)) continue;
|
||||
if (exclude.includes(key)) {continue;}
|
||||
newObj[key] = theme[key]!;
|
||||
}
|
||||
return newObj;
|
||||
|
304
yarn.lock
304
yarn.lock
@ -1521,6 +1521,14 @@
|
||||
postcss-sort-media-queries "^5.2.0"
|
||||
tslib "^2.6.0"
|
||||
|
||||
"@docusaurus/eslint-plugin@3.7.0":
|
||||
version "3.7.0"
|
||||
resolved "https://registry.npmjs.org/@docusaurus/eslint-plugin/-/eslint-plugin-3.7.0.tgz#bb5a13ba7fffb25cd122bf8d955b00fd4017c994"
|
||||
integrity sha512-Bnmx16acy1cFTkv5onm8kRngU6xETEIqkuka+bH4+gCADnKJewHQ/3CRGjsRaii1M/103NSzGlf8ffQ1k9S04w==
|
||||
dependencies:
|
||||
"@typescript-eslint/utils" "^5.62.0"
|
||||
tslib "^2.6.0"
|
||||
|
||||
"@docusaurus/faster@^3.7.0":
|
||||
version "3.7.0"
|
||||
resolved "https://registry.npmjs.org/@docusaurus/faster/-/faster-3.7.0.tgz#8062e05a3d044c0dd470b4812796a113b10b835c"
|
||||
@ -1828,7 +1836,7 @@
|
||||
utility-types "^3.10.0"
|
||||
webpack "^5.88.1"
|
||||
|
||||
"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0":
|
||||
"@eslint-community/eslint-utils@^4.2.0":
|
||||
version "4.4.0"
|
||||
resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59"
|
||||
integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==
|
||||
@ -1840,7 +1848,7 @@
|
||||
resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.0.tgz#7ccb5f58703fa61ffdcbf39e2c604a109e781162"
|
||||
integrity sha512-zJmuCWj2VLBt4c25CfBIbMZLGLyhkvs7LznyVX5HfpzeocThgIj5XQK4L+g3U36mMcx8bPMhGyPpwCATamC4jQ==
|
||||
|
||||
"@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1":
|
||||
"@eslint-community/regexpp@^4.6.1":
|
||||
version "4.11.1"
|
||||
resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz#a547badfc719eb3e5f4b556325e542fbe9d7a18f"
|
||||
integrity sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==
|
||||
@ -2111,11 +2119,6 @@
|
||||
"@nodelib/fs.scandir" "2.1.5"
|
||||
fastq "^1.6.0"
|
||||
|
||||
"@nolyfill/is-core-module@1.0.39":
|
||||
version "1.0.39"
|
||||
resolved "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz#3dc35ba0f1e66b403c00b39344f870298ebb1c8e"
|
||||
integrity sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==
|
||||
|
||||
"@nullbot/docusaurus-plugin-changelog@^3.0.0":
|
||||
version "3.4.0"
|
||||
resolved "https://registry.npmjs.org/@nullbot/docusaurus-plugin-changelog/-/docusaurus-plugin-changelog-3.4.0.tgz#0e6f810f6015663bbd21a5ca02bc56a03b17bfa3"
|
||||
@ -2216,11 +2219,6 @@
|
||||
resolved "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33"
|
||||
integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==
|
||||
|
||||
"@pkgr/core@^0.1.0":
|
||||
version "0.1.1"
|
||||
resolved "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz#1ec17e2edbec25c8306d424ecfbf13c7de1aaa31"
|
||||
integrity sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==
|
||||
|
||||
"@pnpm/config.env-replace@^1.1.0":
|
||||
version "1.1.0"
|
||||
resolved "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz#ab29da53df41e8948a00f2433f085f54de8b3a4c"
|
||||
@ -2714,7 +2712,7 @@
|
||||
dependencies:
|
||||
"@types/istanbul-lib-report" "*"
|
||||
|
||||
"@types/json-schema@*", "@types/json-schema@^7.0.12", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9":
|
||||
"@types/json-schema@*", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9":
|
||||
version "7.0.15"
|
||||
resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841"
|
||||
integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==
|
||||
@ -2852,7 +2850,7 @@
|
||||
dependencies:
|
||||
"@types/node" "*"
|
||||
|
||||
"@types/semver@^7.5.0":
|
||||
"@types/semver@^7.3.12":
|
||||
version "7.5.8"
|
||||
resolved "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz#8268a8c57a3e4abd25c165ecd36237db7948a55e"
|
||||
integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==
|
||||
@ -2917,91 +2915,89 @@
|
||||
dependencies:
|
||||
"@types/yargs-parser" "*"
|
||||
|
||||
"@typescript-eslint/eslint-plugin@^6.6.0":
|
||||
version "6.21.0"
|
||||
resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz#30830c1ca81fd5f3c2714e524c4303e0194f9cd3"
|
||||
integrity sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==
|
||||
"@typescript-eslint/eslint-plugin@^5.62.0":
|
||||
version "5.62.0"
|
||||
resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz#aeef0328d172b9e37d9bab6dbc13b87ed88977db"
|
||||
integrity sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==
|
||||
dependencies:
|
||||
"@eslint-community/regexpp" "^4.5.1"
|
||||
"@typescript-eslint/scope-manager" "6.21.0"
|
||||
"@typescript-eslint/type-utils" "6.21.0"
|
||||
"@typescript-eslint/utils" "6.21.0"
|
||||
"@typescript-eslint/visitor-keys" "6.21.0"
|
||||
"@eslint-community/regexpp" "^4.4.0"
|
||||
"@typescript-eslint/scope-manager" "5.62.0"
|
||||
"@typescript-eslint/type-utils" "5.62.0"
|
||||
"@typescript-eslint/utils" "5.62.0"
|
||||
debug "^4.3.4"
|
||||
graphemer "^1.4.0"
|
||||
ignore "^5.2.4"
|
||||
natural-compare "^1.4.0"
|
||||
semver "^7.5.4"
|
||||
ts-api-utils "^1.0.1"
|
||||
ignore "^5.2.0"
|
||||
natural-compare-lite "^1.4.0"
|
||||
semver "^7.3.7"
|
||||
tsutils "^3.21.0"
|
||||
|
||||
"@typescript-eslint/parser@^6.6.0":
|
||||
version "6.21.0"
|
||||
resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz#af8fcf66feee2edc86bc5d1cf45e33b0630bf35b"
|
||||
integrity sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==
|
||||
"@typescript-eslint/parser@^5.62.0":
|
||||
version "5.62.0"
|
||||
resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz#1b63d082d849a2fcae8a569248fbe2ee1b8a56c7"
|
||||
integrity sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==
|
||||
dependencies:
|
||||
"@typescript-eslint/scope-manager" "6.21.0"
|
||||
"@typescript-eslint/types" "6.21.0"
|
||||
"@typescript-eslint/typescript-estree" "6.21.0"
|
||||
"@typescript-eslint/visitor-keys" "6.21.0"
|
||||
"@typescript-eslint/scope-manager" "5.62.0"
|
||||
"@typescript-eslint/types" "5.62.0"
|
||||
"@typescript-eslint/typescript-estree" "5.62.0"
|
||||
debug "^4.3.4"
|
||||
|
||||
"@typescript-eslint/scope-manager@6.21.0":
|
||||
version "6.21.0"
|
||||
resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz#ea8a9bfc8f1504a6ac5d59a6df308d3a0630a2b1"
|
||||
integrity sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==
|
||||
"@typescript-eslint/scope-manager@5.62.0":
|
||||
version "5.62.0"
|
||||
resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz#d9457ccc6a0b8d6b37d0eb252a23022478c5460c"
|
||||
integrity sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==
|
||||
dependencies:
|
||||
"@typescript-eslint/types" "6.21.0"
|
||||
"@typescript-eslint/visitor-keys" "6.21.0"
|
||||
"@typescript-eslint/types" "5.62.0"
|
||||
"@typescript-eslint/visitor-keys" "5.62.0"
|
||||
|
||||
"@typescript-eslint/type-utils@6.21.0":
|
||||
version "6.21.0"
|
||||
resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz#6473281cfed4dacabe8004e8521cee0bd9d4c01e"
|
||||
integrity sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==
|
||||
"@typescript-eslint/type-utils@5.62.0":
|
||||
version "5.62.0"
|
||||
resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz#286f0389c41681376cdad96b309cedd17d70346a"
|
||||
integrity sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==
|
||||
dependencies:
|
||||
"@typescript-eslint/typescript-estree" "6.21.0"
|
||||
"@typescript-eslint/utils" "6.21.0"
|
||||
"@typescript-eslint/typescript-estree" "5.62.0"
|
||||
"@typescript-eslint/utils" "5.62.0"
|
||||
debug "^4.3.4"
|
||||
ts-api-utils "^1.0.1"
|
||||
tsutils "^3.21.0"
|
||||
|
||||
"@typescript-eslint/types@6.21.0":
|
||||
version "6.21.0"
|
||||
resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz#205724c5123a8fef7ecd195075fa6e85bac3436d"
|
||||
integrity sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==
|
||||
"@typescript-eslint/types@5.62.0":
|
||||
version "5.62.0"
|
||||
resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f"
|
||||
integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==
|
||||
|
||||
"@typescript-eslint/typescript-estree@6.21.0":
|
||||
version "6.21.0"
|
||||
resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz#c47ae7901db3b8bddc3ecd73daff2d0895688c46"
|
||||
integrity sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==
|
||||
"@typescript-eslint/typescript-estree@5.62.0":
|
||||
version "5.62.0"
|
||||
resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz#7d17794b77fabcac615d6a48fb143330d962eb9b"
|
||||
integrity sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==
|
||||
dependencies:
|
||||
"@typescript-eslint/types" "6.21.0"
|
||||
"@typescript-eslint/visitor-keys" "6.21.0"
|
||||
"@typescript-eslint/types" "5.62.0"
|
||||
"@typescript-eslint/visitor-keys" "5.62.0"
|
||||
debug "^4.3.4"
|
||||
globby "^11.1.0"
|
||||
is-glob "^4.0.3"
|
||||
minimatch "9.0.3"
|
||||
semver "^7.5.4"
|
||||
ts-api-utils "^1.0.1"
|
||||
semver "^7.3.7"
|
||||
tsutils "^3.21.0"
|
||||
|
||||
"@typescript-eslint/utils@6.21.0":
|
||||
version "6.21.0"
|
||||
resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz#4714e7a6b39e773c1c8e97ec587f520840cd8134"
|
||||
integrity sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==
|
||||
"@typescript-eslint/utils@5.62.0", "@typescript-eslint/utils@^5.62.0":
|
||||
version "5.62.0"
|
||||
resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz#141e809c71636e4a75daa39faed2fb5f4b10df86"
|
||||
integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==
|
||||
dependencies:
|
||||
"@eslint-community/eslint-utils" "^4.4.0"
|
||||
"@types/json-schema" "^7.0.12"
|
||||
"@types/semver" "^7.5.0"
|
||||
"@typescript-eslint/scope-manager" "6.21.0"
|
||||
"@typescript-eslint/types" "6.21.0"
|
||||
"@typescript-eslint/typescript-estree" "6.21.0"
|
||||
semver "^7.5.4"
|
||||
"@eslint-community/eslint-utils" "^4.2.0"
|
||||
"@types/json-schema" "^7.0.9"
|
||||
"@types/semver" "^7.3.12"
|
||||
"@typescript-eslint/scope-manager" "5.62.0"
|
||||
"@typescript-eslint/types" "5.62.0"
|
||||
"@typescript-eslint/typescript-estree" "5.62.0"
|
||||
eslint-scope "^5.1.1"
|
||||
semver "^7.3.7"
|
||||
|
||||
"@typescript-eslint/visitor-keys@6.21.0":
|
||||
version "6.21.0"
|
||||
resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz#87a99d077aa507e20e238b11d56cc26ade45fe47"
|
||||
integrity sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==
|
||||
"@typescript-eslint/visitor-keys@5.62.0":
|
||||
version "5.62.0"
|
||||
resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz#2174011917ce582875954ffe2f6912d5931e353e"
|
||||
integrity sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==
|
||||
dependencies:
|
||||
"@typescript-eslint/types" "6.21.0"
|
||||
eslint-visitor-keys "^3.4.1"
|
||||
"@typescript-eslint/types" "5.62.0"
|
||||
eslint-visitor-keys "^3.3.0"
|
||||
|
||||
"@ungap/structured-clone@^1.0.0":
|
||||
version "1.3.0"
|
||||
@ -4093,6 +4089,11 @@ configstore@^6.0.0:
|
||||
write-file-atomic "^3.0.3"
|
||||
xdg-basedir "^5.0.1"
|
||||
|
||||
confusing-browser-globals@^1.0.10:
|
||||
version "1.0.11"
|
||||
resolved "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz#ae40e9b57cdd3915408a2805ebd3a5585608dc81"
|
||||
integrity sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==
|
||||
|
||||
connect-history-api-fallback@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz#647264845251a0daf25b97ce87834cace0f5f1c8"
|
||||
@ -4483,7 +4484,7 @@ debug@2.6.9, debug@^2.6.0:
|
||||
dependencies:
|
||||
ms "2.0.0"
|
||||
|
||||
debug@4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.7:
|
||||
debug@4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1:
|
||||
version "4.4.0"
|
||||
resolved "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a"
|
||||
integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==
|
||||
@ -4844,7 +4845,7 @@ end-of-stream@^1.1.0, end-of-stream@^1.4.1:
|
||||
dependencies:
|
||||
once "^1.4.0"
|
||||
|
||||
enhanced-resolve@^5.15.0, enhanced-resolve@^5.17.1:
|
||||
enhanced-resolve@^5.17.1:
|
||||
version "5.18.1"
|
||||
resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz#728ab082f8b7b6836de51f1637aab5d3b9568faf"
|
||||
integrity sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==
|
||||
@ -5046,10 +5047,29 @@ escape-string-regexp@^5.0.0:
|
||||
resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz#4683126b500b61762f2dbebace1806e8be31b1c8"
|
||||
integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==
|
||||
|
||||
eslint-config-prettier@^9.0.0:
|
||||
version "9.1.0"
|
||||
resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz#31af3d94578645966c082fcb71a5846d3c94867f"
|
||||
integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==
|
||||
eslint-config-airbnb-base@^15.0.0:
|
||||
version "15.0.0"
|
||||
resolved "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz#6b09add90ac79c2f8d723a2580e07f3925afd236"
|
||||
integrity sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==
|
||||
dependencies:
|
||||
confusing-browser-globals "^1.0.10"
|
||||
object.assign "^4.1.2"
|
||||
object.entries "^1.1.5"
|
||||
semver "^6.3.0"
|
||||
|
||||
eslint-config-airbnb@^19.0.4:
|
||||
version "19.0.4"
|
||||
resolved "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-19.0.4.tgz#84d4c3490ad70a0ffa571138ebcdea6ab085fdc3"
|
||||
integrity sha512-T75QYQVQX57jiNgpF9r1KegMICE94VYwoFQyMGhrvc+lB8YF2E/M/PYDaQe1AJcWaEgqLE+ErXV1Og/+6Vyzew==
|
||||
dependencies:
|
||||
eslint-config-airbnb-base "^15.0.0"
|
||||
object.assign "^4.1.2"
|
||||
object.entries "^1.1.5"
|
||||
|
||||
eslint-config-prettier@^8.8.0:
|
||||
version "8.10.0"
|
||||
resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz#3a06a662130807e2502fc3ff8b4143d8a0658e11"
|
||||
integrity sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==
|
||||
|
||||
eslint-import-resolver-node@^0.3.9:
|
||||
version "0.3.9"
|
||||
@ -5060,19 +5080,6 @@ eslint-import-resolver-node@^0.3.9:
|
||||
is-core-module "^2.13.0"
|
||||
resolve "^1.22.4"
|
||||
|
||||
eslint-import-resolver-typescript@^3.6.0:
|
||||
version "3.8.3"
|
||||
resolved "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.8.3.tgz#1721a1e4417e57a8fe6bf9463d0db8e220285eef"
|
||||
integrity sha512-A0bu4Ks2QqDWNpeEgTQMPTngaMhuDu4yv6xpftBMAf+1ziXnpx+eSR1WRfoPTe2BAiAjHFZ7kSNx1fvr5g5pmQ==
|
||||
dependencies:
|
||||
"@nolyfill/is-core-module" "1.0.39"
|
||||
debug "^4.3.7"
|
||||
enhanced-resolve "^5.15.0"
|
||||
get-tsconfig "^4.10.0"
|
||||
is-bun-module "^1.0.2"
|
||||
stable-hash "^0.0.4"
|
||||
tinyglobby "^0.2.12"
|
||||
|
||||
eslint-module-utils@^2.12.0:
|
||||
version "2.12.0"
|
||||
resolved "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz#fe4cfb948d61f49203d7b08871982b65b9af0b0b"
|
||||
@ -5080,7 +5087,7 @@ eslint-module-utils@^2.12.0:
|
||||
dependencies:
|
||||
debug "^3.2.7"
|
||||
|
||||
eslint-plugin-import@^2.28.1:
|
||||
eslint-plugin-import@^2.27.5:
|
||||
version "2.31.0"
|
||||
resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz#310ce7e720ca1d9c0bb3f69adfd1c6bdd7d9e0e7"
|
||||
integrity sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==
|
||||
@ -5126,20 +5133,12 @@ eslint-plugin-jsx-a11y@^6.7.1:
|
||||
safe-regex-test "^1.0.3"
|
||||
string.prototype.includes "^2.0.1"
|
||||
|
||||
eslint-plugin-prettier@^5.0.0:
|
||||
version "5.2.3"
|
||||
resolved "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.3.tgz#c4af01691a6fa9905207f0fbba0d7bea0902cce5"
|
||||
integrity sha512-qJ+y0FfCp/mQYQ/vWQ3s7eUlFEL4PyKfAJxsnYTJ4YT73nsJBWqmEpFryxV9OeUiqmsTsYJ5Y+KDNaeP31wrRw==
|
||||
dependencies:
|
||||
prettier-linter-helpers "^1.0.0"
|
||||
synckit "^0.9.1"
|
||||
|
||||
eslint-plugin-react-hooks@^4.6.0:
|
||||
version "4.6.2"
|
||||
resolved "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz#c829eb06c0e6f484b3fbb85a97e57784f328c596"
|
||||
integrity sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==
|
||||
|
||||
eslint-plugin-react@^7.33.2:
|
||||
eslint-plugin-react@^7.32.2:
|
||||
version "7.37.4"
|
||||
resolved "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.4.tgz#1b6c80b6175b6ae4b26055ae4d55d04c414c7181"
|
||||
integrity sha512-BGP0jRmfYyvOyvMoRX/uoUeW+GqNj9y16bPQzqAHf3AYII/tDs+jMN0dBVkl88/OZwNGwrVFxE7riHsXVfy/LQ==
|
||||
@ -5177,7 +5176,7 @@ eslint-plugin-regexp@^1.15.0:
|
||||
regexp-ast-analysis "^0.6.0"
|
||||
scslre "^0.2.0"
|
||||
|
||||
eslint-scope@5.1.1:
|
||||
eslint-scope@5.1.1, eslint-scope@^5.1.1:
|
||||
version "5.1.1"
|
||||
resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
|
||||
integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
|
||||
@ -5526,11 +5525,6 @@ faye-websocket@^0.11.3:
|
||||
dependencies:
|
||||
websocket-driver ">=0.5.1"
|
||||
|
||||
fdir@^6.4.3:
|
||||
version "6.4.3"
|
||||
resolved "https://registry.npmjs.org/fdir/-/fdir-6.4.3.tgz#011cdacf837eca9b811c89dbb902df714273db72"
|
||||
integrity sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==
|
||||
|
||||
figures@^3.2.0:
|
||||
version "3.2.0"
|
||||
resolved "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af"
|
||||
@ -5808,13 +5802,6 @@ get-symbol-description@^1.1.0:
|
||||
es-errors "^1.3.0"
|
||||
get-intrinsic "^1.2.6"
|
||||
|
||||
get-tsconfig@^4.10.0:
|
||||
version "4.10.0"
|
||||
resolved "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.0.tgz#403a682b373a823612475a4c2928c7326fc0f6bb"
|
||||
integrity sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==
|
||||
dependencies:
|
||||
resolve-pkg-maps "^1.0.0"
|
||||
|
||||
github-from-package@0.0.0:
|
||||
version "0.0.0"
|
||||
resolved "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce"
|
||||
@ -6551,13 +6538,6 @@ is-boolean-object@^1.2.1:
|
||||
call-bound "^1.0.3"
|
||||
has-tostringtag "^1.0.2"
|
||||
|
||||
is-bun-module@^1.0.2:
|
||||
version "1.3.0"
|
||||
resolved "https://registry.npmjs.org/is-bun-module/-/is-bun-module-1.3.0.tgz#ea4d24fdebfcecc98e81bcbcb506827fee288760"
|
||||
integrity sha512-DgXeu5UWI0IsMQundYb5UAOzm6G2eVnarJ0byP6Tm55iZNKceD59LNPA2L4VvsScTtHcw0yEkVwSf7PC+QoLSA==
|
||||
dependencies:
|
||||
semver "^7.6.3"
|
||||
|
||||
is-callable@^1.2.7:
|
||||
version "1.2.7"
|
||||
resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055"
|
||||
@ -8109,13 +8089,6 @@ minimatch@3.1.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch
|
||||
dependencies:
|
||||
brace-expansion "^1.1.7"
|
||||
|
||||
minimatch@9.0.3:
|
||||
version "9.0.3"
|
||||
resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825"
|
||||
integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==
|
||||
dependencies:
|
||||
brace-expansion "^2.0.1"
|
||||
|
||||
minimatch@^9.0.4:
|
||||
version "9.0.5"
|
||||
resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5"
|
||||
@ -8189,6 +8162,11 @@ napi-build-utils@^2.0.0:
|
||||
resolved "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz#13c22c0187fcfccce1461844136372a47ddc027e"
|
||||
integrity sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==
|
||||
|
||||
natural-compare-lite@^1.4.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4"
|
||||
integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==
|
||||
|
||||
natural-compare@^1.4.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
|
||||
@ -8321,7 +8299,7 @@ object-keys@^1.1.1:
|
||||
resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
|
||||
integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
|
||||
|
||||
object.assign@^4.1.0, object.assign@^4.1.4, object.assign@^4.1.7:
|
||||
object.assign@^4.1.0, object.assign@^4.1.2, object.assign@^4.1.4, object.assign@^4.1.7:
|
||||
version "4.1.7"
|
||||
resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz#8c14ca1a424c6a561b0bb2a22f66f5049a945d3d"
|
||||
integrity sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==
|
||||
@ -8333,7 +8311,7 @@ object.assign@^4.1.0, object.assign@^4.1.4, object.assign@^4.1.7:
|
||||
has-symbols "^1.1.0"
|
||||
object-keys "^1.1.1"
|
||||
|
||||
object.entries@^1.1.8:
|
||||
object.entries@^1.1.5, object.entries@^1.1.8:
|
||||
version "1.1.8"
|
||||
resolved "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz#bffe6f282e01f4d17807204a24f8edd823599c41"
|
||||
integrity sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==
|
||||
@ -8657,11 +8635,6 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1:
|
||||
resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
|
||||
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
|
||||
|
||||
picomatch@^4.0.2:
|
||||
version "4.0.2"
|
||||
resolved "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz#77c742931e8f3b8820946c76cd0c1f13730d1dab"
|
||||
integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==
|
||||
|
||||
pify@^2.3.0:
|
||||
version "2.3.0"
|
||||
resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
|
||||
@ -10036,11 +10009,6 @@ resolve-pathname@^3.0.0:
|
||||
resolved "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd"
|
||||
integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==
|
||||
|
||||
resolve-pkg-maps@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz#616b3dc2c57056b5588c31cdf4b3d64db133720f"
|
||||
integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==
|
||||
|
||||
resolve@^1.1.6, resolve@^1.1.7, resolve@^1.14.2, resolve@^1.22.8:
|
||||
version "1.22.10"
|
||||
resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39"
|
||||
@ -10227,12 +10195,12 @@ semver-diff@^4.0.0:
|
||||
dependencies:
|
||||
semver "^7.3.5"
|
||||
|
||||
semver@^6.3.1:
|
||||
semver@^6.3.0, semver@^6.3.1:
|
||||
version "6.3.1"
|
||||
resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
|
||||
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
|
||||
|
||||
semver@^7.3.2, semver@^7.3.5, semver@^7.3.7, semver@^7.5.4, semver@^7.6.3:
|
||||
semver@^7.3.2, semver@^7.3.5, semver@^7.3.7, semver@^7.5.4:
|
||||
version "7.7.1"
|
||||
resolved "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz#abd5098d82b18c6c81f6074ff2647fd3e7220c9f"
|
||||
integrity sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==
|
||||
@ -10633,11 +10601,6 @@ sprintf-js@~1.0.2:
|
||||
resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
|
||||
integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==
|
||||
|
||||
stable-hash@^0.0.4:
|
||||
version "0.0.4"
|
||||
resolved "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.4.tgz#55ae7dadc13e4b3faed13601587cec41859b42f7"
|
||||
integrity sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==
|
||||
|
||||
statuses@2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63"
|
||||
@ -10992,14 +10955,6 @@ swc-loader@^0.2.6:
|
||||
dependencies:
|
||||
"@swc/counter" "^0.1.3"
|
||||
|
||||
synckit@^0.9.1:
|
||||
version "0.9.2"
|
||||
resolved "https://registry.npmjs.org/synckit/-/synckit-0.9.2.tgz#a3a935eca7922d48b9e7d6c61822ee6c3ae4ec62"
|
||||
integrity sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==
|
||||
dependencies:
|
||||
"@pkgr/core" "^0.1.0"
|
||||
tslib "^2.6.2"
|
||||
|
||||
table@^6.8.1:
|
||||
version "6.8.2"
|
||||
resolved "https://registry.npmjs.org/table/-/table-6.8.2.tgz#c5504ccf201213fa227248bdc8c5569716ac6c58"
|
||||
@ -11157,14 +11112,6 @@ tinycolor2@^1.4.1:
|
||||
resolved "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz#f98007460169b0263b97072c5ae92484ce02d09e"
|
||||
integrity sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==
|
||||
|
||||
tinyglobby@^0.2.12:
|
||||
version "0.2.12"
|
||||
resolved "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.12.tgz#ac941a42e0c5773bd0b5d08f32de82e74a1a61b5"
|
||||
integrity sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==
|
||||
dependencies:
|
||||
fdir "^6.4.3"
|
||||
picomatch "^4.0.2"
|
||||
|
||||
to-regex-range@^5.0.1:
|
||||
version "5.0.1"
|
||||
resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
|
||||
@ -11197,11 +11144,6 @@ trough@^2.0.0:
|
||||
resolved "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz#94a60bd6bd375c152c1df911a4b11d5b0256f50f"
|
||||
integrity sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==
|
||||
|
||||
ts-api-utils@^1.0.1:
|
||||
version "1.3.0"
|
||||
resolved "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1"
|
||||
integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==
|
||||
|
||||
ts-interface-checker@^0.1.9:
|
||||
version "0.1.13"
|
||||
resolved "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699"
|
||||
@ -11217,11 +11159,23 @@ tsconfig-paths@^3.15.0:
|
||||
minimist "^1.2.6"
|
||||
strip-bom "^3.0.0"
|
||||
|
||||
tslib@^2.0.3, tslib@^2.6.0, tslib@^2.6.2:
|
||||
tslib@^1.8.1:
|
||||
version "1.14.1"
|
||||
resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
|
||||
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
|
||||
|
||||
tslib@^2.0.3, tslib@^2.6.0:
|
||||
version "2.8.1"
|
||||
resolved "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f"
|
||||
integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==
|
||||
|
||||
tsutils@^3.21.0:
|
||||
version "3.21.0"
|
||||
resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623"
|
||||
integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==
|
||||
dependencies:
|
||||
tslib "^1.8.1"
|
||||
|
||||
tunnel-agent@^0.6.0:
|
||||
version "0.6.0"
|
||||
resolved "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
|
||||
|
Loading…
x
Reference in New Issue
Block a user