diff --git a/api/_build.mjs b/api/_build.mjs
index c039dab1..0eb2d0fd 100644
--- a/api/_build.mjs
+++ b/api/_build.mjs
@@ -1,12 +1,11 @@
import grayMatter from 'gray-matter'
import { iterateOnDirectory, writeFile } from '../scripts/global.mjs'
-import { getMatchOrReturn } from './_utils.js'
const metadata = {}
iterateOnDirectory('../src/content/blog', (path, contents) => {
- const slug = getMatchOrReturn(path, /\/[^/]*$/, 0).slice(1, -3)
+ const slug = path.match(/\/[^/]*$/)?.[0].slice(1, -3)
const { data } = grayMatter(contents)
const date = new Date(data.date)
metadata[slug] = {
diff --git a/api/_parser.ts b/api/_parser.ts
index 6978b77f..8bc07f77 100644
--- a/api/_parser.ts
+++ b/api/_parser.ts
@@ -1,7 +1,5 @@
import { IncomingMessage } from 'http'
-import { getMatchOrReturn } from './_utils'
-
import { metadata } from './metadata.json'
export interface ParsedReqs {
@@ -11,7 +9,7 @@ export interface ParsedReqs {
}
export function parseReqs(req: IncomingMessage) {
- const slug = getMatchOrReturn(req.url || '', /\/([^/]*).jpg$/, 1)
+ const slug = req.url?.match(/\/([^/]*).jpg$/)?.[1]
if (slug === 'og') {
return {
diff --git a/api/_utils.js b/api/_utils.js
deleted file mode 100644
index 6621ff6a..00000000
--- a/api/_utils.js
+++ /dev/null
@@ -1,8 +0,0 @@
-/**
- * @type {(haystack: string, needle: string | RegExp, index: number ) => string} getMatchOrReturn
- */
-module.exports.getMatchOrReturn = (haystack, needle, index = 0) => {
- const matches = haystack.match(needle)
- if (!matches || !matches.length || matches.length < index + 1) return ''
- return matches[index]
-}
diff --git a/nuxt.config.ts b/nuxt.config.ts
index 8a925a66..6ebf2d80 100644
--- a/nuxt.config.ts
+++ b/nuxt.config.ts
@@ -1,3 +1,4 @@
+import { useNuxt } from '@nuxt/kit'
import { defineNuxtConfig } from 'nuxt'
export default defineNuxtConfig({
@@ -85,10 +86,43 @@ export default defineNuxtConfig({
},
modules: [
+ 'magic-regexp/nuxt',
'@nuxtjs/tailwindcss',
'@nuxtjs/color-mode',
'@nuxt/content',
'vue-plausible',
'~/modules/critters',
+ function () {
+ const nuxt = useNuxt()
+ let dirs: string[]
+ nuxt.hook('components:dirs', _dirs => {
+ dirs = _dirs.map(d => (typeof d === 'string' ? d : d.path))
+ })
+ // Exclude non-prose content components
+ nuxt.hook('components:extend', components => {
+ for (const component of components) {
+ if (
+ 'filePath' in component &&
+ component.filePath.includes('@nuxt/content')
+ ) {
+ if (!component.filePath.includes('/Prose/')) {
+ components.splice(components.indexOf(component), 1)
+ }
+ }
+ }
+ })
+ // Use single components chunk
+ nuxt.hook('vite:extendConfig', config => {
+ if (Array.isArray(config.build.rollupOptions.output)) return
+ config.build.rollupOptions.output.manualChunks = id => {
+ if (
+ id.includes('@nuxt/content') &&
+ dirs.some(dir => id.includes(dir))
+ ) {
+ return 'components-chunk'
+ }
+ }
+ })
+ },
],
})
diff --git a/package.json b/package.json
index 0fd7fd4e..6496dc56 100644
--- a/package.json
+++ b/package.json
@@ -22,7 +22,7 @@
},
"dependencies": {
"@nuxt/content": "npm:@nuxt/content-edge@2.1.0-27658086.63749d2",
- "@nuxt/kit": "npm:@nuxt/kit-edge@3.0.0-rc.6-27658796.fbe2459",
+ "@nuxt/kit": "npm:@nuxt/kit-edge@3.0.0-rc.6-27661960.60656df",
"critters": "^0.0.16",
"prism-themes": "1.9.0",
"vue-plausible": "^1.3.2"
@@ -46,14 +46,15 @@
"happy-dom": "^6.0.4",
"husky": "8.0.1",
"lint-staged": "13.0.3",
- "nuxt": "npm:nuxt3@3.0.0-rc.6-27658796.fbe2459",
+ "magic-regexp": "^0.4.1",
+ "nuxt": "npm:nuxt3@3.0.0-rc.6-27661960.60656df",
"postcss-html": "1.5.0",
"prettier": "2.7.1",
"stylelint": "14.9.1",
"stylelint-config-prettier": "9.0.3",
"stylelint-config-recommended-vue": "1.4.0",
"stylelint-config-standard": "26.0.0",
- "vitest": "^0.20.3"
+ "vitest": "^0.21.0"
},
"packageManager": "pnpm@7.8.0"
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index d92dc6ce..91d60f9f 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -7,7 +7,7 @@ importers:
'@commitlint/cli': 17.0.3
'@commitlint/config-conventional': 17.0.3
'@nuxt/content': npm:@nuxt/content-edge@2.1.0-27658086.63749d2
- '@nuxt/kit': npm:@nuxt/kit-edge@3.0.0-rc.6-27658796.fbe2459
+ '@nuxt/kit': npm:@nuxt/kit-edge@3.0.0-rc.6-27661960.60656df
'@nuxtjs/color-mode': 3.1.4
'@nuxtjs/eslint-config': 10.0.0
'@nuxtjs/eslint-config-typescript': 10.0.0
@@ -25,7 +25,8 @@ importers:
happy-dom: ^6.0.4
husky: 8.0.1
lint-staged: 13.0.3
- nuxt: npm:nuxt3@3.0.0-rc.6-27658796.fbe2459
+ magic-regexp: ^0.4.1
+ nuxt: npm:nuxt3@3.0.0-rc.6-27661960.60656df
postcss-html: 1.5.0
prettier: 2.7.1
prism-themes: 1.9.0
@@ -33,11 +34,11 @@ importers:
stylelint-config-prettier: 9.0.3
stylelint-config-recommended-vue: 1.4.0
stylelint-config-standard: 26.0.0
- vitest: ^0.20.3
+ vitest: ^0.21.0
vue-plausible: ^1.3.2
dependencies:
'@nuxt/content': /@nuxt/content-edge/2.1.0-27658086.63749d2
- '@nuxt/kit': /@nuxt/kit-edge/3.0.0-rc.6-27658796.fbe2459
+ '@nuxt/kit': /@nuxt/kit-edge/3.0.0-rc.6-27661960.60656df
critters: 0.0.16
prism-themes: 1.9.0
vue-plausible: 1.3.2
@@ -60,14 +61,15 @@ importers:
happy-dom: 6.0.4
husky: 8.0.1
lint-staged: 13.0.3
- nuxt: /nuxt3/3.0.0-rc.6-27658796.fbe2459
+ magic-regexp: 0.4.1
+ nuxt: /nuxt3/3.0.0-rc.6-27661960.60656df
postcss-html: 1.5.0
prettier: 2.7.1
stylelint: 14.9.1
stylelint-config-prettier: 9.0.3_stylelint@14.9.1
stylelint-config-recommended-vue: 1.4.0_5rxrxgs7sjazj2ve56ds3kmipi
stylelint-config-standard: 26.0.0_stylelint@14.9.1
- vitest: 0.20.3_c8@7.12.0+happy-dom@6.0.4
+ vitest: 0.21.0_c8@7.12.0+happy-dom@6.0.4
api:
specifiers:
@@ -111,13 +113,13 @@ packages:
dependencies:
'@ampproject/remapping': 2.2.0
'@babel/code-frame': 7.18.6
- '@babel/generator': 7.18.10
+ '@babel/generator': 7.18.12
'@babel/helper-compilation-targets': 7.18.9_@babel+core@7.18.10
'@babel/helper-module-transforms': 7.18.9
'@babel/helpers': 7.18.9
- '@babel/parser': 7.18.10
+ '@babel/parser': 7.18.11
'@babel/template': 7.18.10
- '@babel/traverse': 7.18.10
+ '@babel/traverse': 7.18.11
'@babel/types': 7.18.10
convert-source-map: 1.8.0
debug: 4.3.4
@@ -127,8 +129,8 @@ packages:
transitivePeerDependencies:
- supports-color
- /@babel/generator/7.18.10:
- resolution: {integrity: sha512-0+sW7e3HjQbiHbj1NeU/vN8ornohYlacAfZIaXhdoGweQqgcNy69COVciYYqEXJ/v+9OBA7Frxm4CVAuNqKeNA==}
+ /@babel/generator/7.18.12:
+ resolution: {integrity: sha512-dfQ8ebCN98SvyL7IxNMCUtZQSq5R7kxgN+r8qYTGDmmSion1hX2C0zq2yo1bsCDhXixokv1SAWTZUMYbO/V5zg==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/types': 7.18.10
@@ -212,7 +214,7 @@ packages:
'@babel/helper-split-export-declaration': 7.18.6
'@babel/helper-validator-identifier': 7.18.6
'@babel/template': 7.18.10
- '@babel/traverse': 7.18.10
+ '@babel/traverse': 7.18.11
'@babel/types': 7.18.10
transitivePeerDependencies:
- supports-color
@@ -236,7 +238,7 @@ packages:
'@babel/helper-environment-visitor': 7.18.9
'@babel/helper-member-expression-to-functions': 7.18.9
'@babel/helper-optimise-call-expression': 7.18.6
- '@babel/traverse': 7.18.10
+ '@babel/traverse': 7.18.11
'@babel/types': 7.18.10
transitivePeerDependencies:
- supports-color
@@ -271,7 +273,7 @@ packages:
engines: {node: '>=6.9.0'}
dependencies:
'@babel/template': 7.18.10
- '@babel/traverse': 7.18.10
+ '@babel/traverse': 7.18.11
'@babel/types': 7.18.10
transitivePeerDependencies:
- supports-color
@@ -284,8 +286,8 @@ packages:
chalk: 2.4.2
js-tokens: 4.0.0
- /@babel/parser/7.18.10:
- resolution: {integrity: sha512-TYk3OA0HKL6qNryUayb5UUEhM/rkOQozIBEA5ITXh5DWrSp0TlUQXMyZmnWxG/DizSWBeeQ0Zbc5z8UGaaqoeg==}
+ /@babel/parser/7.18.11:
+ resolution: {integrity: sha512-9JKn5vN+hDt0Hdqn1PiJ2guflwP+B6Ga8qbDuoF0PzzVhrzsKIJo8yGqVk6CmMHiMei9w1C1Bp9IMJSIK+HPIQ==}
engines: {node: '>=6.0.0'}
hasBin: true
dependencies:
@@ -320,8 +322,8 @@ packages:
'@babel/helper-plugin-utils': 7.18.9
dev: true
- /@babel/plugin-transform-typescript/7.18.10_@babel+core@7.18.10:
- resolution: {integrity: sha512-j2HQCJuMbi88QftIb5zlRu3c7PU+sXNnscqsrjqegoGiCgXR569pEdben9vly5QHKL2ilYkfnSwu64zsZo/VYQ==}
+ /@babel/plugin-transform-typescript/7.18.12_@babel+core@7.18.10:
+ resolution: {integrity: sha512-2vjjam0cum0miPkenUbQswKowuxs/NjMwIKEq0zwegRxXk12C9YOF9STXnaUptITOtOJHKHpzvvWYOjbm6tc0w==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
@@ -334,8 +336,8 @@ packages:
- supports-color
dev: true
- /@babel/standalone/7.18.10:
- resolution: {integrity: sha512-0KWHiRX9TUHiWE+dKYYEOIiRJcPwGU6u8Bq/p+ldekj7Kew9PCwl4S4FTSEPpTrn3Vc+r3iRSaN1l9AcGgLx4Q==}
+ /@babel/standalone/7.18.12:
+ resolution: {integrity: sha512-wDh3K5IUJiSMAY0MLYBFoCaj2RCZwvDz5BHn2uHat9KOsGWEVDFgFQFIOO+81Js2phFKNppLC45iOCsZVfJniw==}
engines: {node: '>=6.9.0'}
/@babel/template/7.18.10:
@@ -343,20 +345,20 @@ packages:
engines: {node: '>=6.9.0'}
dependencies:
'@babel/code-frame': 7.18.6
- '@babel/parser': 7.18.10
+ '@babel/parser': 7.18.11
'@babel/types': 7.18.10
- /@babel/traverse/7.18.10:
- resolution: {integrity: sha512-J7ycxg0/K9XCtLyHf0cz2DqDihonJeIo+z+HEdRe9YuT8TY4A66i+Ab2/xZCEW7Ro60bPCBBfqqboHSamoV3+g==}
+ /@babel/traverse/7.18.11:
+ resolution: {integrity: sha512-TG9PiM2R/cWCAy6BPJKeHzNbu4lPzOSZpeMfeNErskGpTJx6trEvFaVCbDvpcxwy49BKWmEPwiW8mrysNiDvIQ==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/code-frame': 7.18.6
- '@babel/generator': 7.18.10
+ '@babel/generator': 7.18.12
'@babel/helper-environment-visitor': 7.18.9
'@babel/helper-function-name': 7.18.9
'@babel/helper-hoist-variables': 7.18.6
'@babel/helper-split-export-declaration': 7.18.6
- '@babel/parser': 7.18.10
+ '@babel/parser': 7.18.11
'@babel/types': 7.18.10
debug: 4.3.4
globals: 11.12.0
@@ -739,7 +741,7 @@ packages:
listhen: 0.2.13
mdast-util-to-hast: 12.2.0
mdurl: 1.0.1
- ohash: 0.1.4
+ ohash: 0.1.5
pathe: 0.3.3
property-information: 6.1.1
rehype-external-links: 2.0.0
@@ -757,7 +759,7 @@ packages:
shiki-es: 0.1.2
slugify: 1.6.5
ufo: 0.8.5
- unctx: 1.1.4
+ unctx: 1.2.0
unified: 10.1.2
unist-builder: 3.0.0
unist-util-position: 4.0.3
@@ -778,12 +780,12 @@ packages:
resolution: {integrity: sha512-YBI/6o2EBz02tdEJRBK8xkt3zvOFOWlLBf7WKYGBsSYSRtjjgrqPe2skp6VLLmKx5WbHHDNcW+6oACaurxGzeA==}
dev: true
- /@nuxt/kit-edge/3.0.0-rc.6-27658796.fbe2459:
- resolution: {integrity: sha512-JqbCeuiHDVKXwN4rZlPKWdckCVEmExI1ODKR2ail6qbgOKpV6SK/8ZhQdedElcT8QU/FG9NvCZjf666I8JJgbw==}
+ /@nuxt/kit-edge/3.0.0-rc.6-27661960.60656df:
+ resolution: {integrity: sha512-pKoBM8d62K3IVs9SB/Q0j72m+hRtaOtIKkZYMxoGZbGFiIhamm8XEFtrc1OtTA+0CVoMuQTcKbRcXc/F3o2+Hg==}
engines: {node: ^14.16.0 || ^16.11.0 || ^17.0.0 || ^18.0.0}
dependencies:
- '@nuxt/schema': /@nuxt/schema-edge/3.0.0-rc.6-27658796.fbe2459
- c12: 0.2.8
+ '@nuxt/schema': /@nuxt/schema-edge/3.0.0-rc.6-27661960.60656df
+ c12: 0.2.9
consola: 2.15.3
defu: 6.0.0
globby: 13.1.2
@@ -793,14 +795,14 @@ packages:
knitwork: 0.1.2
lodash.template: 4.5.0
mlly: 0.5.7
- ohash: 0.1.4
+ ohash: 0.1.5
pathe: 0.3.3
pkg-types: 0.3.3
scule: 0.3.2
semver: 7.3.7
- unctx: 1.1.4
- unimport: 0.6.4
- untyped: 0.4.4
+ unctx: 2.0.1
+ unimport: 0.6.5
+ untyped: 0.4.5
transitivePeerDependencies:
- esbuild
- rollup
@@ -808,12 +810,12 @@ packages:
- vite
- webpack
- /@nuxt/kit-edge/3.0.0-rc.6-27658796.fbe2459_ihdfoeqoutndy4vgf3nblh7e4i:
- resolution: {integrity: sha512-JqbCeuiHDVKXwN4rZlPKWdckCVEmExI1ODKR2ail6qbgOKpV6SK/8ZhQdedElcT8QU/FG9NvCZjf666I8JJgbw==}
+ /@nuxt/kit-edge/3.0.0-rc.6-27661960.60656df_ihdfoeqoutndy4vgf3nblh7e4i:
+ resolution: {integrity: sha512-pKoBM8d62K3IVs9SB/Q0j72m+hRtaOtIKkZYMxoGZbGFiIhamm8XEFtrc1OtTA+0CVoMuQTcKbRcXc/F3o2+Hg==}
engines: {node: ^14.16.0 || ^16.11.0 || ^17.0.0 || ^18.0.0}
dependencies:
- '@nuxt/schema': /@nuxt/schema-edge/3.0.0-rc.6-27658796.fbe2459_ihdfoeqoutndy4vgf3nblh7e4i
- c12: 0.2.8
+ '@nuxt/schema': /@nuxt/schema-edge/3.0.0-rc.6-27661960.60656df_ihdfoeqoutndy4vgf3nblh7e4i
+ c12: 0.2.9
consola: 2.15.3
defu: 6.0.0
globby: 13.1.2
@@ -823,14 +825,14 @@ packages:
knitwork: 0.1.2
lodash.template: 4.5.0
mlly: 0.5.7
- ohash: 0.1.4
+ ohash: 0.1.5
pathe: 0.3.3
pkg-types: 0.3.3
scule: 0.3.2
semver: 7.3.7
- unctx: 1.1.4_ihdfoeqoutndy4vgf3nblh7e4i
- unimport: 0.6.4_ihdfoeqoutndy4vgf3nblh7e4i
- untyped: 0.4.4
+ unctx: 2.0.1_ihdfoeqoutndy4vgf3nblh7e4i
+ unimport: 0.6.5_ihdfoeqoutndy4vgf3nblh7e4i
+ untyped: 0.4.5
transitivePeerDependencies:
- esbuild
- rollup
@@ -844,7 +846,7 @@ packages:
engines: {node: ^14.16.0 || ^16.11.0 || ^17.0.0 || ^18.0.0}
dependencies:
'@nuxt/schema': 3.0.0-rc.6
- c12: 0.2.8
+ c12: 0.2.9
consola: 2.15.3
defu: 6.0.0
globby: 13.1.2
@@ -858,9 +860,9 @@ packages:
pkg-types: 0.3.3
scule: 0.2.1
semver: 7.3.7
- unctx: 1.1.4
+ unctx: 1.2.0
unimport: 0.1.9
- untyped: 0.4.4
+ untyped: 0.4.5
transitivePeerDependencies:
- esbuild
- rollup
@@ -874,7 +876,7 @@ packages:
engines: {node: ^14.16.0 || ^16.11.0 || ^17.0.0 || ^18.0.0}
dependencies:
'@nuxt/schema': 3.0.0-rc.6
- c12: 0.2.8
+ c12: 0.2.9
consola: 2.15.3
defu: 6.0.0
globby: 13.1.2
@@ -888,9 +890,9 @@ packages:
pkg-types: 0.3.3
scule: 0.2.1
semver: 7.3.7
- unctx: 1.1.4
+ unctx: 1.2.0
unimport: 0.4.7
- untyped: 0.4.4
+ untyped: 0.4.5
transitivePeerDependencies:
- esbuild
- rollup
@@ -913,11 +915,11 @@ packages:
- webpack
dev: true
- /@nuxt/schema-edge/3.0.0-rc.6-27658796.fbe2459:
- resolution: {integrity: sha512-R9j4Xi1xjFy+HE76bH5F4h4kUWr0hLT/vFTqdkZxpzmrgdW8iNhMTUPMgktpcKkJOhuSs3y5PW4nbkbnK4DYmA==}
+ /@nuxt/schema-edge/3.0.0-rc.6-27661960.60656df:
+ resolution: {integrity: sha512-Odpw9uF8tf69iazIxPK0gy3RqB1R1utfwX2DcPCuxQpe5Z68i/V/JUevzDvvMddiG52UHgkJBcFAHGVfZqCNvA==}
engines: {node: ^14.16.0 || ^16.11.0 || ^17.0.0 || ^18.0.0}
dependencies:
- c12: 0.2.8
+ c12: 0.2.9
create-require: 1.1.1
defu: 6.0.0
jiti: 1.14.0
@@ -926,18 +928,18 @@ packages:
scule: 0.3.2
std-env: 3.1.1
ufo: 0.8.5
- unimport: 0.6.4
+ unimport: 0.6.5
transitivePeerDependencies:
- esbuild
- rollup
- vite
- webpack
- /@nuxt/schema-edge/3.0.0-rc.6-27658796.fbe2459_ihdfoeqoutndy4vgf3nblh7e4i:
- resolution: {integrity: sha512-R9j4Xi1xjFy+HE76bH5F4h4kUWr0hLT/vFTqdkZxpzmrgdW8iNhMTUPMgktpcKkJOhuSs3y5PW4nbkbnK4DYmA==}
+ /@nuxt/schema-edge/3.0.0-rc.6-27661960.60656df_ihdfoeqoutndy4vgf3nblh7e4i:
+ resolution: {integrity: sha512-Odpw9uF8tf69iazIxPK0gy3RqB1R1utfwX2DcPCuxQpe5Z68i/V/JUevzDvvMddiG52UHgkJBcFAHGVfZqCNvA==}
engines: {node: ^14.16.0 || ^16.11.0 || ^17.0.0 || ^18.0.0}
dependencies:
- c12: 0.2.8
+ c12: 0.2.9
create-require: 1.1.1
defu: 6.0.0
jiti: 1.14.0
@@ -946,7 +948,7 @@ packages:
scule: 0.3.2
std-env: 3.1.1
ufo: 0.8.5
- unimport: 0.6.4_ihdfoeqoutndy4vgf3nblh7e4i
+ unimport: 0.6.5_ihdfoeqoutndy4vgf3nblh7e4i
transitivePeerDependencies:
- esbuild
- rollup
@@ -958,7 +960,7 @@ packages:
resolution: {integrity: sha512-BcD5YtWRhn+jU2DlzuI1TeITFeOt5x6qm2KeaU/d5jzJ0oZDzmZwKsAimLtRbHwyU6/kKa+zFbK6pp5obm1XLg==}
engines: {node: ^14.16.0 || ^16.11.0 || ^17.0.0 || ^18.0.0}
dependencies:
- c12: 0.2.8
+ c12: 0.2.9
create-require: 1.1.1
defu: 6.0.0
jiti: 1.14.0
@@ -1010,13 +1012,13 @@ packages:
resolution: {integrity: sha512-Ubpaj/yy8qcY5wFg/+AwVQmOE8YsYqqVP6iu2cY2WA0mK1+ymGi33rzgFFZqBMUR/Fz4Syv2ZDQT1M05rlaS3w==}
dev: true
- /@nuxt/vite-builder-edge/3.0.0-rc.6-27658796.fbe2459_vue@3.2.37:
- resolution: {integrity: sha512-W7xKnCt7GcgDx72JHDWEAoKGOOqngRsbBoLT0E7N92RAaWwax1pnq6afilG9kp95JAVnSg0ic8sxU+eUaYjjvA==}
+ /@nuxt/vite-builder-edge/3.0.0-rc.6-27661960.60656df_vue@3.2.37:
+ resolution: {integrity: sha512-qjVgwgXTdJ+Yklk/zumF80UlvkSXUu0KAA3Ol87+SYPBrVgcRNDo8BnY0zECTRgqaqEWM+B+fDOrYYHH7ljhOg==}
engines: {node: ^14.16.0 || ^16.11.0 || ^17.0.0 || ^18.0.0}
peerDependencies:
vue: ^3.2.37
dependencies:
- '@nuxt/kit': /@nuxt/kit-edge/3.0.0-rc.6-27658796.fbe2459_ihdfoeqoutndy4vgf3nblh7e4i
+ '@nuxt/kit': /@nuxt/kit-edge/3.0.0-rc.6-27661960.60656df_ihdfoeqoutndy4vgf3nblh7e4i
'@rollup/plugin-replace': 4.0.0_rollup@2.77.2
'@vitejs/plugin-vue': 3.0.1_vite@3.0.4+vue@3.2.37
'@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.4+vue@3.2.37
@@ -1034,7 +1036,7 @@ packages:
knitwork: 0.1.2
magic-string: 0.26.2
mlly: 0.5.7
- ohash: 0.1.4
+ ohash: 0.1.5
pathe: 0.3.3
perfect-debounce: 0.1.3
pkg-types: 0.3.3
@@ -1044,7 +1046,7 @@ packages:
rollup: 2.77.2
rollup-plugin-visualizer: 5.7.1_rollup@2.77.2
ufo: 0.8.5
- unplugin: 0.8.0_ihdfoeqoutndy4vgf3nblh7e4i
+ unplugin: 0.8.1_ihdfoeqoutndy4vgf3nblh7e4i
vite: 3.0.4
vite-node: 0.20.3
vite-plugin-checker: 0.4.9_vite@3.0.4
@@ -1187,8 +1189,8 @@ packages:
slash: 3.0.0
dev: true
- /@rollup/plugin-commonjs/22.0.1_rollup@2.77.2:
- resolution: {integrity: sha512-dGfEZvdjDHObBiP5IvwTKMVeq/tBZGMBHZFMdIV1ClMM/YoWS34xrHFGfag9SN2ZtMgNZRFruqvxZQEa70O6nQ==}
+ /@rollup/plugin-commonjs/22.0.2_rollup@2.77.2:
+ resolution: {integrity: sha512-//NdP6iIwPbMTcazYsiBMbJW7gfmpHom33u1beiIoHDEM0Q9clvtQB1T0efvMqHeKsGohiHo97BCPCkBXdscwg==}
engines: {node: '>= 12.0.0'}
peerDependencies:
rollup: ^2.68.0
@@ -1357,7 +1359,7 @@ packages:
/@types/jsdom/16.2.15:
resolution: {integrity: sha512-nwF87yjBKuX/roqGYerZZM0Nv1pZDMAT5YhOHYeM/72Fic+VEqJh4nyoqoapzJnW3pUlfxPY5FhgsJtM+dRnQQ==}
dependencies:
- '@types/node': 18.6.3
+ '@types/node': 18.6.4
'@types/parse5': 6.0.3
'@types/tough-cookie': 4.0.2
dev: true
@@ -1407,6 +1409,10 @@ packages:
resolution: {integrity: sha512-6qKpDtoaYLM+5+AFChLhHermMQxc3TOEFIDzrZLPRGHPrLEwqFkkT5Kx3ju05g6X7uDPazz3jHbKPX0KzCjntg==}
dev: true
+ /@types/node/18.6.4:
+ resolution: {integrity: sha512-I4BD3L+6AWiUobfxZ49DlU43gtI+FTHSv9pE2Zekg6KjMpre4ByusaljW3vYSLJrvQ1ck1hUaeVu8HVlY3vzHg==}
+ dev: true
+
/@types/node/8.10.66:
resolution: {integrity: sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==}
dev: true
@@ -1441,7 +1447,7 @@ packages:
/@types/resolve/1.17.1:
resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==}
dependencies:
- '@types/node': 18.6.3
+ '@types/node': 18.6.4
dev: true
/@types/tailwindcss/3.1.0:
@@ -1619,7 +1625,7 @@ packages:
dependencies:
'@babel/core': 7.18.10
'@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.18.10
- '@babel/plugin-transform-typescript': 7.18.10_@babel+core@7.18.10
+ '@babel/plugin-transform-typescript': 7.18.12_@babel+core@7.18.10
'@vue/babel-plugin-jsx': 1.1.1_@babel+core@7.18.10
vite: 3.0.4
vue: 3.2.37
@@ -1656,7 +1662,7 @@ packages:
'@babel/helper-module-imports': 7.18.6
'@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.18.10
'@babel/template': 7.18.10
- '@babel/traverse': 7.18.10
+ '@babel/traverse': 7.18.11
'@babel/types': 7.18.10
'@vue/babel-helper-vue-transform-on': 1.0.2
camelcase: 6.3.0
@@ -1670,7 +1676,7 @@ packages:
/@vue/compiler-core/3.2.37:
resolution: {integrity: sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg==}
dependencies:
- '@babel/parser': 7.18.10
+ '@babel/parser': 7.18.11
'@vue/shared': 3.2.37
estree-walker: 2.0.2
source-map: 0.6.1
@@ -1686,7 +1692,7 @@ packages:
/@vue/compiler-sfc/3.2.37:
resolution: {integrity: sha512-+7i/2+9LYlpqDv+KTtWhOZH+pa8/HnX/905MdVmAcI/mPQOBwkHHIzrsEsucyOIZQYMkXUiTkmZq5am/NyXKkg==}
dependencies:
- '@babel/parser': 7.18.10
+ '@babel/parser': 7.18.11
'@vue/compiler-core': 3.2.37
'@vue/compiler-dom': 3.2.37
'@vue/compiler-ssr': 3.2.37
@@ -1712,7 +1718,7 @@ packages:
/@vue/reactivity-transform/3.2.37:
resolution: {integrity: sha512-IWopkKEb+8qpu/1eMKVeXrK0NLw9HicGviJzhJDEyfxTR9e1WtpnnbYkJWurX6WwoFP0sz10xQg8yL8lgskAZg==}
dependencies:
- '@babel/parser': 7.18.10
+ '@babel/parser': 7.18.11
'@vue/compiler-core': 3.2.37
'@vue/shared': 3.2.37
estree-walker: 2.0.2
@@ -2171,8 +2177,8 @@ packages:
source-map: 0.7.4
dev: true
- /c12/0.2.8:
- resolution: {integrity: sha512-JomSyVwGnqndRdVVW6SGnHUeHIfJFQNe/4zPFK6zLKPQm8US+hNr4kZP7xeNnzjn3jnQUsBbPdT85fm8K5Pr4A==}
+ /c12/0.2.9:
+ resolution: {integrity: sha512-6jYdexgAKr+3kYoTmvC5eDtDHUg7GmFQSdeQqZzAKiPlFAN1heGUoXDbAYYwUCfefZy+WgVJbmAej5TTQpp3jA==}
dependencies:
defu: 6.0.0
dotenv: 16.0.1
@@ -2249,7 +2255,7 @@ packages:
resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==}
dependencies:
browserslist: 4.21.3
- caniuse-lite: 1.0.30001373
+ caniuse-lite: 1.0.30001374
lodash.memoize: 4.1.2
lodash.uniq: 4.5.0
dev: true
@@ -2257,6 +2263,10 @@ packages:
/caniuse-lite/1.0.30001373:
resolution: {integrity: sha512-pJYArGHrPp3TUqQzFYRmP/lwJlj8RCbVe3Gd3eJQkAV8SAC6b19XS9BjMvRdvaS8RMkaTN8ZhoHP6S1y8zzwEQ==}
+ /caniuse-lite/1.0.30001374:
+ resolution: {integrity: sha512-mWvzatRx3w+j5wx/mpFN5v5twlPrabG8NqX2c6e45LCpymdoGqNvRkRutFUqpRTXKFQFNQJasvK0YT7suW6/Hw==}
+ dev: true
+
/caseless/0.12.0:
resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==}
dev: true
@@ -3941,7 +3951,6 @@ packages:
/estree-walker/3.0.1:
resolution: {integrity: sha512-woY0RUD87WzMBUiZLx8NsYr23N5BKsOMZHhu2hoNRVh6NXGfoiT1KOL8G3UHlJAnEDGmfa5ubNA/AacfG+Kb0g==}
- dev: true
/esutils/2.0.3:
resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
@@ -5207,7 +5216,7 @@ packages:
resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==}
engines: {node: '>= 10.13.0'}
dependencies:
- '@types/node': 18.6.3
+ '@types/node': 18.6.4
merge-stream: 2.0.0
supports-color: 7.2.0
dev: true
@@ -5609,6 +5618,21 @@ packages:
dependencies:
yallist: 4.0.0
+ /magic-regexp/0.4.1:
+ resolution: {integrity: sha512-JNwUo8+mV7yYUz3z6YDac4qhKMKVYOiEMU1DkW+EwG+BADaXCZpdh0wNFk1+7B2wrMGF4V6jrARWBitFZW2gGw==}
+ dependencies:
+ estree-walker: 3.0.1
+ magic-string: 0.26.2
+ mlly: 0.5.7
+ ufo: 0.8.5
+ unplugin: 0.8.1
+ transitivePeerDependencies:
+ - esbuild
+ - rollup
+ - vite
+ - webpack
+ dev: true
+
/magic-string/0.25.9:
resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
dependencies:
@@ -6266,7 +6290,7 @@ packages:
'@cloudflare/kv-asset-handler': 0.2.0
'@netlify/functions': 1.0.0
'@rollup/plugin-alias': 3.1.9_rollup@2.77.2
- '@rollup/plugin-commonjs': 22.0.1_rollup@2.77.2
+ '@rollup/plugin-commonjs': 22.0.2_rollup@2.77.2
'@rollup/plugin-inject': 4.0.4_rollup@2.77.2
'@rollup/plugin-json': 4.1.0_rollup@2.77.2
'@rollup/plugin-node-resolve': 13.3.0_rollup@2.77.2
@@ -6276,7 +6300,7 @@ packages:
'@types/jsdom': 16.2.15
'@vercel/nft': 0.20.1
archiver: 5.3.1
- c12: 0.2.8
+ c12: 0.2.9
chalk: 5.0.1
chokidar: 3.5.3
consola: 2.15.3
@@ -6301,7 +6325,7 @@ packages:
mlly: 0.5.7
mri: 1.2.0
node-fetch-native: 0.1.4
- ohash: 0.1.4
+ ohash: 0.1.5
ohmyfetch: 0.4.18
pathe: 0.3.3
perfect-debounce: 0.1.3
@@ -6446,25 +6470,25 @@ packages:
dependencies:
boolbase: 1.0.0
- /nuxi-edge/3.0.0-rc.6-27658796.fbe2459:
- resolution: {integrity: sha512-y4U1BCtLDewx+NFDJctO4B3Da8L0Ty0vOk72l1JsZlRvs7wlHz3aNXU75lfjm8xbBJGDdhifi9PkVhLKNvaLqQ==}
+ /nuxi-edge/3.0.0-rc.6-27661960.60656df:
+ resolution: {integrity: sha512-hy7O5IiVf1fGZko2pRFgULuwLCiC0Y/pLR2r7PJVW1k9Te+bdy2XhicdUqpu1LVnp99N8G4vfJhfY9FFh1I9aw==}
engines: {node: ^14.16.0 || ^16.11.0 || ^17.0.0 || ^18.0.0}
hasBin: true
optionalDependencies:
fsevents: 2.3.2
dev: true
- /nuxt3/3.0.0-rc.6-27658796.fbe2459:
- resolution: {integrity: sha512-I99tvQZPRNbOnllLG98e1/TILS+PFCtVBn15I0EwXsJCp/ZX8RQVPZ7BRsl9Y2wM16KUFSLhi/QXtS41KC8OwA==}
+ /nuxt3/3.0.0-rc.6-27661960.60656df:
+ resolution: {integrity: sha512-QSXhWox09tCaKbCg7RHtYn8Y3SNTiKEnrzruwtqcBIk206uITn3STVRWQx2TA4bw8GvNjTqN9CoWwKbB7lMrVw==}
engines: {node: ^14.16.0 || ^16.11.0 || ^17.0.0 || ^18.0.0}
hasBin: true
dependencies:
'@nuxt/devalue': 2.0.0
- '@nuxt/kit': /@nuxt/kit-edge/3.0.0-rc.6-27658796.fbe2459
- '@nuxt/schema': /@nuxt/schema-edge/3.0.0-rc.6-27658796.fbe2459
+ '@nuxt/kit': /@nuxt/kit-edge/3.0.0-rc.6-27661960.60656df
+ '@nuxt/schema': /@nuxt/schema-edge/3.0.0-rc.6-27661960.60656df
'@nuxt/telemetry': 2.1.3
'@nuxt/ui-templates': 0.3.0
- '@nuxt/vite-builder': /@nuxt/vite-builder-edge/3.0.0-rc.6-27658796.fbe2459_vue@3.2.37
+ '@nuxt/vite-builder': /@nuxt/vite-builder-edge/3.0.0-rc.6-27661960.60656df_vue@3.2.37
'@vue/reactivity': 3.2.37
'@vue/shared': 3.2.37
'@vueuse/head': 0.7.9_vue@3.2.37
@@ -6482,19 +6506,19 @@ packages:
magic-string: 0.26.2
mlly: 0.5.7
nitropack: 0.4.12
- nuxi: /nuxi-edge/3.0.0-rc.6-27658796.fbe2459
- ohash: 0.1.4
+ nuxi: /nuxi-edge/3.0.0-rc.6-27661960.60656df
+ ohash: 0.1.5
ohmyfetch: 0.4.18
pathe: 0.3.3
perfect-debounce: 0.1.3
scule: 0.3.2
strip-literal: 0.4.0
ufo: 0.8.5
- unctx: 1.1.4
+ unctx: 2.0.1
unenv: 0.5.2
- unimport: 0.6.4
- unplugin: 0.8.0
- untyped: 0.4.4
+ unimport: 0.6.5
+ unplugin: 0.8.1
+ untyped: 0.4.5
vue: 3.2.37
vue-bundle-renderer: 0.3.9
vue-router: 4.1.3_vue@3.2.37
@@ -6552,8 +6576,8 @@ packages:
es-abstract: 1.20.1
dev: true
- /ohash/0.1.4:
- resolution: {integrity: sha512-imsZ/lYOvZldyO6clK9uu6t2PIMr3bxCPAi6jJyPezKLU5/42UwMfGIlZML6GlpUxmSHxRoDo7VMWqI8VGllQQ==}
+ /ohash/0.1.5:
+ resolution: {integrity: sha512-qynly1AFIpGWEAW88p6DhMNqok/Swb52/KsiU+Toi7er058Ptvno3tkfTML6wYcEgFgp2GsUziW4Nqn62ciuyw==}
/ohmyfetch/0.4.18:
resolution: {integrity: sha512-MslzNrQzBLtZHmiZBI8QMOcMpdNFlK61OJ34nFNFynZ4v+4BonfCQ7VIN4EGXvGGq5zhDzgdJoY3o9S1l2T7KQ==}
@@ -8834,8 +8858,8 @@ packages:
through: 2.3.8
dev: false
- /unctx/1.1.4:
- resolution: {integrity: sha512-fQMML+GjUpIjQa0HBrrJezo2dFpTAbQbU0/KFKw4T5wpc9deGjLHSYthdfNAo2xSWM34csI6arzedezQkqtfGw==}
+ /unctx/1.2.0:
+ resolution: {integrity: sha512-r3p62XKSMvgttYu3fFf52rteqcguwQENJ863dOGM1xM3uUbSNbr+zAuTohMyKx2pcZLmjusgcnl1cAWaZbCzKg==}
dependencies:
acorn: 8.8.0
estree-walker: 2.0.2
@@ -8847,13 +8871,26 @@ packages:
- vite
- webpack
- /unctx/1.1.4_ihdfoeqoutndy4vgf3nblh7e4i:
- resolution: {integrity: sha512-fQMML+GjUpIjQa0HBrrJezo2dFpTAbQbU0/KFKw4T5wpc9deGjLHSYthdfNAo2xSWM34csI6arzedezQkqtfGw==}
+ /unctx/2.0.1:
+ resolution: {integrity: sha512-4VkJKSG+lh1yYkvdI0Xd3Gm7y7PU6F0mG5SoJqCI1j2jtIaHvTLAdBfbhDjbHxT93BsRkzcaxaeBtu8W/mX1Sg==}
dependencies:
acorn: 8.8.0
- estree-walker: 2.0.2
+ estree-walker: 3.0.1
+ magic-string: 0.26.2
+ unplugin: 0.8.1
+ transitivePeerDependencies:
+ - esbuild
+ - rollup
+ - vite
+ - webpack
+
+ /unctx/2.0.1_ihdfoeqoutndy4vgf3nblh7e4i:
+ resolution: {integrity: sha512-4VkJKSG+lh1yYkvdI0Xd3Gm7y7PU6F0mG5SoJqCI1j2jtIaHvTLAdBfbhDjbHxT93BsRkzcaxaeBtu8W/mX1Sg==}
+ dependencies:
+ acorn: 8.8.0
+ estree-walker: 3.0.1
magic-string: 0.26.2
- unplugin: 0.6.3_ihdfoeqoutndy4vgf3nblh7e4i
+ unplugin: 0.8.1_ihdfoeqoutndy4vgf3nblh7e4i
transitivePeerDependencies:
- esbuild
- rollup
@@ -8944,8 +8981,8 @@ packages:
- webpack
dev: true
- /unimport/0.6.4:
- resolution: {integrity: sha512-1cbSeTsC2EwzWeWAyQleajM354y+EYsymxE9p1wDbHKVTEe9XL6+e7vlEv2pj1Zk8YYFf+CBf9QG8My7aDKhag==}
+ /unimport/0.6.5:
+ resolution: {integrity: sha512-B8x6+GiYUzDphN6Iaoshu99mUo8n7QCq13QTY2Z8saj1QBmGKXf+vJJlptfL3MdOmzxpve2Ikx91UZ4Qoz4dVQ==}
dependencies:
'@rollup/pluginutils': 4.2.1
escape-string-regexp: 5.0.0
@@ -8956,15 +8993,15 @@ packages:
pathe: 0.3.3
scule: 0.3.2
strip-literal: 0.4.0
- unplugin: 0.8.0
+ unplugin: 0.8.1
transitivePeerDependencies:
- esbuild
- rollup
- vite
- webpack
- /unimport/0.6.4_ihdfoeqoutndy4vgf3nblh7e4i:
- resolution: {integrity: sha512-1cbSeTsC2EwzWeWAyQleajM354y+EYsymxE9p1wDbHKVTEe9XL6+e7vlEv2pj1Zk8YYFf+CBf9QG8My7aDKhag==}
+ /unimport/0.6.5_ihdfoeqoutndy4vgf3nblh7e4i:
+ resolution: {integrity: sha512-B8x6+GiYUzDphN6Iaoshu99mUo8n7QCq13QTY2Z8saj1QBmGKXf+vJJlptfL3MdOmzxpve2Ikx91UZ4Qoz4dVQ==}
dependencies:
'@rollup/pluginutils': 4.2.1
escape-string-regexp: 5.0.0
@@ -8975,7 +9012,7 @@ packages:
pathe: 0.3.3
scule: 0.3.2
strip-literal: 0.4.0
- unplugin: 0.8.0_ihdfoeqoutndy4vgf3nblh7e4i
+ unplugin: 0.8.1_ihdfoeqoutndy4vgf3nblh7e4i
transitivePeerDependencies:
- esbuild
- rollup
@@ -9058,31 +9095,6 @@ packages:
webpack-sources: 3.2.3
webpack-virtual-modules: 0.4.4
- /unplugin/0.6.3_ihdfoeqoutndy4vgf3nblh7e4i:
- resolution: {integrity: sha512-CoW88FQfCW/yabVc4bLrjikN9HC8dEvMU4O7B6K2jsYMPK0l6iAnd9dpJwqGcmXJKRCU9vwSsy653qg+RK0G6A==}
- peerDependencies:
- esbuild: '>=0.13'
- rollup: ^2.50.0
- vite: ^2.3.0
- webpack: 4 || 5
- peerDependenciesMeta:
- esbuild:
- optional: true
- rollup:
- optional: true
- vite:
- optional: true
- webpack:
- optional: true
- dependencies:
- chokidar: 3.5.3
- esbuild: 0.14.53
- rollup: 2.77.2
- vite: 3.0.4
- webpack-sources: 3.2.3
- webpack-virtual-modules: 0.4.4
- dev: true
-
/unplugin/0.7.2:
resolution: {integrity: sha512-m7thX4jP8l5sETpLdUASoDOGOcHaOVtgNyrYlToyQUvILUtEzEnngRBrHnAX3IKqooJVmXpoa/CwQ/QqzvGaHQ==}
peerDependencies:
@@ -9130,8 +9142,8 @@ packages:
webpack-virtual-modules: 0.4.4
dev: true
- /unplugin/0.8.0:
- resolution: {integrity: sha512-OzOkJ9XOPlD1Cph6qy/p4i/KSUbs76GToXjH/STHpfo6D7y+EqpfAL6G6HaoOw5QLkt9+KWwcxYUmPFkDf1upQ==}
+ /unplugin/0.8.1:
+ resolution: {integrity: sha512-o7rUZoPLG1fH4LKinWgb77gDtTE6mw/iry0Pq0Z5UPvZ9+HZ1/4+7fic7t58s8/CGkPrDpGq+RltO+DmswcR4g==}
peerDependencies:
esbuild: '>=0.13'
rollup: ^2.50.0
@@ -9152,8 +9164,8 @@ packages:
webpack-sources: 3.2.3
webpack-virtual-modules: 0.4.4
- /unplugin/0.8.0_ihdfoeqoutndy4vgf3nblh7e4i:
- resolution: {integrity: sha512-OzOkJ9XOPlD1Cph6qy/p4i/KSUbs76GToXjH/STHpfo6D7y+EqpfAL6G6HaoOw5QLkt9+KWwcxYUmPFkDf1upQ==}
+ /unplugin/0.8.1_ihdfoeqoutndy4vgf3nblh7e4i:
+ resolution: {integrity: sha512-o7rUZoPLG1fH4LKinWgb77gDtTE6mw/iry0Pq0Z5UPvZ9+HZ1/4+7fic7t58s8/CGkPrDpGq+RltO+DmswcR4g==}
peerDependencies:
esbuild: '>=0.13'
rollup: ^2.50.0
@@ -9196,13 +9208,13 @@ packages:
- supports-color
- utf-8-validate
- /untyped/0.4.4:
- resolution: {integrity: sha512-sY6u8RedwfLfBis0copfU/fzROieyAndqPs8Kn2PfyzTjtA88vCk81J1b5z+8/VJc+cwfGy23/AqOCpvAbkNVw==}
+ /untyped/0.4.5:
+ resolution: {integrity: sha512-buq9URfOj4xAnVfu6BYNKzHZLHAzsCbHsDc/kHy66ESMqRpj00oD9qWf2M2qm0pC0DigsVxRF3uhOa5HJtrwGA==}
dependencies:
'@babel/core': 7.18.10
- '@babel/standalone': 7.18.10
+ '@babel/standalone': 7.18.12
'@babel/types': 7.18.10
- scule: 0.2.1
+ scule: 0.3.2
transitivePeerDependencies:
- supports-color
@@ -9356,8 +9368,8 @@ packages:
fsevents: 2.3.2
dev: true
- /vitest/0.20.3_c8@7.12.0+happy-dom@6.0.4:
- resolution: {integrity: sha512-cXMjTbZxBBUUuIF3PUzEGPLJWtIMeURBDXVxckSHpk7xss4JxkiiWh5cnIlfGyfJne2Ii3QpbiRuFL5dMJtljw==}
+ /vitest/0.21.0_c8@7.12.0+happy-dom@6.0.4:
+ resolution: {integrity: sha512-+BQB2swk4wQdw5loOoL8esIYh/1ifAliuwj2HWHNE2F8SAl/jF7/aoCJBoXGSf/Ws19k3pH4NrWeVtcSwM0j2w==}
engines: {node: '>=v14.16.0'}
hasBin: true
peerDependencies:
@@ -9383,7 +9395,7 @@ packages:
dependencies:
'@types/chai': 4.3.1
'@types/chai-subset': 1.3.3
- '@types/node': 18.6.3
+ '@types/node': 18.6.4
c8: 7.12.0
chai: 4.3.6
debug: 4.3.4
diff --git a/scripts/publish.mjs b/scripts/publish.mjs
index d8b0921b..d54f4be8 100644
--- a/scripts/publish.mjs
+++ b/scripts/publish.mjs
@@ -3,7 +3,6 @@
import { $fetch } from 'ohmyfetch'
import { iterateOnDirectory } from './global.mjs'
-import { getMatchOrReturn } from './api/_utils.js'
const url = 'https://dev.to/api'
const token = process.env.DEVTO_TOKEN || 'CYgR6zbcVgtKDRkawFYZKrCT'
@@ -12,12 +11,12 @@ async function getMarkdownArticles() {
const articles = []
await iterateOnDirectory('./src/content/blog', (path, contents) => {
if (!/\.md$/.test(path)) return
- const slug = getMatchOrReturn(path, /\/[^/]*$/, 0).slice(1, -3)
+ const slug = path.match(/\/[^/]*$/)?.[0].slice(1, -3)
articles.push({
body_markdown: contents
.replace(/\(\//g, '(https://roe.dev/')
.replace(/ ---? /g, ' — '),
- title: getMatchOrReturn(contents, /title: (.*)/, 1),
+ title: contents.match(/title: (.*)/)?.[1],
slug,
canonical_url: `https://roe.dev/blog/${slug}/`,
})
diff --git a/src/app.vue b/src/app.vue
index 26a56833..e587101e 100644
--- a/src/app.vue
+++ b/src/app.vue
@@ -1,18 +1,23 @@
-
+
-
+