Refactor setup documentation

This commit is contained in:
venashial 2022-06-25 12:32:03 -07:00
parent 8627132d6a
commit 123de56f38
14 changed files with 410 additions and 131 deletions

View File

@ -26,4 +26,6 @@ postcss.config.cjs
mdsvex.config.js
svelte.config.js
tsconfig.json
pnpm-lock.yaml
pnpm-lock.yaml
src/

View File

@ -1,9 +1,17 @@
# Omorphia
_The Modrinth component library, in Svelte_
_The Modrinth frontend library_
---
Omorphia is Modrinth's component, style, and utility library for Svelte projects. It includes:
- 🧩 Typed components which enhance HTML elements and provide a consistent UI
- 🎨 CSS classes to easily style elements with a coherent style
- 🧰 Typed utilities to solve common tasks quick and dependably
- ⚙️ Configuration for SvelteKit and PostCSS to simplify setups
- 🚚 A Rollup plugin to generate a cache of heavily used API requests and OpenAPI typ
Read the documentation at [omorphia.modrinth.com.](https://omorphia.modrinth.com)
## Developing

View File

@ -1,14 +1,15 @@
<script lang="ts">
import { page } from '$app/stores'
import IconMenu from 'virtual:icons/lucide/menu'
const cleanPath = (it) => it.replace(/\.\.\/routes\/.*\//, '').replace('.md', '')
const components = Object.keys(import.meta.glob('../routes/components/**'))
.map((it) => it.replace('../routes/components/', '').replace('.md', ''))
.map(cleanPath)
.sort()
const classes = Object.keys(import.meta.glob('../routes/classes/**'))
.map((it) => it.replace('../routes/classes/', '').replace('.md', ''))
.map(cleanPath)
.sort()
let slideIn = false
@ -21,14 +22,17 @@
<nav class="sidebar" class:slideIn>
<div class="sidebar__content">
<div class="section">
<span class="section__title">Getting started</span>
<a href="/" class="section__link">Introduction</a>
<a href="/getting-started/configure" class="section__link">Configure</a>
<a href="/getting-started/icons" class="section__link">Using Icons</a>
<a href="/getting-started/css" class="section__link">Writing CSS</a>
<a href="/getting-started/illustrations" class="section__link">Illustrations</a>
<a href="/getting-started/utils" class="section__link">Built-in utilities</a>
<a href="/getting-started/generator" class="section__link">Generator plugin</a>
<a href="/setup" class="section__link">Setup</a>
</div>
<div class="section">
<span class="section__title">Usage</span>
<a href="/usage/icons" class="section__link">Using Icons</a>
<a href="/usage/css" class="section__link">Writing CSS</a>
<a href="/usage/illustrations" class="section__link">Illustrations</a>
<a href="/usage/utils" class="section__link">Built-in utilities</a>
<a href="/usage/generator" class="section__link">Generator plugin</a>
</div>
<div class="section">

View File

@ -1,36 +0,0 @@
---
title: Configure
---
To make use of the built-in icons, styles, and plugins in omorphia, you will need to update your project's config files.
## SvelteKit
Add the following parts to your `svelte.config.js` file:
```js
import { preprocess, plugins } from 'omorphia/config/svelte.js'
/** @type {import('@sveltejs/kit').Config} */
const config = {
preprocess: [preprocess],
kit: {
vite: {
plugins: [...plugins],
},
},
}
export default config
```
## PostCSS
Create a `postcss.config.cjs` file in the root of your project.
Add the following line to that file:
```js
module.exports = require('omorphia/config/postcss.cjs')
```

View File

@ -2,36 +2,20 @@
title: Introduction
---
## What is Omorphia?
## Overview
Omorphia is Modrinth's style and reusable component library for use in all of its frontend applications, including [knossos](https://github.com/modrinth/knossos) (modrinth.com), [theseus](https://github.com/modrinth/theseus) (launcher), and planned projects such as Modrinth's in-house auth and ad-server.
Omorphia is Modrinth's component, style, and utility library for Svelte projects. It includes:
- 🧩 Typed components which enhance HTML elements and provide a consistent UI
- 🎨 CSS classes to easily style elements with a coherent style
- 🧰 Typed utilities to solve common tasks quick and dependably
- ⚙️ Configuration for SvelteKit and PostCSS to simplify setups
- 🚚 A Rollup plugin to generate a cache of heavily used API requests and OpenAPI types
Omorphia is used in [Knossos](https://github.com/modrinth/knossos) (modrinth.com) and [Theseus](https://github.com/modrinth/theseus) (Minecraft launcher).
It uses [Svelte](https://svelte.dev/) to deliver the best performance with the least boilerplate.
## Getting started
Adding Omorphia to your project is as easy as:
```bash
pnpm add omorphia
```
### Components
Use a component by importing from `omorphia`. For example, use the [Button component](/components/Button) like so:
```svelte example raised
<script lang="ts">
import { Button } from 'omorphia'
</script>
<Button color="primary">I'm a button!</Button>
```
For more information on each component, check out the pages on the sidebar navigation.
> To get Svelte language support in your code editor, [use this list of extensions.](https://sveltesociety.dev/tools#editor-support)
### Using icons and styles
Follow the guides on the sidebar to learn how to use [icons](/getting-started/icons) and general concepts.
Follow the instructions on the [➜ setup page 🛠️](/setup).

183
docs/routes/setup.md Normal file
View File

@ -0,0 +1,183 @@
---
title: Setup
---
## `0.` Prerequisites
First install the following:
- [Node 16.x](https://docs.volta.sh/guide/getting-started) or higher
- [PNPM](https://pnpm.io/installation) (required for Modrinth projects)
## `1.` Create a SvelteKit project
Run the following command to create a SvelteKit project:
```bash
pnpm create svelte
```
Follow the instructions to install dependencies and setup git.
## `2.` Add Omorphia to your project
```bash
pnpm add omorphia
```
## `3.` Setup translations
Install the translations submodule:
```bash
git submodule add https://github.com/modrinth/translations locales/
```
Install `svelte-intl-precompile`:
```bash
pnpm add svelte-intl-precompile -D
```
Add translations in `src/routes/__layout.svelte`:
```html
<script context="module" lang="ts">
import { init, waitLocale, t, getLocaleFromAcceptLanguageHeader } from 'svelte-intl-precompile'
import { registerAll, availableLocales } from '$locales'
registerAll()
export const load: import('@sveltejs/kit').Load = async ({ session }) => {
init({
fallbackLocale: 'en',
initialLocale: getLocaleFromAcceptLanguageHeader(session.acceptLanguage, availableLocales),
})
await waitLocale()
return {}
}
</script>
```
## `4.` Configure SvelteKit
Add the following parts to your `svelte.config.js` file:
```js
import adapter from '@sveltejs/adapter-auto'
import { preprocess, plugins } from 'omorphia/config/svelte'
import precompileIntl from 'svelte-intl-precompile/sveltekit-plugin'
import { Generator } from 'omorphia/plugins'
import path from 'path'
/** @type {import('@sveltejs/kit').Config} */
const config = {
preprocess: [preprocess],
kit: {
adapter: adapter(),
alias: {
$generated: path.resolve('./generated'),
$stores: path.resolve('./src/stores'),
},
vite: {
plugins: [
...plugins,
precompileIntl('locales'),
Generator({
gameVersions: true,
openapi: true,
// Add more if needed
}),
],
server: {
fs: {
allow: ['generated'],
},
},
},
},
}
export default config
```
Create a `src/stores/account.ts` file with a `token` store export:
```ts
import { writable } from 'svelte/store'
export const token = writable('')
```
## `5.` Configure PostCSS
Create a `postcss.config.cjs` file in the root of your project.
Add the following line to that file:
```js
module.exports = require('omorphia/config/postcss.cjs')
```
## `6.` Setup styles
Import styles in `src/routes/__layout.svelte`:
```html
<script lang="ts">
import 'omorphia/styles.postcss'
</script>
```
Add the `base` class and a theme to the `<body>` tag in `src/app.html`:
```html
<body class="base theme-light">
%sveltekit.body%
</body>
```
## `7.` Using Omorphia
### Developing
Start the development server with:
```bash
pnpm dev
```
> To get Svelte language support in your code editor, [use this list of extensions.](https://sveltesociety.dev/tools#editor-support)
### Components
Use a component by importing from `omorphia`. For example, use the [Button component](/components/Button) like so:
```svelte example raised
<script lang="ts">
import { Button } from 'omorphia'
</script>
<Button color="primary">I'm a button!</Button>
```
### Utils
Use a utility by importing from `omorphia/utils`.
```svelte example raised
<script lang="ts">
import { ago } from 'omorphia/utils'
</script>
{ago(Date.now() - 100000)}
```
### Using icons and styles
Follow the guides on the sidebar to learn how to use [icons](/getting-started/icons) and general concepts.

View File

@ -5,7 +5,7 @@
"scripts": {
"dev": "svelte-kit dev",
"build": "svelte-kit build",
"package": "svelte-kit package",
"package": "svelte-kit package && merge-dirs package/src package",
"preview": "svelte-kit preview",
"prepare": "svelte-kit sync",
"check": "svelte-check --tsconfig ./tsconfig.json",
@ -42,6 +42,8 @@
"eslint-plugin-svelte3": "^3.2.1",
"mdsvex": "^0.10.5",
"mdsvexamples": "^0.3.0",
"merge-dirs": "^0.2.1",
"micromatch": "^4.0.5",
"nodemon": "^2.0.15",
"prettier": "^2.6.2",
"prettier-plugin-svelte": "^2.7.0",
@ -49,7 +51,6 @@
"svelte": "^3.48.0",
"svelte-check": "^2.7.2",
"svelte-intl-precompile": "^0.11.1",
"svelte-preprocess": "^4.10.1",
"svelte2tsx": "^0.5.5",
"tslib": "^2.3.1",
"typescript": "~4.6.2"
@ -80,6 +81,7 @@
"postcss-preset-env": "^7.7.1",
"postcss-pxtorem": "^6.0.0",
"sanitize.css": "^13.0.0",
"svelte-preprocess": "^4.10.1",
"svelte-tiny-virtual-list": "^2.0.1",
"svelte-use-click-outside": "^1.0.0",
"throttle-debounce": "^3.0.1",

239
pnpm-lock.yaml generated
View File

@ -26,6 +26,8 @@ specifiers:
marked: ^4.0.12
mdsvex: ^0.10.5
mdsvexamples: ^0.3.0
merge-dirs: ^0.2.1
micromatch: ^4.0.5
nodemon: ^2.0.15
openapi-typescript: ^5.4.0
postcss: ^8.4.8
@ -80,6 +82,7 @@ dependencies:
postcss-preset-env: 7.7.1_postcss@8.4.8
postcss-pxtorem: 6.0.0_postcss@8.4.8
sanitize.css: 13.0.0
svelte-preprocess: 4.10.4_44qe5g6fi6uxvss56imdgyaaty
svelte-tiny-virtual-list: 2.0.1
svelte-use-click-outside: 1.0.0
throttle-debounce: 3.0.1
@ -98,6 +101,8 @@ devDependencies:
eslint-plugin-svelte3: 3.4.1_6wevxxng4y4ff26nzlndg2wnpa
mdsvex: 0.10.5_svelte@3.48.0
mdsvexamples: 0.3.0
merge-dirs: 0.2.1
micromatch: 4.0.5
nodemon: 2.0.15
prettier: 2.6.2
prettier-plugin-svelte: 2.7.0_kkjbqzpydplecjtkxrgomroeru
@ -105,7 +110,6 @@ devDependencies:
svelte: 3.48.0
svelte-check: 2.7.2_2pvebpkgu3ohgo43qaf5qmcxwm
svelte-intl-precompile: 0.11.1_svelte@3.48.0
svelte-preprocess: 4.10.4_44qe5g6fi6uxvss56imdgyaaty
svelte2tsx: 0.5.5_c64miirrcucob5yjzfkddrmila
tslib: 2.3.1
typescript: 4.6.2
@ -150,24 +154,24 @@ packages:
'@babel/highlight': 7.16.10
dev: true
/@babel/compat-data/7.17.10:
resolution: {integrity: sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw==}
/@babel/compat-data/7.18.5:
resolution: {integrity: sha512-BxhE40PVCBxVEJsSBhB6UWyAuqJRxGsAw8BdHMJ3AKGydcwuWW4kOO3HmqBQAdcq/OP+/DlTVxLvsCzRTnZuGg==}
engines: {node: '>=6.9.0'}
dev: true
/@babel/core/7.18.2:
resolution: {integrity: sha512-A8pri1YJiC5UnkdrWcmfZTJTV85b4UXTAfImGmCfYmax4TR9Cw8sDS0MOk++Gp2mE/BefVJ5nwy5yzqNJbP/DQ==}
/@babel/core/7.18.5:
resolution: {integrity: sha512-MGY8vg3DxMnctw0LdvSEojOsumc70g0t18gNyUdAZqB1Rpd1Bqo/svHGvt+UJ6JcGX+DIekGFDxxIWofBxLCnQ==}
engines: {node: '>=6.9.0'}
dependencies:
'@ampproject/remapping': 2.2.0
'@babel/code-frame': 7.16.7
'@babel/generator': 7.18.2
'@babel/helper-compilation-targets': 7.18.2_@babel+core@7.18.2
'@babel/helper-compilation-targets': 7.18.2_@babel+core@7.18.5
'@babel/helper-module-transforms': 7.18.0
'@babel/helpers': 7.18.2
'@babel/parser': 7.18.4
'@babel/parser': 7.18.5
'@babel/template': 7.16.7
'@babel/traverse': 7.18.2
'@babel/traverse': 7.18.5
'@babel/types': 7.18.4
convert-source-map: 1.8.0
debug: 4.3.4
@ -187,14 +191,14 @@ packages:
jsesc: 2.5.2
dev: true
/@babel/helper-compilation-targets/7.18.2_@babel+core@7.18.2:
/@babel/helper-compilation-targets/7.18.2_@babel+core@7.18.5:
resolution: {integrity: sha512-s1jnPotJS9uQnzFtiZVBUxe67CuBa679oWFHpxYYnTpRL/1ffhyX44R9uYiXoa/pLXcY9H2moJta0iaanlk/rQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
'@babel/compat-data': 7.17.10
'@babel/core': 7.18.2
'@babel/compat-data': 7.18.5
'@babel/core': 7.18.5
'@babel/helper-validator-option': 7.16.7
browserslist: 4.20.4
semver: 6.3.0
@ -237,7 +241,7 @@ packages:
'@babel/helper-split-export-declaration': 7.16.7
'@babel/helper-validator-identifier': 7.16.7
'@babel/template': 7.16.7
'@babel/traverse': 7.18.2
'@babel/traverse': 7.18.5
'@babel/types': 7.18.4
transitivePeerDependencies:
- supports-color
@ -277,7 +281,7 @@ packages:
engines: {node: '>=6.9.0'}
dependencies:
'@babel/template': 7.16.7
'@babel/traverse': 7.18.2
'@babel/traverse': 7.18.5
'@babel/types': 7.18.4
transitivePeerDependencies:
- supports-color
@ -292,8 +296,8 @@ packages:
js-tokens: 4.0.0
dev: true
/@babel/parser/7.18.4:
resolution: {integrity: sha512-FDge0dFazETFcxGw/EXzOkN8uJp0PC7Qbm+Pe9T+av2zlBpOgunFHkQPPn+eRuClU73JF+98D531UgayY89tow==}
/@babel/parser/7.18.5:
resolution: {integrity: sha512-YZWVaglMiplo7v8f1oMQ5ZPQr0vn7HPeZXxXWsxXJRjGVrzUFn9OxFQl1sb5wzfootjA/yChhW84BV+383FSOw==}
engines: {node: '>=6.0.0'}
hasBin: true
dependencies:
@ -312,12 +316,12 @@ packages:
engines: {node: '>=6.9.0'}
dependencies:
'@babel/code-frame': 7.16.7
'@babel/parser': 7.18.4
'@babel/parser': 7.18.5
'@babel/types': 7.18.4
dev: true
/@babel/traverse/7.18.2:
resolution: {integrity: sha512-9eNwoeovJ6KH9zcCNnENY7DMFwTU9JdGCFtqNLfUAqtUHRCOsTOqWoffosP8vKmNYeSBUv3yVJXjfd8ucwOjUA==}
/@babel/traverse/7.18.5:
resolution: {integrity: sha512-aKXj1KT66sBj0vVzk6rEeAO6Z9aiiQ68wfDgge3nHhA/my6xMM/7HGQUNumKZaoa2qUPQ5whJG9aAifsxUKfLA==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/code-frame': 7.16.7
@ -326,7 +330,7 @@ packages:
'@babel/helper-function-name': 7.17.9
'@babel/helper-hoist-variables': 7.16.7
'@babel/helper-split-export-declaration': 7.16.7
'@babel/parser': 7.18.4
'@babel/parser': 7.18.5
'@babel/types': 7.18.4
debug: 4.3.4
globals: 11.12.0
@ -1165,7 +1169,6 @@ packages:
/@types/node/17.0.21:
resolution: {integrity: sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ==}
dev: true
/@types/offscreencanvas/2019.6.4:
resolution: {integrity: sha512-u8SAgdZ8ROtkTF+mfZGOscl0or6BSj9A4g37e6nvxDc+YB/oDut0wHkK2PBBiC2bNR8TS0CPV+1gAk4fNisr1Q==}
@ -1173,7 +1176,6 @@ packages:
/@types/pug/2.0.6:
resolution: {integrity: sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==}
dev: true
/@types/resolve/1.17.1:
resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==}
@ -1191,7 +1193,6 @@ packages:
resolution: {integrity: sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==}
dependencies:
'@types/node': 17.0.21
dev: true
/@types/throttle-debounce/2.1.0:
resolution: {integrity: sha512-5eQEtSCoESnh2FsiLTxE121IiE60hnMqcb435fShf4bpLRjEu1Eoekht23y6zXS9Ts3l+Szu3TARnTsA0GkOkQ==}
@ -1392,15 +1393,24 @@ packages:
engines: {node: '>=6'}
dev: true
/ansi-regex/2.1.1:
resolution: {integrity: sha1-w7M6te42DYbg5ijwRorn7yfWVN8=}
/ansi-escapes/1.4.0:
resolution: {integrity: sha512-wiXutNjDUlNEDWHcYH3jtZUhd3c4/VojassD8zHdHCY13xbZy2XbW+NKQwA0tWGBVzDA9qEzYwfoSsWmviidhw==}
engines: {node: '>=0.10.0'}
dev: true
/ansi-regex/2.1.1:
resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==}
engines: {node: '>=0.10.0'}
dev: false
/ansi-regex/5.0.1:
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
engines: {node: '>=8'}
/ansi-styles/2.2.1:
resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==}
engines: {node: '>=0.10.0'}
dev: true
/ansi-styles/3.2.1:
resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
engines: {node: '>=4'}
@ -1509,7 +1519,7 @@ packages:
/babel-plugin-precompile-intl/0.5.1:
resolution: {integrity: sha512-ki0llx5xZT1jQeLUIILVlAaaJQl/Jk+YTCXQZXoqjdwdUeAd2FTAOUWOYKk0W4KC+ONGFqtYfKmyjZkm5hlhpw==}
dependencies:
'@babel/core': 7.18.2
'@babel/core': 7.18.5
'@babel/helper-plugin-utils': 7.17.12
'@formatjs/icu-messageformat-parser': 2.1.3
transitivePeerDependencies:
@ -1595,7 +1605,6 @@ packages:
/buffer-crc32/0.2.13:
resolution: {integrity: sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=}
dev: true
/buffer-equal/0.0.1:
resolution: {integrity: sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=}
@ -1653,6 +1662,17 @@ packages:
/caniuse-lite/1.0.30001349:
resolution: {integrity: sha512-VFaWW3jeo6DLU5rwdiasosxhYSduJgSGil4cSyX3/85fbctlE58pXAkWyuRmVA0r2RxsOSVYUTZcySJ8WpbTxw==}
/chalk/1.1.3:
resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==}
engines: {node: '>=0.10.0'}
dependencies:
ansi-styles: 2.2.1
escape-string-regexp: 1.0.5
has-ansi: 2.0.0
strip-ansi: 3.0.1
supports-color: 2.0.0
dev: true
/chalk/2.4.2:
resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
engines: {node: '>=4'}
@ -1698,6 +1718,13 @@ packages:
engines: {node: '>=6'}
dev: true
/cli-cursor/1.0.2:
resolution: {integrity: sha512-25tABq090YNKkF6JH7lcwO0zFJTRke4Jcq9iX2nr/Sz0Cjjv4gckmwlW6Ty/aoyFd6z3ysR2hMGC2GFugmBo6A==}
engines: {node: '>=0.10.0'}
dependencies:
restore-cursor: 1.0.1
dev: true
/cli-progress/3.11.1:
resolution: {integrity: sha512-TTMA2LHrYaZeNMcgZGO10oYqj9hvd03pltNtVbu4ddeyDTHlYV7gWxsFiuvaQlgwMBFCv1TukcjiODWFlb16tQ==}
engines: {node: '>=4'}
@ -1705,6 +1732,10 @@ packages:
string-width: 4.2.3
dev: false
/cli-width/1.1.1:
resolution: {integrity: sha512-eMU2akIeEIkCxGXUNmDnJq1KzOIiPnJ+rKqRe6hcxE3vIOPvpMrBYOn/Bl7zNlYJj/zQxXquAnozHUCf9Whnsg==}
dev: true
/clone-response/1.0.2:
resolution: {integrity: sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=}
dependencies:
@ -1712,9 +1743,8 @@ packages:
dev: true
/code-point-at/1.1.0:
resolution: {integrity: sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=}
resolution: {integrity: sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==}
engines: {node: '>=0.10.0'}
dev: false
/color-convert/1.9.3:
resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
@ -2023,7 +2053,6 @@ packages:
/detect-indent/6.1.0:
resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==}
engines: {node: '>=8'}
dev: true
/detect-libc/2.0.1:
resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==}
@ -2114,7 +2143,6 @@ packages:
/es6-promise/3.3.1:
resolution: {integrity: sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=}
dev: true
/esbuild-android-64/0.14.30:
resolution: {integrity: sha512-vdJ7t8A8msPfKpYUGUV/KaTQRiZ0vDa2XSTlzXVkGGVHLKPeb85PBUtYJcEgw3htW3IdX5i1t1IMdQCwJJgNAg==}
@ -2527,6 +2555,11 @@ packages:
resolution: {integrity: sha1-WKnS1ywCwfbwKg70qRZicrd2CSI=}
dev: false
/exit-hook/1.1.1:
resolution: {integrity: sha512-MsG3prOVw1WtLXAZbM3KiYtooKR1LvxHh3VHsVtIy0uiUu8usxgB/94DP2HxtD/661lLdB6yzQ09lGJSQr6nkg==}
engines: {node: '>=0.10.0'}
dev: true
/expand-template/2.0.3:
resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==}
engines: {node: '>=6'}
@ -2562,7 +2595,7 @@ packages:
'@nodelib/fs.walk': 1.2.8
glob-parent: 5.1.2
merge2: 1.4.1
micromatch: 4.0.4
micromatch: 4.0.5
/fast-json-stable-stringify/2.1.0:
resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
@ -2581,6 +2614,14 @@ packages:
dependencies:
reusify: 1.0.4
/figures/1.7.0:
resolution: {integrity: sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==}
engines: {node: '>=0.10.0'}
dependencies:
escape-string-regexp: 1.0.5
object-assign: 4.1.1
dev: true
/file-entry-cache/6.0.1:
resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
engines: {node: ^10.12.0 || >=12.0.0}
@ -2795,6 +2836,12 @@ packages:
/graceful-fs/4.2.9:
resolution: {integrity: sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==}
/has-ansi/2.0.0:
resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==}
engines: {node: '>=0.10.0'}
dependencies:
ansi-regex: 2.1.1
dev: true
/has-flag/3.0.0:
@ -2889,6 +2936,10 @@ packages:
once: 1.4.0
wrappy: 1.0.2
/inherits/2.0.3:
resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==}
dev: true
/inherits/2.0.4:
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
@ -2900,6 +2951,24 @@ packages:
engines: {node: '>=10'}
dev: true
/inquirer/0.11.4:
resolution: {integrity: sha512-QR+2TW90jnKk9LUUtbcA3yQXKt2rDEKMh6+BAZQIeumtzHexnwVLdPakSslGijXYLJCzFv7GMXbFCn0pA00EUw==}
dependencies:
ansi-escapes: 1.4.0
ansi-regex: 2.1.1
chalk: 1.1.3
cli-cursor: 1.0.2
cli-width: 1.1.1
figures: 1.7.0
lodash: 3.10.1
readline2: 1.0.1
run-async: 0.1.0
rx-lite: 3.1.2
string-width: 1.0.2
strip-ansi: 3.0.1
through: 2.3.8
dev: true
/insane/2.6.2:
resolution: {integrity: sha1-wqtouz4AarRRVg0bRGkXMpwKgSA=}
dependencies:
@ -2935,11 +3004,10 @@ packages:
engines: {node: '>=0.10.0'}
/is-fullwidth-code-point/1.0.0:
resolution: {integrity: sha1-754xOG8DGn8NZDr4L95QxFfvAMs=}
resolution: {integrity: sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==}
engines: {node: '>=0.10.0'}
dependencies:
number-is-nan: 1.0.1
dev: false
/is-fullwidth-code-point/3.0.0:
resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
@ -3154,6 +3222,10 @@ packages:
resolution: {integrity: sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=}
dev: false
/lodash/3.10.1:
resolution: {integrity: sha512-9mDDwqVIma6OZX79ZlDACZl8sBm0TEnkf99zV3iMA4GzkIT/9hiqP5mY0HoT1iNLCrKc/R1HByV+yJfRWVJryQ==}
dev: true
/lodash/4.17.21:
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
dev: false
@ -3184,7 +3256,6 @@ packages:
resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
dependencies:
sourcemap-codec: 1.4.8
dev: true
/magic-string/0.26.2:
resolution: {integrity: sha512-NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A==}
@ -3238,6 +3309,16 @@ packages:
- webpack
dev: true
/merge-dirs/0.2.1:
resolution: {integrity: sha512-x9S0RKVGdoTv5+HkVkGFhyBXhSde3+F8EN8a1lgDW975ytTN+3JoTRB/J7kFStsDr2XVrbRZfKsqsTdE5DAzkw==}
hasBin: true
dependencies:
inquirer: 0.11.4
minimist: 1.2.5
node-fs: 0.1.7
path: 0.12.7
dev: true
/merge-stream/2.0.0:
resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
dev: false
@ -3251,8 +3332,8 @@ packages:
engines: {node: '>=10.4.0'}
dev: true
/micromatch/4.0.4:
resolution: {integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==}
/micromatch/4.0.5:
resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
engines: {node: '>=8.6'}
dependencies:
braces: 3.0.2
@ -3294,7 +3375,6 @@ packages:
/min-indent/1.0.1:
resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
engines: {node: '>=4'}
dev: true
/minimatch/3.1.2:
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
@ -3322,6 +3402,10 @@ packages:
/ms/2.1.2:
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
/mute-stream/0.0.5:
resolution: {integrity: sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=}
dev: true
/nanoid/3.3.1:
resolution: {integrity: sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
@ -3371,6 +3455,12 @@ packages:
whatwg-url: 5.0.0
dev: false
/node-fs/0.1.7:
resolution: {integrity: sha512-XqDBlmUKgDGe76+lZ/0sRBF3XW2vVcK07+ZPvdpUTK8jrvtPahUd0aBqJ9+ZjB01ANjZLuvK3O/eoMVmz62rpA==}
engines: {node: '>=0.1.97'}
os: [linux, darwin, freebsd, win32, smartos, sunos]
dev: true
/node-releases/2.0.2:
resolution: {integrity: sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==}
dev: false
@ -3446,14 +3536,12 @@ packages:
dev: false
/number-is-nan/1.0.1:
resolution: {integrity: sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=}
resolution: {integrity: sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==}
engines: {node: '>=0.10.0'}
dev: false
/object-assign/4.1.1:
resolution: {integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=}
engines: {node: '>=0.10.0'}
dev: false
/omggif/1.0.10:
resolution: {integrity: sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==}
@ -3464,6 +3552,11 @@ packages:
dependencies:
wrappy: 1.0.2
/onetime/1.1.0:
resolution: {integrity: sha512-GZ+g4jayMqzCRMgB2sol7GiCLjKfS1PINkjmx8spcKce1LiVqcbQreXwqs2YAFXC6R03VIG28ZS31t8M866v6A==}
engines: {node: '>=0.10.0'}
dev: true
/onetime/5.1.2:
resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
engines: {node: '>=6'}
@ -3588,6 +3681,13 @@ packages:
engines: {node: '>=8'}
dev: true
/path/0.12.7:
resolution: {integrity: sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==}
dependencies:
process: 0.11.10
util: 0.10.4
dev: true
/phin/2.9.3:
resolution: {integrity: sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==}
dev: false
@ -4429,9 +4529,8 @@ packages:
dev: false
/process/0.11.10:
resolution: {integrity: sha1-czIwDoQBYb2j5podHZGn1LwW8YI=}
resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==}
engines: {node: '>= 0.6.0'}
dev: false
/progress/2.0.3:
resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==}
@ -4506,6 +4605,14 @@ packages:
picomatch: 2.3.1
dev: true
/readline2/1.0.1:
resolution: {integrity: sha512-8/td4MmwUB6PkZUbV25uKz7dfrmjYWxsW8DVfibWdlHRk/l/DfHKn4pU+dfcoGLFgWOdyGCzINRQD7jn+Bv+/g==}
dependencies:
code-point-at: 1.1.0
is-fullwidth-code-point: 1.0.0
mute-stream: 0.0.5
dev: true
/regenerator-runtime/0.13.9:
resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==}
dev: false
@ -4557,6 +4664,14 @@ packages:
lowercase-keys: 1.0.1
dev: true
/restore-cursor/1.0.1:
resolution: {integrity: sha512-reSjH4HuiFlxlaBaFCiS6O76ZGG2ygKoSlCsipKdaZuKSPx/+bt9mULkn4l0asVzbEfQQmXRg6Wp6gv6m0wElw==}
engines: {node: '>=0.10.0'}
dependencies:
exit-hook: 1.1.1
onetime: 1.1.0
dev: true
/reusify/1.0.4:
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
@ -4566,7 +4681,6 @@ packages:
hasBin: true
dependencies:
glob: 7.2.0
dev: true
/rimraf/3.0.2:
resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
@ -4602,11 +4716,21 @@ packages:
fsevents: 2.3.2
dev: true
/run-async/0.1.0:
resolution: {integrity: sha512-qOX+w+IxFgpUpJfkv2oGN0+ExPs68F4sZHfaRRx4dDexAQkG83atugKVEylyT5ARees3HBbfmuvnjbrd8j9Wjw==}
dependencies:
once: 1.4.0
dev: true
/run-parallel/1.2.0:
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
dependencies:
queue-microtask: 1.2.3
/rx-lite/3.1.2:
resolution: {integrity: sha512-1I1+G2gteLB8Tkt8YI1sJvSIfa0lWuRtC8GjvtyPBcLSF5jBCCJJqKrpER5JU5r6Bhe+i9/pK3VMuUcXu0kdwQ==}
dev: true
/sade/1.8.1:
resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
engines: {node: '>=6'}
@ -4628,7 +4752,6 @@ packages:
graceful-fs: 4.2.9
mkdirp: 0.5.5
rimraf: 2.7.1
dev: true
/sanitize.css/13.0.0:
resolution: {integrity: sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==}
@ -4743,7 +4866,6 @@ packages:
minimist: 1.2.5
sander: 0.5.1
sourcemap-codec: 1.4.8
dev: true
/source-map-js/1.0.2:
resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
@ -4761,7 +4883,6 @@ packages:
/sourcemap-codec/1.4.8:
resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
dev: true
/sprintf-js/1.0.3:
resolution: {integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=}
@ -4772,13 +4893,12 @@ packages:
dev: false
/string-width/1.0.2:
resolution: {integrity: sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=}
resolution: {integrity: sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==}
engines: {node: '>=0.10.0'}
dependencies:
code-point-at: 1.1.0
is-fullwidth-code-point: 1.0.0
strip-ansi: 3.0.1
dev: false
/string-width/4.2.3:
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
@ -4801,11 +4921,10 @@ packages:
dev: false
/strip-ansi/3.0.1:
resolution: {integrity: sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=}
resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==}
engines: {node: '>=0.10.0'}
dependencies:
ansi-regex: 2.1.1
dev: false
/strip-ansi/6.0.1:
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
@ -4828,7 +4947,6 @@ packages:
engines: {node: '>=8'}
dependencies:
min-indent: 1.0.1
dev: true
/strip-json-comments/2.0.1:
resolution: {integrity: sha1-PFMZQukIwml8DsNEhYwobHygpgo=}
@ -4850,6 +4968,11 @@ packages:
postcss-selector-parser: 6.0.10
dev: false
/supports-color/2.0.0:
resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==}
engines: {node: '>=0.8.0'}
dev: true
/supports-color/5.5.0:
resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
engines: {node: '>=4'}
@ -4998,7 +5121,6 @@ packages:
strip-indent: 3.0.0
svelte: 3.48.0
typescript: 4.6.2
dev: true
/svelte-tiny-virtual-list/2.0.1:
resolution: {integrity: sha512-0X6k5cZxF9yRLfVJ1bfwQmfEMbd3OSNNM/tI9y44jYbsB/FkI2GEIKpeV5J8AQy87qFU9xnPLxxo3erQFfdC2A==}
@ -5078,6 +5200,10 @@ packages:
engines: {node: '>=10'}
dev: false
/through/2.3.8:
resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
dev: true
/timm/1.7.1:
resolution: {integrity: sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==}
dev: false
@ -5173,7 +5299,6 @@ packages:
resolution: {integrity: sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg==}
engines: {node: '>=4.2.0'}
hasBin: true
dev: true
/undefsafe/2.0.5:
resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==}
@ -5348,6 +5473,12 @@ packages:
resolution: {integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=}
dev: false
/util/0.10.4:
resolution: {integrity: sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==}
dependencies:
inherits: 2.0.3
dev: true
/v8-compile-cache/2.3.0:
resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==}
dev: true

View File

@ -7,6 +7,7 @@ import path from 'path'
import { preprocess, plugins } from './src/config/svelte.js'
import Generator from './src/plugins/generator/index.js'
import precompileIntl from 'svelte-intl-precompile/sveltekit-plugin'
import mm from 'micromatch'
/** @type {import('@sveltejs/kit').Config} */
export default {