Merge pull request #27 from itsMapleLeaf/update-lint
This commit is contained in:
@@ -1,77 +0,0 @@
|
|||||||
{
|
|
||||||
"root": true,
|
|
||||||
"env": {
|
|
||||||
"browser": true,
|
|
||||||
"es2021": true,
|
|
||||||
"node": true
|
|
||||||
},
|
|
||||||
"extends": [
|
|
||||||
"eslint:recommended",
|
|
||||||
"plugin:@typescript-eslint/recommended",
|
|
||||||
"plugin:@typescript-eslint/recommended-requiring-type-checking",
|
|
||||||
"plugin:@typescript-eslint/stylistic",
|
|
||||||
"plugin:@typescript-eslint/stylistic-type-checked",
|
|
||||||
"plugin:astro/recommended",
|
|
||||||
"prettier"
|
|
||||||
],
|
|
||||||
"parser": "@typescript-eslint/parser",
|
|
||||||
"parserOptions": {
|
|
||||||
"ecmaVersion": "latest",
|
|
||||||
"sourceType": "module",
|
|
||||||
"project": true
|
|
||||||
},
|
|
||||||
"plugins": ["@typescript-eslint", "react"],
|
|
||||||
"rules": {
|
|
||||||
"@typescript-eslint/no-unsafe-argument": "off",
|
|
||||||
"@typescript-eslint/no-unsafe-member-access": "off",
|
|
||||||
"@typescript-eslint/no-unsafe-assignment": "off",
|
|
||||||
"@typescript-eslint/no-unsafe-return": "off",
|
|
||||||
"@typescript-eslint/require-await": "off",
|
|
||||||
"@typescript-eslint/no-explicit-any": "warn",
|
|
||||||
"@typescript-eslint/no-unused-vars": [
|
|
||||||
"warn",
|
|
||||||
{ "argsIgnorePattern": "^_", "ignoreRestSiblings": true }
|
|
||||||
],
|
|
||||||
"@typescript-eslint/no-empty-function": "off"
|
|
||||||
},
|
|
||||||
"ignorePatterns": [
|
|
||||||
"node_modules",
|
|
||||||
"dist",
|
|
||||||
".astro",
|
|
||||||
"packages/website/public/api"
|
|
||||||
],
|
|
||||||
"settings": {
|
|
||||||
"react": {
|
|
||||||
"version": "detect"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"overrides": [
|
|
||||||
{
|
|
||||||
"files": ["*.tsx", "*.jsx"],
|
|
||||||
"extends": [
|
|
||||||
"plugin:react/recommended",
|
|
||||||
"plugin:react/jsx-runtime",
|
|
||||||
"plugin:react-hooks/recommended"
|
|
||||||
],
|
|
||||||
"rules": {
|
|
||||||
"react/prop-types": "off"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"files": ["*.astro"],
|
|
||||||
"parser": "astro-eslint-parser",
|
|
||||||
"parserOptions": {
|
|
||||||
"parser": "@typescript-eslint/parser",
|
|
||||||
"extraFileExtensions": [".astro"]
|
|
||||||
},
|
|
||||||
"globals": {
|
|
||||||
"astroHTML": "readonly"
|
|
||||||
},
|
|
||||||
"rules": {
|
|
||||||
"react/no-unknown-property": "off",
|
|
||||||
"react/jsx-key": "off",
|
|
||||||
"react/jsx-no-undef": "off"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
name: lint
|
name: tests
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
@@ -15,21 +15,30 @@ concurrency:
|
|||||||
cancel-in-progress: true
|
cancel-in-progress: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
lint:
|
tests:
|
||||||
|
name: ${{ matrix.script }}
|
||||||
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
script: ["prettier", "eslint", "tsc", "tsc-root"]
|
script:
|
||||||
name: lint (${{ matrix.script }})
|
- lint
|
||||||
runs-on: ubuntu-latest
|
- build
|
||||||
|
- test
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
|
- uses: actions/cache@v3
|
||||||
|
with:
|
||||||
|
path: node_modules
|
||||||
|
key: ${{ runner.os }}-node-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
- uses: pnpm/action-setup@v2
|
- uses: pnpm/action-setup@v2
|
||||||
with:
|
with:
|
||||||
version: 8
|
version: 8
|
||||||
- uses: actions/setup-node@v3
|
- uses: actions/setup-node@v3
|
||||||
with:
|
with:
|
||||||
node-version: 16
|
node-version: 18
|
||||||
cache: pnpm
|
cache: pnpm
|
||||||
- run: pnpm install --frozen-lockfile
|
- run: pnpm install --frozen-lockfile
|
||||||
- run: pnpm run lint:${{ matrix.script }}
|
- run: pnpm run ${{ matrix.script }}
|
||||||
|
- uses: stefanzweifel/git-auto-commit-action@v4
|
||||||
|
if: always()
|
||||||
30
.github/workflows/unit-test.yml
vendored
30
.github/workflows/unit-test.yml
vendored
@@ -1,30 +0,0 @@
|
|||||||
name: unit test
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches: [main]
|
|
||||||
pull_request:
|
|
||||||
|
|
||||||
env:
|
|
||||||
TEST_BOT_TOKEN: ${{ secrets.TEST_BOT_TOKEN }}
|
|
||||||
TEST_CHANNEL_ID: ${{ secrets.TEST_CHANNEL_ID }}
|
|
||||||
TEST_GUILD_ID: ${{ secrets.TEST_GUILD_ID }}
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: ${{ github.workflow }}-${{ github.ref }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
test:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- uses: pnpm/action-setup@v2
|
|
||||||
with:
|
|
||||||
version: 8
|
|
||||||
- uses: actions/setup-node@v3
|
|
||||||
with:
|
|
||||||
node-version: 16
|
|
||||||
cache: pnpm
|
|
||||||
- run: pnpm install --frozen-lockfile
|
|
||||||
- run: pnpm test
|
|
||||||
@@ -1,2 +1,3 @@
|
|||||||
pnpm-lock.yaml
|
pnpm-lock.yaml
|
||||||
/packages/website/public/api
|
/packages/website/public/api
|
||||||
|
.astro
|
||||||
|
|||||||
18
.prettierrc
18
.prettierrc
@@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
"semi": false,
|
|
||||||
"useTabs": true,
|
|
||||||
"htmlWhitespaceSensitivity": "ignore",
|
|
||||||
"plugins": [
|
|
||||||
"prettier-plugin-jsdoc",
|
|
||||||
"prettier-plugin-astro",
|
|
||||||
"prettier-plugin-tailwindcss"
|
|
||||||
],
|
|
||||||
"overrides": [
|
|
||||||
{
|
|
||||||
"files": "*.astro",
|
|
||||||
"options": {
|
|
||||||
"parser": "astro"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
85
package.json
85
package.json
@@ -1,42 +1,47 @@
|
|||||||
{
|
{
|
||||||
"name": "reacord-monorepo",
|
"name": "reacord-monorepo",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"lint": "run-p --print-label --continue-on-error --silent lint:*",
|
"lint": "run-s --continue-on-error lint:*",
|
||||||
"lint:prettier": "prettier --cache --check .",
|
"lint:eslint": "eslint . --fix --cache --cache-file=node_modules/.cache/.eslintcache --report-unused-disable-directives",
|
||||||
"lint:eslint": "pnpm astro-sync && eslint . --report-unused-disable-directives",
|
"lint:prettier": "prettier . --write --cache --list-different",
|
||||||
"lint:tsc": "pnpm astro-sync && pnpm -r --parallel --no-bail exec tsc -b",
|
"lint:types": "tsc -b & pnpm -r --parallel run typecheck",
|
||||||
"lint:tsc-root": "tsc -b",
|
"astro-sync": "pnpm --filter website exec astro sync",
|
||||||
"astro-sync": "pnpm --filter website exec astro sync",
|
"format": "run-s --continue-on-error format:*",
|
||||||
"format": "run-s --continue-on-error format:*",
|
"format:eslint": "eslint . --report-unused-disable-directives --fix",
|
||||||
"format:eslint": "eslint . --report-unused-disable-directives --fix",
|
"format:prettier": "prettier --cache --write .",
|
||||||
"format:prettier": "prettier --cache --write .",
|
"test": "vitest",
|
||||||
"test": "vitest",
|
"build": "pnpm -r run build",
|
||||||
"build": "pnpm -r run build",
|
"build:website": "pnpm --filter website... run build",
|
||||||
"build:website": "pnpm --filter website... run build",
|
"start": "pnpm -C packages/website run start",
|
||||||
"start": "pnpm -C packages/website run start",
|
"start:website": "pnpm -C packages/website run start",
|
||||||
"start:website": "pnpm -C packages/website run start",
|
"release": "pnpm -r run build && changeset publish"
|
||||||
"release": "pnpm -r run build && changeset publish"
|
},
|
||||||
},
|
"devDependencies": {
|
||||||
"devDependencies": {
|
"@changesets/cli": "^2.26.2",
|
||||||
"@changesets/cli": "^2.26.2",
|
"@itsmapleleaf/configs": "github:itsMapleLeaf/configs",
|
||||||
"@itsmapleleaf/configs": "^3.0.1",
|
"eslint": "^8.50.0",
|
||||||
"@types/eslint": "^8.44.2",
|
"npm-run-all": "^4.1.5",
|
||||||
"@typescript-eslint/eslint-plugin": "^6.4.0",
|
"prettier": "^3.0.3",
|
||||||
"@typescript-eslint/parser": "^6.4.0",
|
"react": "^18.2.0",
|
||||||
"eslint": "^8.47.0",
|
"tailwindcss": "^3.3.3",
|
||||||
"eslint-config-prettier": "^9.0.0",
|
"typescript": "^5.2.2",
|
||||||
"eslint-plugin-astro": "^0.28.0",
|
"vitest": "^0.34.5"
|
||||||
"eslint-plugin-react": "^7.33.2",
|
},
|
||||||
"eslint-plugin-react-hooks": "^4.6.0",
|
"prettier": "@itsmapleleaf/configs/prettier",
|
||||||
"npm-run-all": "^4.1.5",
|
"eslintConfig": {
|
||||||
"prettier": "^3.0.2",
|
"extends": [
|
||||||
"prettier-plugin-astro": "^0.11.1",
|
"./node_modules/@itsmapleleaf/configs/eslint.config.cjs",
|
||||||
"prettier-plugin-jsdoc": "^1.0.1",
|
"./node_modules/@itsmapleleaf/configs/eslint.config.react.cjs"
|
||||||
"prettier-plugin-tailwindcss": "^0.5.3",
|
],
|
||||||
"react": "^18.2.0",
|
"ignorePatterns": [
|
||||||
"tailwindcss": "^3.3.3",
|
"node_modules",
|
||||||
"typescript": "^5.1.6",
|
"dist",
|
||||||
"vitest": "^0.34.1"
|
"packages/website/public/api"
|
||||||
}
|
],
|
||||||
|
"rules": {
|
||||||
|
"@typescript-eslint/no-non-null-assertion": "warn",
|
||||||
|
"@typescript-eslint/require-await": "off"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,14 @@
|
|||||||
{
|
{
|
||||||
"name": "@reacord/helpers",
|
"name": "@reacord/helpers",
|
||||||
"version": "0.0.0",
|
"version": "0.0.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"dependencies": {
|
"scripts": {
|
||||||
"@types/lodash-es": "^4.17.8",
|
"typecheck": "tsc -b"
|
||||||
"lodash-es": "^4.17.21",
|
},
|
||||||
"type-fest": "^4.2.0",
|
"dependencies": {
|
||||||
"vitest": "^0.34.1"
|
"@types/lodash-es": "^4.17.9",
|
||||||
}
|
"lodash-es": "^4.17.21",
|
||||||
|
"type-fest": "^4.3.2",
|
||||||
|
"vitest": "^0.34.5"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ export async function retryWithTimeout<T>(
|
|||||||
callback: () => Promise<T> | T,
|
callback: () => Promise<T> | T,
|
||||||
): Promise<T> {
|
): Promise<T> {
|
||||||
const startTime = Date.now()
|
const startTime = Date.now()
|
||||||
// eslint-disable-next-line no-constant-condition
|
// eslint-disable-next-line no-constant-condition, @typescript-eslint/no-unnecessary-condition
|
||||||
while (true) {
|
while (true) {
|
||||||
try {
|
try {
|
||||||
return await callback()
|
return await callback()
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { LooseOmit, LoosePick, typeEquals } from "./types.ts"
|
import { type LooseOmit, type LoosePick, typeEquals } from "./types.ts"
|
||||||
|
|
||||||
typeEquals<LoosePick<{ a: 1; b: 2 }, "a">, { a: 1 }>(true)
|
typeEquals<LoosePick<{ a: 1; b: 2 }, "a">, { a: 1 }>(true)
|
||||||
typeEquals<LooseOmit<{ a: 1; b: 2 }, "a">, { b: 2 }>(true)
|
typeEquals<LooseOmit<{ a: 1; b: 2 }, "a">, { b: 2 }>(true)
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { raise } from "./raise.ts"
|
|||||||
|
|
||||||
export type MaybePromise<T> = T | PromiseLike<T>
|
export type MaybePromise<T> = T | PromiseLike<T>
|
||||||
|
|
||||||
export type ValueOf<Type> = Type extends readonly (infer Value)[]
|
export type ValueOf<Type> = Type extends ReadonlyArray<infer Value>
|
||||||
? Value
|
? Value
|
||||||
: Type[keyof Type]
|
: Type[keyof Type]
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { setTimeout } from "node:timers/promises"
|
import { setTimeout } from "node:timers/promises"
|
||||||
import { MaybePromise } from "./types.ts"
|
import type { MaybePromise } from "./types.ts"
|
||||||
|
|
||||||
const maxTime = 1000
|
const maxTime = 1000
|
||||||
|
|
||||||
@@ -18,5 +18,6 @@ export async function waitFor<Result>(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-throw-literal
|
||||||
throw lastError ?? new Error("Timeout")
|
throw lastError ?? new Error("Timeout")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { snakeCaseDeep } from "@reacord/helpers/convert-object-property-case"
|
import { snakeCaseDeep } from "@reacord/helpers/convert-object-property-case"
|
||||||
import { omit } from "@reacord/helpers/omit"
|
import { omit } from "@reacord/helpers/omit"
|
||||||
import React from "react"
|
import type React from "react"
|
||||||
import { ReacordElement } from "../../internal/element.js"
|
import { ReacordElement } from "../../internal/element.js"
|
||||||
import type { MessageOptions } from "../../internal/message"
|
import type { MessageOptions } from "../../internal/message"
|
||||||
import { Node } from "../../internal/node.js"
|
import { Node } from "../../internal/node.js"
|
||||||
@@ -17,7 +17,7 @@ export interface EmbedProps {
|
|||||||
description?: string
|
description?: string
|
||||||
url?: string
|
url?: string
|
||||||
color?: number
|
color?: number
|
||||||
fields?: { name: string; value: string; inline?: boolean }[]
|
fields?: Array<{ name: string; value: string; inline?: boolean }>
|
||||||
author?: { name: string; url?: string; iconUrl?: string }
|
author?: { name: string; url?: string; iconUrl?: string }
|
||||||
thumbnail?: { url: string }
|
thumbnail?: { url: string }
|
||||||
image?: { url: string }
|
image?: { url: string }
|
||||||
|
|||||||
@@ -374,6 +374,8 @@ function getDiscordMessageOptions(reacordOptions: MessageOptions) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// future proofing
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
||||||
if (component.type === "select") {
|
if (component.type === "select") {
|
||||||
return {
|
return {
|
||||||
...component,
|
...component,
|
||||||
@@ -394,7 +396,7 @@ function getDiscordMessageOptions(reacordOptions: MessageOptions) {
|
|||||||
})),
|
})),
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!options.content && !options.embeds?.length) {
|
if (!options.content && !options.embeds.length) {
|
||||||
options.content = "_ _"
|
options.content = "_ _"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ export class Container<T> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
findType<U extends T>(
|
findType<U extends T>(
|
||||||
type: new (...args: NonNullable<unknown>[]) => U,
|
type: new (...args: Array<NonNullable<unknown>>) => U,
|
||||||
): U | undefined {
|
): U | undefined {
|
||||||
for (const item of this.items) {
|
for (const item of this.items) {
|
||||||
if (item instanceof type) return item
|
if (item instanceof type) return item
|
||||||
|
|||||||
@@ -1,90 +1,91 @@
|
|||||||
{
|
{
|
||||||
"name": "reacord",
|
"name": "reacord",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"description": "Create interactive Discord messages using React.",
|
"description": "Create interactive Discord messages using React.",
|
||||||
"version": "0.5.2",
|
"version": "0.5.2",
|
||||||
"types": "./dist/main.d.ts",
|
"types": "./dist/main.d.ts",
|
||||||
"homepage": "https://reacord.mapleleaf.dev",
|
"homepage": "https://reacord.mapleleaf.dev",
|
||||||
"repository": "https://github.com/itsMapleLeaf/reacord.git",
|
"repository": "https://github.com/itsMapleLeaf/reacord.git",
|
||||||
"changelog": "https://github.com/itsMapleLeaf/reacord/releases",
|
"changelog": "https://github.com/itsMapleLeaf/reacord/releases",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"discord",
|
"discord",
|
||||||
"discord-js",
|
"discord-js",
|
||||||
"react",
|
"react",
|
||||||
"react-js",
|
"react-js",
|
||||||
"react-renderer",
|
"react-renderer",
|
||||||
"interaction",
|
"interaction",
|
||||||
"message",
|
"message",
|
||||||
"embed",
|
"embed",
|
||||||
"reacord"
|
"reacord"
|
||||||
],
|
],
|
||||||
"files": [
|
"files": [
|
||||||
"library",
|
"library",
|
||||||
"dist",
|
"dist",
|
||||||
"README.md",
|
"README.md",
|
||||||
"LICENSE"
|
"LICENSE"
|
||||||
],
|
],
|
||||||
"exports": {
|
"exports": {
|
||||||
".": {
|
".": {
|
||||||
"import": "./dist/main.js",
|
"import": "./dist/main.js",
|
||||||
"require": "./dist/main.cjs",
|
"require": "./dist/main.cjs",
|
||||||
"types": "./library/main.ts"
|
"types": "./library/main.ts"
|
||||||
},
|
},
|
||||||
"./package.json": {
|
"./package.json": {
|
||||||
"import": "./package.json",
|
"import": "./package.json",
|
||||||
"require": "./package.json"
|
"require": "./package.json"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "cpy ../../README.md ../../LICENSE . && tsup library/main.ts --target node16 --format cjs,esm --sourcemap",
|
"build": "cpy ../../README.md ../../LICENSE . && tsup library/main.ts --target node16 --format cjs,esm --sourcemap",
|
||||||
"build-watch": "pnpm build -- --watch",
|
"build-watch": "pnpm build -- --watch",
|
||||||
"test": "vitest --coverage --no-watch",
|
"test": "vitest --coverage --no-watch",
|
||||||
"test-dev": "vitest",
|
"test-dev": "vitest",
|
||||||
"test-manual": "nodemon --exec tsx --ext ts,tsx ./scripts/discordjs-manual-test.tsx"
|
"test-manual": "nodemon --exec tsx --ext ts,tsx ./scripts/discordjs-manual-test.tsx",
|
||||||
},
|
"typecheck": "tsc -b"
|
||||||
"dependencies": {
|
},
|
||||||
"@types/node": "^20.5.0",
|
"dependencies": {
|
||||||
"@types/react": "^18.2.20",
|
"@types/node": "^20.7.0",
|
||||||
"@types/react-reconciler": "^0.28.2",
|
"@types/react": "^18.2.23",
|
||||||
"react-reconciler": "^0.29.0",
|
"@types/react-reconciler": "^0.28.5",
|
||||||
"rxjs": "^7.8.1"
|
"react-reconciler": "^0.29.0",
|
||||||
},
|
"rxjs": "^7.8.1"
|
||||||
"peerDependencies": {
|
},
|
||||||
"discord.js": "^14",
|
"peerDependencies": {
|
||||||
"react": ">=17"
|
"discord.js": "^14",
|
||||||
},
|
"react": ">=17"
|
||||||
"peerDependenciesMeta": {
|
},
|
||||||
"discord.js": {
|
"peerDependenciesMeta": {
|
||||||
"optional": true
|
"discord.js": {
|
||||||
}
|
"optional": true
|
||||||
},
|
}
|
||||||
"devDependencies": {
|
},
|
||||||
"@reacord/helpers": "workspace:*",
|
"devDependencies": {
|
||||||
"@types/lodash-es": "^4.17.8",
|
"@reacord/helpers": "workspace:*",
|
||||||
"c8": "^8.0.1",
|
"@types/lodash-es": "^4.17.9",
|
||||||
"cpy-cli": "^5.0.0",
|
"c8": "^8.0.1",
|
||||||
"discord.js": "^14.12.1",
|
"cpy-cli": "^5.0.0",
|
||||||
"dotenv": "^16.3.1",
|
"discord.js": "^14.13.0",
|
||||||
"lodash-es": "^4.17.21",
|
"dotenv": "^16.3.1",
|
||||||
"nodemon": "^3.0.1",
|
"lodash-es": "^4.17.21",
|
||||||
"prettier": "^3.0.2",
|
"nodemon": "^3.0.1",
|
||||||
"pretty-ms": "^8.0.0",
|
"prettier": "^3.0.3",
|
||||||
"react": "^18.2.0",
|
"pretty-ms": "^8.0.0",
|
||||||
"tsup": "^7.2.0",
|
"react": "^18.2.0",
|
||||||
"tsx": "^3.12.7",
|
"tsup": "^7.2.0",
|
||||||
"type-fest": "^4.2.0"
|
"tsx": "^3.13.0",
|
||||||
},
|
"type-fest": "^4.3.2"
|
||||||
"release-it": {
|
},
|
||||||
"git": {
|
"release-it": {
|
||||||
"commitMessage": "release v${version}"
|
"git": {
|
||||||
},
|
"commitMessage": "release v${version}"
|
||||||
"github": {
|
},
|
||||||
"release": true,
|
"github": {
|
||||||
"web": true
|
"release": true,
|
||||||
}
|
"web": true
|
||||||
},
|
}
|
||||||
"publishConfig": {
|
},
|
||||||
"access": "public"
|
"publishConfig": {
|
||||||
}
|
"access": "public"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ for (const [, channel] of category.children.cache) {
|
|||||||
let prefix = 0
|
let prefix = 0
|
||||||
const createTest = async (
|
const createTest = async (
|
||||||
name: string,
|
name: string,
|
||||||
block: (channel: TextChannel) => void | Promise<unknown>,
|
block: (channel: TextChannel) => unknown,
|
||||||
) => {
|
) => {
|
||||||
prefix += 1
|
prefix += 1
|
||||||
const channel = await category.children.create({
|
const channel = await category.children.create({
|
||||||
|
|||||||
@@ -1,39 +1,40 @@
|
|||||||
{
|
{
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"name": "website",
|
"name": "website",
|
||||||
"version": "0.4.3",
|
"version": "0.4.3",
|
||||||
"private": true,
|
"private": true,
|
||||||
"sideEffects": false,
|
"sideEffects": false,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "run-p --race --print-label dev:*",
|
"dev": "run-p --race --print-label dev:*",
|
||||||
"dev:typedoc": "typedoc --watch",
|
"dev:typedoc": "typedoc --watch",
|
||||||
"dev:astro": "astro dev",
|
"dev:astro": "astro dev",
|
||||||
"start": "astro preview",
|
"start": "astro preview",
|
||||||
"build": "typedoc && astro build"
|
"build": "typedoc && astro build",
|
||||||
},
|
"typecheck": "astro check && tsc -b"
|
||||||
"dependencies": {
|
},
|
||||||
"@astrojs/prefetch": "^0.3.0",
|
"dependencies": {
|
||||||
"@astrojs/react": "^2.2.2",
|
"@astrojs/prefetch": "^0.3.0",
|
||||||
"@fontsource/jetbrains-mono": "^4.5.12",
|
"@astrojs/react": "^2.2.2",
|
||||||
"@fontsource/rubik": "^4.5.14",
|
"@fontsource/jetbrains-mono": "^4.5.12",
|
||||||
"@heroicons/react": "^2.0.18",
|
"@fontsource/rubik": "^4.5.14",
|
||||||
"@tailwindcss/typography": "^0.5.9",
|
"@heroicons/react": "^2.0.18",
|
||||||
"astro": "^2.10.9",
|
"@tailwindcss/typography": "^0.5.10",
|
||||||
"clsx": "^2.0.0",
|
"astro": "^2.10.9",
|
||||||
"reacord": "workspace:*",
|
"clsx": "^2.0.0",
|
||||||
"react": "^18.2.0",
|
"reacord": "workspace:*",
|
||||||
"react-dom": "^18.2.0",
|
"react": "^18.2.0",
|
||||||
"tailwind-merge": "^1.14.0"
|
"react-dom": "^18.2.0",
|
||||||
},
|
"tailwind-merge": "^1.14.0"
|
||||||
"devDependencies": {
|
},
|
||||||
"@astrojs/tailwind": "^4.0.0",
|
"devDependencies": {
|
||||||
"@total-typescript/ts-reset": "^0.4.2",
|
"@astrojs/tailwind": "^4.0.0",
|
||||||
"@types/node": "^20.5.0",
|
"@total-typescript/ts-reset": "^0.5.1",
|
||||||
"@types/react": "^18.2.20",
|
"@types/node": "^20.7.0",
|
||||||
"@types/react-dom": "^18.2.7",
|
"@types/react": "^18.2.23",
|
||||||
"npm-run-all": "^4.1.5",
|
"@types/react-dom": "^18.2.8",
|
||||||
"tailwindcss": "^3.3.3",
|
"npm-run-all": "^4.1.5",
|
||||||
"typedoc": "^0.24.8",
|
"tailwindcss": "^3.3.3",
|
||||||
"wait-on": "^7.0.1"
|
"typedoc": "^0.25.1",
|
||||||
}
|
"wait-on": "^7.0.1"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ export function LandingAnimation() {
|
|||||||
let running = true
|
let running = true
|
||||||
|
|
||||||
void (async () => {
|
void (async () => {
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
||||||
while (running) {
|
while (running) {
|
||||||
setState(defaultState)
|
setState(defaultState)
|
||||||
await delay(700)
|
await delay(700)
|
||||||
@@ -102,6 +103,7 @@ export function LandingAnimation() {
|
|||||||
let running = true
|
let running = true
|
||||||
|
|
||||||
void (async () => {
|
void (async () => {
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
||||||
while (running) {
|
while (running) {
|
||||||
// check if the cursor is in the input
|
// check if the cursor is in the input
|
||||||
const cursorRect = cursorRef.current!.getBoundingClientRect()
|
const cursorRect = cursorRef.current!.getBoundingClientRect()
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
import { type GetStaticPaths } from "astro"
|
import type { GetStaticPaths } from "astro"
|
||||||
import { getCollection, type CollectionEntry } from "astro:content"
|
import { getCollection, type CollectionEntry } from "astro:content"
|
||||||
import AppFooter from "~/components/app-footer.astro"
|
import AppFooter from "~/components/app-footer.astro"
|
||||||
import Layout from "~/components/layout.astro"
|
import Layout from "~/components/layout.astro"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { Config } from "tailwindcss"
|
import type { Config } from "tailwindcss"
|
||||||
import config from "../../tailwind.config.ts"
|
import config from "../../tailwind.config.ts"
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
|||||||
1421
pnpm-lock.yaml
generated
1421
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@@ -1,15 +1,3 @@
|
|||||||
{
|
{
|
||||||
"compilerOptions": {
|
"extends": "@itsmapleleaf/configs/tsconfig"
|
||||||
"allowImportingTsExtensions": true,
|
|
||||||
"allowJs": true,
|
|
||||||
"checkJs": true,
|
|
||||||
"module": "esnext",
|
|
||||||
"moduleResolution": "bundler",
|
|
||||||
"noEmit": true,
|
|
||||||
"noUncheckedIndexedAccess": true,
|
|
||||||
"resolveJsonModule": true,
|
|
||||||
"skipLibCheck": true,
|
|
||||||
"strict": true,
|
|
||||||
"target": "esnext"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user