build: update all deps and migrate to biome
This commit is contained in:
@@ -1,50 +0,0 @@
|
||||
import js from '@eslint/js'
|
||||
import react from 'eslint-plugin-react'
|
||||
import reactHooks from 'eslint-plugin-react-hooks'
|
||||
import reactRefresh from 'eslint-plugin-react-refresh'
|
||||
import baseConfig from '@aklive2d/eslint-config'
|
||||
import { tsConfig } from '@aklive2d/eslint-config'
|
||||
import tseslint from 'typescript-eslint'
|
||||
import globals from 'globals'
|
||||
|
||||
/** @type {import('eslint').Config} */
|
||||
export default [
|
||||
...baseConfig,
|
||||
{ ignores: ['dist'] },
|
||||
{
|
||||
settings: { react: { version: '18.3' } },
|
||||
plugins: {
|
||||
react,
|
||||
'react-hooks': reactHooks,
|
||||
'react-refresh': reactRefresh,
|
||||
},
|
||||
rules: {
|
||||
...js.configs.recommended.rules,
|
||||
...react.configs.recommended.rules,
|
||||
...react.configs['jsx-runtime'].rules,
|
||||
...reactHooks.configs.recommended.rules,
|
||||
'react/jsx-no-target-blank': 'off',
|
||||
'react-refresh/only-export-components': [
|
||||
'warn',
|
||||
{ allowConstantExport: true },
|
||||
],
|
||||
},
|
||||
},
|
||||
...tsConfig,
|
||||
{
|
||||
files: ['**/*.js', '**/*.ts'],
|
||||
languageOptions: {
|
||||
ecmaVersion: 2022,
|
||||
globals: {
|
||||
...globals.browser,
|
||||
},
|
||||
},
|
||||
rules: {
|
||||
'no-unused-vars': ['error', { argsIgnorePattern: '^_' }],
|
||||
'@typescript-eslint/no-unused-vars': [
|
||||
'error',
|
||||
{ argsIgnorePattern: '^_' },
|
||||
],
|
||||
},
|
||||
},
|
||||
]
|
||||
@@ -7,17 +7,16 @@
|
||||
"dev:directory": "bunx --bun vite --clearScreen false",
|
||||
"build:directory": "mode=build:directory bun runner.ts",
|
||||
"preview:directory": "bunx --bun vite preview",
|
||||
"lint": "eslint && stylelint \"src/**/*.css\" \"src/**/*.scss\" && prettier --check ."
|
||||
"lint": "biome lint --write .",
|
||||
"lint:fix": "biome check --write ."
|
||||
},
|
||||
"dependencies": {
|
||||
"react": "^19.0.0",
|
||||
"react-dom": "^19.0.0",
|
||||
"jotai": "^2.11.3",
|
||||
"react-router-dom": "^7.5.2",
|
||||
"react": "^19.2.0",
|
||||
"react-dom": "^19.2.0",
|
||||
"jotai": "^2.15.0",
|
||||
"react-router-dom": "^7.9.3",
|
||||
"react-simple-typewriter": "^5.0.1",
|
||||
"reset-css": "^5.0.2",
|
||||
"@aklive2d/eslint-config": "workspace:*",
|
||||
"@aklive2d/stylelint-config": "workspace:*",
|
||||
"@aklive2d/postcss-config": "workspace:*",
|
||||
"@aklive2d/config": "workspace:*",
|
||||
"@aklive2d/libs": "workspace:*",
|
||||
@@ -25,24 +24,18 @@
|
||||
"@aklive2d/operator": "workspace:*",
|
||||
"@aklive2d/vite-helpers": "workspace:*",
|
||||
"@aklive2d/showcase": "workspace:*",
|
||||
"@aklive2d/module": "workspace:*",
|
||||
"@aklive2d/prettier-config": "workspace:*"
|
||||
"@aklive2d/module": "workspace:*"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"globals": ">=16.0.0",
|
||||
"typescript-eslint": ">=8.31.1",
|
||||
"typescript": ">=5.8.2"
|
||||
"typescript": ">=5.9.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/react": "^19.0.8",
|
||||
"@types/react-dom": "^19.0.3",
|
||||
"@vitejs/plugin-react-swc": "^3.5.0",
|
||||
"vite": "^6.1.5",
|
||||
"eslint-plugin-react": "^7.37.4",
|
||||
"eslint-plugin-react-hooks": "^5.0.0",
|
||||
"eslint-plugin-react-refresh": "^0.4.18",
|
||||
"@types/react": "^19.2.0",
|
||||
"@types/react-dom": "^19.2.0",
|
||||
"@vitejs/plugin-react-swc": "^4.1.0",
|
||||
"autoprefixer": "^10.4.20",
|
||||
"prop-types": "^15.8.1",
|
||||
"sass": "^1.84.0",
|
||||
"autoprefixer": "^10.4.20"
|
||||
"sass": "^1.93.2",
|
||||
"vite": "^7.1.9"
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
import baseConfig from '@aklive2d/prettier-config'
|
||||
|
||||
/**
|
||||
* @type {import("prettier").Config}
|
||||
*/
|
||||
const config = {
|
||||
...baseConfig,
|
||||
semi: false,
|
||||
}
|
||||
|
||||
export default config
|
||||
@@ -1,7 +1,7 @@
|
||||
import path from 'node:path'
|
||||
import { file } from '@aklive2d/libs'
|
||||
import { DIST_DIR } from '@aklive2d/showcase'
|
||||
import { build as viteBuild } from 'vite'
|
||||
import { file } from '@aklive2d/libs'
|
||||
|
||||
async function main() {
|
||||
await viteBuild()
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import React from 'react'
|
||||
import ReactDOM from 'react-dom/client'
|
||||
import { createBrowserRouter, RouterProvider } from 'react-router-dom'
|
||||
import Root from '@/routes/Root'
|
||||
import Error from '@/routes/Error'
|
||||
import routes from '@/routes'
|
||||
import ErrorPage from '@/routes/Error'
|
||||
import Root from '@/routes/Root'
|
||||
import '@/App.scss'
|
||||
import 'reset-css'
|
||||
|
||||
@@ -11,7 +11,7 @@ const router = createBrowserRouter([
|
||||
{
|
||||
path: '/',
|
||||
element: <Root />,
|
||||
errorElement: <Error />,
|
||||
errorElement: <ErrorPage />,
|
||||
children: routes.filter((item) => item.routeable),
|
||||
},
|
||||
])
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { useState } from 'react'
|
||||
import PropTypes from 'prop-types'
|
||||
import { useState } from 'react'
|
||||
import classes from './scss/dropdown.module.scss'
|
||||
|
||||
export default function Dropdown(props) {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { useState } from 'react'
|
||||
import classes from './scss/popup.module.scss'
|
||||
import ReturnButton from '@/component/return_button'
|
||||
import Border from '@/component/border'
|
||||
import PropTypes from 'prop-types'
|
||||
import { useState } from 'react'
|
||||
import Border from '@/component/border'
|
||||
import ReturnButton from '@/component/return_button'
|
||||
import classes from './scss/popup.module.scss'
|
||||
|
||||
export default function Popup(props) {
|
||||
const [hidden, setHidden] = useState(true)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { useState } from 'react'
|
||||
import PropTypes from 'prop-types'
|
||||
import classes from './scss/search_box.module.scss'
|
||||
import { useState } from 'react'
|
||||
import { useI18n } from '@/state/language'
|
||||
import classes from './scss/search_box.module.scss'
|
||||
|
||||
export default function SearchBox(props) {
|
||||
const { i18n } = useI18n()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { useState, useEffect } from 'react'
|
||||
import PropTypes from 'prop-types'
|
||||
import classes from './scss/switch.module.scss'
|
||||
import { useEffect, useState } from 'react'
|
||||
import { useI18n } from '@/state/language'
|
||||
import classes from './scss/switch.module.scss'
|
||||
|
||||
export default function Switch(props) {
|
||||
const [on, setOn] = useState(props.on)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { useEffect, useState, useCallback } from 'react'
|
||||
import PropTypes from 'prop-types'
|
||||
import { useCallback, useEffect, useState } from 'react'
|
||||
import classes from './scss/totop_button.module.scss'
|
||||
|
||||
export default function ToTopButton(props) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { useEffect, useRef } from 'react'
|
||||
import PropTypes from 'prop-types'
|
||||
import { useEffect, useRef } from 'react'
|
||||
|
||||
export default function VoiceElement({ src, replay, handleAduioStateChange }) {
|
||||
const audioRef = useRef(null)
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
import { useState, useEffect, useMemo, useRef, useCallback } from 'react'
|
||||
import { useNavigate, useRouteError } from 'react-router-dom'
|
||||
import header from '@/scss/root/header.module.scss'
|
||||
import classes from '@/scss/error/Error.module.scss'
|
||||
import buildConfig from '!/config.json'
|
||||
import { Player as SpinePlayer } from '@aklive2d/module'
|
||||
import { useAtom } from 'jotai'
|
||||
import { atomWithStorage } from 'jotai/utils'
|
||||
import Switch from '@/component/switch'
|
||||
import ReturnButton from '@/component/return_button'
|
||||
import { useCallback, useEffect, useMemo, useRef, useState } from 'react'
|
||||
import { useNavigate, useRouteError } from 'react-router-dom'
|
||||
import { Typewriter } from 'react-simple-typewriter'
|
||||
import { useHeader } from '@/state/header'
|
||||
import ReturnButton from '@/component/return_button'
|
||||
import Switch from '@/component/switch'
|
||||
import VoiceElement from '@/component/voice'
|
||||
import { Player as SpinePlayer } from '@aklive2d/module'
|
||||
import classes from '@/scss/error/Error.module.scss'
|
||||
import header from '@/scss/root/header.module.scss'
|
||||
import { useHeader } from '@/state/header'
|
||||
import useInsight from '@/state/insight'
|
||||
import buildConfig from '!/config.json'
|
||||
|
||||
const voiceOnAtom = atomWithStorage('voiceOn', false)
|
||||
const config = buildConfig.error_files
|
||||
@@ -20,8 +20,7 @@ const filename = obj.key.replace(/#/g, '%23')
|
||||
const padding = obj.paddings
|
||||
let lastVoiceState = 'ended'
|
||||
|
||||
export default function Error() {
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
export default function ErrorPage() {
|
||||
const _trackEvt = useInsight()
|
||||
const error = useRouteError()
|
||||
const navigate = useNavigate()
|
||||
|
||||
@@ -1,26 +1,26 @@
|
||||
import { useState, useEffect, useMemo, useCallback } from 'react'
|
||||
import PropTypes from 'prop-types'
|
||||
import { useCallback, useEffect, useMemo, useState } from 'react'
|
||||
import {
|
||||
Outlet,
|
||||
Link,
|
||||
NavLink,
|
||||
useNavigate,
|
||||
Outlet,
|
||||
ScrollRestoration,
|
||||
useNavigate,
|
||||
} from 'react-router-dom'
|
||||
import classes from '@/scss/root/Root.module.scss'
|
||||
import header from '@/scss/root/header.module.scss'
|
||||
import footer from '@/scss/root/footer.module.scss'
|
||||
import drawer from '@/scss/root/drawer.module.scss'
|
||||
import routes from '@/routes'
|
||||
import { useConfig } from '@/state/config'
|
||||
import { useHeader } from '@/state/header'
|
||||
import { useAppbar } from '@/state/appbar'
|
||||
import { useI18n, useLanguage } from '@/state/language'
|
||||
import Dropdown from '@/component/dropdown'
|
||||
import Popup from '@/component/popup'
|
||||
import Border from '@/component/border'
|
||||
import CharIcon from '@/component/char_icon'
|
||||
import Dropdown from '@/component/dropdown'
|
||||
import Popup from '@/component/popup'
|
||||
import ToTopButton from '@/component/totop_button'
|
||||
import routes from '@/routes'
|
||||
import drawer from '@/scss/root/drawer.module.scss'
|
||||
import footer from '@/scss/root/footer.module.scss'
|
||||
import header from '@/scss/root/header.module.scss'
|
||||
import classes from '@/scss/root/Root.module.scss'
|
||||
import { useAppbar } from '@/state/appbar'
|
||||
import { useConfig } from '@/state/config'
|
||||
import { useHeader } from '@/state/header'
|
||||
import { useI18n, useLanguage } from '@/state/language'
|
||||
|
||||
const currentYear = new Date().getFullYear()
|
||||
|
||||
|
||||
@@ -1,27 +1,25 @@
|
||||
import { useState, useEffect, useCallback, useMemo } from 'react'
|
||||
import PropTypes from 'prop-types'
|
||||
import { NavLink, Link } from 'react-router-dom'
|
||||
import classes from '@/scss/home/Home.module.scss'
|
||||
import { useConfig } from '@/state/config'
|
||||
import { useI18n } from '@/state/language'
|
||||
import { useLanguage } from '@/state/language'
|
||||
import { useHeader } from '@/state/header'
|
||||
import { useAppbar } from '@/state/appbar'
|
||||
import VoiceElement from '@/component/voice'
|
||||
import buildConfig from '!/config.json'
|
||||
import { useAtom } from 'jotai'
|
||||
import { atomWithStorage } from 'jotai/utils'
|
||||
import CharIcon from '@/component/char_icon'
|
||||
import PropTypes from 'prop-types'
|
||||
import { useCallback, useEffect, useMemo, useState } from 'react'
|
||||
import { Link, NavLink } from 'react-router-dom'
|
||||
import Border from '@/component/border'
|
||||
import useInsight from '@/state/insight'
|
||||
import Switch from '@/component/switch'
|
||||
import CharIcon from '@/component/char_icon'
|
||||
import SearchBox from '@/component/search_box'
|
||||
import buildConfig from '!/config.json'
|
||||
import Switch from '@/component/switch'
|
||||
import VoiceElement from '@/component/voice'
|
||||
import classes from '@/scss/home/Home.module.scss'
|
||||
import { useAppbar } from '@/state/appbar'
|
||||
import { useConfig } from '@/state/config'
|
||||
import { useHeader } from '@/state/header'
|
||||
import useInsight from '@/state/insight'
|
||||
import { useI18n, useLanguage } from '@/state/language'
|
||||
|
||||
const voiceOnAtom = atomWithStorage('voiceOn', false)
|
||||
let lastVoiceState = 'ended'
|
||||
|
||||
export default function Home() {
|
||||
// eslint-disable-next-line
|
||||
const _trackEvt = useInsight()
|
||||
const { setTitle, setTabs, currentTab, setHeaderIcon, setFastNavigation } =
|
||||
useHeader()
|
||||
@@ -254,8 +252,7 @@ export default function Home() {
|
||||
'zh-CN'
|
||||
? entry.type ===
|
||||
'skin'
|
||||
? `${
|
||||
entry
|
||||
? `${entry
|
||||
.skinName[
|
||||
'zh-CN'
|
||||
]
|
||||
|
||||
@@ -1,18 +1,17 @@
|
||||
import { useState, useEffect, useRef, useCallback, useMemo } from 'react'
|
||||
import { useParams, useNavigate, Link } from 'react-router-dom'
|
||||
import classes from '@/scss/operator/Operator.module.scss'
|
||||
import { useConfig } from '@/state/config'
|
||||
import { useLanguage } from '@/state/language'
|
||||
import { useHeader } from '@/state/header'
|
||||
import { useAppbar } from '@/state/appbar'
|
||||
import VoiceElement from '@/component/voice'
|
||||
import useInsight from '@/state/insight'
|
||||
import { Player as SpinePlayer } from '@aklive2d/module'
|
||||
import Border from '@/component/border'
|
||||
import { useI18n } from '@/state/language'
|
||||
import Switch from '@/component/switch'
|
||||
import { atom, useAtom } from 'jotai'
|
||||
import buildConfig from '!/config.json'
|
||||
import { Player as SpinePlayer } from '@aklive2d/module'
|
||||
import { atom, useAtom } from 'jotai'
|
||||
import { useCallback, useEffect, useMemo, useRef, useState } from 'react'
|
||||
import { Link, useNavigate, useParams } from 'react-router-dom'
|
||||
import Border from '@/component/border'
|
||||
import Switch from '@/component/switch'
|
||||
import VoiceElement from '@/component/voice'
|
||||
import classes from '@/scss/operator/Operator.module.scss'
|
||||
import { useAppbar } from '@/state/appbar'
|
||||
import { useConfig } from '@/state/config'
|
||||
import { useHeader } from '@/state/header'
|
||||
import useInsight from '@/state/insight'
|
||||
import { useI18n, useLanguage } from '@/state/language'
|
||||
|
||||
const musicMapping = buildConfig.music_mapping
|
||||
const getVoiceFoler = (lang) => {
|
||||
@@ -56,7 +55,6 @@ export default function Operator() {
|
||||
const { setTitle, setTabs, setHeaderIcon, setFastNavigation } = useHeader()
|
||||
const { setExtraArea } = useAppbar()
|
||||
const [config, setConfig] = useState(null)
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
const _trackEvt = useInsight(`/${key}`)
|
||||
const spineRef = useRef(null)
|
||||
const [spineAnimationName, setSpineAnimationName] = useState(
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import CONFIG from '!/config.json'
|
||||
import { useCallback } from 'react'
|
||||
import { atom, useAtom } from 'jotai'
|
||||
import { useCallback } from 'react'
|
||||
|
||||
const officialUpdateAtom = atom({})
|
||||
let operators = []
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { useEffect } from 'react'
|
||||
import { atom, useAtom } from 'jotai'
|
||||
import { useEffect } from 'react'
|
||||
import { useI18n } from '@/state/language'
|
||||
|
||||
const keyAtom = atom('')
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import React from 'react'
|
||||
import buildConfig from '!/config.json'
|
||||
import React from 'react'
|
||||
|
||||
export default (path = null, skipPageView = false) => {
|
||||
React.useEffect(() => {
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
import baseConfig from '@aklive2d/stylelint-config'
|
||||
/** @type {import('stylelint').Config} */
|
||||
export default {
|
||||
...baseConfig,
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
import path from 'node:path'
|
||||
import { defineConfig } from 'vite'
|
||||
import react from '@vitejs/plugin-react-swc'
|
||||
import config from '@aklive2d/config'
|
||||
import * as showcaseDirs from '@aklive2d/showcase'
|
||||
import { copyDirectoryData } from '@aklive2d/vite-helpers'
|
||||
import react from '@vitejs/plugin-react-swc'
|
||||
import { defineConfig } from 'vite'
|
||||
|
||||
// https://vite.dev/config/
|
||||
export default defineConfig(async () => {
|
||||
|
||||
2
apps/module/.ignore
Normal file
2
apps/module/.ignore
Normal file
@@ -0,0 +1,2 @@
|
||||
spine-ts
|
||||
build
|
||||
@@ -1,27 +0,0 @@
|
||||
import { tsConfig } from '@aklive2d/eslint-config'
|
||||
import tseslint from 'typescript-eslint'
|
||||
import globals from 'globals'
|
||||
|
||||
/** @type {import('eslint').Config} */
|
||||
export default tseslint.config(
|
||||
...tsConfig,
|
||||
{
|
||||
ignores: ['dist', 'spine-ts'],
|
||||
},
|
||||
{
|
||||
files: ['**/*.js', '**/*.ts'],
|
||||
languageOptions: {
|
||||
ecmaVersion: 2022,
|
||||
globals: {
|
||||
...globals.browser,
|
||||
},
|
||||
},
|
||||
rules: {
|
||||
'no-unused-vars': ['error', { argsIgnorePattern: '^_' }],
|
||||
'@typescript-eslint/no-unused-vars': [
|
||||
'error',
|
||||
{ argsIgnorePattern: '^_' },
|
||||
],
|
||||
},
|
||||
}
|
||||
)
|
||||
@@ -4,17 +4,13 @@
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"lint": "eslint && prettier --check ."
|
||||
"lint": "biome lint --write .",
|
||||
"lint:fix": "biome check --write ."
|
||||
},
|
||||
"peerDependencies": {
|
||||
"globals": ">=16.0.0",
|
||||
"typescript-eslint": ">=8.31.1",
|
||||
"typescript": ">=5.8.2"
|
||||
"typescript": ">=5.9.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@aklive2d/postcss-config": "workspace:*",
|
||||
"@aklive2d/prettier-config": "workspace:*",
|
||||
"@aklive2d/stylelint-config": "workspace:*",
|
||||
"@aklive2d/eslint-config": "workspace:*"
|
||||
"@aklive2d/postcss-config": "workspace:*"
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
import baseConfig from '@aklive2d/prettier-config'
|
||||
|
||||
/**
|
||||
* @type {import("prettier").Config}
|
||||
*/
|
||||
const config = {
|
||||
...baseConfig,
|
||||
semi: false,
|
||||
}
|
||||
|
||||
export default config
|
||||
@@ -208,7 +208,9 @@ export class Player {
|
||||
: config.premultipliedAlpha,
|
||||
fps: config.fps ? config.fps : 60,
|
||||
scale: config.scale ? config.scale : 1,
|
||||
// biome-ignore lint/suspicious/noEmptyBlockStatements: placeholder
|
||||
success: config.success ? config.success : (_widget) => {},
|
||||
// biome-ignore lint/suspicious/noEmptyBlockStatements: placeholder
|
||||
error: config.error ? config.error : (_widget, _msg) => {},
|
||||
defaultMix:
|
||||
typeof config.defaultMix === 'undefined'
|
||||
@@ -303,7 +305,7 @@ export class Player {
|
||||
this.canvas.height = Math.floor(h * this.devicePixelRatio)
|
||||
}
|
||||
this.context.gl.viewport(0, 0, this.canvas.width, this.canvas.height)
|
||||
// eslint-disable-next-line
|
||||
// biome-ignore lint/suspicious/noEmptyBlockStatements: placeholder
|
||||
if (resizeMode === spine.webgl.ResizeMode.Stretch) {
|
||||
} else if (resizeMode === spine.webgl.ResizeMode.Expand) {
|
||||
this.sceneRenderer.camera.setViewport(w, h)
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
import baseConfig from '@aklive2d/stylelint-config'
|
||||
/** @type {import('stylelint').Config} */
|
||||
export default {
|
||||
...baseConfig,
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
spine-player.css
|
||||
@@ -1,29 +0,0 @@
|
||||
import baseConfig from '@aklive2d/eslint-config'
|
||||
import { tsConfig } from '@aklive2d/eslint-config'
|
||||
import tseslint from 'typescript-eslint'
|
||||
import globals from 'globals'
|
||||
|
||||
/** @type {import('eslint').Config} */
|
||||
export default tseslint.config(
|
||||
...baseConfig,
|
||||
...tsConfig,
|
||||
{
|
||||
ignores: ['dist', 'spine-ts'],
|
||||
},
|
||||
{
|
||||
files: ['**/*.js', '**/*.ts'],
|
||||
languageOptions: {
|
||||
ecmaVersion: 2022,
|
||||
globals: {
|
||||
...globals.browser,
|
||||
},
|
||||
},
|
||||
rules: {
|
||||
'no-unused-vars': ['error', { argsIgnorePattern: '^_' }],
|
||||
'@typescript-eslint/no-unused-vars': [
|
||||
'error',
|
||||
{ argsIgnorePattern: '^_' },
|
||||
],
|
||||
},
|
||||
}
|
||||
)
|
||||
@@ -9,24 +9,20 @@
|
||||
"build": "mode=build bun runner.ts",
|
||||
"build:directory": "mode=build:directory bun runner.ts",
|
||||
"preview:showcase": "bunx --bun vite preview",
|
||||
"lint": "eslint && prettier --check ."
|
||||
"lint": "biome lint --write .",
|
||||
"lint:fix": "biome check --write ."
|
||||
},
|
||||
"peerDependencies": {
|
||||
"globals": ">=16.0.0",
|
||||
"typescript-eslint": ">=8.31.1",
|
||||
"typescript": ">=5.8.2"
|
||||
"typescript": ">=5.9.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"vite": "^6.1.5",
|
||||
"@aklive2d/eslint-config": "workspace:*",
|
||||
"vite": "^7.1.9",
|
||||
"@aklive2d/postcss-config": "workspace:*",
|
||||
"@aklive2d/stylelint-config": "workspace:*",
|
||||
"@aklive2d/config": "workspace:*",
|
||||
"@aklive2d/libs": "workspace:*",
|
||||
"@aklive2d/assets": "workspace:*",
|
||||
"@aklive2d/operator": "workspace:*",
|
||||
"@aklive2d/vite-helpers": "workspace:*",
|
||||
"@aklive2d/module": "workspace:*",
|
||||
"@aklive2d/prettier-config": "workspace:*"
|
||||
"@aklive2d/module": "workspace:*"
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
import baseConfig from '@aklive2d/prettier-config'
|
||||
|
||||
/**
|
||||
* @type {import("prettier").Config}
|
||||
*/
|
||||
const config = {
|
||||
...baseConfig,
|
||||
semi: false,
|
||||
}
|
||||
|
||||
export default config
|
||||
@@ -1,8 +1,8 @@
|
||||
import path from 'node:path'
|
||||
import { build as viteBuild } from 'vite'
|
||||
import operators from '@aklive2d/operator'
|
||||
import { envParser, file } from '@aklive2d/libs'
|
||||
import { copyShowcaseData, copyProjectJSON } from '@aklive2d/vite-helpers'
|
||||
import operators from '@aklive2d/operator'
|
||||
import { copyProjectJSON, copyShowcaseData } from '@aklive2d/vite-helpers'
|
||||
import { build as viteBuild } from 'vite'
|
||||
import * as dirs from './index.js'
|
||||
|
||||
const build = async (namesToBuild: string[], mode: string) => {
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
import Voice from '@/components/voice'
|
||||
import Fallback from '@/components/fallback'
|
||||
import Music from '@/components/music'
|
||||
import Player from '@/components/player'
|
||||
import Background from '@/components/background'
|
||||
import Logo from '@/components/logo'
|
||||
import Insight from '@/components/insight'
|
||||
import Events from '@/components/events'
|
||||
import Fallback from '@/components/fallback'
|
||||
import {
|
||||
isWebGLSupported,
|
||||
insertHTMLChild,
|
||||
addEventListeners,
|
||||
insertHTMLChild,
|
||||
isWebGLSupported,
|
||||
updateElementPosition,
|
||||
} from '@/components/helper'
|
||||
import Insight from '@/components/insight'
|
||||
import Logo from '@/components/logo'
|
||||
import Music from '@/components/music'
|
||||
import Player from '@/components/player'
|
||||
import Voice from '@/components/voice'
|
||||
import '@/components/aklive2d.css'
|
||||
|
||||
export default class AKLive2D {
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import {
|
||||
insertHTMLChild,
|
||||
readFile,
|
||||
updateHTMLOptions,
|
||||
showRelatedHTML,
|
||||
syncHTMLValue,
|
||||
insertHTMLChild,
|
||||
updateHTMLOptions,
|
||||
} from '@/components/helper'
|
||||
import '@/components/background.css'
|
||||
import buildConfig from '!/config.json'
|
||||
|
||||
@@ -83,9 +83,9 @@ export const syncHTMLValue = (source, targetID) => {
|
||||
document.getElementById(targetID).value = source.value
|
||||
}
|
||||
|
||||
export const readFile = (file, callback = () => {}) => {
|
||||
export const readFile = (file, callback = null) => {
|
||||
if (!file) return
|
||||
callback(URL.createObjectURL(file.slice()), file.type)
|
||||
callback && callback(URL.createObjectURL(file.slice()), file.type)
|
||||
}
|
||||
|
||||
export const createCustomEvent = (name, withArg = false) => {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { createCustomEvent } from '@/components/helper'
|
||||
import buildConfig from '!/config.json'
|
||||
import { createCustomEvent } from '@/components/helper'
|
||||
|
||||
export default class Insight {
|
||||
#isInsightInited = false
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import {
|
||||
insertHTMLChild,
|
||||
updateElementPosition,
|
||||
readFile,
|
||||
showRelatedHTML,
|
||||
syncHTMLValue,
|
||||
updateElementPosition,
|
||||
} from '@/components/helper'
|
||||
import '@/components/logo.css'
|
||||
import buildConfig from '!/config.json'
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import buildConfig from '!/config.json'
|
||||
import {
|
||||
getCurrentHTMLOptions,
|
||||
insertHTMLChild,
|
||||
updateHTMLOptions,
|
||||
readFile,
|
||||
showRelatedHTML,
|
||||
syncHTMLValue,
|
||||
readFile,
|
||||
getCurrentHTMLOptions,
|
||||
updateHTMLOptions,
|
||||
} from '@/components/helper'
|
||||
import buildConfig from '!/config.json'
|
||||
|
||||
export default class Music {
|
||||
#el = document.createElement('div')
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import { Player as SpinePlayer } from '@aklive2d/module'
|
||||
import {
|
||||
createCustomEvent,
|
||||
insertHTMLChild,
|
||||
updateHTMLOptions,
|
||||
showRelatedHTML,
|
||||
syncHTMLValue,
|
||||
createCustomEvent,
|
||||
updateHTMLOptions,
|
||||
} from '@/components/helper'
|
||||
import { Player as SpinePlayer } from '@aklive2d/module'
|
||||
import '@/components/player.css'
|
||||
import buildConfig from '!/config.json'
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
@import 'https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Noto+Sans+KR:wght@400;500;700&family=Noto+Sans+SC:wght@400;500;700&family=Noto+Sans:wght@400;500;700&display=swap';
|
||||
@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Noto+Sans+KR:wght@400;500;700&family=Noto+Sans+SC:wght@400;500;700&family=Noto+Sans:wght@400;500;700&display=swap";
|
||||
|
||||
#voice-box {
|
||||
position: fixed;
|
||||
@@ -9,7 +9,7 @@
|
||||
opacity: 0;
|
||||
margin: 16px;
|
||||
font-family:
|
||||
'Noto Sans SC', 'Noto Sans JP', 'Noto Sans KR', 'Noto Sans', sans-serif;
|
||||
"Noto Sans SC", "Noto Sans JP", "Noto Sans KR", "Noto Sans", sans-serif;
|
||||
transition: opacity 0.5s cubic-bezier(0.65, 0.05, 0.36, 1);
|
||||
}
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
height: 32px;
|
||||
width: 32px;
|
||||
background-color: rgb(0 0 0);
|
||||
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAXCAYAAAAGAx/kAAACGElEQVQ4jY2UO4sUQRSFv+6e3hkf6yqi62LiD1DRwGRFZDUTRTAVMTHzHxhosBgr+IhMzIXFRzKJYiQoCLqroYGCgiDK6K6z8+hj0Kd2yrZn8EJRza06X91761Ynkphgh4ETwBB4BrwZu1NS3WhJui1pTSNblXTLa/9oxoEWNd4W/xc0K6kzAfRd0lxV16jJdg6YBtaAB8AvoPA4D+wEZoEvsSgGJYAiXwf4EEFyYOC1qYqmFhQ2bQEO+MYKILMv1tWCikqKm4CPwKoF00DTa6pqkqiP9gIHgR3AWaDvdJIoip4jewh8BVaAz1XQOeAKcNcp9O0fAqlTLgzsApeBa8BSNbUUaAFvgVdMtnlHmsXiEHrHpw+iaOps4BRlDUASQDnw3uA9QHsCqA3sMmjFmhRJmaSmO/SmpCeSjktarunqd5IWJLUl3bCmKSlLJGWuVQbMAHcoi3oPWAAOOerXwFPgErAVuEjZGkNgkEhKDco9bwOuG/Ac+OS67ANOGngV+OYDewEUqt+gvLWmxxHgFHDapz52fV4C64Z3PW+AUsPyCJYCP4FHPuQMsNlRrHv0DRo2XP3Ccw/4Tdl8U2GTb6trYYimYNQ6Gw0pYDuwn1E7hJR3W3TMvp5hKbAM/IC/n8hR4L6hqSPJGT3QjPIfFX4nDeAC8CIGhTrBqNsz16plWN/R9KJShGzUiCBBnFS+FYmCP41gBaA/cImMsTl24NIAAAAASUVORK5CYII=');
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAXCAYAAAAGAx/kAAACGElEQVQ4jY2UO4sUQRSFv+6e3hkf6yqi62LiD1DRwGRFZDUTRTAVMTHzHxhosBgr+IhMzIXFRzKJYiQoCLqroYGCgiDK6K6z8+hj0Kd2yrZn8EJRza06X91761Ynkphgh4ETwBB4BrwZu1NS3WhJui1pTSNblXTLa/9oxoEWNd4W/xc0K6kzAfRd0lxV16jJdg6YBtaAB8AvoPA4D+wEZoEvsSgGJYAiXwf4EEFyYOC1qYqmFhQ2bQEO+MYKILMv1tWCikqKm4CPwKoF00DTa6pqkqiP9gIHgR3AWaDvdJIoip4jewh8BVaAz1XQOeAKcNcp9O0fAqlTLgzsApeBa8BSNbUUaAFvgVdMtnlHmsXiEHrHpw+iaOps4BRlDUASQDnw3uA9QHsCqA3sMmjFmhRJmaSmO/SmpCeSjktarunqd5IWJLUl3bCmKSlLJGWuVQbMAHcoi3oPWAAOOerXwFPgErAVuEjZGkNgkEhKDco9bwOuG/Ac+OS67ANOGngV+OYDewEUqt+gvLWmxxHgFHDapz52fV4C64Z3PW+AUsPyCJYCP4FHPuQMsNlRrHv0DRo2XP3Ccw/4Tdl8U2GTb6trYYimYNQ6Gw0pYDuwn1E7hJR3W3TMvp5hKbAM/IC/n8hR4L6hqSPJGT3QjPIfFX4nDeAC8CIGhTrBqNsz16plWN/R9KJShGzUiCBBnFS+FYmCP41gBaA/cImMsTl24NIAAAAASUVORK5CYII=");
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import {
|
||||
insertHTMLChild,
|
||||
updateElementPosition,
|
||||
updateHTMLOptions,
|
||||
showRelatedHTML,
|
||||
syncHTMLValue,
|
||||
updateElementPosition,
|
||||
updateHTMLOptions,
|
||||
} from '@/components/helper'
|
||||
import '@/components/voice.css'
|
||||
import buildConfig from '!/config.json'
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
import baseConfig from '@aklive2d/stylelint-config'
|
||||
/** @type {import('stylelint').Config} */
|
||||
export default {
|
||||
...baseConfig,
|
||||
}
|
||||
@@ -1,8 +1,8 @@
|
||||
import { defineConfig } from 'vite'
|
||||
import path from 'node:path'
|
||||
import { has } from '@aklive2d/operator'
|
||||
import { envParser, file } from '@aklive2d/libs'
|
||||
import { has } from '@aklive2d/operator'
|
||||
import { copyShowcaseData } from '@aklive2d/vite-helpers'
|
||||
import { defineConfig } from 'vite'
|
||||
import * as dirs from './index.js'
|
||||
|
||||
// https://vite.dev/config/
|
||||
|
||||
269
biome.json
Normal file
269
biome.json
Normal file
@@ -0,0 +1,269 @@
|
||||
{
|
||||
"$schema": "https://biomejs.dev/schemas/2.2.5/schema.json",
|
||||
"vcs": {
|
||||
"enabled": true,
|
||||
"clientKind": "git",
|
||||
"useIgnoreFile": true
|
||||
},
|
||||
"files": {
|
||||
"includes": [
|
||||
"apps/**/*",
|
||||
"packages/**/*"
|
||||
],
|
||||
"ignoreUnknown": false
|
||||
},
|
||||
"formatter": {
|
||||
"enabled": true,
|
||||
"formatWithErrors": false,
|
||||
"indentStyle": "space",
|
||||
"indentWidth": 4,
|
||||
"lineEnding": "lf",
|
||||
"lineWidth": 80,
|
||||
"attributePosition": "auto",
|
||||
"bracketSameLine": false,
|
||||
"bracketSpacing": true,
|
||||
"expand": "auto",
|
||||
"useEditorconfig": true
|
||||
},
|
||||
"linter": {
|
||||
"enabled": true,
|
||||
"rules": {
|
||||
"recommended": false,
|
||||
"style": {
|
||||
"useBlockStatements": "off"
|
||||
}
|
||||
},
|
||||
"includes": [
|
||||
"**",
|
||||
"!dist"
|
||||
]
|
||||
},
|
||||
"javascript": {
|
||||
"formatter": {
|
||||
"jsxQuoteStyle": "double",
|
||||
"quoteProperties": "asNeeded",
|
||||
"trailingCommas": "es5",
|
||||
"semicolons": "asNeeded",
|
||||
"arrowParentheses": "always",
|
||||
"bracketSameLine": false,
|
||||
"quoteStyle": "single",
|
||||
"attributePosition": "auto",
|
||||
"bracketSpacing": true
|
||||
}
|
||||
},
|
||||
"html": {
|
||||
"formatter": {
|
||||
"selfCloseVoidElements": "always"
|
||||
}
|
||||
},
|
||||
"overrides": [
|
||||
{
|
||||
"includes": [
|
||||
"**/*.{js,jsx}",
|
||||
"**/*.{ts,tsx}"
|
||||
],
|
||||
"javascript": {
|
||||
"globals": [
|
||||
"onanimationend",
|
||||
"exports",
|
||||
"ongamepadconnected",
|
||||
"onlostpointercapture",
|
||||
"onanimationiteration",
|
||||
"onkeyup",
|
||||
"onmousedown",
|
||||
"onanimationstart",
|
||||
"onslotchange",
|
||||
"onprogress",
|
||||
"ontransitionstart",
|
||||
"onpause",
|
||||
"onended",
|
||||
"onpointerover",
|
||||
"onscrollend",
|
||||
"onformdata",
|
||||
"ontransitionrun",
|
||||
"onanimationcancel",
|
||||
"ondrag",
|
||||
"onchange",
|
||||
"onbeforeinstallprompt",
|
||||
"onbeforexrselect",
|
||||
"onmessage",
|
||||
"ontransitioncancel",
|
||||
"onpointerdown",
|
||||
"onabort",
|
||||
"onpointerout",
|
||||
"oncuechange",
|
||||
"ongotpointercapture",
|
||||
"onscrollsnapchanging",
|
||||
"onsearch",
|
||||
"onsubmit",
|
||||
"onstalled",
|
||||
"onsuspend",
|
||||
"onreset",
|
||||
"onerror",
|
||||
"onresize",
|
||||
"onmouseenter",
|
||||
"ongamepaddisconnected",
|
||||
"ondragover",
|
||||
"onbeforetoggle",
|
||||
"onmouseover",
|
||||
"onpagehide",
|
||||
"onmousemove",
|
||||
"onratechange",
|
||||
"onmessageerror",
|
||||
"onwheel",
|
||||
"ondevicemotion",
|
||||
"onauxclick",
|
||||
"ontransitionend",
|
||||
"onpaste",
|
||||
"onpageswap",
|
||||
"ononline",
|
||||
"ondeviceorientationabsolute",
|
||||
"onkeydown",
|
||||
"onclose",
|
||||
"onselect",
|
||||
"onpageshow",
|
||||
"onpointercancel",
|
||||
"onbeforematch",
|
||||
"onpointerrawupdate",
|
||||
"ondragleave",
|
||||
"onscrollsnapchange",
|
||||
"onseeked",
|
||||
"onwaiting",
|
||||
"onbeforeunload",
|
||||
"onplaying",
|
||||
"onvolumechange",
|
||||
"ondragend",
|
||||
"onstorage",
|
||||
"onloadeddata",
|
||||
"onfocus",
|
||||
"onoffline",
|
||||
"onplay",
|
||||
"onafterprint",
|
||||
"onclick",
|
||||
"oncut",
|
||||
"onmouseout",
|
||||
"ondblclick",
|
||||
"oncanplay",
|
||||
"onloadstart",
|
||||
"onappinstalled",
|
||||
"onpointermove",
|
||||
"ontoggle",
|
||||
"oncontextmenu",
|
||||
"onblur",
|
||||
"oncancel",
|
||||
"onbeforeprint",
|
||||
"oncontextrestored",
|
||||
"onloadedmetadata",
|
||||
"onpointerup",
|
||||
"onlanguagechange",
|
||||
"oncopy",
|
||||
"onselectstart",
|
||||
"onscroll",
|
||||
"onload",
|
||||
"ondragstart",
|
||||
"onbeforeinput",
|
||||
"oncanplaythrough",
|
||||
"oninput",
|
||||
"oninvalid",
|
||||
"ontimeupdate",
|
||||
"ondurationchange",
|
||||
"onselectionchange",
|
||||
"onmouseup",
|
||||
"location",
|
||||
"onkeypress",
|
||||
"onpointerleave",
|
||||
"oncontextlost",
|
||||
"ondrop",
|
||||
"onsecuritypolicyviolation",
|
||||
"oncontentvisibilityautostatechange",
|
||||
"ondeviceorientation",
|
||||
"onseeking",
|
||||
"onrejectionhandled",
|
||||
"onunload",
|
||||
"onmouseleave",
|
||||
"onhashchange",
|
||||
"onpointerenter",
|
||||
"onmousewheel",
|
||||
"onunhandledrejection",
|
||||
"ondragenter",
|
||||
"onpopstate",
|
||||
"onpagereveal",
|
||||
"onemptied"
|
||||
]
|
||||
},
|
||||
"linter": {
|
||||
"rules": {
|
||||
"complexity": {
|
||||
"noAdjacentSpacesInRegex": "error",
|
||||
"noExtraBooleanCast": "error",
|
||||
"noUselessCatch": "error",
|
||||
"noUselessEscapeInRegex": "error"
|
||||
},
|
||||
"correctness": {
|
||||
"noConstAssign": "error",
|
||||
"noConstantCondition": "error",
|
||||
"noEmptyCharacterClassInRegex": "error",
|
||||
"noEmptyPattern": "error",
|
||||
"noGlobalObjectCalls": "error",
|
||||
"noInvalidBuiltinInstantiation": "error",
|
||||
"noInvalidConstructorSuper": "error",
|
||||
"noNonoctalDecimalEscape": "error",
|
||||
"noPrecisionLoss": "error",
|
||||
"noSelfAssign": "error",
|
||||
"noSetterReturn": "error",
|
||||
"noSwitchDeclarations": "error",
|
||||
"noUndeclaredVariables": "error",
|
||||
"noUnreachable": "error",
|
||||
"noUnreachableSuper": "error",
|
||||
"noUnsafeFinally": "error",
|
||||
"noUnsafeOptionalChaining": "error",
|
||||
"noUnusedLabels": "error",
|
||||
"noUnusedPrivateClassMembers": "error",
|
||||
"noUnusedVariables": "error",
|
||||
"useIsNan": "error",
|
||||
"useValidForDirection": "error",
|
||||
"useValidTypeof": "error",
|
||||
"useYield": "error"
|
||||
},
|
||||
"suspicious": {
|
||||
"noAsyncPromiseExecutor": "error",
|
||||
"noCatchAssign": "error",
|
||||
"noClassAssign": "error",
|
||||
"noCompareNegZero": "error",
|
||||
"noConstantBinaryExpressions": "error",
|
||||
"noControlCharactersInRegex": "error",
|
||||
"noDebugger": "error",
|
||||
"noDuplicateCase": "error",
|
||||
"noDuplicateClassMembers": "error",
|
||||
"noDuplicateElseIf": "error",
|
||||
"noDuplicateObjectKeys": "error",
|
||||
"noDuplicateParameters": "error",
|
||||
"noEmptyBlockStatements": "error",
|
||||
"noFallthroughSwitchClause": "error",
|
||||
"noFunctionAssign": "error",
|
||||
"noGlobalAssign": "error",
|
||||
"noImportAssign": "error",
|
||||
"noIrregularWhitespace": "error",
|
||||
"noMisleadingCharacterClass": "error",
|
||||
"noPrototypeBuiltins": "error",
|
||||
"noRedeclare": "error",
|
||||
"noShadowRestrictedNames": "error",
|
||||
"noSparseArray": "error",
|
||||
"noUnsafeNegation": "error",
|
||||
"noUselessRegexBackrefs": "error",
|
||||
"noWith": "error",
|
||||
"useGetterReturn": "error"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"assist": {
|
||||
"enabled": true,
|
||||
"actions": {
|
||||
"source": {
|
||||
"organizeImports": "on"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
import baseConfig from "@aklive2d/eslint-config";
|
||||
/** @type {import('eslint').Config} */
|
||||
export default [
|
||||
...baseConfig,
|
||||
];
|
||||
13
package.json
13
package.json
@@ -15,14 +15,11 @@
|
||||
"build:cleanup": "turbo run build:cleanup"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/jsdom": "^21.1.7",
|
||||
"@biomejs/biome": "2.2.5",
|
||||
"cz-conventional-changelog": "^3.3.0",
|
||||
"eslint": "^9.32.0",
|
||||
"http-server": "^14.1.1",
|
||||
"prettier": "^3.6.2",
|
||||
"stylelint": "^16.23.0",
|
||||
"turbo": "^2.5.5",
|
||||
"typescript": "5.8.2"
|
||||
"turbo": "^2.5.8",
|
||||
"typescript": "5.9.3"
|
||||
},
|
||||
"name": "aklive2d",
|
||||
"type": "module",
|
||||
@@ -38,6 +35,8 @@
|
||||
],
|
||||
"trustedDependencies": [
|
||||
"@parcel/watcher",
|
||||
"@swc/core"
|
||||
"@swc/core",
|
||||
"esbuild",
|
||||
"sharp"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
import { tsConfig } from '@aklive2d/eslint-config'
|
||||
import tseslint from 'typescript-eslint'
|
||||
import globals from 'globals'
|
||||
|
||||
/** @type {import('eslint').Config} */
|
||||
export default tseslint.config(
|
||||
...tsConfig,
|
||||
{
|
||||
ignores: ['dist', 'data'],
|
||||
},
|
||||
{
|
||||
files: ['**/*.js', '**/*.ts'],
|
||||
languageOptions: {
|
||||
ecmaVersion: 2022,
|
||||
globals: {
|
||||
...globals.node,
|
||||
},
|
||||
},
|
||||
rules: {
|
||||
'no-unused-vars': ['error', { argsIgnorePattern: '^_' }],
|
||||
'@typescript-eslint/no-unused-vars': [
|
||||
'error',
|
||||
{ argsIgnorePattern: '^_' },
|
||||
],
|
||||
},
|
||||
}
|
||||
)
|
||||
@@ -1,6 +1,6 @@
|
||||
import path from 'node:path'
|
||||
import { file } from '@aklive2d/libs'
|
||||
import config from '@aklive2d/config'
|
||||
import { file } from '@aklive2d/libs'
|
||||
import { DIST_DIR } from '../index.ts'
|
||||
|
||||
export default async (packageDir: string) => {
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import path from 'node:path'
|
||||
import { type UnzipDownloadItem, unzipDownload } from '@aklive2d/downloader'
|
||||
import { file } from '@aklive2d/libs'
|
||||
import { unzipDownload, type UnzipDownloadItem } from '@aklive2d/downloader'
|
||||
import { getOperatorId, getOperatorAlternativeId } from '@aklive2d/operator'
|
||||
import { mapping } from '@aklive2d/music'
|
||||
import { getOperatorAlternativeId, getOperatorId } from '@aklive2d/operator'
|
||||
import config from '../index.ts'
|
||||
import type { UpdateList, ItemToDownload, AbInfosItem } from '../types.ts'
|
||||
import type { AbInfosItem, ItemToDownload, UpdateList } from '../types.ts'
|
||||
|
||||
export default async (dataDir: string) => {
|
||||
await Promise.all(
|
||||
|
||||
@@ -6,22 +6,19 @@
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@aklive2d/config": "workspace:*",
|
||||
"@aklive2d/eslint-config": "workspace:*",
|
||||
"@aklive2d/libs": "workspace:*",
|
||||
"@aklive2d/prettier-config": "workspace:*",
|
||||
"@aklive2d/downloader": "workspace:*",
|
||||
"@aklive2d/operator": "workspace:*",
|
||||
"@aklive2d/music": "workspace:*"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"globals": ">=16.0.0",
|
||||
"typescript-eslint": ">=8.31.1",
|
||||
"typescript": ">=5.8.2"
|
||||
"typescript": ">=5.9.3"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "mode=build bun runner.ts",
|
||||
"download:game": "mode=download bun runner.ts",
|
||||
"lint": "eslint && prettier --check .",
|
||||
"lint": "biome lint --write .",
|
||||
"lint:fix": "biome check --write .",
|
||||
"build:cleanup": "rm -rf ./dist"
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
import baseConfig from '@aklive2d/prettier-config'
|
||||
|
||||
/**
|
||||
* @type {import("prettier").Config}
|
||||
*/
|
||||
const config = {
|
||||
...baseConfig,
|
||||
semi: false,
|
||||
}
|
||||
|
||||
export default config
|
||||
@@ -1,6 +1,6 @@
|
||||
import path from 'node:path'
|
||||
import { envParser } from '@aklive2d/libs'
|
||||
import config from '@aklive2d/config'
|
||||
import { envParser } from '@aklive2d/libs'
|
||||
import build from './libs/build.ts'
|
||||
import download from './libs/download.ts'
|
||||
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
dist
|
||||
data
|
||||
auto_update
|
||||
@@ -1,27 +0,0 @@
|
||||
import { tsConfig } from '@aklive2d/eslint-config'
|
||||
import tseslint from 'typescript-eslint'
|
||||
import globals from 'globals'
|
||||
|
||||
/** @type {import('eslint').Config} */
|
||||
export default tseslint.config(
|
||||
...tsConfig,
|
||||
{
|
||||
ignores: ['dist', 'data'],
|
||||
},
|
||||
{
|
||||
files: ['**/*.js', '**/*.ts'],
|
||||
languageOptions: {
|
||||
ecmaVersion: 2022,
|
||||
globals: {
|
||||
...globals.node,
|
||||
},
|
||||
},
|
||||
rules: {
|
||||
'no-unused-vars': ['error', { argsIgnorePattern: '^_' }],
|
||||
'@typescript-eslint/no-unused-vars': [
|
||||
'error',
|
||||
{ argsIgnorePattern: '^_' },
|
||||
],
|
||||
},
|
||||
}
|
||||
)
|
||||
@@ -1,8 +1,8 @@
|
||||
import path from 'node:path'
|
||||
import sharp from 'sharp'
|
||||
import { file } from '@aklive2d/libs'
|
||||
import config from '@aklive2d/config'
|
||||
import { file } from '@aklive2d/libs'
|
||||
import { mapping as musicMapping } from '@aklive2d/music'
|
||||
import sharp from 'sharp'
|
||||
|
||||
export const BACKGROUND_DIR = path.join(
|
||||
import.meta.dirname,
|
||||
|
||||
@@ -5,21 +5,18 @@
|
||||
"main": "index.ts",
|
||||
"type": "module",
|
||||
"dependencies": {
|
||||
"sharp": "^0.33.5",
|
||||
"sharp": "^0.34.4",
|
||||
"@aklive2d/libs": "workspace:*",
|
||||
"@aklive2d/config": "workspace:*",
|
||||
"@aklive2d/music": "workspace:*",
|
||||
"@aklive2d/eslint-config": "workspace:*",
|
||||
"@aklive2d/prettier-config": "workspace:*"
|
||||
"@aklive2d/music": "workspace:*"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"globals": ">=16.0.0",
|
||||
"typescript-eslint": ">=8.31.1",
|
||||
"typescript": ">=5.8.2"
|
||||
"typescript": ">=5.9.3"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "mode=build bun runner.js",
|
||||
"lint": "eslint && prettier --check .",
|
||||
"lint": "biome lint --write .",
|
||||
"lint:fix": "biome check --write .",
|
||||
"build:cleanup": "rm -rf ./dist ./data"
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
import baseConfig from '@aklive2d/prettier-config'
|
||||
|
||||
/**
|
||||
* @type {import("prettier").Config}
|
||||
*/
|
||||
const config = {
|
||||
...baseConfig,
|
||||
semi: false,
|
||||
}
|
||||
|
||||
export default config
|
||||
@@ -1,5 +1,5 @@
|
||||
import { build } from './index.ts'
|
||||
import { envParser, error } from '@aklive2d/libs'
|
||||
import { build } from './index.ts'
|
||||
|
||||
async function main() {
|
||||
let err
|
||||
|
||||
@@ -1,3 +1 @@
|
||||
dist
|
||||
data
|
||||
auto_update
|
||||
@@ -1,3 +0,0 @@
|
||||
dist
|
||||
data
|
||||
auto_update
|
||||
@@ -1,27 +0,0 @@
|
||||
import { tsConfig } from '@aklive2d/eslint-config'
|
||||
import tseslint from 'typescript-eslint'
|
||||
import globals from 'globals'
|
||||
|
||||
/** @type {import('eslint').Config} */
|
||||
export default tseslint.config(
|
||||
...tsConfig,
|
||||
{
|
||||
ignores: ['dist', 'data'],
|
||||
},
|
||||
{
|
||||
files: ['**/*.js', '**/*.ts'],
|
||||
languageOptions: {
|
||||
ecmaVersion: 2022,
|
||||
globals: {
|
||||
...globals.node,
|
||||
},
|
||||
},
|
||||
rules: {
|
||||
'no-unused-vars': ['error', { argsIgnorePattern: '^_' }],
|
||||
'@typescript-eslint/no-unused-vars': [
|
||||
'error',
|
||||
{ argsIgnorePattern: '^_' },
|
||||
],
|
||||
},
|
||||
}
|
||||
)
|
||||
@@ -1,19 +1,19 @@
|
||||
import path from 'node:path'
|
||||
import { file } from '@aklive2d/libs'
|
||||
import { githubDownload } from '@aklive2d/downloader'
|
||||
import config from '@aklive2d/config'
|
||||
import { githubDownload } from '@aklive2d/downloader'
|
||||
import { file } from '@aklive2d/libs'
|
||||
import operators, {
|
||||
getOperatorId,
|
||||
getOperatorAlternativeId,
|
||||
getOperatorId,
|
||||
OPERATOR_SOURCE_FOLDER,
|
||||
} from '@aklive2d/operator'
|
||||
import type {
|
||||
Region,
|
||||
CharwordTableJson,
|
||||
OperatorCharwordTable,
|
||||
CharwordTable,
|
||||
VoiceRegionObject,
|
||||
CharwordTableJson,
|
||||
InfoRegionObject,
|
||||
OperatorCharwordTable,
|
||||
Region,
|
||||
VoiceRegionObject,
|
||||
} from './types.ts'
|
||||
|
||||
// zh_TW uses an older version of charword_table.json
|
||||
|
||||
@@ -8,19 +8,16 @@
|
||||
"@aklive2d/libs": "workspace:*",
|
||||
"@aklive2d/config": "workspace:*",
|
||||
"@aklive2d/downloader": "workspace:*",
|
||||
"@aklive2d/operator": "workspace:*",
|
||||
"@aklive2d/eslint-config": "workspace:*",
|
||||
"@aklive2d/prettier-config": "workspace:*"
|
||||
"@aklive2d/operator": "workspace:*"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"globals": ">=16.0.0",
|
||||
"typescript-eslint": ">=8.31.1",
|
||||
"typescript": ">=5.8.2"
|
||||
"typescript": ">=5.9.3"
|
||||
},
|
||||
"scripts": {
|
||||
"update": "mode=update bun runner.ts",
|
||||
"build": "mode=build bun runner.ts",
|
||||
"lint": "eslint && prettier --check .",
|
||||
"lint": "biome lint --write .",
|
||||
"lint:fix": "biome check --write .",
|
||||
"build:cleanup": "rm -rf ./dist"
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
import baseConfig from '@aklive2d/prettier-config'
|
||||
|
||||
/**
|
||||
* @type {import("prettier").Config}
|
||||
*/
|
||||
const config = {
|
||||
...baseConfig,
|
||||
semi: false,
|
||||
}
|
||||
|
||||
export default config
|
||||
@@ -1,5 +1,5 @@
|
||||
import { build, update } from './index.ts'
|
||||
import { envParser, error } from '@aklive2d/libs'
|
||||
import { build, update } from './index.ts'
|
||||
|
||||
async function main() {
|
||||
let err: string[] = []
|
||||
|
||||
@@ -108,7 +108,6 @@ export type OperatorCharwordTable = {
|
||||
}
|
||||
|
||||
export type VoiceRegionObject = {
|
||||
// eslint-disable-next-line
|
||||
[region in Region]: {
|
||||
[wordkey: string]: {
|
||||
[voiceId: string]: {
|
||||
@@ -120,7 +119,6 @@ export type VoiceRegionObject = {
|
||||
}
|
||||
|
||||
export type InfoRegionObject = {
|
||||
// eslint-disable-next-line
|
||||
[region in Region]: {
|
||||
[wordkey: string]: {
|
||||
[voiceLangType: string]: string[]
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
dist
|
||||
data
|
||||
auto_update
|
||||
@@ -1,27 +0,0 @@
|
||||
import { tsConfig } from '@aklive2d/eslint-config'
|
||||
import tseslint from 'typescript-eslint'
|
||||
import globals from 'globals'
|
||||
|
||||
/** @type {import('eslint').Config} */
|
||||
export default tseslint.config(
|
||||
...tsConfig,
|
||||
{
|
||||
ignores: ['dist', 'data'],
|
||||
},
|
||||
{
|
||||
files: ['**/*.js', '**/*.ts'],
|
||||
languageOptions: {
|
||||
ecmaVersion: 2022,
|
||||
globals: {
|
||||
...globals.node,
|
||||
},
|
||||
},
|
||||
rules: {
|
||||
'no-unused-vars': ['error', { argsIgnorePattern: '^_' }],
|
||||
'@typescript-eslint/no-unused-vars': [
|
||||
'error',
|
||||
{ argsIgnorePattern: '^_' },
|
||||
],
|
||||
},
|
||||
}
|
||||
)
|
||||
@@ -5,16 +5,13 @@
|
||||
"type": "module",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@aklive2d/libs": "workspace:*",
|
||||
"@aklive2d/eslint-config": "workspace:*",
|
||||
"@aklive2d/prettier-config": "workspace:*"
|
||||
"@aklive2d/libs": "workspace:*"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"globals": ">=16.0.0",
|
||||
"typescript-eslint": ">=8.31.1",
|
||||
"typescript": ">=5.8.2"
|
||||
"typescript": ">=5.9.3"
|
||||
},
|
||||
"scripts": {
|
||||
"lint": "eslint && prettier --check ."
|
||||
"lint": "biome lint --write .",
|
||||
"lint:fix": "biome check --write ."
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
import baseConfig from '@aklive2d/prettier-config'
|
||||
|
||||
/**
|
||||
* @type {import("prettier").Config}
|
||||
*/
|
||||
const config = {
|
||||
...baseConfig,
|
||||
semi: false,
|
||||
}
|
||||
|
||||
export default config
|
||||
@@ -1,3 +0,0 @@
|
||||
dist
|
||||
data
|
||||
auto_update
|
||||
@@ -1,27 +0,0 @@
|
||||
import { tsConfig } from '@aklive2d/eslint-config'
|
||||
import tseslint from 'typescript-eslint'
|
||||
import globals from 'globals'
|
||||
|
||||
/** @type {import('eslint').Config} */
|
||||
export default tseslint.config(
|
||||
...tsConfig,
|
||||
{
|
||||
ignores: ['dist', 'data'],
|
||||
},
|
||||
{
|
||||
files: ['**/*.js', '**/*.ts'],
|
||||
languageOptions: {
|
||||
ecmaVersion: 2022,
|
||||
globals: {
|
||||
...globals.node,
|
||||
},
|
||||
},
|
||||
rules: {
|
||||
'no-unused-vars': ['error', { argsIgnorePattern: '^_' }],
|
||||
'@typescript-eslint/no-unused-vars': [
|
||||
'error',
|
||||
{ argsIgnorePattern: '^_' },
|
||||
],
|
||||
},
|
||||
}
|
||||
)
|
||||
@@ -1,9 +1,9 @@
|
||||
import path from 'node:path'
|
||||
import fs from 'node:fs'
|
||||
import { Buffer } from 'node:buffer'
|
||||
import fs from 'node:fs'
|
||||
import path from 'node:path'
|
||||
import { pipeline } from 'node:stream/promises'
|
||||
import pThrottle from 'p-throttle'
|
||||
import { file as fileLib } from '@aklive2d/libs'
|
||||
import pThrottle from 'p-throttle'
|
||||
|
||||
export type UnzipDownloadItem = {
|
||||
name: string
|
||||
|
||||
@@ -5,12 +5,11 @@
|
||||
"main": "index.ts",
|
||||
"type": "module",
|
||||
"dependencies": {
|
||||
"@aklive2d/eslint-config": "workspace:*",
|
||||
"@aklive2d/libs": "workspace:*",
|
||||
"@aklive2d/prettier-config": "workspace:*",
|
||||
"p-throttle": "^7.0.0"
|
||||
"p-throttle": "^8.0.0"
|
||||
},
|
||||
"scripts": {
|
||||
"lint": "eslint && prettier --check ."
|
||||
"lint": "biome lint --write .",
|
||||
"lint:fix": "biome check --write ."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
import baseConfig from '@aklive2d/prettier-config'
|
||||
|
||||
/**
|
||||
* @type {import("prettier").Config}
|
||||
*/
|
||||
const config = {
|
||||
...baseConfig,
|
||||
semi: false,
|
||||
}
|
||||
|
||||
export default config
|
||||
@@ -1,29 +0,0 @@
|
||||
import js from '@eslint/js'
|
||||
import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended'
|
||||
import globals from 'globals'
|
||||
import tsConfig from './ts.js'
|
||||
|
||||
export default [
|
||||
{ ignores: ['dist'] },
|
||||
{
|
||||
files: ['**/*.{js,jsx}', '**/*.{ts,tsx}'],
|
||||
languageOptions: {
|
||||
ecmaVersion: 2020,
|
||||
globals: {
|
||||
...globals.browser,
|
||||
...globals.node,
|
||||
},
|
||||
parserOptions: {
|
||||
ecmaVersion: 'latest',
|
||||
ecmaFeatures: { jsx: true },
|
||||
sourceType: 'module',
|
||||
},
|
||||
},
|
||||
rules: {
|
||||
...js.configs.recommended.rules,
|
||||
},
|
||||
},
|
||||
eslintPluginPrettierRecommended,
|
||||
]
|
||||
|
||||
export { tsConfig }
|
||||
@@ -1,4 +0,0 @@
|
||||
import eslint from '@eslint/js'
|
||||
import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended'
|
||||
|
||||
export default [eslint.configs.recommended, eslintPluginPrettierRecommended]
|
||||
@@ -1,16 +0,0 @@
|
||||
{
|
||||
"name": "@aklive2d/eslint-config",
|
||||
"version": "0.0.0",
|
||||
"main": "index.js",
|
||||
"type": "module",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@eslint/js": "^9.19.0",
|
||||
"eslint": "^9.19.0",
|
||||
"eslint-config-prettier": "^10.0.1",
|
||||
"eslint-plugin-prettier": "^5.2.6",
|
||||
"globals": "^16.0.0",
|
||||
"typescript": "^5.8.3",
|
||||
"typescript-eslint": "^8.31.1"
|
||||
}
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
import eslint from '@eslint/js'
|
||||
import tseslint from 'typescript-eslint'
|
||||
import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended'
|
||||
|
||||
/** @type {import('eslint').Config} */
|
||||
export default tseslint.config(
|
||||
eslint.configs.recommended,
|
||||
tseslint.configs.recommended,
|
||||
eslintPluginPrettierRecommended
|
||||
)
|
||||
@@ -1,3 +0,0 @@
|
||||
dist
|
||||
data
|
||||
auto_update
|
||||
@@ -1,27 +0,0 @@
|
||||
import { tsConfig } from '@aklive2d/eslint-config'
|
||||
import tseslint from 'typescript-eslint'
|
||||
import globals from 'globals'
|
||||
|
||||
/** @type {import('eslint').Config} */
|
||||
export default tseslint.config(
|
||||
...tsConfig,
|
||||
{
|
||||
ignores: ['dist', 'data'],
|
||||
},
|
||||
{
|
||||
files: ['**/*.js', '**/*.ts'],
|
||||
languageOptions: {
|
||||
ecmaVersion: 2022,
|
||||
globals: {
|
||||
...globals.node,
|
||||
},
|
||||
},
|
||||
rules: {
|
||||
'no-unused-vars': ['error', { argsIgnorePattern: '^_' }],
|
||||
'@typescript-eslint/no-unused-vars': [
|
||||
'error',
|
||||
{ argsIgnorePattern: '^_' },
|
||||
],
|
||||
},
|
||||
}
|
||||
)
|
||||
@@ -1,9 +1,9 @@
|
||||
import * as alphaComposite from './libs/alpha_composite.ts'
|
||||
import * as env from './libs/env.ts'
|
||||
import * as envParser from './libs/env_parser.ts'
|
||||
import * as error from './libs/error.ts'
|
||||
import * as file from './libs/file.ts'
|
||||
import * as yaml from './libs/yaml.ts'
|
||||
import * as env from './libs/env.ts'
|
||||
import * as error from './libs/error.ts'
|
||||
import * as alphaComposite from './libs/alpha_composite.ts'
|
||||
import * as envParser from './libs/env_parser.ts'
|
||||
|
||||
export { file }
|
||||
export { yaml }
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import sharp from 'sharp'
|
||||
import path from 'node:path'
|
||||
import sharp from 'sharp'
|
||||
|
||||
export type Rect = {
|
||||
x: number
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import fs from 'node:fs'
|
||||
import path from 'node:path'
|
||||
import type { CollectionTag, ScalarTag, SchemaOptions } from 'yaml'
|
||||
import { parse } from 'yaml'
|
||||
import type { Tags, ScalarTag, SchemaOptions, CollectionTag } from 'yaml'
|
||||
|
||||
export function read(
|
||||
file_dir: string,
|
||||
|
||||
@@ -5,23 +5,20 @@
|
||||
"main": "index.ts",
|
||||
"type": "module",
|
||||
"dependencies": {
|
||||
"@aklive2d/eslint-config": "workspace:*",
|
||||
"@aklive2d/prettier-config": "workspace:*",
|
||||
"sharp": "^0.33.5",
|
||||
"yaml": "^2.7.0",
|
||||
"sharp": "^0.34.4",
|
||||
"yaml": "^2.8.1",
|
||||
"yauzl-promise": "^4.0.0",
|
||||
"yazl": "^3.3.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"globals": ">=16.0.0",
|
||||
"typescript-eslint": ">=8.31.1",
|
||||
"typescript": ">=5.8.2"
|
||||
"typescript": ">=5.9.3"
|
||||
},
|
||||
"scripts": {
|
||||
"lint": "eslint && prettier --check ."
|
||||
"lint": "biome lint --write .",
|
||||
"lint:fix": "biome check --write ."
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/yauzl-promise": "^4.0.1",
|
||||
"@types/yazl": "^2.4.6"
|
||||
"@types/yazl": "^3.3.0"
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
import baseConfig from '@aklive2d/prettier-config'
|
||||
|
||||
/**
|
||||
* @type {import("prettier").Config}
|
||||
*/
|
||||
const config = {
|
||||
...baseConfig,
|
||||
semi: false,
|
||||
}
|
||||
|
||||
export default config
|
||||
@@ -1,3 +1 @@
|
||||
dist
|
||||
data
|
||||
auto_update
|
||||
@@ -1,3 +0,0 @@
|
||||
dist
|
||||
data
|
||||
auto_update
|
||||
@@ -1,27 +0,0 @@
|
||||
import { tsConfig } from '@aklive2d/eslint-config'
|
||||
import tseslint from 'typescript-eslint'
|
||||
import globals from 'globals'
|
||||
|
||||
/** @type {import('eslint').Config} */
|
||||
export default tseslint.config(
|
||||
...tsConfig,
|
||||
{
|
||||
ignores: ['dist', 'data'],
|
||||
},
|
||||
{
|
||||
files: ['**/*.js', '**/*.ts'],
|
||||
languageOptions: {
|
||||
ecmaVersion: 2022,
|
||||
globals: {
|
||||
...globals.node,
|
||||
},
|
||||
},
|
||||
rules: {
|
||||
'no-unused-vars': ['error', { argsIgnorePattern: '^_' }],
|
||||
'@typescript-eslint/no-unused-vars': [
|
||||
'error',
|
||||
{ argsIgnorePattern: '^_' },
|
||||
],
|
||||
},
|
||||
}
|
||||
)
|
||||
@@ -1,16 +1,16 @@
|
||||
import path from 'node:path'
|
||||
import { file } from '@aklive2d/libs'
|
||||
import { githubDownload } from '@aklive2d/downloader'
|
||||
import config from '@aklive2d/config'
|
||||
import { githubDownload } from '@aklive2d/downloader'
|
||||
import { file } from '@aklive2d/libs'
|
||||
import type {
|
||||
DisplayMetaTable,
|
||||
AudioDataTable,
|
||||
MusicTable,
|
||||
DisplayMetaTable,
|
||||
MusicDataItem,
|
||||
MusicFileMapping,
|
||||
MusicFiles,
|
||||
MusicItem,
|
||||
MusicDataItem,
|
||||
MusicMapping,
|
||||
MusicTable,
|
||||
} from './types.ts'
|
||||
|
||||
const AUTO_UPDATE_FOLDER = path.resolve(
|
||||
|
||||
@@ -7,18 +7,15 @@
|
||||
"dependencies": {
|
||||
"@aklive2d/libs": "workspace:*",
|
||||
"@aklive2d/config": "workspace:*",
|
||||
"@aklive2d/downloader": "workspace:*",
|
||||
"@aklive2d/eslint-config": "workspace:*",
|
||||
"@aklive2d/prettier-config": "workspace:*"
|
||||
"@aklive2d/downloader": "workspace:*"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"globals": ">=16.0.0",
|
||||
"typescript-eslint": ">=8.31.1",
|
||||
"typescript": ">=5.8.2"
|
||||
"typescript": ">=5.9.3"
|
||||
},
|
||||
"scripts": {
|
||||
"update": "mode=update bun runner.ts",
|
||||
"lint": "eslint && prettier --check .",
|
||||
"lint": "biome lint --write .",
|
||||
"lint:fix": "biome check --write .",
|
||||
"build:cleanup": "rm -rf ./data"
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
import baseConfig from '@aklive2d/prettier-config'
|
||||
|
||||
/**
|
||||
* @type {import("prettier").Config}
|
||||
*/
|
||||
const config = {
|
||||
...baseConfig,
|
||||
semi: false,
|
||||
}
|
||||
|
||||
export default config
|
||||
@@ -1,3 +1 @@
|
||||
dist
|
||||
data
|
||||
auto_update
|
||||
@@ -1,3 +0,0 @@
|
||||
dist
|
||||
data
|
||||
auto_update
|
||||
@@ -1,27 +0,0 @@
|
||||
import { tsConfig } from '@aklive2d/eslint-config'
|
||||
import tseslint from 'typescript-eslint'
|
||||
import globals from 'globals'
|
||||
|
||||
/** @type {import('eslint').Config} */
|
||||
export default tseslint.config(
|
||||
...tsConfig,
|
||||
{
|
||||
ignores: ['dist', 'data'],
|
||||
},
|
||||
{
|
||||
files: ['**/*.js', '**/*.ts'],
|
||||
languageOptions: {
|
||||
ecmaVersion: 2022,
|
||||
globals: {
|
||||
...globals.node,
|
||||
},
|
||||
},
|
||||
rules: {
|
||||
'no-unused-vars': ['error', { argsIgnorePattern: '^_' }],
|
||||
'@typescript-eslint/no-unused-vars': [
|
||||
'error',
|
||||
{ argsIgnorePattern: '^_' },
|
||||
],
|
||||
},
|
||||
}
|
||||
)
|
||||
@@ -1,12 +1,12 @@
|
||||
import path from 'node:path'
|
||||
import { file } from '@aklive2d/libs'
|
||||
import config from '@aklive2d/config'
|
||||
import { file } from '@aklive2d/libs'
|
||||
import type {
|
||||
OfficialDataResp,
|
||||
OfficialInfoV2,
|
||||
OfficialDataOperatorObj,
|
||||
OfficialDataResp,
|
||||
OfficialInfoMapping,
|
||||
OfficialInfoOperatorConfigV2,
|
||||
OfficialInfoV2,
|
||||
} from './types'
|
||||
|
||||
const AUTO_UPDATE_FOLDER = path.resolve(
|
||||
|
||||
@@ -6,17 +6,14 @@
|
||||
"type": "module",
|
||||
"dependencies": {
|
||||
"@aklive2d/config": "workspace:*",
|
||||
"@aklive2d/eslint-config": "workspace:*",
|
||||
"@aklive2d/libs": "workspace:*",
|
||||
"@aklive2d/prettier-config": "workspace:*"
|
||||
"@aklive2d/libs": "workspace:*"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"globals": ">=16.0.0",
|
||||
"typescript-eslint": ">=8.31.1",
|
||||
"typescript": ">=5.8.2"
|
||||
"typescript": ">=5.9.3"
|
||||
},
|
||||
"scripts": {
|
||||
"update": "mode=update bun runner.ts",
|
||||
"lint": "eslint && prettier --check ."
|
||||
"lint": "biome lint --write .",
|
||||
"lint:fix": "biome check --write ."
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
import baseConfig from '@aklive2d/prettier-config'
|
||||
|
||||
/**
|
||||
* @type {import("prettier").Config}
|
||||
*/
|
||||
const config = {
|
||||
...baseConfig,
|
||||
semi: false,
|
||||
}
|
||||
|
||||
export default config
|
||||
@@ -1,3 +1 @@
|
||||
dist
|
||||
data
|
||||
auto_update
|
||||
@@ -1,5 +0,0 @@
|
||||
dist
|
||||
data
|
||||
auto_update
|
||||
config
|
||||
config.yaml
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user