Assets Export Script (#608)

* asset script

* Add commonjs vite plugin

* Use the index file and rename some images

* Delete unsued files and imports

* Change require to import

* Remove @ts-nocheck bcs why not
This commit is contained in:
Utku 2023-03-15 14:15:59 +03:00 committed by GitHub
parent 53229809ca
commit 5b6c8c9165
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
31 changed files with 217 additions and 837 deletions

View file

@ -17,7 +17,7 @@ export default defineConfig({
svg({ svgrOptions: { icon: true } }),
createHtmlPlugin({
minify: true
})
}),
],
css: {
modules: {

View file

@ -1,4 +1,4 @@
import AppLogo from '@sd/assets/images/logo.png';
import { AppLogo } from '@sd/assets/images';
import {
Discord,
Github,

View file

@ -1,4 +1,4 @@
import AppLogo from '@sd/assets/images/logo.png';
import { AppLogo } from '@sd/assets/images';
import { Academia, Discord, Github } from '@icons-pack/react-simple-icons';
import clsx from 'clsx';
import { Book, Chat, DotsThreeVertical, MapPin, User } from 'phosphor-react';

View file

@ -1,4 +1,3 @@
import folderSvg from '@sd/assets/svgs/folder.svg';
import clsx from 'clsx';
import { Helmet } from 'react-helmet';

View file

@ -2,7 +2,7 @@ import react from '@vitejs/plugin-react';
import path from 'path';
import { visualizer } from 'rollup-plugin-visualizer';
import { defineConfig } from 'vite';
import esm from 'vite-plugin-esmodule';
// import esm from 'vite-plugin-esmodule';
import md, { Mode } from 'vite-plugin-markdown';
import ssr from 'vite-plugin-ssr/plugin';
import svg from 'vite-plugin-svgr';
@ -15,7 +15,7 @@ export default defineConfig({
ssr({ prerender: true }),
svg(),
md({ mode: [Mode.REACT] }),
visualizer()
visualizer(),
],
css: {
modules: {

View file

@ -1,347 +0,0 @@
import ai from '@sd/assets/icons/ai.svg';
import angular from '@sd/assets/icons/angular.svg';
import audiomp3 from '@sd/assets/icons/audio-mp3.svg';
import audioogg from '@sd/assets/icons/audio-ogg.svg';
import audiowav from '@sd/assets/icons/audio-wav.svg';
import audio from '@sd/assets/icons/audio.svg';
import babel from '@sd/assets/icons/babel.svg';
import bat from '@sd/assets/icons/bat.svg';
import bicep from '@sd/assets/icons/bicep.svg';
import binary from '@sd/assets/icons/binary.svg';
import blade from '@sd/assets/icons/blade.svg';
import browserslist from '@sd/assets/icons/browserslist.svg';
import bsconfig from '@sd/assets/icons/bsconfig.svg';
import bundler from '@sd/assets/icons/bundler.svg';
import c from '@sd/assets/icons/c.svg';
import cert from '@sd/assets/icons/cert.svg';
import cheader from '@sd/assets/icons/cheader.svg';
import cli from '@sd/assets/icons/cli.svg';
import compodoc from '@sd/assets/icons/compodoc.svg';
import composer from '@sd/assets/icons/composer.svg';
import conf from '@sd/assets/icons/conf.svg';
import cpp from '@sd/assets/icons/cpp.svg';
import csharp from '@sd/assets/icons/csharp.svg';
import cshtml from '@sd/assets/icons/cshtml.svg';
import cssmap from '@sd/assets/icons/css-map.svg';
import css from '@sd/assets/icons/css.svg';
import csv from '@sd/assets/icons/csv.svg';
import dartlang from '@sd/assets/icons/dartlang.svg';
import dockerdebug from '@sd/assets/icons/docker-debug.svg';
import dockerignore from '@sd/assets/icons/docker-ignore.svg';
import docker from '@sd/assets/icons/docker.svg';
import editorconfig from '@sd/assets/icons/editorconfig.svg';
import eex from '@sd/assets/icons/eex.svg';
import elixir from '@sd/assets/icons/elixir.svg';
import elm from '@sd/assets/icons/elm.svg';
import env from '@sd/assets/icons/env.svg';
import erb from '@sd/assets/icons/erb.svg';
import erlang from '@sd/assets/icons/erlang.svg';
import eslint from '@sd/assets/icons/eslint.svg';
import exs from '@sd/assets/icons/exs.svg';
import exx from '@sd/assets/icons/exx.svg';
import file from '@sd/assets/icons/file.svg';
import folderlight from '@sd/assets/icons/folder-light.svg';
import folderopen from '@sd/assets/icons/folder-open.svg';
import folder from '@sd/assets/icons/folder.svg';
import fontotf from '@sd/assets/icons/font-otf.svg';
import fontttf from '@sd/assets/icons/font-ttf.svg';
import fontwoff2 from '@sd/assets/icons/font-woff2.svg';
import fontwoff from '@sd/assets/icons/font-woff.svg';
import git from '@sd/assets/icons/git.svg';
import gopackage from '@sd/assets/icons/go-package.svg';
import go from '@sd/assets/icons/go.svg';
import gradle from '@sd/assets/icons/gradle.svg';
import graphql from '@sd/assets/icons/graphql.svg';
import groovy from '@sd/assets/icons/groovy.svg';
import grunt from '@sd/assets/icons/grunt.svg';
import gulp from '@sd/assets/icons/gulp.svg';
import haml from '@sd/assets/icons/haml.svg';
import handlebars from '@sd/assets/icons/handlebars.svg';
import haskell from '@sd/assets/icons/haskell.svg';
import html from '@sd/assets/icons/html.svg';
import imagegif from '@sd/assets/icons/image-gif.svg';
import imageico from '@sd/assets/icons/image-ico.svg';
import imagejpg from '@sd/assets/icons/image-jpg.svg';
import imagepng from '@sd/assets/icons/image-png.svg';
import imagewebp from '@sd/assets/icons/image-webp.svg';
import image from '@sd/assets/icons/image.svg';
import info from '@sd/assets/icons/info.svg';
import ipynb from '@sd/assets/icons/ipynb.svg';
import java from '@sd/assets/icons/java.svg';
import jenkins from '@sd/assets/icons/jenkins.svg';
import jest from '@sd/assets/icons/jest.svg';
import jinja from '@sd/assets/icons/jinja.svg';
import jsmap from '@sd/assets/icons/js-map.svg';
import js from '@sd/assets/icons/js.svg';
import json from '@sd/assets/icons/json.svg';
import jsp from '@sd/assets/icons/jsp.svg';
import julia from '@sd/assets/icons/julia.svg';
import karma from '@sd/assets/icons/karma.svg';
import key from '@sd/assets/icons/key.svg';
import less from '@sd/assets/icons/less.svg';
import license from '@sd/assets/icons/license.svg';
import lighteditorconfig from '@sd/assets/icons/lighteditorconfig.svg';
import liquid from '@sd/assets/icons/liquid.svg';
import llvm from '@sd/assets/icons/llvm.svg';
import log from '@sd/assets/icons/log.svg';
import lua from '@sd/assets/icons/lua.svg';
import m from '@sd/assets/icons/m.svg';
import markdown from '@sd/assets/icons/markdown.svg';
import mint from '@sd/assets/icons/mint.svg';
import mov from '@sd/assets/icons/mov.svg';
import mp4 from '@sd/assets/icons/mp4.svg';
import nestjscontroller from '@sd/assets/icons/nestjs-controller.svg';
import nestjsdecorator from '@sd/assets/icons/nestjs-decorator.svg';
import nestjsfilter from '@sd/assets/icons/nestjs-filter.svg';
import nestjsguard from '@sd/assets/icons/nestjs-guard.svg';
import nestjsmodule from '@sd/assets/icons/nestjs-module.svg';
import nestjsservice from '@sd/assets/icons/nestjs-service.svg';
import nestjs from '@sd/assets/icons/nestjs.svg';
import netlify from '@sd/assets/icons/netlify.svg';
import nginx from '@sd/assets/icons/nginx.svg';
import nim from '@sd/assets/icons/nim.svg';
import njk from '@sd/assets/icons/njk.svg';
import nodemon from '@sd/assets/icons/nodemon.svg';
import npmlock from '@sd/assets/icons/npm-lock.svg';
import npm from '@sd/assets/icons/npm.svg';
import nuxt from '@sd/assets/icons/nuxt.svg';
import nvm from '@sd/assets/icons/nvm.svg';
import opengl from '@sd/assets/icons/opengl.svg';
import pdf from '@sd/assets/icons/pdf.svg';
import photoshop from '@sd/assets/icons/photoshop.svg';
import php from '@sd/assets/icons/php.svg';
import postcssconfig from '@sd/assets/icons/postcss-config.svg';
import powershelldata from '@sd/assets/icons/powershell-data.svg';
import powershellmodule from '@sd/assets/icons/powershell-module.svg';
import powershell from '@sd/assets/icons/powershell.svg';
import prettier from '@sd/assets/icons/prettier.svg';
import prisma from '@sd/assets/icons/prisma.svg';
import prolog from '@sd/assets/icons/prolog.svg';
import pug from '@sd/assets/icons/pug.svg';
import python from '@sd/assets/icons/python.svg';
import qt from '@sd/assets/icons/qt.svg';
import razor from '@sd/assets/icons/razor.svg';
import reactjs from '@sd/assets/icons/react-js.svg';
import reactts from '@sd/assets/icons/react-ts.svg';
import readme from '@sd/assets/icons/readme.svg';
import rescript from '@sd/assets/icons/rescript.svg';
import rjson from '@sd/assets/icons/rjson.svg';
import robots from '@sd/assets/icons/robots.svg';
import rollup from '@sd/assets/icons/rollup.svg';
import ruby from '@sd/assets/icons/ruby.svg';
import rust from '@sd/assets/icons/rust.svg';
import sass from '@sd/assets/icons/sass.svg';
import scss from '@sd/assets/icons/scss.svg';
import shell from '@sd/assets/icons/shell.svg';
import smarty from '@sd/assets/icons/smarty.svg';
import sol from '@sd/assets/icons/sol.svg';
import sql from '@sd/assets/icons/sql.svg';
import storybook from '@sd/assets/icons/storybook.svg';
import stylelint from '@sd/assets/icons/stylelint.svg';
import stylus from '@sd/assets/icons/stylus.svg';
import svelte from '@sd/assets/icons/svelte.svg';
import svg from '@sd/assets/icons/svg.svg';
import swift from '@sd/assets/icons/swift.svg';
import symfony from '@sd/assets/icons/symfony.svg';
import tailwind from '@sd/assets/icons/tailwind.svg';
import testjs from '@sd/assets/icons/test-js.svg';
import testts from '@sd/assets/icons/test-ts.svg';
import tmpl from '@sd/assets/icons/tmpl.svg';
import toml from '@sd/assets/icons/toml.svg';
import travis from '@sd/assets/icons/travis.svg';
import tsconfig from '@sd/assets/icons/tsconfig.svg';
import tsx from '@sd/assets/icons/tsx.svg';
import twig from '@sd/assets/icons/twig.svg';
import txt from '@sd/assets/icons/txt.svg';
import typescriptdef from '@sd/assets/icons/typescript-def.svg';
import typescript from '@sd/assets/icons/typescript.svg';
import ui from '@sd/assets/icons/ui.svg';
import user from '@sd/assets/icons/user.svg';
import vercel from '@sd/assets/icons/vercel.svg';
import video from '@sd/assets/icons/video.svg';
import vite from '@sd/assets/icons/vite.svg';
import vscode from '@sd/assets/icons/vscode.svg';
import vue from '@sd/assets/icons/vue.svg';
import wasm from '@sd/assets/icons/wasm.svg';
import webpack from '@sd/assets/icons/webpack.svg';
import windi from '@sd/assets/icons/windi.svg';
import xml from '@sd/assets/icons/xml.svg';
import yaml from '@sd/assets/icons/yaml.svg';
import yarnerror from '@sd/assets/icons/yarn-error.svg';
import yarn from '@sd/assets/icons/yarn.svg';
import zip from '@sd/assets/icons/zip.svg';
export default {
ai,
angular,
audiomp3,
audioogg,
audiowav,
audio,
babel,
bat,
bicep,
binary,
blade,
browserslist,
bsconfig,
bundler,
c,
cert,
cheader,
cli,
compodoc,
composer,
conf,
cpp,
csharp,
cshtml,
cssmap,
css,
csv,
dartlang,
dockerdebug,
dockerignore,
docker,
editorconfig,
eex,
elixir,
elm,
env,
erb,
erlang,
eslint,
exs,
exx,
file,
folderlight,
folderopen,
folder,
fontotf,
fontttf,
fontwoff,
fontwoff2,
git,
gopackage,
go,
gradle,
graphql,
groovy,
grunt,
gulp,
haml,
handlebars,
haskell,
html,
imagegif,
imageico,
imagejpg,
imagepng,
imagewebp,
image,
info,
ipynb,
java,
jenkins,
jest,
jinja,
jsmap,
js,
json,
jsp,
julia,
karma,
key,
less,
license,
lighteditorconfig,
liquid,
llvm,
log,
lua,
m,
markdown,
mint,
mov,
mp4,
nestjscontroller,
nestjsdecorator,
nestjsfilter,
nestjsguard,
nestjsmodule,
nestjsservice,
nestjs,
netlify,
nginx,
nim,
njk,
nodemon,
npmlock,
npm,
nuxt,
nvm,
opengl,
pdf,
photoshop,
php,
postcssconfig,
powershelldata,
powershellmodule,
powershell,
prettier,
prisma,
prolog,
pug,
python,
qt,
razor,
reactjs,
reactts,
readme,
rescript,
rjson,
robots,
rollup,
ruby,
rust,
sass,
scss,
shell,
smarty,
sol,
sql,
storybook,
stylelint,
stylus,
svelte,
svg,
swift,
symfony,
tailwind,
testjs,
testts,
tmpl,
toml,
travis,
tsconfig,
tsx,
twig,
txt,
typescriptdef,
typescript,
ui,
user,
vercel,
video,
vite,
vscode,
vue,
wasm,
webpack,
windi,
xml,
yaml,
yarnerror,
yarn,
zip
};

View file

@ -1,3 +0,0 @@
Anything here is copied from some other app/package and should be moved to `assets` package for consistency.
- Make sure sure to fix imports throughout the monorepo when you do such action.

View file

@ -1,3 +1,4 @@
import { AppLogo } from '@sd/assets/images';
import { DrawerContentScrollView } from '@react-navigation/drawer';
import { DrawerContentComponentProps } from '@react-navigation/drawer/lib/typescript/src/types';
import { Gear } from 'phosphor-react-native';
@ -22,7 +23,7 @@ const DrawerContent = ({ navigation, state }: DrawerContentComponentProps) => {
<View style={twStyle('justify-between', { height: drawerHeight })}>
<View>
<View style={tw`flex flex-row items-center`}>
<Image source={require('@sd/assets/images/logo.png')} style={tw`h-[40px] w-[40px]`} />
<Image source={AppLogo} style={tw`h-[40px] w-[40px]`} />
<Text style={tw`text-ink ml-2 text-lg font-bold`}>Spacedrive</Text>
</View>
<View style={tw`mt-6`} />

View file

@ -1,3 +1,4 @@
import { AppLogo } from '@sd/assets/images';
import { Image, Text, View } from 'react-native';
import { FadeInUpAnimation, LogoAnimation } from '~/components/animation/layout';
import { AnimatedButton } from '~/components/primitive/Button';
@ -10,7 +11,7 @@ const OnboardingScreen = ({ navigation }: OnboardingStackScreenProps<'Onboarding
{/* Logo */}
<LogoAnimation>
<View style={tw`mt-2 items-center`}>
<Image source={require('@sd/assets/images/logo.png')} style={tw`h-24 w-24`} />
<Image source={AppLogo} style={tw`h-24 w-24`} />
</View>
</LogoAnimation>
{/* Text */}

View file

@ -4,3 +4,8 @@ declare module '*.svg' {
const content: React.FC<SvgProps>;
export default content;
}
declare module '*.png' {
const content: any;
export default content;
}

View file

@ -22,7 +22,7 @@ export default defineConfig({
visualizer({
gzipSize: true,
brotliSize: true
})
}),
],
css: {
modules: {

View file

@ -1,3 +1,4 @@
import * as icons from '@sd/assets/icons';
import clsx from 'clsx';
import { CSSProperties } from 'react';
import { ExplorerItem } from '@sd/client';
@ -5,15 +6,6 @@ import { usePlatform } from '~/util/Platform';
import { getExplorerItemData } from '../util';
import classes from './Thumb.module.scss';
const icons = import.meta.glob('../../../../../packages/assets/icons/*.png', { eager: true });
// extract icons by their name
const iconsMap: Record<string, string> = {};
for (const [key, value] of Object.entries(icons)) {
const split = key.split('/');
const iconName = split[split.length - 1]?.replace('.png', '');
if (iconName) iconsMap[iconName] = (value as { default: string }).default;
}
interface Props {
data: ExplorerItem;
size: number;
@ -104,14 +96,18 @@ export function FileThumbImg({
}
// Render an img component with an image based on kind
let icon = iconsMap['Document'];
let icon = icons['Document'];
if (isDir) {
icon = iconsMap['Folder'];
} else if (kind && extension && iconsMap[`${kind}_${extension.toLowerCase()}`]) {
icon = iconsMap[`${kind}_${extension.toLowerCase()}`];
} else if (kind && iconsMap[kind] && kind !== 'Unknown') {
icon = iconsMap[kind];
icon = icons['Folder'];
} else if (
kind &&
extension &&
icons[`${kind}_${extension.toLowerCase()}` as keyof typeof icons]
) {
icon = icons[`${kind}_${extension.toLowerCase()}` as keyof typeof icons];
} else if (kind !== 'Unknown' && kind && icons[kind as keyof typeof icons]) {
icon = icons[kind as keyof typeof icons];
}
return <img src={icon} className={clsx('h-full overflow-hidden')} />;

View file

@ -1,4 +1,4 @@
import Logo from '@sd/assets/images/logo.png';
import { AppLogo } from '@sd/assets/images';
import { useBridgeQuery } from '@sd/client';
import { useOperatingSystem } from '~/hooks/useOperatingSystem';
@ -13,7 +13,7 @@ export default function AboutSpacedrive() {
return (
<>
<div className="flex flex-row items-center">
<img src={Logo} className="mr-8 h-[88px] w-[88px]" />
<img src={AppLogo} className="mr-8 h-[88px] w-[88px]" />
<div className="flex flex-col">
<h1 className="text-2xl font-bold">
Spacedrive {os !== 'unknown' && <>for {currentPlatformNiceName}</>}

View file

@ -1,8 +1,6 @@
import GoogleDrive from '@sd/assets/images/GoogleDrive.png';
import Mega from '@sd/assets/images/Mega.png';
import iCloud from '@sd/assets/images/iCloud.png';
import { GoogleDrive, Mega, iCloud } from '@sd/assets/images';
import clsx from 'clsx';
import { DeviceMobile, HardDrives, Icon, Laptop, Star, User } from 'phosphor-react';
import { DeviceMobile, HardDrives, Icon, Laptop, User } from 'phosphor-react';
import { useRef, useState } from 'react';
import { tw } from '@sd/ui';
import { PeerMetadata, useBridgeMutation, useBridgeSubscription } from '~/../packages/client/src';

View file

@ -1,4 +1,4 @@
import BloomOne from '@sd/assets/images/bloom-one.png';
import { BloomOne } from '@sd/assets/images';
import clsx from 'clsx';
import { useEffect } from 'react';
import { Outlet, useNavigate } from 'react-router';

View file

@ -1,4 +1,4 @@
import Database from '@sd/assets/icons/Database.png';
import { Database } from '@sd/assets/icons';
import { useState } from 'react';
import { useNavigate } from 'react-router';
import { getOnboardingStore, useOnboardingStore } from '@sd/client';

View file

@ -1,4 +1,4 @@
import AppLogo from '@sd/assets/images/logo.png';
import { AppLogo } from '@sd/assets/images';
import { ButtonLink } from '@sd/ui';
import { OnboardingContainer, OnboardingDescription, OnboardingImg } from './Layout';

View file

@ -1,347 +0,0 @@
import { ReactComponent as ai } from '@sd/assets/icons/ai.svg';
import { ReactComponent as angular } from '@sd/assets/icons/angular.svg';
import { ReactComponent as audiomp3 } from '@sd/assets/icons/audio-mp3.svg';
import { ReactComponent as audioogg } from '@sd/assets/icons/audio-ogg.svg';
import { ReactComponent as audiowav } from '@sd/assets/icons/audio-wav.svg';
import { ReactComponent as audio } from '@sd/assets/icons/audio.svg';
import { ReactComponent as babel } from '@sd/assets/icons/babel.svg';
import { ReactComponent as bat } from '@sd/assets/icons/bat.svg';
import { ReactComponent as bicep } from '@sd/assets/icons/bicep.svg';
import { ReactComponent as binary } from '@sd/assets/icons/binary.svg';
import { ReactComponent as blade } from '@sd/assets/icons/blade.svg';
import { ReactComponent as browserslist } from '@sd/assets/icons/browserslist.svg';
import { ReactComponent as bsconfig } from '@sd/assets/icons/bsconfig.svg';
import { ReactComponent as bundler } from '@sd/assets/icons/bundler.svg';
import { ReactComponent as c } from '@sd/assets/icons/c.svg';
import { ReactComponent as cert } from '@sd/assets/icons/cert.svg';
import { ReactComponent as cheader } from '@sd/assets/icons/cheader.svg';
import { ReactComponent as cli } from '@sd/assets/icons/cli.svg';
import { ReactComponent as compodoc } from '@sd/assets/icons/compodoc.svg';
import { ReactComponent as composer } from '@sd/assets/icons/composer.svg';
import { ReactComponent as conf } from '@sd/assets/icons/conf.svg';
import { ReactComponent as cpp } from '@sd/assets/icons/cpp.svg';
import { ReactComponent as csharp } from '@sd/assets/icons/csharp.svg';
import { ReactComponent as cshtml } from '@sd/assets/icons/cshtml.svg';
import { ReactComponent as cssmap } from '@sd/assets/icons/css-map.svg';
import { ReactComponent as css } from '@sd/assets/icons/css.svg';
import { ReactComponent as csv } from '@sd/assets/icons/csv.svg';
import { ReactComponent as dartlang } from '@sd/assets/icons/dartlang.svg';
import { ReactComponent as dockerdebug } from '@sd/assets/icons/docker-debug.svg';
import { ReactComponent as dockerignore } from '@sd/assets/icons/docker-ignore.svg';
import { ReactComponent as docker } from '@sd/assets/icons/docker.svg';
import { ReactComponent as editorconfig } from '@sd/assets/icons/editorconfig.svg';
import { ReactComponent as eex } from '@sd/assets/icons/eex.svg';
import { ReactComponent as elixir } from '@sd/assets/icons/elixir.svg';
import { ReactComponent as elm } from '@sd/assets/icons/elm.svg';
import { ReactComponent as env } from '@sd/assets/icons/env.svg';
import { ReactComponent as erb } from '@sd/assets/icons/erb.svg';
import { ReactComponent as erlang } from '@sd/assets/icons/erlang.svg';
import { ReactComponent as eslint } from '@sd/assets/icons/eslint.svg';
import { ReactComponent as exs } from '@sd/assets/icons/exs.svg';
import { ReactComponent as exx } from '@sd/assets/icons/exx.svg';
import { ReactComponent as file } from '@sd/assets/icons/file.svg';
import { ReactComponent as folderlight } from '@sd/assets/icons/folder-light.svg';
import { ReactComponent as folderopen } from '@sd/assets/icons/folder-open.svg';
import { ReactComponent as folder } from '@sd/assets/icons/folder.svg';
import { ReactComponent as fontotf } from '@sd/assets/icons/font-otf.svg';
import { ReactComponent as fontttf } from '@sd/assets/icons/font-ttf.svg';
import { ReactComponent as fontwoff2 } from '@sd/assets/icons/font-woff2.svg';
import { ReactComponent as fontwoff } from '@sd/assets/icons/font-woff.svg';
import { ReactComponent as git } from '@sd/assets/icons/git.svg';
import { ReactComponent as gopackage } from '@sd/assets/icons/go-package.svg';
import { ReactComponent as go } from '@sd/assets/icons/go.svg';
import { ReactComponent as gradle } from '@sd/assets/icons/gradle.svg';
import { ReactComponent as graphql } from '@sd/assets/icons/graphql.svg';
import { ReactComponent as groovy } from '@sd/assets/icons/groovy.svg';
import { ReactComponent as grunt } from '@sd/assets/icons/grunt.svg';
import { ReactComponent as gulp } from '@sd/assets/icons/gulp.svg';
import { ReactComponent as haml } from '@sd/assets/icons/haml.svg';
import { ReactComponent as handlebars } from '@sd/assets/icons/handlebars.svg';
import { ReactComponent as haskell } from '@sd/assets/icons/haskell.svg';
import { ReactComponent as html } from '@sd/assets/icons/html.svg';
import { ReactComponent as imagegif } from '@sd/assets/icons/image-gif.svg';
import { ReactComponent as imageico } from '@sd/assets/icons/image-ico.svg';
import { ReactComponent as imagejpg } from '@sd/assets/icons/image-jpg.svg';
import { ReactComponent as imagepng } from '@sd/assets/icons/image-png.svg';
import { ReactComponent as imagewebp } from '@sd/assets/icons/image-webp.svg';
import { ReactComponent as image } from '@sd/assets/icons/image.svg';
import { ReactComponent as info } from '@sd/assets/icons/info.svg';
import { ReactComponent as ipynb } from '@sd/assets/icons/ipynb.svg';
import { ReactComponent as java } from '@sd/assets/icons/java.svg';
import { ReactComponent as jenkins } from '@sd/assets/icons/jenkins.svg';
import { ReactComponent as jest } from '@sd/assets/icons/jest.svg';
import { ReactComponent as jinja } from '@sd/assets/icons/jinja.svg';
import { ReactComponent as jsmap } from '@sd/assets/icons/js-map.svg';
import { ReactComponent as js } from '@sd/assets/icons/js.svg';
import { ReactComponent as json } from '@sd/assets/icons/json.svg';
import { ReactComponent as jsp } from '@sd/assets/icons/jsp.svg';
import { ReactComponent as julia } from '@sd/assets/icons/julia.svg';
import { ReactComponent as karma } from '@sd/assets/icons/karma.svg';
import { ReactComponent as key } from '@sd/assets/icons/key.svg';
import { ReactComponent as less } from '@sd/assets/icons/less.svg';
import { ReactComponent as license } from '@sd/assets/icons/license.svg';
import { ReactComponent as lighteditorconfig } from '@sd/assets/icons/lighteditorconfig.svg';
import { ReactComponent as liquid } from '@sd/assets/icons/liquid.svg';
import { ReactComponent as llvm } from '@sd/assets/icons/llvm.svg';
import { ReactComponent as log } from '@sd/assets/icons/log.svg';
import { ReactComponent as lua } from '@sd/assets/icons/lua.svg';
import { ReactComponent as m } from '@sd/assets/icons/m.svg';
import { ReactComponent as markdown } from '@sd/assets/icons/markdown.svg';
import { ReactComponent as mint } from '@sd/assets/icons/mint.svg';
import { ReactComponent as mov } from '@sd/assets/icons/mov.svg';
import { ReactComponent as mp4 } from '@sd/assets/icons/mp4.svg';
import { ReactComponent as nestjscontroller } from '@sd/assets/icons/nestjs-controller.svg';
import { ReactComponent as nestjsdecorator } from '@sd/assets/icons/nestjs-decorator.svg';
import { ReactComponent as nestjsfilter } from '@sd/assets/icons/nestjs-filter.svg';
import { ReactComponent as nestjsguard } from '@sd/assets/icons/nestjs-guard.svg';
import { ReactComponent as nestjsmodule } from '@sd/assets/icons/nestjs-module.svg';
import { ReactComponent as nestjsservice } from '@sd/assets/icons/nestjs-service.svg';
import { ReactComponent as nestjs } from '@sd/assets/icons/nestjs.svg';
import { ReactComponent as netlify } from '@sd/assets/icons/netlify.svg';
import { ReactComponent as nginx } from '@sd/assets/icons/nginx.svg';
import { ReactComponent as nim } from '@sd/assets/icons/nim.svg';
import { ReactComponent as njk } from '@sd/assets/icons/njk.svg';
import { ReactComponent as nodemon } from '@sd/assets/icons/nodemon.svg';
import { ReactComponent as npmlock } from '@sd/assets/icons/npm-lock.svg';
import { ReactComponent as npm } from '@sd/assets/icons/npm.svg';
import { ReactComponent as nuxt } from '@sd/assets/icons/nuxt.svg';
import { ReactComponent as nvm } from '@sd/assets/icons/nvm.svg';
import { ReactComponent as opengl } from '@sd/assets/icons/opengl.svg';
import { ReactComponent as pdf } from '@sd/assets/icons/pdf.svg';
import { ReactComponent as photoshop } from '@sd/assets/icons/photoshop.svg';
import { ReactComponent as php } from '@sd/assets/icons/php.svg';
import { ReactComponent as postcssconfig } from '@sd/assets/icons/postcss-config.svg';
import { ReactComponent as powershelldata } from '@sd/assets/icons/powershell-data.svg';
import { ReactComponent as powershellmodule } from '@sd/assets/icons/powershell-module.svg';
import { ReactComponent as powershell } from '@sd/assets/icons/powershell.svg';
import { ReactComponent as prettier } from '@sd/assets/icons/prettier.svg';
import { ReactComponent as prisma } from '@sd/assets/icons/prisma.svg';
import { ReactComponent as prolog } from '@sd/assets/icons/prolog.svg';
import { ReactComponent as pug } from '@sd/assets/icons/pug.svg';
import { ReactComponent as python } from '@sd/assets/icons/python.svg';
import { ReactComponent as qt } from '@sd/assets/icons/qt.svg';
import { ReactComponent as razor } from '@sd/assets/icons/razor.svg';
import { ReactComponent as reactjs } from '@sd/assets/icons/react-js.svg';
import { ReactComponent as reactts } from '@sd/assets/icons/react-ts.svg';
import { ReactComponent as readme } from '@sd/assets/icons/readme.svg';
import { ReactComponent as rescript } from '@sd/assets/icons/rescript.svg';
import { ReactComponent as rjson } from '@sd/assets/icons/rjson.svg';
import { ReactComponent as robots } from '@sd/assets/icons/robots.svg';
import { ReactComponent as rollup } from '@sd/assets/icons/rollup.svg';
import { ReactComponent as ruby } from '@sd/assets/icons/ruby.svg';
import { ReactComponent as rust } from '@sd/assets/icons/rust.svg';
import { ReactComponent as sass } from '@sd/assets/icons/sass.svg';
import { ReactComponent as scss } from '@sd/assets/icons/scss.svg';
import { ReactComponent as shell } from '@sd/assets/icons/shell.svg';
import { ReactComponent as smarty } from '@sd/assets/icons/smarty.svg';
import { ReactComponent as sol } from '@sd/assets/icons/sol.svg';
import { ReactComponent as sql } from '@sd/assets/icons/sql.svg';
import { ReactComponent as storybook } from '@sd/assets/icons/storybook.svg';
import { ReactComponent as stylelint } from '@sd/assets/icons/stylelint.svg';
import { ReactComponent as stylus } from '@sd/assets/icons/stylus.svg';
import { ReactComponent as svelte } from '@sd/assets/icons/svelte.svg';
import { ReactComponent as svg } from '@sd/assets/icons/svg.svg';
import { ReactComponent as swift } from '@sd/assets/icons/swift.svg';
import { ReactComponent as symfony } from '@sd/assets/icons/symfony.svg';
import { ReactComponent as tailwind } from '@sd/assets/icons/tailwind.svg';
import { ReactComponent as testjs } from '@sd/assets/icons/test-js.svg';
import { ReactComponent as testts } from '@sd/assets/icons/test-ts.svg';
import { ReactComponent as tmpl } from '@sd/assets/icons/tmpl.svg';
import { ReactComponent as toml } from '@sd/assets/icons/toml.svg';
import { ReactComponent as travis } from '@sd/assets/icons/travis.svg';
import { ReactComponent as tsconfig } from '@sd/assets/icons/tsconfig.svg';
import { ReactComponent as tsx } from '@sd/assets/icons/tsx.svg';
import { ReactComponent as twig } from '@sd/assets/icons/twig.svg';
import { ReactComponent as txt } from '@sd/assets/icons/txt.svg';
import { ReactComponent as typescriptdef } from '@sd/assets/icons/typescript-def.svg';
import { ReactComponent as typescript } from '@sd/assets/icons/typescript.svg';
import { ReactComponent as ui } from '@sd/assets/icons/ui.svg';
import { ReactComponent as user } from '@sd/assets/icons/user.svg';
import { ReactComponent as vercel } from '@sd/assets/icons/vercel.svg';
import { ReactComponent as video } from '@sd/assets/icons/video.svg';
import { ReactComponent as vite } from '@sd/assets/icons/vite.svg';
import { ReactComponent as vscode } from '@sd/assets/icons/vscode.svg';
import { ReactComponent as vue } from '@sd/assets/icons/vue.svg';
import { ReactComponent as wasm } from '@sd/assets/icons/wasm.svg';
import { ReactComponent as webpack } from '@sd/assets/icons/webpack.svg';
import { ReactComponent as windi } from '@sd/assets/icons/windi.svg';
import { ReactComponent as xml } from '@sd/assets/icons/xml.svg';
import { ReactComponent as yaml } from '@sd/assets/icons/yaml.svg';
import { ReactComponent as yarnerror } from '@sd/assets/icons/yarn-error.svg';
import { ReactComponent as yarn } from '@sd/assets/icons/yarn.svg';
import { ReactComponent as zip } from '@sd/assets/icons/zip.svg';
export default {
ai,
angular,
audiomp3,
audioogg,
audiowav,
audio,
babel,
bat,
bicep,
binary,
blade,
browserslist,
bsconfig,
bundler,
c,
cert,
cheader,
cli,
compodoc,
composer,
conf,
cpp,
csharp,
cshtml,
cssmap,
css,
csv,
dartlang,
dockerdebug,
dockerignore,
docker,
editorconfig,
eex,
elixir,
elm,
env,
erb,
erlang,
eslint,
exs,
exx,
file,
folderlight,
folderopen,
folder,
fontotf,
fontttf,
fontwoff,
fontwoff2,
git,
gopackage,
go,
gradle,
graphql,
groovy,
grunt,
gulp,
haml,
handlebars,
haskell,
html,
imagegif,
imageico,
imagejpg,
imagepng,
imagewebp,
image,
info,
ipynb,
java,
jenkins,
jest,
jinja,
jsmap,
js,
json,
jsp,
julia,
karma,
key,
less,
license,
lighteditorconfig,
liquid,
llvm,
log,
lua,
m,
markdown,
mint,
mov,
mp4,
nestjscontroller,
nestjsdecorator,
nestjsfilter,
nestjsguard,
nestjsmodule,
nestjsservice,
nestjs,
netlify,
nginx,
nim,
njk,
nodemon,
npmlock,
npm,
nuxt,
nvm,
opengl,
pdf,
photoshop,
php,
postcssconfig,
powershelldata,
powershellmodule,
powershell,
prettier,
prisma,
prolog,
pug,
python,
qt,
razor,
reactjs,
reactts,
readme,
rescript,
rjson,
robots,
rollup,
ruby,
rust,
sass,
scss,
shell,
smarty,
sol,
sql,
storybook,
stylelint,
stylus,
svelte,
svg,
swift,
symfony,
tailwind,
testjs,
testts,
tmpl,
toml,
travis,
tsconfig,
tsx,
twig,
txt,
typescriptdef,
typescript,
ui,
user,
vercel,
video,
vite,
vscode,
vue,
wasm,
webpack,
windi,
xml,
yaml,
yarnerror,
yarn,
zip
};

View file

@ -11,7 +11,6 @@
"./components/*": "./components/*"
},
"scripts": {
"icons": "./scripts/generateSvgImports.mjs",
"lint": "eslint .",
"typecheck": "tsc -b",
"build": "tsc"

View file

@ -1,65 +0,0 @@
#!/usr/bin/env node
import * as fs from 'node:fs/promises';
import * as path from 'node:path';
import { format as prettierFormat } from 'prettier';
import prettierConfig from '../../../.prettierrc.json' assert { type: 'json' };
/**
* Make a friendly name from an svg filename
*
* @example `folder-light` => `FolderLight`
* @example `folder-open` => `FolderOpen`
* @param {string} iconName Icon name to convert
*/
function iconFriendlyName(iconName, delimeter = '-') {
return iconName
.split(delimeter)
.map((seg) => seg.toLowerCase())
.join('');
}
function iconBaseName(filePath) {
return path.basename(filePath, path.extname(filePath));
}
async function exists(path) {
try {
await fs.access(path);
return true;
} catch {
return false;
}
}
// TODO: Do the same for mobile app too, potentially with the 1 script.
(async function main() {
const files = await fs.readdir('./packages/assets/icons');
const icons = files.filter((path) => path.endsWith('.svg'));
const generatedCode = `\
${icons
.map((path) => iconBaseName(path))
.map(
(baseName) =>
`import { ReactComponent as ${iconFriendlyName(
baseName
)} } from '@sd/assets/icons/${baseName}.svg';`
)
.join('\n')}
export default {
${icons
.map((path) => iconFriendlyName(iconBaseName(path)))
.map((baseName) => `\t${iconFriendlyName(baseName)},`)
.join('\n')}
};
`;
const outPath = path.resolve('./packages/interface/src/assets/icons/index.ts');
if (await exists(outPath)) {
await fs.rm(outPath);
}
await fs.writeFile(outPath, prettierFormat(generatedCode, prettierConfig));
})();

View file

@ -14,6 +14,7 @@
"landing": "pnpm --filter @sd/landing -- ",
"ui": "pnpm --filter @sd/ui -- ",
"interface": "pnpm --filter @sd/interface -- ",
"assets": "pnpm --filter @sd/assets -- ",
"docs": "pnpm --filter @sd/docs -- ",
"client": "pnpm --filter @sd/client -- ",
"prisma": "cd core && cargo prisma",

View file

@ -0,0 +1,59 @@
/*
* This file was automatically generated by a script.
* To regenerate this file, run: pnpm assets gen
*/
import Alias from './Alias.png';
import Archive from './Archive.png';
import Collection from './Collection.png';
import Database from './Database.png';
import Document from './Document.png';
import Document_doc from './Document_doc.png';
import Document_pdf from './Document_pdf.png';
import Document_xls from './Document_xls.png';
import Drive from './Drive.png';
import Encrypted from './Encrypted.png';
import Executable from './Executable.png';
import Folder from './Folder.png';
import FolderGrey from './FolderGrey.png';
import Image from './Image.png';
import Laptop from './Laptop.png';
import Mesh from './Mesh.png';
import Mobile from './Mobile.png';
import Node from './Node.png';
import Package from './Package.png';
import Scrapbook from './Scrapbook.png';
import Server from './Server.png';
import Tablet from './Tablet.png';
import Text from './Text.png';
import TexturedMesh from './TexturedMesh.png';
import Video from './Video.png';
import Widget from './Widget.png';
export {
Alias,
Archive,
Collection,
Database,
Document,
Document_doc,
Document_pdf,
Document_xls,
Drive,
Encrypted,
Executable,
Folder,
FolderGrey,
Image,
Laptop,
Mesh,
Mobile,
Node,
Package,
Scrapbook,
Server,
Tablet,
Text,
TexturedMesh,
Video,
Widget
};

View file

Before

Width:  |  Height:  |  Size: 126 KiB

After

Width:  |  Height:  |  Size: 126 KiB

View file

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 79 KiB

View file

Before

Width:  |  Height:  |  Size: 243 KiB

After

Width:  |  Height:  |  Size: 243 KiB

View file

Before

Width:  |  Height:  |  Size: 272 KiB

After

Width:  |  Height:  |  Size: 272 KiB

View file

Before

Width:  |  Height:  |  Size: 273 KiB

After

Width:  |  Height:  |  Size: 273 KiB

View file

@ -0,0 +1,14 @@
/*
* This file was automatically generated by a script.
* To regenerate this file, run: pnpm assets gen
*/
import AppLogo from './AppLogo.png';
import Ball from './Ball.png';
import BloomOne from './BloomOne.png';
import BloomThree from './BloomThree.png';
import BloomTwo from './BloomTwo.png';
import GoogleDrive from './GoogleDrive.png';
import Mega from './Mega.png';
import iCloud from './iCloud.png';
export { AppLogo, Ball, BloomOne, BloomThree, BloomTwo, GoogleDrive, Mega, iCloud };

View file

@ -2,5 +2,8 @@
"name": "@sd/assets",
"version": "1.0.0",
"license": "GPL-3.0-only",
"private": true
"private": true,
"scripts": {
"gen": "node ./scripts/generate.mjs"
}
}

View file

@ -0,0 +1,66 @@
/*
* This script generates an index file for each asset folder specified in `assetFolders`.
* The index file will export all assets in the folder as an object.
*
* Usage:
* 1. Add the names of your asset folders to the `assetFolders` array.
* 2. Run `pnpm assets gen` to generate the index files.
*
* The generated index files will have the name `index.ts` and will be located in the root of each asset folder.
*/
import fs from 'fs';
import { dirname, join } from 'path';
import prettier from 'prettier';
import { fileURLToPath } from 'url';
const assetFolders = ['icons', 'images'];
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
assetFolders.forEach((folder) => {
const indexFilePath = join(__dirname, '..', folder, 'index.ts');
const assetsFolderPath = join(__dirname, '..', folder);
// Delete the index file if it already exists.
if (fs.existsSync(indexFilePath)) {
fs.unlinkSync(indexFilePath);
}
const fileNames = fs.readdirSync(assetsFolderPath);
// Generate the import statements for each asset.
const assetImports = fileNames
.filter((fileName) => fileName !== 'index.ts')
.map((fileName) => {
const variableName = fileName.split('.')[0].replace(/-/g, '');
return `import ${variableName} from './${fileName}';`;
})
.join('\n');
// Generate the export statements for each asset.
const assetExports = fileNames
.filter((fileName) => fileName !== 'index.ts')
.map((fileName) => {
const variableName = fileName.split('.')[0].replace(/-/g, '');
return `${variableName},`;
})
.join('\n');
// Generate the index file content.
const indexFileContent = `
/*
* This file was automatically generated by a script.
* To regenerate this file, run: pnpm assets gen
*/
${assetImports}\n\nexport {\n ${assetExports}\n};\n`;
// Write the index file.
prettier.resolveConfig(join(__dirname, '..', '..', '..', '.prettierrc.js')).then((options) => {
fs.writeFileSync(
indexFilePath,
prettier.format(indexFileContent, { ...options, parser: 'typescript' })
);
});
});

View file

@ -67,19 +67,19 @@ importers:
'@tauri-apps/api': 1.2.0
react: 18.2.0
react-dom: 18.2.0_react@18.2.0
vite-plugin-html: 3.2.0_vite@4.0.4
vite-plugin-html: 3.2.0_vite@4.1.4
devDependencies:
'@sd/config': link:../../packages/config
'@tauri-apps/cli': 1.2.3
'@types/babel-core': 6.25.7
'@types/react': 18.0.27
'@types/react-dom': 18.0.10
'@vitejs/plugin-react': 2.2.0_vite@4.0.4
'@vitejs/plugin-react': 2.2.0_vite@4.1.4
prettier: 2.8.3
sass: 1.57.1
typescript: 4.9.4
vite: 4.0.4_sass@1.57.1
vite-plugin-svgr: 2.4.0_vite@4.0.4
vite: 4.1.4_sass@1.57.1
vite-plugin-svgr: 2.4.0_vite@4.1.4
vite-tsconfig-paths: 4.0.5_typescript@4.9.4
apps/landing:
@ -137,7 +137,7 @@ importers:
'@sd/assets': link:../../packages/assets
'@sd/docs': link:../../docs
'@tryghost/content-api': 1.11.5
'@vitejs/plugin-react': 2.2.0_vite@4.0.4
'@vitejs/plugin-react': 2.2.0_vite@4.1.4
clsx: 1.2.1
compression: 1.7.4
cross-env: 7.0.3
@ -156,8 +156,8 @@ importers:
ts-node: 10.9.1_awa2wsr5thmg3i7jqycphctjfq
tsparticles: 2.8.0
typescript: 4.9.4
vite: 4.0.4_ovmyjmuuyckt3r3gpaexj2onji
vite-plugin-ssr: 0.4.70_vite@4.0.4
vite: 4.1.4_ovmyjmuuyckt3r3gpaexj2onji
vite-plugin-ssr: 0.4.70_vite@4.1.4
devDependencies:
'@sd/config': link:../../packages/config
'@sd/ui': link:../../packages/ui
@ -177,9 +177,9 @@ importers:
rollup-plugin-visualizer: 5.9.0
sass: 1.57.1
vite-plugin-esmodule: 1.4.4
vite-plugin-markdown: 2.1.0_vite@4.0.4
vite-plugin-svgr: 2.4.0_vite@4.0.4
vite-tsconfig-paths: 3.6.0_vite@4.0.4
vite-plugin-markdown: 2.1.0_vite@4.1.4
vite-plugin-svgr: 2.4.0_vite@4.1.4
vite-tsconfig-paths: 3.6.0_vite@4.1.4
apps/mobile:
specifiers:
@ -326,15 +326,15 @@ importers:
'@sd/ui': link:../../packages/ui
'@types/react': 18.0.27
'@types/react-dom': 18.0.10
'@vitejs/plugin-react': 2.2.0_vite@4.0.4
'@vitejs/plugin-react': 2.2.0_vite@4.1.4
autoprefixer: 10.4.13_postcss@8.4.21
postcss: 8.4.21
rollup-plugin-visualizer: 5.9.0
typescript: 4.9.4
vite: 4.0.4
vite-plugin-html: 3.2.0_vite@4.0.4
vite-plugin-svgr: 2.4.0_vite@4.0.4
vite-tsconfig-paths: 3.6.0_vite@4.0.4
vite: 4.1.4
vite-plugin-html: 3.2.0_vite@4.1.4
vite-plugin-svgr: 2.4.0_vite@4.1.4
vite-tsconfig-paths: 3.6.0_vite@4.1.4
crates/sync/example/web:
specifiers:
@ -359,9 +359,9 @@ importers:
'@rspc/client': 0.0.0-main-7c0a67c1
'@rspc/react': 0.0.0-main-7c0a67c1_ews3p2w6ewwkufep3giz5zum7m
'@tanstack/react-query': 4.22.0_biqbaboplfbrettd7655fr4n2y
'@vitejs/plugin-react': 2.2.0_vite@4.0.4
'@vitejs/plugin-react': 2.2.0_vite@4.1.4
typescript: 4.9.4
vite: 4.0.4
vite: 4.1.4
docs:
specifiers: {}
@ -443,7 +443,7 @@ importers:
'@tanstack/react-query': 4.24.4_biqbaboplfbrettd7655fr4n2y
'@tanstack/react-query-devtools': 4.22.0_pkeil6ml7pq7xvil3imldjs2sa
'@tanstack/react-virtual': 3.0.0-beta.18_react@18.2.0
'@vitejs/plugin-react': 2.2.0_vite@4.0.4
'@vitejs/plugin-react': 2.2.0_vite@4.1.4
'@zxcvbn-ts/core': 2.1.0
'@zxcvbn-ts/language-common': 2.0.1
'@zxcvbn-ts/language-en': 2.1.0
@ -480,8 +480,8 @@ importers:
'@types/react-router-dom': 5.3.3
prettier: 2.8.3
typescript: 4.9.4
vite: 4.0.4_@types+node@18.11.18
vite-plugin-svgr: 2.4.0_vite@4.0.4
vite: 4.1.4_@types+node@18.11.18
vite-plugin-svgr: 2.4.0_vite@4.1.4
packages/assets:
specifiers: {}
@ -8403,7 +8403,7 @@ packages:
wonka: 4.0.15
dev: false
/@vitejs/plugin-react/2.2.0_vite@4.0.4:
/@vitejs/plugin-react/2.2.0_vite@4.1.4:
resolution: {integrity: sha512-FFpefhvExd1toVRlokZgxgy2JtnBOdp4ZDsq7ldCWaqGSGn9UhWMAVm/1lxPL14JfNS5yGz+s9yFrQY6shoStA==}
engines: {node: ^14.18.0 || >=16.0.0}
peerDependencies:
@ -8416,7 +8416,7 @@ packages:
'@babel/plugin-transform-react-jsx-source': 7.19.6_@babel+core@7.20.12
magic-string: 0.26.7
react-refresh: 0.14.0
vite: 4.0.4_sass@1.57.1
vite: 4.1.4_sass@1.57.1
transitivePeerDependencies:
- supports-color
@ -20758,7 +20758,7 @@ packages:
- webpack-cli
dev: true
/vite-plugin-html/3.2.0_vite@4.0.4:
/vite-plugin-html/3.2.0_vite@4.1.4:
resolution: {integrity: sha512-2VLCeDiHmV/BqqNn5h2V+4280KRgQzCFN47cst3WiNK848klESPQnzuC3okH5XHtgwHH/6s1Ho/YV6yIO0pgoQ==}
peerDependencies:
vite: '>=2.0.0'
@ -20775,9 +20775,9 @@ packages:
html-minifier-terser: 6.1.0
node-html-parser: 5.4.2
pathe: 0.2.0
vite: 4.0.4_sass@1.57.1
vite: 4.1.4_sass@1.57.1
/vite-plugin-markdown/2.1.0_vite@4.0.4:
/vite-plugin-markdown/2.1.0_vite@4.1.4:
resolution: {integrity: sha512-eWLlrWzYZXEX3/HaXZo/KLjRpO72IUhbgaoFrbwB07ueXi6QfwqrgdZQfUcXTSofJCkN7GhErMC1K1RTAE0gGQ==}
peerDependencies:
vite: ^2.0.0 || ^3.0.0
@ -20785,14 +20785,14 @@ packages:
front-matter: 4.0.2
htmlparser2: 6.1.0
markdown-it: 12.3.2
vite: 4.0.4_ovmyjmuuyckt3r3gpaexj2onji
vite: 4.1.4_ovmyjmuuyckt3r3gpaexj2onji
dev: true
/vite-plugin-optimizer/1.4.2:
resolution: {integrity: sha512-UNQy+J31b+DeEc2NCxV+WIkwyYPWGPjYsnXO4+gM26CKY5KJ47JeRjchR11F3qfR8MWDX1+425LZfkUyXOfGFA==}
dev: true
/vite-plugin-ssr/0.4.70_vite@4.0.4:
/vite-plugin-ssr/0.4.70_vite@4.1.4:
resolution: {integrity: sha512-qcAqNss7phJnfK8QwT0KIotwvTuJLZhEA6jZiAYfS++HOLffEqUVSx620LfAr9j1H1MCoTwGd82zAbspOKnEHQ==}
engines: {node: '>=12.19.0'}
hasBin: true
@ -20811,23 +20811,23 @@ packages:
fast-glob: 3.2.12
picocolors: 1.0.0
sirv: 2.0.2
vite: 4.0.4_ovmyjmuuyckt3r3gpaexj2onji
vite: 4.1.4_ovmyjmuuyckt3r3gpaexj2onji
dev: false
/vite-plugin-svgr/2.4.0_vite@4.0.4:
/vite-plugin-svgr/2.4.0_vite@4.1.4:
resolution: {integrity: sha512-q+mJJol6ThvqkkJvvVFEndI4EaKIjSI0I3jNFgSoC9fXAz1M7kYTVUin8fhUsFojFDKZ9VHKtX6NXNaOLpbsHA==}
peerDependencies:
vite: ^2.6.0 || 3 || 4
dependencies:
'@rollup/pluginutils': 5.0.2
'@svgr/core': 6.5.1
vite: 4.0.4_sass@1.57.1
vite: 4.1.4_sass@1.57.1
transitivePeerDependencies:
- rollup
- supports-color
dev: true
/vite-tsconfig-paths/3.6.0_vite@4.0.4:
/vite-tsconfig-paths/3.6.0_vite@4.1.4:
resolution: {integrity: sha512-UfsPYonxLqPD633X8cWcPFVuYzx/CMNHAjZTasYwX69sXpa4gNmQkR0XCjj82h7zhLGdTWagMjC1qfb9S+zv0A==}
peerDependencies:
vite: '>2.0.0-0'
@ -20836,7 +20836,7 @@ packages:
globrex: 0.1.2
recrawl-sync: 2.2.3
tsconfig-paths: 4.1.2
vite: 4.0.4_ovmyjmuuyckt3r3gpaexj2onji
vite: 4.1.4_ovmyjmuuyckt3r3gpaexj2onji
transitivePeerDependencies:
- supports-color
dev: true
@ -20852,8 +20852,8 @@ packages:
- typescript
dev: true
/vite/4.0.4:
resolution: {integrity: sha512-xevPU7M8FU0i/80DMR+YhgrzR5KS2ORy1B4xcX/cXLsvnUWvfHuqMmVU6N0YiJ4JWGRJJsLCgjEzKjG9/GKoSw==}
/vite/4.1.4:
resolution: {integrity: sha512-3knk/HsbSTKEin43zHu7jTwYWv81f8kgAL99G5NWBcA1LKvtvcVAC4JjBH1arBunO9kQka+1oGbrMKOjk4ZrBg==}
engines: {node: ^14.18.0 || >=16.0.0}
hasBin: true
peerDependencies:
@ -20885,8 +20885,8 @@ packages:
fsevents: 2.3.2
dev: true
/vite/4.0.4_@types+node@18.11.18:
resolution: {integrity: sha512-xevPU7M8FU0i/80DMR+YhgrzR5KS2ORy1B4xcX/cXLsvnUWvfHuqMmVU6N0YiJ4JWGRJJsLCgjEzKjG9/GKoSw==}
/vite/4.1.4_@types+node@18.11.18:
resolution: {integrity: sha512-3knk/HsbSTKEin43zHu7jTwYWv81f8kgAL99G5NWBcA1LKvtvcVAC4JjBH1arBunO9kQka+1oGbrMKOjk4ZrBg==}
engines: {node: ^14.18.0 || >=16.0.0}
hasBin: true
peerDependencies:
@ -20919,8 +20919,8 @@ packages:
fsevents: 2.3.2
dev: true
/vite/4.0.4_ovmyjmuuyckt3r3gpaexj2onji:
resolution: {integrity: sha512-xevPU7M8FU0i/80DMR+YhgrzR5KS2ORy1B4xcX/cXLsvnUWvfHuqMmVU6N0YiJ4JWGRJJsLCgjEzKjG9/GKoSw==}
/vite/4.1.4_ovmyjmuuyckt3r3gpaexj2onji:
resolution: {integrity: sha512-3knk/HsbSTKEin43zHu7jTwYWv81f8kgAL99G5NWBcA1LKvtvcVAC4JjBH1arBunO9kQka+1oGbrMKOjk4ZrBg==}
engines: {node: ^14.18.0 || >=16.0.0}
hasBin: true
peerDependencies:
@ -20953,8 +20953,8 @@ packages:
optionalDependencies:
fsevents: 2.3.2
/vite/4.0.4_sass@1.57.1:
resolution: {integrity: sha512-xevPU7M8FU0i/80DMR+YhgrzR5KS2ORy1B4xcX/cXLsvnUWvfHuqMmVU6N0YiJ4JWGRJJsLCgjEzKjG9/GKoSw==}
/vite/4.1.4_sass@1.57.1:
resolution: {integrity: sha512-3knk/HsbSTKEin43zHu7jTwYWv81f8kgAL99G5NWBcA1LKvtvcVAC4JjBH1arBunO9kQka+1oGbrMKOjk4ZrBg==}
engines: {node: ^14.18.0 || >=16.0.0}
hasBin: true
peerDependencies: