diff options
author | Ashelyn Rose <git@tempest.dev> | 2023-05-08 02:17:40 -0600 |
---|---|---|
committer | Ashelyn Rose <git@tempest.dev> | 2023-05-08 02:17:40 -0600 |
commit | 880cfbeb74546056feab63ed6e92a10c0dbaf2c3 (patch) | |
tree | 33c7429bd5b1b968d74c74a4b7fbf0aa072111f7 | |
parent | 885d95d889633e312567d891831d74d9e120e5b8 (diff) |
New layout, uses nextjs
-rw-r--r-- | .gitignore | 4 | ||||
-rw-r--r-- | .well-known/matrix/server | 3 | ||||
-rw-r--r-- | about-system.html | 112 | ||||
-rw-r--r-- | about.html | 62 | ||||
-rw-r--r-- | app/Footer.tsx | 9 | ||||
-rw-r--r-- | app/Header.tsx | 43 | ||||
-rw-r--r-- | app/about/page.tsx | 12 | ||||
-rw-r--r-- | app/layout.tsx | 23 | ||||
-rw-r--r-- | app/not-found.tsx | 23 | ||||
-rw-r--r-- | app/page.tsx | 47 | ||||
-rw-r--r-- | images/aurora-1197753.jpg | bin | 0 -> 3549509 bytes | |||
-rw-r--r-- | index.html | 78 | ||||
-rw-r--r-- | next-env.d.ts | 5 | ||||
-rw-r--r-- | not_found.html | 30 | ||||
-rw-r--r-- | package-lock.json | 1162 | ||||
-rw-r--r-- | package.json | 23 | ||||
-rw-r--r-- | pay-transparency.html | 112 | ||||
-rw-r--r-- | posts/01_04_2023-advent-of-wasm.html | 123 | ||||
-rw-r--r-- | posts/07_29_2022-on-communities-and-trust.html | 107 | ||||
-rw-r--r-- | posts/08_01_2022-thoughts-on-neovim.html | 109 | ||||
-rw-r--r-- | posts/index.html | 42 | ||||
-rw-r--r-- | public/resources/signature.svg (renamed from resources/signature.svg) | 0 | ||||
-rw-r--r-- | resources/style.css | 228 | ||||
-rw-r--r-- | styles/index.module.css | 11 | ||||
-rw-r--r-- | styles/layout.css | 181 | ||||
-rw-r--r-- | styles/text.css | 40 | ||||
-rw-r--r-- | tsconfig.json | 39 |
27 files changed, 1622 insertions, 1006 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..dc5bd12 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +node_modules/ +.next/ +.vscode/ +.DS_Store diff --git a/.well-known/matrix/server b/.well-known/matrix/server deleted file mode 100644 index 000c704..0000000 --- a/.well-known/matrix/server +++ /dev/null @@ -1,3 +0,0 @@ -{ - "m.server": "conduit.tempest.dev:443" -} diff --git a/about-system.html b/about-system.html deleted file mode 100644 index 1fba4d3..0000000 --- a/about-system.html +++ /dev/null @@ -1,112 +0,0 @@ -<!DOCTYPE html> -<html> - <head> - <title>About Us</title> - <link rel="stylesheet" href="/resources/style.css"/> - <meta name="viewport" content="width=device-width, initial-scale=1"> - </head> - <body> - <nav> - <a href="/">Home</a> - <a href="/about.html">About</a> - <a href="/posts/">Posts</a> - </nav> - <h1> - Who are you? - <aside>(bonus system edition)</aside> - </h1> - - <p> - This is a supplemental page to our main <a target="_blank" href="/about">about</a> - page - specifically for us to post in plural spaces or to use to explain - to people we trust - </p> - - <h3>Origins</h3> - - <p> - We became aware of our plurality near the end of February 2023, - on the day we received news of a family member's death. The part of us - now known as Dawn got overwhelmed, and withdrew from consciousness to - recover - </p> - - <p> - The shock of abruptly losing her presence made the differences between - our other two memebers rather apparent. One of those (now Rose) set - about making sure the body was cared for and that our work constraints - were satisfied for the day, and the other (now Echo) started to try and - make sense of what was going on - </p> - - <p> - The members of our system are split along lines that make us inclined - to belive our system been around for a while before we became aware of it. - However, beyond a few months the most we can really do is guess, so we - will not describe that here - </p> - - <h3>Introductions</h3> - - <aside> - <strong>Note:</strong> - Because we share memory (and are usually co-conscious), we tend to present - as if we were one individual. We do not commonly distinguish who is - primarily active or speaking, except with our partners and close friends, - or unless it becomes otherwise necessary - </aside> - - <h4 style="color:#a4ffd4">Echo <aside>(it/?)</aside></h4> - <p> - The self-styled "librarian" of the system, Echo is the part of us that - has the best connection to memory of all of us, and enjoys getting lost - in categorizing and considering new information. It seems to have ended - up with most of the inclination for tradition and faith as well - </p> - - <p> - Echo likes reading, learning, sharing what it has learned, and cuddling - with those close to us. It speaks excitedly and earnestly, and loves - making new friends - </p> - - - <h4 style="color:#ff6b79">Rose <aside>(they/them)</aside></h4> - <p> - As primary decision maker and the part who ended up with most of our skill - in coding, Rose tends to be fronting most of the time if we have work to - do. Rose is efficient in their work, tending to focus on understanding - just enough for the topic at hand - culling information and distractions - that aren't necessary and quickly traversing ideas to get at what they - need - </p> - - <p> - In conversation Rose will be direct and to the point, sometimes coming - across as rude. But if they decide to focus their attention on you, then - their full personality comes out much more clearly. They can be - sarcastic, witty, and caring to a fault - </p> - - <h4 style="color:#d8b8ff">Dawn <aside>(she/her)</aside></h4> - <p> - Our poet and performer, Dawn is the part of us who is most practiced at - managing our outside appearance and presentation. She helps us navigate - social situations, carries out most of our IRL conversations, and is the - one with the most grasp of language and rhythm - </p> - - <p> - Dawn enjoys singing, writing poetry, and storytelling. She has the - strongest connection to our dreams and emotions, and enjoys coalescing - those feelings down to their purest expression. Outwardly Dawn is - cheerful and pleasant, although when speaking on matters of importance - she speaks carefully, with a lot of emphasis on the selection of each word - </p> - - <footer> - <a href="https://git.tempest.dev/ashe/tempest.dev">Site Source</a> - <a href="/pay-transparency.html">Pay Transparency</a> - </footer> - </body> -</html> diff --git a/about.html b/about.html deleted file mode 100644 index 25ac669..0000000 --- a/about.html +++ /dev/null @@ -1,62 +0,0 @@ -<!DOCTYPE html> -<html> - <head> - <title>About</title> - <link rel="stylesheet" href="/resources/style.css"/> - <meta name="viewport" content="width=device-width, initial-scale=1"> - </head> - <body> - <nav> - <a href="/">Home</a> - <a href="/about.html">About</a> - <a href="/posts/">Posts</a> - </nav> - <h1> - Who are you? - </h1> - - <h3>Name</h3> - - <p>Ashelyn, but I usually go by ashe, dawn, or tempest</p> - - <h3>Interests</h3> - - <p> - Coding, VR, 3D modeling, cryptography (encryption + privacy, not coin), - photography, hiking, reading, writing, and locksport - </p> - - <h3>Games</h3> - - <p> - Currently a lot of VRChat, other favorites include Hades, Celeste, - and Titanfall 2 - </p> - - <h3>Occupation</h3> - - <p> - Web dev, primarily Javascript but also featuring Python, Rust, .NET, - Java, and an obscene amount of bash - </p> - - <h3>Family</h3> - - <p> - I am married to my lovely wife Emily, and we have two kids together. I also - have two other amazing partners. - </p> - - <h3>Find me Elsewhere</h3> - - <ul> - <li><a target="_blank" rel="me" href="https://social.treehouse.systems/@ashe">Mastodon</a></li> - <li><a target="_blank" href="https://git.tempest.dev/">Git</a></li> - <li><a target="_blank" href="https://web.libera.chat/">IRC</a> (my common nicks are tempest or dawn)</li> - </ul> - <footer> - <a href="https://git.tempest.dev/ashe/tempest.dev">Site Source</a> - <a href="/pay-transparency.html">Pay Transparency</a> - </footer> - </body> -</html> diff --git a/app/Footer.tsx b/app/Footer.tsx new file mode 100644 index 0000000..49089b4 --- /dev/null +++ b/app/Footer.tsx @@ -0,0 +1,9 @@ +export default function Footer() { + return ( + <footer> + <span>Website by Ashelyn Rose</span> + <a href="https://git.tempest.dev/ashe/tempest.dev">Site Source</a> + <a href="/pay-transparency">Pay Transparency</a> + </footer> + ) +} diff --git a/app/Header.tsx b/app/Header.tsx new file mode 100644 index 0000000..b5749ba --- /dev/null +++ b/app/Header.tsx @@ -0,0 +1,43 @@ +'use client' + +import React from 'react' +import Image from 'next/image' + +import { usePathname } from 'next/navigation' + +import header from '~/images/aurora-1197753.jpg' + +export default function Title() { + const pathname = usePathname() + + const isHomepage = pathname === '/' + + return ( + <header className={isHomepage ? 'homepage' : undefined}> + {isHomepage + ? <h1 className="siteTitle">tempest.dev</h1> + : <a href="/" className="siteTitle">tempest.dev</a> + } + <nav> + <a href="/system">system</a> + <a href="/posts">posts</a> + <a href="/contact">contact</a> + </nav> + <div className="headerBackground"> + <Image + src={header} + alt="" + role="presentation" + fill={true} + sizes={` + (max-width: 2560) 100vw, + (max-width: 1920) 100vw, + (max-width: 1280) 100vw, + (max-width: 800) 100vw, + (max-width: 600) 100vw, + `} + /> + </div> + </header> + ) +} diff --git a/app/about/page.tsx b/app/about/page.tsx new file mode 100644 index 0000000..dd04ccc --- /dev/null +++ b/app/about/page.tsx @@ -0,0 +1,12 @@ +export default function About() { + return ( + <> + <h1 className="pageTitle"> + About + </h1> + <main className="mainColumn"> + <p>Maybe we say some things about ourselves?</p> + </main> + </> + ) +} diff --git a/app/layout.tsx b/app/layout.tsx new file mode 100644 index 0000000..3d25c44 --- /dev/null +++ b/app/layout.tsx @@ -0,0 +1,23 @@ +import React, { ReactNode } from 'react'; + +import 'victormono' +import '~/styles/layout.css' +import '~/styles/text.css' + +import Header from './Header' +import Footer from './Footer' + +export default function SiteLayout({ children }: { children: ReactNode }) { + return ( + <html> + <head> + <title>tempest.dev</title> + </head> + <body> + <Header /> + {children} + <Footer /> + </body> + </html> + ) +} diff --git a/app/not-found.tsx b/app/not-found.tsx new file mode 100644 index 0000000..44753b0 --- /dev/null +++ b/app/not-found.tsx @@ -0,0 +1,23 @@ +export default function NotFound() { + return ( + <> + <h1 className="pageTitle">Not Found (404)</h1> + <main className="mainColumn"> + <aside className="infobar"> + <strong>Error: </strong> + Unable to find the requested resource + </aside> + + <p> + Feel free to start again from the <a href="/">home page</a>, or + check our <a href="/posts">list of posts</a> + </p> + + <p> + If you feel like something should have been here, and want to shout + at me about it, please <a href="/contact">contact Rose</a> + </p> + </main> + </> + ) +} diff --git a/app/page.tsx b/app/page.tsx new file mode 100644 index 0000000..49d887c --- /dev/null +++ b/app/page.tsx @@ -0,0 +1,47 @@ +import React from 'react'; + +import styles from '~/styles/index.module.css' + +export default function Index() { + return ( + <main className="mainColumn"> + <p> + Hi, we're tempest! And we also go by ashe. We're a median plural + system of three members, but most of the time you'll probably see us + operating as one + </p> + + <p>We like coding, VR, and making CG art</p> + + <h2>At a glance</h2> + <div className={styles.glance}> + <span className={styles.label}>Names:</span> + <span>ashe or ashelyn</span> + + <span className={styles.label}>Pronouns:</span> + <span>they/them</span> + + <span className={styles.label}>Cohort:</span> + <span>millenial</span> + + <span className={styles.label}>Poly:</span> + <span>yes</span> + + <span className={styles.label}>Partners:</span> + <span>three</span> + + <span className={styles.label}>Children:</span> + <span>two</span> + + <span className={styles.label}>Capitalize name:</span> + <span>not unless we're at work</span> + </div> + + <p> + <em>Note:</em> This is the information for our system in aggregate, + for individual info see <a href="/system">system</a> + </p> + + </main> + ) +} diff --git a/images/aurora-1197753.jpg b/images/aurora-1197753.jpg new file mode 100644 index 0000000..a8228b8 --- /dev/null +++ b/images/aurora-1197753.jpg Binary files differdiff --git a/index.html b/index.html deleted file mode 100644 index fcce6d3..0000000 --- a/index.html +++ /dev/null @@ -1,78 +0,0 @@ -<!DOCTYPE html> -<html> - <head> - <title>tempest.dev</title> - <link rel="stylesheet" href="/resources/style.css"/> - <meta name="viewport" content="width=device-width, initial-scale=1"> - </head> - <body> - <nav> - <a href="/">Home</a> - <a href="/about.html">About</a> - <a href="/posts/">Posts</a> - </nav> - <h1> - hi, i'm ashe - <aside>[she/they]</aside> - </h1> - - <p> - I am a professional web developer, usually making use of tools like - React, Webpack, Typescript, etc - the whole mess of "modern" web dev - stuff. - </p> - - <p> - This site is something different, a bit of an experiment in minimalism - for me. A chance to return to my roots of carefully crafting a website - by hand. - </p> - - <p> - As such, here are my rules for the site: - </p> - - <ul> - <li> - No pre- or post-processing, transpilation, or other code-generation - </li> - <li> - To the best of my ability, the source will be clean and understandable - </li> - <li> - When used, javascript will be minimal, and intentional - </li> - <li> - The site will be usable in older or esoteric browsers (such as Lynx) - </li> - <li> - This site will be privacy-preserving, with no client-side analytics and - all resources hosted directly alongside the site itself. (Note that - this site is hosted on Neocities, so your request data may still be used - as described in <a target="_blank" href="https://neocities.org/privacy"> - their Privacy Policy</a>) - </li> - </ul> - - <p> - I'm not ruling out JS or anything (making a delightful interactive - experience is still one of my favorite things to do), but I'm taking the - opportunity to step away from the tools I primarily use at work, and - practice my other skills. - </p> - - <p style=" - display: flex; - align-items: center; - justify-content: flex-end; - padding-right: min(80px, 20%); - "> - <span style="font-size: 24px">~</span> - <img alt="Ashe" height="80px" src="/resources/signature.svg" /> - </p> - <footer> - <a href="https://git.tempest.dev/ashe/tempest.dev">Site Source</a> - <a href="/pay-transparency.html">Pay Transparency</a> - </footer> - </body> -</html> diff --git a/next-env.d.ts b/next-env.d.ts new file mode 100644 index 0000000..4f11a03 --- /dev/null +++ b/next-env.d.ts @@ -0,0 +1,5 @@ +/// <reference types="next" /> +/// <reference types="next/image-types/global" /> + +// NOTE: This file should not be edited +// see https://nextjs.org/docs/basic-features/typescript for more information. diff --git a/not_found.html b/not_found.html deleted file mode 100644 index d14ec56..0000000 --- a/not_found.html +++ /dev/null @@ -1,30 +0,0 @@ -<!DOCTYPE html> -<html> - <head> - <title>Not Found</title> - <link rel="stylesheet" href="/resources/style.css"/> - <meta name="viewport" content="width=device-width, initial-scale=1"> - </head> - <body> - <nav> - <a href="/">Home</a> - <a href="/about.html">About</a> - </nav> - <h1> - Not Found - </h1> - - <p> - Sorry friend, you followed a link to something that doesn't exist. - </p> - - <p> - Feel free to start back over at my - <a href="/">Home page</a>. - </p> - <footer> - <a href="https://git.tempest.dev/ashe/tempest.dev">Site Source</a> - <a href="/pay-transparency.html">Pay Transparency</a> - </footer> - </body> -</html> diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..1223690 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1162 @@ +{ + "name": "tempest.dev", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "tempest.dev", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "next": "^13.4.1", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "sharp": "^0.32.1", + "victormono": "^1.5.5" + }, + "devDependencies": { + "@types/node": "20.1.0", + "@types/react": "^18.2.6", + "typescript": "5.0.4" + } + }, + "node_modules/@babel/parser": { + "version": "7.21.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.8.tgz", + "integrity": "sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@next/env": { + "version": "13.4.1", + "resolved": "https://registry.npmjs.org/@next/env/-/env-13.4.1.tgz", + "integrity": "sha512-eD6WCBMFjLFooLM19SIhSkWBHtaFrZFfg2Cxnyl3vS3DAdFRfnx5TY2RxlkuKXdIRCC0ySbtK9JXXt8qLCqzZg==" + }, + "node_modules/@next/swc-darwin-arm64": { + "version": "13.4.1", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.4.1.tgz", + "integrity": "sha512-eF8ARHtYfnoYtDa6xFHriUKA/Mfj/cCbmKb3NofeKhMccs65G6/loZ15a6wYCCx4rPAd6x4t1WmVYtri7EdeBg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "13.4.1", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.4.1.tgz", + "integrity": "sha512-7cmDgF9tGWTgn5Gw+vP17miJbH4wcraMHDCOHTYWkO/VeKT73dUWG23TNRLfgtCNSPgH4V5B4uLHoZTanx9bAw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "13.4.1", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.4.1.tgz", + "integrity": "sha512-qwJqmCri2ie8aTtE5gjTSr8S6O8B67KCYgVZhv9gKH44yvc/zXbAY8u23QGULsYOyh1islWE5sWfQNLOj9iryg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "13.4.1", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.4.1.tgz", + "integrity": "sha512-qcC54tWNGDv/VVIFkazxhqH1Bnagjfs4enzELVRlUOoJPD2BGJTPI7z08pQPbbgxLtRiu8gl2mXvpB8WlOkMeA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "13.4.1", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.4.1.tgz", + "integrity": "sha512-9TeWFlpLsBosZ+tsm/rWBaMwt5It9tPH8m3nawZqFUUrZyGRfGcI67js774vtx0k3rL9qbyY6+3pw9BCVpaYUA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "13.4.1", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.4.1.tgz", + "integrity": "sha512-sNDGaWmSqTS4QRUzw61wl4mVPeSqNIr1OOjLlQTRuyInxMxtqImRqdvzDvFTlDfdeUMU/DZhWGYoHrXLlZXe6A==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "13.4.1", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.4.1.tgz", + "integrity": "sha512-+CXZC7u1iXdLRudecoUYbhbsXpglYv8KFYsFxKBPn7kg+bk7eJo738wAA4jXIl8grTF2mPdmO93JOQym+BlYGA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-ia32-msvc": { + "version": "13.4.1", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.4.1.tgz", + "integrity": "sha512-vIoXVVc7UYO68VwVMDKwJC2+HqAZQtCYiVlApyKEeIPIQpz2gpufzGxk1z3/gwrJt/kJ5CDZjlhYDCzd3hdz+g==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "13.4.1", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.4.1.tgz", + "integrity": "sha512-n8V5ImLQZibKTu10UUdI3nIeTLkliEXe628qxqW9v8My3BAH2a7H0SaCqkV2OgqFnn8sG1wxKYw9/SNJ632kSA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@swc/helpers": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.1.tgz", + "integrity": "sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/node": { + "version": "20.1.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.1.0.tgz", + "integrity": "sha512-O+z53uwx64xY7D6roOi4+jApDGFg0qn6WHcxe5QeqjMaTezBO/mxdfFXIVAVVyNWKx84OmPB3L8kbVYOTeN34A==", + "dev": true + }, + "node_modules/@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", + "dev": true + }, + "node_modules/@types/react": { + "version": "18.2.6", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.6.tgz", + "integrity": "sha512-wRZClXn//zxCFW+ye/D2qY65UsYP1Fpex2YXorHc8awoNamkMZSvBxwxdYVInsHOZZd2Ppq8isnSzJL5Mpf8OA==", + "dev": true, + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/scheduler": { + "version": "0.16.3", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", + "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==", + "dev": true + }, + "node_modules/@vue/compiler-sfc": { + "version": "2.7.14", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.14.tgz", + "integrity": "sha512-aNmNHyLPsw+sVvlQFQ2/8sjNuLtK54TC6cuKnVzAY93ks4ZBrvwQSnkkIh7bsbNhum5hJBS00wSDipQ937f5DA==", + "dependencies": { + "@babel/parser": "^7.18.4", + "postcss": "^8.4.14", + "source-map": "^0.6.1" + } + }, + "node_modules/animejs": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/animejs/-/animejs-3.2.1.tgz", + "integrity": "sha512-sWno3ugFryK5nhiDm/2BKeFCpZv7vzerWUcUPyAZLDhMek3+S/p418ldZJbJXo5ZUOpfm2kP2XRO4NJcULMy9A==" + }, + "node_modules/async-validator": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-1.8.5.tgz", + "integrity": "sha512-tXBM+1m056MAX0E8TL2iCjg8WvSyXu0Zc8LNtYqrVeyoL3+esHRZ4SieE9fKQyyU09uONjnMEjrNBMqT0mbvmA==", + "dependencies": { + "babel-runtime": "6.x" + } + }, + "node_modules/babel-helper-vue-jsx-merge-props": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.3.tgz", + "integrity": "sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg==" + }, + "node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/bezier-easing": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/bezier-easing/-/bezier-easing-2.1.0.tgz", + "integrity": "sha512-gbIqZ/eslnUFC1tjEvtz0sgx+xTK20wDnYMIA27VA04R7w6xxXQPZDbibjA9DTWZRA2CXtwHykkVzlCaAJAZig==" + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001486", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001486.tgz", + "integrity": "sha512-uv7/gXuHi10Whlj0pp5q/tsK/32J2QSqVRKQhs2j8VsDCjgyruAh/eEXHF822VqO9yT6iZKw3nRwZRSPBE9OQg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, + "node_modules/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" + }, + "node_modules/codemirror": { + "version": "5.65.13", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.65.13.tgz", + "integrity": "sha512-SVWEzKXmbHmTQQWaz03Shrh4nybG0wXx2MEu3FO4ezbPW8IbnZEd5iGHGEffSUaitKYa3i+pHpBsSvw8sPHtzg==" + }, + "node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "hasInstallScript": true + }, + "node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deepmerge": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", + "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/detect-libc": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", + "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/diff-match-patch": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.5.tgz", + "integrity": "sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==" + }, + "node_modules/dom-confetti": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/dom-confetti/-/dom-confetti-0.1.2.tgz", + "integrity": "sha512-6Zo1pJEbEW1/GPgmk7uGWnPsoZ1E1vF7pmrPARnN3tp8L3ReMr/SIyLl6E8mGbu4DermzDWXfa+be77HehH2MA==" + }, + "node_modules/element-ui": { + "version": "2.15.13", + "resolved": "https://registry.npmjs.org/element-ui/-/element-ui-2.15.13.tgz", + "integrity": "sha512-LJoatEYX6WV74FqXBss8Xfho9fh9rjDSzrDrTyREdGb1h1R3uRvmLh5jqp2JU137aj4/BgqA3K06RQpQBX33Bg==", + "dependencies": { + "async-validator": "~1.8.1", + "babel-helper-vue-jsx-merge-props": "^2.0.0", + "deepmerge": "^1.2.0", + "normalize-wheel": "^1.0.1", + "resize-observer-polyfill": "^1.5.0", + "throttle-debounce": "^1.0.1" + }, + "peerDependencies": { + "vue": "^2.5.17" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" + }, + "node_modules/granim": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/granim/-/granim-2.0.0.tgz", + "integrity": "sha512-aqa79K49ndjoUBtpYzlO8sKcuVQED+5axvX0SveqTLDR+Fa2G42AGntuQ36ysCFOWGVkWCLfHowFwk+D/9rGDg==" + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" + }, + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/napi-build-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" + }, + "node_modules/next": { + "version": "13.4.1", + "resolved": "https://registry.npmjs.org/next/-/next-13.4.1.tgz", + "integrity": "sha512-JBw2kAIyhKDpjhEWvNVoFeIzNp9xNxg8wrthDOtMctfn3EpqGCmW0FSviNyGgOSOSn6zDaX48pmvbdf6X2W9xA==", + "dependencies": { + "@next/env": "13.4.1", + "@swc/helpers": "0.5.1", + "busboy": "1.6.0", + "caniuse-lite": "^1.0.30001406", + "postcss": "8.4.14", + "styled-jsx": "5.1.1", + "zod": "3.21.4" + }, + "bin": { + "next": "dist/bin/next" + }, + "engines": { + "node": ">=16.8.0" + }, + "optionalDependencies": { + "@next/swc-darwin-arm64": "13.4.1", + "@next/swc-darwin-x64": "13.4.1", + "@next/swc-linux-arm64-gnu": "13.4.1", + "@next/swc-linux-arm64-musl": "13.4.1", + "@next/swc-linux-x64-gnu": "13.4.1", + "@next/swc-linux-x64-musl": "13.4.1", + "@next/swc-win32-arm64-msvc": "13.4.1", + "@next/swc-win32-ia32-msvc": "13.4.1", + "@next/swc-win32-x64-msvc": "13.4.1" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.1.0", + "fibers": ">= 3.1.0", + "node-sass": "^6.0.0 || ^7.0.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "sass": "^1.3.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/node-abi": { + "version": "3.40.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.40.0.tgz", + "integrity": "sha512-zNy02qivjjRosswoYmPi8hIKJRr8MpQyeKT6qlcq/OnOgA3Rhoae+IYOqsM9V5+JnHWmxKnWOT2GxvtqdtOCXA==", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-addon-api": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==" + }, + "node_modules/normalize-wheel": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/normalize-wheel/-/normalize-wheel-1.0.1.tgz", + "integrity": "sha512-1OnlAPZ3zgrk8B91HyRj+eVv+kS5u+Z0SCsak6Xil/kmgEia50ga7zfkumayonZrImffAxPU/5WcyGhzetHNPA==" + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/postcss": { + "version": "8.4.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", + "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + ], + "dependencies": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/prebuild-install": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", + "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + }, + "node_modules/resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/sharp": { + "version": "0.32.1", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.1.tgz", + "integrity": "sha512-kQTFtj7ldpUqSe8kDxoGLZc1rnMFU0AO2pqbX6pLy3b7Oj8ivJIdoKNwxHVQG2HN6XpHPJqCSM2nsma2gOXvOg==", + "hasInstallScript": true, + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.1", + "node-addon-api": "^6.1.0", + "prebuild-install": "^7.1.1", + "semver": "^7.5.0", + "simple-get": "^4.0.1", + "tar-fs": "^2.1.1", + "tunnel-agent": "^0.6.0" + }, + "engines": { + "node": ">=14.15.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/styled-jsx": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", + "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==", + "dependencies": { + "client-only": "0.0.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/throttle-debounce": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-1.1.0.tgz", + "integrity": "sha512-XH8UiPCQcWNuk2LYePibW/4qL97+ZQ1AN3FNXwZRBNPPowo/NRU5fAlDCSNBJIYCKbioZfuYtMhG4quqoJhVzg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/typed.js": { + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/typed.js/-/typed.js-2.0.16.tgz", + "integrity": "sha512-IBB52GlJiTUOnomwdVVf7lWgC6gScn8md+26zTHj5oJWA+4pSuclHE76rbGI2hnyO+NT+QXdIUHbfjAY5nEtcw==" + }, + "node_modules/typescript": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", + "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/victormono": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/victormono/-/victormono-1.5.5.tgz", + "integrity": "sha512-MY3ut0Oe38svbZyc7ewUgdlFKRdXKxzY7/To3ltGbfY6iCIu71bNwuLKlizYS9gnMPRVvFQb8k33OwWq0OzeaA==", + "dependencies": { + "animejs": "^3.2.1", + "core-js": "^2.6.12", + "dom-confetti": "^0.1.2", + "element-ui": "^2.14.1", + "granim": "^2.0.0", + "typed.js": "^2.0.11", + "vue": "^2.6.12", + "vue-codemirror": "^4.0.6", + "vue-faq-accordion": "^1.6.2", + "vue-scrollTo": "^2.4.1", + "vue-social-sharing": "^2.4.6", + "vue-tweet-embed": "^2.4.0", + "vue-twentytwenty": "^0.6.2" + } + }, + "node_modules/vue": { + "version": "2.7.14", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.7.14.tgz", + "integrity": "sha512-b2qkFyOM0kwqWFuQmgd4o+uHGU7T+2z3T+WQp8UBjADfEv2n4FEMffzBmCKNP0IGzOEEfYjvtcC62xaSKeQDrQ==", + "dependencies": { + "@vue/compiler-sfc": "2.7.14", + "csstype": "^3.1.0" + } + }, + "node_modules/vue-codemirror": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/vue-codemirror/-/vue-codemirror-4.0.6.tgz", + "integrity": "sha512-ilU7Uf0mqBNSSV3KT7FNEeRIxH4s1fmpG4TfHlzvXn0QiQAbkXS9lLfwuZpaBVEnpP5CSE62iGJjoliTuA8poQ==", + "dependencies": { + "codemirror": "^5.41.0", + "diff-match-patch": "^1.0.0" + }, + "engines": { + "node": ">= 4.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/vue-faq-accordion": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/vue-faq-accordion/-/vue-faq-accordion-1.6.2.tgz", + "integrity": "sha512-PXFgeYQiXBe6fYERfIn44bFYUYsP+TiZ+qBH/KQKvXck85neCZvQiJN8IHwMLSC41fDdBnQvBIi6V9oO/wl/zg==", + "dependencies": { + "vue2-transitions": "^0.3.0" + } + }, + "node_modules/vue-scrollTo": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/vue-scrollTo/-/vue-scrollTo-2.4.1.tgz", + "integrity": "sha512-l/f3ApUTnkGdElQBDhtDkiVkwO8uewMPY+FyOUnz94WcoqiOszsHLty1iGaX0V2y8fLz/hCQ/8XaNPjZ0xqa6A==", + "deprecated": "The package has been renamed to vue-scrollto (lowercase T)", + "dependencies": { + "bezier-easing": "^2.0.3" + } + }, + "node_modules/vue-social-sharing": { + "version": "2.4.7", + "resolved": "https://registry.npmjs.org/vue-social-sharing/-/vue-social-sharing-2.4.7.tgz", + "integrity": "sha512-X70bulEnjSHvakf8NaLhuKTuUS4yKzdhYjX/aJ4dPVIXWaoXH8w+QODuM3C6c3fPaiNqgR19VrDyWB7EUGUzPQ==", + "dependencies": { + "vue": "^2.2.4" + }, + "engines": { + "node": ">= 6.0" + } + }, + "node_modules/vue-tweet-embed": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/vue-tweet-embed/-/vue-tweet-embed-2.4.0.tgz", + "integrity": "sha512-bjViatv0priR1dTEPJpRyWigWGUTUC28VT/sWTaZE+RBWuj/XZvOU5Hzk+O8Mue2dBCAHJrRpoO1VKlcgmHohg==", + "peerDependencies": { + "vue": "^2.2.0" + } + }, + "node_modules/vue-twentytwenty": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/vue-twentytwenty/-/vue-twentytwenty-0.6.2.tgz", + "integrity": "sha512-JKwxw/p8e4wab0xPbHhj3np2ltNUh9YAaiJYlJCRWEpBig3BzgJwozLJnm5Y/BPUuy46R61o6tr0mNv66CZHQQ==" + }, + "node_modules/vue2-transitions": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/vue2-transitions/-/vue2-transitions-0.3.0.tgz", + "integrity": "sha512-m1ad8K8kufqiEhj5gXHkkqOioI5sW0FaMbRiO0Tv2WFfGbO2eIKrfkFiO3HPQtMJboimaLCN4p/zL81clLbG4w==" + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/zod": { + "version": "3.21.4", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz", + "integrity": "sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..34b4561 --- /dev/null +++ b/package.json @@ -0,0 +1,23 @@ +{ + "name": "tempest.dev", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC", + "dependencies": { + "next": "^13.4.1", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "sharp": "^0.32.1", + "victormono": "^1.5.5" + }, + "devDependencies": { + "@types/node": "20.1.0", + "@types/react": "^18.2.6", + "typescript": "5.0.4" + } +} diff --git a/pay-transparency.html b/pay-transparency.html deleted file mode 100644 index d6d672c..0000000 --- a/pay-transparency.html +++ /dev/null @@ -1,112 +0,0 @@ -<!DOCTYPE html> -<html> - <head> - <title>Pay Transparency</title> - <link rel="stylesheet" href="/resources/style.css"/> - <meta name="viewport" content="width=device-width, initial-scale=1"> - </head> - <body> - <nav> - <a href="/">Home</a> - <a href="/about.html">About</a> - <a href="/posts/">Posts</a> - </nav> - <h1> - Pay Transparency - </h1> - - <p> - This page lists the title and pay rate of every job I have held since university - graduation<sup><a id="1-ref" href="#1-foot">1</a></sup>, and is inspired by - <a target="_blank" href="https://rin.systems/pay-transparency/">Rin's pay transparency</a> - page. Her page is what inspired me to make this one, and I hope the idea - continues to spread, as the more people know what common compensation is - across the industry, the more we can all benefit. - </p> - - <div class="tableOverflow"> - <table> - <thead> - <tr> - <th>Role</th> - <th>Start</th> - <th>End</th> - <th>Rate / Salary</th> - </tr> - </thead> - <tbody> - <tr> - <td>Software Developer</td> - <td>Jan 2020</td> - <td>Sept 2020</td> - <td>$35 USD / hour</td> - </tr> - <tr> - <td>Software Engineer</td> - <td>Jan 2021</td> - <td>Sept 2021</td> - <td>$90,000 USD / year - <span class="asterisk">*</span> - </td> - </tr> - <tr> - <td>Software Engineer</td> - <td>Sept 2021</td> - <td>Oct 2022</td> - <td>$100,800 USD / year - <span class="asterisk">*</span> - </td> - </tr> - <tr> - <td>Software Engineer</td> - <td>Oct 2021</td> - <td>Jan 2022</td> - <td>$105,840 USD / year - <span class="asterisk">*</span> - </td> - </tr> - <tr> - <td>Senior Software Engineer</td> - <td>Jan 2022</td> - <td>May 2022</td> - <td>$121,716 USD / year - <span class="asterisk">*</span> - </td> - </tr> - <tr> - <td>Senior Software Engineer</td> - <td>June 2022</td> - <td>March 2023</td> - <td>$158,000 USD / year - <span class="asterisk">*</span> - <span class="asterisk">**</span> - </td> - </tr> - </tbody> - </table> - </div> - - <p> - All positions listed here included health, dental, and vision insurance.<br/> - The positions listed with <span class="asterisk">*</span> came with - a retirement account.<br/> - The position listed with <span class="asterisk">**</span> - came with stock options. - </p> - - <ol id="footnotes"> - <li id="1-foot"> - I unfortunately no longer have any accurate information for the job - I held during university. It spanned across six years, and my role changed - several times - I do remember I started at $9 USD / hour and ended at - $22.50 USD / hour. - <a href="#1-ref">^</a> - </li> - </ol> - - <footer> - <a href="https://git.tempest.dev/ashe/tempest.dev">Site Source</a> - <a href="/pay-transparency.html">Pay Transparency</a> - </footer> - </body> -</html> diff --git a/posts/01_04_2023-advent-of-wasm.html b/posts/01_04_2023-advent-of-wasm.html deleted file mode 100644 index 4f707a6..0000000 --- a/posts/01_04_2023-advent-of-wasm.html +++ /dev/null @@ -1,123 +0,0 @@ -<!DOCTYPE html> -<html> - <head> - <title>Advent of Wasm</title> - <link rel="stylesheet" href="/resources/style.css"/> - <meta name="viewport" content="width=device-width, initial-scale=1"> - </head> - <body> - <nav> - <a href="/">Home</a> - <a href="/about.html">About</a> - <a href="/posts/">Posts</a> - </nav> - <h1> - Advent of Wasm - <span class="subtitle">Now with 87% more pain</span> - </h1> - - <p> - So the last few years I have done Advent of Code off and on. Sometimes - I have tried to learn a new language, other times I was just trying to - beat my dad each evening. This year though, this year I don't know what - I was thinking. - </p> - - <p> - It was several weeks after everyone else had started, I had largely written - it off for the year - I was not up for it. Until a terrible idea crossed - my mind. - </p> - - <p> - Like an intrusive thought, my mind asked: "Well you've been wanting to do - something in web assembly for a while right? How bad could it be?" - </p> - - <br/> - - <p> - Turns out I was definitely not ready for this. - </p> - - <h2>So what was so hard about it?</h2> - - <p> - More than anything else, I forgot how much you need to do by hand to do - any sort of assembly. The first day saw me spending several hours just - on some loader code to pass the puzzle input in from JS, call a wasm - function, and then read back the result. - </p> - - <p> - Next was a few functions for reading numbers out of the wasm memory buffer, - parsing them from ascii, etc. The core read loop was not too tricky, but - the bit that took far longer than it had any reason to was converting my - answer back to ascii and shoving it into an output area. - </p> - - <p> - Really none of it was surprising, and none of it <em><strong>*should*</strong></em> - have been that hard ... it's just been a while since this Javascript girl - has written truly low-level code. - </p> - - <p> - To make matters worse I got hard-core distracted by the non-wasm part of - my wasm project. After the first day I returned to my stub JS loader and - expanded it into a little wasm explorer. - </p> - - <p> - I added a code view, syntax highlighting, auto-loaded my puzzle inputs, - even made a janky little dynamic list that would automatically pick up - new days' solutions as I added them to the repo without needing me to - touch the loader page each day. - </p> - - <p> - In the end I'm really quite proud of it, I will absolutely be reusing - this setup for future years, and you should - <a href="https://aoc2022.tempest.dev/" target="_blank">check it out</a> - if you haven't already ... but for wanting to challenge myself with - something new I was doing a lot of the same-old. - </p> - - <p> - Ultimately I got through 3 days before giving up jusst because every - step along the way involved <em><strong>*so much*</strong></em> extra - code. I may come back to some of the puzzles later, but for now I'm - kind of happy with what I did, and I don't feel like I need to prove - myself by doing more. I was doing it for fun, and so I stopped when - it stopped being fun. - </p> - - <h2>Tips if you want to get into writing wasm by hand?</h2> - - <p> - Uhh ... maybe consider don't? - </p> - - <p> - Jokes aside: do a throwaway project or two so you get used to passing - data into and out of wasm, whatever parsing you're going to do, etc. - </p> - - <p> - Do everything in your power to make sure you can focus on the actual - wasm part of your project, because (at least if you're anything like - me) it's easy to get sidetracked with all that. - </p> - - <p> - With that said: I had fun. Doing new things is always a treat, so if - you're looking for something new to try definitely consider giving - webassembly a look. - </p> - - <footer> - <a href="https://git.tempest.dev/ashe/tempest.dev">Site Source</a> - <a href="/pay-transparency.html">Pay Transparency</a> - </footer> - </body> -</html> diff --git a/posts/07_29_2022-on-communities-and-trust.html b/posts/07_29_2022-on-communities-and-trust.html deleted file mode 100644 index 4aef9ae..0000000 --- a/posts/07_29_2022-on-communities-and-trust.html +++ /dev/null @@ -1,107 +0,0 @@ -<!DOCTYPE html> -<html> - <head> - <title>On Communities and Trust</title> - <link rel="stylesheet" href="/resources/style.css"/> - <meta name="viewport" content="width=device-width, initial-scale=1"> - </head> - <body> - <nav> - <a href="/">Home</a> - <a href="/about.html">About</a> - <a href="/posts/">Posts</a> - </nav> - <h1> - On Communities and Trust - <span class="subtitle">Some thoughts on the VRChat security update</span> - </h1> - - <p> - So we've had the VRChat Security Update for a few days now, and while I'm - not the most prolific VR community member, I have heard a fair bit of - discourse about the update. This update has been a polarizing one to say - the least, with users excited for the new features that were and will soon - be added, others decrying the performance issues they have now from Easy - Anti-Cheat, and still others still unable to play due to missing - accessibility features they previously would have gotten via mods. - </p> - - <p> - Overall, my personal concerns about update itself have been resolved: - although I used to run into issues with EAC crashing when hardware - virtualization was enabled, that seem to no longer be the case, and I - personally haven't even seen a performance hit. I was not - using any mod features, and the changes in the most recent beta - certainly a welcome addition to my experience. - </p> - - <p> - However, I do still have some broader community concerns about how the - update was announced and rolled out, as well as how the VRChat team seems - to be handling this whole scenario as if they're only playing public - opinion damage control. - </p> - - <p> - Regardless of their official policy or any amount of discouragement - towards mods for VRChat, the fact of the matter is that a large portion - of their community relied on mods to add accessibility, performance, or - comfort features to the game. While I have to acknowledge that the VRC - team has added some of these features back into the game since blocking - mods, the fact that they needed to reprioritize these features (as they - have been pretty clear about in their updates) shows us that they had - no interest in adding these features until they faced public backlash. - </p> - - <p> - You might think that a reasonable development team (if they wanted to - reduce the use of mods for their game) might look at the sizable portion - of their community using mods for this sort of enhancement, - and come to the conclusion "clearly there is need for these features, - let's reduce the need for mods by implementing those features". But instead the - VRChat team decided to actively make their game worse for those people instead. - Disabling comments on Steam further indicates that they knew this would - be disliked by the community ahead of time, but chose to do it anyways. - </p> - - <p> - Listen, VRChat team - what sort of conclusions am I supposed to draw about - your priorities here?!? Improving the game experience for your most - vulnerable players doesn't make the roadmap, but pushing an ineffective - solution to a problem <b>against the angry backlash of your community</b> - makes the cut? - </p> - - <p> - So yeah . . . I guess in one sense, the game is fine. It's getting new features, more are - on the horizon, the community feels like they've been listened to. - </p> - - <p> - But in another sense, the security update has made it incredibly clear - that the VRChat team either does not care, or did not think to consider - how their priorities would affect large portions of their community. - </p> - - <p> - Social games grow and shrink with their communities. Regardless of technical - decisions, updates, or anything else, if large portions of the community - leave or can no longer join, then VRChat will no longer be the same game - (and it will be worse for it). With the latest changes and how they've - handled the community response, I just can't convince myself that the team remembers - this. - </p> - - <p> - In that regard, I feel that even more than the actual removal of features - they have violated our trust - and unless this newfound responsiveness to - the needs of their players sticks around longer than it takes to clean up - their PR mess, I personally am hesitant to forgive them. - </p> - - <footer> - <a href="https://git.tempest.dev/ashe/tempest.dev">Site Source</a> - <a href="/pay-transparency.html">Pay Transparency</a> - </footer> - </body> -</html> diff --git a/posts/08_01_2022-thoughts-on-neovim.html b/posts/08_01_2022-thoughts-on-neovim.html deleted file mode 100644 index 183902a..0000000 --- a/posts/08_01_2022-thoughts-on-neovim.html +++ /dev/null @@ -1,109 +0,0 @@ -<!DOCTYPE html> -<html> - <head> - <title>Thoughts on Neovim</title> - <link rel="stylesheet" href="/resources/style.css"/> - <meta name="viewport" content="width=device-width, initial-scale=1"> - </head> - <body> - <nav> - <a href="/">Home</a> - <a href="/about.html">About</a> - <a href="/posts/">Posts</a> - </nav> - <h1> - Thoughts on Neovim - <span class="subtitle">Who even needs an IDE anyways?</span> - </h1> - - <h2>Why I'm using Neovim</h2> - - <p> - When I first started coding in high school and then later in early - college I used to jump around between editors a lot more than I do today. - I used Notepad++, then Visual Studio, briefly Netbeans, then Atom. - </p> - - <p> - But since settling into frontend web development I've stayed with VSCode - for a very long time. I liked it because it was straightforward to get - started with, but versatile enough to extend for other languages. - Between various jobs and projects I used it for Javascript, Java, C#, - Rust, and C - and it did admirably at pretty much all of these. - </p> - - <p> - But about a year ago I saw that VSCode had a Neovim plugin, and I was - intrigued. I'd wanted to get more familiar with Vim beyond the basic - hjkl navigation, and this seemed like a great way to do that! - </p> - - <p> - So for the last year and change I've had the - <a target="_blank" href="https://marketplace.visualstudio.com/items?itemName=asvetliakov.vscode-neovim">vscode-neovim</a> - plugin installed, and I've been really enjoying it! - </p> - - <p> - I quickly fell in love with visual block mode, or the "delete N words" - commands. They're just so handy I suddenly felt like they were missing - if I needed to edit code any other way! - </p> - - <p> - But over the weekend I made the jump from using Neovim inside VSCode to - using it more or less on its own. I saw a video that mentioned the - AstroNvim configuration framework and Neovide, and decided "yeah, I think - I want to try that", and a few days later . . . here we are. - </p> - - <h2>How is it going?</h2> - - <p> - Overall, surprisingly well. - </p> - - <p> - The AstroNvim config I'm using already had NeoTree set up which is - very nice. I've figured out how to get ESLint and Prettier configured - for work, rust-analyzer installed for my own projects, I've been poking - at themes over and over again, and honestly . . . I'm really liking this. - </p> - - <p> - Getting Neovide to connect to a VM over the network was relatively - straightforward, I love how easy it is to drop my config into git and - keep it synced between computers, and finally having proper mouse support - (which I never could get sorted out with my terminal) is a pretty big - game changer for when I'm just reading code. - </p> - - <p> - Also, I'd be lying if I said that I didn't love the smooth scrolling and - cursor animation. I am a simple girl after all. - </p> - - <h2>Should you try replacing your IDE?</h2> - - <p> - That is a tricky question to answer. - </p> - - <p> - I was comfortable spending some time experimenting with this because I - already had decent familiarity with Vim and had been using Neovim - specifically for a while. If you don't have any similar experience, - the learning curve is going to be pretty steep. - </p> - - <p> - But hey - if you're looking for a challenge, you'll definitely learn - a lot. - </p> - - <footer> - <a href="https://git.tempest.dev/ashe/tempest.dev">Site Source</a> - <a href="/pay-transparency.html">Pay Transparency</a> - </footer> - </body> -</html> diff --git a/posts/index.html b/posts/index.html deleted file mode 100644 index 05beb66..0000000 --- a/posts/index.html +++ /dev/null @@ -1,42 +0,0 @@ -<!DOCTYPE html> -<html> - <head> - <title>Posts</title> - <link rel="stylesheet" href="/resources/style.css"/> - <meta name="viewport" content="width=device-width, initial-scale=1"> - </head> - <body> - <nav> - <a href="/">Home</a> - <a href="/about.html">About</a> - <a href="/posts/">Posts</a> - </nav> - <h1> - Posts - </h1> - <h2>2023</h2> - <ul class="posts"> - <li> - <span>January 4</span> - <a href="/posts/01_04_2023-advent-of-wasm.html">Retrospect: Advent of Wasm</a> - </li> - </ul> - - <h2>2022</h2> - <ul class="posts"> - <li> - <span>August 1</span> - <a href="/posts/08_01_2022-thoughts-on-neovim.html">Thoughts on Neovim</a> - </li> - <li> - <span>July 29</span> - <a href="/posts/07_29_2022-on-communities-and-trust.html">On Communities and Trust</a> - </li> - </ul> - - <footer> - <a href="https://git.tempest.dev/ashe/tempest.dev">Site Source</a> - <a href="/pay-transparency.html">Pay Transparency</a> - </footer> - </body> -</html> diff --git a/resources/signature.svg b/public/resources/signature.svg index 4d69a57..4d69a57 100644 --- a/resources/signature.svg +++ b/public/resources/signature.svg diff --git a/resources/style.css b/resources/style.css deleted file mode 100644 index 03782a4..0000000 --- a/resources/style.css +++ /dev/null @@ -1,228 +0,0 @@ -* { - box-sizing: border-box; -} - -html, body { - margin: 0; - padding: 0; - font-family: Arial, sans-serif; - background: #2b2235; -} - -body { - min-height: 100vh; - background: #211e22; - color: rgba(255,255,255,.8); - max-width: 600px; - margin: 0 auto; - padding: 16px; - display: flex; - flex-direction: column; -} - -nav, footer { - display: flex; - flex-direction: row; - flex-wrap: wrap; - align-items: end; -} - -nav a, footer a { - opacity: .4; -} - -nav a:hover, footer a:hover { - opacity: .8; -} - -nav > a:not(:last-child), footer > a:not(:last-child) { - margin-right: 40px; -} - - -h1 { - color: rgba(255,255,255,.9); -} - -h1 > aside, -h2 > aside, -h3 > aside, -h4 > aside { - display: inline-block; - font-size: max(.5em, 14px); - font-weight: 100; - font-style: italic; - opacity: .6; - margin-left: 8px; -} - -h1 > .subtitle { - display: block; - font-size: 20px; - opacity: .8; - font-weight: normal; - font-style: italic; -} - -h3 + p, -h4 + p { - margin-top: -8px; -} - -ul > li:not(:last-child) { - margin-bottom: 8px; -} - -ul.posts { - list-style: none; -} - -ul.posts li span { - display: inline-block; - min-width: 100px; - opacity: .5; - text-align: right; - margin-right: 10px; -} - -body p { - line-height: 1.5; -} - -a { - color: white; - opacity: .8; -} - -a[href^="https:"], -a[href^="http:"], -a[href^="//"] { - color: #caa5ff; -} - -h2 { - margin-top: 48px; -} - -sup { - vertical-align: top; -} - -sup a { - position: relative; - top: -4px; - color: #caa5ff; - margin: 0 2px; - text-decoration: none; -} - -span.asterisk { - color: #caa5ff; -} - -.tableOverflow { - margin: 0 -16px; - width: calc(100% + 32px); - overflow-x: auto; - padding: 0 16px; - position: relative; -} - -body > aside { - border-left: solid 4px #caa5ff88; - padding-left: 8px; -} - -body > aside strong:first-child { - color: #caa5ffcc; -} - -table { - border-collapse: collapse; - text-align: left; - min-width: calc(600px - 32px); -} - -table tr { -} - -table th { - border-bottom: solid 1px white; -} - -table th, table td { - padding: 8px 4px; -} - -ol#footnotes { - padding-left: 0px; - list-style: none; - counter-reset: list-number; - flex: 1; - display: flex; - flex-direction: column; - justify-content: end; - margin-top: 40px; -} - -ol#footnotes li { - display: flex; - flex-direction: row; - padding: 16px; - margin: 0 -16px; - position: relative; - transition: .15s ease-in-out background; -} - -ol#footnotes li::before { - counter-increment: list-number; - content: counter(list-number); - color: #caa5ff; - width: 20px; - margin-right: 8px; -} - -ol#footnotes li a { - margin-left: 8px; - color: #caa5ff; -} - -ol#footnotes li:first-child::after { - position: absolute; - top: 1px; - width: calc(100% - 32px); - background: #caa5ff; - opacity: .4; - height: 1px; - content: ''; -} - -ol#footnotes li:target { - background: #3d3548; -} - -footer { - margin-top: 40px; - flex: 1; - position: relative; -} - -footer::before { - position: absolute; - bottom: 36px; - width: calc(100% - 0px); - height: 1px; - margin: 0 auto; - content: ''; - background: #caa5ff; - opacity: .4; -} - -ol#footnotes + footer { - flex: initial; - margin-top: 0; -} - -ol#footnotes + footer::before { - display: none; -} diff --git a/styles/index.module.css b/styles/index.module.css new file mode 100644 index 0000000..2314363 --- /dev/null +++ b/styles/index.module.css @@ -0,0 +1,11 @@ +.glance { + margin: var(--text-padding); + display: grid; + grid-template-columns: fit-content(35%) 1fr; + grid-row-gap: calc(.5 * var(--text-padding)); +} + +.glance .label { + color: var(--text-dimmed); + margin-right: var(--text-padding); +} diff --git a/styles/layout.css b/styles/layout.css new file mode 100644 index 0000000..f2b2dba --- /dev/null +++ b/styles/layout.css @@ -0,0 +1,181 @@ +:root { + --header-height: 400px; + --header-overlap: 150px; + --header-bar-height: 48px; + --main-width: 600px; + --footer-spacing: 8px; + --page-background: #262626; + --main-background: #423c3c; + --text-bright:rgba(255,255,255, 1); + --text-medium:rgba(255,255,255, .75); + --text-dimmed:rgba(255,255,255, .55); + --text-padding: 16px; + +} + +body { + margin: 0; + padding: 0; + display: flex; + flex-direction: column; + min-height: 100vh; + background: var(--page-background); +} + + +header { + height: calc(var(--header-height) - var(--header-overlap)); + overflow-y: visible; + position: relative; + display: flex; + flex-direction: row; + padding: var(--text-padding); + padding-bottom: 0; + box-sizing: border-box; + align-items: start; + justify-items: flex-start; +} + +header:not(.homepage) { + justify-content: space-between; +} + +header.homepage { + flex-direction: column; + align-items: center; + height: calc(var(--header-height) - var(--header-overlap) + var(--header-bar-height)); +} + +header.homepage::before { + content: ' '; + flex: 1; +} + +header .siteTitle { + margin: 0; +} + +header.homepage .siteTitle { + font-size: 4em; +} + +header:not(.homepage) .siteTitle { + font-size: 1.2em; +} + +header nav { + display: block; + border: solid 5px transparent; +} + +header nav a { + margin: 0 calc(1.5 * var(--text-padding)); +} + +header.homepage nav { + border: none; + background: var(--main-background); + height: var(--header-bar-height); + width: var(--main-width); + display: flex; + flex-direction: row; + justify-content: center; + border-bottom: solid 1px var(--text-dimmed); +} + +header.homepage nav a { + height: 100%; + padding: 14px; + box-sizing: border-box; +} + + +header .headerBackground { + position: absolute; + top: 0; + left: 0; + right: 0; + height: 400px; + z-index: -1; + user-select: none; +} + +header .headerBackground img { + z-index: -1; + object-fit: cover; + object-position: center 75%; +} + +header .headerBackground::after { + content: ' '; + display: block; + width: 100%; + height: 100%; + background: rgba(0,0,0,.35); +} + +header:not(.homepage) + h1 { + width: var(--main-width); + margin: 0 auto; + padding: var(--text-padding); + box-sizing: border-box; + height: 80px; + margin-top: -80px; +} + +main { + font-family: Arial, sans-serif; +} + +main.mainColumn { + width: var(--main-width); + box-sizing: border-box; + padding: var(--text-padding); + margin: 0 auto; + background: var(--main-background); + min-height: calc(var(--header-overlap) + 100px); + box-shadow: 0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12); +} + +header.homepage + main.mainColumn { + min-height: calc(var(--header-overlap) + 100px - var(--header-bar-height)); +} + +main.mainColumn aside.infobar { + margin: calc(-1 * var(--text-padding)); + margin-bottom: var(--text-padding); + padding: var(--text-padding); + background: var(--main-background); + height: var(--header-bar-height); + width: var(--main-width); + box-sizing: border-box; + display: flex; + flex-direction: row; + align-items: center; + border-bottom: solid 1px var(--text-dimmed); +} + +main.mainColumn > p:first-child, +main.mainColumn .infobar + p { + margin-top: 0; +} + +footer { + flex: 1; + align-items: end; + box-sizing: border-box; + width: var(--main-width); + margin: 0 auto; + padding: var(--text-padding); + display: flex; + flex-direction: row; + margin-top: var(--footer-spacing); +} + +footer span { + flex: 1; +} + +footer a { + margin-left: calc(2 * var(--text-padding)); +} diff --git a/styles/text.css b/styles/text.css new file mode 100644 index 0000000..93364a7 --- /dev/null +++ b/styles/text.css @@ -0,0 +1,40 @@ +body { + color: var(--text-medium); +} + +a { + color: var(--text-bright); + font-family: 'Victor Mono Oblique', sans-serif; +} + +.siteTitle { + font-family: 'Victor Mono'; + opacity: .8; + font-style: italic; + text-decoration: none; + font-weight: normal; + text-decoration: none; +} + +h1, .pageTitle { + font-family: 'Victor Mono Oblique', sans-serif; + opacity: .8; +} + +h2, h3, h4, h5 { + color: var(--text-bright); + font-family: 'Victor Mono Oblique', sans-serif; +} + +em { + color: var(--text-bright); +} + +main { + font-family: 'Victor Mono', sans-serif; +} + +footer { + font-family: 'Victor Mono', sans-serif; + opacity: .5; +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..8137c50 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,39 @@ +{ + "compilerOptions": { + "baseUrl": ".", + "paths": { + "~/*": ["*"] + }, + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], + "allowJs": true, + "skipLibCheck": true, + "strict": false, + "forceConsistentCasingInFileNames": true, + "noEmit": true, + "incremental": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "plugins": [ + { + "name": "next" + } + ] + }, + "include": [ + "next-env.d.ts", + ".next/types/**/*.ts", + "**/*.ts", + "**/*.tsx" + ], + "exclude": [ + "node_modules" + ] +} |