diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 85299d6..8adaf78 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -14,13 +14,13 @@ jobs:
steps:
- name: "Checkout repo"
- uses: actions/checkout@v4
+ uses: actions/checkout@v6
- name: "Set up pnpm"
- uses: pnpm/action-setup@v4
+ uses: pnpm/action-setup@v5
- name: "Set up latest Node LTS"
- uses: actions/setup-node@v4
+ uses: actions/setup-node@v6
with:
node-version: "lts/*"
cache: pnpm
diff --git a/.github/workflows/cli-e2e.yml b/.github/workflows/cli-e2e.yml
index 1e994ab..00d24bc 100644
--- a/.github/workflows/cli-e2e.yml
+++ b/.github/workflows/cli-e2e.yml
@@ -13,13 +13,13 @@ jobs:
steps:
- name: "Checkout repo"
- uses: actions/checkout@v4
+ uses: actions/checkout@v6
- name: "Set up pnpm"
- uses: pnpm/action-setup@v4
+ uses: pnpm/action-setup@v5
- name: "Set up latest Node LTS"
- uses: actions/setup-node@v4
+ uses: actions/setup-node@v6
with:
node-version: "lts/*"
cache: pnpm
@@ -56,13 +56,13 @@ jobs:
steps:
- name: "Checkout repo"
- uses: actions/checkout@v4
+ uses: actions/checkout@v6
- name: "Set up pnpm"
- uses: pnpm/action-setup@v4
+ uses: pnpm/action-setup@v5
- name: "Set up latest Node LTS"
- uses: actions/setup-node@v4
+ uses: actions/setup-node@v6
with:
node-version: "lts/*"
cache: pnpm
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index a323ca9..cc647f9 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -20,13 +20,13 @@ jobs:
steps:
- name: "Checkout repo"
- uses: actions/checkout@v4
+ uses: actions/checkout@v6
- name: "Set up pnpm"
- uses: pnpm/action-setup@v4
+ uses: pnpm/action-setup@v5
- name: "Set up latest Node LTS"
- uses: actions/setup-node@v4
+ uses: actions/setup-node@v6
with:
node-version: "lts/*"
registry-url: "https://registry.npmjs.org"
diff --git a/.gitignore b/.gitignore
index 20ec8a7..5646e75 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,6 +11,7 @@
# next.js
**/.next/
**/out/
+**/next-env.d.ts
# production
**/build
diff --git a/apps/website/app/layout.tsx b/apps/website/app/layout.tsx
index d9cd05f..f482159 100644
--- a/apps/website/app/layout.tsx
+++ b/apps/website/app/layout.tsx
@@ -29,7 +29,7 @@ export default function RootLayout({
return (
-
+
+
{children}
)
diff --git a/apps/website/components/Anchor.tsx b/apps/website/components/Anchor.tsx
index e8750aa..3121e5f 100644
--- a/apps/website/components/Anchor.tsx
+++ b/apps/website/components/Anchor.tsx
@@ -1,20 +1,10 @@
"use client"
-import { Anchor as MantineAnchor } from "@mantine/core"
-import { ReactNode } from "react"
+import { Anchor as MantineAnchor, polymorphic } from "@mantine/core"
+import type { AnchorProps as MantineAnchorProps } from "@mantine/core"
-type AnchorProps = {
- href?: string
- target?: string
- children?: ReactNode
- c?: string
- fw?: string | number
-}
-
-export const Anchor = ({
- c = "#319bff",
- fw = "bold",
- ...props
-}: AnchorProps) => {
- return
-}
+export const Anchor = polymorphic<"a", MantineAnchorProps>(
+ (props: MantineAnchorProps) => {
+ return
+ },
+)
diff --git a/apps/website/components/Checkbox.tsx b/apps/website/components/Checkbox.tsx
index 9b5b32c..56d2f09 100644
--- a/apps/website/components/Checkbox.tsx
+++ b/apps/website/components/Checkbox.tsx
@@ -1,8 +1,8 @@
"use client"
-import { Checkbox as MantineCheckbox, CheckboxProps } from "@mantine/core"
-import { FC } from "react"
+import { Checkbox as MantineCheckbox } from "@mantine/core"
+import type { CheckboxProps } from "@mantine/core"
-export const Checkbox: FC = (props) => {
+export const Checkbox = (props: CheckboxProps) => {
return
}
diff --git a/apps/website/components/Radio.tsx b/apps/website/components/Radio.tsx
index d92c4d2..d22ca06 100644
--- a/apps/website/components/Radio.tsx
+++ b/apps/website/components/Radio.tsx
@@ -1,8 +1,8 @@
"use client"
-import { Radio as MantineRadio, RadioProps } from "@mantine/core"
-import { FC } from "react"
+import { Radio as MantineRadio } from "@mantine/core"
+import type { RadioProps } from "@mantine/core"
-export const Radio: FC = (props) => {
+export const Radio = (props: RadioProps) => {
return
}
diff --git a/apps/website/components/Section.tsx b/apps/website/components/Section.tsx
index 14bcfa2..fa845cc 100644
--- a/apps/website/components/Section.tsx
+++ b/apps/website/components/Section.tsx
@@ -1,20 +1,20 @@
-import { Box, Flex, FlexProps } from "@mantine/core"
-import { FC, ReactNode } from "react"
+import { Flex, polymorphic } from "@mantine/core"
+import type { FlexProps } from "@mantine/core"
-type SectionProps = Omit & {
+type SectionProps = FlexProps & {
innerProps?: FlexProps
- children?: ReactNode
- as?: "section" | "header" | "footer"
}
-export const Section: FC = ({
- innerProps,
- children,
- as: Element = "section",
- ...props
-}) => {
- return (
-
-
+export const Section = polymorphic<"section", SectionProps>(
+ ({ innerProps, children, ...props }: SectionProps) => {
+ return (
+
= ({
{children}
-
- )
-}
+ )
+ },
+)
diff --git a/apps/website/components/SocialIcons.tsx b/apps/website/components/SocialIcons.tsx
index 8144918..fbaee0f 100644
--- a/apps/website/components/SocialIcons.tsx
+++ b/apps/website/components/SocialIcons.tsx
@@ -1,8 +1,8 @@
-import { Flex, FlexProps } from "@mantine/core"
-import { FC } from "react"
+import { Flex } from "@mantine/core"
+import type { FlexProps } from "@mantine/core"
import { FaDiscord, FaGithub, FaTwitter } from "react-icons/fa"
-export const SocialIcons: FC = (props) => {
+export const SocialIcons = (props: FlexProps) => {
return (
= (props) => {
-
+
diff --git a/apps/website/globals.d.ts b/apps/website/globals.d.ts
new file mode 100644
index 0000000..d7e961e
--- /dev/null
+++ b/apps/website/globals.d.ts
@@ -0,0 +1 @@
+declare module "*.css"
diff --git a/apps/website/next-env.d.ts b/apps/website/next-env.d.ts
deleted file mode 100644
index 7a70f65..0000000
--- a/apps/website/next-env.d.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-///
-///
-import "./.next/types/routes.d.ts"
-
-// NOTE: This file should not be edited
-// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
diff --git a/apps/website/package.json b/apps/website/package.json
index 125befb..a8d25ea 100644
--- a/apps/website/package.json
+++ b/apps/website/package.json
@@ -9,21 +9,24 @@
"dev": "next dev",
"build": "next build",
"start": "next start",
- "lint": "eslint"
+ "lint": "eslint",
+ "typecheck": "tsc --noEmit"
},
"dependencies": {
- "@mantine/core": "^8.0.0",
- "@mantine/hooks": "^8.0.0",
+ "@mantine/core": "^9.0.0",
+ "@mantine/hooks": "^9.0.0",
"next": "^16.0.0",
"next-plausible": "^3.12.0",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"react-hook-form": "^7.54.0",
- "react-icons": "^5.4.0"
+ "react-icons": "^5.4.0",
+ "validate-npm-package-name": "^7.0.2"
},
"devDependencies": {
"@types/node": "^25.0.0",
"@types/react": "^19.0.0",
+ "@types/validate-npm-package-name": "^4.0.2",
"eslint": "^9.0.0",
"eslint-config-next": "^16.0.0",
"eslint-config-prettier": "^10.0.0",
diff --git a/apps/website/templates/LandingPage/LandingPageTemplate.tsx b/apps/website/templates/LandingPage/LandingPageTemplate.tsx
index 622cc8e..b34aade 100644
--- a/apps/website/templates/LandingPage/LandingPageTemplate.tsx
+++ b/apps/website/templates/LandingPage/LandingPageTemplate.tsx
@@ -1,7 +1,7 @@
"use client"
import { Box, Flex } from "@mantine/core"
-import { FC, ReactNode } from "react"
+import type { PropsWithChildren } from "react"
import { Section } from "../../components/Section"
import { Description } from "./components/Description"
import { Footer } from "./components/Footer"
@@ -9,7 +9,7 @@ import { HeaderSection } from "./components/Header"
import { Newsletter } from "./components/NewsletterSection"
import { TechnologiesForm } from "./components/TechnologiesForm"
-const Card: FC<{ children?: ReactNode }> = ({ children }) => (
+const Card = ({ children }: PropsWithChildren) => (
void
}
-export const CommandModal: FC = ({
+export const CommandModal = ({
command,
opened,
onClose,
-}) => {
+}: CommandModalProps) => {
const [hasCopied, setHasCopied] = useState(false)
const [copyFailed, setCopyFailed] = useState(false)
diff --git a/apps/website/templates/LandingPage/components/Footer.tsx b/apps/website/templates/LandingPage/components/Footer.tsx
index 3c897c1..bdc0b0b 100644
--- a/apps/website/templates/LandingPage/components/Footer.tsx
+++ b/apps/website/templates/LandingPage/components/Footer.tsx
@@ -7,7 +7,7 @@ import { SocialIcons } from "../../../components/SocialIcons"
export const Footer: React.FC = () => {
return (
{
return (
-
+
{
fw={800}
ta={{ base: "left", sm: "center" }}
variant="gradient"
- gradient={{ from: "#6838F1", to: "#DC51F2", deg: 135 }}
lh={1.2}
>
Create Next Stack
@@ -31,7 +30,6 @@ export const HeaderSection = () => {
fw="bold"
ta={{ base: "left", sm: "center" }}
variant="gradient"
- gradient={{ from: "#6838F1", to: "#DC51F2", deg: 135 }}
>
The ultimate starter kit for Next.js
diff --git a/apps/website/templates/LandingPage/components/InfoIconTooltip.tsx b/apps/website/templates/LandingPage/components/InfoIconTooltip.tsx
index 3ab985d..08ff2c9 100644
--- a/apps/website/templates/LandingPage/components/InfoIconTooltip.tsx
+++ b/apps/website/templates/LandingPage/components/InfoIconTooltip.tsx
@@ -1,23 +1,40 @@
"use client"
import { Flex, Tooltip } from "@mantine/core"
-import { FC } from "react"
+import { useRef, useState } from "react"
+import type { ReactNode } from "react"
import { FiInfo } from "react-icons/fi"
type WithInfoIconAndTooltipProps = {
tooltip: string
- children: React.ReactNode
+ children: ReactNode
}
-export const WithInfoIconAndTooltip: FC = ({
+export const WithInfoIconAndTooltip = ({
tooltip,
children,
-}) => {
+}: WithInfoIconAndTooltipProps) => {
+ const iconRef = useRef(null)
+ const [opened, setOpened] = useState(false)
return (
-
-
- {children}
+ setOpened(true)}
+ onMouseLeave={() => setOpened(false)}
+ >
+ {children}
+
-
-
+
+
+
)
}
diff --git a/apps/website/templates/LandingPage/components/NewsletterSection.tsx b/apps/website/templates/LandingPage/components/NewsletterSection.tsx
index 2396348..51a45ab 100644
--- a/apps/website/templates/LandingPage/components/NewsletterSection.tsx
+++ b/apps/website/templates/LandingPage/components/NewsletterSection.tsx
@@ -1,16 +1,18 @@
"use client"
import { Button, Flex, Text, TextInput, Title } from "@mantine/core"
-import { FC, useState } from "react"
-import { SubmitHandler, useForm } from "react-hook-form"
+import { useState } from "react"
+import type { FC } from "react"
+import { useForm } from "react-hook-form"
+import type { SubmitHandler } from "react-hook-form"
const NEXT_PUBLIC_CONVERTKIT_API_KEY =
- process.env.NEXT_PUBLIC_CONVERTKIT_API_KEY
+ process.env["NEXT_PUBLIC_CONVERTKIT_API_KEY"]
if (!NEXT_PUBLIC_CONVERTKIT_API_KEY) {
throw new Error("Missing NEXT_PUBLIC_CONVERTKIT_API_KEY environment variable")
}
const NEXT_PUBLIC_CONVERTKIT_FORM_ID =
- process.env.NEXT_PUBLIC_CONVERTKIT_FORM_ID
+ process.env["NEXT_PUBLIC_CONVERTKIT_FORM_ID"]
if (!NEXT_PUBLIC_CONVERTKIT_FORM_ID) {
throw new Error("Missing NEXT_PUBLIC_CONVERTKIT_FORM_ID environment variable")
}
diff --git a/apps/website/templates/LandingPage/components/TechnologiesForm.tsx b/apps/website/templates/LandingPage/components/TechnologiesForm.tsx
index 8b21dbc..143a35b 100644
--- a/apps/website/templates/LandingPage/components/TechnologiesForm.tsx
+++ b/apps/website/templates/LandingPage/components/TechnologiesForm.tsx
@@ -10,7 +10,9 @@ import {
Title,
} from "@mantine/core"
import React from "react"
-import { Controller, SubmitHandler, useForm } from "react-hook-form"
+import { Controller, useForm } from "react-hook-form"
+import type { SubmitHandler } from "react-hook-form"
+import cnsPackageJson from "../../../../../packages/create-next-stack/package.json"
import { Anchor } from "../../../components/Anchor"
import { Checkbox } from "../../../components/Checkbox"
import { Radio } from "../../../components/Radio"
@@ -267,7 +269,7 @@ export const TechnologiesForm: React.FC = () => {
formData,
) => {
const calculateCommand = (formData: TechnologiesFormData) => {
- const args = ["npx", "create-next-stack@latest"]
+ const args = ["npx", `create-next-stack@${cnsPackageJson.version}`]
args.push(`--router=${formData.router}`)
args.push(`--package-manager=${options[formData.packageManager].value}`)
@@ -334,24 +336,27 @@ export const TechnologiesForm: React.FC = () => {
{optionKeys.map((optionKey) => {
+ const invalidValidators =
+ validators?.[optionKey]?.filter((v) => v.isInvalid) ?? []
+ const hasError = invalidValidators.length > 0
+ const errorId = `${name}-${optionKey}-error`
return (
- {validators?.[optionKey]?.map(
- (validator) =>
- validator.isInvalid && (
-
+ {hasError && (
+
+ {invalidValidators.map((validator) => (
+
{validator.errorMessage}
- ),
+ ))}
+
)}
)
diff --git a/apps/website/theme.ts b/apps/website/theme.ts
index 435008f..6d95d3d 100644
--- a/apps/website/theme.ts
+++ b/apps/website/theme.ts
@@ -8,8 +8,8 @@ export const theme = createTheme({
headings: {
fontFamily: '"Inter", sans-serif',
},
+ defaultGradient: { from: "#6838F1", to: "#DC51F2", deg: 135 },
other: {
fontFamilyMono: '"Roboto Mono", monospace',
- brandGradient: { from: "#6838F1", to: "#DC51F2", deg: 135 },
},
})
diff --git a/apps/website/tsconfig.json b/apps/website/tsconfig.json
index d20b9a8..7afaf3b 100644
--- a/apps/website/tsconfig.json
+++ b/apps/website/tsconfig.json
@@ -1,19 +1,22 @@
{
"compilerOptions": {
- "target": "es2017",
"lib": ["dom", "dom.iterable", "esnext"],
"allowJs": true,
"skipLibCheck": true,
- "strict": true,
"forceConsistentCasingInFileNames": true,
"noEmit": true,
"esModuleInterop": true,
- "module": "esnext",
"moduleResolution": "bundler",
"resolveJsonModule": true,
"isolatedModules": true,
"jsx": "react-jsx",
"incremental": true,
+ "verbatimModuleSyntax": true,
+ "noUncheckedIndexedAccess": true,
+ "noPropertyAccessFromIndexSignature": true,
+ "target": "ES2022",
+ "strict": true,
+ "module": "esnext",
"plugins": [
{
"name": "next"
diff --git a/apps/website/utils/validateProjectName.ts b/apps/website/utils/validateProjectName.ts
index a9a19a1..b9ba57a 100644
--- a/apps/website/utils/validateProjectName.ts
+++ b/apps/website/utils/validateProjectName.ts
@@ -1,3 +1,5 @@
+import validateNpmPackageName from "validate-npm-package-name"
+
/**
* Project names must be valid npm package names. This function checks that validity.
*
@@ -5,72 +7,6 @@
* @returns `true` if valid. If invalid, an error message of type `string` explaining the invalidity.
*/
export const validateProjectName = (projectName: string): string | true => {
- const problems = getProblemsInProjectName(projectName)
- return problems[0] ?? true
-}
-
-const scopedPackagePattern = /^(?:@([^/]+?)[/])?([^/]+?)$/
-const blacklist = ["node_modules", "favicon.ico"]
-
-const getProblemsInProjectName = (name: string): string[] => {
- const problems: string[] = []
-
- if (name.length === 0) {
- problems.push("Name must not be empty.")
- return problems
- }
-
- if (name.startsWith(".")) {
- problems.push("Name must not start with a period.")
- }
-
- if (name.startsWith("_")) {
- problems.push("Name must not start with an underscore.")
- }
-
- if (name.trimStart() !== name) {
- problems.push("Name must not contain leading spaces.")
- }
-
- if (name.trimEnd() !== name) {
- problems.push("Name must not contain trailing spaces.")
- }
-
- if (name.length > 214) {
- problems.push("Name must be 214 characters or fewer.")
- }
-
- if (name.toLowerCase() !== name) {
- problems.push("Name must not contain uppercase letters.")
- }
-
- if (/[~'!()*]/.test(name.split("/").slice(-1)[0] ?? "")) {
- problems.push("Name must not contain special characters (~'!()*)")
- }
-
- if (encodeURIComponent(name) !== name) {
- const match = scopedPackagePattern.exec(name)
- if (match) {
- const user = match[1]
- const pkg = match[2]
- if (
- user &&
- pkg &&
- encodeURIComponent(user) === user &&
- encodeURIComponent(pkg) === pkg
- ) {
- // Scoped package name is valid
- } else {
- problems.push("Name can only contain URL-friendly characters.")
- }
- } else {
- problems.push("Name can only contain URL-friendly characters.")
- }
- }
-
- if (blacklist.includes(name)) {
- problems.push(`${name} is a reserved name.`)
- }
-
- return problems
+ const { errors, warnings } = validateNpmPackageName(projectName)
+ return [...(errors ?? []), ...(warnings ?? [])][0] ?? true
}
diff --git a/package.json b/package.json
index 6f1be6e..090d616 100644
--- a/package.json
+++ b/package.json
@@ -20,6 +20,9 @@
"lint": "turbo lint",
"lint:cli": "turbo lint --filter create-next-stack",
"lint:web": "turbo lint --filter create-next-stack-website",
+ "typecheck": "turbo typecheck",
+ "typecheck:cli": "turbo typecheck --filter create-next-stack",
+ "typecheck:web": "turbo typecheck --filter create-next-stack-website",
"test": "turbo test",
"test:cli": "turbo test --filter create-next-stack",
"test:web": "turbo test --filter create-next-stack-website",
@@ -30,7 +33,7 @@
"lint-staged": "^15.4.3",
"prettier": "^3.5.3",
"turbo": "^2.4.4",
- "typescript": "^5.8.2"
+ "typescript": "^6.0.2"
},
"lint-staged": {
"*": "prettier --write --ignore-unknown"
diff --git a/packages/create-next-stack/package.json b/packages/create-next-stack/package.json
index a33d779..8a18f09 100644
--- a/packages/create-next-stack/package.json
+++ b/packages/create-next-stack/package.json
@@ -53,6 +53,7 @@
"build": "rimraf lib && tsc --build",
"build:watch": "rimraf lib && tsc --build --watch",
"lint": "eslint",
+ "typecheck": "tsc --noEmit",
"test": "pnpm unit",
"unit": "vitest run src/main/",
"unit:watch": "vitest src/main/",
@@ -92,8 +93,8 @@
"eslint": "^10.0.0",
"eslint-config-prettier": "^10.1.1",
"next": "^16.0.0",
- "typescript": "^5.8.2",
- "typescript-eslint": "^8.56.0",
+ "typescript": "^6.0.2",
+ "typescript-eslint": "^8.58.1",
"uuid": "^9.0.0",
"vitest": "^4.0.18"
}
diff --git a/packages/create-next-stack/src/main/helpers/run-command.ts b/packages/create-next-stack/src/main/helpers/run-command.ts
index e51a755..a26db11 100644
--- a/packages/create-next-stack/src/main/helpers/run-command.ts
+++ b/packages/create-next-stack/src/main/helpers/run-command.ts
@@ -1,4 +1,5 @@
import { execa, type Options, type ResultPromise } from "execa"
+import { fileURLToPath } from "url"
import { logDebug } from "../logging.ts"
import { prettyCommand } from "./pretty-command.ts"
@@ -8,6 +9,10 @@ export const runCommand = (
options?: Options,
): ResultPromise => {
logDebug("Running command:", prettyCommand(file, args))
- logDebug("Running command in:", options?.cwd?.toString() ?? process.cwd())
+ const cwd = options?.cwd ?? process.cwd()
+ logDebug(
+ "Running command in:",
+ typeof cwd === "string" ? cwd : fileURLToPath(cwd),
+ )
return execa(file, args, options)
}
diff --git a/packages/create-next-stack/src/main/plugins/github-actions.ts b/packages/create-next-stack/src/main/plugins/github-actions.ts
index 00051fe..258422c 100644
--- a/packages/create-next-stack/src/main/plugins/github-actions.ts
+++ b/packages/create-next-stack/src/main/plugins/github-actions.ts
@@ -66,19 +66,19 @@ const generateCiYml = async (inputs: ValidCNSInputs): Promise => {
steps:
- name: "Checkout repo"
- uses: actions/checkout@v4
+ uses: actions/checkout@v6
${
packageManager === "pnpm"
? aldent`
- name: "Set up pnpm"
- uses: pnpm/action-setup@v4
+ uses: pnpm/action-setup@v5
`
: ""
}
- name: "Set up latest Node LTS"
- uses: actions/setup-node@v4
+ uses: actions/setup-node@v6
with:
node-version: "lts/*"
cache: "${packageManager}"
diff --git a/packages/create-next-stack/src/main/plugins/mantine.ts b/packages/create-next-stack/src/main/plugins/mantine.ts
index 52adefd..53d8085 100644
--- a/packages/create-next-stack/src/main/plugins/mantine.ts
+++ b/packages/create-next-stack/src/main/plugins/mantine.ts
@@ -7,8 +7,8 @@ export const mantinePlugin: Plugin = {
description: "Adds support for Mantine",
active: ({ flags }) => Boolean(flags.mantine),
dependencies: [
- { name: "@mantine/core", version: "^8.0.0" },
- { name: "@mantine/hooks", version: "^8.0.0" },
+ { name: "@mantine/core", version: "^9.0.0" },
+ { name: "@mantine/hooks", version: "^9.0.0" },
],
devDependencies: [
{ name: "postcss", version: "^8.0.0" },
diff --git a/packages/create-next-stack/src/main/plugins/material-ui.ts b/packages/create-next-stack/src/main/plugins/material-ui.ts
index 518ddb1..be9af57 100644
--- a/packages/create-next-stack/src/main/plugins/material-ui.ts
+++ b/packages/create-next-stack/src/main/plugins/material-ui.ts
@@ -39,8 +39,8 @@ export const materialUIPlugin: Plugin = {
description: "Adds support for Material UI",
active: ({ flags }) => Boolean(flags["material-ui"]),
dependencies: [
- { name: "@mui/material", version: "^7.0.0" },
- { name: "@mui/material-nextjs", version: "^7.0.0" },
+ { name: "@mui/material", version: "^9.0.0" },
+ { name: "@mui/material-nextjs", version: "^9.0.0" },
{ name: "@emotion/cache", version: "^11.0.0" },
],
technologies: [
@@ -84,7 +84,7 @@ export const materialUIPlugin: Plugin = {
htmlAttributes: `className={roboto.variable}`,
headContent: ``,
providerImports: aldent`
- import { AppRouterCacheProvider } from "@mui/material-nextjs/v15-appRouter";
+ import { AppRouterCacheProvider } from "@mui/material-nextjs/v16-appRouter";
import { ThemeProvider as MuiThemeProvider } from "@mui/material/styles";
import CssBaseline from "@mui/material/CssBaseline";
import materialTheme from "../material-theme";
diff --git a/packages/create-next-stack/src/main/plugins/netlify.ts b/packages/create-next-stack/src/main/plugins/netlify.ts
index 8f296f5..f3485cd 100644
--- a/packages/create-next-stack/src/main/plugins/netlify.ts
+++ b/packages/create-next-stack/src/main/plugins/netlify.ts
@@ -5,7 +5,7 @@ export const netlifyPlugin: Plugin = {
name: "Netlify",
description: "Adds support for Netlify",
active: ({ flags }) => Boolean(flags["netlify"]),
- devDependencies: [{ name: "netlify-cli", version: "^24.0.0" }],
+ devDependencies: [{ name: "netlify-cli", version: "^25.0.0" }],
scripts: [
{
name: "deploy:netlify",
diff --git a/packages/create-next-stack/src/main/plugins/plausible.ts b/packages/create-next-stack/src/main/plugins/plausible.ts
index f53d957..f8935f1 100644
--- a/packages/create-next-stack/src/main/plugins/plausible.ts
+++ b/packages/create-next-stack/src/main/plugins/plausible.ts
@@ -8,7 +8,7 @@ export const plausiblePlugin: Plugin = {
name: "Plausible",
description: "Adds support for Plausible Analytics",
active: ({ flags }) => flags["plausible"],
- dependencies: [{ name: "next-plausible", version: "^3.0.0" }],
+ dependencies: [{ name: "next-plausible", version: "^4.0.0" }],
technologies: [
{
id: "plausible",
diff --git a/packages/create-next-stack/src/main/plugins/vercel.ts b/packages/create-next-stack/src/main/plugins/vercel.ts
index ac9f037..5fbe36d 100644
--- a/packages/create-next-stack/src/main/plugins/vercel.ts
+++ b/packages/create-next-stack/src/main/plugins/vercel.ts
@@ -5,7 +5,7 @@ export const vercelPlugin: Plugin = {
name: "Vercel",
description: "Adds support for Vercel",
active: ({ flags }) => Boolean(flags["vercel"]),
- devDependencies: [{ name: "vercel", version: "^50.0.0" }],
+ devDependencies: [{ name: "vercel", version: "^51.0.0" }],
scripts: [
{
name: "deploy:vercel",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 4af2a87..4aef0ba 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -21,17 +21,17 @@ importers:
specifier: ^2.4.4
version: 2.8.12
typescript:
- specifier: ^5.8.2
- version: 5.9.3
+ specifier: ^6.0.2
+ version: 6.0.2
apps/website:
dependencies:
'@mantine/core':
- specifier: ^8.0.0
- version: 8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ specifier: ^9.0.0
+ version: 9.0.1(@mantine/hooks@9.0.1(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
'@mantine/hooks':
- specifier: ^8.0.0
- version: 8.3.15(react@19.2.4)
+ specifier: ^9.0.0
+ version: 9.0.1(react@19.2.4)
next:
specifier: ^16.0.0
version: 16.1.6(@babel/core@7.29.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
@@ -50,6 +50,9 @@ importers:
react-icons:
specifier: ^5.4.0
version: 5.5.0(react@19.2.4)
+ validate-npm-package-name:
+ specifier: ^7.0.2
+ version: 7.0.2
devDependencies:
'@types/node':
specifier: ^25.0.0
@@ -57,12 +60,15 @@ importers:
'@types/react':
specifier: ^19.0.0
version: 19.2.14
+ '@types/validate-npm-package-name':
+ specifier: ^4.0.2
+ version: 4.0.2
eslint:
specifier: ^9.0.0
version: 9.39.3
eslint-config-next:
specifier: ^16.0.0
- version: 16.1.6(eslint@9.39.3)(typescript@5.9.3)
+ version: 16.1.6(@typescript-eslint/parser@8.56.1(eslint@9.39.3)(typescript@6.0.2))(eslint@9.39.3)(typescript@6.0.2)
eslint-config-prettier:
specifier: ^10.0.0
version: 10.1.8(eslint@9.39.3)
@@ -134,11 +140,11 @@ importers:
specifier: ^16.0.0
version: 16.1.6(@babel/core@7.29.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
typescript:
- specifier: ^5.8.2
- version: 5.9.3
+ specifier: ^6.0.2
+ version: 6.0.2
typescript-eslint:
- specifier: ^8.56.0
- version: 8.56.1(eslint@10.0.2)(typescript@5.9.3)
+ specifier: ^8.58.1
+ version: 8.58.1(eslint@10.0.2)(typescript@6.0.2)
uuid:
specifier: ^9.0.0
version: 9.0.1
@@ -203,10 +209,6 @@ packages:
engines: {node: '>=6.0.0'}
hasBin: true
- '@babel/runtime@7.28.6':
- resolution: {integrity: sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==}
- engines: {node: '>=6.9.0'}
-
'@babel/template@7.28.6':
resolution: {integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==}
engines: {node: '>=6.9.0'}
@@ -442,26 +444,26 @@ packages:
resolution: {integrity: sha512-bIZEUzOI1jkhviX2cp5vNyXQc6olzb2ohewQubuYlMXZ2Q/XjBO0x0XhGPvc9fjSIiUN0vw+0hq53BJ4eQSJKQ==}
engines: {node: ^20.19.0 || ^22.13.0 || >=24}
- '@floating-ui/core@1.7.4':
- resolution: {integrity: sha512-C3HlIdsBxszvm5McXlB8PeOEWfBhcGBTZGkGlWc2U0KFY5IwG5OQEuQ8rq52DZmcHDlPLd+YFBK+cZcytwIFWg==}
+ '@floating-ui/core@1.7.5':
+ resolution: {integrity: sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==}
- '@floating-ui/dom@1.7.5':
- resolution: {integrity: sha512-N0bD2kIPInNHUHehXhMke1rBGs1dwqvC9O9KYMyyjK7iXt7GAhnro7UlcuYcGdS/yYOlq0MAVgrow8IbWJwyqg==}
+ '@floating-ui/dom@1.7.6':
+ resolution: {integrity: sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==}
- '@floating-ui/react-dom@2.1.7':
- resolution: {integrity: sha512-0tLRojf/1Go2JgEVm+3Frg9A3IW8bJgKgdO0BN5RkF//ufuz2joZM63Npau2ff3J6lUVYgDSNzNkR+aH3IVfjg==}
+ '@floating-ui/react-dom@2.1.8':
+ resolution: {integrity: sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==}
peerDependencies:
react: '>=16.8.0'
react-dom: '>=16.8.0'
- '@floating-ui/react@0.27.18':
- resolution: {integrity: sha512-xJWJxvmy3a05j643gQt+pRbht5XnTlGpsEsAPnMi5F5YTOEEJymA90uZKBD8OvIv5XvZ1qi4GcccSlqT3Bq44Q==}
+ '@floating-ui/react@0.27.19':
+ resolution: {integrity: sha512-31B8h5mm8YxotlE7/AU/PhNAl8eWxAmjL/v2QOxroDNkTFLk3Uu82u63N3b6TXa4EGJeeZLVcd/9AlNlVqzeog==}
peerDependencies:
react: '>=17.0.0'
react-dom: '>=17.0.0'
- '@floating-ui/utils@0.2.10':
- resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==}
+ '@floating-ui/utils@0.2.11':
+ resolution: {integrity: sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==}
'@humanfs/core@0.19.1':
resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
@@ -665,17 +667,17 @@ packages:
'@jridgewell/trace-mapping@0.3.31':
resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
- '@mantine/core@8.3.15':
- resolution: {integrity: sha512-wBn/GogB4x7a2Uj7Ztt3amRaApjED+9XqfE4wyCLh88R7KV55k9vnTdCx+irI/GLOOu9tXNUGm3a4t5sTajwkQ==}
+ '@mantine/core@9.0.1':
+ resolution: {integrity: sha512-kSYm8g7p8FTDysOsz9BN14TSqp10O0yAmo9HOZfwe6c08gGKQSytnSCPgnTe2h5DMfpbhTg+krROrT8WQy37fA==}
peerDependencies:
- '@mantine/hooks': 8.3.15
- react: ^18.x || ^19.x
- react-dom: ^18.x || ^19.x
+ '@mantine/hooks': 9.0.1
+ react: ^19.2.0
+ react-dom: ^19.2.0
- '@mantine/hooks@8.3.15':
- resolution: {integrity: sha512-AUSnpUlzttHzJht3CJ1YWi16iy6NWRwtyWO5RLGHHsmiW05DyG0qOPKF8+R5dLHuOCnl3XOu4roI2Y1ku9U04Q==}
+ '@mantine/hooks@9.0.1':
+ resolution: {integrity: sha512-WM/GbSD8MxZoy3X2IdrbxLq0/0ca4zMA5m7lGw9k1Vecqt1dC/nBed0IJd/w2HGs6avGs9CPlvQ8C4yBEcSnLA==}
peerDependencies:
- react: ^18.x || ^19.x
+ react: ^19.2.0
'@napi-rs/wasm-runtime@0.2.12':
resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==}
@@ -970,6 +972,14 @@ packages:
eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
typescript: '>=4.8.4 <6.0.0'
+ '@typescript-eslint/eslint-plugin@8.58.1':
+ resolution: {integrity: sha512-eSkwoemjo76bdXl2MYqtxg51HNwUSkWfODUOQ3PaTLZGh9uIWWFZIjyjaJnex7wXDu+TRx+ATsnSxdN9YWfRTQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ '@typescript-eslint/parser': ^8.58.1
+ eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
+ typescript: '>=4.8.4 <6.1.0'
+
'@typescript-eslint/parser@8.56.1':
resolution: {integrity: sha512-klQbnPAAiGYFyI02+znpBRLyjL4/BrBd0nyWkdC0s/6xFLkXYQ8OoRrSkqacS1ddVxf/LDyODIKbQ5TgKAf/Fg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -977,22 +987,45 @@ packages:
eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
typescript: '>=4.8.4 <6.0.0'
+ '@typescript-eslint/parser@8.58.1':
+ resolution: {integrity: sha512-gGkiNMPqerb2cJSVcruigx9eHBlLG14fSdPdqMoOcBfh+vvn4iCq2C8MzUB89PrxOXk0y3GZ1yIWb9aOzL93bw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
+ typescript: '>=4.8.4 <6.1.0'
+
'@typescript-eslint/project-service@8.56.1':
resolution: {integrity: sha512-TAdqQTzHNNvlVFfR+hu2PDJrURiwKsUvxFn1M0h95BB8ah5jejas08jUWG4dBA68jDMI988IvtfdAI53JzEHOQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
+ '@typescript-eslint/project-service@8.58.1':
+ resolution: {integrity: sha512-gfQ8fk6cxhtptek+/8ZIqw8YrRW5048Gug8Ts5IYcMLCw18iUgrZAEY/D7s4hkI0FxEfGakKuPK/XUMPzPxi5g==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ typescript: '>=4.8.4 <6.1.0'
+
'@typescript-eslint/scope-manager@8.56.1':
resolution: {integrity: sha512-YAi4VDKcIZp0O4tz/haYKhmIDZFEUPOreKbfdAN3SzUDMcPhJ8QI99xQXqX+HoUVq8cs85eRKnD+rne2UAnj2w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@typescript-eslint/scope-manager@8.58.1':
+ resolution: {integrity: sha512-TPYUEqJK6avLcEjumWsIuTpuYODTTDAtoMdt8ZZa93uWMTX13Nb8L5leSje1NluammvU+oI3QRr5lLXPgihX3w==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
'@typescript-eslint/tsconfig-utils@8.56.1':
resolution: {integrity: sha512-qOtCYzKEeyr3aR9f28mPJqBty7+DBqsdd63eO0yyDwc6vgThj2UjWfJIcsFeSucYydqcuudMOprZ+x1SpF3ZuQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
+ '@typescript-eslint/tsconfig-utils@8.58.1':
+ resolution: {integrity: sha512-JAr2hOIct2Q+qk3G+8YFfqkqi7sC86uNryT+2i5HzMa2MPjw4qNFvtjnw1IiA1rP7QhNKVe21mSSLaSjwA1Olw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ typescript: '>=4.8.4 <6.1.0'
+
'@typescript-eslint/type-utils@8.56.1':
resolution: {integrity: sha512-yB/7dxi7MgTtGhZdaHCemf7PuwrHMenHjmzgUW1aJpO+bBU43OycnM3Wn+DdvDO/8zzA9HlhaJ0AUGuvri4oGg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -1000,16 +1033,33 @@ packages:
eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
typescript: '>=4.8.4 <6.0.0'
+ '@typescript-eslint/type-utils@8.58.1':
+ resolution: {integrity: sha512-HUFxvTJVroT+0rXVJC7eD5zol6ID+Sn5npVPWoFuHGg9Ncq5Q4EYstqR+UOqaNRFXi5TYkpXXkLhoCHe3G0+7w==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
+ typescript: '>=4.8.4 <6.1.0'
+
'@typescript-eslint/types@8.56.1':
resolution: {integrity: sha512-dbMkdIUkIkchgGDIv7KLUpa0Mda4IYjo4IAMJUZ+3xNoUXxMsk9YtKpTHSChRS85o+H9ftm51gsK1dZReY9CVw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@typescript-eslint/types@8.58.1':
+ resolution: {integrity: sha512-io/dV5Aw5ezwzfPBBWLoT+5QfVtP8O7q4Kftjn5azJ88bYyp/ZMCsyW1lpKK46EXJcaYMZ1JtYj+s/7TdzmQMw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
'@typescript-eslint/typescript-estree@8.56.1':
resolution: {integrity: sha512-qzUL1qgalIvKWAf9C1HpvBjif+Vm6rcT5wZd4VoMb9+Km3iS3Cv9DY6dMRMDtPnwRAFyAi7YXJpTIEXLvdfPxg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
+ '@typescript-eslint/typescript-estree@8.58.1':
+ resolution: {integrity: sha512-w4w7WR7GHOjqqPnvAYbazq+Y5oS68b9CzasGtnd6jIeOIeKUzYzupGTB2T4LTPSv4d+WPeccbxuneTFHYgAAWg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ typescript: '>=4.8.4 <6.1.0'
+
'@typescript-eslint/utils@8.56.1':
resolution: {integrity: sha512-HPAVNIME3tABJ61siYlHzSWCGtOoeP2RTIaHXFMPqjrQKCGB9OgUVdiNgH7TJS2JNIQ5qQ4RsAUDuGaGme/KOA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -1017,10 +1067,21 @@ packages:
eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
typescript: '>=4.8.4 <6.0.0'
+ '@typescript-eslint/utils@8.58.1':
+ resolution: {integrity: sha512-Ln8R0tmWC7pTtLOzgJzYTXSCjJ9rDNHAqTaVONF4FEi2qwce8mD9iSOxOpLFFvWp/wBFlew0mjM1L1ihYWfBdQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
+ typescript: '>=4.8.4 <6.1.0'
+
'@typescript-eslint/visitor-keys@8.56.1':
resolution: {integrity: sha512-KiROIzYdEV85YygXw6BI/Dx4fnBlFQu6Mq4QE4MOH9fFnhohw6wX/OAvDY2/C+ut0I3RSPKenvZJIVYqJNkhEw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@typescript-eslint/visitor-keys@8.58.1':
+ resolution: {integrity: sha512-y+vH7QE8ycjoa0bWciFg7OpFcipUuem1ujhrdLtq1gByKwfbC7bPeKsiny9e0urg93DqwGcHey+bGRKCnF1nZQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
'@unrs/resolver-binding-android-arm-eabi@1.11.1':
resolution: {integrity: sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==}
cpu: [arm]
@@ -2505,8 +2566,8 @@ packages:
react-is@16.13.1:
resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
- react-number-format@5.4.4:
- resolution: {integrity: sha512-wOmoNZoOpvMminhifQYiYSTCLUDOiUbBunrMrMjA+dV52sY+vck1S4UhR6PkgnoCquvvMSeJjErXZ4qSaWCliA==}
+ react-number-format@5.4.5:
+ resolution: {integrity: sha512-y8O2yHHj3w0aE9XO8d2BCcUOOdQTRSVq+WIuMlLVucAm5XNjJAy+BoOJiuQMldVYVOKTMyvVNfnbl2Oqp+YxGw==}
peerDependencies:
react: ^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
react-dom: ^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
@@ -2541,12 +2602,6 @@ packages:
'@types/react':
optional: true
- react-textarea-autosize@8.5.9:
- resolution: {integrity: sha512-U1DGlIQN5AwgjTyOEnI1oCcMuEr1pv1qOtklB2l4nyMGbHzWrI0eFsYK0zos2YWqAolJyG0IWJaqWmWj5ETh0A==}
- engines: {node: '>=10'}
- peerDependencies:
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
-
react@19.2.4:
resolution: {integrity: sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==}
engines: {node: '>=0.10.0'}
@@ -2819,6 +2874,10 @@ packages:
tabbable@6.4.0:
resolution: {integrity: sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg==}
+ tagged-tag@1.0.0:
+ resolution: {integrity: sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==}
+ engines: {node: '>=20'}
+
tinybench@2.9.0:
resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==}
@@ -2844,6 +2903,12 @@ packages:
peerDependencies:
typescript: '>=4.8.4'
+ ts-api-utils@2.5.0:
+ resolution: {integrity: sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==}
+ engines: {node: '>=18.12'}
+ peerDependencies:
+ typescript: '>=4.8.4'
+
tsconfig-paths@3.15.0:
resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==}
@@ -2892,9 +2957,9 @@ packages:
resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
engines: {node: '>=10'}
- type-fest@4.41.0:
- resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==}
- engines: {node: '>=16'}
+ type-fest@5.5.0:
+ resolution: {integrity: sha512-PlBfpQwiUvGViBNX84Yxwjsdhd1TUlXr6zjX7eoirtCPIr08NAmxwa+fcYBTeRQxHo9YC9wwF3m9i700sHma8g==}
+ engines: {node: '>=20'}
typed-array-buffer@1.0.3:
resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==}
@@ -2919,8 +2984,15 @@ packages:
eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
typescript: '>=4.8.4 <6.0.0'
- typescript@5.9.3:
- resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==}
+ typescript-eslint@8.58.1:
+ resolution: {integrity: sha512-gf6/oHChByg9HJvhMO1iBexJh12AqqTfnuxscMDOVqfJW3htsdRJI/GfPpHTTcyeB8cSTUY2JcZmVgoyPqcrDg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
+ typescript: '>=4.8.4 <6.1.0'
+
+ typescript@6.0.2:
+ resolution: {integrity: sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==}
engines: {node: '>=14.17'}
hasBin: true
@@ -2957,33 +3029,6 @@ packages:
'@types/react':
optional: true
- use-composed-ref@1.4.0:
- resolution: {integrity: sha512-djviaxuOOh7wkj0paeO1Q/4wMZ8Zrnag5H6yBvzN7AKKe8beOaED9SF5/ByLqsku8NP4zQqsvM2u3ew/tJK8/w==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- use-isomorphic-layout-effect@1.2.1:
- resolution: {integrity: sha512-tpZZ+EX0gaghDAiFR37hj5MgY6ZN55kLiPkJsKxBMZ6GZdOSPJXiOzPM984oPYZ5AnehYx5WQp1+ME8I/P/pRA==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- use-latest@1.3.0:
- resolution: {integrity: sha512-mhg3xdm9NaM8q+gLT8KryJPnRFOz1/5XPBhmDEVZK1webPzDjrPk7f/mbpeLqTgB9msytYWANxgALOCJKnLvcQ==}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
use-sidecar@1.1.3:
resolution: {integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==}
engines: {node: '>=10'}
@@ -3005,6 +3050,10 @@ packages:
resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ validate-npm-package-name@7.0.2:
+ resolution: {integrity: sha512-hVDIBwsRruT73PbK7uP5ebUt+ezEtCmzZz3F59BSr2F6OVFnJ/6h8liuvdLrQ88Xmnk6/+xGGuq+pG9WwTuy3A==}
+ engines: {node: ^20.17.0 || >=22.9.0}
+
vite@7.3.1:
resolution: {integrity: sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -3243,8 +3292,6 @@ snapshots:
dependencies:
'@babel/types': 7.29.0
- '@babel/runtime@7.28.6': {}
-
'@babel/template@7.28.6':
dependencies:
'@babel/code-frame': 7.29.0
@@ -3436,30 +3483,30 @@ snapshots:
'@eslint/core': 1.1.0
levn: 0.4.1
- '@floating-ui/core@1.7.4':
+ '@floating-ui/core@1.7.5':
dependencies:
- '@floating-ui/utils': 0.2.10
+ '@floating-ui/utils': 0.2.11
- '@floating-ui/dom@1.7.5':
+ '@floating-ui/dom@1.7.6':
dependencies:
- '@floating-ui/core': 1.7.4
- '@floating-ui/utils': 0.2.10
+ '@floating-ui/core': 1.7.5
+ '@floating-ui/utils': 0.2.11
- '@floating-ui/react-dom@2.1.7(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@floating-ui/react-dom@2.1.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
- '@floating-ui/dom': 1.7.5
+ '@floating-ui/dom': 1.7.6
react: 19.2.4
react-dom: 19.2.4(react@19.2.4)
- '@floating-ui/react@0.27.18(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@floating-ui/react@0.27.19(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
- '@floating-ui/react-dom': 2.1.7(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@floating-ui/utils': 0.2.10
+ '@floating-ui/react-dom': 2.1.8(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@floating-ui/utils': 0.2.11
react: 19.2.4
react-dom: 19.2.4(react@19.2.4)
tabbable: 6.4.0
- '@floating-ui/utils@0.2.10': {}
+ '@floating-ui/utils@0.2.11': {}
'@humanfs/core@0.19.1': {}
@@ -3606,21 +3653,20 @@ snapshots:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.5
- '@mantine/core@8.3.15(@mantine/hooks@8.3.15(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@mantine/core@9.0.1(@mantine/hooks@9.0.1(react@19.2.4))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies:
- '@floating-ui/react': 0.27.18(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@mantine/hooks': 8.3.15(react@19.2.4)
+ '@floating-ui/react': 0.27.19(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@mantine/hooks': 9.0.1(react@19.2.4)
clsx: 2.1.1
react: 19.2.4
react-dom: 19.2.4(react@19.2.4)
- react-number-format: 5.4.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ react-number-format: 5.4.5(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
react-remove-scroll: 2.7.2(@types/react@19.2.14)(react@19.2.4)
- react-textarea-autosize: 8.5.9(@types/react@19.2.14)(react@19.2.4)
- type-fest: 4.41.0
+ type-fest: 5.5.0
transitivePeerDependencies:
- '@types/react'
- '@mantine/hooks@8.3.15(react@19.2.4)':
+ '@mantine/hooks@9.0.1(react@19.2.4)':
dependencies:
react: 19.2.4
@@ -3833,68 +3879,77 @@ snapshots:
'@types/validate-npm-package-name@4.0.2': {}
- '@typescript-eslint/eslint-plugin@8.56.1(@typescript-eslint/parser@8.56.1(eslint@10.0.2)(typescript@5.9.3))(eslint@10.0.2)(typescript@5.9.3)':
+ '@typescript-eslint/eslint-plugin@8.56.1(@typescript-eslint/parser@8.56.1(eslint@9.39.3)(typescript@6.0.2))(eslint@9.39.3)(typescript@6.0.2)':
dependencies:
'@eslint-community/regexpp': 4.12.2
- '@typescript-eslint/parser': 8.56.1(eslint@10.0.2)(typescript@5.9.3)
+ '@typescript-eslint/parser': 8.56.1(eslint@9.39.3)(typescript@6.0.2)
'@typescript-eslint/scope-manager': 8.56.1
- '@typescript-eslint/type-utils': 8.56.1(eslint@10.0.2)(typescript@5.9.3)
- '@typescript-eslint/utils': 8.56.1(eslint@10.0.2)(typescript@5.9.3)
+ '@typescript-eslint/type-utils': 8.56.1(eslint@9.39.3)(typescript@6.0.2)
+ '@typescript-eslint/utils': 8.56.1(eslint@9.39.3)(typescript@6.0.2)
'@typescript-eslint/visitor-keys': 8.56.1
- eslint: 10.0.2
+ eslint: 9.39.3
ignore: 7.0.5
natural-compare: 1.4.0
- ts-api-utils: 2.4.0(typescript@5.9.3)
- typescript: 5.9.3
+ ts-api-utils: 2.4.0(typescript@6.0.2)
+ typescript: 6.0.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/eslint-plugin@8.56.1(@typescript-eslint/parser@8.56.1(eslint@9.39.3)(typescript@5.9.3))(eslint@9.39.3)(typescript@5.9.3)':
+ '@typescript-eslint/eslint-plugin@8.58.1(@typescript-eslint/parser@8.58.1(eslint@10.0.2)(typescript@6.0.2))(eslint@10.0.2)(typescript@6.0.2)':
dependencies:
'@eslint-community/regexpp': 4.12.2
- '@typescript-eslint/parser': 8.56.1(eslint@9.39.3)(typescript@5.9.3)
- '@typescript-eslint/scope-manager': 8.56.1
- '@typescript-eslint/type-utils': 8.56.1(eslint@9.39.3)(typescript@5.9.3)
- '@typescript-eslint/utils': 8.56.1(eslint@9.39.3)(typescript@5.9.3)
- '@typescript-eslint/visitor-keys': 8.56.1
- eslint: 9.39.3
+ '@typescript-eslint/parser': 8.58.1(eslint@10.0.2)(typescript@6.0.2)
+ '@typescript-eslint/scope-manager': 8.58.1
+ '@typescript-eslint/type-utils': 8.58.1(eslint@10.0.2)(typescript@6.0.2)
+ '@typescript-eslint/utils': 8.58.1(eslint@10.0.2)(typescript@6.0.2)
+ '@typescript-eslint/visitor-keys': 8.58.1
+ eslint: 10.0.2
ignore: 7.0.5
natural-compare: 1.4.0
- ts-api-utils: 2.4.0(typescript@5.9.3)
- typescript: 5.9.3
+ ts-api-utils: 2.5.0(typescript@6.0.2)
+ typescript: 6.0.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@8.56.1(eslint@10.0.2)(typescript@5.9.3)':
+ '@typescript-eslint/parser@8.56.1(eslint@9.39.3)(typescript@6.0.2)':
dependencies:
'@typescript-eslint/scope-manager': 8.56.1
'@typescript-eslint/types': 8.56.1
- '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.9.3)
+ '@typescript-eslint/typescript-estree': 8.56.1(typescript@6.0.2)
'@typescript-eslint/visitor-keys': 8.56.1
debug: 4.4.3(supports-color@8.1.1)
+ eslint: 9.39.3
+ typescript: 6.0.2
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/parser@8.58.1(eslint@10.0.2)(typescript@6.0.2)':
+ dependencies:
+ '@typescript-eslint/scope-manager': 8.58.1
+ '@typescript-eslint/types': 8.58.1
+ '@typescript-eslint/typescript-estree': 8.58.1(typescript@6.0.2)
+ '@typescript-eslint/visitor-keys': 8.58.1
+ debug: 4.4.3(supports-color@8.1.1)
eslint: 10.0.2
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@8.56.1(eslint@9.39.3)(typescript@5.9.3)':
+ '@typescript-eslint/project-service@8.56.1(typescript@6.0.2)':
dependencies:
- '@typescript-eslint/scope-manager': 8.56.1
+ '@typescript-eslint/tsconfig-utils': 8.56.1(typescript@6.0.2)
'@typescript-eslint/types': 8.56.1
- '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.9.3)
- '@typescript-eslint/visitor-keys': 8.56.1
debug: 4.4.3(supports-color@8.1.1)
- eslint: 9.39.3
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/project-service@8.56.1(typescript@5.9.3)':
+ '@typescript-eslint/project-service@8.58.1(typescript@6.0.2)':
dependencies:
- '@typescript-eslint/tsconfig-utils': 8.56.1(typescript@5.9.3)
- '@typescript-eslint/types': 8.56.1
+ '@typescript-eslint/tsconfig-utils': 8.58.1(typescript@6.0.2)
+ '@typescript-eslint/types': 8.58.1
debug: 4.4.3(supports-color@8.1.1)
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- supports-color
@@ -3903,70 +3958,96 @@ snapshots:
'@typescript-eslint/types': 8.56.1
'@typescript-eslint/visitor-keys': 8.56.1
- '@typescript-eslint/tsconfig-utils@8.56.1(typescript@5.9.3)':
+ '@typescript-eslint/scope-manager@8.58.1':
+ dependencies:
+ '@typescript-eslint/types': 8.58.1
+ '@typescript-eslint/visitor-keys': 8.58.1
+
+ '@typescript-eslint/tsconfig-utils@8.56.1(typescript@6.0.2)':
+ dependencies:
+ typescript: 6.0.2
+
+ '@typescript-eslint/tsconfig-utils@8.58.1(typescript@6.0.2)':
dependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
- '@typescript-eslint/type-utils@8.56.1(eslint@10.0.2)(typescript@5.9.3)':
+ '@typescript-eslint/type-utils@8.56.1(eslint@9.39.3)(typescript@6.0.2)':
dependencies:
'@typescript-eslint/types': 8.56.1
- '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.9.3)
- '@typescript-eslint/utils': 8.56.1(eslint@10.0.2)(typescript@5.9.3)
+ '@typescript-eslint/typescript-estree': 8.56.1(typescript@6.0.2)
+ '@typescript-eslint/utils': 8.56.1(eslint@9.39.3)(typescript@6.0.2)
debug: 4.4.3(supports-color@8.1.1)
- eslint: 10.0.2
- ts-api-utils: 2.4.0(typescript@5.9.3)
- typescript: 5.9.3
+ eslint: 9.39.3
+ ts-api-utils: 2.4.0(typescript@6.0.2)
+ typescript: 6.0.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/type-utils@8.56.1(eslint@9.39.3)(typescript@5.9.3)':
+ '@typescript-eslint/type-utils@8.58.1(eslint@10.0.2)(typescript@6.0.2)':
dependencies:
- '@typescript-eslint/types': 8.56.1
- '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.9.3)
- '@typescript-eslint/utils': 8.56.1(eslint@9.39.3)(typescript@5.9.3)
+ '@typescript-eslint/types': 8.58.1
+ '@typescript-eslint/typescript-estree': 8.58.1(typescript@6.0.2)
+ '@typescript-eslint/utils': 8.58.1(eslint@10.0.2)(typescript@6.0.2)
debug: 4.4.3(supports-color@8.1.1)
- eslint: 9.39.3
- ts-api-utils: 2.4.0(typescript@5.9.3)
- typescript: 5.9.3
+ eslint: 10.0.2
+ ts-api-utils: 2.5.0(typescript@6.0.2)
+ typescript: 6.0.2
transitivePeerDependencies:
- supports-color
'@typescript-eslint/types@8.56.1': {}
- '@typescript-eslint/typescript-estree@8.56.1(typescript@5.9.3)':
+ '@typescript-eslint/types@8.58.1': {}
+
+ '@typescript-eslint/typescript-estree@8.56.1(typescript@6.0.2)':
dependencies:
- '@typescript-eslint/project-service': 8.56.1(typescript@5.9.3)
- '@typescript-eslint/tsconfig-utils': 8.56.1(typescript@5.9.3)
+ '@typescript-eslint/project-service': 8.56.1(typescript@6.0.2)
+ '@typescript-eslint/tsconfig-utils': 8.56.1(typescript@6.0.2)
'@typescript-eslint/types': 8.56.1
'@typescript-eslint/visitor-keys': 8.56.1
debug: 4.4.3(supports-color@8.1.1)
minimatch: 10.2.4
semver: 7.7.4
tinyglobby: 0.2.15
- ts-api-utils: 2.4.0(typescript@5.9.3)
- typescript: 5.9.3
+ ts-api-utils: 2.4.0(typescript@6.0.2)
+ typescript: 6.0.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@8.56.1(eslint@10.0.2)(typescript@5.9.3)':
+ '@typescript-eslint/typescript-estree@8.58.1(typescript@6.0.2)':
dependencies:
- '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.2)
- '@typescript-eslint/scope-manager': 8.56.1
- '@typescript-eslint/types': 8.56.1
- '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.9.3)
- eslint: 10.0.2
- typescript: 5.9.3
+ '@typescript-eslint/project-service': 8.58.1(typescript@6.0.2)
+ '@typescript-eslint/tsconfig-utils': 8.58.1(typescript@6.0.2)
+ '@typescript-eslint/types': 8.58.1
+ '@typescript-eslint/visitor-keys': 8.58.1
+ debug: 4.4.3(supports-color@8.1.1)
+ minimatch: 10.2.4
+ semver: 7.7.4
+ tinyglobby: 0.2.15
+ ts-api-utils: 2.5.0(typescript@6.0.2)
+ typescript: 6.0.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@8.56.1(eslint@9.39.3)(typescript@5.9.3)':
+ '@typescript-eslint/utils@8.56.1(eslint@9.39.3)(typescript@6.0.2)':
dependencies:
'@eslint-community/eslint-utils': 4.9.1(eslint@9.39.3)
'@typescript-eslint/scope-manager': 8.56.1
'@typescript-eslint/types': 8.56.1
- '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.9.3)
+ '@typescript-eslint/typescript-estree': 8.56.1(typescript@6.0.2)
eslint: 9.39.3
- typescript: 5.9.3
+ typescript: 6.0.2
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/utils@8.58.1(eslint@10.0.2)(typescript@6.0.2)':
+ dependencies:
+ '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.2)
+ '@typescript-eslint/scope-manager': 8.58.1
+ '@typescript-eslint/types': 8.58.1
+ '@typescript-eslint/typescript-estree': 8.58.1(typescript@6.0.2)
+ eslint: 10.0.2
+ typescript: 6.0.2
transitivePeerDependencies:
- supports-color
@@ -3975,6 +4056,11 @@ snapshots:
'@typescript-eslint/types': 8.56.1
eslint-visitor-keys: 5.0.1
+ '@typescript-eslint/visitor-keys@8.58.1':
+ dependencies:
+ '@typescript-eslint/types': 8.58.1
+ eslint-visitor-keys: 5.0.1
+
'@unrs/resolver-binding-android-arm-eabi@1.11.1':
optional: true
@@ -4539,20 +4625,20 @@ snapshots:
escape-string-regexp@4.0.0: {}
- eslint-config-next@16.1.6(eslint@9.39.3)(typescript@5.9.3):
+ eslint-config-next@16.1.6(@typescript-eslint/parser@8.56.1(eslint@9.39.3)(typescript@6.0.2))(eslint@9.39.3)(typescript@6.0.2):
dependencies:
'@next/eslint-plugin-next': 16.1.6
eslint: 9.39.3
eslint-import-resolver-node: 0.3.9
- eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0(eslint@9.39.3))(eslint@9.39.3)
- eslint-plugin-import: 2.32.0(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.3)
+ eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.3)
+ eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.56.1(eslint@9.39.3)(typescript@6.0.2))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.3)
eslint-plugin-jsx-a11y: 6.10.2(eslint@9.39.3)
eslint-plugin-react: 7.37.5(eslint@9.39.3)
eslint-plugin-react-hooks: 7.0.1(eslint@9.39.3)
globals: 16.4.0
- typescript-eslint: 8.56.1(eslint@9.39.3)(typescript@5.9.3)
+ typescript-eslint: 8.56.1(eslint@9.39.3)(typescript@6.0.2)
optionalDependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
transitivePeerDependencies:
- '@typescript-eslint/parser'
- eslint-import-resolver-webpack
@@ -4575,7 +4661,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(eslint@9.39.3))(eslint@9.39.3):
+ eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.3):
dependencies:
'@nolyfill/is-core-module': 1.0.39
debug: 4.4.3(supports-color@8.1.1)
@@ -4586,21 +4672,22 @@ snapshots:
tinyglobby: 0.2.15
unrs-resolver: 1.11.1
optionalDependencies:
- eslint-plugin-import: 2.32.0(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.3)
+ eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.56.1(eslint@9.39.3)(typescript@6.0.2))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.3)
transitivePeerDependencies:
- supports-color
- eslint-module-utils@2.12.1(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(eslint@9.39.3))(eslint@9.39.3))(eslint@9.39.3):
+ eslint-module-utils@2.12.1(@typescript-eslint/parser@8.56.1(eslint@9.39.3)(typescript@6.0.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.3):
dependencies:
debug: 3.2.7
optionalDependencies:
+ '@typescript-eslint/parser': 8.56.1(eslint@9.39.3)(typescript@6.0.2)
eslint: 9.39.3
eslint-import-resolver-node: 0.3.9
- eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0(eslint@9.39.3))(eslint@9.39.3)
+ eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.3)
transitivePeerDependencies:
- supports-color
- eslint-plugin-import@2.32.0(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.3):
+ eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.56.1(eslint@9.39.3)(typescript@6.0.2))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.3):
dependencies:
'@rtsao/scc': 1.1.0
array-includes: 3.1.9
@@ -4611,7 +4698,7 @@ snapshots:
doctrine: 2.1.0
eslint: 9.39.3
eslint-import-resolver-node: 0.3.9
- eslint-module-utils: 2.12.1(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(eslint@9.39.3))(eslint@9.39.3))(eslint@9.39.3)
+ eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.56.1(eslint@9.39.3)(typescript@6.0.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.3)
hasown: 2.0.2
is-core-module: 2.16.1
is-glob: 4.0.3
@@ -4622,6 +4709,8 @@ snapshots:
semver: 6.3.1
string.prototype.trimend: 1.0.9
tsconfig-paths: 3.15.0
+ optionalDependencies:
+ '@typescript-eslint/parser': 8.56.1(eslint@9.39.3)(typescript@6.0.2)
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
@@ -5619,7 +5708,7 @@ snapshots:
react-is@16.13.1: {}
- react-number-format@5.4.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4):
+ react-number-format@5.4.5(react-dom@19.2.4(react@19.2.4))(react@19.2.4):
dependencies:
react: 19.2.4
react-dom: 19.2.4(react@19.2.4)
@@ -5651,15 +5740,6 @@ snapshots:
optionalDependencies:
'@types/react': 19.2.14
- react-textarea-autosize@8.5.9(@types/react@19.2.14)(react@19.2.4):
- dependencies:
- '@babel/runtime': 7.28.6
- react: 19.2.4
- use-composed-ref: 1.4.0(@types/react@19.2.14)(react@19.2.4)
- use-latest: 1.3.0(@types/react@19.2.14)(react@19.2.4)
- transitivePeerDependencies:
- - '@types/react'
-
react@19.2.4: {}
readable-stream@3.6.2:
@@ -6030,6 +6110,8 @@ snapshots:
tabbable@6.4.0: {}
+ tagged-tag@1.0.0: {}
+
tinybench@2.9.0: {}
tinyexec@1.0.2: {}
@@ -6045,9 +6127,13 @@ snapshots:
dependencies:
is-number: 7.0.0
- ts-api-utils@2.4.0(typescript@5.9.3):
+ ts-api-utils@2.4.0(typescript@6.0.2):
dependencies:
- typescript: 5.9.3
+ typescript: 6.0.2
+
+ ts-api-utils@2.5.0(typescript@6.0.2):
+ dependencies:
+ typescript: 6.0.2
tsconfig-paths@3.15.0:
dependencies:
@@ -6091,7 +6177,9 @@ snapshots:
type-fest@0.21.3: {}
- type-fest@4.41.0: {}
+ type-fest@5.5.0:
+ dependencies:
+ tagged-tag: 1.0.0
typed-array-buffer@1.0.3:
dependencies:
@@ -6126,29 +6214,29 @@ snapshots:
possible-typed-array-names: 1.1.0
reflect.getprototypeof: 1.0.10
- typescript-eslint@8.56.1(eslint@10.0.2)(typescript@5.9.3):
+ typescript-eslint@8.56.1(eslint@9.39.3)(typescript@6.0.2):
dependencies:
- '@typescript-eslint/eslint-plugin': 8.56.1(@typescript-eslint/parser@8.56.1(eslint@10.0.2)(typescript@5.9.3))(eslint@10.0.2)(typescript@5.9.3)
- '@typescript-eslint/parser': 8.56.1(eslint@10.0.2)(typescript@5.9.3)
- '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.9.3)
- '@typescript-eslint/utils': 8.56.1(eslint@10.0.2)(typescript@5.9.3)
- eslint: 10.0.2
- typescript: 5.9.3
+ '@typescript-eslint/eslint-plugin': 8.56.1(@typescript-eslint/parser@8.56.1(eslint@9.39.3)(typescript@6.0.2))(eslint@9.39.3)(typescript@6.0.2)
+ '@typescript-eslint/parser': 8.56.1(eslint@9.39.3)(typescript@6.0.2)
+ '@typescript-eslint/typescript-estree': 8.56.1(typescript@6.0.2)
+ '@typescript-eslint/utils': 8.56.1(eslint@9.39.3)(typescript@6.0.2)
+ eslint: 9.39.3
+ typescript: 6.0.2
transitivePeerDependencies:
- supports-color
- typescript-eslint@8.56.1(eslint@9.39.3)(typescript@5.9.3):
+ typescript-eslint@8.58.1(eslint@10.0.2)(typescript@6.0.2):
dependencies:
- '@typescript-eslint/eslint-plugin': 8.56.1(@typescript-eslint/parser@8.56.1(eslint@9.39.3)(typescript@5.9.3))(eslint@9.39.3)(typescript@5.9.3)
- '@typescript-eslint/parser': 8.56.1(eslint@9.39.3)(typescript@5.9.3)
- '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.9.3)
- '@typescript-eslint/utils': 8.56.1(eslint@9.39.3)(typescript@5.9.3)
- eslint: 9.39.3
- typescript: 5.9.3
+ '@typescript-eslint/eslint-plugin': 8.58.1(@typescript-eslint/parser@8.58.1(eslint@10.0.2)(typescript@6.0.2))(eslint@10.0.2)(typescript@6.0.2)
+ '@typescript-eslint/parser': 8.58.1(eslint@10.0.2)(typescript@6.0.2)
+ '@typescript-eslint/typescript-estree': 8.58.1(typescript@6.0.2)
+ '@typescript-eslint/utils': 8.58.1(eslint@10.0.2)(typescript@6.0.2)
+ eslint: 10.0.2
+ typescript: 6.0.2
transitivePeerDependencies:
- supports-color
- typescript@5.9.3: {}
+ typescript@6.0.2: {}
unbox-primitive@1.1.0:
dependencies:
@@ -6202,25 +6290,6 @@ snapshots:
optionalDependencies:
'@types/react': 19.2.14
- use-composed-ref@1.4.0(@types/react@19.2.14)(react@19.2.4):
- dependencies:
- react: 19.2.4
- optionalDependencies:
- '@types/react': 19.2.14
-
- use-isomorphic-layout-effect@1.2.1(@types/react@19.2.14)(react@19.2.4):
- dependencies:
- react: 19.2.4
- optionalDependencies:
- '@types/react': 19.2.14
-
- use-latest@1.3.0(@types/react@19.2.14)(react@19.2.4):
- dependencies:
- react: 19.2.4
- use-isomorphic-layout-effect: 1.2.1(@types/react@19.2.14)(react@19.2.4)
- optionalDependencies:
- '@types/react': 19.2.14
-
use-sidecar@1.1.3(@types/react@19.2.14)(react@19.2.4):
dependencies:
detect-node-es: 1.1.0
@@ -6235,6 +6304,8 @@ snapshots:
validate-npm-package-name@5.0.1: {}
+ validate-npm-package-name@7.0.2: {}
+
vite@7.3.1(@types/node@25.3.3)(sugarss@5.0.1(postcss@8.5.6))(yaml@2.8.2):
dependencies:
esbuild: 0.27.3
diff --git a/turbo.json b/turbo.json
index a083423..9b42344 100644
--- a/turbo.json
+++ b/turbo.json
@@ -10,6 +10,7 @@
"inputs": ["**/*.ts", "**/*.js", "**/*.tsx", "**/*.jsx"]
},
"lint": {},
+ "typecheck": {},
"update-readme": {
"dependsOn": ["build"],
"inputs": ["**/*.ts", "**/*.js", "**/*.tsx", "**/*.jsx"]