refactor and fixes

This commit is contained in:
tonyrewin 2022-10-07 22:35:53 +03:00
parent 4a96197ee2
commit adc0fe6393
36 changed files with 314 additions and 697 deletions

View File

@ -43,16 +43,13 @@ const astroConfig: AstroUserConfig = {
// eslint-disable-next-line sonarjs/cognitive-complexity // eslint-disable-next-line sonarjs/cognitive-complexity
manualChunks(id) { manualChunks(id) {
if (id.includes('node_modules')) { if (id.includes('node_modules')) {
let chunkid = 'vendor' let chunkid
if (id.includes('solid')) { if (id.includes('solid')) {
chunkid = 'solid' chunkid = 'solid'
} }
if (id.includes('acorn')) { if (id.includes('acorn')) {
chunkid = 'acorn' chunkid = 'acorn'
} }
if (id.includes('simple-peer')) {
chunkid = 'simple-peer'
}
if (id.includes('prosemirror')) { if (id.includes('prosemirror')) {
chunkid = 'prosemirror' chunkid = 'prosemirror'
} }
@ -66,9 +63,10 @@ const astroConfig: AstroUserConfig = {
id.includes('yjs') || id.includes('yjs') ||
id.includes('y-prosemirror') || id.includes('y-prosemirror') ||
id.includes('y-protocols') || id.includes('y-protocols') ||
id.includes('y-webrtc') id.includes('y-webrtc') ||
id.includes('simple-peer')
) { ) {
chunkid = 'yjs' chunkid = 'p2p'
} }
return chunkid return chunkid
} }

View File

@ -28,7 +28,7 @@
"vercel-build": "astro build" "vercel-build": "astro build"
}, },
"dependencies": { "dependencies": {
"@aws-sdk/client-s3": "^3.178.0", "@aws-sdk/client-s3": "^3.186.0",
"@nanostores/persistent": "^0.7.0", "@nanostores/persistent": "^0.7.0",
"@nanostores/router": "^0.7.0", "@nanostores/router": "^0.7.0",
"@nanostores/solid": "^0.3.0", "@nanostores/solid": "^0.3.0",
@ -46,6 +46,7 @@
}, },
"devDependencies": { "devDependencies": {
"@astrojs/language-server": "^0.27.0", "@astrojs/language-server": "^0.27.0",
"@astrojs/markdown-remark": "^1.1.3",
"@astrojs/solid-js": "^1.1.0", "@astrojs/solid-js": "^1.1.0",
"@astrojs/vercel": "^2.1.0", "@astrojs/vercel": "^2.1.0",
"@babel/core": "^7.18.13", "@babel/core": "^7.18.13",
@ -57,8 +58,8 @@
"@graphql-tools/url-loader": "^7.16.4", "@graphql-tools/url-loader": "^7.16.4",
"@graphql-typed-document-node/core": "^3.1.1", "@graphql-typed-document-node/core": "^3.1.1",
"@popperjs/core": "^2.11.6", "@popperjs/core": "^2.11.6",
"@solid-devtools/debugger": "^0.9.1", "@solid-devtools/debugger": "^0.11.1",
"@solid-devtools/logger": "^0.4.7", "@solid-devtools/logger": "^0.4.9",
"@types/express": "^4.17.14", "@types/express": "^4.17.14",
"@types/node": "^18.7.19", "@types/node": "^18.7.19",
"@types/uuid": "^8.3.4", "@types/uuid": "^8.3.4",
@ -75,18 +76,16 @@
"clsx": "^1.2.1", "clsx": "^1.2.1",
"cookie": "^0.5.0", "cookie": "^0.5.0",
"cookie-signature": "^1.2.0", "cookie-signature": "^1.2.0",
"eslint": "8.22.0", "eslint": "^8.22.0",
"eslint-config-stylelint": "^16.0.0", "eslint-config-stylelint": "^17.0.0",
"eslint-import-resolver-typescript": "^3.5.0", "eslint-import-resolver-typescript": "^3.5.0",
"eslint-mdx": "^2.0.2", "eslint-plugin-astro": "^0.20.0",
"eslint-plugin-astro": "^0.19.0",
"eslint-plugin-import": "^2.26.0", "eslint-plugin-import": "^2.26.0",
"eslint-plugin-jsx-a11y": "^6.6.1", "eslint-plugin-jsx-a11y": "^6.6.1",
"eslint-plugin-mdx": "^2.0.2",
"eslint-plugin-promise": "^6.0.1", "eslint-plugin-promise": "^6.0.1",
"eslint-plugin-solid": "^0.7.1", "eslint-plugin-solid": "^0.7.3",
"eslint-plugin-sonarjs": "^0.15.0", "eslint-plugin-sonarjs": "^0.15.0",
"eslint-plugin-unicorn": "^43.0.2", "eslint-plugin-unicorn": "^44.0.2",
"graphql": "^16.6.0", "graphql": "^16.6.0",
"graphql-tag": "^2.12.6", "graphql-tag": "^2.12.6",
"graphql-ws": "^5.11.2", "graphql-ws": "^5.11.2",
@ -119,7 +118,7 @@
"rollup": "~2.79.1", "rollup": "~2.79.1",
"rollup-plugin-visualizer": "^5.8.2", "rollup-plugin-visualizer": "^5.8.2",
"sass": "^1.55.0", "sass": "^1.55.0",
"solid-devtools": "^0.16.2", "solid-devtools": "^0.18.2",
"solid-js": "^1.5.6", "solid-js": "^1.5.6",
"solid-js-form": "^0.1.5", "solid-js-form": "^0.1.5",
"solid-jsx": "^0.9.1", "solid-jsx": "^0.9.1",
@ -133,14 +132,14 @@
"stylelint-order": "^5.0.0", "stylelint-order": "^5.0.0",
"stylelint-scss": "^4.3.0", "stylelint-scss": "^4.3.0",
"swiper": "^8.4.2", "swiper": "^8.4.2",
"ts-debounce": "^4.0.0",
"ts-node": "^10.9.1", "ts-node": "^10.9.1",
"typescript": "^4.8.3", "typescript": "^4.8.3",
"undici": "^5.10.0", "undici": "^5.10.0",
"unique-names-generator": "^4.7.1", "unique-names-generator": "^4.7.1",
"uuid": "^9.0.0", "uuid": "^9.0.0",
"vite": "^3.1.3", "vite": "^3.1.3",
"y-prosemirror": "^1.1.3", "ws": "^8.9.0",
"y-prosemirror": "^1.2.0",
"y-protocols": "^1.0.5", "y-protocols": "^1.0.5",
"y-webrtc": "^10.2.3", "y-webrtc": "^10.2.3",
"yjs": "^13.5.41" "yjs": "^13.5.41"

View File

@ -37,7 +37,7 @@ const formatDate = (date: Date) => {
} }
export const FullArticle = (props: ArticleProps) => { export const FullArticle = (props: ArticleProps) => {
const body = createMemo(() => props.article.body.toString().trim()) const body = createMemo(() => props.article?.body?.toString().trim())
const { session } = useAuthStore() const { session } = useAuthStore()
onMount(() => { onMount(() => {

View File

@ -1,7 +1,12 @@
import './Tooltip.scss' import './Tooltip.scss'
import { createSignal } from 'solid-js' import { createSignal, JSX } from 'solid-js'
export const Tooltip: (p: any) => any = (props: any) => { interface TooltipProps {
children?: JSX.Element
link?: string
}
export const Tooltip = (props: TooltipProps) => {
const [isShown, setShowed] = createSignal(false) const [isShown, setShowed] = createSignal(false)
const show = () => setShowed(true) const show = () => setShowed(true)
return ( return (

View File

@ -1,29 +1,32 @@
import '../../styles/help.scss'
import { createSignal, onMount } from 'solid-js' import { createSignal, onMount } from 'solid-js'
import { showModal, warn } from '../../stores/ui' import { showModal, warn } from '../../stores/ui'
import '../../styles/help.scss' import { t } from '../../utils/intl'
export const Donate = () => { export const Donate = () => {
const once = '' const once = ''
const monthly = 'Monthly' const monthly = 'Monthly'
const cpOptions = { const cpOptions = {
publicId: 'pk_0a37bab30ffc6b77b2f93d65f2aed', publicId: 'pk_0a37bab30ffc6b77b2f93d65f2aed',
description: 'Поддержка журнала и развитие Дискурса', description: t('Help discours to grow'),
currency: 'RUB' currency: 'RUB'
} }
let amountSwitchElement: HTMLDivElement | undefined let amountSwitchElement: HTMLDivElement | undefined
let customAmountElement: HTMLInputElement | undefined let customAmountElement: HTMLInputElement | undefined
let CustomerReciept: any const [widget, setWidget] = createSignal()
let widget: any const [customerReciept, setCustomerReciept] = createSignal({})
const [showingPayment, setShowingPayment] = createSignal<boolean>() const [showingPayment, setShowingPayment] = createSignal<boolean>()
const [period, setPeriod] = createSignal(monthly) const [period, setPeriod] = createSignal(monthly)
const [amount, setAmount] = createSignal(0) const [amount, setAmount] = createSignal(0)
onMount(() => { onMount(() => {
widget = new (window as any).cp.CloudPayments() // Checkout(cpOptions) const {
cp: { CloudPayments }
} = window as any // Checkout(cpOptions)
setWidget(new CloudPayments())
console.log('[donate] payments initiated') console.log('[donate] payments initiated')
CustomerReciept = { setCustomerReciept({
Items: [ Items: [
//товарные позиции //товарные позиции
{ {
@ -46,7 +49,7 @@ export const Donate = () => {
credit: 0, // Сумма постоплатой(в кредит) (2 знака после запятой) credit: 0, // Сумма постоплатой(в кредит) (2 знака после запятой)
provision: 0 // Сумма оплаты встречным предоставлением (сертификаты, др. мат.ценности) (2 знака после запятой) provision: 0 // Сумма оплаты встречным предоставлением (сертификаты, др. мат.ценности) (2 знака после запятой)
} }
} })
}) })
const show = () => { const show = () => {
@ -57,7 +60,7 @@ export const Donate = () => {
amountSwitchElement?.querySelector('input[type=radio]:checked') amountSwitchElement?.querySelector('input[type=radio]:checked')
setAmount(Number.parseInt(customAmountElement?.value || choice?.value || '0')) setAmount(Number.parseInt(customAmountElement?.value || choice?.value || '0'))
console.log('[donate] input amount ' + amount) console.log('[donate] input amount ' + amount)
widget.charge( ;(widget() as any).charge(
{ {
// options // options
...cpOptions, ...cpOptions,
@ -69,11 +72,11 @@ export const Donate = () => {
// accountId: 'user@example.com', //идентификатор плательщика (обязательно для создания подписки) // accountId: 'user@example.com', //идентификатор плательщика (обязательно для создания подписки)
data: { data: {
CloudPayments: { CloudPayments: {
CustomerReciept, CustomerReciept: customerReciept(),
recurrent: { recurrent: {
interval: period(), // local solid's signal interval: period(), // local solid's signal
period: 1, // internal widget's period: 1, // internal widget's
CustomerReciept // чек для регулярных платежей CustomerReciept: customerReciept() // чек для регулярных платежей
} }
} }
} }

View File

@ -1,5 +1,5 @@
import { Switch, Match, createMemo } from 'solid-js' import { Switch, Match, createMemo } from 'solid-js'
import { ErrorObject, useState } from './store' import { ErrorObject, useState } from './prosemirror/context'
const InvalidState = (props: { title: string }) => { const InvalidState = (props: { title: string }) => {
const [store, ctrl] = useState() const [store, ctrl] = useState()

View File

@ -1,4 +1,4 @@
import type { Config } from './store' import type { Config } from './prosemirror/context'
import './Layout.scss' import './Layout.scss'
export type Styled = { export type Styled = {

View File

@ -1,7 +1,7 @@
import { For, Show, createEffect, createSignal, onCleanup } from 'solid-js' import { For, Show, createEffect, createSignal, onCleanup } from 'solid-js'
import { unwrap } from 'solid-js/store' import { unwrap } from 'solid-js/store'
// import { undo, redo } from 'prosemirror-history' // import { undo, redo } from 'prosemirror-history'
import { File, useState /*, Config, PrettierConfig */ } from './store' import { File, useState /*, Config, PrettierConfig */ } from './prosemirror/context'
import { clsx } from 'clsx' import { clsx } from 'clsx'
import type { Styled } from './Layout' import type { Styled } from './Layout'
// import type { EditorState } from 'prosemirror-state' // import type { EditorState } from 'prosemirror-state'

View File

@ -1,7 +1,7 @@
import './Editor.scss' import './Editor.scss'
import type { EditorView } from 'prosemirror-view' import type { EditorView } from 'prosemirror-view'
import type { EditorState } from 'prosemirror-state' import type { EditorState } from 'prosemirror-state'
import { useState } from './store' import { useState } from './prosemirror/context'
import { ProseMirror } from './prosemirror' import { ProseMirror } from './prosemirror'
export default () => { export default () => {

View File

@ -1,13 +1,11 @@
import { createContext, useContext } from 'solid-js' import { createContext, useContext } from 'solid-js'
import type { Store } from 'solid-js/store' import type { Store } from 'solid-js/store'
import type { XmlFragment } from 'yjs'
import type { WebrtcProvider } from 'y-webrtc' import type { WebrtcProvider } from 'y-webrtc'
import type { ProseMirrorExtension, ProseMirrorState } from '../prosemirror/state' import type { ProseMirrorExtension, ProseMirrorState } from './state'
import type { Reaction } from '../../../graphql/types.gen'
import type { EditorView } from 'prosemirror-view' import type { EditorView } from 'prosemirror-view'
import type { YXmlFragment } from 'yjs/dist/src/internals'
export const isMac = true export const isMac = true // FIXME
export const mod = isMac ? 'Cmd' : 'Ctrl' export const mod = isMac ? 'Cmd' : 'Ctrl'
export const alt = isMac ? 'Cmd' : 'Alt' export const alt = isMac ? 'Cmd' : 'Alt'
@ -15,7 +13,7 @@ export interface Args {
cwd?: string cwd?: string
file?: string file?: string
room?: string room?: string
text?: any text?: string
} }
export interface PrettierConfig { export interface PrettierConfig {
@ -43,8 +41,8 @@ export interface ErrorObject {
props: unknown props: unknown
} }
export interface YOptions { export interface PeerData {
type: XmlFragment payload: YXmlFragment
provider: WebrtcProvider provider: WebrtcProvider
} }
@ -52,13 +50,13 @@ export interface Collab {
started?: boolean started?: boolean
error?: boolean error?: boolean
room?: string room?: string
y?: YOptions y?: PeerData
} }
export type LoadingType = 'loading' | 'initialized' export type LoadingType = 'loading' | 'initialized'
export interface File { export interface File {
text?: { [key: string]: any } text?: { [key: string]: string }
lastModified?: string lastModified?: string
path?: string path?: string
markdown?: boolean markdown?: boolean

View File

@ -4,23 +4,20 @@ import type { EditorState } from 'prosemirror-state'
import { undo, redo } from 'prosemirror-history' import { undo, redo } from 'prosemirror-history'
import { selectAll, deleteSelection } from 'prosemirror-commands' import { selectAll, deleteSelection } from 'prosemirror-commands'
import { undo as yUndo, redo as yRedo } from 'y-prosemirror' import { undo as yUndo, redo as yRedo } from 'y-prosemirror'
import { debounce } from 'ts-debounce' import { debounce } from 'lodash'
// import * as remote from '../prosemirror/remote' import { createSchema, createExtensions, createEmptyText, InitOpts } from '../prosemirror/setup'
import { createSchema, createExtensions, createEmptyText } from '../prosemirror/setup' import { State, File, Config, ServiceError, newState, PeerData } from '../prosemirror/context'
import { State, File, Config, ServiceError, newState } from '.'
// import { isTauri, mod } from '../env'
import { serialize, createMarkdownParser } from '../prosemirror/markdown' import { serialize, createMarkdownParser } from '../prosemirror/markdown'
import { isEmpty, isInitialized } from '../prosemirror/state' import { isEmpty, isInitialized, ProseMirrorExtension } from '../prosemirror/state'
import { isServer } from 'solid-js/web' import { isServer } from 'solid-js/web'
import { roomConnect } from '../../../utils/p2p' import { roomConnect } from '../prosemirror/p2p'
const mod = 'Ctrl' const mod = 'Ctrl'
const isTauri = false const isText = (x): boolean => x && x.doc && x.selection
const isText = (x: any) => x && x.doc && x.selection const isState = (x): boolean => typeof x.lastModified !== 'string' && Array.isArray(x.files)
const isState = (x: any) => typeof x.lastModified !== 'string' && Array.isArray(x.files) const isFile = (x): boolean => x && (x.text || x.path)
const isFile = (x: any): boolean => x && (x.text || x.path)
export const createCtrl = (initial: State): [Store<State>, any] => { export const createCtrl = (initial: State): [Store<State>, { [key: string]: any }] => {
const [store, setState] = createStore(initial) const [store, setState] = createStore(initial)
const discardText = async () => { const discardText = async () => {
@ -35,7 +32,7 @@ export const createCtrl = (initial: State): [Store<State>, any] => {
} else { } else {
const extensions = createExtensions({ const extensions = createExtensions({
config: state.config ?? store.config, config: state.config ?? store.config,
markdown: (state.markdown && store.markdown) as any, markdown: state.markdown && store.markdown,
keymap keymap
}) })
@ -72,35 +69,6 @@ export const createCtrl = (initial: State): [Store<State>, any] => {
] ]
} }
const newFile = () => {
if (isEmpty(store.text) && !store.path) {
return
}
const state: State = unwrap(store)
let files = state.files
if (!state.error) {
files = addToFiles(files, state)
}
const extensions: any[] = createExtensions({
config: state.config ?? store.config,
markdown: state.markdown,
keymap
})
setState({
text: createEmptyText(),
extensions,
files,
lastModified: undefined,
path: undefined,
error: undefined,
collab: undefined
})
}
const discard = async () => { const discard = async () => {
if (store.path) { if (store.path) {
await discardText() await discardText()
@ -112,36 +80,12 @@ export const createCtrl = (initial: State): [Store<State>, any] => {
} }
} }
// FIXME
// eslint-disable-next-line unicorn/consistent-function-scoping
const onQuit = () => {
if (!isTauri) {
console.debug('quit')
// return
}
// remote.quit()
}
const onNew = () => {
newFile()
return true
}
const onDiscard = () => { const onDiscard = () => {
discard() discard()
return true return true
} }
const onFullscreen = () => {
if (!isTauri) return
ctrl.setFullscreen(!store.fullscreen)
return true
}
const onToggleMarkdown = () => toggleMarkdown() const onToggleMarkdown = () => toggleMarkdown()
const onUndo = () => { const onUndo = () => {
@ -173,11 +117,7 @@ export const createCtrl = (initial: State): [Store<State>, any] => {
} }
const keymap = { const keymap = {
[`${mod}-q`]: onQuit,
[`${mod}-n`]: onNew,
[`${mod}-w`]: onDiscard, [`${mod}-w`]: onDiscard,
'Cmd-Enter': onFullscreen,
'Alt-Enter': onFullscreen,
[`${mod}-z`]: onUndo, [`${mod}-z`]: onUndo,
[`Shift-${mod}-z`]: onRedo, [`Shift-${mod}-z`]: onRedo,
[`${mod}-y`]: onRedo, [`${mod}-y`]: onRedo,
@ -205,76 +145,61 @@ export const createCtrl = (initial: State): [Store<State>, any] => {
} }
} }
// FIXME
// eslint-disable-next-line sonarjs/cognitive-complexity
const fetchData = async (): Promise<State> => { const fetchData = async (): Promise<State> => {
let args = {} // await remote.getArgs().catch(() => undefined)
const state: State = unwrap(store) const state: State = unwrap(store)
const room = window.location.pathname?.slice(1).trim()
const args = { room: room || undefined }
if (isServer) return
if (!isTauri) { const { default: db } = await import('../db')
const room = window.location.pathname?.slice(1).trim() const data: string = await db.get('state')
let parsed
args = { room: room || undefined } if (data !== undefined) {
try {
parsed = JSON.parse(data)
if (!parsed) return { ...state, args }
} catch {
throw new ServiceError('invalid_state', data)
}
} }
if (!isServer) { let text = state.text
const { default: db } = await import('../db') if (parsed.text) {
const data: string = await db.get('state') if (!isText(parsed.text)) {
let parsed: any throw new ServiceError('invalid_state', parsed.text)
if (data !== undefined) {
try {
parsed = JSON.parse(data)
} catch {
throw new ServiceError('invalid_state', data)
}
} }
text = parsed.text
if (!parsed) {
return { ...state, args }
}
let text = state.text
if (parsed.text) {
if (!isText(parsed.text)) {
throw new ServiceError('invalid_state', parsed.text)
}
text = parsed.text
}
const extensions = createExtensions({
path: parsed.path,
markdown: parsed.markdown,
keymap,
config: {} as Config
})
const nState = {
...parsed,
text,
extensions,
// config,
args
}
if (nState.lastModified) {
nState.lastModified = new Date(nState.lastModified)
}
for (const file of parsed.files) {
if (!isFile(file)) {
throw new ServiceError('invalid_file', file)
}
}
if (!isState(nState)) {
throw new ServiceError('invalid_state', nState)
}
return nState
} else {
return
} }
const extensions = createExtensions({
path: parsed.path,
markdown: parsed.markdown,
keymap,
config: {} as Config
})
const nState = {
...parsed,
text,
extensions,
// config,
args
}
if (nState.lastModified) {
nState.lastModified = new Date(nState.lastModified)
}
for (const file of parsed.files) {
if (!isFile(file)) {
throw new ServiceError('invalid_file', file)
}
}
if (!isState(nState)) {
throw new ServiceError('invalid_state', nState)
}
return nState
} }
const getTheme = (state: State) => ({ theme: state.config.theme }) const getTheme = (state: State) => ({ theme: state.config.theme })
@ -293,21 +218,12 @@ export const createCtrl = (initial: State): [Store<State>, any] => {
const init = async () => { const init = async () => {
let data = await fetchData() let data = await fetchData()
try { try {
if (data.args?.room) { if (data.args?.room) {
data = doStartCollab(data) data = doStartCollab(data)
} else if (data.args?.text) { } else if (data.args?.text) {
data = await doOpenFile(data, { text: JSON.parse(data.args?.text) }) data = await doOpenFile(data, { text: JSON.parse(data.args?.text) })
} /* else if (data.args?.file) { } else if (!data.text) {
const file = await loadFile(data.config, data.args?.file)
data = await doOpenFile(data, file)
} else if (data.path) {
const file = await loadFile(data.config, data.path)
data = await doOpenFile(data, file)
} */ else if (!data.text) {
const text = createEmptyText() const text = createEmptyText()
const extensions = createExtensions({ const extensions = createExtensions({
config: data.config, config: data.config,
@ -317,55 +233,15 @@ export const createCtrl = (initial: State): [Store<State>, any] => {
data = { ...data, text, extensions } data = { ...data, text, extensions }
} }
} catch (error: any) { } catch (error) {
data = { ...data, error: error.errorObject } data = { ...data, error }
} }
setState({ setState({
...data, ...data,
config: { ...data.config, ...getTheme(data) }, config: { ...data.config, ...getTheme(data) },
loading: 'initialized' loading: 'initialized'
}) })
} }
/*
const loadFile = async (config: Config, path: string): Promise<File> => {
try {
const fileContent = await remote.readFile(path)
const lastModified = await remote.getFileLastModified(path)
const schema = createSchema({
config,
markdown: false,
path,
keymap
})
const parser = createMarkdownParser(schema)
const doc = parser.parse(fileContent).toJSON()
const text = {
doc,
selection: {
type: 'text',
anchor: 1,
head: 1
}
}
return {
text,
lastModified: lastModified.toISOString(),
path
}
} catch (e) {
throw new ServiceError('file_permission_denied', { error: e })
}
}
*/
const openFile = async (file: File) => {
const state: State = unwrap(store)
const update = await doOpenFile(state, file)
setState(update)
}
const doOpenFile = async (state: State, file: File): Promise<State> => { const doOpenFile = async (state: State, file: File): Promise<State> => {
const findIndexOfFile = (f: File) => { const findIndexOfFile = (f: File) => {
@ -398,9 +274,8 @@ export const createCtrl = (initial: State): [Store<State>, any] => {
} }
} }
// eslint-disable-next-line solid/reactivity
const saveState = debounce(async (state: State) => { const saveState = debounce(async (state: State) => {
const data: any = { const data = {
lastModified: state.lastModified, lastModified: state.lastModified,
files: state.files, files: state.files,
config: state.config, config: state.config,
@ -408,17 +283,14 @@ export const createCtrl = (initial: State): [Store<State>, any] => {
markdown: state.markdown, markdown: state.markdown,
collab: { collab: {
room: state.collab?.room room: state.collab?.room
} },
text: ''
} }
if (isInitialized(state.text)) { if (isInitialized(state.text)) {
//if (state.path) {
// const text = serialize(store.editorView.state)
// await remote.writeFile(state.path, text)
//}
data.text = store.editorView.state.toJSON() data.text = store.editorView.state.toJSON()
} else if (state.text) { } else if (state.text) {
data.text = state.text data.text = state.text as string
} }
if (!isServer) { if (!isServer) {
const { default: db } = await import('../db') const { default: db } = await import('../db')
@ -426,11 +298,6 @@ export const createCtrl = (initial: State): [Store<State>, any] => {
} }
}, 200) }, 200)
const setFullscreen = (fullscreen: boolean) => {
// remote.setFullscreen(fullscreen)
setState({ fullscreen })
}
const startCollab = () => { const startCollab = () => {
const state: State = unwrap(store) const state: State = unwrap(store)
const update = doStartCollab(state) const update = doStartCollab(state)
@ -442,15 +309,15 @@ export const createCtrl = (initial: State): [Store<State>, any] => {
const backup = state.args?.room && state.collab?.room !== state.args.room const backup = state.args?.room && state.collab?.room !== state.args.room
const room = state.args?.room ?? uuidv4() const room = state.args?.room ?? uuidv4()
const username = '' // FIXME: use authenticated user name const username = '' // FIXME: use authenticated user name
const [type, provider] = roomConnect(room, username) const [payload, provider] = roomConnect(room, username)
const extensions = createExtensions({ const extensions: ProseMirrorExtension[] = createExtensions({
config: state.config, config: state.config,
markdown: state.markdown, markdown: state.markdown,
path: state.path, path: state.path,
keymap, keymap,
y: { type, provider } y: { payload, provider } as PeerData
}) } as InitOpts)
let nState = state let nState = state
@ -473,7 +340,7 @@ export const createCtrl = (initial: State): [Store<State>, any] => {
return { return {
...nState, ...nState,
extensions, extensions,
collab: { started: true, room, y: { type, provider } } collab: { started: true, room, y: { payload, provider } }
} }
} }
@ -495,7 +362,7 @@ export const createCtrl = (initial: State): [Store<State>, any] => {
const editorState = store.text as EditorState const editorState = store.text as EditorState
const markdown = !state.markdown const markdown = !state.markdown
const selection = { type: 'text', anchor: 1, head: 1 } const selection = { type: 'text', anchor: 1, head: 1 }
let doc: any let doc
if (markdown) { if (markdown) {
const lines = serialize(editorState).split('\n') const lines = serialize(editorState).split('\n')
@ -570,11 +437,7 @@ export const createCtrl = (initial: State): [Store<State>, any] => {
discard, discard,
getTheme, getTheme,
init, init,
// loadFile,
newFile,
openFile,
saveState, saveState,
setFullscreen,
setState, setState,
startCollab, startCollab,
stopCollab, stopCollab,

View File

@ -1,30 +1,28 @@
import { ySyncPlugin, yCursorPlugin, yUndoPlugin } from 'y-prosemirror' import { ySyncPlugin, yCursorPlugin, yUndoPlugin } from 'y-prosemirror'
import type { ProseMirrorExtension } from '../state' import type { ProseMirrorExtension } from '../state'
import type { YOptions } from '../../store' import type { PeerData } from '../context'
export const cursorBuilder = (user: any): HTMLElement => { export const cursorBuilder = (user: {
name: string
foreground: string
background: string
}): HTMLElement => {
const cursor = document.createElement('span') const cursor = document.createElement('span')
const userDiv = document.createElement('span')
cursor.classList.add('ProseMirror-yjs-cursor') cursor.classList.add('ProseMirror-yjs-cursor')
cursor.setAttribute('style', `border-color: ${user.background}`) cursor.setAttribute('style', `border-color: ${user.background}`)
const userDiv = document.createElement('span')
userDiv.setAttribute('style', `background-color: ${user.background}; color: ${user.foreground}`) userDiv.setAttribute('style', `background-color: ${user.background}; color: ${user.foreground}`)
userDiv.textContent = user.name userDiv.textContent = user.name
cursor.append(userDiv) cursor.append(userDiv)
return cursor return cursor
} }
export default (y: YOptions): ProseMirrorExtension => ({ export default (y: PeerData): ProseMirrorExtension => ({
plugins: (prev) => plugins: (prev) =>
y y
? [ ? [
...prev, ...prev,
ySyncPlugin(y.type), ySyncPlugin(y.payload),
// FIXME
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
yCursorPlugin(y.provider.awareness, { cursorBuilder }), yCursorPlugin(y.provider.awareness, { cursorBuilder }),
yUndoPlugin() yUndoPlugin()
] ]

View File

@ -5,7 +5,7 @@ import { EditorView } from 'prosemirror-view'
import { Schema } from 'prosemirror-model' import { Schema } from 'prosemirror-model'
import type { NodeViewFn, ProseMirrorExtension, ProseMirrorState } from './state' import type { NodeViewFn, ProseMirrorExtension, ProseMirrorState } from './state'
interface Props { interface ProseMirrorProps {
style?: string style?: string
class?: string class?: string
text?: Store<ProseMirrorState> text?: Store<ProseMirrorState>
@ -54,7 +54,7 @@ const createEditorState = (
return { editorState, nodeViews } return { editorState, nodeViews }
} }
export const ProseMirror = (props: Props) => { export const ProseMirror = (props: ProseMirrorProps) => {
let editorRef: HTMLDivElement let editorRef: HTMLDivElement
const editorView = () => untrack(() => unwrap(props.editorView)) const editorView = () => untrack(() => unwrap(props.editorView))

View File

@ -2,21 +2,19 @@ import { uniqueNamesGenerator, adjectives, animals } from 'unique-names-generato
import { Awareness } from 'y-protocols/awareness' import { Awareness } from 'y-protocols/awareness'
import { WebrtcProvider } from 'y-webrtc' import { WebrtcProvider } from 'y-webrtc'
import * as Y from 'yjs' import * as Y from 'yjs'
// import type { Reaction } from '../graphql/types.gen' import type { Reaction } from '../../../graphql/types.gen'
import { setReactions } from '../../../stores/editor'
export const roomConnect = ( export const roomConnect = (room, username = '', keyname = 'collab'): [Y.XmlFragment, WebrtcProvider] => {
room,
username = '',
keyname = 'reactions'
): [Y.XmlFragment, WebrtcProvider] => {
const ydoc = new Y.Doc() const ydoc = new Y.Doc()
const yxmlfrag = ydoc.getXmlFragment(keyname) // TODO: use ydoc.getArray(keyname) as Reactions[] const yarr = ydoc.getArray(keyname + '-reactions')
const yXmlFragment = ydoc.getXmlFragment(keyname)
const webrtcOptions = { const webrtcOptions = {
awareness: new Awareness(ydoc), awareness: new Awareness(ydoc),
filterBcConns: true, filterBcConns: true,
maxConns: 33, maxConns: 33,
signaling: [ signaling: [
'wss://signaling.discours.io', // 'wss://signaling.discours.io',
// 'wss://stun.l.google.com:19302', // 'wss://stun.l.google.com:19302',
'wss://y-webrtc-signaling-eu.herokuapp.com', 'wss://y-webrtc-signaling-eu.herokuapp.com',
'wss://signaling.yjs.dev' 'wss://signaling.yjs.dev'
@ -27,6 +25,11 @@ export const roomConnect = (
const provider = new WebrtcProvider(room, ydoc, webrtcOptions) const provider = new WebrtcProvider(room, ydoc, webrtcOptions)
let name = username let name = username
yarr.observeDeep(() => {
console.debug('yarray updated:', yarr.toArray())
setReactions(yarr.toArray() as Reaction[])
})
if (Boolean(name) === false) { if (Boolean(name) === false) {
name = uniqueNamesGenerator({ name = uniqueNamesGenerator({
dictionaries: [adjectives, animals], dictionaries: [adjectives, animals],
@ -37,5 +40,5 @@ export const roomConnect = (
} }
provider.awareness.setLocalStateField('user', { name }) provider.awareness.setLocalStateField('user', { name })
return [yxmlfrag, provider] return [yXmlFragment, provider]
} }

View File

@ -15,20 +15,20 @@ import dragHandle from './extension/drag-handle'
import pasteMarkdown from './extension/paste-markdown' import pasteMarkdown from './extension/paste-markdown'
import table from './extension/table' import table from './extension/table'
import collab from './extension/collab' import collab from './extension/collab'
import type { Config, YOptions } from '../store' import type { Config, PeerData } from './context'
import selectionMenu from './extension/selection' import selectionMenu from './extension/selection'
interface Opts { export interface InitOpts {
data?: unknown data?: unknown
keymap?: any keymap?: any
config: Config config: Config
markdown: boolean markdown: boolean
path?: string path?: string
y?: YOptions y?: PeerData
schema?: Schema schema?: Schema
} }
const customKeymap = (opts: Opts): ProseMirrorExtension => ({ const customKeymap = (opts: InitOpts): ProseMirrorExtension => ({
plugins: (prev) => (opts.keymap ? [...prev, keymap(opts.keymap)] : prev) plugins: (prev) => (opts.keymap ? [...prev, keymap(opts.keymap)] : prev)
}) })
@ -43,7 +43,7 @@ const codeMirrorKeymap = (props: Props) => {
} }
*/ */
export const createExtensions = (opts: Opts): ProseMirrorExtension[] => { export const createExtensions = (opts: InitOpts): ProseMirrorExtension[] => {
return opts.markdown return opts.markdown
? [ ? [
placeholder('Просто начните...'), placeholder('Просто начните...'),
@ -91,7 +91,7 @@ export const createEmptyText = () => ({
} }
}) })
export const createSchema = (opts: Opts) => { export const createSchema = (opts: InitOpts) => {
const extensions = createExtensions(opts) const extensions = createExtensions(opts)
let schemaSpec = { nodes: {} } let schemaSpec = { nodes: {} }

View File

@ -11,7 +11,7 @@ import { t } from '../../utils/intl'
interface BesideProps { interface BesideProps {
title?: string title?: string
values: any[] values: (Shout | User | Topic | Author)[]
beside: Shout beside: Shout
wrapper: 'topic' | 'author' | 'article' | 'top-article' wrapper: 'topic' | 'author' | 'article' | 'top-article'
isTopicCompact?: boolean isTopicCompact?: boolean
@ -40,7 +40,7 @@ export default (props: BesideProps) => {
</Show> </Show>
<ul class="beside-column"> <ul class="beside-column">
<For each={[...props.values]}> <For each={[...props.values]}>
{(value: Partial<Shout | User | Topic>) => ( {(value: Shout | User | Topic | Author) => (
<li classList={{ top: props.wrapper.startsWith('top-') }}> <li classList={{ top: props.wrapper.startsWith('top-') }}>
<Show when={props.wrapper === 'topic'}> <Show when={props.wrapper === 'topic'}>
<TopicCard <TopicCard

View File

@ -1,3 +1,4 @@
import type { JSX } from 'solid-js/jsx-runtime'
import { For, Show } from 'solid-js/web' import { For, Show } from 'solid-js/web'
import type { Shout } from '../../graphql/types.gen' import type { Shout } from '../../graphql/types.gen'
import { ArticleCard } from './Card' import { ArticleCard } from './Card'
@ -5,7 +6,7 @@ import './Group.scss'
interface GroupProps { interface GroupProps {
articles: Shout[] articles: Shout[]
header?: any header?: JSX.Element
} }
export default (props: GroupProps) => { export default (props: GroupProps) => {

View File

@ -1,8 +1,9 @@
import type { JSX } from 'solid-js/jsx-runtime'
import { For } from 'solid-js/web' import { For } from 'solid-js/web'
import type { Shout } from '../../graphql/types.gen' import type { Shout } from '../../graphql/types.gen'
import { ArticleCard } from './Card' import { ArticleCard } from './Card'
export default (props: { articles: Shout[]; header?: any }) => { export default (props: { articles: Shout[]; header?: JSX.Element }) => {
return ( return (
<div class="floor"> <div class="floor">
<div class="wide-container row"> <div class="wide-container row">

View File

@ -100,7 +100,7 @@ export default (props: { code?: string; mode?: string }) => {
const localAuth = async () => { const localAuth = async () => {
console.log('[auth] native account processing') console.log('[auth] native account processing')
switch (mode()) { switch (mode()) {
case 'sign-in': case 'sign-in': {
try { try {
await signIn({ email: emailElement?.value, password: passElement?.value }) await signIn({ email: emailElement?.value, password: passElement?.value })
} catch (error) { } catch (error) {
@ -120,7 +120,8 @@ export default (props: { code?: string; mode?: string }) => {
} }
break break
case 'sign-up': }
case 'sign-up': {
if (pass2Element?.value !== passElement?.value) { if (pass2Element?.value !== passElement?.value) {
setError(t('Passwords are not equal')) setError(t('Passwords are not equal'))
} else { } else {
@ -130,15 +131,18 @@ export default (props: { code?: string; mode?: string }) => {
}) })
} }
break break
case 'reset': }
case 'reset': {
// send reset-code to login with email // send reset-code to login with email
console.log('[auth] reset code: ' + codeElement?.value) console.log('[auth] reset code: ' + codeElement?.value)
// TODO: authReset(codeElement?.value) // TODO: authReset(codeElement?.value)
break break
case 'resend': }
case 'resend': {
// TODO: authResend(emailElement?.value) // TODO: authResend(emailElement?.value)
break break
case 'forget': }
case 'forget': {
// shows forget mode of auth-modal // shows forget mode of auth-modal
if (pass2Element?.value !== passElement?.value) { if (pass2Element?.value !== passElement?.value) {
setError(t('Passwords are not equal')) setError(t('Passwords are not equal'))
@ -146,8 +150,10 @@ export default (props: { code?: string; mode?: string }) => {
// TODO: authForget(passElement?.value) // TODO: authForget(passElement?.value)
} }
break break
default: }
default: {
console.log('[auth] unknown auth mode', mode()) console.log('[auth] unknown auth mode', mode())
}
} }
} }

View File

@ -1,4 +1,4 @@
import { createEffect, createSignal, onMount, Show } from 'solid-js' import { createEffect, createSignal, JSX, onMount, Show } from 'solid-js'
import { getLogger } from '../../utils/logger' import { getLogger } from '../../utils/logger'
import './Modal.scss' import './Modal.scss'
import { hideModal, useModalStore } from '../../stores/ui' import { hideModal, useModalStore } from '../../stores/ui'
@ -7,7 +7,7 @@ const log = getLogger('modal')
interface ModalProps { interface ModalProps {
name: string name: string
children: any children: JSX.Element
} }
export const Modal = (props: ModalProps) => { export const Modal = (props: ModalProps) => {

View File

@ -1,7 +1,8 @@
import type { JSX } from 'solid-js/jsx-runtime'
import type { ModalType } from '../../stores/ui' import type { ModalType } from '../../stores/ui'
import { showModal } from '../../stores/ui' import { showModal } from '../../stores/ui'
export default (props: { name: ModalType; children: any }) => { export default (props: { name: ModalType; children: JSX.Element }) => {
return ( return (
<a href="#" onClick={() => showModal(props.name)}> <a href="#" onClick={() => showModal(props.name)}>
{props.children} {props.children}

View File

@ -4,7 +4,7 @@ import { Icon } from './Icon'
import styles from './Private.module.scss' import styles from './Private.module.scss'
import { useAuthStore } from '../../stores/auth' import { useAuthStore } from '../../stores/auth'
import { useRouter } from '../../stores/router' import { useRouter } from '../../stores/router'
import clsx from 'clsx' import { clsx } from 'clsx'
export default () => { export default () => {
const { session } = useAuthStore() const { session } = useAuthStore()

View File

@ -1,4 +1,4 @@
import { createEffect, createMemo, createSignal, For, Show } from 'solid-js' import { createEffect, createMemo, For, Show } from 'solid-js'
import type { Author } from '../../graphql/types.gen' import type { Author } from '../../graphql/types.gen'
import { AuthorCard } from '../Author/Card' import { AuthorCard } from '../Author/Card'
import { Icon } from '../Nav/Icon' import { Icon } from '../Nav/Icon'
@ -8,7 +8,6 @@ import { handleClientRouteLinkClick, useRouter } from '../../stores/router'
import { useAuthStore } from '../../stores/auth' import { useAuthStore } from '../../stores/auth'
import { getLogger } from '../../utils/logger' import { getLogger } from '../../utils/logger'
import '../../styles/AllTopics.scss' import '../../styles/AllTopics.scss'
import { Topic } from '../../graphql/types.gen'
const log = getLogger('AllAuthorsView') const log = getLogger('AllAuthorsView')

View File

@ -1,7 +1,7 @@
import { Show, onCleanup, createEffect, onError, onMount, untrack } from 'solid-js' import { Show, onCleanup, createEffect, onError, onMount, untrack } from 'solid-js'
import { createMutable, unwrap } from 'solid-js/store' import { createMutable, unwrap } from 'solid-js/store'
import { State, StateContext, newState } from '../Editor/store' import { State, StateContext, newState } from '../Editor/prosemirror/context'
import { createCtrl } from '../Editor/store/ctrl' import { createCtrl } from '../Editor/prosemirror/ctrl'
import { Layout } from '../Editor/Layout' import { Layout } from '../Editor/Layout'
import Editor from '../Editor' import Editor from '../Editor'
import { Sidebar } from '../Editor/Sidebar' import { Sidebar } from '../Editor/Sidebar'

View File

@ -1,4 +1,4 @@
import { createEffect, createMemo, For, onMount, Show } from 'solid-js' import { createMemo, For, onMount, Show } from 'solid-js'
import Banner from '../Discours/Banner' import Banner from '../Discours/Banner'
import { NavTopics } from '../Nav/Topics' import { NavTopics } from '../Nav/Topics'
import { Row5 } from '../Feed/Row5' import { Row5 } from '../Feed/Row5'

View File

@ -11,7 +11,7 @@ export default gql`
communities communities
links links
createdAt createdAt
wasOnlineAt lastSeen
ratings { ratings {
_id: rater _id: rater
rater rater

View File

@ -11,7 +11,7 @@ export default gql`
communities communities
links links
createdAt createdAt
wasOnlineAt lastSeen
ratings { ratings {
_id: rater _id: rater
rater rater

View File

@ -11,7 +11,7 @@ export default gql`
communities communities
links links
createdAt createdAt
wasOnlineAt lastSeen
ratings { ratings {
_id: rater _id: rater
rater rater

View File

@ -11,7 +11,7 @@ export default gql`
communities communities
links links
createdAt createdAt
wasOnlineAt lastSeen
ratings { ratings {
_id: rater _id: rater
rater rater

View File

@ -1,7 +1,7 @@
import { persistentAtom } from '@nanostores/persistent' import { persistentAtom } from '@nanostores/persistent'
import { Reaction, ReactionKind } from '../graphql/types.gen' import type { Reaction } from '../graphql/types.gen'
import { atom, computed } from 'nanostores' import { atom } from 'nanostores'
import { reactions } from './zine/reactions' import { createSignal } from 'solid-js'
interface Draft { interface Draft {
createdAt: Date createdAt: Date
@ -17,13 +17,13 @@ interface Collab {
title?: string title?: string
} }
const drafts = persistentAtom<Draft[]>('drafts', [], { export const drafts = persistentAtom<Draft[]>('drafts', [], {
encode: JSON.stringify, encode: JSON.stringify,
decode: JSON.parse decode: JSON.parse
}) // save drafts on device }) // save drafts on device
const collabs = atom<Collab[]>([]) // save collabs in backend or in p2p network export const collabs = atom<Collab[]>([]) // save collabs in backend or in p2p network
export const [editorReactions, setReactions] = createSignal<Reaction[]>([])
/* /*
const approvals = computed( const approvals = computed(
reactions, reactions,
@ -36,4 +36,3 @@ const proposals = computed<Reaction[], typeof reactions>(
.filter((r: Reaction) => r.kind === ReactionKind.Propose) .filter((r: Reaction) => r.kind === ReactionKind.Propose)
) )
*/ */
export { drafts, collabs /* approvals, proposals */ }

View File

@ -1,7 +1,5 @@
import { apiClient } from '../../utils/apiClient' import { apiClient } from '../../utils/apiClient'
import type { Author } from '../../graphql/types.gen' import type { Author } from '../../graphql/types.gen'
import { byCreated, byStat, byTopicStatDesc } from '../../utils/sortby'
import { getLogger } from '../../utils/logger' import { getLogger } from '../../utils/logger'
import { createSignal } from 'solid-js' import { createSignal } from 'solid-js'
import { createLazyMemo } from '@solid-primitives/memo' import { createLazyMemo } from '@solid-primitives/memo'
@ -25,16 +23,19 @@ const sortedAuthors = createLazyMemo(() => {
// authors.sort(byCreated) // authors.sort(byCreated)
// break // break
// } // }
case 'rating': case 'rating': {
// TODO: // TODO:
break break
case 'shouts': }
case 'shouts': {
// TODO: // TODO:
break break
case 'name': }
case 'name': {
log.debug('sorted by name') log.debug('sorted by name')
authors.sort((a, b) => a.name.localeCompare(b.name)) authors.sort((a, b) => a.name.localeCompare(b.name))
break break
}
} }
return authors return authors
}) })

View File

@ -21,24 +21,29 @@ const sortedTopics = createLazyMemo<Topic[]>(() => {
const topics = Object.values(topicEntities()) const topics = Object.values(topicEntities())
switch (sortAllBy()) { switch (sortAllBy()) {
case 'created': case 'created': {
// log.debug('sorted by created') // log.debug('sorted by created')
topics.sort(byCreated) topics.sort(byCreated)
break break
case 'shouts': }
case 'shouts': {
// log.debug(`sorted by shouts`) // log.debug(`sorted by shouts`)
topics.sort(byTopicStatDesc('shouts')) topics.sort(byTopicStatDesc('shouts'))
break break
case 'authors': }
case 'authors': {
// log.debug(`sorted by authors`) // log.debug(`sorted by authors`)
topics.sort(byTopicStatDesc('authors')) topics.sort(byTopicStatDesc('authors'))
break break
case 'title': }
case 'title': {
// log.debug('sorted by title') // log.debug('sorted by title')
topics.sort((a, b) => a.title.localeCompare(b.title)) topics.sort((a, b) => a.title.localeCompare(b.title))
break break
default: }
default: {
log.error(`Unknown sort: ${sortAllBy()}`) log.error(`Unknown sort: ${sortAllBy()}`)
}
} }
return topics return topics

View File

@ -1,4 +1,6 @@
export const groupByName = (arr: any[]) => { import type { Author, Shout, Topic } from '../graphql/types.gen'
export const groupByName = (arr: Author[]) => {
return arr.reduce( return arr.reduce(
(acc, tt) => { (acc, tt) => {
let c = (tt.name || '') let c = (tt.name || '')
@ -18,7 +20,7 @@ export const groupByName = (arr: any[]) => {
) )
} }
export const groupByTitle = (arr: any[]) => { export const groupByTitle = (arr: (Shout | Topic)[]) => {
return arr.reduce( return arr.reduce(
(acc, tt) => { (acc, tt) => {
let c = (tt.title || '') let c = (tt.title || '')

View File

@ -1,6 +1,6 @@
export const reflow = () => document.body.clientWidth export const reflow = () => document.body.clientWidth
export const unique = (v: any[]) => { export const unique = (v) => {
const s = new Set(v) const s = new Set(v)
return [...s] return [...s]
} }
@ -45,6 +45,7 @@ export const plural = (amount: number, w: string[]) => {
return w[0] return w[0]
} }
// eslint-disable-next-line @typescript-eslint/no-explicit-any
export const shuffle = (items: any[]) => { export const shuffle = (items: any[]) => {
const cached = [...items] const cached = [...items]
let temp let temp

View File

@ -1,8 +1,8 @@
import type { Stat, Topic, TopicStat } from '../graphql/types.gen' import type { Author, Reaction, Shout, Stat, Topic, TopicStat } from '../graphql/types.gen'
export const byFirstChar = (a, b) => (a.name || a.title || '').localeCompare(b.name || b.title || '') export const byFirstChar = (a, b) => (a.name || a.title || '').localeCompare(b.name || b.title || '')
export const byCreated = (a: any, b: any) => { export const byCreated = (a: Shout | Reaction, b: Shout | Reaction) => {
const x = new Date(a?.createdAt) const x = new Date(a?.createdAt)
const y = new Date(b?.createdAt) const y = new Date(b?.createdAt)
@ -13,7 +13,10 @@ export const byCreated = (a: any, b: any) => {
return 0 return 0
} }
export const byLength = (a: any[], b: any[]) => { export const byLength = (
a: (Shout | Reaction | Topic | Author)[],
b: (Shout | Reaction | Topic | Author)[]
) => {
const x = a.length const x = a.length
const y = b.length const y = b.length

467
yarn.lock
View File

@ -50,6 +50,11 @@
resolved "https://registry.yarnpkg.com/@astrojs/compiler/-/compiler-0.23.5.tgz#ea57a2b994b2930e3b3d2d524f10866698fef4f1" resolved "https://registry.yarnpkg.com/@astrojs/compiler/-/compiler-0.23.5.tgz#ea57a2b994b2930e3b3d2d524f10866698fef4f1"
integrity sha512-vBMPy9ok4iLapSyCCT1qsZ9dK7LkVFl9mObtLEmWiec9myGHS9h2kQY2xzPeFNJiWXUf9O6tSyQpQTy5As/p3g== integrity sha512-vBMPy9ok4iLapSyCCT1qsZ9dK7LkVFl9mObtLEmWiec9myGHS9h2kQY2xzPeFNJiWXUf9O6tSyQpQTy5As/p3g==
"@astrojs/compiler@^0.27.0":
version "0.27.0"
resolved "https://registry.yarnpkg.com/@astrojs/compiler/-/compiler-0.27.0.tgz#a1f8c2f4d8a17f38975edf254a7dc616fad11e96"
integrity sha512-iFZ7aHEMtZnUYnL/PWAaxMB6YMLfHlj+dRi86ALngDpuKRELEDQrxhpwGShAoOW//SZX0BYc5mZpAa92TuB7yg==
"@astrojs/language-server@^0.26.2": "@astrojs/language-server@^0.26.2":
version "0.26.2" version "0.26.2"
resolved "https://registry.yarnpkg.com/@astrojs/language-server/-/language-server-0.26.2.tgz#0e685f2e1d76d06f682d9d0f93a9b35f0b5c23d8" resolved "https://registry.yarnpkg.com/@astrojs/language-server/-/language-server-0.26.2.tgz#0e685f2e1d76d06f682d9d0f93a9b35f0b5c23d8"
@ -283,7 +288,7 @@
dependencies: dependencies:
tslib "^2.3.1" tslib "^2.3.1"
"@aws-sdk/client-s3@^3.178.0": "@aws-sdk/client-s3@^3.186.0":
version "3.186.0" version "3.186.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.186.0.tgz#07942a691d3a30616f040ce7b3f9668cb027d4c9" resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.186.0.tgz#07942a691d3a30616f040ce7b3f9668cb027d4c9"
integrity sha512-tUvUkqKh1MQ8g4HDJyekZnSVjJ44pjo0QZmrV9gwpnyCymYoxPShz5zT5CsYyXYTOx81yxIBw6/mkFKEJ8MZ2g== integrity sha512-tUvUkqKh1MQ8g4HDJyekZnSVjJ44pjo0QZmrV9gwpnyCymYoxPShz5zT5CsYyXYTOx81yxIBw6/mkFKEJ8MZ2g==
@ -1653,7 +1658,7 @@
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.10.tgz#78a42897c2cf8db9fd5f1811f7590393b77774c7" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.10.tgz#78a42897c2cf8db9fd5f1811f7590393b77774c7"
integrity sha512-w0Ou3Z83LOYEkwaui2M8VwIp+nLi/NA60lBLMvaJ+vXVMcsARYdEzLNE7RSm4+lSg4zq4d7fAVuzk7PNQ5JFgg== integrity sha512-w0Ou3Z83LOYEkwaui2M8VwIp+nLi/NA60lBLMvaJ+vXVMcsARYdEzLNE7RSm4+lSg4zq4d7fAVuzk7PNQ5JFgg==
"@eslint/eslintrc@^1.3.0", "@eslint/eslintrc@^1.3.2": "@eslint/eslintrc@^1.3.2":
version "1.3.2" version "1.3.2"
resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.2.tgz#58b69582f3b7271d8fa67fe5251767a5b38ea356" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.2.tgz#58b69582f3b7271d8fa67fe5251767a5b38ea356"
integrity sha512-AXYd23w1S/bv3fTs3Lz0vjiYemS08jWkI3hYyS9I1ry+0f+Yjs1wm+sU0BS8qDOPrBIkp4qHYC16I8uVtpLajQ== integrity sha512-AXYd23w1S/bv3fTs3Lz0vjiYemS08jWkI3hYyS9I1ry+0f+Yjs1wm+sU0BS8qDOPrBIkp4qHYC16I8uVtpLajQ==
@ -2016,7 +2021,7 @@
resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.1.1.tgz#076d78ce99822258cf813ecc1e7fa460fa74d052" resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.1.1.tgz#076d78ce99822258cf813ecc1e7fa460fa74d052"
integrity sha512-NQ17ii0rK1b34VZonlmT2QMJFI70m0TRwbknO/ihlbatXyaktDhN/98vBiUU6kNBPljqGqyIrl2T4nY2RpFANg== integrity sha512-NQ17ii0rK1b34VZonlmT2QMJFI70m0TRwbknO/ihlbatXyaktDhN/98vBiUU6kNBPljqGqyIrl2T4nY2RpFANg==
"@humanwhocodes/config-array@^0.10.4", "@humanwhocodes/config-array@^0.10.5": "@humanwhocodes/config-array@^0.10.5":
version "0.10.7" version "0.10.7"
resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.10.7.tgz#6d53769fd0c222767e6452e8ebda825c22e9f0dc" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.10.7.tgz#6d53769fd0c222767e6452e8ebda825c22e9f0dc"
integrity sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w== integrity sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w==
@ -2517,7 +2522,7 @@
dependencies: dependencies:
"@sinonjs/commons" "^1.7.0" "@sinonjs/commons" "^1.7.0"
"@solid-devtools/debugger@^0.11.0": "@solid-devtools/debugger@^0.11.0", "@solid-devtools/debugger@^0.11.1":
version "0.11.1" version "0.11.1"
resolved "https://registry.yarnpkg.com/@solid-devtools/debugger/-/debugger-0.11.1.tgz#7e14f5a008cc45e74436ff5dba7be5039f060b38" resolved "https://registry.yarnpkg.com/@solid-devtools/debugger/-/debugger-0.11.1.tgz#7e14f5a008cc45e74436ff5dba7be5039f060b38"
integrity sha512-LlhVFgN0BfAVZ3cXqn5ZvVJEOOOgu1CxEAH2xCWp0iKXxRnElIrdhpTAqP3+rmS6JJJ3NPALvcmQC4n+ogFmbA== integrity sha512-LlhVFgN0BfAVZ3cXqn5ZvVJEOOOgu1CxEAH2xCWp0iKXxRnElIrdhpTAqP3+rmS6JJJ3NPALvcmQC4n+ogFmbA==
@ -2530,39 +2535,13 @@
optionalDependencies: optionalDependencies:
"@solid-devtools/transform" "^0.7.3" "@solid-devtools/transform" "^0.7.3"
"@solid-devtools/debugger@^0.9.0", "@solid-devtools/debugger@^0.9.1": "@solid-devtools/locator@^0.16.5":
version "0.9.2" version "0.16.6"
resolved "https://registry.yarnpkg.com/@solid-devtools/debugger/-/debugger-0.9.2.tgz#f80daae316a5f2dec6e39b1d80cca7c51c29fbf5" resolved "https://registry.yarnpkg.com/@solid-devtools/locator/-/locator-0.16.6.tgz#e08f9165fd02bd1c460af7591b99411819522026"
integrity sha512-s0+FWWGpbYDNdX+TIT1Tc4MQcObYw6QkaVRqliHLTgDxqFgfXb1n/6+8K1BTw6yHPM/8UA+mJIYEPSpO4NDJvQ== integrity sha512-InvBcJSbUfIGvkf0qBGJ3SOfnjnK6UI5mG6qBDmDXWymkC58Z4+SoaIbS64tQM+OPHSfZcY++BkgLMBv1Nj0/w==
dependencies: dependencies:
"@solid-devtools/shared" "^0.8.2" "@solid-devtools/debugger" "^0.11.1"
"@solid-primitives/event-bus" "^0.1.2" "@solid-devtools/shared" "^0.8.6"
"@solid-primitives/refs" "^0.3.2"
"@solid-primitives/scheduled" "^1.0.1"
"@solid-primitives/utils" "^3.0.2"
object-observer "^5.1.5"
type-fest "^2.19.0"
optionalDependencies:
"@solid-devtools/transform" "^0.7.3"
"@solid-devtools/ext-adapter@^0.16.2":
version "0.16.3"
resolved "https://registry.yarnpkg.com/@solid-devtools/ext-adapter/-/ext-adapter-0.16.3.tgz#005dd5e9dd4708c4028cbf725a84683978e296ed"
integrity sha512-30hdTTKZk22A+a8UArDLEWozclToHHCwtHxyjde5OPL8FFHy7ArAZzsJOS5biGcK6HXl9Z4+yXfZcTN0iA8XEw==
dependencies:
"@solid-devtools/debugger" "^0.9.1"
"@solid-devtools/locator" "^0.16.3"
"@solid-devtools/shared" "^0.8.1"
"@solid-primitives/utils" "^3.0.2"
type-fest "^2.19.0"
"@solid-devtools/locator@^0.16.2", "@solid-devtools/locator@^0.16.3":
version "0.16.5"
resolved "https://registry.yarnpkg.com/@solid-devtools/locator/-/locator-0.16.5.tgz#152708d5c28c21a705026b26c49e9ab3f1598f11"
integrity sha512-a59wR7Ho5YpazNKI9pUKkGD9MM3gKsQw5PpaKiP7ARazuFqXGQsJORfbTerCojpHPMcv0EQyk81Ky81WclcjVg==
dependencies:
"@solid-devtools/debugger" "^0.11.0"
"@solid-devtools/shared" "^0.8.4"
"@solid-primitives/bounds" "^0.0.102" "@solid-primitives/bounds" "^0.0.102"
"@solid-primitives/cursor" "^0.0.100" "@solid-primitives/cursor" "^0.0.100"
"@solid-primitives/event-listener" "^2.2.2" "@solid-primitives/event-listener" "^2.2.2"
@ -2573,9 +2552,9 @@
clsx "^1.2.1" clsx "^1.2.1"
motion "^10.14.2" motion "^10.14.2"
optionalDependencies: optionalDependencies:
"@solid-devtools/transform" "^0.7.3" "@solid-devtools/transform" "^0.7.4"
"@solid-devtools/logger@^0.4.7": "@solid-devtools/logger@^0.4.9":
version "0.4.9" version "0.4.9"
resolved "https://registry.yarnpkg.com/@solid-devtools/logger/-/logger-0.4.9.tgz#8643c071abe487c4b3ac9603e7501e90f682e45f" resolved "https://registry.yarnpkg.com/@solid-devtools/logger/-/logger-0.4.9.tgz#8643c071abe487c4b3ac9603e7501e90f682e45f"
integrity sha512-yfQPWafeTumWOCdNJBTPjvlUIze8LoYFeqzYQUPscoEQbkznD71OEiTYpCenDWqCPxzr9K+n2MWVc+phLTUL6A== integrity sha512-yfQPWafeTumWOCdNJBTPjvlUIze8LoYFeqzYQUPscoEQbkznD71OEiTYpCenDWqCPxzr9K+n2MWVc+phLTUL6A==
@ -2584,7 +2563,7 @@
"@solid-devtools/shared" "^0.8.4" "@solid-devtools/shared" "^0.8.4"
"@solid-primitives/utils" "^3.0.2" "@solid-primitives/utils" "^3.0.2"
"@solid-devtools/shared@^0.8.1", "@solid-devtools/shared@^0.8.2", "@solid-devtools/shared@^0.8.4", "@solid-devtools/shared@^0.8.5": "@solid-devtools/shared@^0.8.4", "@solid-devtools/shared@^0.8.5":
version "0.8.5" version "0.8.5"
resolved "https://registry.yarnpkg.com/@solid-devtools/shared/-/shared-0.8.5.tgz#f48d343ddb2c7bac7572cfd11ef3f05e064dc04e" resolved "https://registry.yarnpkg.com/@solid-devtools/shared/-/shared-0.8.5.tgz#f48d343ddb2c7bac7572cfd11ef3f05e064dc04e"
integrity sha512-uQVAwrVizFWY5xmA1RUVJzOnqFqjS6lo3Y32GblGs9035fbqZ/JAd2w0wElHsJ+fa7v0K5BdHyYrTZuUMki7Uw== integrity sha512-uQVAwrVizFWY5xmA1RUVJzOnqFqjS6lo3Y32GblGs9035fbqZ/JAd2w0wElHsJ+fa7v0K5BdHyYrTZuUMki7Uw==
@ -2597,7 +2576,20 @@
"@solid-primitives/utils" "^3.0.2" "@solid-primitives/utils" "^3.0.2"
type-fest "^2.19.0" type-fest "^2.19.0"
"@solid-devtools/transform@^0.7.3": "@solid-devtools/shared@^0.8.6":
version "0.8.6"
resolved "https://registry.yarnpkg.com/@solid-devtools/shared/-/shared-0.8.6.tgz#6cae3befd3097e9b78f8b69a408aa81eca6d528e"
integrity sha512-poB0yJjXck8WNf6v6YXTa6S6fNqklFz2scmnBqPTKGGd84/2WSEqWvl/C0TAKYsVVMNOUuIX2jWq0HyYQgz6NQ==
dependencies:
"@solid-primitives/event-bus" "^0.1.2"
"@solid-primitives/event-listener" "^2.2.2"
"@solid-primitives/immutable" "^0.1.2"
"@solid-primitives/rootless" "^1.1.3"
"@solid-primitives/scheduled" "^1.0.1"
"@solid-primitives/utils" "^3.0.2"
type-fest "^2.19.0"
"@solid-devtools/transform@^0.7.3", "@solid-devtools/transform@^0.7.4":
version "0.7.4" version "0.7.4"
resolved "https://registry.yarnpkg.com/@solid-devtools/transform/-/transform-0.7.4.tgz#faaccd6c6b7a7cee4e3437ff4ee13444abb8a527" resolved "https://registry.yarnpkg.com/@solid-devtools/transform/-/transform-0.7.4.tgz#faaccd6c6b7a7cee4e3437ff4ee13444abb8a527"
integrity sha512-A7uof7VbRuIDZaMADpAVbJChinfe4bcmqdzXlGgBlQ7GjxP9cTBF3m82qPpdBLxtPV13vsfG+BfpdIZYSvf7Kg== integrity sha512-A7uof7VbRuIDZaMADpAVbJChinfe4bcmqdzXlGgBlQ7GjxP9cTBF3m82qPpdBLxtPV13vsfG+BfpdIZYSvf7Kg==
@ -2675,15 +2667,6 @@
resolved "https://registry.yarnpkg.com/@solid-primitives/platform/-/platform-0.0.101.tgz#7bfa879152a59169589e2dc999aac8ceb63233c7" resolved "https://registry.yarnpkg.com/@solid-primitives/platform/-/platform-0.0.101.tgz#7bfa879152a59169589e2dc999aac8ceb63233c7"
integrity sha512-Dn12QFiihRKIzlGMuPsxpW89uekX3BmreofTCFrZpiwUGSGYTYa2eNbpYFYqkOgSKpGkV+HNU2fVWTuXFJhtWg== integrity sha512-Dn12QFiihRKIzlGMuPsxpW89uekX3BmreofTCFrZpiwUGSGYTYa2eNbpYFYqkOgSKpGkV+HNU2fVWTuXFJhtWg==
"@solid-primitives/refs@^0.3.2":
version "0.3.2"
resolved "https://registry.yarnpkg.com/@solid-primitives/refs/-/refs-0.3.2.tgz#6935105264cfd929df8303d46b4f7a99f535fd47"
integrity sha512-5bwL25wCpnEtlz3cScj3TNHpqeVYAqCbkdmnB/+KLwOJyfNSEm1RsFzOT6SIsd0lRJeY5Of4TeRlUT/tPofAXw==
dependencies:
"@solid-primitives/immutable" "^0.1.2"
"@solid-primitives/rootless" "^1.1.3"
"@solid-primitives/utils" "^3.0.2"
"@solid-primitives/resize-observer@^2.0.4": "@solid-primitives/resize-observer@^2.0.4":
version "2.0.4" version "2.0.4"
resolved "https://registry.yarnpkg.com/@solid-primitives/resize-observer/-/resize-observer-2.0.4.tgz#fdfc8d70a6e134d58b63e56dd41e64dcb6cfbf7d" resolved "https://registry.yarnpkg.com/@solid-primitives/resize-observer/-/resize-observer-2.0.4.tgz#fdfc8d70a6e134d58b63e56dd41e64dcb6cfbf7d"
@ -3010,7 +2993,7 @@
resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c"
integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==
"@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2": "@types/unist@*", "@types/unist@^2.0.0":
version "2.0.6" version "2.0.6"
resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.6.tgz#250a7b16c3b91f672a24552ec64678eeb1d3a08d" resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.6.tgz#250a7b16c3b91f672a24552ec64678eeb1d3a08d"
integrity sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ== integrity sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==
@ -3225,7 +3208,7 @@ abort-controller@^3.0.0:
dependencies: dependencies:
event-target-shim "^5.0.0" event-target-shim "^5.0.0"
acorn-jsx@^5.0.0, acorn-jsx@^5.3.2: acorn-jsx@^5.3.2:
version "5.3.2" version "5.3.2"
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
@ -3235,7 +3218,7 @@ acorn-walk@^8.1.1:
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1"
integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==
acorn@^8.0.0, acorn@^8.4.1, acorn@^8.6.0, acorn@^8.7.1, acorn@^8.8.0: acorn@^8.4.1, acorn@^8.6.0, acorn@^8.7.1, acorn@^8.8.0:
version "8.8.0" version "8.8.0"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8"
integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==
@ -3464,7 +3447,7 @@ astral-regex@^2.0.0:
resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
astro-eslint-parser@^0.6.0, astro-eslint-parser@^0.6.1: astro-eslint-parser@^0.6.1:
version "0.6.3" version "0.6.3"
resolved "https://registry.yarnpkg.com/astro-eslint-parser/-/astro-eslint-parser-0.6.3.tgz#03ba1245a6b7515b5357674630718f095971ec9b" resolved "https://registry.yarnpkg.com/astro-eslint-parser/-/astro-eslint-parser-0.6.3.tgz#03ba1245a6b7515b5357674630718f095971ec9b"
integrity sha512-lwGKdR1HqCbdF1NNuj0JL6tSVcJvLF63CGm7PaFFYAa6WTKj6Wa/TknNJK3JM/s433OGGFpnykIQaBZ74K+apg== integrity sha512-lwGKdR1HqCbdF1NNuj0JL6tSVcJvLF63CGm7PaFFYAa6WTKj6Wa/TknNJK3JM/s433OGGFpnykIQaBZ74K+apg==
@ -3476,6 +3459,18 @@ astro-eslint-parser@^0.6.0, astro-eslint-parser@^0.6.1:
eslint-visitor-keys "^3.0.0" eslint-visitor-keys "^3.0.0"
espree "^9.0.0" espree "^9.0.0"
astro-eslint-parser@^0.7.0:
version "0.7.2"
resolved "https://registry.yarnpkg.com/astro-eslint-parser/-/astro-eslint-parser-0.7.2.tgz#1c0ce35930a5a87e2784678dde4c14190ad715e9"
integrity sha512-WgmUAjfmhlWoVQvaJsMCrX3QB7jIgBoBJO7bx3hxG2W+rKMmBP6MYR/Gl7tJciLdz3yld9Q1LqIRdRg9efBQSw==
dependencies:
"@astrojs/compiler" "^0.27.0"
"@typescript-eslint/types" "^5.25.0"
astrojs-compiler-sync "^0.3.0"
debug "^4.3.4"
eslint-visitor-keys "^3.0.0"
espree "^9.0.0"
astro@^1.1.1: astro@^1.1.1:
version "1.4.5" version "1.4.5"
resolved "https://registry.yarnpkg.com/astro/-/astro-1.4.5.tgz#6515d8d6edd0d73be80707408c345dfe8c8c7b9a" resolved "https://registry.yarnpkg.com/astro/-/astro-1.4.5.tgz#6515d8d6edd0d73be80707408c345dfe8c8c7b9a"
@ -3548,6 +3543,13 @@ astrojs-compiler-sync@^0.2.0:
dependencies: dependencies:
synckit "^0.8.0" synckit "^0.8.0"
astrojs-compiler-sync@^0.3.0:
version "0.3.1"
resolved "https://registry.yarnpkg.com/astrojs-compiler-sync/-/astrojs-compiler-sync-0.3.1.tgz#15acc667802f46bca9c57ab04b75c2f7b30bf24c"
integrity sha512-IzPuzkwdiRIZoBhCTuFhuBMWVESXgthTdwQ24QS8LvLargcWAA4E21KmZo4wimsmOG5vj4KKs9QFpy9zhXuo9Q==
dependencies:
synckit "^0.8.0"
asynckit@^0.4.0: asynckit@^0.4.0:
version "0.4.0" version "0.4.0"
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
@ -4003,31 +4005,16 @@ character-entities-html4@^2.0.0:
resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz#1f1adb940c971a4b22ba39ddca6b618dc6e56b2b" resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz#1f1adb940c971a4b22ba39ddca6b618dc6e56b2b"
integrity sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA== integrity sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==
character-entities-legacy@^1.0.0:
version "1.1.4"
resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1"
integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==
character-entities-legacy@^3.0.0: character-entities-legacy@^3.0.0:
version "3.0.0" version "3.0.0"
resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz#76bc83a90738901d7bc223a9e93759fdd560125b" resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz#76bc83a90738901d7bc223a9e93759fdd560125b"
integrity sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ== integrity sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==
character-entities@^1.0.0:
version "1.2.4"
resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b"
integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==
character-entities@^2.0.0: character-entities@^2.0.0:
version "2.0.2" version "2.0.2"
resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-2.0.2.tgz#2d09c2e72cd9523076ccb21157dff66ad43fcc22" resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-2.0.2.tgz#2d09c2e72cd9523076ccb21157dff66ad43fcc22"
integrity sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ== integrity sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==
character-reference-invalid@^1.0.0:
version "1.1.4"
resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560"
integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==
character-reference-invalid@^2.0.0: character-reference-invalid@^2.0.0:
version "2.0.1" version "2.0.1"
resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz#85c66b041e43b47210faf401278abf808ac45cb9" resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz#85c66b041e43b47210faf401278abf808ac45cb9"
@ -4063,7 +4050,7 @@ chownr@^2.0.0:
resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece"
integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==
ci-info@^3.2.0, ci-info@^3.3.1, ci-info@^3.3.2: ci-info@^3.2.0, ci-info@^3.3.1, ci-info@^3.4.0:
version "3.4.0" version "3.4.0"
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.4.0.tgz#b28484fd436cbc267900364f096c9dc185efb251" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.4.0.tgz#b28484fd436cbc267900364f096c9dc185efb251"
integrity sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug== integrity sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug==
@ -5002,13 +4989,13 @@ eslint-config-prettier@^8.5.0:
resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1" resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1"
integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q== integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==
eslint-config-stylelint@^16.0.0: eslint-config-stylelint@^17.0.0:
version "16.0.0" version "17.0.0"
resolved "https://registry.yarnpkg.com/eslint-config-stylelint/-/eslint-config-stylelint-16.0.0.tgz#c832c40d71f8f3c4f1072b3d161a0bec4f860f74" resolved "https://registry.yarnpkg.com/eslint-config-stylelint/-/eslint-config-stylelint-17.0.0.tgz#f79d1b5f3969f0d82e114b2e939144e535a1dddf"
integrity sha512-hYse8NCNfXkuAn4Zk2eqvIM3sTroiIKX/B1wuxQLYyXhOBnSV7MqIP2J3i2/jEK6rQHD0pH/HKwHXScZS6I2tw== integrity sha512-9HrWIUYw24m/Tom0X65e+ovPSnopXEY1lJYdcLrRbozr9Qu2qWr9+TN6dGppMuNitjm8/hMDfy+0rUP6oSyKFQ==
dependencies: dependencies:
eslint-config-prettier "^8.5.0" eslint-config-prettier "^8.5.0"
eslint-plugin-jest "^27.0.1" eslint-plugin-jest "^27.0.4"
eslint-plugin-node "^11.1.0" eslint-plugin-node "^11.1.0"
eslint-plugin-regexp "^1.9.0" eslint-plugin-regexp "^1.9.0"
@ -5033,26 +5020,6 @@ eslint-import-resolver-typescript@^3.5.0:
is-glob "^4.0.3" is-glob "^4.0.3"
synckit "^0.8.3" synckit "^0.8.3"
eslint-mdx@^2.0.2, eslint-mdx@^2.0.5:
version "2.0.5"
resolved "https://registry.yarnpkg.com/eslint-mdx/-/eslint-mdx-2.0.5.tgz#f26ae220192dd368b1c1ee670282cc28c50c244a"
integrity sha512-1ZzcJwJNfladtuK+uuG/MdC0idc1e3d1vCI2STOq/pLcJBGuao2biWh90vEh2M93zDiNoHJGUIU7UAxupiiHFw==
dependencies:
acorn "^8.8.0"
acorn-jsx "^5.3.2"
cosmiconfig "^7.0.1"
espree "^9.4.0"
estree-util-visit "^1.2.0"
remark-mdx "^2.1.3"
remark-parse "^10.0.1"
remark-stringify "^10.0.2"
synckit "^0.8.4"
tslib "^2.4.0"
unified "^10.1.2"
unist-util-visit "^4.1.1"
uvu "^0.5.6"
vfile "^5.3.4"
eslint-module-utils@^2.7.3: eslint-module-utils@^2.7.3:
version "2.7.4" version "2.7.4"
resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz#4f3e41116aaf13a20792261e61d3a2e7e0583974" resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz#4f3e41116aaf13a20792261e61d3a2e7e0583974"
@ -5060,13 +5027,13 @@ eslint-module-utils@^2.7.3:
dependencies: dependencies:
debug "^3.2.7" debug "^3.2.7"
eslint-plugin-astro@^0.19.0: eslint-plugin-astro@^0.20.0:
version "0.19.0" version "0.20.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-astro/-/eslint-plugin-astro-0.19.0.tgz#309577c9abae449d3ee834d7b719e627229638bb" resolved "https://registry.yarnpkg.com/eslint-plugin-astro/-/eslint-plugin-astro-0.20.0.tgz#aa0ddd8651ce2a0eb3a65f71ade4e8e47e39e939"
integrity sha512-XOvTgFlSThgUQwDMjbj9gTu75Sig5IWpseN1hsGputC9tiZ857CrMLK3UimWCwIS6n3hTYYPWIkpcucEU/o0Uw== integrity sha512-+g6Nn8HyQVkMPaLMd7qzh7j+8v/eescRbAM/tbdYeKdrP8S5Yc4SlQSGj3Wh9/RV9Sn8sHk+wnj+KjCArbReRw==
dependencies: dependencies:
"@typescript-eslint/types" "^5.25.0" "@typescript-eslint/types" "^5.25.0"
astro-eslint-parser "^0.6.0" astro-eslint-parser "^0.7.0"
eslint-utils "^3.0.0" eslint-utils "^3.0.0"
postcss "^8.4.14" postcss "^8.4.14"
postcss-selector-parser "^6.0.10" postcss-selector-parser "^6.0.10"
@ -5099,7 +5066,7 @@ eslint-plugin-import@^2.26.0:
resolve "^1.22.0" resolve "^1.22.0"
tsconfig-paths "^3.14.1" tsconfig-paths "^3.14.1"
eslint-plugin-jest@^27.0.1: eslint-plugin-jest@^27.0.4:
version "27.1.1" version "27.1.1"
resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-27.1.1.tgz#60f68dee15d4ffd9cdff65158d7fa46a65dbaaf5" resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-27.1.1.tgz#60f68dee15d4ffd9cdff65158d7fa46a65dbaaf5"
integrity sha512-vuSuXGKHHi/UAffIM46QKm4g0tQP+6n52nRxUpMq6x6x9rhnv5WM7ktSu3h9cTnXE4b0Y0ODQTgRlCm9rdRLvg== integrity sha512-vuSuXGKHHi/UAffIM46QKm4g0tQP+6n52nRxUpMq6x6x9rhnv5WM7ktSu3h9cTnXE4b0Y0ODQTgRlCm9rdRLvg==
@ -5125,27 +5092,6 @@ eslint-plugin-jsx-a11y@^6.6.1:
minimatch "^3.1.2" minimatch "^3.1.2"
semver "^6.3.0" semver "^6.3.0"
eslint-plugin-markdown@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-markdown/-/eslint-plugin-markdown-3.0.0.tgz#69a63ab3445076a3c2eb6fce6f5114785b19d318"
integrity sha512-hRs5RUJGbeHDLfS7ELanT0e29Ocyssf/7kBM+p7KluY5AwngGkDf8Oyu4658/NZSGTTq05FZeWbkxXtbVyHPwg==
dependencies:
mdast-util-from-markdown "^0.8.5"
eslint-plugin-mdx@^2.0.2:
version "2.0.5"
resolved "https://registry.yarnpkg.com/eslint-plugin-mdx/-/eslint-plugin-mdx-2.0.5.tgz#7717a6e2f5c8f28530b1ef7a612f55430fb4726e"
integrity sha512-j2xN97jSlc5IoH94rJTHqYMztl46+hHzyC8Zqjx+OI1Rvv33isyf8xSSBHN6f0z8IJmgPgGsb/fH90JbvKplXg==
dependencies:
eslint-mdx "^2.0.5"
eslint-plugin-markdown "^3.0.0"
remark-mdx "^2.1.3"
remark-parse "^10.0.1"
remark-stringify "^10.0.2"
tslib "^2.4.0"
unified "^10.1.2"
vfile "^5.3.4"
eslint-plugin-node@^11.1.0: eslint-plugin-node@^11.1.0:
version "11.1.0" version "11.1.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d" resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d"
@ -5177,7 +5123,7 @@ eslint-plugin-regexp@^1.9.0:
regexpp "^3.2.0" regexpp "^3.2.0"
scslre "^0.1.6" scslre "^0.1.6"
eslint-plugin-solid@^0.7.1: eslint-plugin-solid@^0.7.3:
version "0.7.3" version "0.7.3"
resolved "https://registry.yarnpkg.com/eslint-plugin-solid/-/eslint-plugin-solid-0.7.3.tgz#6bb1926de4e3e7d6028cbc31874dfae0511adb24" resolved "https://registry.yarnpkg.com/eslint-plugin-solid/-/eslint-plugin-solid-0.7.3.tgz#6bb1926de4e3e7d6028cbc31874dfae0511adb24"
integrity sha512-5Wtr+3AboB6Gzi64iyHXqEjrAONQLrsph7hftyiq+goDTUAZ9GN8HPHw+dqZV4XVPGxkDWpnSKKr+KE9VQok5g== integrity sha512-5Wtr+3AboB6Gzi64iyHXqEjrAONQLrsph7hftyiq+goDTUAZ9GN8HPHw+dqZV4XVPGxkDWpnSKKr+KE9VQok5g==
@ -5194,18 +5140,18 @@ eslint-plugin-sonarjs@^0.15.0:
resolved "https://registry.yarnpkg.com/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.15.0.tgz#f9c904f143f4e2336f2923be08399b32b5bd2781" resolved "https://registry.yarnpkg.com/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.15.0.tgz#f9c904f143f4e2336f2923be08399b32b5bd2781"
integrity sha512-LuxHdAe6VqSbi1phsUvNjbmXLuvlobmryQJJNyQYbdubCfz6K8tmgoqNiJPnz0pP2AbYDbtuPm0ajOMgMrC+dQ== integrity sha512-LuxHdAe6VqSbi1phsUvNjbmXLuvlobmryQJJNyQYbdubCfz6K8tmgoqNiJPnz0pP2AbYDbtuPm0ajOMgMrC+dQ==
eslint-plugin-unicorn@^43.0.2: eslint-plugin-unicorn@^44.0.2:
version "43.0.2" version "44.0.2"
resolved "https://registry.yarnpkg.com/eslint-plugin-unicorn/-/eslint-plugin-unicorn-43.0.2.tgz#b189d58494c8a0985a4b89dba5dbfde3ad7575a5" resolved "https://registry.yarnpkg.com/eslint-plugin-unicorn/-/eslint-plugin-unicorn-44.0.2.tgz#6324a001c0a5e2ac00fb51b30db27d14c6c36ab3"
integrity sha512-DtqZ5mf/GMlfWoz1abIjq5jZfaFuHzGBZYIeuJfEoKKGWRHr2JiJR+ea+BF7Wx2N1PPRoT/2fwgiK1NnmNE3Hg== integrity sha512-GLIDX1wmeEqpGaKcnMcqRvMVsoabeF0Ton0EX4Th5u6Kmf7RM9WBl705AXFEsns56ESkEs0uyelLuUTvz9Tr0w==
dependencies: dependencies:
"@babel/helper-validator-identifier" "^7.18.6" "@babel/helper-validator-identifier" "^7.19.1"
ci-info "^3.3.2" ci-info "^3.4.0"
clean-regexp "^1.0.0" clean-regexp "^1.0.0"
eslint-utils "^3.0.0" eslint-utils "^3.0.0"
esquery "^1.4.0" esquery "^1.4.0"
indent-string "^4.0.0" indent-string "^4.0.0"
is-builtin-module "^3.1.0" is-builtin-module "^3.2.0"
lodash "^4.17.21" lodash "^4.17.21"
pluralize "^8.0.0" pluralize "^8.0.0"
read-pkg-up "^7.0.1" read-pkg-up "^7.0.1"
@ -5259,52 +5205,7 @@ eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.1.0, eslint-visitor-keys@^3.3
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826"
integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==
eslint@8.22.0: eslint@^8.22.0, eslint@^8.7.0:
version "8.22.0"
resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.22.0.tgz#78fcb044196dfa7eef30a9d65944f6f980402c48"
integrity sha512-ci4t0sz6vSRKdmkOGmprBo6fmI4PrphDFMy5JEq/fNS0gQkJM3rLmrqcp8ipMcdobH3KtUP40KniAE9W19S4wA==
dependencies:
"@eslint/eslintrc" "^1.3.0"
"@humanwhocodes/config-array" "^0.10.4"
"@humanwhocodes/gitignore-to-minimatch" "^1.0.2"
ajv "^6.10.0"
chalk "^4.0.0"
cross-spawn "^7.0.2"
debug "^4.3.2"
doctrine "^3.0.0"
escape-string-regexp "^4.0.0"
eslint-scope "^7.1.1"
eslint-utils "^3.0.0"
eslint-visitor-keys "^3.3.0"
espree "^9.3.3"
esquery "^1.4.0"
esutils "^2.0.2"
fast-deep-equal "^3.1.3"
file-entry-cache "^6.0.1"
find-up "^5.0.0"
functional-red-black-tree "^1.0.1"
glob-parent "^6.0.1"
globals "^13.15.0"
globby "^11.1.0"
grapheme-splitter "^1.0.4"
ignore "^5.2.0"
import-fresh "^3.0.0"
imurmurhash "^0.1.4"
is-glob "^4.0.0"
js-yaml "^4.1.0"
json-stable-stringify-without-jsonify "^1.0.1"
levn "^0.4.1"
lodash.merge "^4.6.2"
minimatch "^3.1.2"
natural-compare "^1.4.0"
optionator "^0.9.1"
regexpp "^3.2.0"
strip-ansi "^6.0.1"
strip-json-comments "^3.1.0"
text-table "^0.2.0"
v8-compile-cache "^2.0.3"
eslint@^8.7.0:
version "8.24.0" version "8.24.0"
resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.24.0.tgz#489516c927a5da11b3979dbfb2679394523383c8" resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.24.0.tgz#489516c927a5da11b3979dbfb2679394523383c8"
integrity sha512-dWFaPhGhTAiPcCgm3f6LI2MBWbogMnTJzFBbhXVRQDJPkr9pGZvVjlVfXd+vyDcWPA2Ic9L2AXPIQM0+vk/cSQ== integrity sha512-dWFaPhGhTAiPcCgm3f6LI2MBWbogMnTJzFBbhXVRQDJPkr9pGZvVjlVfXd+vyDcWPA2Ic9L2AXPIQM0+vk/cSQ==
@ -5349,7 +5250,7 @@ eslint@^8.7.0:
strip-json-comments "^3.1.0" strip-json-comments "^3.1.0"
text-table "^0.2.0" text-table "^0.2.0"
espree@^9.0.0, espree@^9.3.3, espree@^9.4.0: espree@^9.0.0, espree@^9.4.0:
version "9.4.0" version "9.4.0"
resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.0.tgz#cd4bc3d6e9336c433265fc0aa016fc1aaf182f8a" resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.0.tgz#cd4bc3d6e9336c433265fc0aa016fc1aaf182f8a"
integrity sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw== integrity sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==
@ -5392,7 +5293,7 @@ estree-util-is-identifier-name@^2.0.0:
resolved "https://registry.yarnpkg.com/estree-util-is-identifier-name/-/estree-util-is-identifier-name-2.0.1.tgz#cf07867f42705892718d9d89eb2d85eaa8f0fcb5" resolved "https://registry.yarnpkg.com/estree-util-is-identifier-name/-/estree-util-is-identifier-name-2.0.1.tgz#cf07867f42705892718d9d89eb2d85eaa8f0fcb5"
integrity sha512-rxZj1GkQhY4x1j/CSnybK9cGuMFQYFPLq0iNyopqf14aOVLFtMv7Esika+ObJWPWiOHuMOAHz3YkWoLYYRnzWQ== integrity sha512-rxZj1GkQhY4x1j/CSnybK9cGuMFQYFPLq0iNyopqf14aOVLFtMv7Esika+ObJWPWiOHuMOAHz3YkWoLYYRnzWQ==
estree-util-visit@^1.0.0, estree-util-visit@^1.2.0: estree-util-visit@^1.0.0:
version "1.2.0" version "1.2.0"
resolved "https://registry.yarnpkg.com/estree-util-visit/-/estree-util-visit-1.2.0.tgz#aa0311a9c2f2aa56e9ae5e8b9d87eac14e4ec8f8" resolved "https://registry.yarnpkg.com/estree-util-visit/-/estree-util-visit-1.2.0.tgz#aa0311a9c2f2aa56e9ae5e8b9d87eac14e4ec8f8"
integrity sha512-wdsoqhWueuJKsh5hqLw3j8lwFqNStm92VcwtAOAny8g/KS/l5Y8RISjR4k5W6skCj3Nirag/WUCMS0Nfy3sgsg== integrity sha512-wdsoqhWueuJKsh5hqLw3j8lwFqNStm92VcwtAOAny8g/KS/l5Y8RISjR4k5W6skCj3Nirag/WUCMS0Nfy3sgsg==
@ -5728,11 +5629,6 @@ function.prototype.name@^1.1.5:
es-abstract "^1.19.0" es-abstract "^1.19.0"
functions-have-names "^1.2.2" functions-have-names "^1.2.2"
functional-red-black-tree@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==
functions-have-names@^1.2.2: functions-have-names@^1.2.2:
version "1.2.3" version "1.2.3"
resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834"
@ -6462,24 +6358,11 @@ is-absolute@^1.0.0:
is-relative "^1.0.0" is-relative "^1.0.0"
is-windows "^1.0.1" is-windows "^1.0.1"
is-alphabetical@^1.0.0:
version "1.0.4"
resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d"
integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==
is-alphabetical@^2.0.0: is-alphabetical@^2.0.0:
version "2.0.1" version "2.0.1"
resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-2.0.1.tgz#01072053ea7c1036df3c7d19a6daaec7f19e789b" resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-2.0.1.tgz#01072053ea7c1036df3c7d19a6daaec7f19e789b"
integrity sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ== integrity sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==
is-alphanumerical@^1.0.0:
version "1.0.4"
resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf"
integrity sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==
dependencies:
is-alphabetical "^1.0.0"
is-decimal "^1.0.0"
is-alphanumerical@^2.0.0: is-alphanumerical@^2.0.0:
version "2.0.1" version "2.0.1"
resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz#7c03fbe96e3e931113e57f964b0a368cc2dfd875" resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz#7c03fbe96e3e931113e57f964b0a368cc2dfd875"
@ -6520,7 +6403,7 @@ is-buffer@^2.0.0:
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191"
integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==
is-builtin-module@^3.1.0: is-builtin-module@^3.2.0:
version "3.2.0" version "3.2.0"
resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.2.0.tgz#bb0310dfe881f144ca83f30100ceb10cf58835e0" resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.2.0.tgz#bb0310dfe881f144ca83f30100ceb10cf58835e0"
integrity sha512-phDA4oSGt7vl1n5tJvTWooWWAsXLY+2xCnxNqvKhGEzujg+A43wPlPOyDg3C8XQHN+6k/JTQWJ/j0dQh/qr+Hw== integrity sha512-phDA4oSGt7vl1n5tJvTWooWWAsXLY+2xCnxNqvKhGEzujg+A43wPlPOyDg3C8XQHN+6k/JTQWJ/j0dQh/qr+Hw==
@ -6546,11 +6429,6 @@ is-date-object@^1.0.1:
dependencies: dependencies:
has-tostringtag "^1.0.0" has-tostringtag "^1.0.0"
is-decimal@^1.0.0:
version "1.0.4"
resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5"
integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==
is-decimal@^2.0.0: is-decimal@^2.0.0:
version "2.0.1" version "2.0.1"
resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-2.0.1.tgz#9469d2dc190d0214fd87d78b78caecc0cc14eef7" resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-2.0.1.tgz#9469d2dc190d0214fd87d78b78caecc0cc14eef7"
@ -6605,11 +6483,6 @@ is-glob@4.0.3, is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1:
dependencies: dependencies:
is-extglob "^2.1.1" is-extglob "^2.1.1"
is-hexadecimal@^1.0.0:
version "1.0.4"
resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7"
integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==
is-hexadecimal@^2.0.0: is-hexadecimal@^2.0.0:
version "2.0.1" version "2.0.1"
resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz#86b5bf668fca307498d319dfc03289d781a90027" resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz#86b5bf668fca307498d319dfc03289d781a90027"
@ -7733,17 +7606,6 @@ mdast-util-find-and-replace@^2.0.0:
unist-util-is "^5.0.0" unist-util-is "^5.0.0"
unist-util-visit-parents "^5.0.0" unist-util-visit-parents "^5.0.0"
mdast-util-from-markdown@^0.8.5:
version "0.8.5"
resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz#d1ef2ca42bc377ecb0463a987910dae89bd9a28c"
integrity sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==
dependencies:
"@types/mdast" "^3.0.0"
mdast-util-to-string "^2.0.0"
micromark "~2.11.0"
parse-entities "^2.0.0"
unist-util-stringify-position "^2.0.0"
mdast-util-from-markdown@^1.0.0, mdast-util-from-markdown@^1.2.0: mdast-util-from-markdown@^1.0.0, mdast-util-from-markdown@^1.2.0:
version "1.2.0" version "1.2.0"
resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-1.2.0.tgz#84df2924ccc6c995dec1e2368b2b208ad0a76268" resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-1.2.0.tgz#84df2924ccc6c995dec1e2368b2b208ad0a76268"
@ -7820,7 +7682,7 @@ mdast-util-gfm@^2.0.0:
mdast-util-gfm-task-list-item "^1.0.0" mdast-util-gfm-task-list-item "^1.0.0"
mdast-util-to-markdown "^1.0.0" mdast-util-to-markdown "^1.0.0"
mdast-util-mdx-expression@^1.0.0, mdast-util-mdx-expression@^1.2.1: mdast-util-mdx-expression@^1.2.1:
version "1.3.1" version "1.3.1"
resolved "https://registry.yarnpkg.com/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.3.1.tgz#2224cf0b5b150093704a3c225bd529d2de21f50f" resolved "https://registry.yarnpkg.com/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.3.1.tgz#2224cf0b5b150093704a3c225bd529d2de21f50f"
integrity sha512-TTb6cKyTA1RD+1su1iStZ5PAv3rFfOUKcoU5EstUpv/IZo63uDX03R8+jXjMEhcobXnNOiG6/ccekvVl4eV1zQ== integrity sha512-TTb6cKyTA1RD+1su1iStZ5PAv3rFfOUKcoU5EstUpv/IZo63uDX03R8+jXjMEhcobXnNOiG6/ccekvVl4eV1zQ==
@ -7845,42 +7707,6 @@ mdast-util-mdx-jsx@^1.2.0:
unist-util-stringify-position "^3.0.0" unist-util-stringify-position "^3.0.0"
vfile-message "^3.0.0" vfile-message "^3.0.0"
mdast-util-mdx-jsx@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-2.1.0.tgz#029f5a9c38485dbb5cf482059557ee7d788f1947"
integrity sha512-KzgzfWMhdteDkrY4mQtyvTU5bc/W4ppxhe9SzelO6QUUiwLAM+Et2Dnjjprik74a336kHdo0zKm7Tp+n6FFeRg==
dependencies:
"@types/estree-jsx" "^1.0.0"
"@types/hast" "^2.0.0"
"@types/mdast" "^3.0.0"
ccount "^2.0.0"
mdast-util-to-markdown "^1.3.0"
parse-entities "^4.0.0"
stringify-entities "^4.0.0"
unist-util-remove-position "^4.0.0"
unist-util-stringify-position "^3.0.0"
vfile-message "^3.0.0"
mdast-util-mdx@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/mdast-util-mdx/-/mdast-util-mdx-2.0.0.tgz#dd4f6c993cf27da32725e50a04874f595b7b63fb"
integrity sha512-M09lW0CcBT1VrJUaF/PYxemxxHa7SLDHdSn94Q9FhxjCQfuW7nMAWKWimTmA3OyDMSTH981NN1csW1X+HPSluw==
dependencies:
mdast-util-mdx-expression "^1.0.0"
mdast-util-mdx-jsx "^2.0.0"
mdast-util-mdxjs-esm "^1.0.0"
mdast-util-mdxjs-esm@^1.0.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-1.3.0.tgz#137345ef827169aeeeb6069277cd3e090830ce9a"
integrity sha512-7N5ihsOkAEGjFotIX9p/YPdl4TqUoMxL4ajNz7PbT89BqsdWJuBC9rvgt6wpbwTZqWWR0jKWqQbwsOWDBUZv4g==
dependencies:
"@types/estree-jsx" "^1.0.0"
"@types/hast" "^2.0.0"
"@types/mdast" "^3.0.0"
mdast-util-from-markdown "^1.0.0"
mdast-util-to-markdown "^1.0.0"
mdast-util-to-hast@^12.1.0: mdast-util-to-hast@^12.1.0:
version "12.2.4" version "12.2.4"
resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-12.2.4.tgz#34c1ef2b6cf01c27b3e3504e2c977c76f722e7e1" resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-12.2.4.tgz#34c1ef2b6cf01c27b3e3504e2c977c76f722e7e1"
@ -7909,11 +7735,6 @@ mdast-util-to-markdown@^1.0.0, mdast-util-to-markdown@^1.3.0:
unist-util-visit "^4.0.0" unist-util-visit "^4.0.0"
zwitch "^2.0.0" zwitch "^2.0.0"
mdast-util-to-string@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz#b8cfe6a713e1091cb5b728fc48885a4767f8b97b"
integrity sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==
mdast-util-to-string@^3.0.0, mdast-util-to-string@^3.1.0: mdast-util-to-string@^3.0.0, mdast-util-to-string@^3.1.0:
version "3.1.0" version "3.1.0"
resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz#56c506d065fbf769515235e577b5a261552d56e9" resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz#56c506d065fbf769515235e577b5a261552d56e9"
@ -8059,7 +7880,7 @@ micromark-extension-gfm@^2.0.0:
micromark-util-combine-extensions "^1.0.0" micromark-util-combine-extensions "^1.0.0"
micromark-util-types "^1.0.0" micromark-util-types "^1.0.0"
micromark-extension-mdx-expression@^1.0.0, micromark-extension-mdx-expression@^1.0.3: micromark-extension-mdx-expression@^1.0.3:
version "1.0.3" version "1.0.3"
resolved "https://registry.yarnpkg.com/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.3.tgz#cd3843573921bf55afcfff4ae0cd2e857a16dcfa" resolved "https://registry.yarnpkg.com/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.3.tgz#cd3843573921bf55afcfff4ae0cd2e857a16dcfa"
integrity sha512-TjYtjEMszWze51NJCZmhv7MEBcgYRgb3tJeMAJ+HQCAaZHHRBaDCccqQzGizR/H4ODefP44wRTgOn2vE5I6nZA== integrity sha512-TjYtjEMszWze51NJCZmhv7MEBcgYRgb3tJeMAJ+HQCAaZHHRBaDCccqQzGizR/H4ODefP44wRTgOn2vE5I6nZA==
@ -8072,21 +7893,6 @@ micromark-extension-mdx-expression@^1.0.0, micromark-extension-mdx-expression@^1
micromark-util-types "^1.0.0" micromark-util-types "^1.0.0"
uvu "^0.5.0" uvu "^0.5.0"
micromark-extension-mdx-jsx@^1.0.0:
version "1.0.3"
resolved "https://registry.yarnpkg.com/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.3.tgz#9f196be5f65eb09d2a49b237a7b3398bba2999be"
integrity sha512-VfA369RdqUISF0qGgv2FfV7gGjHDfn9+Qfiv5hEwpyr1xscRj/CiVRkU7rywGFCO7JwJ5L0e7CJz60lY52+qOA==
dependencies:
"@types/acorn" "^4.0.0"
estree-util-is-identifier-name "^2.0.0"
micromark-factory-mdx-expression "^1.0.0"
micromark-factory-space "^1.0.0"
micromark-util-character "^1.0.0"
micromark-util-symbol "^1.0.0"
micromark-util-types "^1.0.0"
uvu "^0.5.0"
vfile-message "^3.0.0"
micromark-extension-mdx-md@^1.0.0: micromark-extension-mdx-md@^1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/micromark-extension-mdx-md/-/micromark-extension-mdx-md-1.0.0.tgz#382f5df9ee3706dd120b51782a211f31f4760d22" resolved "https://registry.yarnpkg.com/micromark-extension-mdx-md/-/micromark-extension-mdx-md-1.0.0.tgz#382f5df9ee3706dd120b51782a211f31f4760d22"
@ -8094,34 +7900,6 @@ micromark-extension-mdx-md@^1.0.0:
dependencies: dependencies:
micromark-util-types "^1.0.0" micromark-util-types "^1.0.0"
micromark-extension-mdxjs-esm@^1.0.0:
version "1.0.3"
resolved "https://registry.yarnpkg.com/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-1.0.3.tgz#630d9dc9db2c2fd470cac8c1e7a824851267404d"
integrity sha512-2N13ol4KMoxb85rdDwTAC6uzs8lMX0zeqpcyx7FhS7PxXomOnLactu8WI8iBNXW8AVyea3KIJd/1CKnUmwrK9A==
dependencies:
micromark-core-commonmark "^1.0.0"
micromark-util-character "^1.0.0"
micromark-util-events-to-acorn "^1.0.0"
micromark-util-symbol "^1.0.0"
micromark-util-types "^1.0.0"
unist-util-position-from-estree "^1.1.0"
uvu "^0.5.0"
vfile-message "^3.0.0"
micromark-extension-mdxjs@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/micromark-extension-mdxjs/-/micromark-extension-mdxjs-1.0.0.tgz#772644e12fc8299a33e50f59c5aa15727f6689dd"
integrity sha512-TZZRZgeHvtgm+IhtgC2+uDMR7h8eTKF0QUX9YsgoL9+bADBpBY6SiLvWqnBlLbCEevITmTqmEuY3FoxMKVs1rQ==
dependencies:
acorn "^8.0.0"
acorn-jsx "^5.0.0"
micromark-extension-mdx-expression "^1.0.0"
micromark-extension-mdx-jsx "^1.0.0"
micromark-extension-mdx-md "^1.0.0"
micromark-extension-mdxjs-esm "^1.0.0"
micromark-util-combine-extensions "^1.0.0"
micromark-util-types "^1.0.0"
micromark-factory-destination@^1.0.0: micromark-factory-destination@^1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz#fef1cb59ad4997c496f887b6977aa3034a5a277e" resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz#fef1cb59ad4997c496f887b6977aa3034a5a277e"
@ -8322,14 +8100,6 @@ micromark@^3.0.0:
micromark-util-types "^1.0.1" micromark-util-types "^1.0.1"
uvu "^0.5.0" uvu "^0.5.0"
micromark@~2.11.0:
version "2.11.4"
resolved "https://registry.yarnpkg.com/micromark/-/micromark-2.11.4.tgz#d13436138eea826383e822449c9a5c50ee44665a"
integrity sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==
dependencies:
debug "^4.0.0"
parse-entities "^2.0.0"
micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5:
version "4.0.5" version "4.0.5"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
@ -8896,18 +8666,6 @@ parent-module@^1.0.0:
dependencies: dependencies:
callsites "^3.0.0" callsites "^3.0.0"
parse-entities@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-2.0.0.tgz#53c6eb5b9314a1f4ec99fa0fdf7ce01ecda0cbe8"
integrity sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==
dependencies:
character-entities "^1.0.0"
character-entities-legacy "^1.0.0"
character-reference-invalid "^1.0.0"
is-alphanumerical "^1.0.0"
is-decimal "^1.0.0"
is-hexadecimal "^1.0.0"
parse-entities@^4.0.0: parse-entities@^4.0.0:
version "4.0.0" version "4.0.0"
resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-4.0.0.tgz#f67c856d4e3fe19b1a445c3fabe78dcdc1053eeb" resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-4.0.0.tgz#f67c856d4e3fe19b1a445c3fabe78dcdc1053eeb"
@ -9651,14 +9409,6 @@ remark-gfm@^3.0.1:
micromark-extension-gfm "^2.0.0" micromark-extension-gfm "^2.0.0"
unified "^10.0.0" unified "^10.0.0"
remark-mdx@^2.1.3:
version "2.1.4"
resolved "https://registry.yarnpkg.com/remark-mdx/-/remark-mdx-2.1.4.tgz#6a39054c26bfffe890aaa5f3d4487e7eb7ea6844"
integrity sha512-zZxHdd0s8xfMmIKcxhFoUT4x54VOJTUJ+lPys7ZR2Vcgb4xwuAwxvUfkVrsCTdo/lBVxLQv43bXVNu3ZIbahnA==
dependencies:
mdast-util-mdx "^2.0.0"
micromark-extension-mdxjs "^1.0.0"
remark-parse@^10.0.1: remark-parse@^10.0.1:
version "10.0.1" version "10.0.1"
resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-10.0.1.tgz#6f60ae53edbf0cf38ea223fe643db64d112e0775" resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-10.0.1.tgz#6f60ae53edbf0cf38ea223fe643db64d112e0775"
@ -9687,15 +9437,6 @@ remark-smartypants@^2.0.0:
retext-smartypants "^5.1.0" retext-smartypants "^5.1.0"
unist-util-visit "^4.1.0" unist-util-visit "^4.1.0"
remark-stringify@^10.0.2:
version "10.0.2"
resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-10.0.2.tgz#50414a6983f5008eb9e72eed05f980582d1f69d7"
integrity sha512-6wV3pvbPvHkbNnWB0wdDvVFHOe1hBRAx1Q/5g/EpH4RppAII6J8Gnwe7VbHuXaoKIF6LAg6ExTel/+kNqSQ7lw==
dependencies:
"@types/mdast" "^3.0.0"
mdast-util-to-markdown "^1.0.0"
unified "^10.0.0"
remedial@^1.0.7: remedial@^1.0.7:
version "1.0.8" version "1.0.8"
resolved "https://registry.yarnpkg.com/remedial/-/remedial-1.0.8.tgz#a5e4fd52a0e4956adbaf62da63a5a46a78c578a0" resolved "https://registry.yarnpkg.com/remedial/-/remedial-1.0.8.tgz#a5e4fd52a0e4956adbaf62da63a5a46a78c578a0"
@ -10152,15 +9893,17 @@ snake-case@^3.0.4:
dot-case "^3.0.4" dot-case "^3.0.4"
tslib "^2.0.3" tslib "^2.0.3"
solid-devtools@^0.16.2: solid-devtools@^0.18.2:
version "0.16.2" version "0.18.2"
resolved "https://registry.yarnpkg.com/solid-devtools/-/solid-devtools-0.16.2.tgz#f153bf56389597703fc6d41e4c1f3ad4618c26dc" resolved "https://registry.yarnpkg.com/solid-devtools/-/solid-devtools-0.18.2.tgz#e053cf978169e090185e32ebc78128aab883aacb"
integrity sha512-Q0xWvWldHkahg03/J//a+PzpB2tch1roOA3l3iKDwEhVy3dHwjW1/eagLka0t2HlXZomIQnUPEyIH5cy6ovgWQ== integrity sha512-NyW2p5aXDg1SzML/zHqo0Rc8UxFHFpC0svEsSa7S7xcfcjNLdeqcKQNfW9n3fVwfy2LzleyibFe3Wo93xChbDw==
dependencies: dependencies:
"@solid-devtools/debugger" "^0.9.0" "@solid-devtools/debugger" "^0.11.0"
"@solid-devtools/ext-adapter" "^0.16.2" "@solid-devtools/locator" "^0.16.5"
"@solid-devtools/locator" "^0.16.2" "@solid-devtools/shared" "^0.8.5"
"@solid-devtools/transform" "^0.7.3" "@solid-devtools/transform" "^0.7.4"
"@solid-primitives/utils" "^3.0.2"
type-fest "^2.19.0"
solid-js-form@^0.1.5: solid-js-form@^0.1.5:
version "0.1.5" version "0.1.5"
@ -10662,7 +10405,7 @@ synckit@^0.7.0:
"@pkgr/utils" "^2.3.0" "@pkgr/utils" "^2.3.0"
tslib "^2.4.0" tslib "^2.4.0"
synckit@^0.8.0, synckit@^0.8.3, synckit@^0.8.4: synckit@^0.8.0, synckit@^0.8.3:
version "0.8.4" version "0.8.4"
resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.8.4.tgz#0e6b392b73fafdafcde56692e3352500261d64ec" resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.8.4.tgz#0e6b392b73fafdafcde56692e3352500261d64ec"
integrity sha512-Dn2ZkzMdSX827QbowGbU/4yjWuvNaCoScLLoMo/yKbu+P4GBR6cRGKZH27k6a9bRzdqcyd1DE96pQtQ6uNkmyw== integrity sha512-Dn2ZkzMdSX827QbowGbU/4yjWuvNaCoScLLoMo/yKbu+P4GBR6cRGKZH27k6a9bRzdqcyd1DE96pQtQ6uNkmyw==
@ -10807,11 +10550,6 @@ trough@^2.0.0:
resolved "https://registry.yarnpkg.com/trough/-/trough-2.1.0.tgz#0f7b511a4fde65a46f18477ab38849b22c554876" resolved "https://registry.yarnpkg.com/trough/-/trough-2.1.0.tgz#0f7b511a4fde65a46f18477ab38849b22c554876"
integrity sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g== integrity sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==
ts-debounce@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/ts-debounce/-/ts-debounce-4.0.0.tgz#33440ef64fab53793c3d546a8ca6ae539ec15841"
integrity sha512-+1iDGY6NmOGidq7i7xZGA4cm8DAa6fqdYcvO5Z6yBevH++Bdo9Qt/mN0TzHUgcCcKv1gmh9+W5dHqz8pMWbCbg==
ts-log@^2.2.3: ts-log@^2.2.3:
version "2.2.5" version "2.2.5"
resolved "https://registry.yarnpkg.com/ts-log/-/ts-log-2.2.5.tgz#aef3252f1143d11047e2cb6f7cfaac7408d96623" resolved "https://registry.yarnpkg.com/ts-log/-/ts-log-2.2.5.tgz#aef3252f1143d11047e2cb6f7cfaac7408d96623"
@ -11025,7 +10763,7 @@ unist-util-modify-children@^2.0.0:
dependencies: dependencies:
array-iterate "^1.0.0" array-iterate "^1.0.0"
unist-util-position-from-estree@^1.0.0, unist-util-position-from-estree@^1.1.0: unist-util-position-from-estree@^1.0.0:
version "1.1.1" version "1.1.1"
resolved "https://registry.yarnpkg.com/unist-util-position-from-estree/-/unist-util-position-from-estree-1.1.1.tgz#96f4d543dfb0428edc01ebb928570b602d280c4c" resolved "https://registry.yarnpkg.com/unist-util-position-from-estree/-/unist-util-position-from-estree-1.1.1.tgz#96f4d543dfb0428edc01ebb928570b602d280c4c"
integrity sha512-xtoY50b5+7IH8tFbkw64gisG9tMSpxDjhX9TmaJJae/XuxQ9R/Kc8Nv1eOsf43Gt4KV/LkriMy9mptDr7XLcaw== integrity sha512-xtoY50b5+7IH8tFbkw64gisG9tMSpxDjhX9TmaJJae/XuxQ9R/Kc8Nv1eOsf43Gt4KV/LkriMy9mptDr7XLcaw==
@ -11047,13 +10785,6 @@ unist-util-remove-position@^4.0.0:
"@types/unist" "^2.0.0" "@types/unist" "^2.0.0"
unist-util-visit "^4.0.0" unist-util-visit "^4.0.0"
unist-util-stringify-position@^2.0.0:
version "2.0.3"
resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz#cce3bfa1cdf85ba7375d1d5b17bdc4cada9bd9da"
integrity sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==
dependencies:
"@types/unist" "^2.0.2"
unist-util-stringify-position@^3.0.0: unist-util-stringify-position@^3.0.0:
version "3.0.2" version "3.0.2"
resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-3.0.2.tgz#5c6aa07c90b1deffd9153be170dce628a869a447" resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-3.0.2.tgz#5c6aa07c90b1deffd9153be170dce628a869a447"
@ -11088,7 +10819,7 @@ unist-util-visit@^1.4.0:
dependencies: dependencies:
unist-util-visit-parents "^2.0.0" unist-util-visit-parents "^2.0.0"
unist-util-visit@^4.0.0, unist-util-visit@^4.1.0, unist-util-visit@^4.1.1: unist-util-visit@^4.0.0, unist-util-visit@^4.1.0:
version "4.1.1" version "4.1.1"
resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-4.1.1.tgz#1c4842d70bd3df6cc545276f5164f933390a9aad" resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-4.1.1.tgz#1c4842d70bd3df6cc545276f5164f933390a9aad"
integrity sha512-n9KN3WV9k4h1DxYR1LoajgN93wpEi/7ZplVe02IoB4gH5ctI1AaF2670BLHQYbwj+pY83gFtyeySFiyMHJklrg== integrity sha512-n9KN3WV9k4h1DxYR1LoajgN93wpEi/7ZplVe02IoB4gH5ctI1AaF2670BLHQYbwj+pY83gFtyeySFiyMHJklrg==
@ -11153,7 +10884,7 @@ uuid@^9.0.0:
resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.0.tgz#592f550650024a38ceb0c562f2f6aa435761efb5" resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.0.tgz#592f550650024a38ceb0c562f2f6aa435761efb5"
integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg== integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==
uvu@^0.5.0, uvu@^0.5.6: uvu@^0.5.0:
version "0.5.6" version "0.5.6"
resolved "https://registry.yarnpkg.com/uvu/-/uvu-0.5.6.tgz#2754ca20bcb0bb59b64e9985e84d2e81058502df" resolved "https://registry.yarnpkg.com/uvu/-/uvu-0.5.6.tgz#2754ca20bcb0bb59b64e9985e84d2e81058502df"
integrity sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA== integrity sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==
@ -11168,7 +10899,7 @@ v8-compile-cache-lib@^3.0.1:
resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf"
integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==
v8-compile-cache@^2.0.3, v8-compile-cache@^2.3.0: v8-compile-cache@^2.3.0:
version "2.3.0" version "2.3.0"
resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee"
integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==
@ -11211,7 +10942,7 @@ vfile-message@^3.0.0:
"@types/unist" "^2.0.0" "@types/unist" "^2.0.0"
unist-util-stringify-position "^3.0.0" unist-util-stringify-position "^3.0.0"
vfile@^5.0.0, vfile@^5.3.2, vfile@^5.3.4: vfile@^5.0.0, vfile@^5.3.2:
version "5.3.5" version "5.3.5"
resolved "https://registry.yarnpkg.com/vfile/-/vfile-5.3.5.tgz#ec2e206b1414f561c85b7972bb1eeda8ab47ee61" resolved "https://registry.yarnpkg.com/vfile/-/vfile-5.3.5.tgz#ec2e206b1414f561c85b7972bb1eeda8ab47ee61"
integrity sha512-U1ho2ga33eZ8y8pkbQLH54uKqGhFJ6GYIHnnG5AhRpAh3OWjkrRHKa/KogbmQn8We+c0KVV3rTOgR9V/WowbXQ== integrity sha512-U1ho2ga33eZ8y8pkbQLH54uKqGhFJ6GYIHnnG5AhRpAh3OWjkrRHKa/KogbmQn8We+c0KVV3rTOgR9V/WowbXQ==
@ -11496,12 +11227,12 @@ ws@^7.2.0:
resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591"
integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==
ws@^8.3.0: ws@^8.3.0, ws@^8.9.0:
version "8.9.0" version "8.9.0"
resolved "https://registry.yarnpkg.com/ws/-/ws-8.9.0.tgz#2a994bb67144be1b53fe2d23c53c028adeb7f45e" resolved "https://registry.yarnpkg.com/ws/-/ws-8.9.0.tgz#2a994bb67144be1b53fe2d23c53c028adeb7f45e"
integrity sha512-Ja7nszREasGaYUYCI2k4lCKIRTt+y7XuqVoHR44YpI49TtryyqbqvDMn5eqfW7e6HzTukDRIsXqzVHScqRcafg== integrity sha512-Ja7nszREasGaYUYCI2k4lCKIRTt+y7XuqVoHR44YpI49TtryyqbqvDMn5eqfW7e6HzTukDRIsXqzVHScqRcafg==
y-prosemirror@^1.1.3: y-prosemirror@^1.2.0:
version "1.2.0" version "1.2.0"
resolved "https://registry.yarnpkg.com/y-prosemirror/-/y-prosemirror-1.2.0.tgz#84771bd350834bc7759e946cd14c62ec26243a5c" resolved "https://registry.yarnpkg.com/y-prosemirror/-/y-prosemirror-1.2.0.tgz#84771bd350834bc7759e946cd14c62ec26243a5c"
integrity sha512-t3uxuX4HIkb1GNt8jV+dplRbNH2OmQD/BNeCCbjLD3Mq0o6JEXxHedv58ZIPFDE6ma24jljlL+u8pGvN6B37XQ== integrity sha512-t3uxuX4HIkb1GNt8jV+dplRbNH2OmQD/BNeCCbjLD3Mq0o6JEXxHedv58ZIPFDE6ma24jljlL+u8pGvN6B37XQ==