From 64a58949971d094bc9cd9b6f106f5bb97ef39f65 Mon Sep 17 00:00:00 2001 From: Jamie Pine Date: Wed, 10 Dec 2025 09:00:44 -0800 Subject: [PATCH] Refactor volume management and enhance asset handling - Updated volume-related structures and database entities to improve indexing and retrieval efficiency. - Enhanced migration scripts to support new indexing statistics for volumes. - Refactored asset imports and SVG handling across various components for better organization and performance. - Improved file operation modals and explorer components for a more intuitive user experience. - Streamlined QuickPreview and video player components to optimize rendering and interaction. --- .../xcschemes/Spacedrive.xcscheme | 2 +- core/src/domain/volume.rs | 4 + core/src/infra/db/entities/volume.rs | 19 + ...09_000001_add_indexing_stats_to_volumes.rs | 97 + core/src/infra/db/migration/mod.rs | 2 + core/src/ops/locations/mod.rs | 5 + core/src/ops/locations/validate/mod.rs | 9 + core/src/ops/locations/validate/output.rs | 48 + core/src/ops/locations/validate/query.rs | 217 ++ core/src/ops/network/devices/query.rs | 34 +- core/src/ops/volumes/index/action.rs | 215 ++ core/src/ops/volumes/index/mod.rs | 25 + core/src/ops/volumes/index/output.rs | 20 + core/src/ops/volumes/mod.rs | 6 + core/src/service/network/core/event_loop.rs | 41 +- core/src/volume/fs/apfs.rs | 9 + core/src/volume/platform/macos.rs | 9 + packages/assets/icons/index.ts | 162 +- packages/assets/images/index.ts | 50 +- packages/assets/svgs/brands/index.ts | 79 +- packages/assets/svgs/ext/Code/index.ts | 100 +- packages/assets/svgs/ext/Extras/ace.svg | 2 +- .../assets/svgs/ext/Extras/acemanifest.svg | 2 +- packages/assets/svgs/ext/Extras/adoc.svg | 2 +- packages/assets/svgs/ext/Extras/adonis.svg | 2 +- .../assets/svgs/ext/Extras/adonisconfig.svg | 2 +- packages/assets/svgs/ext/Extras/afdesign.svg | 2 +- packages/assets/svgs/ext/Extras/afphoto.svg | 2 +- packages/assets/svgs/ext/Extras/afpub.svg | 2 +- packages/assets/svgs/ext/Extras/ai.svg | 2 +- packages/assets/svgs/ext/Extras/air.svg | 2 +- packages/assets/svgs/ext/Extras/angular.svg | 1 + packages/assets/svgs/ext/Extras/anim.svg | 2 +- packages/assets/svgs/ext/Extras/astro.svg | 2 +- .../assets/svgs/ext/Extras/astroconfig.svg | 2 +- packages/assets/svgs/ext/Extras/atomizer.svg | 2 +- packages/assets/svgs/ext/Extras/audio.svg | 1 + packages/assets/svgs/ext/Extras/audiomp3.svg | 1 + packages/assets/svgs/ext/Extras/audioogg.svg | 1 + packages/assets/svgs/ext/Extras/audiowav.svg | 1 + packages/assets/svgs/ext/Extras/audiowv.svg | 1 + packages/assets/svgs/ext/Extras/azure.svg | 2 +- packages/assets/svgs/ext/Extras/babel.svg | 2 +- packages/assets/svgs/ext/Extras/ballerina.svg | 1 + .../svgs/ext/Extras/ballerinaconfig.svg | 1 + packages/assets/svgs/ext/Extras/bat.svg | 2 +- packages/assets/svgs/ext/Extras/bazel.svg | 1 + .../assets/svgs/ext/Extras/bazelignore.svg | 1 + packages/assets/svgs/ext/Extras/bicep.svg | 2 +- .../assets/svgs/ext/Extras/bicepconfig.svg | 1 + .../assets/svgs/ext/Extras/bicepparam.svg | 2 +- packages/assets/svgs/ext/Extras/binary.svg | 2 +- packages/assets/svgs/ext/Extras/biome.svg | 1 + packages/assets/svgs/ext/Extras/blade.svg | 2 +- packages/assets/svgs/ext/Extras/brotli.svg | 2 +- .../assets/svgs/ext/Extras/browserslist.svg | 2 +- packages/assets/svgs/ext/Extras/bruno.svg | 1 + packages/assets/svgs/ext/Extras/bsconfig.svg | 2 +- packages/assets/svgs/ext/Extras/buck.svg | 1 + packages/assets/svgs/ext/Extras/bun.svg | 1 + packages/assets/svgs/ext/Extras/bundler.svg | 2 +- packages/assets/svgs/ext/Extras/bunlock.svg | 1 + packages/assets/svgs/ext/Extras/c.svg | 1 + packages/assets/svgs/ext/Extras/cargo.svg | 2 +- packages/assets/svgs/ext/Extras/cargolock.svg | 2 +- packages/assets/svgs/ext/Extras/cert.svg | 2 +- packages/assets/svgs/ext/Extras/cheader.svg | 2 +- packages/assets/svgs/ext/Extras/civet.svg | 2 +- packages/assets/svgs/ext/Extras/claude.svg | 1 + packages/assets/svgs/ext/Extras/cli.svg | 2 +- packages/assets/svgs/ext/Extras/clojure.svg | 2 +- packages/assets/svgs/ext/Extras/cmake.svg | 1 + .../assets/svgs/ext/Extras/codeworkspace.svg | 2 +- .../assets/svgs/ext/Extras/coffeescript.svg | 1 + .../assets/svgs/ext/Extras/commitlint.svg | 2 +- packages/assets/svgs/ext/Extras/compodoc.svg | 2 +- packages/assets/svgs/ext/Extras/composer.svg | 2 +- .../assets/svgs/ext/Extras/composerlock.svg | 2 +- packages/assets/svgs/ext/Extras/conan.svg | 2 +- packages/assets/svgs/ext/Extras/conf.svg | 2 +- packages/assets/svgs/ext/Extras/copilot.svg | 1 + packages/assets/svgs/ext/Extras/cpp.svg | 1 + packages/assets/svgs/ext/Extras/crystal.svg | 2 +- packages/assets/svgs/ext/Extras/csharp.svg | 1 + packages/assets/svgs/ext/Extras/cshtml.svg | 2 +- packages/assets/svgs/ext/Extras/csproj.svg | 2 +- packages/assets/svgs/ext/Extras/css.svg | 1 + packages/assets/svgs/ext/Extras/cssmap.svg | 2 +- packages/assets/svgs/ext/Extras/csv.svg | 2 +- packages/assets/svgs/ext/Extras/cucumber.svg | 2 +- packages/assets/svgs/ext/Extras/cursor.svg | 1 + packages/assets/svgs/ext/Extras/cypress.svg | 2 +- packages/assets/svgs/ext/Extras/cypressjs.svg | 2 +- packages/assets/svgs/ext/Extras/cypressts.svg | 2 +- packages/assets/svgs/ext/Extras/d.svg | 2 +- packages/assets/svgs/ext/Extras/dartlang.svg | 1 + .../assets/svgs/ext/Extras/delphiproject.svg | 1 + packages/assets/svgs/ext/Extras/diff.svg | 2 +- packages/assets/svgs/ext/Extras/docker.svg | 2 +- .../assets/svgs/ext/Extras/dockerdebug.svg | 2 +- .../assets/svgs/ext/Extras/dockerignore.svg | 2 +- packages/assets/svgs/ext/Extras/drawio.svg | 2 +- packages/assets/svgs/ext/Extras/drizzle.svg | 2 +- packages/assets/svgs/ext/Extras/dsstore.svg | 2 +- packages/assets/svgs/ext/Extras/dune.svg | 2 +- .../assets/svgs/ext/Extras/duneproject.svg | 2 +- packages/assets/svgs/ext/Extras/edge.svg | 2 +- .../assets/svgs/ext/Extras/editorconfig.svg | 2 +- packages/assets/svgs/ext/Extras/eex.svg | 2 +- packages/assets/svgs/ext/Extras/elixir.svg | 2 +- packages/assets/svgs/ext/Extras/elm.svg | 2 +- packages/assets/svgs/ext/Extras/env.svg | 2 +- packages/assets/svgs/ext/Extras/eraser.svg | 1 + packages/assets/svgs/ext/Extras/erb.svg | 2 +- packages/assets/svgs/ext/Extras/erlang.svg | 2 +- packages/assets/svgs/ext/Extras/esbuild.svg | 2 +- packages/assets/svgs/ext/Extras/eslint.svg | 2 +- .../assets/svgs/ext/Extras/eslintignore.svg | 1 + .../assets/svgs/ext/Extras/excalidraw.svg | 1 + packages/assets/svgs/ext/Extras/exs.svg | 2 +- packages/assets/svgs/ext/Extras/exx.svg | 2 +- packages/assets/svgs/ext/Extras/farm.svg | 2 +- packages/assets/svgs/ext/Extras/figma.svg | 2 +- packages/assets/svgs/ext/Extras/file.svg | 1 + .../assets/svgs/ext/Extras/file_light.svg | 1 + packages/assets/svgs/ext/Extras/flakelock.svg | 2 +- packages/assets/svgs/ext/Extras/flutter.svg | 2 +- .../assets/svgs/ext/Extras/flutterlock.svg | 2 +- .../assets/svgs/ext/Extras/flutterpackage.svg | 2 +- packages/assets/svgs/ext/Extras/folder.svg | 1 + .../assets/svgs/ext/Extras/folder_open.svg | 1 + packages/assets/svgs/ext/Extras/fonteot.svg | 2 +- packages/assets/svgs/ext/Extras/fontotf.svg | 2 +- packages/assets/svgs/ext/Extras/fontttf.svg | 2 +- packages/assets/svgs/ext/Extras/fontwoff.svg | 2 +- packages/assets/svgs/ext/Extras/fontwoff2.svg | 2 +- .../assets/svgs/ext/Extras/freemarker.svg | 2 +- packages/assets/svgs/ext/Extras/fsharp.svg | 2 +- packages/assets/svgs/ext/Extras/gbl.svg | 2 +- packages/assets/svgs/ext/Extras/git.svg | 2 +- packages/assets/svgs/ext/Extras/gitlab.svg | 1 + packages/assets/svgs/ext/Extras/gleam.svg | 1 + .../assets/svgs/ext/Extras/gleamconfig.svg | 1 + packages/assets/svgs/ext/Extras/go.svg | 1 + .../assets/svgs/ext/Extras/go_package.svg | 2 +- packages/assets/svgs/ext/Extras/godot.svg | 2 +- packages/assets/svgs/ext/Extras/gradle.svg | 2 +- packages/assets/svgs/ext/Extras/gradlebat.svg | 2 +- .../assets/svgs/ext/Extras/gradlekotlin.svg | 2 +- packages/assets/svgs/ext/Extras/grain.svg | 2 +- packages/assets/svgs/ext/Extras/graphql.svg | 1 + packages/assets/svgs/ext/Extras/groovy.svg | 2 +- packages/assets/svgs/ext/Extras/grunt.svg | 2 +- packages/assets/svgs/ext/Extras/gulp.svg | 2 +- packages/assets/svgs/ext/Extras/h.svg | 2 +- packages/assets/svgs/ext/Extras/haml.svg | 2 +- .../assets/svgs/ext/Extras/handlebars.svg | 2 +- packages/assets/svgs/ext/Extras/hardhat.svg | 2 +- packages/assets/svgs/ext/Extras/hash.svg | 1 + packages/assets/svgs/ext/Extras/hashicorp.svg | 2 +- packages/assets/svgs/ext/Extras/haskell.svg | 2 +- packages/assets/svgs/ext/Extras/haxe.svg | 2 +- packages/assets/svgs/ext/Extras/haxeml.svg | 2 +- packages/assets/svgs/ext/Extras/hpp.svg | 2 +- packages/assets/svgs/ext/Extras/htaccess.svg | 2 +- packages/assets/svgs/ext/Extras/html.svg | 1 + packages/assets/svgs/ext/Extras/http.svg | 1 + .../assets/svgs/ext/Extras/identifier.svg | 1 + packages/assets/svgs/ext/Extras/image.svg | 1 + packages/assets/svgs/ext/Extras/imagegif.svg | 1 + packages/assets/svgs/ext/Extras/imageico.svg | 1 + packages/assets/svgs/ext/Extras/imagejpg.svg | 1 + packages/assets/svgs/ext/Extras/imagepng.svg | 1 + packages/assets/svgs/ext/Extras/imagewebp.svg | 1 + packages/assets/svgs/ext/Extras/imba.svg | 2 +- packages/assets/svgs/ext/Extras/index.ts | 1934 ++++++++++++----- packages/assets/svgs/ext/Extras/info.svg | 2 +- .../assets/svgs/ext/Extras/instructions.svg | 1 + packages/assets/svgs/ext/Extras/ipynb.svg | 2 +- packages/assets/svgs/ext/Extras/jar.svg | 2 +- packages/assets/svgs/ext/Extras/java.svg | 1 + packages/assets/svgs/ext/Extras/jenkins.svg | 2 +- packages/assets/svgs/ext/Extras/jest.svg | 2 +- packages/assets/svgs/ext/Extras/jinja.svg | 2 +- packages/assets/svgs/ext/Extras/js.svg | 1 + packages/assets/svgs/ext/Extras/jsmap.svg | 2 +- packages/assets/svgs/ext/Extras/json.svg | 2 +- packages/assets/svgs/ext/Extras/jsp.svg | 2 +- packages/assets/svgs/ext/Extras/julia.svg | 2 +- packages/assets/svgs/ext/Extras/karma.svg | 2 +- packages/assets/svgs/ext/Extras/keep.svg | 1 + packages/assets/svgs/ext/Extras/key.svg | 2 +- packages/assets/svgs/ext/Extras/knex.svg | 2 +- packages/assets/svgs/ext/Extras/knip.svg | 1 + packages/assets/svgs/ext/Extras/kotlin.svg | 1 + packages/assets/svgs/ext/Extras/kotlins.svg | 2 +- packages/assets/svgs/ext/Extras/krita.svg | 2 +- packages/assets/svgs/ext/Extras/latex.svg | 2 +- packages/assets/svgs/ext/Extras/launch.svg | 2 +- .../assets/svgs/ext/Extras/lazarusproject.svg | 1 + packages/assets/svgs/ext/Extras/less.svg | 2 +- packages/assets/svgs/ext/Extras/license.svg | 2 +- .../svgs/ext/Extras/light_editorconfig.svg | 2 +- packages/assets/svgs/ext/Extras/liquid.svg | 2 +- packages/assets/svgs/ext/Extras/llvm.svg | 2 +- packages/assets/svgs/ext/Extras/lock.svg | 1 + packages/assets/svgs/ext/Extras/log.svg | 2 +- packages/assets/svgs/ext/Extras/lua.svg | 2 +- packages/assets/svgs/ext/Extras/m.svg | 2 +- packages/assets/svgs/ext/Extras/makefile.svg | 2 +- packages/assets/svgs/ext/Extras/manifest.svg | 2 +- packages/assets/svgs/ext/Extras/markdown.svg | 2 +- packages/assets/svgs/ext/Extras/markdownx.svg | 2 +- packages/assets/svgs/ext/Extras/maven.svg | 2 +- packages/assets/svgs/ext/Extras/mermaid.svg | 1 + packages/assets/svgs/ext/Extras/mesh.svg | 2 +- packages/assets/svgs/ext/Extras/mgcb.svg | 2 +- packages/assets/svgs/ext/Extras/mint.svg | 2 +- packages/assets/svgs/ext/Extras/mix.svg | 2 +- packages/assets/svgs/ext/Extras/mixlock.svg | 2 +- packages/assets/svgs/ext/Extras/mjml.svg | 2 +- packages/assets/svgs/ext/Extras/mkdocs.svg | 1 + packages/assets/svgs/ext/Extras/mockoon.svg | 1 + packages/assets/svgs/ext/Extras/motoko.svg | 2 +- packages/assets/svgs/ext/Extras/mov.svg | 2 +- packages/assets/svgs/ext/Extras/mp4.svg | 2 +- packages/assets/svgs/ext/Extras/mtl.svg | 2 +- packages/assets/svgs/ext/Extras/mustache.svg | 2 +- packages/assets/svgs/ext/Extras/nelua.svg | 1 + packages/assets/svgs/ext/Extras/neon.svg | 2 +- packages/assets/svgs/ext/Extras/nestjs.svg | 2 +- .../svgs/ext/Extras/nestjscontroller.svg | 2 +- .../svgs/ext/Extras/nestjsdecorator.svg | 2 +- packages/assets/svgs/ext/Extras/nestjsdto.svg | 1 + .../assets/svgs/ext/Extras/nestjsentity.svg | 1 + .../assets/svgs/ext/Extras/nestjsfilter.svg | 2 +- .../assets/svgs/ext/Extras/nestjsguard.svg | 2 +- .../svgs/ext/Extras/nestjsinterceptor.svg | 1 + .../assets/svgs/ext/Extras/nestjsmodule.svg | 2 +- .../svgs/ext/Extras/nestjsrepository.svg | 1 + .../assets/svgs/ext/Extras/nestjsresolver.svg | 1 + .../assets/svgs/ext/Extras/nestjsservice.svg | 2 +- .../assets/svgs/ext/Extras/nestscheduler.svg | 1 + packages/assets/svgs/ext/Extras/netlify.svg | 2 +- .../assets/svgs/ext/Extras/nextconfig.svg | 2 +- packages/assets/svgs/ext/Extras/nextron.svg | 2 +- packages/assets/svgs/ext/Extras/nginx.svg | 2 +- packages/assets/svgs/ext/Extras/nim.svg | 2 +- packages/assets/svgs/ext/Extras/nix.svg | 2 +- packages/assets/svgs/ext/Extras/njk.svg | 2 +- packages/assets/svgs/ext/Extras/node.svg | 1 + packages/assets/svgs/ext/Extras/nodemon.svg | 2 +- packages/assets/svgs/ext/Extras/npm.svg | 2 +- packages/assets/svgs/ext/Extras/npmlock.svg | 2 +- packages/assets/svgs/ext/Extras/nuxt.svg | 2 +- packages/assets/svgs/ext/Extras/nvidia.svg | 1 + packages/assets/svgs/ext/Extras/nvim.svg | 2 +- packages/assets/svgs/ext/Extras/nvm.svg | 2 +- packages/assets/svgs/ext/Extras/nx.svg | 2 +- packages/assets/svgs/ext/Extras/obj.svg | 2 +- packages/assets/svgs/ext/Extras/ocaml.svg | 2 +- packages/assets/svgs/ext/Extras/ocamli.svg | 2 +- packages/assets/svgs/ext/Extras/ocamll.svg | 2 +- packages/assets/svgs/ext/Extras/ocamly.svg | 2 +- packages/assets/svgs/ext/Extras/odin.svg | 1 + packages/assets/svgs/ext/Extras/opengl.svg | 2 +- packages/assets/svgs/ext/Extras/oxlint.svg | 1 + packages/assets/svgs/ext/Extras/panda.svg | 1 + packages/assets/svgs/ext/Extras/parcel.svg | 2 +- packages/assets/svgs/ext/Extras/pascal.svg | 1 + packages/assets/svgs/ext/Extras/pdf.svg | 1 + packages/assets/svgs/ext/Extras/perl.svg | 2 +- packages/assets/svgs/ext/Extras/perlm.svg | 2 +- packages/assets/svgs/ext/Extras/pfx.svg | 2 +- packages/assets/svgs/ext/Extras/photoshop.svg | 2 +- packages/assets/svgs/ext/Extras/php.svg | 1 + packages/assets/svgs/ext/Extras/plantuml.svg | 1 + packages/assets/svgs/ext/Extras/playright.svg | 2 +- packages/assets/svgs/ext/Extras/plop.svg | 1 + packages/assets/svgs/ext/Extras/pnpm.svg | 2 +- packages/assets/svgs/ext/Extras/pnpmlock.svg | 2 +- packages/assets/svgs/ext/Extras/poetry.svg | 2 +- .../assets/svgs/ext/Extras/poetrylock.svg | 2 +- .../assets/svgs/ext/Extras/postcssconfig.svg | 2 +- .../assets/svgs/ext/Extras/powershell.svg | 2 +- .../assets/svgs/ext/Extras/powershelldata.svg | 2 +- .../svgs/ext/Extras/powershellmodule.svg | 2 +- packages/assets/svgs/ext/Extras/precommit.svg | 1 + packages/assets/svgs/ext/Extras/prettier.svg | 2 +- .../assets/svgs/ext/Extras/prettierignore.svg | 2 +- packages/assets/svgs/ext/Extras/prisma.svg | 2 +- packages/assets/svgs/ext/Extras/prolog.svg | 2 +- packages/assets/svgs/ext/Extras/prompt.svg | 1 + .../assets/svgs/ext/Extras/properties.svg | 2 +- packages/assets/svgs/ext/Extras/proto.svg | 1 + packages/assets/svgs/ext/Extras/pug.svg | 2 +- packages/assets/svgs/ext/Extras/pvk.svg | 2 +- packages/assets/svgs/ext/Extras/pyproject.svg | 2 +- packages/assets/svgs/ext/Extras/python.svg | 1 + packages/assets/svgs/ext/Extras/qt.svg | 2 +- packages/assets/svgs/ext/Extras/quarkus.svg | 2 +- packages/assets/svgs/ext/Extras/quasar.svg | 2 +- packages/assets/svgs/ext/Extras/r.svg | 1 + packages/assets/svgs/ext/Extras/racket.svg | 1 + packages/assets/svgs/ext/Extras/raku.svg | 1 + packages/assets/svgs/ext/Extras/razor.svg | 2 +- packages/assets/svgs/ext/Extras/reactjs.svg | 2 +- packages/assets/svgs/ext/Extras/reactts.svg | 2 +- packages/assets/svgs/ext/Extras/readme.svg | 2 +- packages/assets/svgs/ext/Extras/redis.svg | 2 +- packages/assets/svgs/ext/Extras/rego.svg | 2 +- packages/assets/svgs/ext/Extras/remix.svg | 2 +- packages/assets/svgs/ext/Extras/rescript.svg | 2 +- .../svgs/ext/Extras/rescriptinterface.svg | 1 + .../svgs/ext/Extras/restructuredtext.svg | 1 + packages/assets/svgs/ext/Extras/rjson.svg | 2 +- packages/assets/svgs/ext/Extras/robots.svg | 2 +- packages/assets/svgs/ext/Extras/rollup.svg | 2 +- packages/assets/svgs/ext/Extras/rome.svg | 2 +- packages/assets/svgs/ext/Extras/ron.svg | 1 + .../assets/svgs/ext/Extras/root_folder.svg | 1 + .../svgs/ext/Extras/root_folder_light.svg | 1 + .../ext/Extras/root_folder_light_open.svg | 1 + .../svgs/ext/Extras/root_folder_open.svg | 1 + packages/assets/svgs/ext/Extras/ruby.svg | 1 + packages/assets/svgs/ext/Extras/rust.svg | 1 + packages/assets/svgs/ext/Extras/rustfmt.svg | 2 +- packages/assets/svgs/ext/Extras/sails.svg | 2 +- .../assets/svgs/ext/Extras/salesforce.svg | 1 + packages/assets/svgs/ext/Extras/sass.svg | 2 +- packages/assets/svgs/ext/Extras/scala.svg | 2 +- packages/assets/svgs/ext/Extras/scss.svg | 2 +- packages/assets/svgs/ext/Extras/sentinel.svg | 2 +- packages/assets/svgs/ext/Extras/sequelize.svg | 2 +- packages/assets/svgs/ext/Extras/shaderlab.svg | 1 + packages/assets/svgs/ext/Extras/shell.svg | 1 + packages/assets/svgs/ext/Extras/silq.svg | 1 + packages/assets/svgs/ext/Extras/slim.svg | 2 +- packages/assets/svgs/ext/Extras/sln.svg | 2 +- packages/assets/svgs/ext/Extras/smarty.svg | 2 +- packages/assets/svgs/ext/Extras/sol.svg | 2 +- packages/assets/svgs/ext/Extras/spc.svg | 2 +- packages/assets/svgs/ext/Extras/sql.svg | 2 +- packages/assets/svgs/ext/Extras/sqlite.svg | 2 +- packages/assets/svgs/ext/Extras/storybook.svg | 2 +- packages/assets/svgs/ext/Extras/stylelint.svg | 2 +- .../svgs/ext/Extras/stylelintignore.svg | 1 + packages/assets/svgs/ext/Extras/stylus.svg | 2 +- packages/assets/svgs/ext/Extras/suo.svg | 2 +- packages/assets/svgs/ext/Extras/svelte.svg | 2 +- .../assets/svgs/ext/Extras/svelteconfig.svg | 2 +- packages/assets/svgs/ext/Extras/svg.svg | 2 +- packages/assets/svgs/ext/Extras/swift.svg | 2 +- packages/assets/svgs/ext/Extras/symfony.svg | 2 +- packages/assets/svgs/ext/Extras/tailwind.svg | 2 +- packages/assets/svgs/ext/Extras/tauri.svg | 2 +- packages/assets/svgs/ext/Extras/taze.svg | 2 +- packages/assets/svgs/ext/Extras/terrafile.svg | 2 +- packages/assets/svgs/ext/Extras/terraform.svg | 2 +- .../assets/svgs/ext/Extras/terraformvars.svg | 2 +- .../svgs/ext/Extras/terraformversion.svg | 2 +- packages/assets/svgs/ext/Extras/testjs.svg | 2 +- packages/assets/svgs/ext/Extras/testts.svg | 2 +- packages/assets/svgs/ext/Extras/tmpl.svg | 2 +- packages/assets/svgs/ext/Extras/todo.svg | 2 +- packages/assets/svgs/ext/Extras/toml.svg | 2 +- .../assets/svgs/ext/Extras/toolversions.svg | 2 +- packages/assets/svgs/ext/Extras/tox.svg | 2 +- packages/assets/svgs/ext/Extras/travis.svg | 2 +- packages/assets/svgs/ext/Extras/tres.svg | 2 +- packages/assets/svgs/ext/Extras/tscn.svg | 2 +- packages/assets/svgs/ext/Extras/tsconfig.svg | 2 +- packages/assets/svgs/ext/Extras/tsx.svg | 2 +- packages/assets/svgs/ext/Extras/turbo.svg | 2 +- packages/assets/svgs/ext/Extras/twig.svg | 2 +- packages/assets/svgs/ext/Extras/txt.svg | 1 + .../assets/svgs/ext/Extras/typescript.svg | 1 + .../assets/svgs/ext/Extras/typescriptdef.svg | 2 +- packages/assets/svgs/ext/Extras/ui.svg | 2 +- packages/assets/svgs/ext/Extras/unocss.svg | 2 +- packages/assets/svgs/ext/Extras/urls.ts | 21 + packages/assets/svgs/ext/Extras/user.svg | 2 +- packages/assets/svgs/ext/Extras/v.svg | 2 +- .../assets/svgs/ext/Extras/vanillaextract.svg | 1 + packages/assets/svgs/ext/Extras/vb.svg | 1 + packages/assets/svgs/ext/Extras/vercel.svg | 2 +- packages/assets/svgs/ext/Extras/version.svg | 2 +- packages/assets/svgs/ext/Extras/vhd.svg | 2 +- packages/assets/svgs/ext/Extras/vhdl.svg | 2 +- packages/assets/svgs/ext/Extras/video.svg | 2 +- packages/assets/svgs/ext/Extras/vite.svg | 2 +- packages/assets/svgs/ext/Extras/viteenv.svg | 2 +- packages/assets/svgs/ext/Extras/vitest.svg | 2 +- packages/assets/svgs/ext/Extras/vmod.svg | 2 +- packages/assets/svgs/ext/Extras/vscode.svg | 2 +- packages/assets/svgs/ext/Extras/vue.svg | 1 + packages/assets/svgs/ext/Extras/vueconfig.svg | 1 + packages/assets/svgs/ext/Extras/wasm.svg | 2 +- packages/assets/svgs/ext/Extras/webpack.svg | 2 +- packages/assets/svgs/ext/Extras/wgsl.svg | 1 + packages/assets/svgs/ext/Extras/windi.svg | 2 +- packages/assets/svgs/ext/Extras/wren.svg | 1 + packages/assets/svgs/ext/Extras/xmake.svg | 2 +- packages/assets/svgs/ext/Extras/xml.svg | 2 +- packages/assets/svgs/ext/Extras/yaml.svg | 2 +- packages/assets/svgs/ext/Extras/yang.svg | 1 + packages/assets/svgs/ext/Extras/yarn.svg | 2 +- packages/assets/svgs/ext/Extras/yarnerror.svg | 2 +- .../assets/svgs/ext/Extras/yarnignore.svg | 1 + packages/assets/svgs/ext/Extras/yarnlock.svg | 1 + packages/assets/svgs/ext/Extras/yin.svg | 1 + packages/assets/svgs/ext/Extras/zig.svg | 2 +- packages/assets/svgs/ext/Extras/zip.svg | 2 +- packages/assets/svgs/ext/icons.json | 1 + packages/assets/util/index.ts | 31 + packages/assets/videos/index.ts | 6 +- packages/interface/src/Explorer.tsx | 37 +- .../src/components/Explorer/File/Thumb.tsx | 68 +- .../Explorer/components/AddStorageModal.tsx | 180 +- .../Explorer/components/PathBar.tsx | 3 + .../src/components/FileOperationModal.tsx | 21 +- .../QuickPreview/ContentRenderer.tsx | 61 +- .../components/QuickPreview/VideoPlayer.tsx | 25 +- .../components/SpacesSidebar/SpaceItem.tsx | 26 + .../src/routes/overview/StorageOverview.tsx | 70 +- packages/ts-client/src/generated/types.ts | 367 ++-- 426 files changed, 3454 insertions(+), 1220 deletions(-) create mode 100644 core/src/infra/db/migration/m20251209_000001_add_indexing_stats_to_volumes.rs create mode 100644 core/src/ops/locations/validate/mod.rs create mode 100644 core/src/ops/locations/validate/output.rs create mode 100644 core/src/ops/locations/validate/query.rs create mode 100644 core/src/ops/volumes/index/action.rs create mode 100644 core/src/ops/volumes/index/mod.rs create mode 100644 core/src/ops/volumes/index/output.rs create mode 100644 packages/assets/svgs/ext/Extras/angular.svg create mode 100644 packages/assets/svgs/ext/Extras/audio.svg create mode 100644 packages/assets/svgs/ext/Extras/audiomp3.svg create mode 100644 packages/assets/svgs/ext/Extras/audioogg.svg create mode 100644 packages/assets/svgs/ext/Extras/audiowav.svg create mode 100644 packages/assets/svgs/ext/Extras/audiowv.svg create mode 100644 packages/assets/svgs/ext/Extras/ballerina.svg create mode 100644 packages/assets/svgs/ext/Extras/ballerinaconfig.svg create mode 100644 packages/assets/svgs/ext/Extras/bazel.svg create mode 100644 packages/assets/svgs/ext/Extras/bazelignore.svg create mode 100644 packages/assets/svgs/ext/Extras/bicepconfig.svg create mode 100644 packages/assets/svgs/ext/Extras/biome.svg create mode 100644 packages/assets/svgs/ext/Extras/bruno.svg create mode 100644 packages/assets/svgs/ext/Extras/buck.svg create mode 100644 packages/assets/svgs/ext/Extras/bun.svg create mode 100644 packages/assets/svgs/ext/Extras/bunlock.svg create mode 100644 packages/assets/svgs/ext/Extras/c.svg create mode 100644 packages/assets/svgs/ext/Extras/claude.svg create mode 100644 packages/assets/svgs/ext/Extras/cmake.svg create mode 100644 packages/assets/svgs/ext/Extras/coffeescript.svg create mode 100644 packages/assets/svgs/ext/Extras/copilot.svg create mode 100644 packages/assets/svgs/ext/Extras/cpp.svg create mode 100644 packages/assets/svgs/ext/Extras/csharp.svg create mode 100644 packages/assets/svgs/ext/Extras/css.svg create mode 100644 packages/assets/svgs/ext/Extras/cursor.svg create mode 100644 packages/assets/svgs/ext/Extras/dartlang.svg create mode 100644 packages/assets/svgs/ext/Extras/delphiproject.svg create mode 100644 packages/assets/svgs/ext/Extras/eraser.svg create mode 100644 packages/assets/svgs/ext/Extras/eslintignore.svg create mode 100644 packages/assets/svgs/ext/Extras/excalidraw.svg create mode 100644 packages/assets/svgs/ext/Extras/file.svg create mode 100644 packages/assets/svgs/ext/Extras/file_light.svg create mode 100644 packages/assets/svgs/ext/Extras/folder.svg create mode 100644 packages/assets/svgs/ext/Extras/folder_open.svg create mode 100644 packages/assets/svgs/ext/Extras/gitlab.svg create mode 100644 packages/assets/svgs/ext/Extras/gleam.svg create mode 100644 packages/assets/svgs/ext/Extras/gleamconfig.svg create mode 100644 packages/assets/svgs/ext/Extras/go.svg create mode 100644 packages/assets/svgs/ext/Extras/graphql.svg create mode 100644 packages/assets/svgs/ext/Extras/hash.svg create mode 100644 packages/assets/svgs/ext/Extras/html.svg create mode 100644 packages/assets/svgs/ext/Extras/http.svg create mode 100644 packages/assets/svgs/ext/Extras/identifier.svg create mode 100644 packages/assets/svgs/ext/Extras/image.svg create mode 100644 packages/assets/svgs/ext/Extras/imagegif.svg create mode 100644 packages/assets/svgs/ext/Extras/imageico.svg create mode 100644 packages/assets/svgs/ext/Extras/imagejpg.svg create mode 100644 packages/assets/svgs/ext/Extras/imagepng.svg create mode 100644 packages/assets/svgs/ext/Extras/imagewebp.svg create mode 100644 packages/assets/svgs/ext/Extras/instructions.svg create mode 100644 packages/assets/svgs/ext/Extras/java.svg create mode 100644 packages/assets/svgs/ext/Extras/js.svg create mode 100644 packages/assets/svgs/ext/Extras/keep.svg create mode 100644 packages/assets/svgs/ext/Extras/knip.svg create mode 100644 packages/assets/svgs/ext/Extras/kotlin.svg create mode 100644 packages/assets/svgs/ext/Extras/lazarusproject.svg create mode 100644 packages/assets/svgs/ext/Extras/lock.svg create mode 100644 packages/assets/svgs/ext/Extras/mermaid.svg create mode 100644 packages/assets/svgs/ext/Extras/mkdocs.svg create mode 100644 packages/assets/svgs/ext/Extras/mockoon.svg create mode 100644 packages/assets/svgs/ext/Extras/nelua.svg create mode 100644 packages/assets/svgs/ext/Extras/nestjsdto.svg create mode 100644 packages/assets/svgs/ext/Extras/nestjsentity.svg create mode 100644 packages/assets/svgs/ext/Extras/nestjsinterceptor.svg create mode 100644 packages/assets/svgs/ext/Extras/nestjsrepository.svg create mode 100644 packages/assets/svgs/ext/Extras/nestjsresolver.svg create mode 100644 packages/assets/svgs/ext/Extras/nestscheduler.svg create mode 100644 packages/assets/svgs/ext/Extras/node.svg create mode 100644 packages/assets/svgs/ext/Extras/nvidia.svg create mode 100644 packages/assets/svgs/ext/Extras/odin.svg create mode 100644 packages/assets/svgs/ext/Extras/oxlint.svg create mode 100644 packages/assets/svgs/ext/Extras/panda.svg create mode 100644 packages/assets/svgs/ext/Extras/pascal.svg create mode 100644 packages/assets/svgs/ext/Extras/pdf.svg create mode 100644 packages/assets/svgs/ext/Extras/php.svg create mode 100644 packages/assets/svgs/ext/Extras/plantuml.svg create mode 100644 packages/assets/svgs/ext/Extras/plop.svg create mode 100644 packages/assets/svgs/ext/Extras/precommit.svg create mode 100644 packages/assets/svgs/ext/Extras/prompt.svg create mode 100644 packages/assets/svgs/ext/Extras/proto.svg create mode 100644 packages/assets/svgs/ext/Extras/python.svg create mode 100644 packages/assets/svgs/ext/Extras/r.svg create mode 100644 packages/assets/svgs/ext/Extras/racket.svg create mode 100644 packages/assets/svgs/ext/Extras/raku.svg create mode 100644 packages/assets/svgs/ext/Extras/rescriptinterface.svg create mode 100644 packages/assets/svgs/ext/Extras/restructuredtext.svg create mode 100644 packages/assets/svgs/ext/Extras/ron.svg create mode 100644 packages/assets/svgs/ext/Extras/root_folder.svg create mode 100644 packages/assets/svgs/ext/Extras/root_folder_light.svg create mode 100644 packages/assets/svgs/ext/Extras/root_folder_light_open.svg create mode 100644 packages/assets/svgs/ext/Extras/root_folder_open.svg create mode 100644 packages/assets/svgs/ext/Extras/ruby.svg create mode 100644 packages/assets/svgs/ext/Extras/rust.svg create mode 100644 packages/assets/svgs/ext/Extras/salesforce.svg create mode 100644 packages/assets/svgs/ext/Extras/shaderlab.svg create mode 100644 packages/assets/svgs/ext/Extras/shell.svg create mode 100644 packages/assets/svgs/ext/Extras/silq.svg create mode 100644 packages/assets/svgs/ext/Extras/stylelintignore.svg create mode 100644 packages/assets/svgs/ext/Extras/txt.svg create mode 100644 packages/assets/svgs/ext/Extras/typescript.svg create mode 100644 packages/assets/svgs/ext/Extras/urls.ts create mode 100644 packages/assets/svgs/ext/Extras/vanillaextract.svg create mode 100644 packages/assets/svgs/ext/Extras/vb.svg create mode 100644 packages/assets/svgs/ext/Extras/vue.svg create mode 100644 packages/assets/svgs/ext/Extras/vueconfig.svg create mode 100644 packages/assets/svgs/ext/Extras/wgsl.svg create mode 100644 packages/assets/svgs/ext/Extras/wren.svg create mode 100644 packages/assets/svgs/ext/Extras/yang.svg create mode 100644 packages/assets/svgs/ext/Extras/yarnignore.svg create mode 100644 packages/assets/svgs/ext/Extras/yarnlock.svg create mode 100644 packages/assets/svgs/ext/Extras/yin.svg create mode 100644 packages/assets/svgs/ext/icons.json diff --git a/apps/mobile/ios/Spacedrive.xcodeproj/xcshareddata/xcschemes/Spacedrive.xcscheme b/apps/mobile/ios/Spacedrive.xcodeproj/xcshareddata/xcschemes/Spacedrive.xcscheme index b2fefaad6..254ea947b 100644 --- a/apps/mobile/ios/Spacedrive.xcodeproj/xcshareddata/xcschemes/Spacedrive.xcscheme +++ b/apps/mobile/ios/Spacedrive.xcodeproj/xcshareddata/xcschemes/Spacedrive.xcscheme @@ -41,7 +41,7 @@ , pub auto_track_eligible: Option, + /// Ephemeral indexing statistics + pub total_files: Option, + pub total_directories: Option, + pub last_stats_update: Option>, } /// Events emitted by the Volume Manager when volume state changes diff --git a/core/src/infra/db/entities/volume.rs b/core/src/infra/db/entities/volume.rs index fe5eef2fc..e73197ecb 100644 --- a/core/src/infra/db/entities/volume.rs +++ b/core/src/infra/db/entities/volume.rs @@ -25,6 +25,12 @@ pub struct Model { pub read_speed_mbps: Option, pub write_speed_mbps: Option, pub last_speed_test_at: Option, + /// Total file count from ephemeral indexing (synced across devices) + pub total_file_count: Option, + /// Total directory count from ephemeral indexing (synced across devices) + pub total_directory_count: Option, + /// Last time volume was ephemeral indexed + pub last_indexed_at: Option, pub file_system: Option, pub mount_point: Option, pub is_removable: Option, @@ -85,6 +91,9 @@ impl Model { volume_type: self.volume_type.as_deref().unwrap_or("Unknown").to_string(), is_user_visible: self.is_user_visible, auto_track_eligible: self.auto_track_eligible, + total_files: self.total_file_count.map(|c| c as u64), + total_directories: self.total_directory_count.map(|c| c as u64), + last_stats_update: self.last_indexed_at, } } } @@ -297,6 +306,13 @@ impl Syncable for Model { .map(String::from)), is_user_visible: Set(data.get("is_user_visible").and_then(|v| v.as_bool())), auto_track_eligible: Set(data.get("auto_track_eligible").and_then(|v| v.as_bool())), + total_file_count: Set(data.get("total_file_count").and_then(|v| v.as_i64())), + total_directory_count: Set(data.get("total_directory_count").and_then(|v| v.as_i64())), + last_indexed_at: Set(data + .get("last_indexed_at") + .and_then(|v| v.as_str()) + .and_then(|s| chrono::DateTime::parse_from_rfc3339(s).ok()) + .map(|dt| dt.into())), cloud_identifier: Set(data .get("cloud_identifier") .and_then(|v| v.as_str()) @@ -319,6 +335,9 @@ impl Syncable for Model { Column::UniqueBytes, Column::ReadSpeedMbps, Column::WriteSpeedMbps, + Column::TotalFileCount, + Column::TotalDirectoryCount, + Column::LastIndexedAt, Column::FileSystem, Column::MountPoint, Column::IsRemovable, diff --git a/core/src/infra/db/migration/m20251209_000001_add_indexing_stats_to_volumes.rs b/core/src/infra/db/migration/m20251209_000001_add_indexing_stats_to_volumes.rs new file mode 100644 index 000000000..27284223b --- /dev/null +++ b/core/src/infra/db/migration/m20251209_000001_add_indexing_stats_to_volumes.rs @@ -0,0 +1,97 @@ +//! Add ephemeral indexing statistics to volumes table + +use sea_orm_migration::prelude::*; + +#[derive(DeriveMigrationName)] +pub struct Migration; + +#[async_trait::async_trait] +impl MigrationTrait for Migration { + async fn up(&self, manager: &SchemaManager) -> Result<(), DbErr> { + // Add total_file_count column + manager + .alter_table( + Table::alter() + .table(Volumes::Table) + .add_column( + ColumnDef::new(Volumes::TotalFileCount) + .big_integer() + .null(), + ) + .to_owned(), + ) + .await?; + + // Add total_directory_count column + manager + .alter_table( + Table::alter() + .table(Volumes::Table) + .add_column( + ColumnDef::new(Volumes::TotalDirectoryCount) + .big_integer() + .null(), + ) + .to_owned(), + ) + .await?; + + // Add last_indexed_at column + manager + .alter_table( + Table::alter() + .table(Volumes::Table) + .add_column( + ColumnDef::new(Volumes::LastIndexedAt) + .date_time() + .null(), + ) + .to_owned(), + ) + .await?; + + Ok(()) + } + + async fn down(&self, manager: &SchemaManager) -> Result<(), DbErr> { + // Remove last_indexed_at column + manager + .alter_table( + Table::alter() + .table(Volumes::Table) + .drop_column(Volumes::LastIndexedAt) + .to_owned(), + ) + .await?; + + // Remove total_directory_count column + manager + .alter_table( + Table::alter() + .table(Volumes::Table) + .drop_column(Volumes::TotalDirectoryCount) + .to_owned(), + ) + .await?; + + // Remove total_file_count column + manager + .alter_table( + Table::alter() + .table(Volumes::Table) + .drop_column(Volumes::TotalFileCount) + .to_owned(), + ) + .await?; + + Ok(()) + } +} + +#[derive(Iden)] +enum Volumes { + Table, + TotalFileCount, + TotalDirectoryCount, + LastIndexedAt, +} diff --git a/core/src/infra/db/migration/mod.rs b/core/src/infra/db/migration/mod.rs index 595bbbef5..23b153c11 100644 --- a/core/src/infra/db/migration/mod.rs +++ b/core/src/infra/db/migration/mod.rs @@ -29,6 +29,7 @@ mod m20251117_000003_add_unique_bytes_to_volumes; mod m20251129_000001_add_entry_id_to_space_items; mod m20251202_000001_add_cloud_config_to_volumes; mod m20251204_000001_create_cloud_credentials_table; +mod m20251209_000001_add_indexing_stats_to_volumes; pub struct Migrator; @@ -63,6 +64,7 @@ impl MigratorTrait for Migrator { Box::new(m20251129_000001_add_entry_id_to_space_items::Migration), Box::new(m20251202_000001_add_cloud_config_to_volumes::Migration), Box::new(m20251204_000001_create_cloud_credentials_table::Migration), + Box::new(m20251209_000001_add_indexing_stats_to_volumes::Migration), ] } } diff --git a/core/src/ops/locations/mod.rs b/core/src/ops/locations/mod.rs index 0c6e58a0a..465cf6374 100644 --- a/core/src/ops/locations/mod.rs +++ b/core/src/ops/locations/mod.rs @@ -10,6 +10,7 @@ pub mod rescan; pub mod suggested; pub mod trigger_job; pub mod update; +pub mod validate; pub use add::*; pub use enable_indexing::*; @@ -21,3 +22,7 @@ pub use rescan::*; pub use suggested::*; pub use trigger_job::*; pub use update::*; +pub use validate::*; + +// Register validation query +crate::register_library_query!(validate::ValidateLocationPathQuery, "locations.validate_path"); diff --git a/core/src/ops/locations/validate/mod.rs b/core/src/ops/locations/validate/mod.rs new file mode 100644 index 000000000..1ffdf6fbe --- /dev/null +++ b/core/src/ops/locations/validate/mod.rs @@ -0,0 +1,9 @@ +//! Location path validation module + +pub mod output; +pub mod query; + +pub use output::{ + RiskLevel, ValidateLocationPathOutput, ValidationWarning, VolumeIndexingSuggestion, +}; +pub use query::{ValidateLocationPathInput, ValidateLocationPathQuery}; diff --git a/core/src/ops/locations/validate/output.rs b/core/src/ops/locations/validate/output.rs new file mode 100644 index 000000000..021c7108a --- /dev/null +++ b/core/src/ops/locations/validate/output.rs @@ -0,0 +1,48 @@ +//! Output types for location path validation + +use serde::{Deserialize, Serialize}; +use specta::Type; + +/// Risk level for adding a path as a location +#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, Type)] +#[serde(rename_all = "lowercase")] +pub enum RiskLevel { + /// Safe - nested path in user directories + Low, + /// Caution - shallow path on primary volume (e.g., /Users/jamie) + Medium, + /// Warning - system directory or root-level path (e.g., /, /System) + High, +} + +/// A validation warning message +#[derive(Debug, Clone, Serialize, Deserialize, Type)] +pub struct ValidationWarning { + pub message: String, + pub suggestion: Option, +} + +/// Suggestion to use volume indexing instead +#[derive(Debug, Clone, Serialize, Deserialize, Type)] +pub struct VolumeIndexingSuggestion { + pub volume_fingerprint: String, + pub volume_name: String, + pub message: String, +} + +/// Output from location path validation +#[derive(Debug, Clone, Serialize, Deserialize, Type)] +pub struct ValidateLocationPathOutput { + /// Whether this path is recommended for use as a location + pub is_recommended: bool, + /// Risk level assessment + pub risk_level: RiskLevel, + /// List of warnings (empty if no issues) + pub warnings: Vec, + /// Alternative suggestion to use volume indexing + pub suggested_alternative: Option, + /// Path depth from root (number of components) + pub path_depth: u32, + /// Whether path is on the primary system volume + pub is_on_primary_volume: bool, +} diff --git a/core/src/ops/locations/validate/query.rs b/core/src/ops/locations/validate/query.rs new file mode 100644 index 000000000..970f90fe5 --- /dev/null +++ b/core/src/ops/locations/validate/query.rs @@ -0,0 +1,217 @@ +//! Query to validate location paths before adding them + +use super::output::*; +use crate::{ + context::CoreContext, + domain::addressing::SdPath, + infra::query::{LibraryQuery, QueryError, QueryResult}, + volume::types::VolumeType, +}; +use serde::{Deserialize, Serialize}; +use specta::Type; +use std::{path::PathBuf, sync::Arc}; + +/// Input for location path validation +#[derive(Debug, Clone, Serialize, Deserialize, Type)] +pub struct ValidateLocationPathInput { + pub path: SdPath, +} + +/// Query to validate if a path is suitable for use as a location +#[derive(Debug, Clone, Serialize, Deserialize, Type)] +pub struct ValidateLocationPathQuery { + input: ValidateLocationPathInput, +} + +impl LibraryQuery for ValidateLocationPathQuery { + type Input = ValidateLocationPathInput; + type Output = ValidateLocationPathOutput; + + fn from_input(input: Self::Input) -> QueryResult { + Ok(Self { input }) + } + + async fn execute( + self, + context: Arc, + _session: crate::infra::api::SessionContext, + ) -> QueryResult { + // Cloud paths are always safe - no system directory concerns + let path = match &self.input.path { + SdPath::Physical { path, .. } => path, + SdPath::Cloud { .. } => { + return Ok(ValidateLocationPathOutput { + is_recommended: true, + risk_level: RiskLevel::Low, + warnings: vec![], + suggested_alternative: None, + path_depth: 0, + is_on_primary_volume: false, + }) + } + SdPath::Content { .. } | SdPath::Sidecar { .. } => { + return Err(QueryError::Internal( + "Content and Sidecar paths cannot be validated as locations".to_string(), + )) + } + }; + + // Calculate path depth from root + let depth = path.components().count() as u32; + + // Get volume information to determine if this is on the primary system volume + let volume_manager = &context.volume_manager; + let volume_opt = volume_manager.volume_for_path(path).await; + + let is_primary = volume_opt + .as_ref() + .map(|v| v.volume_type == VolumeType::Primary) + .unwrap_or(false); + + // Check if path matches known system directories + let system_dirs = get_system_directories(); + let is_system_dir = system_dirs.iter().any(|d| path.starts_with(d)); + + // Determine risk level using hybrid approach (depth + system directory check) + let risk_level = if is_system_dir || depth <= 1 { + RiskLevel::High + } else if depth == 2 && is_primary { + RiskLevel::Medium + } else { + RiskLevel::Low + }; + + // Generate warnings and suggestions based on risk level + let mut warnings = vec![]; + let mut suggested_alternative = None; + + match risk_level { + RiskLevel::High => { + if is_system_dir { + warnings.push(ValidationWarning { + message: "This is a system directory that contains OS files".to_string(), + suggestion: Some( + "Choose a user directory instead (like Documents or Downloads)" + .to_string(), + ), + }); + } else { + warnings.push(ValidationWarning { + message: "This path is at the root of your filesystem".to_string(), + suggestion: Some( + "Choose a more specific folder to avoid indexing system files" + .to_string(), + ), + }); + } + + // Suggest volume indexing for external volumes (not primary) + if !is_primary { + if let Some(vol) = volume_opt.as_ref() { + suggested_alternative = Some(VolumeIndexingSuggestion { + volume_fingerprint: vol.fingerprint.0.clone(), + volume_name: vol.name.clone(), + message: format!( + "Consider using Volume Indexing for '{}' instead of adding it as a location", + vol.name + ), + }); + } + } + } + RiskLevel::Medium => { + warnings.push(ValidationWarning { + message: "This is a high-level user directory".to_string(), + suggestion: Some( + "Consider selecting a specific subfolder (like Documents/Projects) instead" + .to_string(), + ), + }); + + // Suggest volume indexing for external volumes + if !is_primary { + if let Some(vol) = volume_opt.as_ref() { + suggested_alternative = Some(VolumeIndexingSuggestion { + volume_fingerprint: vol.fingerprint.0.clone(), + volume_name: vol.name.clone(), + message: format!( + "Or use Volume Indexing for '{}' to browse without adding a location", + vol.name + ), + }); + } + } + } + RiskLevel::Low => { + // No warnings needed for low-risk paths + } + } + + Ok(ValidateLocationPathOutput { + is_recommended: risk_level == RiskLevel::Low, + risk_level, + warnings, + suggested_alternative, + path_depth: depth, + is_on_primary_volume: is_primary, + }) + } +} + +/// Get platform-specific system directories that should not be added as locations +fn get_system_directories() -> Vec { + #[cfg(target_os = "macos")] + { + vec![ + PathBuf::from("/"), + PathBuf::from("/System"), + PathBuf::from("/Library"), + PathBuf::from("/Applications"), + PathBuf::from("/private"), + PathBuf::from("/usr"), + PathBuf::from("/bin"), + PathBuf::from("/sbin"), + PathBuf::from("/var"), + PathBuf::from("/tmp"), + PathBuf::from("/cores"), + ] + } + + #[cfg(target_os = "linux")] + { + vec![ + PathBuf::from("/"), + PathBuf::from("/bin"), + PathBuf::from("/boot"), + PathBuf::from("/dev"), + PathBuf::from("/etc"), + PathBuf::from("/lib"), + PathBuf::from("/lib64"), + PathBuf::from("/proc"), + PathBuf::from("/root"), + PathBuf::from("/run"), + PathBuf::from("/sbin"), + PathBuf::from("/sys"), + PathBuf::from("/usr"), + PathBuf::from("/var"), + PathBuf::from("/tmp"), + ] + } + + #[cfg(target_os = "windows")] + { + vec![ + PathBuf::from("C:\\"), + PathBuf::from("C:\\Windows"), + PathBuf::from("C:\\Program Files"), + PathBuf::from("C:\\Program Files (x86)"), + PathBuf::from("C:\\ProgramData"), + PathBuf::from("C:\\System Volume Information"), + ] + } + + #[cfg(not(any(target_os = "macos", target_os = "linux", target_os = "windows")))] + { + vec![] + } +} diff --git a/core/src/ops/network/devices/query.rs b/core/src/ops/network/devices/query.rs index 8d6cf6d34..f98d6cc27 100644 --- a/core/src/ops/network/devices/query.rs +++ b/core/src/ops/network/devices/query.rs @@ -43,6 +43,9 @@ impl CoreQuery for ListPairedDevicesQuery { .await .ok_or_else(|| QueryError::Internal("Networking not initialized".to_string()))?; + // Get the Iroh endpoint for verifying actual connection status + let endpoint = networking.endpoint(); + let device_registry = networking.device_registry(); let registry = device_registry.read().await; @@ -53,18 +56,29 @@ impl CoreQuery for ListPairedDevicesQuery { for (device_id, state) in all_devices { use crate::service::network::device::DeviceState; - let (device_info, is_connected) = match state { - DeviceState::Paired { info, .. } => (Some(info), false), - DeviceState::Connected { info, .. } => { - connected_count += 1; - (Some(info), true) - } - DeviceState::Disconnected { info, .. } => (Some(info), false), - _ => (None, false), + // Extract device info from state + let device_info = match &state { + DeviceState::Paired { info, .. } => Some(info.clone()), + DeviceState::Connected { info, .. } => Some(info.clone()), + DeviceState::Disconnected { info, .. } => Some(info.clone()), + _ => None, }; + // Verify actual connection status with Iroh endpoint + // This is the source of truth, not the cached DeviceState + let is_actually_connected = if let Some(ep) = endpoint { + registry.is_node_connected(ep, device_id) + } else { + // No endpoint available, fall back to cached state + matches!(state, DeviceState::Connected { .. }) + }; + + if is_actually_connected { + connected_count += 1; + } + // Skip if we only want connected devices and this one isn't connected - if self.connected_only && !is_connected { + if self.connected_only && !is_actually_connected { continue; } @@ -77,7 +91,7 @@ impl CoreQuery for ListPairedDevicesQuery { device_type: device_type_str, os_version: info.os_version.clone(), app_version: info.app_version.clone(), - is_connected, + is_connected: is_actually_connected, last_seen: info.last_seen, }); } diff --git a/core/src/ops/volumes/index/action.rs b/core/src/ops/volumes/index/action.rs new file mode 100644 index 000000000..07aa2cddb --- /dev/null +++ b/core/src/ops/volumes/index/action.rs @@ -0,0 +1,215 @@ +//! Volume indexing action - ephemeral index entire volumes + +use super::{IndexVolumeInput, IndexVolumeOutput}; +use crate::{ + context::CoreContext, + domain::addressing::SdPath, + infra::action::{error::ActionError, LibraryAction}, + library::Library, + ops::indexing::job::{IndexerJob, IndexerJobConfig}, + volume::VolumeFingerprint, +}; +use sea_orm::{ColumnTrait, EntityTrait, QueryFilter}; +use serde::{Deserialize, Serialize}; +use std::sync::Arc; +use tracing::{error, info}; + +#[derive(Debug, Clone, Serialize, Deserialize)] +pub struct IndexVolumeAction { + input: IndexVolumeInput, +} + +impl IndexVolumeAction { + pub fn new(input: IndexVolumeInput) -> Self { + Self { input } + } +} + +impl LibraryAction for IndexVolumeAction { + type Input = IndexVolumeInput; + type Output = IndexVolumeOutput; + + fn from_input(input: Self::Input) -> Result { + Ok(IndexVolumeAction::new(input)) + } + + async fn execute( + self, + library: Arc, + context: Arc, + ) -> Result { + // 1. Parse fingerprint and find volume + let fingerprint = VolumeFingerprint(self.input.fingerprint.clone()); + + let volume = context + .volume_manager + .get_volume(&fingerprint) + .await + .ok_or_else(|| { + ActionError::Internal(format!("Volume not found: {}", fingerprint.0)) + })?; + + info!( + "Starting ephemeral indexing for volume: {} ({})", + volume.name, fingerprint.0 + ); + + // 2. Get device info for SdPath construction + let device_uuid = context + .device_manager + .device_id() + .map_err(|e| ActionError::Internal(format!("Failed to get device ID: {}", e)))?; + + // Get device slug from database + let db = library.db().conn(); + let device_record = crate::infra::db::entities::device::Entity::find() + .filter(crate::infra::db::entities::device::Column::Uuid.eq(device_uuid)) + .one(db) + .await + .map_err(ActionError::SeaOrm)? + .ok_or_else(|| { + ActionError::Internal(format!("Device not found: {}", device_uuid)) + })?; + + // 3. Construct SdPath for the volume's mount point + let sd_path = if let Some((service, identifier)) = volume.parse_cloud_identity() { + // Cloud volume + SdPath::Cloud { + service, + identifier, + path: String::new(), // Root of cloud volume + } + } else { + // Local volume - use mount point + SdPath::Physical { + device_slug: device_record.slug, + path: volume.mount_point.clone(), + } + }; + + // 4. Create ephemeral indexing job + let indexer_config = IndexerJobConfig::ephemeral_browse(sd_path, self.input.scope); + let mut indexer_job = IndexerJob::new(indexer_config); + + // 5. Get ephemeral cache and create/reuse index for this volume + let ephemeral_cache = context.ephemeral_cache(); + let index = ephemeral_cache.create_for_indexing(volume.mount_point.clone()); + indexer_job.set_ephemeral_index(index.clone()); + + // 6. Clear stale entries if this volume was previously indexed + let cleared = ephemeral_cache + .clear_for_reindex(&volume.mount_point) + .await; + if cleared > 0 { + info!( + "Cleared {} stale entries before re-indexing volume", + cleared + ); + } + + // 7. Dispatch job + let job_handle = library + .jobs() + .dispatch(indexer_job) + .await + .map_err(|e| ActionError::Internal(format!("Failed to dispatch job: {}", e)))?; + + let job_id = job_handle.id(); + info!( + "Dispatched ephemeral indexing job {} for volume {}", + job_id, volume.name + ); + + // 8. Wait for job completion to extract stats + let output = match job_handle.wait().await { + Ok(output) => output, + Err(e) => { + error!("Ephemeral indexing job failed: {}", e); + return Err(ActionError::Internal(format!("Indexing failed: {}", e))); + } + }; + + // 9. Extract stats from job output + let (file_count, dir_count) = match output { + crate::infra::job::output::JobOutput::Indexed { stats, .. } => { + (stats.files, stats.dirs) + } + _ => { + return Err(ActionError::Internal( + "Expected Indexed output from indexer job".to_string(), + )); + } + }; + + info!( + "Volume indexing complete: {} files, {} directories", + file_count, dir_count + ); + + // 10. Save stats to database + self.save_volume_stats(&library, &fingerprint, file_count, dir_count) + .await?; + + // 11. Mark as indexed and register for watching + ephemeral_cache.mark_indexing_complete(&volume.mount_point); + let _ = ephemeral_cache.register_for_watching(volume.mount_point.clone()); + + Ok(IndexVolumeOutput { + volume_id: volume.id, + job_id: job_id.into(), + total_files: Some(file_count), + total_directories: Some(dir_count), + message: format!( + "Indexed {} files and {} directories on volume '{}'", + file_count, dir_count, volume.name + ), + }) + } + + fn action_kind(&self) -> &'static str { + "volumes.index" + } +} + +impl IndexVolumeAction { + /// Save volume indexing stats to database and trigger sync + async fn save_volume_stats( + &self, + library: &Library, + fingerprint: &VolumeFingerprint, + file_count: u64, + dir_count: u64, + ) -> Result<(), ActionError> { + use crate::infra::db::entities; + use sea_orm::{ActiveValue::Set, ColumnTrait, EntityTrait, QueryFilter}; + + let db = library.db().conn(); + let now = chrono::Utc::now(); + + // Update volume stats + let update_result = entities::volume::Entity::update_many() + .filter(entities::volume::Column::Fingerprint.eq(&fingerprint.0)) + .set(entities::volume::ActiveModel { + total_file_count: Set(Some(file_count as i64)), + total_directory_count: Set(Some(dir_count as i64)), + last_indexed_at: Set(Some(now.into())), + ..Default::default() + }) + .exec(db) + .await + .map_err(ActionError::SeaOrm)?; + + if update_result.rows_affected == 0 { + return Err(ActionError::Internal( + "Volume not found in database".to_string(), + )); + } + + info!( + "Saved volume stats to database: {} files, {} dirs (will sync to other devices)", + file_count, dir_count + ); + + Ok(()) + } +} diff --git a/core/src/ops/volumes/index/mod.rs b/core/src/ops/volumes/index/mod.rs new file mode 100644 index 000000000..32ff20389 --- /dev/null +++ b/core/src/ops/volumes/index/mod.rs @@ -0,0 +1,25 @@ +//! Volume indexing operation module + +pub mod action; +pub mod output; + +use crate::ops::indexing::job::IndexScope; +use serde::{Deserialize, Serialize}; +use specta::Type; + +pub use action::IndexVolumeAction; +pub use output::IndexVolumeOutput; + +/// Input for volume indexing action +#[derive(Debug, Clone, Serialize, Deserialize, Type)] +pub struct IndexVolumeInput { + /// Volume fingerprint to index + pub fingerprint: String, + /// Indexing scope (defaults to Recursive for full volume) + #[serde(default = "default_scope")] + pub scope: IndexScope, +} + +fn default_scope() -> IndexScope { + IndexScope::Recursive +} diff --git a/core/src/ops/volumes/index/output.rs b/core/src/ops/volumes/index/output.rs new file mode 100644 index 000000000..c3b622718 --- /dev/null +++ b/core/src/ops/volumes/index/output.rs @@ -0,0 +1,20 @@ +//! Output types for volume indexing action + +use serde::{Deserialize, Serialize}; +use specta::Type; +use uuid::Uuid; + +/// Output from volume indexing action +#[derive(Debug, Clone, Serialize, Deserialize, Type)] +pub struct IndexVolumeOutput { + /// UUID of the indexed volume + pub volume_id: Uuid, + /// Job ID for tracking progress + pub job_id: Uuid, + /// Total files found (if job completed) + pub total_files: Option, + /// Total directories found (if job completed) + pub total_directories: Option, + /// Success message + pub message: String, +} diff --git a/core/src/ops/volumes/mod.rs b/core/src/ops/volumes/mod.rs index d6ad98540..262c31997 100644 --- a/core/src/ops/volumes/mod.rs +++ b/core/src/ops/volumes/mod.rs @@ -5,8 +5,10 @@ //! - Speed testing volume performance //! - Adding/removing cloud volumes //! - Listing volumes +//! - Ephemeral indexing entire volumes pub mod add_cloud; +pub mod index; pub mod list; pub mod refresh; pub mod remove_cloud; @@ -15,9 +17,13 @@ pub mod track; pub mod untrack; pub use add_cloud::{action::VolumeAddCloudAction, VolumeAddCloudOutput}; +pub use index::{IndexVolumeAction, IndexVolumeInput, IndexVolumeOutput}; pub use list::{VolumeFilter, VolumeListOutput, VolumeListQuery, VolumeListQueryInput}; pub use refresh::{action::VolumeRefreshAction, VolumeRefreshOutput}; pub use remove_cloud::{action::VolumeRemoveCloudAction, VolumeRemoveCloudOutput}; pub use speed_test::{action::VolumeSpeedTestAction, VolumeSpeedTestOutput}; pub use track::{action::VolumeTrackAction, VolumeTrackOutput}; pub use untrack::{action::VolumeUntrackAction, VolumeUntrackOutput}; + +// Register volume indexing action +crate::register_library_action!(index::IndexVolumeAction, "volumes.index"); diff --git a/core/src/service/network/core/event_loop.rs b/core/src/service/network/core/event_loop.rs index 53db47b18..558a1f58b 100644 --- a/core/src/service/network/core/event_loop.rs +++ b/core/src/service/network/core/event_loop.rs @@ -894,7 +894,7 @@ impl NetworkingEventLoop { // Lock registry for updates let mut registry = self.device_registry.write().await; - // Track which devices we've seen as connected + // Track which node IDs Iroh reports as connected let mut connected_node_ids = std::collections::HashSet::new(); // Update devices that Iroh reports as connected @@ -929,7 +929,42 @@ impl NetworkingEventLoop { } } - // Mark devices as no longer connected if they're not in Iroh's list - // (This is handled by update_device_from_connection when conn_type is None) + // Check devices that are marked as Connected in registry but NOT in Iroh's list + // These devices have silently disconnected and need to be transitioned back to Paired + let all_devices = registry.get_all_devices(); + for (device_id, state) in all_devices { + if let crate::service::network::device::DeviceState::Connected { info, .. } = state { + // Get the node_id for this device + if let Ok(node_id) = info.network_fingerprint.node_id.parse::() { + // If this node is NOT in Iroh's connected list, it's stale + if !connected_node_ids.contains(&node_id) { + self.logger + .info(&format!( + "Device {} ({}) is marked Connected but not in Iroh's connection list - transitioning to Paired", + device_id, info.device_name + )) + .await; + + // Transition to Paired state via update_device_from_connection with None conn_type + if let Err(e) = registry + .update_device_from_connection( + device_id, + node_id, + iroh::endpoint::ConnectionType::None, + None, + ) + .await + { + self.logger + .warn(&format!( + "Failed to transition stale device {} to Paired: {}", + device_id, e + )) + .await; + } + } + } + } + } } } diff --git a/core/src/volume/fs/apfs.rs b/core/src/volume/fs/apfs.rs index c95fed0e2..9393a7014 100644 --- a/core/src/volume/fs/apfs.rs +++ b/core/src/volume/fs/apfs.rs @@ -547,6 +547,15 @@ fn should_be_user_visible(mount_point: &PathBuf, role: &ApfsVolumeRole, name: &s return false; } + // Hide cryptex volumes (e.g., MetalToolchainCryptex) + if mount_str.starts_with("/private/var/run/com.apple.security.cryptexd/") { + debug!( + "VISIBILITY: Hiding cryptex volume: name='{}' mount='{}'", + name, mount_str + ); + return false; + } + // Hide the root "/" volume if it's a system volume (prefer showing Data volume instead) // The Data volume is where actual user files live in modern macOS if mount_str.as_ref() == "/" && matches!(role, ApfsVolumeRole::System) { diff --git a/core/src/volume/platform/macos.rs b/core/src/volume/platform/macos.rs index 1661bce01..8c566f57b 100644 --- a/core/src/volume/platform/macos.rs +++ b/core/src/volume/platform/macos.rs @@ -262,6 +262,15 @@ fn should_be_user_visible(mount_point: &PathBuf, name: &str) -> bool { return false; } + // Hide cryptex volumes (e.g., MetalToolchainCryptex) + if mount_str.starts_with("/private/var/run/com.apple.security.cryptexd/") { + debug!( + "VISIBILITY: Hiding cryptex volume: name='{}' mount='{}'", + name, mount_str + ); + return false; + } + true } diff --git a/packages/assets/icons/index.ts b/packages/assets/icons/index.ts index 8e9aca1fc..48027be5a 100644 --- a/packages/assets/icons/index.ts +++ b/packages/assets/icons/index.ts @@ -1,201 +1,201 @@ /* * This file was automatically generated by a script. - * To regenerate this file, run: bun assets gen + * To regenerate this file, run: pnpm assets gen */ -import Album_Light from "./Album_Light.png"; import Album20 from "./Album-20.png"; import Album from "./Album.png"; -import Alias_Light from "./Alias_Light.png"; +import Album_Light from "./Album_Light.png"; import Alias20 from "./Alias-20.png"; import Alias from "./Alias.png"; +import Alias_Light from "./Alias_Light.png"; import AmazonS3 from "./AmazonS3.png"; import AndroidPhotos from "./AndroidPhotos.png"; import AppleFiles from "./AppleFiles.png"; import ApplePhotos from "./ApplePhotos.png"; -import Application_Light from "./Application_Light.png"; import Application from "./Application.png"; -import Archive_Light from "./Archive_Light.png"; +import Application_Light from "./Application_Light.png"; import Archive20 from "./Archive-20.png"; import Archive from "./Archive.png"; -import Audio_Light from "./Audio_Light.png"; +import Archive_Light from "./Archive_Light.png"; import Audio20 from "./Audio-20.png"; import Audio from "./Audio.png"; +import Audio_Light from "./Audio_Light.png"; import BackBlaze from "./BackBlaze.png"; import Ball from "./Ball.png"; -import Book_Light from "./Book_Light.png"; import Book20 from "./Book-20.png"; import Book from "./Book.png"; import BookBlue from "./BookBlue.png"; +import Book_Light from "./Book_Light.png"; import Box from "./Box.png"; -import CloudSync_Light from "./CloudSync_Light.png"; import CloudSync from "./CloudSync.png"; +import CloudSync_Light from "./CloudSync_Light.png"; import Code20 from "./Code-20.png"; -import Collection_Light from "./Collection_Light.png"; import Collection20 from "./Collection-20.png"; import Collection from "./Collection.png"; -import CollectionSparkle_Light from "./CollectionSparkle_Light.png"; import CollectionSparkle from "./CollectionSparkle.png"; +import CollectionSparkle_Light from "./CollectionSparkle_Light.png"; +import Collection_Light from "./Collection_Light.png"; import Config20 from "./Config-20.png"; -import Database_Light from "./Database_Light.png"; +import DAV from "./DAV.png"; import Database20 from "./Database-20.png"; import Database from "./Database.png"; -import DAV from "./DAV.png"; +import Database_Light from "./Database_Light.png"; import DeleteLocation from "./DeleteLocation.png"; -import Document_doc_Light from "./Document_doc_Light.png"; -import Document_doc from "./Document_doc.png"; -import Document_Light from "./Document_Light.png"; -import Document_pdf_Light from "./Document_pdf_Light.png"; -import Document_pdf from "./Document_pdf.png"; -import Document_srt from "./Document_srt.png"; -import Document_xls_Light from "./Document_xls_Light.png"; -import Document_xls from "./Document_xls.png"; -import Document_xmp from "./Document_xmp.png"; -import Document_memory from "./Document_memory.png"; import Document20 from "./Document-20.png"; import Document from "./Document.png"; +import Document_Light from "./Document_Light.png"; +import Document_doc from "./Document_doc.png"; +import Document_doc_Light from "./Document_doc_Light.png"; +import Document_memory from "./Document_memory.png"; +import Document_pdf from "./Document_pdf.png"; +import Document_pdf_Light from "./Document_pdf_Light.png"; +import Document_srt from "./Document_srt.png"; +import Document_xls from "./Document_xls.png"; +import Document_xls_Light from "./Document_xls_Light.png"; +import Document_xmp from "./Document_xmp.png"; import Dotfile20 from "./Dotfile-20.png"; -import Drive_Light from "./Drive_Light.png"; -import DriveAmazonS3_Light from "./Drive-AmazonS3_Light.png"; import DriveAmazonS3 from "./Drive-AmazonS3.png"; -import DriveBackBlaze_Light from "./Drive-BackBlaze_Light.png"; +import DriveAmazonS3_Light from "./Drive-AmazonS3_Light.png"; import DriveBackBlaze from "./Drive-BackBlaze.png"; -import Drivebox_Light from "./Drive-box_Light.png"; +import DriveBackBlaze_Light from "./Drive-BackBlaze_Light.png"; import DriveBox from "./Drive-Box.png"; -import DriveDarker from "./Drive-Darker.png"; -import DriveDAV_Light from "./Drive-DAV_Light.png"; import DriveDAV from "./Drive-DAV.png"; -import DriveDropbox_Light from "./Drive-Dropbox_Light.png"; +import DriveDAV_Light from "./Drive-DAV_Light.png"; +import DriveDarker from "./Drive-Darker.png"; import DriveDropbox from "./Drive-Dropbox.png"; -import DriveGoogleDrive_Light from "./Drive-GoogleDrive_Light.png"; +import DriveDropbox_Light from "./Drive-Dropbox_Light.png"; import DriveGoogleDrive from "./Drive-GoogleDrive.png"; -import DriveMega_Light from "./Drive-Mega_Light.png"; +import DriveGoogleDrive_Light from "./Drive-GoogleDrive_Light.png"; import DriveMega from "./Drive-Mega.png"; -import DriveOneDrive_Light from "./Drive-OneDrive_Light.png"; +import DriveMega_Light from "./Drive-Mega_Light.png"; import DriveOneDrive from "./Drive-OneDrive.png"; -import DriveOpenStack_Light from "./Drive-OpenStack_Light.png"; +import DriveOneDrive_Light from "./Drive-OneDrive_Light.png"; import DriveOpenStack from "./Drive-OpenStack.png"; -import DrivePCloud_Light from "./Drive-PCloud_Light.png"; +import DriveOpenStack_Light from "./Drive-OpenStack_Light.png"; import DrivePCloud from "./Drive-PCloud.png"; +import DrivePCloud_Light from "./Drive-PCloud_Light.png"; +import Drivebox_Light from "./Drive-box_Light.png"; import Drive from "./Drive.png"; +import Drive_Light from "./Drive_Light.png"; import Dropbox from "./Dropbox.png"; -import Encrypted_Light from "./Encrypted_Light.png"; import Encrypted20 from "./Encrypted-20.png"; import Encrypted from "./Encrypted.png"; -import Entity_Light from "./Entity_Light.png"; +import Encrypted_Light from "./Encrypted_Light.png"; import Entity from "./Entity.png"; -import Executable_Light_old from "./Executable_Light_old.png"; -import Executable_Light from "./Executable_Light.png"; -import Executable_old from "./Executable_old.png"; +import Entity_Light from "./Entity_Light.png"; import Executable20 from "./Executable-20.png"; import Executable from "./Executable.png"; +import Executable_Light from "./Executable_Light.png"; +import Executable_Light_old from "./Executable_Light_old.png"; +import Executable_old from "./Executable_old.png"; import Face_Light from "./Face_Light.png"; -import Folder_Light from "./Folder_Light.png"; import Folder20 from "./Folder-20.png"; import Foldertagxmp from "./Folder-tag-xmp.png"; import Folder from "./Folder.png"; -import FolderGrey_Light from "./FolderGrey_Light.png"; import FolderGrey from "./FolderGrey.png"; -import FolderNoSpace_Light from "./FolderNoSpace_Light.png"; +import FolderGrey_Light from "./FolderGrey_Light.png"; import FolderNoSpace from "./FolderNoSpace.png"; +import FolderNoSpace_Light from "./FolderNoSpace_Light.png"; +import Folder_Light from "./Folder_Light.png"; import Font20 from "./Font-20.png"; -import Game_Light from "./Game_Light.png"; import Game from "./Game.png"; -import Globe_Light from "./Globe_Light.png"; +import Game_Light from "./Game_Light.png"; import Globe from "./Globe.png"; import GlobeAlt from "./GlobeAlt.png"; +import Globe_Light from "./Globe_Light.png"; import GoogleDrive from "./GoogleDrive.png"; -import HDD_Light from "./HDD_Light.png"; import HDD from "./HDD.png"; -import Heart_Light from "./Heart_Light.png"; +import HDD_Light from "./HDD_Light.png"; import Heart from "./Heart.png"; -import Home_Light from "./Home_Light.png"; +import Heart_Light from "./Heart_Light.png"; import Home from "./Home.png"; -import Image_Light from "./Image_Light.png"; +import Home_Light from "./Home_Light.png"; import Image20 from "./Image-20.png"; import Image from "./Image.png"; -import Key_Light from "./Key_Light.png"; +import Image_Light from "./Image_Light.png"; import Key20 from "./Key-20.png"; import Key from "./Key.png"; -import Keys_Light from "./Keys_Light.png"; +import Key_Light from "./Key_Light.png"; import Keys from "./Keys.png"; -import Laptop_Light from "./Laptop_Light.png"; +import Keys_Light from "./Keys_Light.png"; import Laptop from "./Laptop.png"; -import Link_Light from "./Link_Light.png"; +import Laptop_Light from "./Laptop_Light.png"; import Link20 from "./Link-20.png"; import Link from "./Link.png"; +import Link_Light from "./Link_Light.png"; import Location from "./Location.png"; import LocationManaged from "./LocationManaged.png"; import LocationReplica from "./LocationReplica.png"; -import Lock_Light from "./Lock_Light.png"; import Lock from "./Lock.png"; +import Lock_Light from "./Lock_Light.png"; import Mega from "./Mega.png"; -import Mesh_Light from "./Mesh_Light.png"; import Mesh20 from "./Mesh-20.png"; import Mesh from "./Mesh.png"; +import Mesh_Light from "./Mesh_Light.png"; import MiniSilverBox from "./MiniSilverBox.png"; -import Mobile_Light from "./Mobile_Light.png"; import MobileAndroid from "./Mobile-Android.png"; import Mobile from "./Mobile.png"; -import MoveLocation_Light from "./MoveLocation_Light.png"; +import Mobile_Light from "./Mobile_Light.png"; import MoveLocation from "./MoveLocation.png"; -import Movie_Light from "./Movie_Light.png"; +import MoveLocation_Light from "./MoveLocation_Light.png"; import Movie from "./Movie.png"; +import Movie_Light from "./Movie_Light.png"; import NewLocation from "./NewLocation.png"; -import Node_Light from "./Node_Light.png"; import Node from "./Node.png"; +import Node_Light from "./Node_Light.png"; import OneDrive from "./OneDrive.png"; import OpenStack from "./OpenStack.png"; -import Package_Light from "./Package_Light.png"; -import Package20 from "./Package-20.png"; -import Package from "./Package.png"; import PC from "./PC.png"; import PCloud from "./PCloud.png"; -import Scrapbook_Light from "./Scrapbook_Light.png"; +import Package20 from "./Package-20.png"; +import Package from "./Package.png"; +import Package_Light from "./Package_Light.png"; +import SD from "./SD.png"; +import SD_Light from "./SD_Light.png"; import Scrapbook from "./Scrapbook.png"; -import Screenshot_Light from "./Screenshot_Light.png"; +import Scrapbook_Light from "./Scrapbook_Light.png"; import Screenshot20 from "./Screenshot-20.png"; import Screenshot from "./Screenshot.png"; import ScreenshotAlt from "./ScreenshotAlt.png"; -import SD_Light from "./SD_Light.png"; -import SD from "./SD.png"; -import Search_Light from "./Search_Light.png"; +import Screenshot_Light from "./Screenshot_Light.png"; import Search from "./Search.png"; import SearchAlt from "./SearchAlt.png"; -import Server_Light from "./Server_Light.png"; +import Search_Light from "./Search_Light.png"; import Server from "./Server.png"; +import Server_Light from "./Server_Light.png"; import SilverBox from "./SilverBox.png"; -import Spacedrop_Light from "./Spacedrop_Light.png"; import Spacedrop1 from "./Spacedrop-1.png"; import Spacedrop from "./Spacedrop.png"; -import Sync_Light from "./Sync_Light.png"; +import Spacedrop_Light from "./Spacedrop_Light.png"; import Sync from "./Sync.png"; -import Tablet_Light from "./Tablet_Light.png"; +import Sync_Light from "./Sync_Light.png"; import Tablet from "./Tablet.png"; -import Tags_Light from "./Tags_Light.png"; +import Tablet_Light from "./Tablet_Light.png"; import Tags from "./Tags.png"; -import Terminal_Light from "./Terminal_Light.png"; +import Tags_Light from "./Tags_Light.png"; import Terminal from "./Terminal.png"; -import Text_Light from "./Text_Light.png"; -import Text_txt from "./Text_txt.png"; +import Terminal_Light from "./Terminal_Light.png"; import Text20 from "./Text-20.png"; import Text from "./Text.png"; -import TextAlt_Light from "./TextAlt_Light.png"; import TextAlt from "./TextAlt.png"; -import TexturedMesh_Light from "./TexturedMesh_Light.png"; +import TextAlt_Light from "./TextAlt_Light.png"; +import Text_Light from "./Text_Light.png"; +import Text_txt from "./Text_txt.png"; import TexturedMesh from "./TexturedMesh.png"; -import Trash_Light from "./Trash_Light.png"; +import TexturedMesh_Light from "./TexturedMesh_Light.png"; import Trash from "./Trash.png"; -import Undefined_Light from "./Undefined_Light.png"; +import Trash_Light from "./Trash_Light.png"; import Undefined from "./Undefined.png"; +import Undefined_Light from "./Undefined_Light.png"; import Unknown20 from "./Unknown-20.png"; -import Video_Light from "./Video_Light.png"; import Video20 from "./Video-20.png"; import Video from "./Video.png"; +import Video_Light from "./Video_Light.png"; import WebPageArchive20 from "./WebPageArchive-20.png"; -import Widget_Light from "./Widget_Light.png"; import Widget20 from "./Widget-20.png"; import Widget from "./Widget.png"; +import Widget_Light from "./Widget_Light.png"; export { Album20, @@ -242,13 +242,13 @@ export { Document_Light, Document_doc, Document_doc_Light, + Document_memory, Document_pdf, Document_pdf_Light, Document_srt, Document_xls, Document_xls_Light, Document_xmp, - Document_memory, Dotfile20, DriveAmazonS3, DriveAmazonS3_Light, diff --git a/packages/assets/images/index.ts b/packages/assets/images/index.ts index 249ee6f10..f90204358 100644 --- a/packages/assets/images/index.ts +++ b/packages/assets/images/index.ts @@ -3,30 +3,32 @@ * To regenerate this file, run: pnpm assets gen */ -import AlphaBg_Light from './AlphaBg_Light.png'; -import AlphaBg from './AlphaBg.png'; -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 Dropbox from './Dropbox.png'; -import GoogleDrive from './GoogleDrive.png'; -import iCloud from './iCloud.png'; -import Mega from './Mega.png'; -import Transparent from './Transparent.png'; +import AlphaBg from "./AlphaBg.png"; +import AlphaBg_Light from "./AlphaBg_Light.png"; +import AppLogo from "./AppLogo.png"; +import AppLogoV2 from "./AppLogoV2.png"; +import Ball from "./Ball.png"; +import BloomOne from "./BloomOne.png"; +import BloomThree from "./BloomThree.png"; +import BloomTwo from "./BloomTwo.png"; +import Dropbox from "./Dropbox.png"; +import GoogleDrive from "./GoogleDrive.png"; +import Mega from "./Mega.png"; +import Transparent from "./Transparent.png"; +import iCloud from "./iCloud.png"; export { - AlphaBg, - AlphaBg_Light, - AppLogo, - Ball, - BloomOne, - BloomThree, - BloomTwo, - Dropbox, - GoogleDrive, - Mega, - iCloud, - Transparent + AlphaBg, + AlphaBg_Light, + AppLogo, + AppLogoV2, + Ball, + BloomOne, + BloomThree, + BloomTwo, + Dropbox, + GoogleDrive, + Mega, + Transparent, + iCloud, }; diff --git a/packages/assets/svgs/brands/index.ts b/packages/assets/svgs/brands/index.ts index e1c240fbe..cbab68394 100644 --- a/packages/assets/svgs/brands/index.ts +++ b/packages/assets/svgs/brands/index.ts @@ -1,37 +1,58 @@ /* * This file was automatically generated by a script. * To regenerate this file, run: pnpm assets gen - * - * NOTE: Temporarily modified to work without @svgr/webpack - * SVGs are now exported as static image data for use with next/image - * TODO: Regenerate with proper Next.js 15 compatible setup */ -// Export SVGs as static imports for Next.js Image component -const Academia = require('./Academia.svg'); -const Apple = require('./Apple.svg'); -const Discord = require('./Discord.svg'); -const Docker = require('./Docker.svg'); -const Dribbble = require('./Dribbble.svg'); -const Github = require('./Github.svg'); -const Gitlab = require('./Gitlab.svg'); -const Instagram = require('./Instagram.svg'); -const Opencollective = require('./Opencollective.svg'); -const Twitch = require('./Twitch.svg'); -const Twitter = require('./Twitter.svg'); -const Website = require('./Website.svg'); +import React from "react"; + +const Academia = React.lazy(async () => ({ + default: (await import("./Academia.svg")).ReactComponent, +})); +const Apple = React.lazy(async () => ({ + default: (await import("./Apple.svg")).ReactComponent, +})); +const Discord = React.lazy(async () => ({ + default: (await import("./Discord.svg")).ReactComponent, +})); +const Docker = React.lazy(async () => ({ + default: (await import("./Docker.svg")).ReactComponent, +})); +const Dribbble = React.lazy(async () => ({ + default: (await import("./Dribbble.svg")).ReactComponent, +})); +const Github = React.lazy(async () => ({ + default: (await import("./Github.svg")).ReactComponent, +})); +const Gitlab = React.lazy(async () => ({ + default: (await import("./Gitlab.svg")).ReactComponent, +})); +const Instagram = React.lazy(async () => ({ + default: (await import("./Instagram.svg")).ReactComponent, +})); +const Opencollective = React.lazy(async () => ({ + default: (await import("./Opencollective.svg")).ReactComponent, +})); +const Twitch = React.lazy(async () => ({ + default: (await import("./Twitch.svg")).ReactComponent, +})); +const Twitter = React.lazy(async () => ({ + default: (await import("./Twitter.svg")).ReactComponent, +})); +const Website = React.lazy(async () => ({ + default: (await import("./Website.svg")).ReactComponent, +})); export { - Academia, - Apple, - Discord, - Docker, - Dribbble, - Github, - Gitlab, - Instagram, - Opencollective, - Twitch, - Twitter, - Website + Academia, + Apple, + Discord, + Docker, + Dribbble, + Github, + Gitlab, + Instagram, + Opencollective, + Twitch, + Twitter, + Website, }; diff --git a/packages/assets/svgs/ext/Code/index.ts b/packages/assets/svgs/ext/Code/index.ts index 2547fc6e4..4228b062e 100644 --- a/packages/assets/svgs/ext/Code/index.ts +++ b/packages/assets/svgs/ext/Code/index.ts @@ -3,46 +3,76 @@ * To regenerate this file, run: pnpm assets gen */ -import React from 'react'; +import React from "react"; const angular = React.lazy(async () => ({ - default: (await import('./angular.svg')).ReactComponent + default: (await import("./angular.svg")).ReactComponent, +})); +const bun = React.lazy(async () => ({ + default: (await import("./bun.svg")).ReactComponent, +})); +const c = React.lazy(async () => ({ + default: (await import("./c.svg")).ReactComponent, +})); +const cmake = React.lazy(async () => ({ + default: (await import("./cmake.svg")).ReactComponent, +})); +const cpp = React.lazy(async () => ({ + default: (await import("./cpp.svg")).ReactComponent, +})); +const csharp = React.lazy(async () => ({ + default: (await import("./csharp.svg")).ReactComponent, +})); +const css = React.lazy(async () => ({ + default: (await import("./css.svg")).ReactComponent, })); -const bun = React.lazy(async () => ({ default: (await import('./bun.svg')).ReactComponent })); -const c = React.lazy(async () => ({ default: (await import('./c.svg')).ReactComponent })); -const cmake = React.lazy(async () => ({ default: (await import('./cmake.svg')).ReactComponent })); -const cpp = React.lazy(async () => ({ default: (await import('./cpp.svg')).ReactComponent })); -const csharp = React.lazy(async () => ({ default: (await import('./csharp.svg')).ReactComponent })); -const css = React.lazy(async () => ({ default: (await import('./css.svg')).ReactComponent })); const dartlang = React.lazy(async () => ({ - default: (await import('./dartlang.svg')).ReactComponent + default: (await import("./dartlang.svg")).ReactComponent, +})); +const go = React.lazy(async () => ({ + default: (await import("./go.svg")).ReactComponent, +})); +const html = React.lazy(async () => ({ + default: (await import("./html.svg")).ReactComponent, +})); +const java = React.lazy(async () => ({ + default: (await import("./java.svg")).ReactComponent, +})); +const js = React.lazy(async () => ({ + default: (await import("./js.svg")).ReactComponent, +})); +const kotlin = React.lazy(async () => ({ + default: (await import("./kotlin.svg")).ReactComponent, +})); +const php = React.lazy(async () => ({ + default: (await import("./php.svg")).ReactComponent, +})); +const py = React.lazy(async () => ({ + default: (await import("./py.svg")).ReactComponent, +})); +const ts = React.lazy(async () => ({ + default: (await import("./ts.svg")).ReactComponent, +})); +const vue = React.lazy(async () => ({ + default: (await import("./vue.svg")).ReactComponent, })); -const go = React.lazy(async () => ({ default: (await import('./go.svg')).ReactComponent })); -const html = React.lazy(async () => ({ default: (await import('./html.svg')).ReactComponent })); -const java = React.lazy(async () => ({ default: (await import('./java.svg')).ReactComponent })); -const js = React.lazy(async () => ({ default: (await import('./js.svg')).ReactComponent })); -const kotlin = React.lazy(async () => ({ default: (await import('./kotlin.svg')).ReactComponent })); -const php = React.lazy(async () => ({ default: (await import('./php.svg')).ReactComponent })); -const py = React.lazy(async () => ({ default: (await import('./py.svg')).ReactComponent })); -const ts = React.lazy(async () => ({ default: (await import('./ts.svg')).ReactComponent })); -const vue = React.lazy(async () => ({ default: (await import('./vue.svg')).ReactComponent })); export { - angular, - bun, - c, - cmake, - cpp, - csharp, - css, - dartlang, - go, - html, - java, - js, - kotlin, - php, - py, - ts, - vue + angular, + bun, + c, + cmake, + cpp, + csharp, + css, + dartlang, + go, + html, + java, + js, + kotlin, + php, + py, + ts, + vue, }; diff --git a/packages/assets/svgs/ext/Extras/ace.svg b/packages/assets/svgs/ext/Extras/ace.svg index 7ad1d248a..04043f9e6 100644 --- a/packages/assets/svgs/ext/Extras/ace.svg +++ b/packages/assets/svgs/ext/Extras/ace.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/acemanifest.svg b/packages/assets/svgs/ext/Extras/acemanifest.svg index 53cbda696..c19a2f920 100644 --- a/packages/assets/svgs/ext/Extras/acemanifest.svg +++ b/packages/assets/svgs/ext/Extras/acemanifest.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/adoc.svg b/packages/assets/svgs/ext/Extras/adoc.svg index 30b6ab2c9..0734191eb 100644 --- a/packages/assets/svgs/ext/Extras/adoc.svg +++ b/packages/assets/svgs/ext/Extras/adoc.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/adonis.svg b/packages/assets/svgs/ext/Extras/adonis.svg index 973b75a9d..e63d42db4 100644 --- a/packages/assets/svgs/ext/Extras/adonis.svg +++ b/packages/assets/svgs/ext/Extras/adonis.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/adonisconfig.svg b/packages/assets/svgs/ext/Extras/adonisconfig.svg index 7f28c0abd..40b8b6634 100644 --- a/packages/assets/svgs/ext/Extras/adonisconfig.svg +++ b/packages/assets/svgs/ext/Extras/adonisconfig.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/afdesign.svg b/packages/assets/svgs/ext/Extras/afdesign.svg index fffc4f5da..209328972 100644 --- a/packages/assets/svgs/ext/Extras/afdesign.svg +++ b/packages/assets/svgs/ext/Extras/afdesign.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/afphoto.svg b/packages/assets/svgs/ext/Extras/afphoto.svg index 24bb9758b..c464abe85 100644 --- a/packages/assets/svgs/ext/Extras/afphoto.svg +++ b/packages/assets/svgs/ext/Extras/afphoto.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/afpub.svg b/packages/assets/svgs/ext/Extras/afpub.svg index 13046a8b2..5a133114b 100644 --- a/packages/assets/svgs/ext/Extras/afpub.svg +++ b/packages/assets/svgs/ext/Extras/afpub.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/ai.svg b/packages/assets/svgs/ext/Extras/ai.svg index 667e46316..84baf04a6 100644 --- a/packages/assets/svgs/ext/Extras/ai.svg +++ b/packages/assets/svgs/ext/Extras/ai.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/air.svg b/packages/assets/svgs/ext/Extras/air.svg index 651778939..5701b5ee4 100644 --- a/packages/assets/svgs/ext/Extras/air.svg +++ b/packages/assets/svgs/ext/Extras/air.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/angular.svg b/packages/assets/svgs/ext/Extras/angular.svg new file mode 100644 index 000000000..d6daa5fb2 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/angular.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/anim.svg b/packages/assets/svgs/ext/Extras/anim.svg index e6226e1fb..2da9cfcbb 100644 --- a/packages/assets/svgs/ext/Extras/anim.svg +++ b/packages/assets/svgs/ext/Extras/anim.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/astro.svg b/packages/assets/svgs/ext/Extras/astro.svg index 1e3d68427..29c44feaf 100644 --- a/packages/assets/svgs/ext/Extras/astro.svg +++ b/packages/assets/svgs/ext/Extras/astro.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/astroconfig.svg b/packages/assets/svgs/ext/Extras/astroconfig.svg index 91153170d..2833cd876 100644 --- a/packages/assets/svgs/ext/Extras/astroconfig.svg +++ b/packages/assets/svgs/ext/Extras/astroconfig.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/atomizer.svg b/packages/assets/svgs/ext/Extras/atomizer.svg index 584dcac56..a5d26b993 100644 --- a/packages/assets/svgs/ext/Extras/atomizer.svg +++ b/packages/assets/svgs/ext/Extras/atomizer.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/audio.svg b/packages/assets/svgs/ext/Extras/audio.svg new file mode 100644 index 000000000..c85998695 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/audio.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/audiomp3.svg b/packages/assets/svgs/ext/Extras/audiomp3.svg new file mode 100644 index 000000000..902f4e906 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/audiomp3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/audioogg.svg b/packages/assets/svgs/ext/Extras/audioogg.svg new file mode 100644 index 000000000..356152ea8 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/audioogg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/audiowav.svg b/packages/assets/svgs/ext/Extras/audiowav.svg new file mode 100644 index 000000000..39209ed78 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/audiowav.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/audiowv.svg b/packages/assets/svgs/ext/Extras/audiowv.svg new file mode 100644 index 000000000..fa1523270 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/audiowv.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/azure.svg b/packages/assets/svgs/ext/Extras/azure.svg index 4ef4404a1..548d453f2 100644 --- a/packages/assets/svgs/ext/Extras/azure.svg +++ b/packages/assets/svgs/ext/Extras/azure.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/babel.svg b/packages/assets/svgs/ext/Extras/babel.svg index 942632336..362a435f2 100644 --- a/packages/assets/svgs/ext/Extras/babel.svg +++ b/packages/assets/svgs/ext/Extras/babel.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/ballerina.svg b/packages/assets/svgs/ext/Extras/ballerina.svg new file mode 100644 index 000000000..44751d01a --- /dev/null +++ b/packages/assets/svgs/ext/Extras/ballerina.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/ballerinaconfig.svg b/packages/assets/svgs/ext/Extras/ballerinaconfig.svg new file mode 100644 index 000000000..4a147ea20 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/ballerinaconfig.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/bat.svg b/packages/assets/svgs/ext/Extras/bat.svg index 2ca3123b7..cd603287a 100644 --- a/packages/assets/svgs/ext/Extras/bat.svg +++ b/packages/assets/svgs/ext/Extras/bat.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/bazel.svg b/packages/assets/svgs/ext/Extras/bazel.svg new file mode 100644 index 000000000..d1a63b26b --- /dev/null +++ b/packages/assets/svgs/ext/Extras/bazel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/bazelignore.svg b/packages/assets/svgs/ext/Extras/bazelignore.svg new file mode 100644 index 000000000..f4c0bc459 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/bazelignore.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/bicep.svg b/packages/assets/svgs/ext/Extras/bicep.svg index 912a5e6cc..381e5ba48 100644 --- a/packages/assets/svgs/ext/Extras/bicep.svg +++ b/packages/assets/svgs/ext/Extras/bicep.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/bicepconfig.svg b/packages/assets/svgs/ext/Extras/bicepconfig.svg new file mode 100644 index 000000000..a172fb0a2 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/bicepconfig.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/bicepparam.svg b/packages/assets/svgs/ext/Extras/bicepparam.svg index 605e91d38..05fe5a3fa 100644 --- a/packages/assets/svgs/ext/Extras/bicepparam.svg +++ b/packages/assets/svgs/ext/Extras/bicepparam.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/binary.svg b/packages/assets/svgs/ext/Extras/binary.svg index 7c9ea0a49..4f0a6eddf 100644 --- a/packages/assets/svgs/ext/Extras/binary.svg +++ b/packages/assets/svgs/ext/Extras/binary.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/biome.svg b/packages/assets/svgs/ext/Extras/biome.svg new file mode 100644 index 000000000..032b7a9d7 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/biome.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/blade.svg b/packages/assets/svgs/ext/Extras/blade.svg index 43f81b287..647b3afc7 100644 --- a/packages/assets/svgs/ext/Extras/blade.svg +++ b/packages/assets/svgs/ext/Extras/blade.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/brotli.svg b/packages/assets/svgs/ext/Extras/brotli.svg index 88ea50df7..e08d226f6 100644 --- a/packages/assets/svgs/ext/Extras/brotli.svg +++ b/packages/assets/svgs/ext/Extras/brotli.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/browserslist.svg b/packages/assets/svgs/ext/Extras/browserslist.svg index fea7282cb..d0340bdf2 100644 --- a/packages/assets/svgs/ext/Extras/browserslist.svg +++ b/packages/assets/svgs/ext/Extras/browserslist.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/bruno.svg b/packages/assets/svgs/ext/Extras/bruno.svg new file mode 100644 index 000000000..82a3922c4 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/bruno.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/bsconfig.svg b/packages/assets/svgs/ext/Extras/bsconfig.svg index 0a2e20f78..1957e34fa 100644 --- a/packages/assets/svgs/ext/Extras/bsconfig.svg +++ b/packages/assets/svgs/ext/Extras/bsconfig.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/buck.svg b/packages/assets/svgs/ext/Extras/buck.svg new file mode 100644 index 000000000..581060b3e --- /dev/null +++ b/packages/assets/svgs/ext/Extras/buck.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/bun.svg b/packages/assets/svgs/ext/Extras/bun.svg new file mode 100644 index 000000000..2dc1ee40b --- /dev/null +++ b/packages/assets/svgs/ext/Extras/bun.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/bundler.svg b/packages/assets/svgs/ext/Extras/bundler.svg index 58eccf1f3..20b0abc34 100644 --- a/packages/assets/svgs/ext/Extras/bundler.svg +++ b/packages/assets/svgs/ext/Extras/bundler.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/bunlock.svg b/packages/assets/svgs/ext/Extras/bunlock.svg new file mode 100644 index 000000000..fcafae39c --- /dev/null +++ b/packages/assets/svgs/ext/Extras/bunlock.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/c.svg b/packages/assets/svgs/ext/Extras/c.svg new file mode 100644 index 000000000..f0c7ecfba --- /dev/null +++ b/packages/assets/svgs/ext/Extras/c.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/cargo.svg b/packages/assets/svgs/ext/Extras/cargo.svg index cfd23ccd9..cb56f097d 100644 --- a/packages/assets/svgs/ext/Extras/cargo.svg +++ b/packages/assets/svgs/ext/Extras/cargo.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/cargolock.svg b/packages/assets/svgs/ext/Extras/cargolock.svg index dc539a19d..9a13aeecd 100644 --- a/packages/assets/svgs/ext/Extras/cargolock.svg +++ b/packages/assets/svgs/ext/Extras/cargolock.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/cert.svg b/packages/assets/svgs/ext/Extras/cert.svg index 75b22610d..86f1d7ca4 100644 --- a/packages/assets/svgs/ext/Extras/cert.svg +++ b/packages/assets/svgs/ext/Extras/cert.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/cheader.svg b/packages/assets/svgs/ext/Extras/cheader.svg index 2c56b6564..ba0a4045c 100644 --- a/packages/assets/svgs/ext/Extras/cheader.svg +++ b/packages/assets/svgs/ext/Extras/cheader.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/civet.svg b/packages/assets/svgs/ext/Extras/civet.svg index 76b76d86b..78b55f1c6 100644 --- a/packages/assets/svgs/ext/Extras/civet.svg +++ b/packages/assets/svgs/ext/Extras/civet.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/claude.svg b/packages/assets/svgs/ext/Extras/claude.svg new file mode 100644 index 000000000..e804a18fd --- /dev/null +++ b/packages/assets/svgs/ext/Extras/claude.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/cli.svg b/packages/assets/svgs/ext/Extras/cli.svg index 8c901953d..fd39fb869 100644 --- a/packages/assets/svgs/ext/Extras/cli.svg +++ b/packages/assets/svgs/ext/Extras/cli.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/clojure.svg b/packages/assets/svgs/ext/Extras/clojure.svg index 402fa1a93..30566e27b 100644 --- a/packages/assets/svgs/ext/Extras/clojure.svg +++ b/packages/assets/svgs/ext/Extras/clojure.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/cmake.svg b/packages/assets/svgs/ext/Extras/cmake.svg new file mode 100644 index 000000000..b85d19f7d --- /dev/null +++ b/packages/assets/svgs/ext/Extras/cmake.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/codeworkspace.svg b/packages/assets/svgs/ext/Extras/codeworkspace.svg index 90f07ecde..b55d1a526 100644 --- a/packages/assets/svgs/ext/Extras/codeworkspace.svg +++ b/packages/assets/svgs/ext/Extras/codeworkspace.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/coffeescript.svg b/packages/assets/svgs/ext/Extras/coffeescript.svg new file mode 100644 index 000000000..0cbab2a43 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/coffeescript.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/commitlint.svg b/packages/assets/svgs/ext/Extras/commitlint.svg index 52d4aceb4..2dc897668 100644 --- a/packages/assets/svgs/ext/Extras/commitlint.svg +++ b/packages/assets/svgs/ext/Extras/commitlint.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/compodoc.svg b/packages/assets/svgs/ext/Extras/compodoc.svg index 246aad39a..04e4a18d1 100644 --- a/packages/assets/svgs/ext/Extras/compodoc.svg +++ b/packages/assets/svgs/ext/Extras/compodoc.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/composer.svg b/packages/assets/svgs/ext/Extras/composer.svg index 90c28a46b..c96013ed2 100644 --- a/packages/assets/svgs/ext/Extras/composer.svg +++ b/packages/assets/svgs/ext/Extras/composer.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/composerlock.svg b/packages/assets/svgs/ext/Extras/composerlock.svg index 347748536..4e84f1112 100644 --- a/packages/assets/svgs/ext/Extras/composerlock.svg +++ b/packages/assets/svgs/ext/Extras/composerlock.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/conan.svg b/packages/assets/svgs/ext/Extras/conan.svg index 6c93360d8..b308c3e1d 100644 --- a/packages/assets/svgs/ext/Extras/conan.svg +++ b/packages/assets/svgs/ext/Extras/conan.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/conf.svg b/packages/assets/svgs/ext/Extras/conf.svg index 0cf17b41d..af41076ec 100644 --- a/packages/assets/svgs/ext/Extras/conf.svg +++ b/packages/assets/svgs/ext/Extras/conf.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/copilot.svg b/packages/assets/svgs/ext/Extras/copilot.svg new file mode 100644 index 000000000..3569c9394 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/copilot.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/cpp.svg b/packages/assets/svgs/ext/Extras/cpp.svg new file mode 100644 index 000000000..a595f43bb --- /dev/null +++ b/packages/assets/svgs/ext/Extras/cpp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/crystal.svg b/packages/assets/svgs/ext/Extras/crystal.svg index 3410c290d..34d390146 100644 --- a/packages/assets/svgs/ext/Extras/crystal.svg +++ b/packages/assets/svgs/ext/Extras/crystal.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/csharp.svg b/packages/assets/svgs/ext/Extras/csharp.svg new file mode 100644 index 000000000..2aa656229 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/csharp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/cshtml.svg b/packages/assets/svgs/ext/Extras/cshtml.svg index 22f456810..16dc94607 100644 --- a/packages/assets/svgs/ext/Extras/cshtml.svg +++ b/packages/assets/svgs/ext/Extras/cshtml.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/csproj.svg b/packages/assets/svgs/ext/Extras/csproj.svg index 958228aa1..54539240f 100644 --- a/packages/assets/svgs/ext/Extras/csproj.svg +++ b/packages/assets/svgs/ext/Extras/csproj.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/css.svg b/packages/assets/svgs/ext/Extras/css.svg new file mode 100644 index 000000000..315807ce9 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/css.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/cssmap.svg b/packages/assets/svgs/ext/Extras/cssmap.svg index 47adf9271..f8e9a9996 100644 --- a/packages/assets/svgs/ext/Extras/cssmap.svg +++ b/packages/assets/svgs/ext/Extras/cssmap.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/csv.svg b/packages/assets/svgs/ext/Extras/csv.svg index 9ed4ec892..36e154818 100644 --- a/packages/assets/svgs/ext/Extras/csv.svg +++ b/packages/assets/svgs/ext/Extras/csv.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/cucumber.svg b/packages/assets/svgs/ext/Extras/cucumber.svg index e42e79381..436fc3575 100644 --- a/packages/assets/svgs/ext/Extras/cucumber.svg +++ b/packages/assets/svgs/ext/Extras/cucumber.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/cursor.svg b/packages/assets/svgs/ext/Extras/cursor.svg new file mode 100644 index 000000000..e675e4e4b --- /dev/null +++ b/packages/assets/svgs/ext/Extras/cursor.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/cypress.svg b/packages/assets/svgs/ext/Extras/cypress.svg index 5ec31ba3f..f526540fb 100644 --- a/packages/assets/svgs/ext/Extras/cypress.svg +++ b/packages/assets/svgs/ext/Extras/cypress.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/cypressjs.svg b/packages/assets/svgs/ext/Extras/cypressjs.svg index 5c6686e9b..73df08638 100644 --- a/packages/assets/svgs/ext/Extras/cypressjs.svg +++ b/packages/assets/svgs/ext/Extras/cypressjs.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/cypressts.svg b/packages/assets/svgs/ext/Extras/cypressts.svg index 6f5a9b458..e581626f8 100644 --- a/packages/assets/svgs/ext/Extras/cypressts.svg +++ b/packages/assets/svgs/ext/Extras/cypressts.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/d.svg b/packages/assets/svgs/ext/Extras/d.svg index 1872f62ba..ded53b3e6 100644 --- a/packages/assets/svgs/ext/Extras/d.svg +++ b/packages/assets/svgs/ext/Extras/d.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/dartlang.svg b/packages/assets/svgs/ext/Extras/dartlang.svg new file mode 100644 index 000000000..be059dd5a --- /dev/null +++ b/packages/assets/svgs/ext/Extras/dartlang.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/delphiproject.svg b/packages/assets/svgs/ext/Extras/delphiproject.svg new file mode 100644 index 000000000..10b7c3e34 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/delphiproject.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/diff.svg b/packages/assets/svgs/ext/Extras/diff.svg index af5789459..6ec56e923 100644 --- a/packages/assets/svgs/ext/Extras/diff.svg +++ b/packages/assets/svgs/ext/Extras/diff.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/docker.svg b/packages/assets/svgs/ext/Extras/docker.svg index 29920ea4e..87ce64b79 100644 --- a/packages/assets/svgs/ext/Extras/docker.svg +++ b/packages/assets/svgs/ext/Extras/docker.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/dockerdebug.svg b/packages/assets/svgs/ext/Extras/dockerdebug.svg index a45ded227..5ea3317d2 100644 --- a/packages/assets/svgs/ext/Extras/dockerdebug.svg +++ b/packages/assets/svgs/ext/Extras/dockerdebug.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/dockerignore.svg b/packages/assets/svgs/ext/Extras/dockerignore.svg index 1f0b7cc63..20c67f68a 100644 --- a/packages/assets/svgs/ext/Extras/dockerignore.svg +++ b/packages/assets/svgs/ext/Extras/dockerignore.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/drawio.svg b/packages/assets/svgs/ext/Extras/drawio.svg index 314a94ca6..1cf50c538 100644 --- a/packages/assets/svgs/ext/Extras/drawio.svg +++ b/packages/assets/svgs/ext/Extras/drawio.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/drizzle.svg b/packages/assets/svgs/ext/Extras/drizzle.svg index 65f859084..4bc62e8f0 100644 --- a/packages/assets/svgs/ext/Extras/drizzle.svg +++ b/packages/assets/svgs/ext/Extras/drizzle.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/dsstore.svg b/packages/assets/svgs/ext/Extras/dsstore.svg index de7f922ea..a1fa69b5c 100644 --- a/packages/assets/svgs/ext/Extras/dsstore.svg +++ b/packages/assets/svgs/ext/Extras/dsstore.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/dune.svg b/packages/assets/svgs/ext/Extras/dune.svg index 8f9d1100f..ea36aacde 100644 --- a/packages/assets/svgs/ext/Extras/dune.svg +++ b/packages/assets/svgs/ext/Extras/dune.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/duneproject.svg b/packages/assets/svgs/ext/Extras/duneproject.svg index 880b53e38..2af658bb0 100644 --- a/packages/assets/svgs/ext/Extras/duneproject.svg +++ b/packages/assets/svgs/ext/Extras/duneproject.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/edge.svg b/packages/assets/svgs/ext/Extras/edge.svg index bd1032840..4a646293c 100644 --- a/packages/assets/svgs/ext/Extras/edge.svg +++ b/packages/assets/svgs/ext/Extras/edge.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/editorconfig.svg b/packages/assets/svgs/ext/Extras/editorconfig.svg index a5affee16..b8ccd267e 100644 --- a/packages/assets/svgs/ext/Extras/editorconfig.svg +++ b/packages/assets/svgs/ext/Extras/editorconfig.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/eex.svg b/packages/assets/svgs/ext/Extras/eex.svg index 932dea93b..8209c8817 100644 --- a/packages/assets/svgs/ext/Extras/eex.svg +++ b/packages/assets/svgs/ext/Extras/eex.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/elixir.svg b/packages/assets/svgs/ext/Extras/elixir.svg index 4b805243e..82f008579 100644 --- a/packages/assets/svgs/ext/Extras/elixir.svg +++ b/packages/assets/svgs/ext/Extras/elixir.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/elm.svg b/packages/assets/svgs/ext/Extras/elm.svg index efbed0f1d..43ba39719 100644 --- a/packages/assets/svgs/ext/Extras/elm.svg +++ b/packages/assets/svgs/ext/Extras/elm.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/env.svg b/packages/assets/svgs/ext/Extras/env.svg index 4672f15f8..bca042b66 100644 --- a/packages/assets/svgs/ext/Extras/env.svg +++ b/packages/assets/svgs/ext/Extras/env.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/eraser.svg b/packages/assets/svgs/ext/Extras/eraser.svg new file mode 100644 index 000000000..012f8dcf5 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/eraser.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/erb.svg b/packages/assets/svgs/ext/Extras/erb.svg index 1ee5ec33d..eae52323e 100644 --- a/packages/assets/svgs/ext/Extras/erb.svg +++ b/packages/assets/svgs/ext/Extras/erb.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/erlang.svg b/packages/assets/svgs/ext/Extras/erlang.svg index 2df3e897c..ddf447139 100644 --- a/packages/assets/svgs/ext/Extras/erlang.svg +++ b/packages/assets/svgs/ext/Extras/erlang.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/esbuild.svg b/packages/assets/svgs/ext/Extras/esbuild.svg index 92f4db509..ff2e0eee8 100644 --- a/packages/assets/svgs/ext/Extras/esbuild.svg +++ b/packages/assets/svgs/ext/Extras/esbuild.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/eslint.svg b/packages/assets/svgs/ext/Extras/eslint.svg index 644a1f2ec..2f3701e58 100644 --- a/packages/assets/svgs/ext/Extras/eslint.svg +++ b/packages/assets/svgs/ext/Extras/eslint.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/eslintignore.svg b/packages/assets/svgs/ext/Extras/eslintignore.svg new file mode 100644 index 000000000..2a985d655 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/eslintignore.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/excalidraw.svg b/packages/assets/svgs/ext/Extras/excalidraw.svg new file mode 100644 index 000000000..cabe9f228 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/excalidraw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/exs.svg b/packages/assets/svgs/ext/Extras/exs.svg index 484debe3d..2a135542b 100644 --- a/packages/assets/svgs/ext/Extras/exs.svg +++ b/packages/assets/svgs/ext/Extras/exs.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/exx.svg b/packages/assets/svgs/ext/Extras/exx.svg index 2fe6658d3..016c9c362 100644 --- a/packages/assets/svgs/ext/Extras/exx.svg +++ b/packages/assets/svgs/ext/Extras/exx.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/farm.svg b/packages/assets/svgs/ext/Extras/farm.svg index 8bc1b8793..96c1da429 100644 --- a/packages/assets/svgs/ext/Extras/farm.svg +++ b/packages/assets/svgs/ext/Extras/farm.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/figma.svg b/packages/assets/svgs/ext/Extras/figma.svg index 7d77693e0..b997000dc 100644 --- a/packages/assets/svgs/ext/Extras/figma.svg +++ b/packages/assets/svgs/ext/Extras/figma.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/file.svg b/packages/assets/svgs/ext/Extras/file.svg new file mode 100644 index 000000000..73e5b0efc --- /dev/null +++ b/packages/assets/svgs/ext/Extras/file.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/file_light.svg b/packages/assets/svgs/ext/Extras/file_light.svg new file mode 100644 index 000000000..d127c1aec --- /dev/null +++ b/packages/assets/svgs/ext/Extras/file_light.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/flakelock.svg b/packages/assets/svgs/ext/Extras/flakelock.svg index e5648328e..d0eae3767 100644 --- a/packages/assets/svgs/ext/Extras/flakelock.svg +++ b/packages/assets/svgs/ext/Extras/flakelock.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/flutter.svg b/packages/assets/svgs/ext/Extras/flutter.svg index 623b344f7..ac7d1b881 100644 --- a/packages/assets/svgs/ext/Extras/flutter.svg +++ b/packages/assets/svgs/ext/Extras/flutter.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/flutterlock.svg b/packages/assets/svgs/ext/Extras/flutterlock.svg index 603815fca..b0b81ff2a 100644 --- a/packages/assets/svgs/ext/Extras/flutterlock.svg +++ b/packages/assets/svgs/ext/Extras/flutterlock.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/flutterpackage.svg b/packages/assets/svgs/ext/Extras/flutterpackage.svg index f2e720742..0c0b176cf 100644 --- a/packages/assets/svgs/ext/Extras/flutterpackage.svg +++ b/packages/assets/svgs/ext/Extras/flutterpackage.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/folder.svg b/packages/assets/svgs/ext/Extras/folder.svg new file mode 100644 index 000000000..c2458d54d --- /dev/null +++ b/packages/assets/svgs/ext/Extras/folder.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/folder_open.svg b/packages/assets/svgs/ext/Extras/folder_open.svg new file mode 100644 index 000000000..46af031b0 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/folder_open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/fonteot.svg b/packages/assets/svgs/ext/Extras/fonteot.svg index 3aee3fd4a..c0ddb9948 100644 --- a/packages/assets/svgs/ext/Extras/fonteot.svg +++ b/packages/assets/svgs/ext/Extras/fonteot.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/fontotf.svg b/packages/assets/svgs/ext/Extras/fontotf.svg index 917478781..d135d8c6f 100644 --- a/packages/assets/svgs/ext/Extras/fontotf.svg +++ b/packages/assets/svgs/ext/Extras/fontotf.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/fontttf.svg b/packages/assets/svgs/ext/Extras/fontttf.svg index c821829c1..1122a4142 100644 --- a/packages/assets/svgs/ext/Extras/fontttf.svg +++ b/packages/assets/svgs/ext/Extras/fontttf.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/fontwoff.svg b/packages/assets/svgs/ext/Extras/fontwoff.svg index 7cc0d1fed..bec25117a 100644 --- a/packages/assets/svgs/ext/Extras/fontwoff.svg +++ b/packages/assets/svgs/ext/Extras/fontwoff.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/fontwoff2.svg b/packages/assets/svgs/ext/Extras/fontwoff2.svg index f8355bb05..2f961de2e 100644 --- a/packages/assets/svgs/ext/Extras/fontwoff2.svg +++ b/packages/assets/svgs/ext/Extras/fontwoff2.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/freemarker.svg b/packages/assets/svgs/ext/Extras/freemarker.svg index 4ddc02a0e..ac115dbb9 100644 --- a/packages/assets/svgs/ext/Extras/freemarker.svg +++ b/packages/assets/svgs/ext/Extras/freemarker.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/fsharp.svg b/packages/assets/svgs/ext/Extras/fsharp.svg index 4f9f8ab84..a2f646c15 100644 --- a/packages/assets/svgs/ext/Extras/fsharp.svg +++ b/packages/assets/svgs/ext/Extras/fsharp.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/gbl.svg b/packages/assets/svgs/ext/Extras/gbl.svg index b93629ad2..c70db9d9a 100644 --- a/packages/assets/svgs/ext/Extras/gbl.svg +++ b/packages/assets/svgs/ext/Extras/gbl.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/git.svg b/packages/assets/svgs/ext/Extras/git.svg index 6a4f94b9c..59034ea72 100644 --- a/packages/assets/svgs/ext/Extras/git.svg +++ b/packages/assets/svgs/ext/Extras/git.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/gitlab.svg b/packages/assets/svgs/ext/Extras/gitlab.svg new file mode 100644 index 000000000..9c7742e8e --- /dev/null +++ b/packages/assets/svgs/ext/Extras/gitlab.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/gleam.svg b/packages/assets/svgs/ext/Extras/gleam.svg new file mode 100644 index 000000000..e142e66e0 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/gleam.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/gleamconfig.svg b/packages/assets/svgs/ext/Extras/gleamconfig.svg new file mode 100644 index 000000000..2b1cc85ef --- /dev/null +++ b/packages/assets/svgs/ext/Extras/gleamconfig.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/go.svg b/packages/assets/svgs/ext/Extras/go.svg new file mode 100644 index 000000000..f566a1d73 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/go.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/go_package.svg b/packages/assets/svgs/ext/Extras/go_package.svg index 130c9f8fe..0586d4329 100644 --- a/packages/assets/svgs/ext/Extras/go_package.svg +++ b/packages/assets/svgs/ext/Extras/go_package.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/godot.svg b/packages/assets/svgs/ext/Extras/godot.svg index 748703a2d..4456761d1 100644 --- a/packages/assets/svgs/ext/Extras/godot.svg +++ b/packages/assets/svgs/ext/Extras/godot.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/gradle.svg b/packages/assets/svgs/ext/Extras/gradle.svg index c8161ac1f..b0eeb0ccc 100644 --- a/packages/assets/svgs/ext/Extras/gradle.svg +++ b/packages/assets/svgs/ext/Extras/gradle.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/gradlebat.svg b/packages/assets/svgs/ext/Extras/gradlebat.svg index 5b98c7350..3a32911fc 100644 --- a/packages/assets/svgs/ext/Extras/gradlebat.svg +++ b/packages/assets/svgs/ext/Extras/gradlebat.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/gradlekotlin.svg b/packages/assets/svgs/ext/Extras/gradlekotlin.svg index 8b85cebe9..9a651b03a 100644 --- a/packages/assets/svgs/ext/Extras/gradlekotlin.svg +++ b/packages/assets/svgs/ext/Extras/gradlekotlin.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/grain.svg b/packages/assets/svgs/ext/Extras/grain.svg index 991825de7..83837c146 100644 --- a/packages/assets/svgs/ext/Extras/grain.svg +++ b/packages/assets/svgs/ext/Extras/grain.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/graphql.svg b/packages/assets/svgs/ext/Extras/graphql.svg new file mode 100644 index 000000000..dc4ab0efb --- /dev/null +++ b/packages/assets/svgs/ext/Extras/graphql.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/groovy.svg b/packages/assets/svgs/ext/Extras/groovy.svg index cc47abfe1..ac8735840 100644 --- a/packages/assets/svgs/ext/Extras/groovy.svg +++ b/packages/assets/svgs/ext/Extras/groovy.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/grunt.svg b/packages/assets/svgs/ext/Extras/grunt.svg index d464e09f4..0933e34af 100644 --- a/packages/assets/svgs/ext/Extras/grunt.svg +++ b/packages/assets/svgs/ext/Extras/grunt.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/gulp.svg b/packages/assets/svgs/ext/Extras/gulp.svg index f01069c0b..08c737508 100644 --- a/packages/assets/svgs/ext/Extras/gulp.svg +++ b/packages/assets/svgs/ext/Extras/gulp.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/h.svg b/packages/assets/svgs/ext/Extras/h.svg index 7efb96372..5211844ae 100644 --- a/packages/assets/svgs/ext/Extras/h.svg +++ b/packages/assets/svgs/ext/Extras/h.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/haml.svg b/packages/assets/svgs/ext/Extras/haml.svg index 4a7f2438b..b47b8225b 100644 --- a/packages/assets/svgs/ext/Extras/haml.svg +++ b/packages/assets/svgs/ext/Extras/haml.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/handlebars.svg b/packages/assets/svgs/ext/Extras/handlebars.svg index 5ad220e49..04276b8f2 100644 --- a/packages/assets/svgs/ext/Extras/handlebars.svg +++ b/packages/assets/svgs/ext/Extras/handlebars.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/hardhat.svg b/packages/assets/svgs/ext/Extras/hardhat.svg index 91f262384..ebee3ad6a 100644 --- a/packages/assets/svgs/ext/Extras/hardhat.svg +++ b/packages/assets/svgs/ext/Extras/hardhat.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/hash.svg b/packages/assets/svgs/ext/Extras/hash.svg new file mode 100644 index 000000000..91669f1cd --- /dev/null +++ b/packages/assets/svgs/ext/Extras/hash.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/hashicorp.svg b/packages/assets/svgs/ext/Extras/hashicorp.svg index 15505757c..d027bc209 100644 --- a/packages/assets/svgs/ext/Extras/hashicorp.svg +++ b/packages/assets/svgs/ext/Extras/hashicorp.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/haskell.svg b/packages/assets/svgs/ext/Extras/haskell.svg index 4d7cf9ad6..80e533375 100644 --- a/packages/assets/svgs/ext/Extras/haskell.svg +++ b/packages/assets/svgs/ext/Extras/haskell.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/haxe.svg b/packages/assets/svgs/ext/Extras/haxe.svg index 7f0507c37..4e223a050 100644 --- a/packages/assets/svgs/ext/Extras/haxe.svg +++ b/packages/assets/svgs/ext/Extras/haxe.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/haxeml.svg b/packages/assets/svgs/ext/Extras/haxeml.svg index 28ce2f1c9..7de8cbf09 100644 --- a/packages/assets/svgs/ext/Extras/haxeml.svg +++ b/packages/assets/svgs/ext/Extras/haxeml.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/hpp.svg b/packages/assets/svgs/ext/Extras/hpp.svg index 94fa1ecf5..429a4f1ef 100644 --- a/packages/assets/svgs/ext/Extras/hpp.svg +++ b/packages/assets/svgs/ext/Extras/hpp.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/htaccess.svg b/packages/assets/svgs/ext/Extras/htaccess.svg index a5a55bce4..06abd56e7 100644 --- a/packages/assets/svgs/ext/Extras/htaccess.svg +++ b/packages/assets/svgs/ext/Extras/htaccess.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/html.svg b/packages/assets/svgs/ext/Extras/html.svg new file mode 100644 index 000000000..be340ec1d --- /dev/null +++ b/packages/assets/svgs/ext/Extras/html.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/http.svg b/packages/assets/svgs/ext/Extras/http.svg new file mode 100644 index 000000000..f58b5acfc --- /dev/null +++ b/packages/assets/svgs/ext/Extras/http.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/identifier.svg b/packages/assets/svgs/ext/Extras/identifier.svg new file mode 100644 index 000000000..535c059a8 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/identifier.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/image.svg b/packages/assets/svgs/ext/Extras/image.svg new file mode 100644 index 000000000..c1a5f83fa --- /dev/null +++ b/packages/assets/svgs/ext/Extras/image.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/imagegif.svg b/packages/assets/svgs/ext/Extras/imagegif.svg new file mode 100644 index 000000000..1e36bb483 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/imagegif.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/imageico.svg b/packages/assets/svgs/ext/Extras/imageico.svg new file mode 100644 index 000000000..fe179dcfb --- /dev/null +++ b/packages/assets/svgs/ext/Extras/imageico.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/imagejpg.svg b/packages/assets/svgs/ext/Extras/imagejpg.svg new file mode 100644 index 000000000..7a6eef46e --- /dev/null +++ b/packages/assets/svgs/ext/Extras/imagejpg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/imagepng.svg b/packages/assets/svgs/ext/Extras/imagepng.svg new file mode 100644 index 000000000..c79e9bf03 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/imagepng.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/imagewebp.svg b/packages/assets/svgs/ext/Extras/imagewebp.svg new file mode 100644 index 000000000..7e60d7f5d --- /dev/null +++ b/packages/assets/svgs/ext/Extras/imagewebp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/imba.svg b/packages/assets/svgs/ext/Extras/imba.svg index c7124f1a4..1c5600944 100644 --- a/packages/assets/svgs/ext/Extras/imba.svg +++ b/packages/assets/svgs/ext/Extras/imba.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/index.ts b/packages/assets/svgs/ext/Extras/index.ts index 4f55fb923..0085f80bb 100644 --- a/packages/assets/svgs/ext/Extras/index.ts +++ b/packages/assets/svgs/ext/Extras/index.ts @@ -3,782 +3,1580 @@ * To regenerate this file, run: pnpm assets gen */ -import React from 'react'; +import React from "react"; -const ace = React.lazy(async () => ({ default: (await import('./ace.svg')).ReactComponent })); -const acemanifest = React.lazy(async () => ({ - default: (await import('./acemanifest.svg')).ReactComponent +const ace = React.lazy(async () => ({ + default: (await import("./ace.svg")).ReactComponent, +})); +const acemanifest = React.lazy(async () => ({ + default: (await import("./acemanifest.svg")).ReactComponent, +})); +const adoc = React.lazy(async () => ({ + default: (await import("./adoc.svg")).ReactComponent, +})); +const adonis = React.lazy(async () => ({ + default: (await import("./adonis.svg")).ReactComponent, })); -const adoc = React.lazy(async () => ({ default: (await import('./adoc.svg')).ReactComponent })); -const adonis = React.lazy(async () => ({ default: (await import('./adonis.svg')).ReactComponent })); const adonisconfig = React.lazy(async () => ({ - default: (await import('./adonisconfig.svg')).ReactComponent + default: (await import("./adonisconfig.svg")).ReactComponent, })); const afdesign = React.lazy(async () => ({ - default: (await import('./afdesign.svg')).ReactComponent + default: (await import("./afdesign.svg")).ReactComponent, })); const afphoto = React.lazy(async () => ({ - default: (await import('./afphoto.svg')).ReactComponent + default: (await import("./afphoto.svg")).ReactComponent, +})); +const afpub = React.lazy(async () => ({ + default: (await import("./afpub.svg")).ReactComponent, +})); +const ai = React.lazy(async () => ({ + default: (await import("./ai.svg")).ReactComponent, +})); +const air = React.lazy(async () => ({ + default: (await import("./air.svg")).ReactComponent, +})); +const angular = React.lazy(async () => ({ + default: (await import("./angular.svg")).ReactComponent, +})); +const anim = React.lazy(async () => ({ + default: (await import("./anim.svg")).ReactComponent, +})); +const astro = React.lazy(async () => ({ + default: (await import("./astro.svg")).ReactComponent, })); -const afpub = React.lazy(async () => ({ default: (await import('./afpub.svg')).ReactComponent })); -const ai = React.lazy(async () => ({ default: (await import('./ai.svg')).ReactComponent })); -const air = React.lazy(async () => ({ default: (await import('./air.svg')).ReactComponent })); -const anim = React.lazy(async () => ({ default: (await import('./anim.svg')).ReactComponent })); -const astro = React.lazy(async () => ({ default: (await import('./astro.svg')).ReactComponent })); const astroconfig = React.lazy(async () => ({ - default: (await import('./astroconfig.svg')).ReactComponent + default: (await import("./astroconfig.svg")).ReactComponent, })); const atomizer = React.lazy(async () => ({ - default: (await import('./atomizer.svg')).ReactComponent + default: (await import("./atomizer.svg")).ReactComponent, +})); +const audio = React.lazy(async () => ({ + default: (await import("./audio.svg")).ReactComponent, +})); +const audiomp3 = React.lazy(async () => ({ + default: (await import("./audiomp3.svg")).ReactComponent, +})); +const audioogg = React.lazy(async () => ({ + default: (await import("./audioogg.svg")).ReactComponent, +})); +const audiowav = React.lazy(async () => ({ + default: (await import("./audiowav.svg")).ReactComponent, +})); +const audiowv = React.lazy(async () => ({ + default: (await import("./audiowv.svg")).ReactComponent, +})); +const azure = React.lazy(async () => ({ + default: (await import("./azure.svg")).ReactComponent, +})); +const babel = React.lazy(async () => ({ + default: (await import("./babel.svg")).ReactComponent, +})); +const ballerina = React.lazy(async () => ({ + default: (await import("./ballerina.svg")).ReactComponent, +})); +const ballerinaconfig = React.lazy(async () => ({ + default: (await import("./ballerinaconfig.svg")).ReactComponent, +})); +const bat = React.lazy(async () => ({ + default: (await import("./bat.svg")).ReactComponent, +})); +const bazel = React.lazy(async () => ({ + default: (await import("./bazel.svg")).ReactComponent, +})); +const bazelignore = React.lazy(async () => ({ + default: (await import("./bazelignore.svg")).ReactComponent, +})); +const bicep = React.lazy(async () => ({ + default: (await import("./bicep.svg")).ReactComponent, +})); +const bicepconfig = React.lazy(async () => ({ + default: (await import("./bicepconfig.svg")).ReactComponent, })); -const azure = React.lazy(async () => ({ default: (await import('./azure.svg')).ReactComponent })); -const babel = React.lazy(async () => ({ default: (await import('./babel.svg')).ReactComponent })); -const bat = React.lazy(async () => ({ default: (await import('./bat.svg')).ReactComponent })); -const bicep = React.lazy(async () => ({ default: (await import('./bicep.svg')).ReactComponent })); const bicepparam = React.lazy(async () => ({ - default: (await import('./bicepparam.svg')).ReactComponent + default: (await import("./bicepparam.svg")).ReactComponent, +})); +const binary = React.lazy(async () => ({ + default: (await import("./binary.svg")).ReactComponent, +})); +const biome = React.lazy(async () => ({ + default: (await import("./biome.svg")).ReactComponent, +})); +const blade = React.lazy(async () => ({ + default: (await import("./blade.svg")).ReactComponent, +})); +const brotli = React.lazy(async () => ({ + default: (await import("./brotli.svg")).ReactComponent, })); -const binary = React.lazy(async () => ({ default: (await import('./binary.svg')).ReactComponent })); -const blade = React.lazy(async () => ({ default: (await import('./blade.svg')).ReactComponent })); -const brotli = React.lazy(async () => ({ default: (await import('./brotli.svg')).ReactComponent })); const browserslist = React.lazy(async () => ({ - default: (await import('./browserslist.svg')).ReactComponent + default: (await import("./browserslist.svg")).ReactComponent, +})); +const bruno = React.lazy(async () => ({ + default: (await import("./bruno.svg")).ReactComponent, })); const bsconfig = React.lazy(async () => ({ - default: (await import('./bsconfig.svg')).ReactComponent + default: (await import("./bsconfig.svg")).ReactComponent, +})); +const buck = React.lazy(async () => ({ + default: (await import("./buck.svg")).ReactComponent, +})); +const bun = React.lazy(async () => ({ + default: (await import("./bun.svg")).ReactComponent, })); const bundler = React.lazy(async () => ({ - default: (await import('./bundler.svg')).ReactComponent + default: (await import("./bundler.svg")).ReactComponent, +})); +const bunlock = React.lazy(async () => ({ + default: (await import("./bunlock.svg")).ReactComponent, +})); +const c = React.lazy(async () => ({ + default: (await import("./c.svg")).ReactComponent, +})); +const cargo = React.lazy(async () => ({ + default: (await import("./cargo.svg")).ReactComponent, })); -const cargo = React.lazy(async () => ({ default: (await import('./cargo.svg')).ReactComponent })); const cargolock = React.lazy(async () => ({ - default: (await import('./cargolock.svg')).ReactComponent + default: (await import("./cargolock.svg")).ReactComponent, +})); +const cert = React.lazy(async () => ({ + default: (await import("./cert.svg")).ReactComponent, })); -const cert = React.lazy(async () => ({ default: (await import('./cert.svg')).ReactComponent })); const cheader = React.lazy(async () => ({ - default: (await import('./cheader.svg')).ReactComponent + default: (await import("./cheader.svg")).ReactComponent, +})); +const civet = React.lazy(async () => ({ + default: (await import("./civet.svg")).ReactComponent, +})); +const claude = React.lazy(async () => ({ + default: (await import("./claude.svg")).ReactComponent, +})); +const cli = React.lazy(async () => ({ + default: (await import("./cli.svg")).ReactComponent, })); -const civet = React.lazy(async () => ({ default: (await import('./civet.svg')).ReactComponent })); -const cli = React.lazy(async () => ({ default: (await import('./cli.svg')).ReactComponent })); const clojure = React.lazy(async () => ({ - default: (await import('./clojure.svg')).ReactComponent + default: (await import("./clojure.svg")).ReactComponent, +})); +const cmake = React.lazy(async () => ({ + default: (await import("./cmake.svg")).ReactComponent, })); const codeworkspace = React.lazy(async () => ({ - default: (await import('./codeworkspace.svg')).ReactComponent + default: (await import("./codeworkspace.svg")).ReactComponent, +})); +const coffeescript = React.lazy(async () => ({ + default: (await import("./coffeescript.svg")).ReactComponent, })); const commitlint = React.lazy(async () => ({ - default: (await import('./commitlint.svg')).ReactComponent + default: (await import("./commitlint.svg")).ReactComponent, })); const compodoc = React.lazy(async () => ({ - default: (await import('./compodoc.svg')).ReactComponent + default: (await import("./compodoc.svg")).ReactComponent, })); const composer = React.lazy(async () => ({ - default: (await import('./composer.svg')).ReactComponent + default: (await import("./composer.svg")).ReactComponent, })); const composerlock = React.lazy(async () => ({ - default: (await import('./composerlock.svg')).ReactComponent + default: (await import("./composerlock.svg")).ReactComponent, +})); +const conan = React.lazy(async () => ({ + default: (await import("./conan.svg")).ReactComponent, +})); +const conf = React.lazy(async () => ({ + default: (await import("./conf.svg")).ReactComponent, +})); +const copilot = React.lazy(async () => ({ + default: (await import("./copilot.svg")).ReactComponent, +})); +const cpp = React.lazy(async () => ({ + default: (await import("./cpp.svg")).ReactComponent, })); -const conan = React.lazy(async () => ({ default: (await import('./conan.svg')).ReactComponent })); -const conf = React.lazy(async () => ({ default: (await import('./conf.svg')).ReactComponent })); const crystal = React.lazy(async () => ({ - default: (await import('./crystal.svg')).ReactComponent + default: (await import("./crystal.svg")).ReactComponent, +})); +const csharp = React.lazy(async () => ({ + default: (await import("./csharp.svg")).ReactComponent, +})); +const cshtml = React.lazy(async () => ({ + default: (await import("./cshtml.svg")).ReactComponent, +})); +const csproj = React.lazy(async () => ({ + default: (await import("./csproj.svg")).ReactComponent, +})); +const css = React.lazy(async () => ({ + default: (await import("./css.svg")).ReactComponent, +})); +const cssmap = React.lazy(async () => ({ + default: (await import("./cssmap.svg")).ReactComponent, +})); +const csv = React.lazy(async () => ({ + default: (await import("./csv.svg")).ReactComponent, })); -const cshtml = React.lazy(async () => ({ default: (await import('./cshtml.svg')).ReactComponent })); -const csproj = React.lazy(async () => ({ default: (await import('./csproj.svg')).ReactComponent })); -const cssmap = React.lazy(async () => ({ default: (await import('./cssmap.svg')).ReactComponent })); -const csv = React.lazy(async () => ({ default: (await import('./csv.svg')).ReactComponent })); const cucumber = React.lazy(async () => ({ - default: (await import('./cucumber.svg')).ReactComponent + default: (await import("./cucumber.svg")).ReactComponent, +})); +const cursor = React.lazy(async () => ({ + default: (await import("./cursor.svg")).ReactComponent, })); const cypress = React.lazy(async () => ({ - default: (await import('./cypress.svg')).ReactComponent + default: (await import("./cypress.svg")).ReactComponent, })); const cypressjs = React.lazy(async () => ({ - default: (await import('./cypressjs.svg')).ReactComponent + default: (await import("./cypressjs.svg")).ReactComponent, })); const cypressts = React.lazy(async () => ({ - default: (await import('./cypressts.svg')).ReactComponent + default: (await import("./cypressts.svg")).ReactComponent, +})); +const d = React.lazy(async () => ({ + default: (await import("./d.svg")).ReactComponent, +})); +const dartlang = React.lazy(async () => ({ + default: (await import("./dartlang.svg")).ReactComponent, +})); +const delphiproject = React.lazy(async () => ({ + default: (await import("./delphiproject.svg")).ReactComponent, +})); +const diff = React.lazy(async () => ({ + default: (await import("./diff.svg")).ReactComponent, +})); +const docker = React.lazy(async () => ({ + default: (await import("./docker.svg")).ReactComponent, })); -const d = React.lazy(async () => ({ default: (await import('./d.svg')).ReactComponent })); -const diff = React.lazy(async () => ({ default: (await import('./diff.svg')).ReactComponent })); -const docker = React.lazy(async () => ({ default: (await import('./docker.svg')).ReactComponent })); const dockerdebug = React.lazy(async () => ({ - default: (await import('./dockerdebug.svg')).ReactComponent + default: (await import("./dockerdebug.svg")).ReactComponent, })); const dockerignore = React.lazy(async () => ({ - default: (await import('./dockerignore.svg')).ReactComponent + default: (await import("./dockerignore.svg")).ReactComponent, +})); +const drawio = React.lazy(async () => ({ + default: (await import("./drawio.svg")).ReactComponent, })); -const drawio = React.lazy(async () => ({ default: (await import('./drawio.svg')).ReactComponent })); const drizzle = React.lazy(async () => ({ - default: (await import('./drizzle.svg')).ReactComponent + default: (await import("./drizzle.svg")).ReactComponent, })); const dsstore = React.lazy(async () => ({ - default: (await import('./dsstore.svg')).ReactComponent + default: (await import("./dsstore.svg")).ReactComponent, +})); +const dune = React.lazy(async () => ({ + default: (await import("./dune.svg")).ReactComponent, })); -const dune = React.lazy(async () => ({ default: (await import('./dune.svg')).ReactComponent })); const duneproject = React.lazy(async () => ({ - default: (await import('./duneproject.svg')).ReactComponent + default: (await import("./duneproject.svg")).ReactComponent, +})); +const edge = React.lazy(async () => ({ + default: (await import("./edge.svg")).ReactComponent, })); -const edge = React.lazy(async () => ({ default: (await import('./edge.svg')).ReactComponent })); const editorconfig = React.lazy(async () => ({ - default: (await import('./editorconfig.svg')).ReactComponent + default: (await import("./editorconfig.svg")).ReactComponent, +})); +const eex = React.lazy(async () => ({ + default: (await import("./eex.svg")).ReactComponent, +})); +const elixir = React.lazy(async () => ({ + default: (await import("./elixir.svg")).ReactComponent, +})); +const elm = React.lazy(async () => ({ + default: (await import("./elm.svg")).ReactComponent, +})); +const env = React.lazy(async () => ({ + default: (await import("./env.svg")).ReactComponent, +})); +const eraser = React.lazy(async () => ({ + default: (await import("./eraser.svg")).ReactComponent, +})); +const erb = React.lazy(async () => ({ + default: (await import("./erb.svg")).ReactComponent, +})); +const erlang = React.lazy(async () => ({ + default: (await import("./erlang.svg")).ReactComponent, })); -const eex = React.lazy(async () => ({ default: (await import('./eex.svg')).ReactComponent })); -const elixir = React.lazy(async () => ({ default: (await import('./elixir.svg')).ReactComponent })); -const elm = React.lazy(async () => ({ default: (await import('./elm.svg')).ReactComponent })); -const env = React.lazy(async () => ({ default: (await import('./env.svg')).ReactComponent })); -const erb = React.lazy(async () => ({ default: (await import('./erb.svg')).ReactComponent })); -const erlang = React.lazy(async () => ({ default: (await import('./erlang.svg')).ReactComponent })); const esbuild = React.lazy(async () => ({ - default: (await import('./esbuild.svg')).ReactComponent + default: (await import("./esbuild.svg")).ReactComponent, +})); +const eslint = React.lazy(async () => ({ + default: (await import("./eslint.svg")).ReactComponent, +})); +const eslintignore = React.lazy(async () => ({ + default: (await import("./eslintignore.svg")).ReactComponent, +})); +const excalidraw = React.lazy(async () => ({ + default: (await import("./excalidraw.svg")).ReactComponent, +})); +const exs = React.lazy(async () => ({ + default: (await import("./exs.svg")).ReactComponent, +})); +const exx = React.lazy(async () => ({ + default: (await import("./exx.svg")).ReactComponent, +})); +const farm = React.lazy(async () => ({ + default: (await import("./farm.svg")).ReactComponent, +})); +const figma = React.lazy(async () => ({ + default: (await import("./figma.svg")).ReactComponent, +})); +const file = React.lazy(async () => ({ + default: (await import("./file.svg")).ReactComponent, +})); +const file_light = React.lazy(async () => ({ + default: (await import("./file_light.svg")).ReactComponent, })); -const eslint = React.lazy(async () => ({ default: (await import('./eslint.svg')).ReactComponent })); -const exs = React.lazy(async () => ({ default: (await import('./exs.svg')).ReactComponent })); -const exx = React.lazy(async () => ({ default: (await import('./exx.svg')).ReactComponent })); -const farm = React.lazy(async () => ({ default: (await import('./farm.svg')).ReactComponent })); -const figma = React.lazy(async () => ({ default: (await import('./figma.svg')).ReactComponent })); const flakelock = React.lazy(async () => ({ - default: (await import('./flakelock.svg')).ReactComponent + default: (await import("./flakelock.svg")).ReactComponent, })); const flutter = React.lazy(async () => ({ - default: (await import('./flutter.svg')).ReactComponent + default: (await import("./flutter.svg")).ReactComponent, })); const flutterlock = React.lazy(async () => ({ - default: (await import('./flutterlock.svg')).ReactComponent + default: (await import("./flutterlock.svg")).ReactComponent, })); const flutterpackage = React.lazy(async () => ({ - default: (await import('./flutterpackage.svg')).ReactComponent + default: (await import("./flutterpackage.svg")).ReactComponent, +})); +const folder = React.lazy(async () => ({ + default: (await import("./folder.svg")).ReactComponent, +})); +const folder_open = React.lazy(async () => ({ + default: (await import("./folder_open.svg")).ReactComponent, })); const fonteot = React.lazy(async () => ({ - default: (await import('./fonteot.svg')).ReactComponent + default: (await import("./fonteot.svg")).ReactComponent, })); const fontotf = React.lazy(async () => ({ - default: (await import('./fontotf.svg')).ReactComponent + default: (await import("./fontotf.svg")).ReactComponent, })); const fontttf = React.lazy(async () => ({ - default: (await import('./fontttf.svg')).ReactComponent + default: (await import("./fontttf.svg")).ReactComponent, })); const fontwoff = React.lazy(async () => ({ - default: (await import('./fontwoff.svg')).ReactComponent + default: (await import("./fontwoff.svg")).ReactComponent, })); const fontwoff2 = React.lazy(async () => ({ - default: (await import('./fontwoff2.svg')).ReactComponent + default: (await import("./fontwoff2.svg")).ReactComponent, })); const freemarker = React.lazy(async () => ({ - default: (await import('./freemarker.svg')).ReactComponent + default: (await import("./freemarker.svg")).ReactComponent, +})); +const fsharp = React.lazy(async () => ({ + default: (await import("./fsharp.svg")).ReactComponent, +})); +const gbl = React.lazy(async () => ({ + default: (await import("./gbl.svg")).ReactComponent, +})); +const git = React.lazy(async () => ({ + default: (await import("./git.svg")).ReactComponent, +})); +const gitlab = React.lazy(async () => ({ + default: (await import("./gitlab.svg")).ReactComponent, +})); +const gleam = React.lazy(async () => ({ + default: (await import("./gleam.svg")).ReactComponent, +})); +const gleamconfig = React.lazy(async () => ({ + default: (await import("./gleamconfig.svg")).ReactComponent, +})); +const go = React.lazy(async () => ({ + default: (await import("./go.svg")).ReactComponent, })); -const fsharp = React.lazy(async () => ({ default: (await import('./fsharp.svg')).ReactComponent })); -const gbl = React.lazy(async () => ({ default: (await import('./gbl.svg')).ReactComponent })); -const git = React.lazy(async () => ({ default: (await import('./git.svg')).ReactComponent })); const go_package = React.lazy(async () => ({ - default: (await import('./go_package.svg')).ReactComponent + default: (await import("./go_package.svg")).ReactComponent, +})); +const godot = React.lazy(async () => ({ + default: (await import("./godot.svg")).ReactComponent, +})); +const gradle = React.lazy(async () => ({ + default: (await import("./gradle.svg")).ReactComponent, })); -const godot = React.lazy(async () => ({ default: (await import('./godot.svg')).ReactComponent })); -const gradle = React.lazy(async () => ({ default: (await import('./gradle.svg')).ReactComponent })); const gradlebat = React.lazy(async () => ({ - default: (await import('./gradlebat.svg')).ReactComponent + default: (await import("./gradlebat.svg")).ReactComponent, })); const gradlekotlin = React.lazy(async () => ({ - default: (await import('./gradlekotlin.svg')).ReactComponent + default: (await import("./gradlekotlin.svg")).ReactComponent, +})); +const grain = React.lazy(async () => ({ + default: (await import("./grain.svg")).ReactComponent, +})); +const graphql = React.lazy(async () => ({ + default: (await import("./graphql.svg")).ReactComponent, +})); +const groovy = React.lazy(async () => ({ + default: (await import("./groovy.svg")).ReactComponent, +})); +const grunt = React.lazy(async () => ({ + default: (await import("./grunt.svg")).ReactComponent, +})); +const gulp = React.lazy(async () => ({ + default: (await import("./gulp.svg")).ReactComponent, +})); +const h = React.lazy(async () => ({ + default: (await import("./h.svg")).ReactComponent, +})); +const haml = React.lazy(async () => ({ + default: (await import("./haml.svg")).ReactComponent, })); -const grain = React.lazy(async () => ({ default: (await import('./grain.svg')).ReactComponent })); -const groovy = React.lazy(async () => ({ default: (await import('./groovy.svg')).ReactComponent })); -const grunt = React.lazy(async () => ({ default: (await import('./grunt.svg')).ReactComponent })); -const gulp = React.lazy(async () => ({ default: (await import('./gulp.svg')).ReactComponent })); -const h = React.lazy(async () => ({ default: (await import('./h.svg')).ReactComponent })); -const haml = React.lazy(async () => ({ default: (await import('./haml.svg')).ReactComponent })); const handlebars = React.lazy(async () => ({ - default: (await import('./handlebars.svg')).ReactComponent + default: (await import("./handlebars.svg")).ReactComponent, })); const hardhat = React.lazy(async () => ({ - default: (await import('./hardhat.svg')).ReactComponent + default: (await import("./hardhat.svg")).ReactComponent, +})); +const hash = React.lazy(async () => ({ + default: (await import("./hash.svg")).ReactComponent, })); const hashicorp = React.lazy(async () => ({ - default: (await import('./hashicorp.svg')).ReactComponent + default: (await import("./hashicorp.svg")).ReactComponent, })); const haskell = React.lazy(async () => ({ - default: (await import('./haskell.svg')).ReactComponent + default: (await import("./haskell.svg")).ReactComponent, +})); +const haxe = React.lazy(async () => ({ + default: (await import("./haxe.svg")).ReactComponent, +})); +const haxeml = React.lazy(async () => ({ + default: (await import("./haxeml.svg")).ReactComponent, +})); +const hpp = React.lazy(async () => ({ + default: (await import("./hpp.svg")).ReactComponent, })); -const haxe = React.lazy(async () => ({ default: (await import('./haxe.svg')).ReactComponent })); -const haxeml = React.lazy(async () => ({ default: (await import('./haxeml.svg')).ReactComponent })); -const hpp = React.lazy(async () => ({ default: (await import('./hpp.svg')).ReactComponent })); const htaccess = React.lazy(async () => ({ - default: (await import('./htaccess.svg')).ReactComponent + default: (await import("./htaccess.svg")).ReactComponent, +})); +const html = React.lazy(async () => ({ + default: (await import("./html.svg")).ReactComponent, +})); +const http = React.lazy(async () => ({ + default: (await import("./http.svg")).ReactComponent, +})); +const identifier = React.lazy(async () => ({ + default: (await import("./identifier.svg")).ReactComponent, +})); +const image = React.lazy(async () => ({ + default: (await import("./image.svg")).ReactComponent, +})); +const imagegif = React.lazy(async () => ({ + default: (await import("./imagegif.svg")).ReactComponent, +})); +const imageico = React.lazy(async () => ({ + default: (await import("./imageico.svg")).ReactComponent, +})); +const imagejpg = React.lazy(async () => ({ + default: (await import("./imagejpg.svg")).ReactComponent, +})); +const imagepng = React.lazy(async () => ({ + default: (await import("./imagepng.svg")).ReactComponent, +})); +const imagewebp = React.lazy(async () => ({ + default: (await import("./imagewebp.svg")).ReactComponent, +})); +const imba = React.lazy(async () => ({ + default: (await import("./imba.svg")).ReactComponent, +})); +const info = React.lazy(async () => ({ + default: (await import("./info.svg")).ReactComponent, +})); +const instructions = React.lazy(async () => ({ + default: (await import("./instructions.svg")).ReactComponent, +})); +const ipynb = React.lazy(async () => ({ + default: (await import("./ipynb.svg")).ReactComponent, +})); +const jar = React.lazy(async () => ({ + default: (await import("./jar.svg")).ReactComponent, +})); +const java = React.lazy(async () => ({ + default: (await import("./java.svg")).ReactComponent, })); -const imba = React.lazy(async () => ({ default: (await import('./imba.svg')).ReactComponent })); -const info = React.lazy(async () => ({ default: (await import('./info.svg')).ReactComponent })); -const ipynb = React.lazy(async () => ({ default: (await import('./ipynb.svg')).ReactComponent })); -const jar = React.lazy(async () => ({ default: (await import('./jar.svg')).ReactComponent })); const jenkins = React.lazy(async () => ({ - default: (await import('./jenkins.svg')).ReactComponent + default: (await import("./jenkins.svg")).ReactComponent, +})); +const jest = React.lazy(async () => ({ + default: (await import("./jest.svg")).ReactComponent, +})); +const jinja = React.lazy(async () => ({ + default: (await import("./jinja.svg")).ReactComponent, +})); +const js = React.lazy(async () => ({ + default: (await import("./js.svg")).ReactComponent, +})); +const jsmap = React.lazy(async () => ({ + default: (await import("./jsmap.svg")).ReactComponent, +})); +const json = React.lazy(async () => ({ + default: (await import("./json.svg")).ReactComponent, +})); +const jsp = React.lazy(async () => ({ + default: (await import("./jsp.svg")).ReactComponent, +})); +const julia = React.lazy(async () => ({ + default: (await import("./julia.svg")).ReactComponent, +})); +const karma = React.lazy(async () => ({ + default: (await import("./karma.svg")).ReactComponent, +})); +const keep = React.lazy(async () => ({ + default: (await import("./keep.svg")).ReactComponent, +})); +const key = React.lazy(async () => ({ + default: (await import("./key.svg")).ReactComponent, +})); +const knex = React.lazy(async () => ({ + default: (await import("./knex.svg")).ReactComponent, +})); +const knip = React.lazy(async () => ({ + default: (await import("./knip.svg")).ReactComponent, +})); +const kotlin = React.lazy(async () => ({ + default: (await import("./kotlin.svg")).ReactComponent, })); -const jest = React.lazy(async () => ({ default: (await import('./jest.svg')).ReactComponent })); -const jinja = React.lazy(async () => ({ default: (await import('./jinja.svg')).ReactComponent })); -const jsmap = React.lazy(async () => ({ default: (await import('./jsmap.svg')).ReactComponent })); -const json = React.lazy(async () => ({ default: (await import('./json.svg')).ReactComponent })); -const jsp = React.lazy(async () => ({ default: (await import('./jsp.svg')).ReactComponent })); -const julia = React.lazy(async () => ({ default: (await import('./julia.svg')).ReactComponent })); -const karma = React.lazy(async () => ({ default: (await import('./karma.svg')).ReactComponent })); -const key = React.lazy(async () => ({ default: (await import('./key.svg')).ReactComponent })); -const knex = React.lazy(async () => ({ default: (await import('./knex.svg')).ReactComponent })); const kotlins = React.lazy(async () => ({ - default: (await import('./kotlins.svg')).ReactComponent + default: (await import("./kotlins.svg")).ReactComponent, +})); +const krita = React.lazy(async () => ({ + default: (await import("./krita.svg")).ReactComponent, +})); +const latex = React.lazy(async () => ({ + default: (await import("./latex.svg")).ReactComponent, +})); +const launch = React.lazy(async () => ({ + default: (await import("./launch.svg")).ReactComponent, +})); +const lazarusproject = React.lazy(async () => ({ + default: (await import("./lazarusproject.svg")).ReactComponent, +})); +const less = React.lazy(async () => ({ + default: (await import("./less.svg")).ReactComponent, })); -const krita = React.lazy(async () => ({ default: (await import('./krita.svg')).ReactComponent })); -const latex = React.lazy(async () => ({ default: (await import('./latex.svg')).ReactComponent })); -const launch = React.lazy(async () => ({ default: (await import('./launch.svg')).ReactComponent })); -const less = React.lazy(async () => ({ default: (await import('./less.svg')).ReactComponent })); const license = React.lazy(async () => ({ - default: (await import('./license.svg')).ReactComponent + default: (await import("./license.svg")).ReactComponent, })); const light_editorconfig = React.lazy(async () => ({ - default: (await import('./light_editorconfig.svg')).ReactComponent + default: (await import("./light_editorconfig.svg")).ReactComponent, +})); +const liquid = React.lazy(async () => ({ + default: (await import("./liquid.svg")).ReactComponent, +})); +const llvm = React.lazy(async () => ({ + default: (await import("./llvm.svg")).ReactComponent, +})); +const lock = React.lazy(async () => ({ + default: (await import("./lock.svg")).ReactComponent, +})); +const log = React.lazy(async () => ({ + default: (await import("./log.svg")).ReactComponent, +})); +const lua = React.lazy(async () => ({ + default: (await import("./lua.svg")).ReactComponent, +})); +const m = React.lazy(async () => ({ + default: (await import("./m.svg")).ReactComponent, })); -const liquid = React.lazy(async () => ({ default: (await import('./liquid.svg')).ReactComponent })); -const llvm = React.lazy(async () => ({ default: (await import('./llvm.svg')).ReactComponent })); -const log = React.lazy(async () => ({ default: (await import('./log.svg')).ReactComponent })); -const lua = React.lazy(async () => ({ default: (await import('./lua.svg')).ReactComponent })); -const m = React.lazy(async () => ({ default: (await import('./m.svg')).ReactComponent })); const makefile = React.lazy(async () => ({ - default: (await import('./makefile.svg')).ReactComponent + default: (await import("./makefile.svg")).ReactComponent, })); const manifest = React.lazy(async () => ({ - default: (await import('./manifest.svg')).ReactComponent + default: (await import("./manifest.svg")).ReactComponent, })); const markdown = React.lazy(async () => ({ - default: (await import('./markdown.svg')).ReactComponent + default: (await import("./markdown.svg")).ReactComponent, })); const markdownx = React.lazy(async () => ({ - default: (await import('./markdownx.svg')).ReactComponent + default: (await import("./markdownx.svg")).ReactComponent, +})); +const maven = React.lazy(async () => ({ + default: (await import("./maven.svg")).ReactComponent, +})); +const mermaid = React.lazy(async () => ({ + default: (await import("./mermaid.svg")).ReactComponent, +})); +const mesh = React.lazy(async () => ({ + default: (await import("./mesh.svg")).ReactComponent, +})); +const mgcb = React.lazy(async () => ({ + default: (await import("./mgcb.svg")).ReactComponent, +})); +const mint = React.lazy(async () => ({ + default: (await import("./mint.svg")).ReactComponent, +})); +const mix = React.lazy(async () => ({ + default: (await import("./mix.svg")).ReactComponent, })); -const maven = React.lazy(async () => ({ default: (await import('./maven.svg')).ReactComponent })); -const mesh = React.lazy(async () => ({ default: (await import('./mesh.svg')).ReactComponent })); -const mgcb = React.lazy(async () => ({ default: (await import('./mgcb.svg')).ReactComponent })); -const mint = React.lazy(async () => ({ default: (await import('./mint.svg')).ReactComponent })); -const mix = React.lazy(async () => ({ default: (await import('./mix.svg')).ReactComponent })); const mixlock = React.lazy(async () => ({ - default: (await import('./mixlock.svg')).ReactComponent + default: (await import("./mixlock.svg")).ReactComponent, +})); +const mjml = React.lazy(async () => ({ + default: (await import("./mjml.svg")).ReactComponent, +})); +const mkdocs = React.lazy(async () => ({ + default: (await import("./mkdocs.svg")).ReactComponent, +})); +const mockoon = React.lazy(async () => ({ + default: (await import("./mockoon.svg")).ReactComponent, +})); +const motoko = React.lazy(async () => ({ + default: (await import("./motoko.svg")).ReactComponent, +})); +const mov = React.lazy(async () => ({ + default: (await import("./mov.svg")).ReactComponent, +})); +const mp4 = React.lazy(async () => ({ + default: (await import("./mp4.svg")).ReactComponent, +})); +const mtl = React.lazy(async () => ({ + default: (await import("./mtl.svg")).ReactComponent, })); -const mjml = React.lazy(async () => ({ default: (await import('./mjml.svg')).ReactComponent })); -const motoko = React.lazy(async () => ({ default: (await import('./motoko.svg')).ReactComponent })); -const mov = React.lazy(async () => ({ default: (await import('./mov.svg')).ReactComponent })); -const mp4 = React.lazy(async () => ({ default: (await import('./mp4.svg')).ReactComponent })); -const mtl = React.lazy(async () => ({ default: (await import('./mtl.svg')).ReactComponent })); const mustache = React.lazy(async () => ({ - default: (await import('./mustache.svg')).ReactComponent + default: (await import("./mustache.svg")).ReactComponent, +})); +const nelua = React.lazy(async () => ({ + default: (await import("./nelua.svg")).ReactComponent, +})); +const neon = React.lazy(async () => ({ + default: (await import("./neon.svg")).ReactComponent, +})); +const nestjs = React.lazy(async () => ({ + default: (await import("./nestjs.svg")).ReactComponent, })); -const neon = React.lazy(async () => ({ default: (await import('./neon.svg')).ReactComponent })); -const nestjs = React.lazy(async () => ({ default: (await import('./nestjs.svg')).ReactComponent })); const nestjscontroller = React.lazy(async () => ({ - default: (await import('./nestjscontroller.svg')).ReactComponent + default: (await import("./nestjscontroller.svg")).ReactComponent, })); const nestjsdecorator = React.lazy(async () => ({ - default: (await import('./nestjsdecorator.svg')).ReactComponent + default: (await import("./nestjsdecorator.svg")).ReactComponent, +})); +const nestjsdto = React.lazy(async () => ({ + default: (await import("./nestjsdto.svg")).ReactComponent, +})); +const nestjsentity = React.lazy(async () => ({ + default: (await import("./nestjsentity.svg")).ReactComponent, })); const nestjsfilter = React.lazy(async () => ({ - default: (await import('./nestjsfilter.svg')).ReactComponent + default: (await import("./nestjsfilter.svg")).ReactComponent, })); const nestjsguard = React.lazy(async () => ({ - default: (await import('./nestjsguard.svg')).ReactComponent + default: (await import("./nestjsguard.svg")).ReactComponent, +})); +const nestjsinterceptor = React.lazy(async () => ({ + default: (await import("./nestjsinterceptor.svg")).ReactComponent, })); const nestjsmodule = React.lazy(async () => ({ - default: (await import('./nestjsmodule.svg')).ReactComponent + default: (await import("./nestjsmodule.svg")).ReactComponent, +})); +const nestjsrepository = React.lazy(async () => ({ + default: (await import("./nestjsrepository.svg")).ReactComponent, +})); +const nestjsresolver = React.lazy(async () => ({ + default: (await import("./nestjsresolver.svg")).ReactComponent, })); const nestjsservice = React.lazy(async () => ({ - default: (await import('./nestjsservice.svg')).ReactComponent + default: (await import("./nestjsservice.svg")).ReactComponent, +})); +const nestscheduler = React.lazy(async () => ({ + default: (await import("./nestscheduler.svg")).ReactComponent, })); const netlify = React.lazy(async () => ({ - default: (await import('./netlify.svg')).ReactComponent + default: (await import("./netlify.svg")).ReactComponent, })); const nextconfig = React.lazy(async () => ({ - default: (await import('./nextconfig.svg')).ReactComponent + default: (await import("./nextconfig.svg")).ReactComponent, })); const nextron = React.lazy(async () => ({ - default: (await import('./nextron.svg')).ReactComponent + default: (await import("./nextron.svg")).ReactComponent, +})); +const nginx = React.lazy(async () => ({ + default: (await import("./nginx.svg")).ReactComponent, +})); +const nim = React.lazy(async () => ({ + default: (await import("./nim.svg")).ReactComponent, +})); +const nix = React.lazy(async () => ({ + default: (await import("./nix.svg")).ReactComponent, +})); +const njk = React.lazy(async () => ({ + default: (await import("./njk.svg")).ReactComponent, +})); +const node = React.lazy(async () => ({ + default: (await import("./node.svg")).ReactComponent, })); -const nginx = React.lazy(async () => ({ default: (await import('./nginx.svg')).ReactComponent })); -const nim = React.lazy(async () => ({ default: (await import('./nim.svg')).ReactComponent })); -const nix = React.lazy(async () => ({ default: (await import('./nix.svg')).ReactComponent })); -const njk = React.lazy(async () => ({ default: (await import('./njk.svg')).ReactComponent })); const nodemon = React.lazy(async () => ({ - default: (await import('./nodemon.svg')).ReactComponent + default: (await import("./nodemon.svg")).ReactComponent, +})); +const npm = React.lazy(async () => ({ + default: (await import("./npm.svg")).ReactComponent, })); -const npm = React.lazy(async () => ({ default: (await import('./npm.svg')).ReactComponent })); const npmlock = React.lazy(async () => ({ - default: (await import('./npmlock.svg')).ReactComponent + default: (await import("./npmlock.svg")).ReactComponent, +})); +const nuxt = React.lazy(async () => ({ + default: (await import("./nuxt.svg")).ReactComponent, +})); +const nvidia = React.lazy(async () => ({ + default: (await import("./nvidia.svg")).ReactComponent, +})); +const nvim = React.lazy(async () => ({ + default: (await import("./nvim.svg")).ReactComponent, +})); +const nvm = React.lazy(async () => ({ + default: (await import("./nvm.svg")).ReactComponent, +})); +const nx = React.lazy(async () => ({ + default: (await import("./nx.svg")).ReactComponent, +})); +const obj = React.lazy(async () => ({ + default: (await import("./obj.svg")).ReactComponent, +})); +const ocaml = React.lazy(async () => ({ + default: (await import("./ocaml.svg")).ReactComponent, +})); +const ocamli = React.lazy(async () => ({ + default: (await import("./ocamli.svg")).ReactComponent, +})); +const ocamll = React.lazy(async () => ({ + default: (await import("./ocamll.svg")).ReactComponent, +})); +const ocamly = React.lazy(async () => ({ + default: (await import("./ocamly.svg")).ReactComponent, +})); +const odin = React.lazy(async () => ({ + default: (await import("./odin.svg")).ReactComponent, +})); +const opengl = React.lazy(async () => ({ + default: (await import("./opengl.svg")).ReactComponent, +})); +const oxlint = React.lazy(async () => ({ + default: (await import("./oxlint.svg")).ReactComponent, +})); +const panda = React.lazy(async () => ({ + default: (await import("./panda.svg")).ReactComponent, +})); +const parcel = React.lazy(async () => ({ + default: (await import("./parcel.svg")).ReactComponent, +})); +const pascal = React.lazy(async () => ({ + default: (await import("./pascal.svg")).ReactComponent, +})); +const pdf = React.lazy(async () => ({ + default: (await import("./pdf.svg")).ReactComponent, +})); +const perl = React.lazy(async () => ({ + default: (await import("./perl.svg")).ReactComponent, +})); +const perlm = React.lazy(async () => ({ + default: (await import("./perlm.svg")).ReactComponent, +})); +const pfx = React.lazy(async () => ({ + default: (await import("./pfx.svg")).ReactComponent, })); -const nuxt = React.lazy(async () => ({ default: (await import('./nuxt.svg')).ReactComponent })); -const nvim = React.lazy(async () => ({ default: (await import('./nvim.svg')).ReactComponent })); -const nvm = React.lazy(async () => ({ default: (await import('./nvm.svg')).ReactComponent })); -const nx = React.lazy(async () => ({ default: (await import('./nx.svg')).ReactComponent })); -const obj = React.lazy(async () => ({ default: (await import('./obj.svg')).ReactComponent })); -const ocaml = React.lazy(async () => ({ default: (await import('./ocaml.svg')).ReactComponent })); -const ocamli = React.lazy(async () => ({ default: (await import('./ocamli.svg')).ReactComponent })); -const ocamll = React.lazy(async () => ({ default: (await import('./ocamll.svg')).ReactComponent })); -const ocamly = React.lazy(async () => ({ default: (await import('./ocamly.svg')).ReactComponent })); -const opengl = React.lazy(async () => ({ default: (await import('./opengl.svg')).ReactComponent })); -const parcel = React.lazy(async () => ({ default: (await import('./parcel.svg')).ReactComponent })); -const perl = React.lazy(async () => ({ default: (await import('./perl.svg')).ReactComponent })); -const perlm = React.lazy(async () => ({ default: (await import('./perlm.svg')).ReactComponent })); -const pfx = React.lazy(async () => ({ default: (await import('./pfx.svg')).ReactComponent })); const photoshop = React.lazy(async () => ({ - default: (await import('./photoshop.svg')).ReactComponent + default: (await import("./photoshop.svg")).ReactComponent, +})); +const php = React.lazy(async () => ({ + default: (await import("./php.svg")).ReactComponent, +})); +const plantuml = React.lazy(async () => ({ + default: (await import("./plantuml.svg")).ReactComponent, })); const playright = React.lazy(async () => ({ - default: (await import('./playright.svg')).ReactComponent + default: (await import("./playright.svg")).ReactComponent, +})); +const plop = React.lazy(async () => ({ + default: (await import("./plop.svg")).ReactComponent, +})); +const pnpm = React.lazy(async () => ({ + default: (await import("./pnpm.svg")).ReactComponent, })); -const pnpm = React.lazy(async () => ({ default: (await import('./pnpm.svg')).ReactComponent })); const pnpmlock = React.lazy(async () => ({ - default: (await import('./pnpmlock.svg')).ReactComponent + default: (await import("./pnpmlock.svg")).ReactComponent, +})); +const poetry = React.lazy(async () => ({ + default: (await import("./poetry.svg")).ReactComponent, })); -const poetry = React.lazy(async () => ({ default: (await import('./poetry.svg')).ReactComponent })); const poetrylock = React.lazy(async () => ({ - default: (await import('./poetrylock.svg')).ReactComponent + default: (await import("./poetrylock.svg")).ReactComponent, })); const postcssconfig = React.lazy(async () => ({ - default: (await import('./postcssconfig.svg')).ReactComponent + default: (await import("./postcssconfig.svg")).ReactComponent, })); const powershell = React.lazy(async () => ({ - default: (await import('./powershell.svg')).ReactComponent + default: (await import("./powershell.svg")).ReactComponent, })); const powershelldata = React.lazy(async () => ({ - default: (await import('./powershelldata.svg')).ReactComponent + default: (await import("./powershelldata.svg")).ReactComponent, })); const powershellmodule = React.lazy(async () => ({ - default: (await import('./powershellmodule.svg')).ReactComponent + default: (await import("./powershellmodule.svg")).ReactComponent, +})); +const precommit = React.lazy(async () => ({ + default: (await import("./precommit.svg")).ReactComponent, })); const prettier = React.lazy(async () => ({ - default: (await import('./prettier.svg')).ReactComponent + default: (await import("./prettier.svg")).ReactComponent, })); const prettierignore = React.lazy(async () => ({ - default: (await import('./prettierignore.svg')).ReactComponent + default: (await import("./prettierignore.svg")).ReactComponent, +})); +const prisma = React.lazy(async () => ({ + default: (await import("./prisma.svg")).ReactComponent, +})); +const prolog = React.lazy(async () => ({ + default: (await import("./prolog.svg")).ReactComponent, +})); +const prompt = React.lazy(async () => ({ + default: (await import("./prompt.svg")).ReactComponent, })); -const prisma = React.lazy(async () => ({ default: (await import('./prisma.svg')).ReactComponent })); -const prolog = React.lazy(async () => ({ default: (await import('./prolog.svg')).ReactComponent })); const properties = React.lazy(async () => ({ - default: (await import('./properties.svg')).ReactComponent + default: (await import("./properties.svg")).ReactComponent, +})); +const proto = React.lazy(async () => ({ + default: (await import("./proto.svg")).ReactComponent, +})); +const pug = React.lazy(async () => ({ + default: (await import("./pug.svg")).ReactComponent, +})); +const pvk = React.lazy(async () => ({ + default: (await import("./pvk.svg")).ReactComponent, })); -const pug = React.lazy(async () => ({ default: (await import('./pug.svg')).ReactComponent })); -const pvk = React.lazy(async () => ({ default: (await import('./pvk.svg')).ReactComponent })); const pyproject = React.lazy(async () => ({ - default: (await import('./pyproject.svg')).ReactComponent + default: (await import("./pyproject.svg")).ReactComponent, +})); +const python = React.lazy(async () => ({ + default: (await import("./python.svg")).ReactComponent, +})); +const qt = React.lazy(async () => ({ + default: (await import("./qt.svg")).ReactComponent, })); -const qt = React.lazy(async () => ({ default: (await import('./qt.svg')).ReactComponent })); const quarkus = React.lazy(async () => ({ - default: (await import('./quarkus.svg')).ReactComponent + default: (await import("./quarkus.svg")).ReactComponent, +})); +const quasar = React.lazy(async () => ({ + default: (await import("./quasar.svg")).ReactComponent, +})); +const r = React.lazy(async () => ({ + default: (await import("./r.svg")).ReactComponent, +})); +const racket = React.lazy(async () => ({ + default: (await import("./racket.svg")).ReactComponent, +})); +const raku = React.lazy(async () => ({ + default: (await import("./raku.svg")).ReactComponent, +})); +const razor = React.lazy(async () => ({ + default: (await import("./razor.svg")).ReactComponent, +})); +const rb = React.lazy(async () => ({ + default: (await import("./rb.svg")).ReactComponent, })); -const quasar = React.lazy(async () => ({ default: (await import('./quasar.svg')).ReactComponent })); -const razor = React.lazy(async () => ({ default: (await import('./razor.svg')).ReactComponent })); -const rb = React.lazy(async () => ({ default: (await import('./rb.svg')).ReactComponent })); const reactjs = React.lazy(async () => ({ - default: (await import('./reactjs.svg')).ReactComponent + default: (await import("./reactjs.svg")).ReactComponent, })); const reactts = React.lazy(async () => ({ - default: (await import('./reactts.svg')).ReactComponent + default: (await import("./reactts.svg")).ReactComponent, +})); +const readme = React.lazy(async () => ({ + default: (await import("./readme.svg")).ReactComponent, +})); +const redis = React.lazy(async () => ({ + default: (await import("./redis.svg")).ReactComponent, +})); +const rego = React.lazy(async () => ({ + default: (await import("./rego.svg")).ReactComponent, +})); +const remix = React.lazy(async () => ({ + default: (await import("./remix.svg")).ReactComponent, })); -const readme = React.lazy(async () => ({ default: (await import('./readme.svg')).ReactComponent })); -const redis = React.lazy(async () => ({ default: (await import('./redis.svg')).ReactComponent })); -const rego = React.lazy(async () => ({ default: (await import('./rego.svg')).ReactComponent })); -const remix = React.lazy(async () => ({ default: (await import('./remix.svg')).ReactComponent })); const rescript = React.lazy(async () => ({ - default: (await import('./rescript.svg')).ReactComponent + default: (await import("./rescript.svg")).ReactComponent, +})); +const rescriptinterface = React.lazy(async () => ({ + default: (await import("./rescriptinterface.svg")).ReactComponent, +})); +const restructuredtext = React.lazy(async () => ({ + default: (await import("./restructuredtext.svg")).ReactComponent, +})); +const rjson = React.lazy(async () => ({ + default: (await import("./rjson.svg")).ReactComponent, +})); +const robots = React.lazy(async () => ({ + default: (await import("./robots.svg")).ReactComponent, +})); +const rollup = React.lazy(async () => ({ + default: (await import("./rollup.svg")).ReactComponent, +})); +const rome = React.lazy(async () => ({ + default: (await import("./rome.svg")).ReactComponent, +})); +const ron = React.lazy(async () => ({ + default: (await import("./ron.svg")).ReactComponent, +})); +const root_folder = React.lazy(async () => ({ + default: (await import("./root_folder.svg")).ReactComponent, +})); +const root_folder_light = React.lazy(async () => ({ + default: (await import("./root_folder_light.svg")).ReactComponent, +})); +const root_folder_light_open = React.lazy(async () => ({ + default: (await import("./root_folder_light_open.svg")).ReactComponent, +})); +const root_folder_open = React.lazy(async () => ({ + default: (await import("./root_folder_open.svg")).ReactComponent, +})); +const rs = React.lazy(async () => ({ + default: (await import("./rs.svg")).ReactComponent, +})); +const ruby = React.lazy(async () => ({ + default: (await import("./ruby.svg")).ReactComponent, +})); +const rust = React.lazy(async () => ({ + default: (await import("./rust.svg")).ReactComponent, })); -const rjson = React.lazy(async () => ({ default: (await import('./rjson.svg')).ReactComponent })); -const robots = React.lazy(async () => ({ default: (await import('./robots.svg')).ReactComponent })); -const rollup = React.lazy(async () => ({ default: (await import('./rollup.svg')).ReactComponent })); -const rome = React.lazy(async () => ({ default: (await import('./rome.svg')).ReactComponent })); -const rs = React.lazy(async () => ({ default: (await import('./rs.svg')).ReactComponent })); const rustfmt = React.lazy(async () => ({ - default: (await import('./rustfmt.svg')).ReactComponent + default: (await import("./rustfmt.svg")).ReactComponent, +})); +const sails = React.lazy(async () => ({ + default: (await import("./sails.svg")).ReactComponent, +})); +const salesforce = React.lazy(async () => ({ + default: (await import("./salesforce.svg")).ReactComponent, +})); +const sass = React.lazy(async () => ({ + default: (await import("./sass.svg")).ReactComponent, +})); +const scala = React.lazy(async () => ({ + default: (await import("./scala.svg")).ReactComponent, +})); +const scss = React.lazy(async () => ({ + default: (await import("./scss.svg")).ReactComponent, })); -const sails = React.lazy(async () => ({ default: (await import('./sails.svg')).ReactComponent })); -const sass = React.lazy(async () => ({ default: (await import('./sass.svg')).ReactComponent })); -const scala = React.lazy(async () => ({ default: (await import('./scala.svg')).ReactComponent })); -const scss = React.lazy(async () => ({ default: (await import('./scss.svg')).ReactComponent })); const sentinel = React.lazy(async () => ({ - default: (await import('./sentinel.svg')).ReactComponent + default: (await import("./sentinel.svg")).ReactComponent, })); const sequelize = React.lazy(async () => ({ - default: (await import('./sequelize.svg')).ReactComponent + default: (await import("./sequelize.svg")).ReactComponent, +})); +const sh = React.lazy(async () => ({ + default: (await import("./sh.svg")).ReactComponent, +})); +const shaderlab = React.lazy(async () => ({ + default: (await import("./shaderlab.svg")).ReactComponent, +})); +const shell = React.lazy(async () => ({ + default: (await import("./shell.svg")).ReactComponent, +})); +const silq = React.lazy(async () => ({ + default: (await import("./silq.svg")).ReactComponent, +})); +const slim = React.lazy(async () => ({ + default: (await import("./slim.svg")).ReactComponent, +})); +const sln = React.lazy(async () => ({ + default: (await import("./sln.svg")).ReactComponent, +})); +const smarty = React.lazy(async () => ({ + default: (await import("./smarty.svg")).ReactComponent, +})); +const sol = React.lazy(async () => ({ + default: (await import("./sol.svg")).ReactComponent, +})); +const spc = React.lazy(async () => ({ + default: (await import("./spc.svg")).ReactComponent, +})); +const sql = React.lazy(async () => ({ + default: (await import("./sql.svg")).ReactComponent, +})); +const sqlite = React.lazy(async () => ({ + default: (await import("./sqlite.svg")).ReactComponent, })); -const sh = React.lazy(async () => ({ default: (await import('./sh.svg')).ReactComponent })); -const slim = React.lazy(async () => ({ default: (await import('./slim.svg')).ReactComponent })); -const sln = React.lazy(async () => ({ default: (await import('./sln.svg')).ReactComponent })); -const smarty = React.lazy(async () => ({ default: (await import('./smarty.svg')).ReactComponent })); -const sol = React.lazy(async () => ({ default: (await import('./sol.svg')).ReactComponent })); -const spc = React.lazy(async () => ({ default: (await import('./spc.svg')).ReactComponent })); -const sql = React.lazy(async () => ({ default: (await import('./sql.svg')).ReactComponent })); -const sqlite = React.lazy(async () => ({ default: (await import('./sqlite.svg')).ReactComponent })); const storybook = React.lazy(async () => ({ - default: (await import('./storybook.svg')).ReactComponent + default: (await import("./storybook.svg")).ReactComponent, })); const stylelint = React.lazy(async () => ({ - default: (await import('./stylelint.svg')).ReactComponent + default: (await import("./stylelint.svg")).ReactComponent, +})); +const stylelintignore = React.lazy(async () => ({ + default: (await import("./stylelintignore.svg")).ReactComponent, +})); +const stylus = React.lazy(async () => ({ + default: (await import("./stylus.svg")).ReactComponent, +})); +const suo = React.lazy(async () => ({ + default: (await import("./suo.svg")).ReactComponent, +})); +const svelte = React.lazy(async () => ({ + default: (await import("./svelte.svg")).ReactComponent, })); -const stylus = React.lazy(async () => ({ default: (await import('./stylus.svg')).ReactComponent })); -const suo = React.lazy(async () => ({ default: (await import('./suo.svg')).ReactComponent })); -const svelte = React.lazy(async () => ({ default: (await import('./svelte.svg')).ReactComponent })); const svelteconfig = React.lazy(async () => ({ - default: (await import('./svelteconfig.svg')).ReactComponent + default: (await import("./svelteconfig.svg")).ReactComponent, +})); +const svg = React.lazy(async () => ({ + default: (await import("./svg.svg")).ReactComponent, +})); +const swift = React.lazy(async () => ({ + default: (await import("./swift.svg")).ReactComponent, })); -const svg = React.lazy(async () => ({ default: (await import('./svg.svg')).ReactComponent })); -const swift = React.lazy(async () => ({ default: (await import('./swift.svg')).ReactComponent })); const symfony = React.lazy(async () => ({ - default: (await import('./symfony.svg')).ReactComponent + default: (await import("./symfony.svg")).ReactComponent, })); const tailwind = React.lazy(async () => ({ - default: (await import('./tailwind.svg')).ReactComponent + default: (await import("./tailwind.svg")).ReactComponent, +})); +const tauri = React.lazy(async () => ({ + default: (await import("./tauri.svg")).ReactComponent, +})); +const taze = React.lazy(async () => ({ + default: (await import("./taze.svg")).ReactComponent, })); -const tauri = React.lazy(async () => ({ default: (await import('./tauri.svg')).ReactComponent })); -const taze = React.lazy(async () => ({ default: (await import('./taze.svg')).ReactComponent })); const terrafile = React.lazy(async () => ({ - default: (await import('./terrafile.svg')).ReactComponent + default: (await import("./terrafile.svg")).ReactComponent, })); const terraform = React.lazy(async () => ({ - default: (await import('./terraform.svg')).ReactComponent + default: (await import("./terraform.svg")).ReactComponent, })); const terraformvars = React.lazy(async () => ({ - default: (await import('./terraformvars.svg')).ReactComponent + default: (await import("./terraformvars.svg")).ReactComponent, })); const terraformversion = React.lazy(async () => ({ - default: (await import('./terraformversion.svg')).ReactComponent + default: (await import("./terraformversion.svg")).ReactComponent, +})); +const testjs = React.lazy(async () => ({ + default: (await import("./testjs.svg")).ReactComponent, +})); +const testts = React.lazy(async () => ({ + default: (await import("./testts.svg")).ReactComponent, +})); +const tmpl = React.lazy(async () => ({ + default: (await import("./tmpl.svg")).ReactComponent, +})); +const todo = React.lazy(async () => ({ + default: (await import("./todo.svg")).ReactComponent, +})); +const toml = React.lazy(async () => ({ + default: (await import("./toml.svg")).ReactComponent, })); -const testjs = React.lazy(async () => ({ default: (await import('./testjs.svg')).ReactComponent })); -const testts = React.lazy(async () => ({ default: (await import('./testts.svg')).ReactComponent })); -const tmpl = React.lazy(async () => ({ default: (await import('./tmpl.svg')).ReactComponent })); -const todo = React.lazy(async () => ({ default: (await import('./todo.svg')).ReactComponent })); -const toml = React.lazy(async () => ({ default: (await import('./toml.svg')).ReactComponent })); const toolversions = React.lazy(async () => ({ - default: (await import('./toolversions.svg')).ReactComponent + default: (await import("./toolversions.svg")).ReactComponent, +})); +const tox = React.lazy(async () => ({ + default: (await import("./tox.svg")).ReactComponent, +})); +const travis = React.lazy(async () => ({ + default: (await import("./travis.svg")).ReactComponent, +})); +const tres = React.lazy(async () => ({ + default: (await import("./tres.svg")).ReactComponent, +})); +const tscn = React.lazy(async () => ({ + default: (await import("./tscn.svg")).ReactComponent, })); -const tox = React.lazy(async () => ({ default: (await import('./tox.svg')).ReactComponent })); -const travis = React.lazy(async () => ({ default: (await import('./travis.svg')).ReactComponent })); -const tres = React.lazy(async () => ({ default: (await import('./tres.svg')).ReactComponent })); -const tscn = React.lazy(async () => ({ default: (await import('./tscn.svg')).ReactComponent })); const tsconfig = React.lazy(async () => ({ - default: (await import('./tsconfig.svg')).ReactComponent + default: (await import("./tsconfig.svg")).ReactComponent, +})); +const tsx = React.lazy(async () => ({ + default: (await import("./tsx.svg")).ReactComponent, +})); +const turbo = React.lazy(async () => ({ + default: (await import("./turbo.svg")).ReactComponent, +})); +const twig = React.lazy(async () => ({ + default: (await import("./twig.svg")).ReactComponent, +})); +const txt = React.lazy(async () => ({ + default: (await import("./txt.svg")).ReactComponent, +})); +const typescript = React.lazy(async () => ({ + default: (await import("./typescript.svg")).ReactComponent, })); -const tsx = React.lazy(async () => ({ default: (await import('./tsx.svg')).ReactComponent })); -const turbo = React.lazy(async () => ({ default: (await import('./turbo.svg')).ReactComponent })); -const twig = React.lazy(async () => ({ default: (await import('./twig.svg')).ReactComponent })); const typescriptdef = React.lazy(async () => ({ - default: (await import('./typescriptdef.svg')).ReactComponent + default: (await import("./typescriptdef.svg")).ReactComponent, +})); +const ui = React.lazy(async () => ({ + default: (await import("./ui.svg")).ReactComponent, +})); +const unocss = React.lazy(async () => ({ + default: (await import("./unocss.svg")).ReactComponent, +})); +const user = React.lazy(async () => ({ + default: (await import("./user.svg")).ReactComponent, +})); +const v = React.lazy(async () => ({ + default: (await import("./v.svg")).ReactComponent, +})); +const vanillaextract = React.lazy(async () => ({ + default: (await import("./vanillaextract.svg")).ReactComponent, +})); +const vb = React.lazy(async () => ({ + default: (await import("./vb.svg")).ReactComponent, +})); +const vercel = React.lazy(async () => ({ + default: (await import("./vercel.svg")).ReactComponent, })); -const ui = React.lazy(async () => ({ default: (await import('./ui.svg')).ReactComponent })); -const unocss = React.lazy(async () => ({ default: (await import('./unocss.svg')).ReactComponent })); -const user = React.lazy(async () => ({ default: (await import('./user.svg')).ReactComponent })); -const v = React.lazy(async () => ({ default: (await import('./v.svg')).ReactComponent })); -const vercel = React.lazy(async () => ({ default: (await import('./vercel.svg')).ReactComponent })); const version = React.lazy(async () => ({ - default: (await import('./version.svg')).ReactComponent + default: (await import("./version.svg")).ReactComponent, +})); +const vhd = React.lazy(async () => ({ + default: (await import("./vhd.svg")).ReactComponent, +})); +const vhdl = React.lazy(async () => ({ + default: (await import("./vhdl.svg")).ReactComponent, +})); +const video = React.lazy(async () => ({ + default: (await import("./video.svg")).ReactComponent, +})); +const vite = React.lazy(async () => ({ + default: (await import("./vite.svg")).ReactComponent, })); -const vhd = React.lazy(async () => ({ default: (await import('./vhd.svg')).ReactComponent })); -const vhdl = React.lazy(async () => ({ default: (await import('./vhdl.svg')).ReactComponent })); -const video = React.lazy(async () => ({ default: (await import('./video.svg')).ReactComponent })); -const vite = React.lazy(async () => ({ default: (await import('./vite.svg')).ReactComponent })); const viteenv = React.lazy(async () => ({ - default: (await import('./viteenv.svg')).ReactComponent + default: (await import("./viteenv.svg")).ReactComponent, +})); +const vitest = React.lazy(async () => ({ + default: (await import("./vitest.svg")).ReactComponent, +})); +const vmod = React.lazy(async () => ({ + default: (await import("./vmod.svg")).ReactComponent, +})); +const vscode = React.lazy(async () => ({ + default: (await import("./vscode.svg")).ReactComponent, +})); +const vue = React.lazy(async () => ({ + default: (await import("./vue.svg")).ReactComponent, +})); +const vueconfig = React.lazy(async () => ({ + default: (await import("./vueconfig.svg")).ReactComponent, +})); +const wasm = React.lazy(async () => ({ + default: (await import("./wasm.svg")).ReactComponent, })); -const vitest = React.lazy(async () => ({ default: (await import('./vitest.svg')).ReactComponent })); -const vmod = React.lazy(async () => ({ default: (await import('./vmod.svg')).ReactComponent })); -const vscode = React.lazy(async () => ({ default: (await import('./vscode.svg')).ReactComponent })); -const wasm = React.lazy(async () => ({ default: (await import('./wasm.svg')).ReactComponent })); const webpack = React.lazy(async () => ({ - default: (await import('./webpack.svg')).ReactComponent + default: (await import("./webpack.svg")).ReactComponent, +})); +const wgsl = React.lazy(async () => ({ + default: (await import("./wgsl.svg")).ReactComponent, +})); +const windi = React.lazy(async () => ({ + default: (await import("./windi.svg")).ReactComponent, +})); +const wren = React.lazy(async () => ({ + default: (await import("./wren.svg")).ReactComponent, +})); +const xmake = React.lazy(async () => ({ + default: (await import("./xmake.svg")).ReactComponent, +})); +const xml = React.lazy(async () => ({ + default: (await import("./xml.svg")).ReactComponent, +})); +const yaml = React.lazy(async () => ({ + default: (await import("./yaml.svg")).ReactComponent, +})); +const yang = React.lazy(async () => ({ + default: (await import("./yang.svg")).ReactComponent, +})); +const yarn = React.lazy(async () => ({ + default: (await import("./yarn.svg")).ReactComponent, })); -const windi = React.lazy(async () => ({ default: (await import('./windi.svg')).ReactComponent })); -const xmake = React.lazy(async () => ({ default: (await import('./xmake.svg')).ReactComponent })); -const xml = React.lazy(async () => ({ default: (await import('./xml.svg')).ReactComponent })); -const yaml = React.lazy(async () => ({ default: (await import('./yaml.svg')).ReactComponent })); -const yarn = React.lazy(async () => ({ default: (await import('./yarn.svg')).ReactComponent })); const yarnerror = React.lazy(async () => ({ - default: (await import('./yarnerror.svg')).ReactComponent + default: (await import("./yarnerror.svg")).ReactComponent, +})); +const yarnignore = React.lazy(async () => ({ + default: (await import("./yarnignore.svg")).ReactComponent, +})); +const yarnlock = React.lazy(async () => ({ + default: (await import("./yarnlock.svg")).ReactComponent, +})); +const yin = React.lazy(async () => ({ + default: (await import("./yin.svg")).ReactComponent, +})); +const zig = React.lazy(async () => ({ + default: (await import("./zig.svg")).ReactComponent, +})); +const zip = React.lazy(async () => ({ + default: (await import("./zip.svg")).ReactComponent, })); -const zig = React.lazy(async () => ({ default: (await import('./zig.svg')).ReactComponent })); -const zip = React.lazy(async () => ({ default: (await import('./zip.svg')).ReactComponent })); export { - ace, - acemanifest, - adoc, - adonis, - adonisconfig, - afdesign, - afphoto, - afpub, - ai, - air, - anim, - astro, - astroconfig, - atomizer, - azure, - babel, - bat, - bicep, - bicepparam, - binary, - blade, - brotli, - browserslist, - bsconfig, - bundler, - cargo, - cargolock, - cert, - cheader, - civet, - cli, - clojure, - codeworkspace, - commitlint, - compodoc, - composer, - composerlock, - conan, - conf, - crystal, - cshtml, - csproj, - cssmap, - csv, - cucumber, - cypress, - cypressjs, - cypressts, - d, - diff, - docker, - dockerdebug, - dockerignore, - drawio, - drizzle, - dsstore, - dune, - duneproject, - edge, - editorconfig, - eex, - elixir, - elm, - env, - erb, - erlang, - esbuild, - eslint, - exs, - exx, - farm, - figma, - flakelock, - flutter, - flutterlock, - flutterpackage, - fonteot, - fontotf, - fontttf, - fontwoff, - fontwoff2, - freemarker, - fsharp, - gbl, - git, - go_package, - godot, - gradle, - gradlebat, - gradlekotlin, - grain, - groovy, - grunt, - gulp, - h, - haml, - handlebars, - hardhat, - hashicorp, - haskell, - haxe, - haxeml, - hpp, - htaccess, - imba, - info, - ipynb, - jar, - jenkins, - jest, - jinja, - jsmap, - json, - jsp, - julia, - karma, - key, - knex, - kotlins, - krita, - latex, - launch, - less, - license, - light_editorconfig, - liquid, - llvm, - log, - lua, - m, - makefile, - manifest, - markdown, - markdownx, - maven, - mesh, - mgcb, - mint, - mix, - mixlock, - mjml, - motoko, - mov, - mp4, - mtl, - mustache, - neon, - nestjs, - nestjscontroller, - nestjsdecorator, - nestjsfilter, - nestjsguard, - nestjsmodule, - nestjsservice, - netlify, - nextconfig, - nextron, - nginx, - nim, - nix, - njk, - nodemon, - npm, - npmlock, - nuxt, - nvim, - nvm, - nx, - obj, - ocaml, - ocamli, - ocamll, - ocamly, - opengl, - parcel, - perl, - perlm, - pfx, - photoshop, - playright, - pnpm, - pnpmlock, - poetry, - poetrylock, - postcssconfig, - powershell, - powershelldata, - powershellmodule, - prettier, - prettierignore, - prisma, - prolog, - properties, - pug, - pvk, - pyproject, - qt, - quarkus, - quasar, - razor, - rb, - reactjs, - reactts, - readme, - redis, - rego, - remix, - rescript, - rjson, - robots, - rollup, - rome, - rs, - rustfmt, - sails, - sass, - scala, - scss, - sentinel, - sequelize, - sh, - slim, - sln, - smarty, - sol, - spc, - sql, - sqlite, - storybook, - stylelint, - stylus, - suo, - svelte, - svelteconfig, - svg, - swift, - symfony, - tailwind, - tauri, - taze, - terrafile, - terraform, - terraformvars, - terraformversion, - testjs, - testts, - tmpl, - todo, - toml, - toolversions, - tox, - travis, - tres, - tscn, - tsconfig, - tsx, - turbo, - twig, - typescriptdef, - ui, - unocss, - user, - v, - vercel, - version, - vhd, - vhdl, - video, - vite, - viteenv, - vitest, - vmod, - vscode, - wasm, - webpack, - windi, - xmake, - xml, - yaml, - yarn, - yarnerror, - zig, - zip + ace, + acemanifest, + adoc, + adonis, + adonisconfig, + afdesign, + afphoto, + afpub, + ai, + air, + angular, + anim, + astro, + astroconfig, + atomizer, + audio, + audiomp3, + audioogg, + audiowav, + audiowv, + azure, + babel, + ballerina, + ballerinaconfig, + bat, + bazel, + bazelignore, + bicep, + bicepconfig, + bicepparam, + binary, + biome, + blade, + brotli, + browserslist, + bruno, + bsconfig, + buck, + bun, + bundler, + bunlock, + c, + cargo, + cargolock, + cert, + cheader, + civet, + claude, + cli, + clojure, + cmake, + codeworkspace, + coffeescript, + commitlint, + compodoc, + composer, + composerlock, + conan, + conf, + copilot, + cpp, + crystal, + csharp, + cshtml, + csproj, + css, + cssmap, + csv, + cucumber, + cursor, + cypress, + cypressjs, + cypressts, + d, + dartlang, + delphiproject, + diff, + docker, + dockerdebug, + dockerignore, + drawio, + drizzle, + dsstore, + dune, + duneproject, + edge, + editorconfig, + eex, + elixir, + elm, + env, + eraser, + erb, + erlang, + esbuild, + eslint, + eslintignore, + excalidraw, + exs, + exx, + farm, + figma, + file, + file_light, + flakelock, + flutter, + flutterlock, + flutterpackage, + folder, + folder_open, + fonteot, + fontotf, + fontttf, + fontwoff, + fontwoff2, + freemarker, + fsharp, + gbl, + git, + gitlab, + gleam, + gleamconfig, + go, + go_package, + godot, + gradle, + gradlebat, + gradlekotlin, + grain, + graphql, + groovy, + grunt, + gulp, + h, + haml, + handlebars, + hardhat, + hash, + hashicorp, + haskell, + haxe, + haxeml, + hpp, + htaccess, + html, + http, + identifier, + image, + imagegif, + imageico, + imagejpg, + imagepng, + imagewebp, + imba, + info, + instructions, + ipynb, + jar, + java, + jenkins, + jest, + jinja, + js, + jsmap, + json, + jsp, + julia, + karma, + keep, + key, + knex, + knip, + kotlin, + kotlins, + krita, + latex, + launch, + lazarusproject, + less, + license, + light_editorconfig, + liquid, + llvm, + lock, + log, + lua, + m, + makefile, + manifest, + markdown, + markdownx, + maven, + mermaid, + mesh, + mgcb, + mint, + mix, + mixlock, + mjml, + mkdocs, + mockoon, + motoko, + mov, + mp4, + mtl, + mustache, + nelua, + neon, + nestjs, + nestjscontroller, + nestjsdecorator, + nestjsdto, + nestjsentity, + nestjsfilter, + nestjsguard, + nestjsinterceptor, + nestjsmodule, + nestjsrepository, + nestjsresolver, + nestjsservice, + nestscheduler, + netlify, + nextconfig, + nextron, + nginx, + nim, + nix, + njk, + node, + nodemon, + npm, + npmlock, + nuxt, + nvidia, + nvim, + nvm, + nx, + obj, + ocaml, + ocamli, + ocamll, + ocamly, + odin, + opengl, + oxlint, + panda, + parcel, + pascal, + pdf, + perl, + perlm, + pfx, + photoshop, + php, + plantuml, + playright, + plop, + pnpm, + pnpmlock, + poetry, + poetrylock, + postcssconfig, + powershell, + powershelldata, + powershellmodule, + precommit, + prettier, + prettierignore, + prisma, + prolog, + prompt, + properties, + proto, + pug, + pvk, + pyproject, + python, + qt, + quarkus, + quasar, + r, + racket, + raku, + razor, + rb, + reactjs, + reactts, + readme, + redis, + rego, + remix, + rescript, + rescriptinterface, + restructuredtext, + rjson, + robots, + rollup, + rome, + ron, + root_folder, + root_folder_light, + root_folder_light_open, + root_folder_open, + rs, + ruby, + rust, + rustfmt, + sails, + salesforce, + sass, + scala, + scss, + sentinel, + sequelize, + sh, + shaderlab, + shell, + silq, + slim, + sln, + smarty, + sol, + spc, + sql, + sqlite, + storybook, + stylelint, + stylelintignore, + stylus, + suo, + svelte, + svelteconfig, + svg, + swift, + symfony, + tailwind, + tauri, + taze, + terrafile, + terraform, + terraformvars, + terraformversion, + testjs, + testts, + tmpl, + todo, + toml, + toolversions, + tox, + travis, + tres, + tscn, + tsconfig, + tsx, + turbo, + twig, + txt, + typescript, + typescriptdef, + ui, + unocss, + user, + v, + vanillaextract, + vb, + vercel, + version, + vhd, + vhdl, + video, + vite, + viteenv, + vitest, + vmod, + vscode, + vue, + vueconfig, + wasm, + webpack, + wgsl, + windi, + wren, + xmake, + xml, + yaml, + yang, + yarn, + yarnerror, + yarnignore, + yarnlock, + yin, + zig, + zip, }; diff --git a/packages/assets/svgs/ext/Extras/info.svg b/packages/assets/svgs/ext/Extras/info.svg index 77ce94f3e..5223cdcf8 100644 --- a/packages/assets/svgs/ext/Extras/info.svg +++ b/packages/assets/svgs/ext/Extras/info.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/instructions.svg b/packages/assets/svgs/ext/Extras/instructions.svg new file mode 100644 index 000000000..6cd0cd0ba --- /dev/null +++ b/packages/assets/svgs/ext/Extras/instructions.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/ipynb.svg b/packages/assets/svgs/ext/Extras/ipynb.svg index b75e47008..058a426da 100644 --- a/packages/assets/svgs/ext/Extras/ipynb.svg +++ b/packages/assets/svgs/ext/Extras/ipynb.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/jar.svg b/packages/assets/svgs/ext/Extras/jar.svg index 86fe85ae1..d06624e45 100644 --- a/packages/assets/svgs/ext/Extras/jar.svg +++ b/packages/assets/svgs/ext/Extras/jar.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/java.svg b/packages/assets/svgs/ext/Extras/java.svg new file mode 100644 index 000000000..881a34ff9 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/java.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/jenkins.svg b/packages/assets/svgs/ext/Extras/jenkins.svg index 62e5241c2..abea0dc3c 100644 --- a/packages/assets/svgs/ext/Extras/jenkins.svg +++ b/packages/assets/svgs/ext/Extras/jenkins.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/jest.svg b/packages/assets/svgs/ext/Extras/jest.svg index fcc495a42..fbcdec15c 100644 --- a/packages/assets/svgs/ext/Extras/jest.svg +++ b/packages/assets/svgs/ext/Extras/jest.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/jinja.svg b/packages/assets/svgs/ext/Extras/jinja.svg index 8564b15ad..0e6bd2e34 100644 --- a/packages/assets/svgs/ext/Extras/jinja.svg +++ b/packages/assets/svgs/ext/Extras/jinja.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/js.svg b/packages/assets/svgs/ext/Extras/js.svg new file mode 100644 index 000000000..783be0db5 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/js.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/jsmap.svg b/packages/assets/svgs/ext/Extras/jsmap.svg index b7586354a..a021fdba7 100644 --- a/packages/assets/svgs/ext/Extras/jsmap.svg +++ b/packages/assets/svgs/ext/Extras/jsmap.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/json.svg b/packages/assets/svgs/ext/Extras/json.svg index cc4002902..3ed2f57b8 100644 --- a/packages/assets/svgs/ext/Extras/json.svg +++ b/packages/assets/svgs/ext/Extras/json.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/jsp.svg b/packages/assets/svgs/ext/Extras/jsp.svg index a5cb71f3a..e1f9d72e9 100644 --- a/packages/assets/svgs/ext/Extras/jsp.svg +++ b/packages/assets/svgs/ext/Extras/jsp.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/julia.svg b/packages/assets/svgs/ext/Extras/julia.svg index e20a180c7..5e960e412 100644 --- a/packages/assets/svgs/ext/Extras/julia.svg +++ b/packages/assets/svgs/ext/Extras/julia.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/karma.svg b/packages/assets/svgs/ext/Extras/karma.svg index ca58b0cb1..2e3b7f7f7 100644 --- a/packages/assets/svgs/ext/Extras/karma.svg +++ b/packages/assets/svgs/ext/Extras/karma.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/keep.svg b/packages/assets/svgs/ext/Extras/keep.svg new file mode 100644 index 000000000..d19660ccc --- /dev/null +++ b/packages/assets/svgs/ext/Extras/keep.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/key.svg b/packages/assets/svgs/ext/Extras/key.svg index e531216c5..0b481a39e 100644 --- a/packages/assets/svgs/ext/Extras/key.svg +++ b/packages/assets/svgs/ext/Extras/key.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/knex.svg b/packages/assets/svgs/ext/Extras/knex.svg index 42ee399cc..2f352eaa2 100644 --- a/packages/assets/svgs/ext/Extras/knex.svg +++ b/packages/assets/svgs/ext/Extras/knex.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/knip.svg b/packages/assets/svgs/ext/Extras/knip.svg new file mode 100644 index 000000000..858e6e724 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/knip.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/kotlin.svg b/packages/assets/svgs/ext/Extras/kotlin.svg new file mode 100644 index 000000000..bf07c51c5 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/kotlin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/kotlins.svg b/packages/assets/svgs/ext/Extras/kotlins.svg index b2f1052b9..642a27005 100644 --- a/packages/assets/svgs/ext/Extras/kotlins.svg +++ b/packages/assets/svgs/ext/Extras/kotlins.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/krita.svg b/packages/assets/svgs/ext/Extras/krita.svg index 74807efcf..f0e625b95 100644 --- a/packages/assets/svgs/ext/Extras/krita.svg +++ b/packages/assets/svgs/ext/Extras/krita.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/latex.svg b/packages/assets/svgs/ext/Extras/latex.svg index dfe9dfd7e..6ad45d9af 100644 --- a/packages/assets/svgs/ext/Extras/latex.svg +++ b/packages/assets/svgs/ext/Extras/latex.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/launch.svg b/packages/assets/svgs/ext/Extras/launch.svg index 0caa47d27..4750ba6af 100644 --- a/packages/assets/svgs/ext/Extras/launch.svg +++ b/packages/assets/svgs/ext/Extras/launch.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/lazarusproject.svg b/packages/assets/svgs/ext/Extras/lazarusproject.svg new file mode 100644 index 000000000..4d78c0d50 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/lazarusproject.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/less.svg b/packages/assets/svgs/ext/Extras/less.svg index 00e02edeb..d681ba51a 100644 --- a/packages/assets/svgs/ext/Extras/less.svg +++ b/packages/assets/svgs/ext/Extras/less.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/license.svg b/packages/assets/svgs/ext/Extras/license.svg index 59e471baa..9023fd640 100644 --- a/packages/assets/svgs/ext/Extras/license.svg +++ b/packages/assets/svgs/ext/Extras/license.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/light_editorconfig.svg b/packages/assets/svgs/ext/Extras/light_editorconfig.svg index 158018814..6c5938637 100644 --- a/packages/assets/svgs/ext/Extras/light_editorconfig.svg +++ b/packages/assets/svgs/ext/Extras/light_editorconfig.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/liquid.svg b/packages/assets/svgs/ext/Extras/liquid.svg index c8c770f46..0877f2020 100644 --- a/packages/assets/svgs/ext/Extras/liquid.svg +++ b/packages/assets/svgs/ext/Extras/liquid.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/llvm.svg b/packages/assets/svgs/ext/Extras/llvm.svg index ce5623f54..a89610840 100644 --- a/packages/assets/svgs/ext/Extras/llvm.svg +++ b/packages/assets/svgs/ext/Extras/llvm.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/lock.svg b/packages/assets/svgs/ext/Extras/lock.svg new file mode 100644 index 000000000..a06c1fa1b --- /dev/null +++ b/packages/assets/svgs/ext/Extras/lock.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/log.svg b/packages/assets/svgs/ext/Extras/log.svg index f9a032613..36fd8ba0c 100644 --- a/packages/assets/svgs/ext/Extras/log.svg +++ b/packages/assets/svgs/ext/Extras/log.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/lua.svg b/packages/assets/svgs/ext/Extras/lua.svg index 06bf44170..28cf57d4b 100644 --- a/packages/assets/svgs/ext/Extras/lua.svg +++ b/packages/assets/svgs/ext/Extras/lua.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/m.svg b/packages/assets/svgs/ext/Extras/m.svg index 8305b815a..dd566fe32 100644 --- a/packages/assets/svgs/ext/Extras/m.svg +++ b/packages/assets/svgs/ext/Extras/m.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/makefile.svg b/packages/assets/svgs/ext/Extras/makefile.svg index 780cea118..3803c1a41 100644 --- a/packages/assets/svgs/ext/Extras/makefile.svg +++ b/packages/assets/svgs/ext/Extras/makefile.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/manifest.svg b/packages/assets/svgs/ext/Extras/manifest.svg index 8ac8b2962..409755881 100644 --- a/packages/assets/svgs/ext/Extras/manifest.svg +++ b/packages/assets/svgs/ext/Extras/manifest.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/markdown.svg b/packages/assets/svgs/ext/Extras/markdown.svg index b1038b6ec..4e2a4ea6c 100644 --- a/packages/assets/svgs/ext/Extras/markdown.svg +++ b/packages/assets/svgs/ext/Extras/markdown.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/markdownx.svg b/packages/assets/svgs/ext/Extras/markdownx.svg index 52ecb4d7f..95c6dd9c7 100644 --- a/packages/assets/svgs/ext/Extras/markdownx.svg +++ b/packages/assets/svgs/ext/Extras/markdownx.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/maven.svg b/packages/assets/svgs/ext/Extras/maven.svg index 58baed7e5..e5382ff48 100644 --- a/packages/assets/svgs/ext/Extras/maven.svg +++ b/packages/assets/svgs/ext/Extras/maven.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/mermaid.svg b/packages/assets/svgs/ext/Extras/mermaid.svg new file mode 100644 index 000000000..07ec57e4f --- /dev/null +++ b/packages/assets/svgs/ext/Extras/mermaid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/mesh.svg b/packages/assets/svgs/ext/Extras/mesh.svg index 49a6569db..aa4492572 100644 --- a/packages/assets/svgs/ext/Extras/mesh.svg +++ b/packages/assets/svgs/ext/Extras/mesh.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/mgcb.svg b/packages/assets/svgs/ext/Extras/mgcb.svg index dcc756ffd..caa675949 100644 --- a/packages/assets/svgs/ext/Extras/mgcb.svg +++ b/packages/assets/svgs/ext/Extras/mgcb.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/mint.svg b/packages/assets/svgs/ext/Extras/mint.svg index f257ff743..e5b470464 100644 --- a/packages/assets/svgs/ext/Extras/mint.svg +++ b/packages/assets/svgs/ext/Extras/mint.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/mix.svg b/packages/assets/svgs/ext/Extras/mix.svg index 803ce1fd5..9a812e36b 100644 --- a/packages/assets/svgs/ext/Extras/mix.svg +++ b/packages/assets/svgs/ext/Extras/mix.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/mixlock.svg b/packages/assets/svgs/ext/Extras/mixlock.svg index 5bcaee89d..50d0dce81 100644 --- a/packages/assets/svgs/ext/Extras/mixlock.svg +++ b/packages/assets/svgs/ext/Extras/mixlock.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/mjml.svg b/packages/assets/svgs/ext/Extras/mjml.svg index 6971a2a5c..fb1f790c9 100644 --- a/packages/assets/svgs/ext/Extras/mjml.svg +++ b/packages/assets/svgs/ext/Extras/mjml.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/mkdocs.svg b/packages/assets/svgs/ext/Extras/mkdocs.svg new file mode 100644 index 000000000..0efd96342 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/mkdocs.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/mockoon.svg b/packages/assets/svgs/ext/Extras/mockoon.svg new file mode 100644 index 000000000..33e4bae8f --- /dev/null +++ b/packages/assets/svgs/ext/Extras/mockoon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/motoko.svg b/packages/assets/svgs/ext/Extras/motoko.svg index ed1f142dc..fb8bbf54d 100644 --- a/packages/assets/svgs/ext/Extras/motoko.svg +++ b/packages/assets/svgs/ext/Extras/motoko.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/mov.svg b/packages/assets/svgs/ext/Extras/mov.svg index 9d1eca673..bd1f195a0 100644 --- a/packages/assets/svgs/ext/Extras/mov.svg +++ b/packages/assets/svgs/ext/Extras/mov.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/mp4.svg b/packages/assets/svgs/ext/Extras/mp4.svg index e1763e7f9..9cdcecb6a 100644 --- a/packages/assets/svgs/ext/Extras/mp4.svg +++ b/packages/assets/svgs/ext/Extras/mp4.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/mtl.svg b/packages/assets/svgs/ext/Extras/mtl.svg index 3545d807f..653543ffb 100644 --- a/packages/assets/svgs/ext/Extras/mtl.svg +++ b/packages/assets/svgs/ext/Extras/mtl.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/mustache.svg b/packages/assets/svgs/ext/Extras/mustache.svg index 3c0d0f5b9..ad443bd6a 100644 --- a/packages/assets/svgs/ext/Extras/mustache.svg +++ b/packages/assets/svgs/ext/Extras/mustache.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/nelua.svg b/packages/assets/svgs/ext/Extras/nelua.svg new file mode 100644 index 000000000..7aa1dc7c5 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/nelua.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/neon.svg b/packages/assets/svgs/ext/Extras/neon.svg index 07e9ceb2b..3b0039c6a 100644 --- a/packages/assets/svgs/ext/Extras/neon.svg +++ b/packages/assets/svgs/ext/Extras/neon.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/nestjs.svg b/packages/assets/svgs/ext/Extras/nestjs.svg index 0c39f6c23..353d39a18 100644 --- a/packages/assets/svgs/ext/Extras/nestjs.svg +++ b/packages/assets/svgs/ext/Extras/nestjs.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/nestjscontroller.svg b/packages/assets/svgs/ext/Extras/nestjscontroller.svg index 0a2183a0f..a75c40adc 100644 --- a/packages/assets/svgs/ext/Extras/nestjscontroller.svg +++ b/packages/assets/svgs/ext/Extras/nestjscontroller.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/nestjsdecorator.svg b/packages/assets/svgs/ext/Extras/nestjsdecorator.svg index 2e45aaf6b..897696f59 100644 --- a/packages/assets/svgs/ext/Extras/nestjsdecorator.svg +++ b/packages/assets/svgs/ext/Extras/nestjsdecorator.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/nestjsdto.svg b/packages/assets/svgs/ext/Extras/nestjsdto.svg new file mode 100644 index 000000000..244b01c83 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/nestjsdto.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/nestjsentity.svg b/packages/assets/svgs/ext/Extras/nestjsentity.svg new file mode 100644 index 000000000..b7cfc0c2f --- /dev/null +++ b/packages/assets/svgs/ext/Extras/nestjsentity.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/nestjsfilter.svg b/packages/assets/svgs/ext/Extras/nestjsfilter.svg index 736ffaa1a..0ce120c38 100644 --- a/packages/assets/svgs/ext/Extras/nestjsfilter.svg +++ b/packages/assets/svgs/ext/Extras/nestjsfilter.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/nestjsguard.svg b/packages/assets/svgs/ext/Extras/nestjsguard.svg index 90babd031..160a4386b 100644 --- a/packages/assets/svgs/ext/Extras/nestjsguard.svg +++ b/packages/assets/svgs/ext/Extras/nestjsguard.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/nestjsinterceptor.svg b/packages/assets/svgs/ext/Extras/nestjsinterceptor.svg new file mode 100644 index 000000000..5aac55254 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/nestjsinterceptor.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/nestjsmodule.svg b/packages/assets/svgs/ext/Extras/nestjsmodule.svg index 481416476..243e801b2 100644 --- a/packages/assets/svgs/ext/Extras/nestjsmodule.svg +++ b/packages/assets/svgs/ext/Extras/nestjsmodule.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/nestjsrepository.svg b/packages/assets/svgs/ext/Extras/nestjsrepository.svg new file mode 100644 index 000000000..2a2d44ab6 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/nestjsrepository.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/nestjsresolver.svg b/packages/assets/svgs/ext/Extras/nestjsresolver.svg new file mode 100644 index 000000000..efa26e2fa --- /dev/null +++ b/packages/assets/svgs/ext/Extras/nestjsresolver.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/nestjsservice.svg b/packages/assets/svgs/ext/Extras/nestjsservice.svg index 524853fd3..b81993100 100644 --- a/packages/assets/svgs/ext/Extras/nestjsservice.svg +++ b/packages/assets/svgs/ext/Extras/nestjsservice.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/nestscheduler.svg b/packages/assets/svgs/ext/Extras/nestscheduler.svg new file mode 100644 index 000000000..820a45bd8 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/nestscheduler.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/netlify.svg b/packages/assets/svgs/ext/Extras/netlify.svg index 71a3977b5..ae618baf7 100644 --- a/packages/assets/svgs/ext/Extras/netlify.svg +++ b/packages/assets/svgs/ext/Extras/netlify.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/nextconfig.svg b/packages/assets/svgs/ext/Extras/nextconfig.svg index 1f6d0d40d..59ffab9db 100644 --- a/packages/assets/svgs/ext/Extras/nextconfig.svg +++ b/packages/assets/svgs/ext/Extras/nextconfig.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/nextron.svg b/packages/assets/svgs/ext/Extras/nextron.svg index 67df06579..3b69ef541 100644 --- a/packages/assets/svgs/ext/Extras/nextron.svg +++ b/packages/assets/svgs/ext/Extras/nextron.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/nginx.svg b/packages/assets/svgs/ext/Extras/nginx.svg index 29211cb07..71cc0066f 100644 --- a/packages/assets/svgs/ext/Extras/nginx.svg +++ b/packages/assets/svgs/ext/Extras/nginx.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/nim.svg b/packages/assets/svgs/ext/Extras/nim.svg index 607a74c01..8197988cf 100644 --- a/packages/assets/svgs/ext/Extras/nim.svg +++ b/packages/assets/svgs/ext/Extras/nim.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/nix.svg b/packages/assets/svgs/ext/Extras/nix.svg index 81247a1cd..280e5ab13 100644 --- a/packages/assets/svgs/ext/Extras/nix.svg +++ b/packages/assets/svgs/ext/Extras/nix.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/njk.svg b/packages/assets/svgs/ext/Extras/njk.svg index 0eec6a473..736a4096b 100644 --- a/packages/assets/svgs/ext/Extras/njk.svg +++ b/packages/assets/svgs/ext/Extras/njk.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/node.svg b/packages/assets/svgs/ext/Extras/node.svg new file mode 100644 index 000000000..6b54df60c --- /dev/null +++ b/packages/assets/svgs/ext/Extras/node.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/nodemon.svg b/packages/assets/svgs/ext/Extras/nodemon.svg index ca4a465d7..c6d68c058 100644 --- a/packages/assets/svgs/ext/Extras/nodemon.svg +++ b/packages/assets/svgs/ext/Extras/nodemon.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/npm.svg b/packages/assets/svgs/ext/Extras/npm.svg index 3d5afc6b6..2097fb9bb 100644 --- a/packages/assets/svgs/ext/Extras/npm.svg +++ b/packages/assets/svgs/ext/Extras/npm.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/npmlock.svg b/packages/assets/svgs/ext/Extras/npmlock.svg index 31a0e9aca..7894d836e 100644 --- a/packages/assets/svgs/ext/Extras/npmlock.svg +++ b/packages/assets/svgs/ext/Extras/npmlock.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/nuxt.svg b/packages/assets/svgs/ext/Extras/nuxt.svg index b2063b3f0..9579d483d 100644 --- a/packages/assets/svgs/ext/Extras/nuxt.svg +++ b/packages/assets/svgs/ext/Extras/nuxt.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/nvidia.svg b/packages/assets/svgs/ext/Extras/nvidia.svg new file mode 100644 index 000000000..21c8f9d0d --- /dev/null +++ b/packages/assets/svgs/ext/Extras/nvidia.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/nvim.svg b/packages/assets/svgs/ext/Extras/nvim.svg index 3bd3c9119..aa7723dc8 100644 --- a/packages/assets/svgs/ext/Extras/nvim.svg +++ b/packages/assets/svgs/ext/Extras/nvim.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/nvm.svg b/packages/assets/svgs/ext/Extras/nvm.svg index 499013754..e16d93cba 100644 --- a/packages/assets/svgs/ext/Extras/nvm.svg +++ b/packages/assets/svgs/ext/Extras/nvm.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/nx.svg b/packages/assets/svgs/ext/Extras/nx.svg index 6cdea1953..3e15532e8 100644 --- a/packages/assets/svgs/ext/Extras/nx.svg +++ b/packages/assets/svgs/ext/Extras/nx.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/obj.svg b/packages/assets/svgs/ext/Extras/obj.svg index 4b6478126..db1183cd5 100644 --- a/packages/assets/svgs/ext/Extras/obj.svg +++ b/packages/assets/svgs/ext/Extras/obj.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/ocaml.svg b/packages/assets/svgs/ext/Extras/ocaml.svg index ef425db88..6a55bf276 100644 --- a/packages/assets/svgs/ext/Extras/ocaml.svg +++ b/packages/assets/svgs/ext/Extras/ocaml.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/ocamli.svg b/packages/assets/svgs/ext/Extras/ocamli.svg index 46a9c030a..afe40e4b6 100644 --- a/packages/assets/svgs/ext/Extras/ocamli.svg +++ b/packages/assets/svgs/ext/Extras/ocamli.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/ocamll.svg b/packages/assets/svgs/ext/Extras/ocamll.svg index d11dec15f..acae802a3 100644 --- a/packages/assets/svgs/ext/Extras/ocamll.svg +++ b/packages/assets/svgs/ext/Extras/ocamll.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/ocamly.svg b/packages/assets/svgs/ext/Extras/ocamly.svg index 4b7ee5be4..ac73c3c67 100644 --- a/packages/assets/svgs/ext/Extras/ocamly.svg +++ b/packages/assets/svgs/ext/Extras/ocamly.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/odin.svg b/packages/assets/svgs/ext/Extras/odin.svg new file mode 100644 index 000000000..0724ea711 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/odin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/opengl.svg b/packages/assets/svgs/ext/Extras/opengl.svg index 951fa2234..539c7bab1 100644 --- a/packages/assets/svgs/ext/Extras/opengl.svg +++ b/packages/assets/svgs/ext/Extras/opengl.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/oxlint.svg b/packages/assets/svgs/ext/Extras/oxlint.svg new file mode 100644 index 000000000..e91792ffb --- /dev/null +++ b/packages/assets/svgs/ext/Extras/oxlint.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/panda.svg b/packages/assets/svgs/ext/Extras/panda.svg new file mode 100644 index 000000000..057696db3 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/panda.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/parcel.svg b/packages/assets/svgs/ext/Extras/parcel.svg index 8d2838182..8385516b6 100644 --- a/packages/assets/svgs/ext/Extras/parcel.svg +++ b/packages/assets/svgs/ext/Extras/parcel.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/pascal.svg b/packages/assets/svgs/ext/Extras/pascal.svg new file mode 100644 index 000000000..74d9f78fb --- /dev/null +++ b/packages/assets/svgs/ext/Extras/pascal.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/pdf.svg b/packages/assets/svgs/ext/Extras/pdf.svg new file mode 100644 index 000000000..595f2b32f --- /dev/null +++ b/packages/assets/svgs/ext/Extras/pdf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/perl.svg b/packages/assets/svgs/ext/Extras/perl.svg index ebd59a806..063d4bd01 100644 --- a/packages/assets/svgs/ext/Extras/perl.svg +++ b/packages/assets/svgs/ext/Extras/perl.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/perlm.svg b/packages/assets/svgs/ext/Extras/perlm.svg index 38e950726..e79e34396 100644 --- a/packages/assets/svgs/ext/Extras/perlm.svg +++ b/packages/assets/svgs/ext/Extras/perlm.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/pfx.svg b/packages/assets/svgs/ext/Extras/pfx.svg index 670397518..935ffc9a7 100644 --- a/packages/assets/svgs/ext/Extras/pfx.svg +++ b/packages/assets/svgs/ext/Extras/pfx.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/photoshop.svg b/packages/assets/svgs/ext/Extras/photoshop.svg index 736b69601..db75bb194 100644 --- a/packages/assets/svgs/ext/Extras/photoshop.svg +++ b/packages/assets/svgs/ext/Extras/photoshop.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/php.svg b/packages/assets/svgs/ext/Extras/php.svg new file mode 100644 index 000000000..aa240ba3f --- /dev/null +++ b/packages/assets/svgs/ext/Extras/php.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/plantuml.svg b/packages/assets/svgs/ext/Extras/plantuml.svg new file mode 100644 index 000000000..95d2576bf --- /dev/null +++ b/packages/assets/svgs/ext/Extras/plantuml.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/playright.svg b/packages/assets/svgs/ext/Extras/playright.svg index 8cc313757..e48cf2c56 100644 --- a/packages/assets/svgs/ext/Extras/playright.svg +++ b/packages/assets/svgs/ext/Extras/playright.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/plop.svg b/packages/assets/svgs/ext/Extras/plop.svg new file mode 100644 index 000000000..49f4b464b --- /dev/null +++ b/packages/assets/svgs/ext/Extras/plop.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/pnpm.svg b/packages/assets/svgs/ext/Extras/pnpm.svg index 337d08bb4..fda91755a 100644 --- a/packages/assets/svgs/ext/Extras/pnpm.svg +++ b/packages/assets/svgs/ext/Extras/pnpm.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/pnpmlock.svg b/packages/assets/svgs/ext/Extras/pnpmlock.svg index 337d08bb4..fcfc81a98 100644 --- a/packages/assets/svgs/ext/Extras/pnpmlock.svg +++ b/packages/assets/svgs/ext/Extras/pnpmlock.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/poetry.svg b/packages/assets/svgs/ext/Extras/poetry.svg index 6e26f30e0..93c410aa9 100644 --- a/packages/assets/svgs/ext/Extras/poetry.svg +++ b/packages/assets/svgs/ext/Extras/poetry.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/poetrylock.svg b/packages/assets/svgs/ext/Extras/poetrylock.svg index 52ef0a3ff..0126924b3 100644 --- a/packages/assets/svgs/ext/Extras/poetrylock.svg +++ b/packages/assets/svgs/ext/Extras/poetrylock.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/postcssconfig.svg b/packages/assets/svgs/ext/Extras/postcssconfig.svg index 23aff18aa..845d514b6 100644 --- a/packages/assets/svgs/ext/Extras/postcssconfig.svg +++ b/packages/assets/svgs/ext/Extras/postcssconfig.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/powershell.svg b/packages/assets/svgs/ext/Extras/powershell.svg index 5c17556ce..75cc5967f 100644 --- a/packages/assets/svgs/ext/Extras/powershell.svg +++ b/packages/assets/svgs/ext/Extras/powershell.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/powershelldata.svg b/packages/assets/svgs/ext/Extras/powershelldata.svg index a5a51b3c3..e5ae7e0e6 100644 --- a/packages/assets/svgs/ext/Extras/powershelldata.svg +++ b/packages/assets/svgs/ext/Extras/powershelldata.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/powershellmodule.svg b/packages/assets/svgs/ext/Extras/powershellmodule.svg index edfc08659..9b18531e6 100644 --- a/packages/assets/svgs/ext/Extras/powershellmodule.svg +++ b/packages/assets/svgs/ext/Extras/powershellmodule.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/precommit.svg b/packages/assets/svgs/ext/Extras/precommit.svg new file mode 100644 index 000000000..8cdddf8f9 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/precommit.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/prettier.svg b/packages/assets/svgs/ext/Extras/prettier.svg index a62360604..bf9dea64e 100644 --- a/packages/assets/svgs/ext/Extras/prettier.svg +++ b/packages/assets/svgs/ext/Extras/prettier.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/prettierignore.svg b/packages/assets/svgs/ext/Extras/prettierignore.svg index 2e7412272..ad47d046c 100644 --- a/packages/assets/svgs/ext/Extras/prettierignore.svg +++ b/packages/assets/svgs/ext/Extras/prettierignore.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/prisma.svg b/packages/assets/svgs/ext/Extras/prisma.svg index d95e41498..9dccf1e26 100644 --- a/packages/assets/svgs/ext/Extras/prisma.svg +++ b/packages/assets/svgs/ext/Extras/prisma.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/prolog.svg b/packages/assets/svgs/ext/Extras/prolog.svg index 2f2c0712c..2d73705c4 100644 --- a/packages/assets/svgs/ext/Extras/prolog.svg +++ b/packages/assets/svgs/ext/Extras/prolog.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/prompt.svg b/packages/assets/svgs/ext/Extras/prompt.svg new file mode 100644 index 000000000..34af1f316 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/prompt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/properties.svg b/packages/assets/svgs/ext/Extras/properties.svg index d6eed90c2..4b14f891d 100644 --- a/packages/assets/svgs/ext/Extras/properties.svg +++ b/packages/assets/svgs/ext/Extras/properties.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/proto.svg b/packages/assets/svgs/ext/Extras/proto.svg new file mode 100644 index 000000000..28d19f0b1 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/proto.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/pug.svg b/packages/assets/svgs/ext/Extras/pug.svg index acaf403e2..79f9e1ade 100644 --- a/packages/assets/svgs/ext/Extras/pug.svg +++ b/packages/assets/svgs/ext/Extras/pug.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/pvk.svg b/packages/assets/svgs/ext/Extras/pvk.svg index 1edb01e55..60317a5d5 100644 --- a/packages/assets/svgs/ext/Extras/pvk.svg +++ b/packages/assets/svgs/ext/Extras/pvk.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/pyproject.svg b/packages/assets/svgs/ext/Extras/pyproject.svg index eca8585ab..ec627c8bd 100644 --- a/packages/assets/svgs/ext/Extras/pyproject.svg +++ b/packages/assets/svgs/ext/Extras/pyproject.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/python.svg b/packages/assets/svgs/ext/Extras/python.svg new file mode 100644 index 000000000..02b6c487f --- /dev/null +++ b/packages/assets/svgs/ext/Extras/python.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/qt.svg b/packages/assets/svgs/ext/Extras/qt.svg index b3c335589..653e29e2d 100644 --- a/packages/assets/svgs/ext/Extras/qt.svg +++ b/packages/assets/svgs/ext/Extras/qt.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/quarkus.svg b/packages/assets/svgs/ext/Extras/quarkus.svg index a61862abc..b64eb4c35 100644 --- a/packages/assets/svgs/ext/Extras/quarkus.svg +++ b/packages/assets/svgs/ext/Extras/quarkus.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/quasar.svg b/packages/assets/svgs/ext/Extras/quasar.svg index a79aa70d0..a1e73abd4 100644 --- a/packages/assets/svgs/ext/Extras/quasar.svg +++ b/packages/assets/svgs/ext/Extras/quasar.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/r.svg b/packages/assets/svgs/ext/Extras/r.svg new file mode 100644 index 000000000..0f99db5d9 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/r.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/racket.svg b/packages/assets/svgs/ext/Extras/racket.svg new file mode 100644 index 000000000..6fcfa0e6e --- /dev/null +++ b/packages/assets/svgs/ext/Extras/racket.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/raku.svg b/packages/assets/svgs/ext/Extras/raku.svg new file mode 100644 index 000000000..b826500a4 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/raku.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/razor.svg b/packages/assets/svgs/ext/Extras/razor.svg index 062178b1e..c4c3aa777 100644 --- a/packages/assets/svgs/ext/Extras/razor.svg +++ b/packages/assets/svgs/ext/Extras/razor.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/reactjs.svg b/packages/assets/svgs/ext/Extras/reactjs.svg index a47e2c144..6d80f8181 100644 --- a/packages/assets/svgs/ext/Extras/reactjs.svg +++ b/packages/assets/svgs/ext/Extras/reactjs.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/reactts.svg b/packages/assets/svgs/ext/Extras/reactts.svg index 5f2e13e42..b52ea8f7f 100644 --- a/packages/assets/svgs/ext/Extras/reactts.svg +++ b/packages/assets/svgs/ext/Extras/reactts.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/readme.svg b/packages/assets/svgs/ext/Extras/readme.svg index 39794bd10..eb788a5e1 100644 --- a/packages/assets/svgs/ext/Extras/readme.svg +++ b/packages/assets/svgs/ext/Extras/readme.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/redis.svg b/packages/assets/svgs/ext/Extras/redis.svg index b817e08ee..7b7315b77 100644 --- a/packages/assets/svgs/ext/Extras/redis.svg +++ b/packages/assets/svgs/ext/Extras/redis.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/rego.svg b/packages/assets/svgs/ext/Extras/rego.svg index aa5c3363b..1c817629c 100644 --- a/packages/assets/svgs/ext/Extras/rego.svg +++ b/packages/assets/svgs/ext/Extras/rego.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/remix.svg b/packages/assets/svgs/ext/Extras/remix.svg index 0c903cb13..553ffcca5 100644 --- a/packages/assets/svgs/ext/Extras/remix.svg +++ b/packages/assets/svgs/ext/Extras/remix.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/rescript.svg b/packages/assets/svgs/ext/Extras/rescript.svg index 5434be372..bdac76466 100644 --- a/packages/assets/svgs/ext/Extras/rescript.svg +++ b/packages/assets/svgs/ext/Extras/rescript.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/rescriptinterface.svg b/packages/assets/svgs/ext/Extras/rescriptinterface.svg new file mode 100644 index 000000000..cb1a35894 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/rescriptinterface.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/restructuredtext.svg b/packages/assets/svgs/ext/Extras/restructuredtext.svg new file mode 100644 index 000000000..ecea3c53d --- /dev/null +++ b/packages/assets/svgs/ext/Extras/restructuredtext.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/rjson.svg b/packages/assets/svgs/ext/Extras/rjson.svg index dc5bc6a3c..1deef7bc2 100644 --- a/packages/assets/svgs/ext/Extras/rjson.svg +++ b/packages/assets/svgs/ext/Extras/rjson.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/robots.svg b/packages/assets/svgs/ext/Extras/robots.svg index 88e6e665a..e0979b219 100644 --- a/packages/assets/svgs/ext/Extras/robots.svg +++ b/packages/assets/svgs/ext/Extras/robots.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/rollup.svg b/packages/assets/svgs/ext/Extras/rollup.svg index 068db6afa..ba60381c6 100644 --- a/packages/assets/svgs/ext/Extras/rollup.svg +++ b/packages/assets/svgs/ext/Extras/rollup.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/rome.svg b/packages/assets/svgs/ext/Extras/rome.svg index 96cc86e19..e89e567f1 100644 --- a/packages/assets/svgs/ext/Extras/rome.svg +++ b/packages/assets/svgs/ext/Extras/rome.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/ron.svg b/packages/assets/svgs/ext/Extras/ron.svg new file mode 100644 index 000000000..2168914bb --- /dev/null +++ b/packages/assets/svgs/ext/Extras/ron.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/root_folder.svg b/packages/assets/svgs/ext/Extras/root_folder.svg new file mode 100644 index 000000000..46eb504d2 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/root_folder.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/root_folder_light.svg b/packages/assets/svgs/ext/Extras/root_folder_light.svg new file mode 100644 index 000000000..a95ff3811 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/root_folder_light.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/root_folder_light_open.svg b/packages/assets/svgs/ext/Extras/root_folder_light_open.svg new file mode 100644 index 000000000..6f5559138 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/root_folder_light_open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/root_folder_open.svg b/packages/assets/svgs/ext/Extras/root_folder_open.svg new file mode 100644 index 000000000..a94e396df --- /dev/null +++ b/packages/assets/svgs/ext/Extras/root_folder_open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/ruby.svg b/packages/assets/svgs/ext/Extras/ruby.svg new file mode 100644 index 000000000..42f5df6ea --- /dev/null +++ b/packages/assets/svgs/ext/Extras/ruby.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/rust.svg b/packages/assets/svgs/ext/Extras/rust.svg new file mode 100644 index 000000000..e833266ac --- /dev/null +++ b/packages/assets/svgs/ext/Extras/rust.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/rustfmt.svg b/packages/assets/svgs/ext/Extras/rustfmt.svg index b064f0cb3..1ac0bd7f1 100644 --- a/packages/assets/svgs/ext/Extras/rustfmt.svg +++ b/packages/assets/svgs/ext/Extras/rustfmt.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/sails.svg b/packages/assets/svgs/ext/Extras/sails.svg index 836decbe0..bce14b614 100644 --- a/packages/assets/svgs/ext/Extras/sails.svg +++ b/packages/assets/svgs/ext/Extras/sails.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/salesforce.svg b/packages/assets/svgs/ext/Extras/salesforce.svg new file mode 100644 index 000000000..295940faf --- /dev/null +++ b/packages/assets/svgs/ext/Extras/salesforce.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/sass.svg b/packages/assets/svgs/ext/Extras/sass.svg index 94c9f7cfe..b6dd897b0 100644 --- a/packages/assets/svgs/ext/Extras/sass.svg +++ b/packages/assets/svgs/ext/Extras/sass.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/scala.svg b/packages/assets/svgs/ext/Extras/scala.svg index 3c277d532..98418d1f3 100644 --- a/packages/assets/svgs/ext/Extras/scala.svg +++ b/packages/assets/svgs/ext/Extras/scala.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/scss.svg b/packages/assets/svgs/ext/Extras/scss.svg index 94c9f7cfe..b6dd897b0 100644 --- a/packages/assets/svgs/ext/Extras/scss.svg +++ b/packages/assets/svgs/ext/Extras/scss.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/sentinel.svg b/packages/assets/svgs/ext/Extras/sentinel.svg index 8149fa6cd..19fc7efc2 100644 --- a/packages/assets/svgs/ext/Extras/sentinel.svg +++ b/packages/assets/svgs/ext/Extras/sentinel.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/sequelize.svg b/packages/assets/svgs/ext/Extras/sequelize.svg index 4cf321366..75239e853 100644 --- a/packages/assets/svgs/ext/Extras/sequelize.svg +++ b/packages/assets/svgs/ext/Extras/sequelize.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/shaderlab.svg b/packages/assets/svgs/ext/Extras/shaderlab.svg new file mode 100644 index 000000000..11a027e5d --- /dev/null +++ b/packages/assets/svgs/ext/Extras/shaderlab.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/shell.svg b/packages/assets/svgs/ext/Extras/shell.svg new file mode 100644 index 000000000..136c8ec13 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/shell.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/silq.svg b/packages/assets/svgs/ext/Extras/silq.svg new file mode 100644 index 000000000..7ef4ec901 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/silq.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/slim.svg b/packages/assets/svgs/ext/Extras/slim.svg index 1f81247dc..135f40342 100644 --- a/packages/assets/svgs/ext/Extras/slim.svg +++ b/packages/assets/svgs/ext/Extras/slim.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/sln.svg b/packages/assets/svgs/ext/Extras/sln.svg index b02eef36a..c33f097cd 100644 --- a/packages/assets/svgs/ext/Extras/sln.svg +++ b/packages/assets/svgs/ext/Extras/sln.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/smarty.svg b/packages/assets/svgs/ext/Extras/smarty.svg index 330e94852..5785be345 100644 --- a/packages/assets/svgs/ext/Extras/smarty.svg +++ b/packages/assets/svgs/ext/Extras/smarty.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/sol.svg b/packages/assets/svgs/ext/Extras/sol.svg index d28c585e9..991c675fb 100644 --- a/packages/assets/svgs/ext/Extras/sol.svg +++ b/packages/assets/svgs/ext/Extras/sol.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/spc.svg b/packages/assets/svgs/ext/Extras/spc.svg index 66553b719..0376c3d73 100644 --- a/packages/assets/svgs/ext/Extras/spc.svg +++ b/packages/assets/svgs/ext/Extras/spc.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/sql.svg b/packages/assets/svgs/ext/Extras/sql.svg index 42cb6a1c1..192c070e8 100644 --- a/packages/assets/svgs/ext/Extras/sql.svg +++ b/packages/assets/svgs/ext/Extras/sql.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/sqlite.svg b/packages/assets/svgs/ext/Extras/sqlite.svg index 50a09dd9f..068132838 100644 --- a/packages/assets/svgs/ext/Extras/sqlite.svg +++ b/packages/assets/svgs/ext/Extras/sqlite.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/storybook.svg b/packages/assets/svgs/ext/Extras/storybook.svg index 5b19d170a..d3bf46f58 100644 --- a/packages/assets/svgs/ext/Extras/storybook.svg +++ b/packages/assets/svgs/ext/Extras/storybook.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/stylelint.svg b/packages/assets/svgs/ext/Extras/stylelint.svg index 6663a2244..06c7e35eb 100644 --- a/packages/assets/svgs/ext/Extras/stylelint.svg +++ b/packages/assets/svgs/ext/Extras/stylelint.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/stylelintignore.svg b/packages/assets/svgs/ext/Extras/stylelintignore.svg new file mode 100644 index 000000000..665919b48 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/stylelintignore.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/stylus.svg b/packages/assets/svgs/ext/Extras/stylus.svg index f20aec94a..3d88470dd 100644 --- a/packages/assets/svgs/ext/Extras/stylus.svg +++ b/packages/assets/svgs/ext/Extras/stylus.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/suo.svg b/packages/assets/svgs/ext/Extras/suo.svg index 8f5af56f1..94a1c9aa6 100644 --- a/packages/assets/svgs/ext/Extras/suo.svg +++ b/packages/assets/svgs/ext/Extras/suo.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/svelte.svg b/packages/assets/svgs/ext/Extras/svelte.svg index 85406c398..fcbcdb9e5 100644 --- a/packages/assets/svgs/ext/Extras/svelte.svg +++ b/packages/assets/svgs/ext/Extras/svelte.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/svelteconfig.svg b/packages/assets/svgs/ext/Extras/svelteconfig.svg index ad68d2d9d..c902cb5ac 100644 --- a/packages/assets/svgs/ext/Extras/svelteconfig.svg +++ b/packages/assets/svgs/ext/Extras/svelteconfig.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/svg.svg b/packages/assets/svgs/ext/Extras/svg.svg index 7858dd7c4..66a078616 100644 --- a/packages/assets/svgs/ext/Extras/svg.svg +++ b/packages/assets/svgs/ext/Extras/svg.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/swift.svg b/packages/assets/svgs/ext/Extras/swift.svg index 93be220f5..c171110c7 100644 --- a/packages/assets/svgs/ext/Extras/swift.svg +++ b/packages/assets/svgs/ext/Extras/swift.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/symfony.svg b/packages/assets/svgs/ext/Extras/symfony.svg index 8e5d772b0..b3996ca91 100644 --- a/packages/assets/svgs/ext/Extras/symfony.svg +++ b/packages/assets/svgs/ext/Extras/symfony.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/tailwind.svg b/packages/assets/svgs/ext/Extras/tailwind.svg index 9772f3955..f0d885adf 100644 --- a/packages/assets/svgs/ext/Extras/tailwind.svg +++ b/packages/assets/svgs/ext/Extras/tailwind.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/tauri.svg b/packages/assets/svgs/ext/Extras/tauri.svg index c4fa21d5e..ba2f89347 100644 --- a/packages/assets/svgs/ext/Extras/tauri.svg +++ b/packages/assets/svgs/ext/Extras/tauri.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/taze.svg b/packages/assets/svgs/ext/Extras/taze.svg index 668c00a18..f127f847e 100644 --- a/packages/assets/svgs/ext/Extras/taze.svg +++ b/packages/assets/svgs/ext/Extras/taze.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/terrafile.svg b/packages/assets/svgs/ext/Extras/terrafile.svg index ae80802cd..a508e0130 100644 --- a/packages/assets/svgs/ext/Extras/terrafile.svg +++ b/packages/assets/svgs/ext/Extras/terrafile.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/terraform.svg b/packages/assets/svgs/ext/Extras/terraform.svg index 8a7eff55d..f9fc73a44 100644 --- a/packages/assets/svgs/ext/Extras/terraform.svg +++ b/packages/assets/svgs/ext/Extras/terraform.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/terraformvars.svg b/packages/assets/svgs/ext/Extras/terraformvars.svg index d23bef373..ad374b9a1 100644 --- a/packages/assets/svgs/ext/Extras/terraformvars.svg +++ b/packages/assets/svgs/ext/Extras/terraformvars.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/terraformversion.svg b/packages/assets/svgs/ext/Extras/terraformversion.svg index b5871e93e..5484620d5 100644 --- a/packages/assets/svgs/ext/Extras/terraformversion.svg +++ b/packages/assets/svgs/ext/Extras/terraformversion.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/testjs.svg b/packages/assets/svgs/ext/Extras/testjs.svg index ca7dc2c9b..eb9f53de1 100644 --- a/packages/assets/svgs/ext/Extras/testjs.svg +++ b/packages/assets/svgs/ext/Extras/testjs.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/testts.svg b/packages/assets/svgs/ext/Extras/testts.svg index 1dab247b8..39df27a54 100644 --- a/packages/assets/svgs/ext/Extras/testts.svg +++ b/packages/assets/svgs/ext/Extras/testts.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/tmpl.svg b/packages/assets/svgs/ext/Extras/tmpl.svg index 176f2befc..969b5ae8d 100644 --- a/packages/assets/svgs/ext/Extras/tmpl.svg +++ b/packages/assets/svgs/ext/Extras/tmpl.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/todo.svg b/packages/assets/svgs/ext/Extras/todo.svg index 97709a254..e14c09167 100644 --- a/packages/assets/svgs/ext/Extras/todo.svg +++ b/packages/assets/svgs/ext/Extras/todo.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/toml.svg b/packages/assets/svgs/ext/Extras/toml.svg index 0d092c699..139593ced 100644 --- a/packages/assets/svgs/ext/Extras/toml.svg +++ b/packages/assets/svgs/ext/Extras/toml.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/toolversions.svg b/packages/assets/svgs/ext/Extras/toolversions.svg index 399e7fce9..a13f83198 100644 --- a/packages/assets/svgs/ext/Extras/toolversions.svg +++ b/packages/assets/svgs/ext/Extras/toolversions.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/tox.svg b/packages/assets/svgs/ext/Extras/tox.svg index e20134162..cdfe34952 100644 --- a/packages/assets/svgs/ext/Extras/tox.svg +++ b/packages/assets/svgs/ext/Extras/tox.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/travis.svg b/packages/assets/svgs/ext/Extras/travis.svg index 34d6b193c..dcde72eb2 100644 --- a/packages/assets/svgs/ext/Extras/travis.svg +++ b/packages/assets/svgs/ext/Extras/travis.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/tres.svg b/packages/assets/svgs/ext/Extras/tres.svg index ecdfa9aec..f4ad35216 100644 --- a/packages/assets/svgs/ext/Extras/tres.svg +++ b/packages/assets/svgs/ext/Extras/tres.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/tscn.svg b/packages/assets/svgs/ext/Extras/tscn.svg index 97419ba01..9d2aacb5a 100644 --- a/packages/assets/svgs/ext/Extras/tscn.svg +++ b/packages/assets/svgs/ext/Extras/tscn.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/tsconfig.svg b/packages/assets/svgs/ext/Extras/tsconfig.svg index e1b1f1fe3..eccf920b9 100644 --- a/packages/assets/svgs/ext/Extras/tsconfig.svg +++ b/packages/assets/svgs/ext/Extras/tsconfig.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/tsx.svg b/packages/assets/svgs/ext/Extras/tsx.svg index 1a0c74079..9e61e9a65 100644 --- a/packages/assets/svgs/ext/Extras/tsx.svg +++ b/packages/assets/svgs/ext/Extras/tsx.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/turbo.svg b/packages/assets/svgs/ext/Extras/turbo.svg index 92da45126..19c47fa53 100644 --- a/packages/assets/svgs/ext/Extras/turbo.svg +++ b/packages/assets/svgs/ext/Extras/turbo.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/twig.svg b/packages/assets/svgs/ext/Extras/twig.svg index f72bbfcde..82fed18e4 100644 --- a/packages/assets/svgs/ext/Extras/twig.svg +++ b/packages/assets/svgs/ext/Extras/twig.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/txt.svg b/packages/assets/svgs/ext/Extras/txt.svg new file mode 100644 index 000000000..c22897763 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/txt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/typescript.svg b/packages/assets/svgs/ext/Extras/typescript.svg new file mode 100644 index 000000000..93d060b58 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/typescript.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/typescriptdef.svg b/packages/assets/svgs/ext/Extras/typescriptdef.svg index d207744f3..de69032a1 100644 --- a/packages/assets/svgs/ext/Extras/typescriptdef.svg +++ b/packages/assets/svgs/ext/Extras/typescriptdef.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/ui.svg b/packages/assets/svgs/ext/Extras/ui.svg index f60b28692..624dabe90 100644 --- a/packages/assets/svgs/ext/Extras/ui.svg +++ b/packages/assets/svgs/ext/Extras/ui.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/unocss.svg b/packages/assets/svgs/ext/Extras/unocss.svg index 4aab4e030..e93224697 100644 --- a/packages/assets/svgs/ext/Extras/unocss.svg +++ b/packages/assets/svgs/ext/Extras/unocss.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/urls.ts b/packages/assets/svgs/ext/Extras/urls.ts new file mode 100644 index 000000000..83ea42e4c --- /dev/null +++ b/packages/assets/svgs/ext/Extras/urls.ts @@ -0,0 +1,21 @@ +/* + * Bearded icon SVG URLs for use in interface package. + * Auto-generated mapping. + */ + +// Use glob to import all SVGs as URLs +const modules = import.meta.glob('./*.svg', { + eager: true, + query: '?url', + import: 'default' +}); + +// Create a clean mapping: filename -> URL +export const beardedIconUrls: Record = {}; + +Object.keys(modules).forEach(path => { + // Extract filename without path and extension + // "./typescript.svg" -> "typescript" + const name = path.replace('./', '').replace('.svg', ''); + beardedIconUrls[name] = modules[path]; +}); diff --git a/packages/assets/svgs/ext/Extras/user.svg b/packages/assets/svgs/ext/Extras/user.svg index 4af9c5366..973b4cc86 100644 --- a/packages/assets/svgs/ext/Extras/user.svg +++ b/packages/assets/svgs/ext/Extras/user.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/v.svg b/packages/assets/svgs/ext/Extras/v.svg index d119bf870..4d1b4addb 100644 --- a/packages/assets/svgs/ext/Extras/v.svg +++ b/packages/assets/svgs/ext/Extras/v.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/vanillaextract.svg b/packages/assets/svgs/ext/Extras/vanillaextract.svg new file mode 100644 index 000000000..f229d1d32 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/vanillaextract.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/vb.svg b/packages/assets/svgs/ext/Extras/vb.svg new file mode 100644 index 000000000..24d313414 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/vb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/vercel.svg b/packages/assets/svgs/ext/Extras/vercel.svg index 6482d55b1..baa5a0af6 100644 --- a/packages/assets/svgs/ext/Extras/vercel.svg +++ b/packages/assets/svgs/ext/Extras/vercel.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/version.svg b/packages/assets/svgs/ext/Extras/version.svg index e86b38707..57007e810 100644 --- a/packages/assets/svgs/ext/Extras/version.svg +++ b/packages/assets/svgs/ext/Extras/version.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/vhd.svg b/packages/assets/svgs/ext/Extras/vhd.svg index 3a619db2e..bf64712fa 100644 --- a/packages/assets/svgs/ext/Extras/vhd.svg +++ b/packages/assets/svgs/ext/Extras/vhd.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/vhdl.svg b/packages/assets/svgs/ext/Extras/vhdl.svg index b871e8835..4ea9c2df4 100644 --- a/packages/assets/svgs/ext/Extras/vhdl.svg +++ b/packages/assets/svgs/ext/Extras/vhdl.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/video.svg b/packages/assets/svgs/ext/Extras/video.svg index fedb72540..c0b89cda5 100644 --- a/packages/assets/svgs/ext/Extras/video.svg +++ b/packages/assets/svgs/ext/Extras/video.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/vite.svg b/packages/assets/svgs/ext/Extras/vite.svg index 397e11a1f..b0479b9c6 100644 --- a/packages/assets/svgs/ext/Extras/vite.svg +++ b/packages/assets/svgs/ext/Extras/vite.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/viteenv.svg b/packages/assets/svgs/ext/Extras/viteenv.svg index 56c09d255..fc23bd70d 100644 --- a/packages/assets/svgs/ext/Extras/viteenv.svg +++ b/packages/assets/svgs/ext/Extras/viteenv.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/vitest.svg b/packages/assets/svgs/ext/Extras/vitest.svg index 36a14c212..b5bfd9825 100644 --- a/packages/assets/svgs/ext/Extras/vitest.svg +++ b/packages/assets/svgs/ext/Extras/vitest.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/vmod.svg b/packages/assets/svgs/ext/Extras/vmod.svg index a739f4f7a..119b09267 100644 --- a/packages/assets/svgs/ext/Extras/vmod.svg +++ b/packages/assets/svgs/ext/Extras/vmod.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/vscode.svg b/packages/assets/svgs/ext/Extras/vscode.svg index cdd79c029..1117d33eb 100644 --- a/packages/assets/svgs/ext/Extras/vscode.svg +++ b/packages/assets/svgs/ext/Extras/vscode.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/vue.svg b/packages/assets/svgs/ext/Extras/vue.svg new file mode 100644 index 000000000..0d020002a --- /dev/null +++ b/packages/assets/svgs/ext/Extras/vue.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/vueconfig.svg b/packages/assets/svgs/ext/Extras/vueconfig.svg new file mode 100644 index 000000000..4dbbd04e1 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/vueconfig.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/wasm.svg b/packages/assets/svgs/ext/Extras/wasm.svg index 30fb66b52..7dcc2a3f3 100644 --- a/packages/assets/svgs/ext/Extras/wasm.svg +++ b/packages/assets/svgs/ext/Extras/wasm.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/webpack.svg b/packages/assets/svgs/ext/Extras/webpack.svg index ed725c15f..d227cf2c8 100644 --- a/packages/assets/svgs/ext/Extras/webpack.svg +++ b/packages/assets/svgs/ext/Extras/webpack.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/wgsl.svg b/packages/assets/svgs/ext/Extras/wgsl.svg new file mode 100644 index 000000000..de5e71d57 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/wgsl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/windi.svg b/packages/assets/svgs/ext/Extras/windi.svg index 1f86bf490..b9f0a6fdd 100644 --- a/packages/assets/svgs/ext/Extras/windi.svg +++ b/packages/assets/svgs/ext/Extras/windi.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/wren.svg b/packages/assets/svgs/ext/Extras/wren.svg new file mode 100644 index 000000000..08a44bbec --- /dev/null +++ b/packages/assets/svgs/ext/Extras/wren.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/xmake.svg b/packages/assets/svgs/ext/Extras/xmake.svg index 460e40854..d8e8f6ffe 100644 --- a/packages/assets/svgs/ext/Extras/xmake.svg +++ b/packages/assets/svgs/ext/Extras/xmake.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/xml.svg b/packages/assets/svgs/ext/Extras/xml.svg index 17c99fd31..0168f5652 100644 --- a/packages/assets/svgs/ext/Extras/xml.svg +++ b/packages/assets/svgs/ext/Extras/xml.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/yaml.svg b/packages/assets/svgs/ext/Extras/yaml.svg index ad4e20968..44ab3e22d 100644 --- a/packages/assets/svgs/ext/Extras/yaml.svg +++ b/packages/assets/svgs/ext/Extras/yaml.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/yang.svg b/packages/assets/svgs/ext/Extras/yang.svg new file mode 100644 index 000000000..ec3a094e1 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/yang.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/yarn.svg b/packages/assets/svgs/ext/Extras/yarn.svg index 54e3295d5..130210e93 100644 --- a/packages/assets/svgs/ext/Extras/yarn.svg +++ b/packages/assets/svgs/ext/Extras/yarn.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/yarnerror.svg b/packages/assets/svgs/ext/Extras/yarnerror.svg index dc40c48f6..5a8bf204f 100644 --- a/packages/assets/svgs/ext/Extras/yarnerror.svg +++ b/packages/assets/svgs/ext/Extras/yarnerror.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/yarnignore.svg b/packages/assets/svgs/ext/Extras/yarnignore.svg new file mode 100644 index 000000000..635572403 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/yarnignore.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/yarnlock.svg b/packages/assets/svgs/ext/Extras/yarnlock.svg new file mode 100644 index 000000000..306dd1f25 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/yarnlock.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/yin.svg b/packages/assets/svgs/ext/Extras/yin.svg new file mode 100644 index 000000000..41ad1ec96 --- /dev/null +++ b/packages/assets/svgs/ext/Extras/yin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/zig.svg b/packages/assets/svgs/ext/Extras/zig.svg index 346b4e58c..fea4af4c1 100644 --- a/packages/assets/svgs/ext/Extras/zig.svg +++ b/packages/assets/svgs/ext/Extras/zig.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/Extras/zip.svg b/packages/assets/svgs/ext/Extras/zip.svg index 34933bbed..4c58891e4 100644 --- a/packages/assets/svgs/ext/Extras/zip.svg +++ b/packages/assets/svgs/ext/Extras/zip.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/packages/assets/svgs/ext/icons.json b/packages/assets/svgs/ext/icons.json new file mode 100644 index 000000000..d17698f05 --- /dev/null +++ b/packages/assets/svgs/ext/icons.json @@ -0,0 +1 @@ +{"hidesExplorerArrows":true,"iconDefinitions":{"_file":{"iconPath":"./icons/file.svg"},"_folder":{"iconPath":"./icons/folder.svg"},"_folder_open":{"iconPath":"./icons/folder_open.svg"},"_root_folder":{"iconPath":"./icons/root_folder.svg"},"_root_folder_open":{"iconPath":"./icons/root_folder_open.svg"},"_root_folder_light":{"iconPath":"./icons/root_folder_light.svg"},"_root_folder_light_open":{"iconPath":"./icons/root_folder_light_open.svg"},"ace":{"iconPath":"./icons/ace.svg"},"acemanifest":{"iconPath":"./icons/acemanifest.svg"},"adoc":{"iconPath":"./icons/adoc.svg"},"adonis":{"iconPath":"./icons/adonis.svg"},"adonisconfig":{"iconPath":"./icons/adonisconfig.svg"},"afdesign":{"iconPath":"./icons/afdesign.svg"},"afphoto":{"iconPath":"./icons/afphoto.svg"},"afpub":{"iconPath":"./icons/afpub.svg"},"ai":{"iconPath":"./icons/ai.svg"},"air":{"iconPath":"./icons/air.svg"},"angular":{"iconPath":"./icons/angular.svg"},"anim":{"iconPath":"./icons/anim.svg"},"astro":{"iconPath":"./icons/astro.svg"},"astroconfig":{"iconPath":"./icons/astroconfig.svg"},"atomizer":{"iconPath":"./icons/atomizer.svg"},"audio":{"iconPath":"./icons/audio.svg"},"audiomp3":{"iconPath":"./icons/audiomp3.svg"},"audioogg":{"iconPath":"./icons/audioogg.svg"},"audiowav":{"iconPath":"./icons/audiowav.svg"},"audiowv":{"iconPath":"./icons/audiowv.svg"},"azure":{"iconPath":"./icons/azure.svg"},"babel":{"iconPath":"./icons/babel.svg"},"ballerina":{"iconPath":"./icons/ballerina.svg"},"ballerinaconfig":{"iconPath":"./icons/ballerinaconfig.svg"},"bat":{"iconPath":"./icons/bat.svg"},"bazel":{"iconPath":"./icons/bazel.svg"},"bazelignore":{"iconPath":"./icons/bazelignore.svg"},"bicep":{"iconPath":"./icons/bicep.svg"},"bicepconfig":{"iconPath":"./icons/bicepconfig.svg"},"bicepparam":{"iconPath":"./icons/bicepparam.svg"},"binary":{"iconPath":"./icons/binary.svg"},"biome":{"iconPath":"./icons/biome.svg"},"blade":{"iconPath":"./icons/blade.svg"},"brotli":{"iconPath":"./icons/brotli.svg"},"browserslist":{"iconPath":"./icons/browserslist.svg"},"bruno":{"iconPath":"./icons/bruno.svg"},"bsconfig":{"iconPath":"./icons/bsconfig.svg"},"buck":{"iconPath":"./icons/buck.svg"},"bun":{"iconPath":"./icons/bun.svg"},"bundler":{"iconPath":"./icons/bundler.svg"},"bunlock":{"iconPath":"./icons/bunlock.svg"},"c":{"iconPath":"./icons/c.svg"},"cargo":{"iconPath":"./icons/cargo.svg"},"cargolock":{"iconPath":"./icons/cargolock.svg"},"cert":{"iconPath":"./icons/cert.svg"},"cheader":{"iconPath":"./icons/cheader.svg"},"civet":{"iconPath":"./icons/civet.svg"},"claude":{"iconPath":"./icons/claude.svg"},"cli":{"iconPath":"./icons/cli.svg"},"clojure":{"iconPath":"./icons/clojure.svg"},"cmake":{"iconPath":"./icons/cmake.svg"},"codeworkspace":{"iconPath":"./icons/codeworkspace.svg"},"coffeescript":{"iconPath":"./icons/coffeescript.svg"},"commitlint":{"iconPath":"./icons/commitlint.svg"},"compodoc":{"iconPath":"./icons/compodoc.svg"},"composer":{"iconPath":"./icons/composer.svg"},"composerlock":{"iconPath":"./icons/composerlock.svg"},"conan":{"iconPath":"./icons/conan.svg"},"conf":{"iconPath":"./icons/conf.svg"},"copilot":{"iconPath":"./icons/copilot.svg"},"cpp":{"iconPath":"./icons/cpp.svg"},"crystal":{"iconPath":"./icons/crystal.svg"},"csharp":{"iconPath":"./icons/csharp.svg"},"cshtml":{"iconPath":"./icons/cshtml.svg"},"csproj":{"iconPath":"./icons/csproj.svg"},"css":{"iconPath":"./icons/css.svg"},"cssmap":{"iconPath":"./icons/cssmap.svg"},"csv":{"iconPath":"./icons/csv.svg"},"cucumber":{"iconPath":"./icons/cucumber.svg"},"cursor":{"iconPath":"./icons/cursor.svg"},"cypress":{"iconPath":"./icons/cypress.svg"},"cypressjs":{"iconPath":"./icons/cypressjs.svg"},"cypressts":{"iconPath":"./icons/cypressts.svg"},"d":{"iconPath":"./icons/d.svg"},"dartlang":{"iconPath":"./icons/dartlang.svg"},"delphiproject":{"iconPath":"./icons/delphiproject.svg"},"diff":{"iconPath":"./icons/diff.svg"},"docker":{"iconPath":"./icons/docker.svg"},"dockerdebug":{"iconPath":"./icons/dockerdebug.svg"},"dockerignore":{"iconPath":"./icons/dockerignore.svg"},"drawio":{"iconPath":"./icons/drawio.svg"},"drizzle":{"iconPath":"./icons/drizzle.svg"},"dsstore":{"iconPath":"./icons/dsstore.svg"},"dune":{"iconPath":"./icons/dune.svg"},"duneproject":{"iconPath":"./icons/duneproject.svg"},"edge":{"iconPath":"./icons/edge.svg"},"editorconfig":{"iconPath":"./icons/editorconfig.svg"},"eex":{"iconPath":"./icons/eex.svg"},"elixir":{"iconPath":"./icons/elixir.svg"},"elm":{"iconPath":"./icons/elm.svg"},"env":{"iconPath":"./icons/env.svg"},"eraser":{"iconPath":"./icons/eraser.svg"},"erb":{"iconPath":"./icons/erb.svg"},"erlang":{"iconPath":"./icons/erlang.svg"},"esbuild":{"iconPath":"./icons/esbuild.svg"},"eslint":{"iconPath":"./icons/eslint.svg"},"eslintignore":{"iconPath":"./icons/eslintignore.svg"},"excalidraw":{"iconPath":"./icons/excalidraw.svg"},"exs":{"iconPath":"./icons/exs.svg"},"exx":{"iconPath":"./icons/exx.svg"},"farm":{"iconPath":"./icons/farm.svg"},"figma":{"iconPath":"./icons/figma.svg"},"file":{"iconPath":"./icons/file.svg"},"file_light":{"iconPath":"./icons/file_light.svg"},"flakelock":{"iconPath":"./icons/flakelock.svg"},"flutter":{"iconPath":"./icons/flutter.svg"},"flutterlock":{"iconPath":"./icons/flutterlock.svg"},"flutterpackage":{"iconPath":"./icons/flutterpackage.svg"},"folder":{"iconPath":"./icons/folder.svg"},"folder_open":{"iconPath":"./icons/folder_open.svg"},"fonteot":{"iconPath":"./icons/fonteot.svg"},"fontotf":{"iconPath":"./icons/fontotf.svg"},"fontttf":{"iconPath":"./icons/fontttf.svg"},"fontwoff":{"iconPath":"./icons/fontwoff.svg"},"fontwoff2":{"iconPath":"./icons/fontwoff2.svg"},"freemarker":{"iconPath":"./icons/freemarker.svg"},"fsharp":{"iconPath":"./icons/fsharp.svg"},"gbl":{"iconPath":"./icons/gbl.svg"},"git":{"iconPath":"./icons/git.svg"},"gitlab":{"iconPath":"./icons/gitlab.svg"},"gleam":{"iconPath":"./icons/gleam.svg"},"gleamconfig":{"iconPath":"./icons/gleamconfig.svg"},"go":{"iconPath":"./icons/go.svg"},"godot":{"iconPath":"./icons/godot.svg"},"go_package":{"iconPath":"./icons/go_package.svg"},"gradle":{"iconPath":"./icons/gradle.svg"},"gradlebat":{"iconPath":"./icons/gradlebat.svg"},"gradlekotlin":{"iconPath":"./icons/gradlekotlin.svg"},"grain":{"iconPath":"./icons/grain.svg"},"graphql":{"iconPath":"./icons/graphql.svg"},"groovy":{"iconPath":"./icons/groovy.svg"},"grunt":{"iconPath":"./icons/grunt.svg"},"gulp":{"iconPath":"./icons/gulp.svg"},"h":{"iconPath":"./icons/h.svg"},"haml":{"iconPath":"./icons/haml.svg"},"handlebars":{"iconPath":"./icons/handlebars.svg"},"hardhat":{"iconPath":"./icons/hardhat.svg"},"hash":{"iconPath":"./icons/hash.svg"},"hashicorp":{"iconPath":"./icons/hashicorp.svg"},"haskell":{"iconPath":"./icons/haskell.svg"},"haxe":{"iconPath":"./icons/haxe.svg"},"haxeml":{"iconPath":"./icons/haxeml.svg"},"hpp":{"iconPath":"./icons/hpp.svg"},"htaccess":{"iconPath":"./icons/htaccess.svg"},"html":{"iconPath":"./icons/html.svg"},"http":{"iconPath":"./icons/http.svg"},"identifier":{"iconPath":"./icons/identifier.svg"},"image":{"iconPath":"./icons/image.svg"},"imagegif":{"iconPath":"./icons/imagegif.svg"},"imageico":{"iconPath":"./icons/imageico.svg"},"imagejpg":{"iconPath":"./icons/imagejpg.svg"},"imagepng":{"iconPath":"./icons/imagepng.svg"},"imagewebp":{"iconPath":"./icons/imagewebp.svg"},"imba":{"iconPath":"./icons/imba.svg"},"info":{"iconPath":"./icons/info.svg"},"instructions":{"iconPath":"./icons/instructions.svg"},"ipynb":{"iconPath":"./icons/ipynb.svg"},"jar":{"iconPath":"./icons/jar.svg"},"java":{"iconPath":"./icons/java.svg"},"jenkins":{"iconPath":"./icons/jenkins.svg"},"jest":{"iconPath":"./icons/jest.svg"},"jinja":{"iconPath":"./icons/jinja.svg"},"js":{"iconPath":"./icons/js.svg"},"jsmap":{"iconPath":"./icons/jsmap.svg"},"json":{"iconPath":"./icons/json.svg"},"jsp":{"iconPath":"./icons/jsp.svg"},"julia":{"iconPath":"./icons/julia.svg"},"karma":{"iconPath":"./icons/karma.svg"},"keep":{"iconPath":"./icons/keep.svg"},"key":{"iconPath":"./icons/key.svg"},"knex":{"iconPath":"./icons/knex.svg"},"knip":{"iconPath":"./icons/knip.svg"},"kotlin":{"iconPath":"./icons/kotlin.svg"},"kotlins":{"iconPath":"./icons/kotlins.svg"},"krita":{"iconPath":"./icons/krita.svg"},"latex":{"iconPath":"./icons/latex.svg"},"launch":{"iconPath":"./icons/launch.svg"},"lazarusproject":{"iconPath":"./icons/lazarusproject.svg"},"less":{"iconPath":"./icons/less.svg"},"license":{"iconPath":"./icons/license.svg"},"light_editorconfig":{"iconPath":"./icons/light_editorconfig.svg"},"liquid":{"iconPath":"./icons/liquid.svg"},"llvm":{"iconPath":"./icons/llvm.svg"},"lock":{"iconPath":"./icons/lock.svg"},"log":{"iconPath":"./icons/log.svg"},"lua":{"iconPath":"./icons/lua.svg"},"m":{"iconPath":"./icons/m.svg"},"makefile":{"iconPath":"./icons/makefile.svg"},"manifest":{"iconPath":"./icons/manifest.svg"},"markdown":{"iconPath":"./icons/markdown.svg"},"markdownx":{"iconPath":"./icons/markdownx.svg"},"maven":{"iconPath":"./icons/maven.svg"},"mermaid":{"iconPath":"./icons/mermaid.svg"},"mesh":{"iconPath":"./icons/mesh.svg"},"mgcb":{"iconPath":"./icons/mgcb.svg"},"mint":{"iconPath":"./icons/mint.svg"},"mix":{"iconPath":"./icons/mix.svg"},"mixlock":{"iconPath":"./icons/mixlock.svg"},"mjml":{"iconPath":"./icons/mjml.svg"},"mkdocs":{"iconPath":"./icons/mkdocs.svg"},"mockoon":{"iconPath":"./icons/mockoon.svg"},"motoko":{"iconPath":"./icons/motoko.svg"},"mov":{"iconPath":"./icons/mov.svg"},"mp4":{"iconPath":"./icons/mp4.svg"},"mtl":{"iconPath":"./icons/mtl.svg"},"mustache":{"iconPath":"./icons/mustache.svg"},"nelua":{"iconPath":"./icons/nelua.svg"},"neon":{"iconPath":"./icons/neon.svg"},"nestjs":{"iconPath":"./icons/nestjs.svg"},"nestjscontroller":{"iconPath":"./icons/nestjscontroller.svg"},"nestjsdecorator":{"iconPath":"./icons/nestjsdecorator.svg"},"nestjsdto":{"iconPath":"./icons/nestjsdto.svg"},"nestjsentity":{"iconPath":"./icons/nestjsentity.svg"},"nestjsfilter":{"iconPath":"./icons/nestjsfilter.svg"},"nestjsguard":{"iconPath":"./icons/nestjsguard.svg"},"nestjsinterceptor":{"iconPath":"./icons/nestjsinterceptor.svg"},"nestjsmodule":{"iconPath":"./icons/nestjsmodule.svg"},"nestjsrepository":{"iconPath":"./icons/nestjsrepository.svg"},"nestjsresolver":{"iconPath":"./icons/nestjsresolver.svg"},"nestjsservice":{"iconPath":"./icons/nestjsservice.svg"},"nestscheduler":{"iconPath":"./icons/nestscheduler.svg"},"netlify":{"iconPath":"./icons/netlify.svg"},"nextconfig":{"iconPath":"./icons/nextconfig.svg"},"nextron":{"iconPath":"./icons/nextron.svg"},"nginx":{"iconPath":"./icons/nginx.svg"},"nim":{"iconPath":"./icons/nim.svg"},"nix":{"iconPath":"./icons/nix.svg"},"njk":{"iconPath":"./icons/njk.svg"},"node":{"iconPath":"./icons/node.svg"},"nodemon":{"iconPath":"./icons/nodemon.svg"},"npm":{"iconPath":"./icons/npm.svg"},"npmlock":{"iconPath":"./icons/npmlock.svg"},"nuxt":{"iconPath":"./icons/nuxt.svg"},"nvidia":{"iconPath":"./icons/nvidia.svg"},"nvim":{"iconPath":"./icons/nvim.svg"},"nvm":{"iconPath":"./icons/nvm.svg"},"nx":{"iconPath":"./icons/nx.svg"},"obj":{"iconPath":"./icons/obj.svg"},"ocaml":{"iconPath":"./icons/ocaml.svg"},"ocamli":{"iconPath":"./icons/ocamli.svg"},"ocamll":{"iconPath":"./icons/ocamll.svg"},"ocamly":{"iconPath":"./icons/ocamly.svg"},"odin":{"iconPath":"./icons/odin.svg"},"opengl":{"iconPath":"./icons/opengl.svg"},"oxlint":{"iconPath":"./icons/oxlint.svg"},"panda":{"iconPath":"./icons/panda.svg"},"parcel":{"iconPath":"./icons/parcel.svg"},"pascal":{"iconPath":"./icons/pascal.svg"},"pdf":{"iconPath":"./icons/pdf.svg"},"perl":{"iconPath":"./icons/perl.svg"},"perlm":{"iconPath":"./icons/perlm.svg"},"pfx":{"iconPath":"./icons/pfx.svg"},"photoshop":{"iconPath":"./icons/photoshop.svg"},"php":{"iconPath":"./icons/php.svg"},"plantuml":{"iconPath":"./icons/plantuml.svg"},"playright":{"iconPath":"./icons/playright.svg"},"plop":{"iconPath":"./icons/plop.svg"},"pnpm":{"iconPath":"./icons/pnpm.svg"},"pnpmlock":{"iconPath":"./icons/pnpmlock.svg"},"poetry":{"iconPath":"./icons/poetry.svg"},"poetrylock":{"iconPath":"./icons/poetrylock.svg"},"postcssconfig":{"iconPath":"./icons/postcssconfig.svg"},"powershell":{"iconPath":"./icons/powershell.svg"},"powershelldata":{"iconPath":"./icons/powershelldata.svg"},"powershellmodule":{"iconPath":"./icons/powershellmodule.svg"},"precommit":{"iconPath":"./icons/precommit.svg"},"prettier":{"iconPath":"./icons/prettier.svg"},"prettierignore":{"iconPath":"./icons/prettierignore.svg"},"prisma":{"iconPath":"./icons/prisma.svg"},"prolog":{"iconPath":"./icons/prolog.svg"},"prompt":{"iconPath":"./icons/prompt.svg"},"properties":{"iconPath":"./icons/properties.svg"},"proto":{"iconPath":"./icons/proto.svg"},"pug":{"iconPath":"./icons/pug.svg"},"pvk":{"iconPath":"./icons/pvk.svg"},"pyproject":{"iconPath":"./icons/pyproject.svg"},"python":{"iconPath":"./icons/python.svg"},"qt":{"iconPath":"./icons/qt.svg"},"quarkus":{"iconPath":"./icons/quarkus.svg"},"quasar":{"iconPath":"./icons/quasar.svg"},"r":{"iconPath":"./icons/r.svg"},"racket":{"iconPath":"./icons/racket.svg"},"raku":{"iconPath":"./icons/raku.svg"},"razor":{"iconPath":"./icons/razor.svg"},"reactjs":{"iconPath":"./icons/reactjs.svg"},"reactts":{"iconPath":"./icons/reactts.svg"},"readme":{"iconPath":"./icons/readme.svg"},"redis":{"iconPath":"./icons/redis.svg"},"rego":{"iconPath":"./icons/rego.svg"},"remix":{"iconPath":"./icons/remix.svg"},"rescript":{"iconPath":"./icons/rescript.svg"},"rescriptinterface":{"iconPath":"./icons/rescriptinterface.svg"},"restructuredtext":{"iconPath":"./icons/restructuredtext.svg"},"rjson":{"iconPath":"./icons/rjson.svg"},"robots":{"iconPath":"./icons/robots.svg"},"rollup":{"iconPath":"./icons/rollup.svg"},"rome":{"iconPath":"./icons/rome.svg"},"ron":{"iconPath":"./icons/ron.svg"},"root_folder":{"iconPath":"./icons/root_folder.svg"},"root_folder_light":{"iconPath":"./icons/root_folder_light.svg"},"root_folder_light_open":{"iconPath":"./icons/root_folder_light_open.svg"},"root_folder_open":{"iconPath":"./icons/root_folder_open.svg"},"ruby":{"iconPath":"./icons/ruby.svg"},"rust":{"iconPath":"./icons/rust.svg"},"rustfmt":{"iconPath":"./icons/rustfmt.svg"},"sails":{"iconPath":"./icons/sails.svg"},"salesforce":{"iconPath":"./icons/salesforce.svg"},"sass":{"iconPath":"./icons/sass.svg"},"scala":{"iconPath":"./icons/scala.svg"},"scss":{"iconPath":"./icons/scss.svg"},"sentinel":{"iconPath":"./icons/sentinel.svg"},"sequelize":{"iconPath":"./icons/sequelize.svg"},"shaderlab":{"iconPath":"./icons/shaderlab.svg"},"shell":{"iconPath":"./icons/shell.svg"},"silq":{"iconPath":"./icons/silq.svg"},"slim":{"iconPath":"./icons/slim.svg"},"sln":{"iconPath":"./icons/sln.svg"},"smarty":{"iconPath":"./icons/smarty.svg"},"sol":{"iconPath":"./icons/sol.svg"},"spc":{"iconPath":"./icons/spc.svg"},"sql":{"iconPath":"./icons/sql.svg"},"sqlite":{"iconPath":"./icons/sqlite.svg"},"storybook":{"iconPath":"./icons/storybook.svg"},"stylelint":{"iconPath":"./icons/stylelint.svg"},"stylelintignore":{"iconPath":"./icons/stylelintignore.svg"},"stylus":{"iconPath":"./icons/stylus.svg"},"suo":{"iconPath":"./icons/suo.svg"},"svelte":{"iconPath":"./icons/svelte.svg"},"svelteconfig":{"iconPath":"./icons/svelteconfig.svg"},"svg":{"iconPath":"./icons/svg.svg"},"swift":{"iconPath":"./icons/swift.svg"},"symfony":{"iconPath":"./icons/symfony.svg"},"tailwind":{"iconPath":"./icons/tailwind.svg"},"tauri":{"iconPath":"./icons/tauri.svg"},"taze":{"iconPath":"./icons/taze.svg"},"terrafile":{"iconPath":"./icons/terrafile.svg"},"terraform":{"iconPath":"./icons/terraform.svg"},"terraformvars":{"iconPath":"./icons/terraformvars.svg"},"terraformversion":{"iconPath":"./icons/terraformversion.svg"},"testjs":{"iconPath":"./icons/testjs.svg"},"testts":{"iconPath":"./icons/testts.svg"},"tmpl":{"iconPath":"./icons/tmpl.svg"},"todo":{"iconPath":"./icons/todo.svg"},"toml":{"iconPath":"./icons/toml.svg"},"toolversions":{"iconPath":"./icons/toolversions.svg"},"tox":{"iconPath":"./icons/tox.svg"},"travis":{"iconPath":"./icons/travis.svg"},"tres":{"iconPath":"./icons/tres.svg"},"tscn":{"iconPath":"./icons/tscn.svg"},"tsconfig":{"iconPath":"./icons/tsconfig.svg"},"tsx":{"iconPath":"./icons/tsx.svg"},"turbo":{"iconPath":"./icons/turbo.svg"},"twig":{"iconPath":"./icons/twig.svg"},"txt":{"iconPath":"./icons/txt.svg"},"typescript":{"iconPath":"./icons/typescript.svg"},"typescriptdef":{"iconPath":"./icons/typescriptdef.svg"},"ui":{"iconPath":"./icons/ui.svg"},"unocss":{"iconPath":"./icons/unocss.svg"},"user":{"iconPath":"./icons/user.svg"},"v":{"iconPath":"./icons/v.svg"},"vanillaextract":{"iconPath":"./icons/vanillaextract.svg"},"vb":{"iconPath":"./icons/vb.svg"},"vercel":{"iconPath":"./icons/vercel.svg"},"version":{"iconPath":"./icons/version.svg"},"vhd":{"iconPath":"./icons/vhd.svg"},"vhdl":{"iconPath":"./icons/vhdl.svg"},"video":{"iconPath":"./icons/video.svg"},"vite":{"iconPath":"./icons/vite.svg"},"viteenv":{"iconPath":"./icons/viteenv.svg"},"vitest":{"iconPath":"./icons/vitest.svg"},"vmod":{"iconPath":"./icons/vmod.svg"},"vscode":{"iconPath":"./icons/vscode.svg"},"vue":{"iconPath":"./icons/vue.svg"},"vueconfig":{"iconPath":"./icons/vueconfig.svg"},"wasm":{"iconPath":"./icons/wasm.svg"},"webpack":{"iconPath":"./icons/webpack.svg"},"wgsl":{"iconPath":"./icons/wgsl.svg"},"windi":{"iconPath":"./icons/windi.svg"},"wren":{"iconPath":"./icons/wren.svg"},"xmake":{"iconPath":"./icons/xmake.svg"},"xml":{"iconPath":"./icons/xml.svg"},"yaml":{"iconPath":"./icons/yaml.svg"},"yang":{"iconPath":"./icons/yang.svg"},"yarn":{"iconPath":"./icons/yarn.svg"},"yarnerror":{"iconPath":"./icons/yarnerror.svg"},"yarnignore":{"iconPath":"./icons/yarnignore.svg"},"yarnlock":{"iconPath":"./icons/yarnlock.svg"},"yin":{"iconPath":"./icons/yin.svg"},"zig":{"iconPath":"./icons/zig.svg"},"zip":{"iconPath":"./icons/zip.svg"}},"file":"_file","folder":"_folder","folderExpanded":"_folder_open","rootFolder":"_root_folder","rootFolderExpanded":"_root_folder_open","fileExtensions":{"wma":"audio","wav":"audiowav","vox":"audio","tta":"audio","raw":"audio","ra":"audio","opus":"audio","ogg":"audioogg","oga":"audio","msv":"audio","mpc":"audio","mp3":"audiomp3","mogg":"audio","mmf":"audio","m4p":"audio","m4b":"audio","m4a":"audio","ivs":"audio","iklax":"audio","gsm":"audio","flac":"audio","dvf":"audio","dss":"audio","dct":"audio","au":"audio","ape":"audio","amr":"audio","aiff":"audio","act":"audio","aac":"audio","wmv":"video","webm":"video","vob":"video","svi":"video","rmvb":"video","rm":"video","ogv":"video","nsv":"video","mpv":"video","mpg":"video","mpeg2":"video","mpeg":"video","mpe":"video","mp4":"mp4","mp2":"video","mov":"mov","mk3d":"video","mkv":"video","m4v":"video","m2v":"video","flv":"video","f4v":"video","f4p":"video","f4b":"video","f4a":"video","qt":"video","divx":"video","avi":"video","amv":"video","asf":"video","3gp":"video","3g2":"video","ico":"imageico","tiff":"image","bmp":"image","png":"imagepng","gif":"imagegif","jpg":"imagejpg","jpeg":"imagejpg","7z":"zip","7zip":"zip","blade.php":"blade","cfg.dist":"conf","cjs.map":"jsmap","controller.js":"nestjscontroller","controller.ts":"nestjscontroller","repository.js":"nestjsrepository","repository.ts":"nestjsrepository","scheduler.js":"nestscheduler","scheduler.ts":"nestscheduler","css.js":"vanillaextract","css.ts":"vanillaextract","css.map":"cssmap","d.ts":"typescriptdef","decorator.js":"nestjsdecorator","decorator.ts":"nestjsdecorator","drawio.png":"drawio","drawio.svg":"drawio","e2e-spec.ts":"testts","e2e-spec.tsx":"testts","e2e-test.ts":"testts","e2e-test.tsx":"testts","filter.js":"nestjsfilter","filter.ts":"nestjsfilter","format.ps1xml":"powershell_format","gemfile.lock":"bundler","gradle.kts":"gradlekotlin","guard.js":"nestjsguard","guard.ts":"nestjsguard","jar.old":"jar","js.flow":"flow","js.map":"jsmap","js.snap":"jest_snapshot","json-ld":"jsonld","jsx.snap":"jest_snapshot","layout.htm":"layout","layout.html":"layout","marko.js":"markojs","mjs.map":"jsmap","module.ts":"nestjsmodule","resolver.js":"nestjsresolver","resolver.ts":"nestjsresolver","service.js":"nestjsservice","service.ts":"nestjsservice","entity.js":"nestjsentity","entity.ts":"nestjsentity","interceptor.js":"nestjsinterceptor","interceptor.ts":"nestjsinterceptor","dto.js":"nestjsdto","dto.ts":"nestjsdto","spec.js":"testjs","spec.jsx":"testjs","spec.mjs":"testjs","spec.ts":"testts","spec.tsx":"testts","stories.js":"storybook","stories.jsx":"storybook","stories.ts":"storybook","stories.tsx":"storybook","stories.svelte":"storybook","story.js":"storybook","story.jsx":"storybook","story.ts":"storybook","story.tsx":"storybook","story.svelte":"storybook","test.cjs":"testjs","test.cts":"testts","test.js":"testjs","test.jsx":"testjs","test.mjs":"testjs","test.mts":"testts","test.ts":"testts","test.tsx":"testts","ts.snap":"jest_snapshot","tsx.snap":"jest_snapshot","types.ps1xml":"powershell_types","a":"binary","accda":"access","accdb":"access","accdc":"access","accde":"access","accdp":"access","accdr":"access","accdt":"access","accdu":"access","ade":"access","adoc":"adoc","adp":"access","afdesign":"afdesign","affinitydesigner":"afdesign","affinityphoto":"afphoto","affinitypublisher":"afpub","afphoto":"afphoto","afpub":"afpub","ai":"ai","app":"binary","ascx":"aspx","asm":"binary","aspx":"aspx","astro":"astro","awk":"awk","bat":"bat","bc":"llvm","bcmx":"outlook","bicep":"bicep","bin":"binary","blade":"blade","bz2":"zip","bzip2":"zip","c":"c","cake":"cake","cer":"cert","pvk":"pvk","pfx":"pfx","spc":"spc","cfg":"conf","civet":"civet","cjm":"clojure","cl":"opencl","class":"class","cli":"cli","clj":"clojure","cljc":"clojure","cljs":"clojure","cljx":"clojure","cma":"binary","cmd":"cli","cmi":"binary","cmo":"binary","cmx":"binary","cmxa":"binary","comp":"opengl","conf":"conf","cpp":"cpp","cr":"crystal","crec":"lync","crl":"cert","crt":"cert","cs":"csharp","cshtml":"cshtml","csproj":"csproj","csr":"cert","css":"css","csv":"csv","csx":"csharp","d":"d","dart":"dartlang","db":"sqlite","db3":"sqlite","der":"cert","diff":"diff","dio":"drawio","djt":"django","dll":"binary","dmp":"log","doc":"word","docm":"word","docx":"word","dot":"word","dotm":"word","dotx":"word","drawio":"drawio","dta":"stata","eco":"docpad","edge":"edge","edn":"clojure","eex":"eex","ejs":"ejs","el":"emacs","elc":"emacs","elm":"elm","enc":"license","ensime":"ensime","env":"env","eps":"eps","erb":"erb","erl":"erlang","eskip":"skipper","ex":"elixir","exe":"binary","exp":"tcl","exs":"exs","fbx":"fbx","feature":"cucumber","fig":"figma","fish":"shell","fla":"fla","fods":"excel","frag":"opengl","fs":"fsharp","fsproj":"fsproj","ftl":"freemarker","gbl":"gbl","gd":"godot","gemfile":"bundler","geom":"opengl","glsl":"opengl","gmx":"gamemaker","go":"go","godot":"godot","gql":"graphql","gradle":"gradle","groovy":"groovy","gz":"zip","h":"cheader","haml":"haml","hbs":"handlebars","hcl":"hashicorp","hl":"binary","hlsl":"opengl","hpp":"hpp","hs":"haskell","html":"html","hxp":"lime","hxproj":"haxedevelop","ibc":"idrisbin","idr":"idris","ilk":"binary","imba":"imba","inc":"inc","include":"inc","info":"info","infopathxml":"infopath","ini":"conf","ino":"arduino","ipkg":"idrispkg","ipynb":"ipynb","iuml":"plantuml","jar":"jar","java":"java","jbuilder":"jbuilder","j2":"jinja","jinja":"jinja","jinja2":"jinja","jl":"julia","json5":"json5","jsonld":"jsonld","jsp":"jsp","jss":"jss","key":"key","kit":"codekit","kt":"kotlin","kts":"kotlins","laccdb":"access","ldb":"access","less":"less","lib":"binary","lidr":"idris","liquid":"liquid","ll":"llvm","lnk":"lnk","log":"log","ls":"livescript","lucee":"cf","m":"m","makefile":"makefile","mam":"access","map":"map","maq":"access","markdown":"markdown","master":"layout","mdb":"access","mdown":"markdown","mdw":"access","mdx":"markdownx","mesh":"mesh","mex":"matlab","mexn":"matlab","mexrs6":"matlab","mf":"manifest","mint":"mint","mjml":"mjml","ml":"ocaml","mli":"ocamli","mll":"ocamll","mly":"ocamly","mn":"matlab","mo":"motoko","msg":"outlook","mst":"mustache","mum":"matlab","mustache":"mustache","mx":"matlab","mx3":"matlab","n":"binary","ndll":"binary","neon":"neon","nim":"nim","nix":"nix","njk":"njk","njs":"nunjucks","njsproj":"njsproj","nunj":"nunjucks","nupkg":"nuget","nuspec":"nuget","nvim":"nvim","o":"binary","ocrec":"lync","ods":"excel","oft":"outlook","one":"onenote","onepkg":"onenote","onetoc":"onenote","onetoc2":"onenote","opencl":"opencl","org":"org","otf":"fontotf","otm":"outlook","ovpn":"ovpn","P":"prolog","p12":"cert","p7b":"cert","p7r":"cert","pa":"powerpoint","patch":"diff","pcd":"pcl","pck":"plsql_package","pdb":"binary","pde":"arduino","pdf":"pdf","pem":"key","pex":"xml","phar":"php","php1":"php","php2":"php","php3":"php","php4":"php","php5":"php","php6":"php","phps":"php","phpsa":"php","phpt":"php","phtml":"php","pkb":"plsql_package_body","pkg":"package","pkh":"plsql_package_header","pks":"plsql_package_spec","pl":"perl","plantuml":"plantuml","plist":"config","pm":"perlm","po":"poedit","postcss":"postcssconfig","pcss":"postcssconfig","pot":"powerpoint","potm":"powerpoint","potx":"powerpoint","ppa":"powerpoint","ppam":"powerpoint","pps":"powerpoint","ppsm":"powerpoint","ppsx":"powerpoint","ppt":"powerpoint","pptm":"powerpoint","pptx":"powerpoint","pri":"qt","prisma":"prisma","pro":"prolog","properties":"properties","ps1":"powershell","psd":"photoshop","psd1":"powershelldata","psm1":"powershellmodule","psmdcp":"nuget","pst":"outlook","pu":"plantuml","pub":"publisher","puml":"plantuml","puz":"publisher","pyc":"binary","pyd":"binary","pyo":"binary","q":"q","qbs":"qbs","qvd":"qlikview","qvw":"qlikview","rake":"rake","rar":"zip","gzip":"zip","razor":"razor","rb":"ruby","reg":"registry","rego":"rego","res":"rescript","resi":"rescriptinterface","rjson":"rjson","rproj":"rproj","rs":"rust","rsx":"rust","ron":"ron","odin":"odin","rt":"reacttemplate","rwd":"matlab","pas":"pascal","pp":"pascal","p":"pascal","lpr":"lazarusproject","lps":"lazarusproject","lpi":"lazarusproject","lfm":"lazarusproject","lrs":"lazarusproject","lpk":"lazarusproject","dpr":"delphiproject","dproj":"delphiproject","dfm":"delphiproject","sass":"scss","sc":"scala","scala":"scala","scpt":"binary","scptd":"binary","scss":"scss","sentinel":"sentinel","sig":"onenote","sketch":"sketch","slddc":"matlab","sldm":"powerpoint","sldx":"powerpoint","sln":"sln","sls":"saltstack","slx":"matlab","smv":"matlab","so":"binary","sol":"sol","sql":"sql","sqlite":"sqlite","sqlite3":"sqlite","src":"cert","sss":"sss","sst":"cert","stl":"cert","storyboard":"storyboard","styl":"stylus","suo":"suo","svelte":"svelte","svg":"svg","swc":"flash","swf":"flash","swift":"swift","tar":"zip","tcl":"tcl","templ":"tmpl","tesc":"opengl","tese":"opengl","tex":"latex","texi":"tex","tf":"terraform","tfstate":"terraform","tfvars":"terraformvars","tgz":"zip","tikz":"tex","tlg":"log","tmlanguage":"xml","tmpl":"tmpl","todo":"todo","toml":"toml","tpl":"smarty","tres":"tres","tscn":"tscn","tst":"test","tsx":"reactts","jsx":"reactjs","tt2":"tt","ttf":"fontttf","twig":"twig","txt":"txt","ui":"ui","unity":"shaderlab","user":"user","v":"v","vala":"vala","vapi":"vapi","vash":"vash","vbhtml":"vbhtml","vbproj":"vbproj","vcxproj":"vcxproj","vert":"opengl","vhd":"vhd","vhdl":"vhdl","vsix":"vscode","vsixmanifest":"manifest","wasm":"wasm","webp":"imagewebp","wgsl":"wgsl","wll":"word","woff":"fontwoff","eot":"fonteot","woff2":"fontwoff2","wv":"audiowv","wxml":"wxml","wxss":"wxss","xcodeproj":"xcode","xfl":"xfl","xib":"xib","xlf":"xliff","xliff":"xliff","xls":"excel","xlsm":"excel","xlsx":"excel","xsf":"infopath","xsn":"infopath","xtp2":"infopath","xvc":"matlab","xz":"zip","yy":"gamemaker2","yyp":"gamemaker2","zig":"zig","zip":"zip","zipx":"zip","zz":"zip","deflate":"zip","brotli":"brotli","kra":"krita","mgcb":"mgcb","anim":"anim","cy.ts":"cypressts","cy.js":"cypressjs","hx":"haxe","hxml":"haxeml","gr":"grain","slim":"slim","obj":"obj","mtl":"mtl","bicepparam":"bicepparam","proto":"proto","wren":"wren","docker-compose.yml":"docker","excalidraw":"excalidraw","excalidraw.json":"excalidraw","excalidraw.svg":"excalidraw","excalidraw.png":"excalidraw","bazel":"bazel","bzl":"bazel","bazelignore":"bazelignore","bazelrc":"bazel","http":"http","rkt":"racket","rktl":"racket","bru":"bruno","nelua":"nelua","mermaid":"mermaid","mmd":"mermaid","bal":"ballerina","hash":"hash","gleam":"gleam","lock":"lock","yang":"yang","yin":"yin","mdc":"cursor","uml":"plantuml","Identifier":"identifier","cls":"salesforce",".instructions.md":"instructions",".instructions.txt":"instructions",".instructions.json":"instructions",".instructions.yaml":"instructions",".instructions.yml":"instructions","silq":"silq","eraserdiagram":"eraser"},"fileNames":{"webpack.config.images.js":"webpack","webpack.test.conf.ts":"webpack","webpack.test.conf.coffee":"webpack","webpack.test.conf.js":"webpack","webpack.rules.ts":"webpack","webpack.rules.coffee":"webpack","webpack.rules.js":"webpack","webpack.renderer.config.ts":"webpack","webpack.renderer.config.coffee":"webpack","webpack.renderer.config.js":"webpack","webpack.plugins.ts":"webpack","webpack.plugins.coffee":"webpack","webpack.plugins.js":"webpack","webpack.mix.ts":"webpack","webpack.mix.coffee":"webpack","webpack.mix.js":"webpack","webpack.main.config.ts":"webpack","webpack.main.config.coffee":"webpack","webpack.main.config.js":"webpack","webpack.prod.conf.ts":"webpack","webpack.prod.conf.coffee":"webpack","webpack.prod.conf.js":"webpack","webpack.prod.ts":"webpack","webpack.prod.coffee":"webpack","webpack.prod.js":"webpack","webpack.dev.conf.ts":"webpack","webpack.dev.conf.coffee":"webpack","webpack.dev.conf.js":"webpack","webpack.dev.ts":"webpack","webpack.dev.coffee":"webpack","webpack.dev.js":"webpack","webpack.config.production.babel.ts":"webpack","webpack.config.production.babel.coffee":"webpack","webpack.config.production.babel.js":"webpack","webpack.config.prod.babel.ts":"webpack","webpack.config.prod.babel.coffee":"webpack","webpack.config.prod.babel.js":"webpack","webpack.config.test.babel.ts":"webpack","webpack.config.test.babel.coffee":"webpack","webpack.config.test.babel.js":"webpack","webpack.config.staging.babel.ts":"webpack","webpack.config.staging.babel.coffee":"webpack","webpack.config.staging.babel.js":"webpack","webpack.config.development.babel.ts":"webpack","webpack.config.development.babel.coffee":"webpack","webpack.config.development.babel.js":"webpack","webpack.config.dev.babel.ts":"webpack","webpack.config.dev.babel.coffee":"webpack","webpack.config.dev.babel.js":"webpack","webpack.config.common.babel.ts":"webpack","webpack.config.common.babel.coffee":"webpack","webpack.config.common.babel.js":"webpack","webpack.config.base.babel.ts":"webpack","webpack.config.base.babel.coffee":"webpack","webpack.config.base.babel.js":"webpack","webpack.config.babel.ts":"webpack","webpack.config.babel.coffee":"webpack","webpack.config.babel.js":"webpack","webpack.config.production.ts":"webpack","webpack.config.production.coffee":"webpack","webpack.config.production.js":"webpack","webpack.config.prod.ts":"webpack","webpack.config.prod.coffee":"webpack","webpack.config.prod.js":"webpack","webpack.config.test.ts":"webpack","webpack.config.test.coffee":"webpack","webpack.config.test.js":"webpack","webpack.config.staging.ts":"webpack","webpack.config.staging.coffee":"webpack","webpack.config.staging.js":"webpack","webpack.config.development.ts":"webpack","webpack.config.development.coffee":"webpack","webpack.config.development.js":"webpack","webpack.config.dev.ts":"webpack","webpack.config.dev.coffee":"webpack","webpack.config.dev.js":"webpack","webpack.config.common.ts":"webpack","webpack.config.common.coffee":"webpack","webpack.config.common.js":"webpack","webpack.config.base.ts":"webpack","webpack.config.base.coffee":"webpack","webpack.config.base.js":"webpack","webpack.config.ts":"webpack","webpack.config.coffee":"webpack","webpack.config.js":"webpack","webpack.common.ts":"webpack","webpack.common.coffee":"webpack","webpack.common.js":"webpack","webpack.base.conf.ts":"webpack","webpack.base.conf.coffee":"webpack","webpack.base.conf.js":"webpack",".angular-cli.json":"angular","angular-cli.json":"angular","angular.json":"angular",".angular.json":"angular","api-extractor.json":"api_extractor","api-extractor-base.json":"api_extractor","appveyor.yml":"appveyor",".appveyor.yml":"appveyor","aurelia.json":"aurelia","azure-pipelines.yml":"azure",".vsts-ci.yml":"azure",".babelrc":"babel",".babelignore":"babel",".babelrc.js":"babel",".babelrc.cjs":"babel",".babelrc.mjs":"babel",".babelrc.json":"babel","babel.config.js":"babel","babel.config.cjs":"babel","babel.config.mjs":"babel","babel.config.json":"babel","vetur.config.js":"vue","vetur.config.ts":"vue",".bzrignore":"bazaar",".bazelrc":"bazel","bazel.rc":"bazel","bazel.bazelrc":"bazel","BUILD":"bazel","bitbucket-pipelines.yml":"bitbucketpipeline",".bithoundrc":"bithound",".bowerrc":"bower","bower.json":"bower",".browserslistrc":"browserslist","browserslist":"browserslist","gemfile":"bundler","gemfile.lock":"bundler",".ruby-version":"bundler","capacitor.config.json":"capacitor","cargo.toml":"cargo","cargo.lock":"cargo","chefignore":"chef","berksfile":"chef","berksfile.lock":"chef","policyfile":"chef","circle.yml":"circleci",".cfignore":"cloudfoundry",".codacy.yml":"codacy",".codacy.yaml":"codacy",".codeclimate.yml":"codeclimate","codecov.yml":"codecov",".codecov.yml":"codecov","config.codekit":"codekit","config.codekit2":"codekit","config.codekit3":"codekit",".config.codekit":"codekit",".config.codekit2":"codekit",".config.codekit3":"codekit","coffeelint.json":"coffeelint",".coffeelintignore":"coffeelint","composer.json":"composer","composer.lock":"composerlock","conanfile.txt":"conan","conanfile.py":"conan",".condarc":"conda",".coveralls.yml":"coveralls","crowdin.yml":"crowdin",".csscomb.json":"csscomb",".csslintrc":"csslint",".cvsignore":"cvs",".boringignore":"darcs","dependabot.yml":"dependabot","dependencies.yml":"dependencies","devcontainer.json":"devcontainer","docker-compose-prod.yml":"docker","docker-compose.alpha.yaml":"docker","docker-compose.alpha.yml":"docker","docker-compose.beta.yaml":"docker","docker-compose.beta.yml":"docker","docker-compose.ci-build.yml":"docker","docker-compose.ci.yaml":"docker","docker-compose.ci.yml":"docker","docker-compose.dev.yaml":"docker","docker-compose.dev.yml":"docker","docker-compose.development.yaml":"docker","docker-compose.development.yml":"docker","docker-compose.local.yaml":"docker","docker-compose.local.yml":"docker","docker-compose.override.yaml":"docker","docker-compose.override.yml":"docker","docker-compose.prod.yaml":"docker","docker-compose.prod.yml":"docker","docker-compose.production.yaml":"docker","docker-compose.production.yml":"docker","docker-compose.stage.yaml":"docker","docker-compose.stage.yml":"docker","docker-compose.staging.yaml":"docker","docker-compose.staging.yml":"docker","docker-compose.test.yaml":"docker","docker-compose.test.yml":"docker","docker-compose.testing.yaml":"docker","docker-compose.testing.yml":"docker","docker-compose.vs.debug.yml":"docker","docker-compose.vs.release.yml":"docker","docker-compose.web.yaml":"docker","docker-compose.web.yml":"docker","docker-compose.worker.yaml":"docker","docker-compose.worker.yml":"docker","docker-compose.yaml":"docker","docker-compose.yml":"docker","Dockerfile-production":"docker","dockerfile.alpha":"docker","dockerfile.beta":"docker","dockerfile.ci":"docker","dockerfile.dev":"docker","dockerfile.development":"docker","dockerfile.local":"docker","dockerfile.prod":"docker","dockerfile.production":"docker","dockerfile.stage":"docker","dockerfile.staging":"docker","dockerfile.test":"docker","dockerfile.testing":"docker","dockerfile.web":"docker","dockerfile.worker":"docker","dockerfile":"docker","docker-compose.debug.yml":"dockerdebug","docker-cloud.yml":"docker",".dockerignore":"dockerignore",".doczrc":"docz","docz.js":"docz","docz.json":"docz",".docz.js":"docz",".docz.json":"docz","doczrc.js":"docz","doczrc.json":"docz","docz.config.js":"docz","docz.config.json":"docz",".dojorc":"dojo",".drone.yml":"drone",".drone.yml.sig":"drone",".dvc":"dvc",".editorconfig":"editorconfig","elm-package.json":"elm",".ember-cli":"ember","emakefile":"erlang",".emakerfile":"erlang",".eslintrc":"eslint",".eslintignore":"eslintignore",".eslintcache":"eslint",".eslintrc.js":"eslint",".eslintrc.mjs":"eslint",".eslintrc.cjs":"eslint",".eslintrc.json":"eslint",".eslintrc.yaml":"eslint",".eslintrc.yml":"eslint",".eslintrc.browser.json":"eslint",".eslintrc.base.json":"eslint","eslint-preset.js":"eslint","eslint.config.js":"eslint","eslint.config.cjs":"eslint","eslint.config.mjs":"eslint","eslint.config.ts":"eslint","_eslintrc.cjs":"eslint","app.json":"expo","app.config.js":"expo","app.config.json":"expo","app.config.json5":"expo","favicon.ico":"favicon",".firebaserc":"firebase","firebase.json":"firebasehosting","firestore.rules":"firestore","firestore.indexes.json":"firestore",".flooignore":"floobits",".flowconfig":"flow",".flutter-plugins":"flutter",".metadata":"flutter",".fossaignore":"fossa","ignore-glob":"fossil","fuse.js":"fusebox","gatsby-config.js":"gatsby","gatsby-config.ts":"gatsby","gatsby-node.js":"gatsby","gatsby-node.ts":"gatsby","gatsby-browser.js":"gatsby","gatsby-browser.ts":"gatsby","gatsby-ssr.js":"gatsby","gatsby-ssr.ts":"gatsby",".git-blame-ignore-revs":"git",".gitattributes":"git",".gitconfig":"git",".gitignore":"git",".gitmodules":"git",".gitkeep":"git",".mailmap":"git",".gitlab-ci.yml":"gitlab","glide.yml":"glide","go.sum":"go_package","go.mod":"go_package","go.work":"go_package",".gqlconfig":"graphql",".graphqlconfig":"graphql_config",".graphqlconfig.yml":"graphql_config",".graphqlconfig.yaml":"graphql_config","greenkeeper.json":"greenkeeper","gridsome.config.js":"gridsome","gridsome.config.ts":"gridsome","gridsome.server.js":"gridsome","gridsome.server.ts":"gridsome","gridsome.client.js":"gridsome","gridsome.client.ts":"gridsome","gruntfile.js":"grunt","gruntfile.cjs":"grunt","gruntfile.mjs":"grunt","gruntfile.coffee":"grunt","gruntfile.ts":"grunt","gruntfile.cts":"grunt","gruntfile.mts":"grunt","gruntfile.babel.js":"grunt","gruntfile.babel.coffee":"grunt","gruntfile.babel.ts":"grunt","gulpfile.js":"gulp","gulpfile.coffee":"gulp","gulpfile.ts":"gulp","gulpfile.esm.js":"gulp","gulpfile.esm.coffee":"gulp","gulpfile.esm.ts":"gulp","gulpfile.babel.js":"gulp","gulpfile.babel.coffee":"gulp","gulpfile.babel.ts":"gulp","haxelib.json":"haxe","checkstyle.json":"haxecheckstyle",".p4ignore":"helix",".htmlhintrc":"htmlhint",".huskyrc":"husky","husky.config.js":"husky",".huskyrc.js":"husky",".huskyrc.json":"husky",".huskyrc.yaml":"husky",".huskyrc.yml":"husky","ionic.project":"ionic","ionic.config.json":"ionic","jakefile":"jake","jakefile.js":"jake","jest.config.json":"jest","jest.json":"jest",".jestrc":"jest",".jestrc.js":"jest",".jestrc.json":"jest","jest.config.js":"jest","jest.config.cjs":"jest","jest.config.mjs":"jest","jest.config.babel.js":"jest","jest.config.babel.cjs":"jest","jest.config.babel.mjs":"jest","jest.preset.js":"jest","jest.preset.ts":"jest","jest.preset.cjs":"jest","jest.preset.mjs":"jest",".jpmignore":"jpm",".jsbeautifyrc":"jsbeautify","jsbeautifyrc":"jsbeautify",".jsbeautify":"jsbeautify","jsbeautify":"jsbeautify","jsconfig.json":"jsconfig",".jscpd.json":"jscpd","jscpd-report.xml":"jscpd","jscpd-report.json":"jscpd","jscpd-report.html":"jscpd",".jshintrc":"jshint",".jshintignore":"jshint","karma.conf.js":"karma","karma.conf.coffee":"karma","karma.conf.ts":"karma",".kitchen.yml":"kitchenci","kitchen.yml":"kitchenci",".kiteignore":"kite","layout.html":"layout","layout.htm":"layout","lerna.json":"lerna","license":"license","licence":"license","license.md":"license","license.txt":"license","licence.md":"license","licence.txt":"license",".lighthouserc.js":"lighthouse",".lighthouserc.json":"lighthouse",".lighthouserc.yaml":"lighthouse",".lighthouserc.yml":"lighthouse","include.xml":"lime",".lintstagedrc":"lintstagedrc","lint-staged.config.js":"lintstagedrc",".lintstagedrc.js":"lintstagedrc",".lintstagedrc.json":"lintstagedrc",".lintstagedrc.yaml":"lintstagedrc",".lintstagedrc.yml":"lintstagedrc","manifest":"manifest","manifest.bak":"manifest","manifest.json":"manifest","manifest.skip":"manifes",".markdownlint.json":"markdownlint","maven.config":"maven","pom.xml":"maven","extensions.xml":"maven","settings.xml":"maven","pom.properties":"maven",".hgignore":"mercurial","mocha.opts":"mocha",".mocharc.js":"mocha",".mocharc.json":"mocha",".mocharc.jsonc":"mocha",".mocharc.yaml":"mocha",".mocharc.yml":"mocha","modernizr":"modernizr","modernizr.js":"modernizr","modernizrrc.js":"modernizr",".modernizr.js":"modernizr",".modernizrrc.js":"modernizr","moleculer.config.js":"moleculer","moleculer.config.json":"moleculer","moleculer.config.ts":"moleculer",".mtn-ignore":"monotone",".nest-cli.json":"nestjs","nest-cli.json":"nestjs","nestconfig.json":"nestjs",".nestconfig.json":"nestjs","netlify.toml":"netlify","_redirects":"netlify","ng-tailwind.js":"ng_tailwind","nginx.conf":"nginx","build.ninja":"ninja",".node-version":"node",".node_repl_history":"node",".node-gyp":"node","node_modules":"node","node_modules.json":"node","node-inspect.json":"node","node-inspect.js":"node","node-inspect.mjs":"node","node-inspect.cjs":"node","node-inspect.ts":"node","node-inspect.config.js":"node","node-inspect.config.ts":"node","node-inspect.config.cjs":"node","node-inspect.config.mjs":"node","node-inspect.config.json":"node","node-inspect.config.yaml":"node","node-inspect.config.yml":"node","node-inspectrc":"node",".node-inspectrc":"node",".node-inspectrc.json":"node",".node-inspectrc.yaml":"node",".node-inspectrc.yml":"node",".node-inspectrc.js":"node",".node-inspectrc.ts":"node",".node-inspectrc.cjs":"node",".node-inspectrc.mjs":"node","nodemon.json":"nodemon",".npmignore":"npm",".npmrc":"npm","package.json":"npm","package-lock.json":"npmlock","npm-shrinkwrap.json":"npm",".nsrirc":"nsri",".nsriignore":"nsri","nsri.config.js":"nsri",".nsrirc.js":"nsri",".nsrirc.json":"nsri",".nsrirc.yaml":"nsri",".nsrirc.yml":"nsri",".integrity.json":"nsri-integrity","nuxt.config.js":"nuxt","nuxt.config.ts":"nuxt",".nycrc":"nyc",".nycrc.json":"nyc",".merlin":"ocaml","paket.dependencies":"paket","paket.lock":"paket","paket.references":"paket","paket.template":"paket","paket.local":"paket",".php_cs":"phpcsfixer",".php_cs.dist":"phpcsfixer","phpunit":"phpunit","phpunit.xml":"phpunit","phpunit.xml.dist":"phpunit",".phraseapp.yml":"phraseapp","pipfile":"pip","pipfile.lock":"pip","platformio.ini":"platformio","pnpmfile.js":"pnpm","pnpm-workspace.yaml":"pnpm",".postcssrc":"postcssconfig",".postcssrc.json":"postcssconfig",".postcssrc.yml":"postcssconfig",".postcssrc.js":"postcssconfig",".postcssrc.cjs":"postcssconfig",".postcssrc.mjs":"postcssconfig",".postcssrc.ts":"postcssconfig",".postcssrc.cts":"postcssconfig",".postcssrc.mts":"postcssconfig","postcss.config.js":"postcssconfig","postcss.config.cjs":"postcssconfig","postcss.config.mjs":"postcssconfig","postcss.config.ts":"postcssconfig","postcss.config.cts":"postcssconfig","postcss.config.mts":"postcssconfig",".pre-commit-config.yaml":"precommit",".pre-commit-hooks.yaml":"precommit",".prettierrc":"prettier",".prettierignore":"prettierignore","prettier.config.js":"prettier","prettier.config.cjs":"prettier","prettier.config.mjs":"prettier","prettier.config.ts":"prettier","prettier.config.coffee":"prettier",".prettierrc.js":"prettier",".prettierrc.json":"prettier",".prettierrc.yml":"prettier",".prettierrc.yaml":"prettier","procfile":"procfile","protractor.conf.js":"protractor","protractor.conf.coffee":"protractor","protractor.conf.ts":"protractor",".jade-lintrc":"pug",".pug-lintrc":"pug",".jade-lint.json":"pug",".pug-lintrc.js":"pug",".pug-lintrc.json":"pug",".pyup":"pyup",".pyup.yml":"pyup","qmldir":"qmldir","quasar.conf.js":"quasar","rakefile":"rake","razzle.config.js":"razzle","readme.md":"readme","readme.txt":"readme",".rehyperc":"rehype",".rehypeignore":"rehype",".rehyperc.js":"rehype",".rehyperc.json":"rehype",".rehyperc.yml":"rehype",".rehyperc.yaml":"rehype",".remarkrc":"remark",".remarkignore":"remark",".remarkrc.js":"remark",".remarkrc.json":"remark",".remarkrc.yml":"remark",".remarkrc.yaml":"remark",".renovaterc":"renovate","renovate.json":"renovate",".renovaterc.json":"renovate",".retextrc":"retext",".retextignore":"retext",".retextrc.js":"retext",".retextrc.json":"retext",".retextrc.yml":"retext",".retextrc.yaml":"retext","robots.txt":"robots","rollup.config.js":"rollup","rollup.config.mjs":"rollup","rollup.config.coffee":"rollup","rollup.config.ts":"rollup","rollup.config.common.js":"rollup","rollup.config.common.mjs":"rollup","rollup.config.common.coffee":"rollup","rollup.config.common.ts":"rollup","rollup.config.dev.js":"rollup","rollup.config.dev.mjs":"rollup","rollup.config.dev.coffee":"rollup","rollup.config.dev.ts":"rollup","rollup.config.prod.js":"rollup","rollup.config.prod.mjs":"rollup","rollup.config.prod.coffee":"rollup","rollup.config.prod.ts":"rollup",".rspec":"rspec",".rubocop.yml":"rubocop",".rubocop_todo.yml":"rubocop","rust-toolchain":"rust_toolchain",".sentryclirc":"sentry","serverless.yml":"serverless","snapcraft.yaml":"snapcraft",".snyk":"snyk",".solidarity":"solidarity",".solidarity.json":"solidarity",".stylelintrc":"stylelint",".stylelintignore":"stylelintignore",".stylelintcache":"stylelint","stylelint.config.js":"stylelint","stylelint.config.cjs":"stylelint","stylelint.config.mjs":"stylelint","stylelint.config.json":"stylelint","stylelint.config.yaml":"stylelint","stylelint.config.yml":"stylelint","stylelint.config.ts":"stylelint",".stylelintrc.js":"stylelint",".stylelintrc.json":"stylelint",".stylelintrc.yaml":"stylelint",".stylelintrc.yml":"stylelint",".stylelintrc.ts":"stylelint",".stylelintrc.cjs":"stylelint",".stylelintrc.mjs":"stylelint",".stylish-haskell.yaml":"stylish_haskell",".svnignore":"subversion","package.pins":"swift","symfony.lock":"symfony","windi.config.ts":"windi","windi.config.js":"windi","tailwind.js":"tailwind","tailwind.mjs":"tailwind","tailwind.cjs":"tailwind","tailwind.coffee":"tailwind","tailwind.ts":"tailwind","tailwind.cts":"tailwind","tailwind.mts":"tailwind","tailwind.config.mjs":"tailwind","tailwind.config.cjs":"tailwind","tailwind.config.js":"tailwind","tailwind.config.coffee":"tailwind","tailwind.config.ts":"tailwind","tailwind.config.cts":"tailwind","tailwind.config.mts":"tailwind",".testcaferc.json":"testcafe",".tfignore":"tfs","tox.ini":"tox",".travis.yml":"travis","tsconfig.json":"tsconfig","tsconfig.app.json":"tsconfig","tsconfig.base.json":"tsconfig","tsconfig.common.json":"tsconfig","tsconfig.dev.json":"tsconfig","tsconfig.development.json":"tsconfig","tsconfig.e2e.json":"tsconfig","tsconfig.prod.json":"tsconfig","tsconfig.production.json":"tsconfig","tsconfig.server.json":"tsconfig","tsconfig.spec.json":"tsconfig","tsconfig.staging.json":"tsconfig","tsconfig.test.json":"tsconfig","tsconfig.tsd.json":"tsconfig","tsconfig.node.json":"tsconfig","tsconfig.lib.json":"tsconfig","tsconfig.eslint.json":"tsconfig","tsconfig.storybook.json":"tsconfig","tsconfig.tsbuildinfo":"tsconfig","tslint.json":"tslint","tslint.yaml":"tslint","tslint.yml":"tslint",".unibeautifyrc":"unibeautify","unibeautify.config.js":"unibeautify",".unibeautifyrc.js":"unibeautify",".unibeautifyrc.json":"unibeautify",".unibeautifyrc.yaml":"unibeautify",".unibeautifyrc.yml":"unibeautify","vagrantfile":"vagrant",".vimrc":"vim",".gvimrc":"vim",".vscodeignore":"vscode","tasks.json":"vscode","vscodeignore.json":"vscode",".vuerc":"vueconfig","vue.config.js":"vueconfig","vue.config.ts":"vueconfig","wallaby.json":"wallaby","wallaby.js":"wallaby","wallaby.ts":"wallaby","wallaby.coffee":"wallaby","wallaby.conf.json":"wallaby","wallaby.conf.js":"wallaby","wallaby.conf.ts":"wallaby","wallaby.conf.coffee":"wallaby",".wallaby.json":"wallaby",".wallaby.js":"wallaby",".wallaby.ts":"wallaby",".wallaby.coffee":"wallaby",".wallaby.conf.json":"wallaby",".wallaby.conf.js":"wallaby",".wallaby.conf.ts":"wallaby",".wallaby.conf.coffee":"wallaby",".watchmanconfig":"watchmanconfig","wercker.yml":"wercker","wpml-config.xml":"wpml",".yamllint":"yamllint",".yaspellerrc":"yandex",".yaspeller.json":"yandex","yarn.lock":"yarnlock",".yarnrc":"yarn",".yarn.installed":"yarn",".yarnclean":"yarn",".yarn-integrity":"yarn",".yarn-metadata.json":"yarn",".yarnignore":"yarnignore",".yarnrc.yml":"yarn",".yarnrc.yaml":"yarn",".yarnrc.json":"yarn",".yarnrc.json5":"yarn",".yarnrc.cjs":"yarn",".yarnrc.js":"yarn",".yarnrc.lock":"yarn",".yarnrc.txt":"yarn","yarn-error.log":"yarnerror",".yo-rc.json":"yeoman","now.json":"vercel",".nowignore":"vercel","vercel.json":"vercel",".vercel":"vercel",".vercelignore":"vercel","vite.config.js":"vite","vite.config.mjs":"vite","vite.config.cjs":"vite","vite.config.ts":"vite","vite.config.mts":"vite","vite.config.cts":"vite",".nvmrc":"nvm","example.env":"env",".env.staging":"env",".env.sample":"env",".env.preprod":"env",".env.prod":"env",".env.production":"env",".env.local":"env",".env.dev":"env",".env.dev.local":"env",".env.dev.prod":"env",".env.dev.preprod":"env",".env.dev.production":"env",".env.dev.staging":"env",".env.development":"env",".env.example":"env",".env.test":"env",".env.dist":"env",".env.default":"env",".jinja":"jinja","jenkins.yaml":"jenkins","jenkins.yml":"jenkins",".compodocrc":"compodoc",".compodocrc.json":"compodoc",".compodocrc.yaml":"compodoc",".compodocrc.yml":"compodoc","bsconfig.json":"bsconfig",".clang-format":"llvm",".clang-tidy":"llvm",".clangd":"llvm",".parcelrc":"parcel","dune":"dune","dune-project":"duneproject",".adonisrc.json":"adonis","astro.config.js":"astroconfig","astro.config.cjs":"astroconfig","astro.config.mjs":"astroconfig","astro.config.ts":"astroconfig","astro.config.cts":"astroconfig","astro.config.mts":"astroconfig","svelte.config.js":"svelteconfig","svelte.config.ts":"svelteconfig",".tool-versions":"toolversions","CMakeSettings.json":"cmake","CMakeLists.txt":"cmake","toolchain.cmake":"cmake",".cmake":"cmake","Cargo.toml":"cargo","Cargo.lock":"cargolock","pnpm-lock.yaml":"pnpmlock","tauri.conf.json":"tauri","tauri.conf.json5":"tauri","tauri.linux.conf.json":"tauri","tauri.windows.conf.json":"tauri","tauri.macos.conf.json":"tauri","next.config.js":"nextconfig","next.config.mjs":"nextconfig","next.config.ts":"nextconfig","nextron.config.js":"nextron","nextron.config.ts":"nextron","poetry.toml":"poetry","poetry.lock":"poetrylock","pyproject.toml":"pyproject","rustfmt.toml":"rustfmt",".rustfmt.toml":"rustfmt","cucumber.yml":"cucumber","cucumber.yaml":"cucumber","cucumber.js":"cucumber","cucumber.ts":"cucumber","cucumber.cjs":"cucumber","cucumber.mjs":"cucumber","cucumber.json":"cucumber","flake.lock":"flakelock","ace":"ace","ace-manifest.json":"acemanifest","knexfile.js":"knex","knexfile.ts":"knex","launch.json":"launch","redis.conf":"redis","sequelize.js":"sequelize","sequelize.ts":"sequelize","sequelize.cjs":"sequelize",".sequelizerc":"sequelize",".sequelizerc.js":"sequelize",".sequelizerc.json":"sequelize","cypress.json":"cypress","cypress.env.json":"cypress","cypress.config.js":"cypress","cypress.config.ts":"cypress","cypress.config.cjs":"cypress","playwright.config.ts":"playright","playwright.config.js":"playright","playwright.config.cjs":"playright","vitest.config.ts":"vitest","vitest.config.cts":"vitest","vitest.config.mts":"vitest","vitest.config.js":"vitest","vitest.config.cjs":"vitest","vitest.config.mjs":"vitest","vitest.workspace.ts":"vitest","vitest.workspace.cts":"vitest","vitest.workspace.mts":"vitest","vitest.workspace.js":"vitest","vitest.workspace.cjs":"vitest","vitest.workspace.mjs":"vitest","vite-env.d.ts":"viteenv","vite-env.d.js":"viteenv","pubspec.lock":"flutterlock","pubspec.yaml":"flutter",".packages":"flutterpackage",".htaccess":"htaccess","nx.json":"nx","project.json":"nx","nx.instructions.md":"nx","nx.jsonc":"nx","v.mod":"vmod","quasar.config.js":"quasar","quasar.config.ts":"quasar","quasar.config.cjs":"quasar","quasar.config.mjs":"quasar","quarkus.properties":"quarkus","theme.properties":"ui","gradlew":"gradle","gradle-wrapper.properties":"gradle","gradlew.bat":"gradlebat","makefile.win":"makefile","makefile":"makefile","make":"makefile","version":"version","server":"sql","migrate":"sql",".commitlintrc":"commitlint",".commitlintrc.json":"commitlint",".commitlintrc.yaml":"commitlint",".commitlintrc.yml":"commitlint",".commitlintrc.js":"commitlint",".commitlintrc.cjs":"commitlint",".commitlintrc.ts":"commitlint",".commitlintrc.cts":"commitlint","commitlint.config.js":"commitlint","commitlint.config.cjs":"commitlint","commitlint.config.ts":"commitlint","commitlint.config.cts":"commitlint",".terraform-version":"terraformversion","TerraFile":"terrafile","tfstate.backup":"terraform",".code-workspace":"codeworkspace","hardhat.config.js":"hardhat","hardhat.config.ts":"hardhat","hardhat.config.cts":"hardhat","hardhat.config.cjs":"hardhat","hardhat.config.mjs":"hardhat","taze.config.js":"taze","taze.config.ts":"taze","taze.config.cjs":"taze","taze.config.mjs":"taze",".tazerc.json":"taze","turbo.json":"turbo","turbo.jsonc":"turbo","uno.config.ts":"unocss","uno.config.js":"unocss","uno.config.mjs":"unocss","uno.config.mts":"unocss","unocss.config.ts":"unocss","unocss.config.js":"unocss","unocss.config.mjs":"unocss","unocss.config.mts":"unocss","atomizer.config.js":"atomizer","atomizer.config.cjs":"atomizer","atomizer.config.mjs":"atomizer","atomizer.config.ts":"atomizer","esbuild.js":"esbuild","esbuild.mjs":"esbuild","esbuild.cjs":"esbuild","esbuild.ts":"esbuild","mix.exs":"mix","mix.lock":"mixlock",".DS_Store":"dsstore","remix.config.js":"remix","remix.config.cjs":"remix","remix.config.mjs":"remix","remix.config.ts":"remix","xmake.lua":"xmake",".sailsrc":"sails","farm.config.ts":"farm","farm.config.js":"farm","bunfig.toml":"bun",".bunfig.toml":"bun","bun.lockb":"bunlock","bun.lock":"bunlock",".air.toml":"air","rome.json":"rome","biome.json":"biome","bicepconfig.json":"bicepconfig","drizzle.config.ts":"drizzle","drizzle.config.js":"drizzle","drizzle.config.json":"drizzle","panda.config.ts":"panda","panda.config.js":"panda","panda.config.json":"panda","panda.config.cjs":"panda","panda.config.mjs":"panda","panda.config.cts":"panda","panda.config.mts":"panda",".buckconfig":"buck","Ballerina.toml":"ballerinaconfig","knip.json":"knip","knip.jsonc":"knip",".knip.json":"knip",".knip.jsonc":"knip","knip.ts":"knip","knip.js":"knip","knip.config.ts":"knip","knip.config.js":"knip","todo.md":"todo",".todo.md":"todo","todo.txt":"todo",".todo.txt":"todo","todo":"todo","mkdocs.yml":"mkdocs","mkdocs.yaml":"mkdocs","gleam.toml":"gleamconfig",".oxlintrc.json":"oxlint","oxlint.json":"oxlint","oxlint.config.js":"oxlint","oxlint.config.ts":"oxlint","oxlint.config.cjs":"oxlint","oxlint.config.mjs":"oxlint","oxlint.config.cts":"oxlint","oxlint.config.mts":"oxlint",".cursorrules":"cursor","plopfile.js":"plop","plopfile.cjs":"plop","plopfile.mjs":"plop","plopfile.ts":"plop","plopfile.cts":"plop","config.mockoon.json":"mockoon","mockoon.json":"mockoon","mockoon.yaml":"mockoon","mockoon.yml":"mockoon","mockoon.env":"mockoon","mockoon.env.json":"mockoon","mockoon.env.yaml":"mockoon","mockoon.env.yml":"mockoon","mockoon.env.js":"mockoon","mockoon.env.ts":"mockoon","mockoon.env.cjs":"mockoon","mockoon.env.mjs":"mockoon","mockoon.env.cts":"mockoon","mockoon.env.mts":"mockoon","copilot-instructions.md":"copilot",".copilot-instructions":"copilot",".instructions":"instructions","instructions.md":"instructions","instructions.txt":"instructions","instructions":"instructions","instructions.json":"instructions","instructions.yaml":"instructions","instructions.yml":"instructions",".keep":"keep",".keepignore":"keep","CLAUDE.md":"claude","claude.md":"claude","claude.txt":"claude","claude":"claude","claude.json":"claude","claude.yaml":"claude",".claude_code_config":"claude",".claude":"claude","claude.config.js":"claude",".claude.yaml":"claude",".clauderc":"claude","claude-instructions.md":"claude",".claude-code":"claude","claude-code.config":"claude"},"languageIds":{"actionscript":"actionscript","ada":"ada","advpl":"advpl","affectscript":"affectscript","al":"al","ansible":"ansible","antlr":"antlr","anyscript":"anyscript","apacheconf":"apache","apex":"apex","apiblueprint":"apib","apl":"apl","applescript":"applescript","asciidoc":"asciidoc","asp":"asp","asp (html)":"asp","arm":"assembly","asm":"assembly","ats":"ats","ahk":"autohotkey","autoit":"autoit","avro":"avro","azcli":"azure","azure-pipelines":"azurepipelines","ballerina":"ballerina","bat":"bat","bats":"bats","bazel":"bazel","befunge":"befunge","befunge98":"befunge","biml":"biml","blade":"blade","laravel-blade":"blade","bolt":"bolt","bosque":"bosque","c":"c","c-al":"c_al","cabal":"cabal","caddyfile":"caddy","cddl":"cddl","ceylon":"ceylon","cfml":"cf","lang-cfml":"cf","cfc":"cfc","cfmhtml":"cfm","cookbook":"chef_cookbook","clojure":"clojure","clojurescript":"clojurescript","manifest-yaml":"cloudfoundry","cmake":"cmake","cmake-cache":"cmake","cobol":"cobol","coffeescript":"coffeescript","properties":"properties","dotenv":"config","confluence":"confluence","cpp":"cpp","crystal":"crystal","csharp":"csharp","css":"css","feature":"cucumber","cuda":"cuda","cython":"cython","dal":"dal","dart":"dartlang","pascal":"pascal","objectpascal":"pascal","diff":"diff","django-html":"django","django-txt":"django","d":"dlang","dscript":"dlang","dml":"dlang","diet":"dlang","dockerfile":"docker","ignore":"docker","dotjs":"dotjs","doxygen":"doxygen","drools":"drools","dustjs":"dustjs","dylan":"dylan","dylan-lid":"dylan","edge":"edge","eex":"eex","html-eex":"eex","es":"elastic","elixir":"elixir","elm":"elm","erb":"erb","erlang":"erlang","falcon":"falcon","fortran":"fortran","fortran-modern":"fortran","FortranFreeForm":"fortran","fortran_fixed-form":"fortran","ftl":"freemarker","fsharp":"fsharp","fthtml":"fthtml","galen":"galen","gml-gms":"gamemaker","gml-gms2":"gamemaker2","gml-gm81":"gamemaker81","gcode":"gcode","genstat":"genstat","git-commit":"git","git-rebase":"git","glsl":"glsl","glyphs":"glyphs","gnuplot":"gnuplot","go":"go","golang":"go","go-sum":"go","go-mod":"go","go-xml":"go","gdscript":"godot","graphql":"graphql","dot":"graphviz","groovy":"groovy","haml":"haml","handlebars":"handlebars","harbour":"harbour","haskell":"haskell","literate haskell":"haskell","haxe":"haxe","hxml":"haxe","Haxe AST dump":"haxe","helm":"helm","hjson":"hjson","hlsl":"opengl","home-assistant":"homeassistant","hosts":"host","html":"html","http":"http","hunspell.aff":"hunspell","hunspell.dic":"hunspell","hy":"hy","icl":"icl","imba":"imba","4GL":"informix","ini":"conf","ink":"ink","innosetup":"innosetup","io":"io","iodine":"iodine","janet":"janet","java":"java","raku":"raku","jekyll":"jekyll","jenkins":"jenkins","declarative":"jenkins","jenkinsfile":"jenkins","jinja":"jinja","code-referencing":"vscode","search-result":"vscode","type":"vscode","javascript":"js","json":"json","jsonl":"json","json-tmlanguage":"json","jsonc":"json","json5":"json5","jsonnet":"jsonnet","julia":"julia","juliamarkdown":"julia","kivy":"kivy","kos":"kos","kotlin":"kotlin","kusto":"kusto","latino":"latino","less":"less","lex":"lex","lisp":"lisp","lolcode":"lolcode","code-text-binary":"binary","lsl":"lsl","lua":"lua","makefile":"makefile","markdown":"markdown","marko":"marko","matlab":"matlab","maxscript":"maxscript","mel":"maya","mediawiki":"mediawiki","meson":"meson","mjml":"mjml","mlang":"mlang","powerquerymlanguage":"mlang","mojolicious":"mojolicious","mongo":"mongo","mson":"mson","nearley":"nearly","nim":"nim","nimble":"nimble","nix":"nix","nsis":"nsi","nfl":"nsi","nsl":"nsi","bridlensis":"nsi","nunjucks":"nunjucks","objective-c":"c","objective-cpp":"cpp","ocaml":"ocaml","ocamllex":"ocaml","menhir":"ocaml","openhab":"openHAB","pddl":"pddl","happenings":"pddl_happenings","plan":"pddl_plan","phoenix-heex":"eex","perl":"perl","perl6":"perl6","pgsql":"pgsql","php":"php","pine":"pine","pinescript":"pine","pip-requirements":"python","platformio-debug.disassembly":"platformio","platformio-debug.memoryview":"platformio","platformio-debug.asm":"platformio","plsql":"plsql","oracle":"plsql","polymer":"polymer","pony":"pony","postcss":"postcss","powershell":"powershell","prisma":"prisma","pde":"processinglang","abl":"progress","prolog":"prolog","prometheus":"prometheus","proto3":"protobuf","proto":"protobuf","jade":"pug","pug":"pug","puppet":"puppet","purescript":"purescript","pyret":"pyret","python":"python","qlik":"qlikview","qml":"qml","qsharp":"qsharp","r":"r","racket":"racket","raml":"raml","razor":"razor","aspnetcorerazor":"razor","javascriptreact":"reactjs","typescriptreact":"reactts","reason":"reason","red":"red","restructuredtext":"restructuredtext","rexx":"rexx","riot":"riot","rmd":"rmd","mdx":"markdownx","robot":"robotframework","ruby":"ruby","rust":"rust","san":"san","SAS":"sas","sbt":"sbt","scala":"scala","scilab":"scilab","vbscript":"script","scss":"scss","sdl":"sdlang","shaderlab":"shaderlab","shellscript":"shell","silverstripe":"silverstripe","eskip":"skipper","slang":"slang","slice":"slice","slim":"slim","smarty":"smarty","snort":"snort","solidity":"solidity","snippets":"vscode","sqf":"sqf","sql":"sql","squirrel":"squirrel","stan":"stan","stata":"stata","stencil":"stencil","stencil-html":"stencil","stylable":"stylable","source.css.styled":"styled","stylus":"stylus","svelte":"svelte","Swagger":"swagger","swagger":"swagger","swift":"swift","swig":"swig","cuda-cpp":"nvidia","systemd-unit-file":"systemd","systemverilog":"systemverilog","t4":"t4tt","tera":"tera","terraform":"terraform","tex":"latex","log":"log","dockercompose":"docker","latex":"latex","vue-directives":"vue","vue-injection-markdown":"vue","vue-interpolations":"vue","vue-sfc-style-variable-injection":"vue","bibtex":"latex","doctex":"tex","plaintext":"text","textile":"textile","toml":"toml","tt":"tt","ttcn":"ttcn","twig":"twig","typescript":"typescript","typoscript":"typo3","vb":"vb","vba":"vba","velocity":"velocity","verilog":"verilog","vhdl":"vhdl","viml":"vim","v":"vlang","volt":"volt","vue":"vue","wasm":"wasm","wat":"wasm","wenyan":"wenyan","wolfram":"wolfram","wurstlang":"wurst","wurst":"wurst","xmake":"xmake","xml":"xml","xquery":"xquery","xsl":"xml","yacc":"yacc","yaml":"yaml","yaml-tmlanguage":"yaml","yang":"yang","zig":"zig","vitest-snapshot":"vitest","instructions":"instructions","prompt":"prompt"},"light":{"file":"_file_light","folder":"_folder_light","folderExpanded":"_folder_light_open","rootFolder":"_root_folder_light","rootFolderExpanded":"_root_folder_light_open","fileExtensions":{"wma":"audio","wav":"audiowav","vox":"audio","tta":"audio","raw":"audio","ra":"audio","opus":"audio","ogg":"audioogg","oga":"audio","msv":"audio","mpc":"audio","mp3":"audiomp3","mogg":"audio","mmf":"audio","m4p":"audio","m4b":"audio","m4a":"audio","ivs":"audio","iklax":"audio","gsm":"audio","flac":"audio","dvf":"audio","dss":"audio","dct":"audio","au":"audio","ape":"audio","amr":"audio","aiff":"audio","act":"audio","aac":"audio","wmv":"video","webm":"video","vob":"video","svi":"video","rmvb":"video","rm":"video","ogv":"video","nsv":"video","mpv":"video","mpg":"video","mpeg2":"video","mpeg":"video","mpe":"video","mp4":"mp4","mp2":"video","mov":"mov","mk3d":"video","mkv":"video","m4v":"video","m2v":"video","flv":"video","f4v":"video","f4p":"video","f4b":"video","f4a":"video","qt":"video","divx":"video","avi":"video","amv":"video","asf":"video","3gp":"video","3g2":"video","ico":"imageico","tiff":"image","bmp":"image","png":"imagepng","gif":"imagegif","jpg":"imagejpg","jpeg":"imagejpg","7z":"zip","7zip":"zip","blade.php":"blade","cfg.dist":"conf","cjs.map":"jsmap","controller.js":"nestjscontroller","controller.ts":"nestjscontroller","repository.js":"nestjsrepository","repository.ts":"nestjsrepository","scheduler.js":"nestscheduler","scheduler.ts":"nestscheduler","css.js":"vanillaextract","css.ts":"vanillaextract","css.map":"cssmap","d.ts":"typescriptdef","decorator.js":"nestjsdecorator","decorator.ts":"nestjsdecorator","drawio.png":"drawio","drawio.svg":"drawio","e2e-spec.ts":"testts","e2e-spec.tsx":"testts","e2e-test.ts":"testts","e2e-test.tsx":"testts","filter.js":"nestjsfilter","filter.ts":"nestjsfilter","format.ps1xml":"powershell_format","gemfile.lock":"bundler","gradle.kts":"gradlekotlin","guard.js":"nestjsguard","guard.ts":"nestjsguard","jar.old":"jar","js.flow":"flow","js.map":"jsmap","js.snap":"jest_snapshot","json-ld":"jsonld","jsx.snap":"jest_snapshot","layout.htm":"layout","layout.html":"layout","marko.js":"markojs","mjs.map":"jsmap","module.ts":"nestjsmodule","resolver.js":"nestjsresolver","resolver.ts":"nestjsresolver","service.js":"nestjsservice","service.ts":"nestjsservice","entity.js":"nestjsentity","entity.ts":"nestjsentity","interceptor.js":"nestjsinterceptor","interceptor.ts":"nestjsinterceptor","dto.js":"nestjsdto","dto.ts":"nestjsdto","spec.js":"testjs","spec.jsx":"testjs","spec.mjs":"testjs","spec.ts":"testts","spec.tsx":"testts","stories.js":"storybook","stories.jsx":"storybook","stories.ts":"storybook","stories.tsx":"storybook","stories.svelte":"storybook","story.js":"storybook","story.jsx":"storybook","story.ts":"storybook","story.tsx":"storybook","story.svelte":"storybook","test.cjs":"testjs","test.cts":"testts","test.js":"testjs","test.jsx":"testjs","test.mjs":"testjs","test.mts":"testts","test.ts":"testts","test.tsx":"testts","ts.snap":"jest_snapshot","tsx.snap":"jest_snapshot","types.ps1xml":"powershell_types","a":"binary","accda":"access","accdb":"access","accdc":"access","accde":"access","accdp":"access","accdr":"access","accdt":"access","accdu":"access","ade":"access","adoc":"adoc","adp":"access","afdesign":"afdesign","affinitydesigner":"afdesign","affinityphoto":"afphoto","affinitypublisher":"afpub","afphoto":"afphoto","afpub":"afpub","ai":"ai","app":"binary","ascx":"aspx","asm":"binary","aspx":"aspx","astro":"astro","awk":"awk","bat":"bat","bc":"llvm","bcmx":"outlook","bicep":"bicep","bin":"binary","blade":"blade","bz2":"zip","bzip2":"zip","c":"c","cake":"cake","cer":"cert","pvk":"pvk","pfx":"pfx","spc":"spc","cfg":"conf","civet":"civet","cjm":"clojure","cl":"opencl","class":"class","cli":"cli","clj":"clojure","cljc":"clojure","cljs":"clojure","cljx":"clojure","cma":"binary","cmd":"cli","cmi":"binary","cmo":"binary","cmx":"binary","cmxa":"binary","comp":"opengl","conf":"conf","cpp":"cpp","cr":"crystal","crec":"lync","crl":"cert","crt":"cert","cs":"csharp","cshtml":"cshtml","csproj":"csproj","csr":"cert","css":"css","csv":"csv","csx":"csharp","d":"d","dart":"dartlang","db":"sqlite","db3":"sqlite","der":"cert","diff":"diff","dio":"drawio","djt":"django","dll":"binary","dmp":"log","doc":"word","docm":"word","docx":"word","dot":"word","dotm":"word","dotx":"word","drawio":"drawio","dta":"stata","eco":"docpad","edge":"edge","edn":"clojure","eex":"eex","ejs":"ejs","el":"emacs","elc":"emacs","elm":"elm","enc":"license","ensime":"ensime","env":"env","eps":"eps","erb":"erb","erl":"erlang","eskip":"skipper","ex":"elixir","exe":"binary","exp":"tcl","exs":"exs","fbx":"fbx","feature":"cucumber","fig":"figma","fish":"shell","fla":"fla","fods":"excel","frag":"opengl","fs":"fsharp","fsproj":"fsproj","ftl":"freemarker","gbl":"gbl","gd":"godot","gemfile":"bundler","geom":"opengl","glsl":"opengl","gmx":"gamemaker","go":"go","godot":"godot","gql":"graphql","gradle":"gradle","groovy":"groovy","gz":"zip","h":"cheader","haml":"haml","hbs":"handlebars","hcl":"hashicorp","hl":"binary","hlsl":"opengl","hpp":"hpp","hs":"haskell","html":"html","hxp":"lime","hxproj":"haxedevelop","ibc":"idrisbin","idr":"idris","ilk":"binary","imba":"imba","inc":"inc","include":"inc","info":"info","infopathxml":"infopath","ini":"conf","ino":"arduino","ipkg":"idrispkg","ipynb":"ipynb","iuml":"plantuml","jar":"jar","java":"java","jbuilder":"jbuilder","j2":"jinja","jinja":"jinja","jinja2":"jinja","jl":"julia","json5":"json5","jsonld":"jsonld","jsp":"jsp","jss":"jss","key":"key","kit":"codekit","kt":"kotlin","kts":"kotlins","laccdb":"access","ldb":"access","less":"less","lib":"binary","lidr":"idris","liquid":"liquid","ll":"llvm","lnk":"lnk","log":"log","ls":"livescript","lucee":"cf","m":"m","makefile":"makefile","mam":"access","map":"map","maq":"access","markdown":"markdown","master":"layout","mdb":"access","mdown":"markdown","mdw":"access","mdx":"markdownx","mesh":"mesh","mex":"matlab","mexn":"matlab","mexrs6":"matlab","mf":"manifest","mint":"mint","mjml":"mjml","ml":"ocaml","mli":"ocamli","mll":"ocamll","mly":"ocamly","mn":"matlab","mo":"motoko","msg":"outlook","mst":"mustache","mum":"matlab","mustache":"mustache","mx":"matlab","mx3":"matlab","n":"binary","ndll":"binary","neon":"neon","nim":"nim","nix":"nix","njk":"njk","njs":"nunjucks","njsproj":"njsproj","nunj":"nunjucks","nupkg":"nuget","nuspec":"nuget","nvim":"nvim","o":"binary","ocrec":"lync","ods":"excel","oft":"outlook","one":"onenote","onepkg":"onenote","onetoc":"onenote","onetoc2":"onenote","opencl":"opencl","org":"org","otf":"fontotf","otm":"outlook","ovpn":"ovpn","P":"prolog","p12":"cert","p7b":"cert","p7r":"cert","pa":"powerpoint","patch":"diff","pcd":"pcl","pck":"plsql_package","pdb":"binary","pde":"arduino","pdf":"pdf","pem":"key","pex":"xml","phar":"php","php1":"php","php2":"php","php3":"php","php4":"php","php5":"php","php6":"php","phps":"php","phpsa":"php","phpt":"php","phtml":"php","pkb":"plsql_package_body","pkg":"package","pkh":"plsql_package_header","pks":"plsql_package_spec","pl":"perl","plantuml":"plantuml","plist":"config","pm":"perlm","po":"poedit","postcss":"postcssconfig","pcss":"postcssconfig","pot":"powerpoint","potm":"powerpoint","potx":"powerpoint","ppa":"powerpoint","ppam":"powerpoint","pps":"powerpoint","ppsm":"powerpoint","ppsx":"powerpoint","ppt":"powerpoint","pptm":"powerpoint","pptx":"powerpoint","pri":"qt","prisma":"prisma","pro":"prolog","properties":"properties","ps1":"powershell","psd":"photoshop","psd1":"powershelldata","psm1":"powershellmodule","psmdcp":"nuget","pst":"outlook","pu":"plantuml","pub":"publisher","puml":"plantuml","puz":"publisher","pyc":"binary","pyd":"binary","pyo":"binary","q":"q","qbs":"qbs","qvd":"qlikview","qvw":"qlikview","rake":"rake","rar":"zip","gzip":"zip","razor":"razor","rb":"ruby","reg":"registry","rego":"rego","res":"rescript","resi":"rescriptinterface","rjson":"rjson","rproj":"rproj","rs":"rust","rsx":"rust","ron":"ron","odin":"odin","rt":"reacttemplate","rwd":"matlab","pas":"pascal","pp":"pascal","p":"pascal","lpr":"lazarusproject","lps":"lazarusproject","lpi":"lazarusproject","lfm":"lazarusproject","lrs":"lazarusproject","lpk":"lazarusproject","dpr":"delphiproject","dproj":"delphiproject","dfm":"delphiproject","sass":"scss","sc":"scala","scala":"scala","scpt":"binary","scptd":"binary","scss":"scss","sentinel":"sentinel","sig":"onenote","sketch":"sketch","slddc":"matlab","sldm":"powerpoint","sldx":"powerpoint","sln":"sln","sls":"saltstack","slx":"matlab","smv":"matlab","so":"binary","sol":"sol","sql":"sql","sqlite":"sqlite","sqlite3":"sqlite","src":"cert","sss":"sss","sst":"cert","stl":"cert","storyboard":"storyboard","styl":"stylus","suo":"suo","svelte":"svelte","svg":"svg","swc":"flash","swf":"flash","swift":"swift","tar":"zip","tcl":"tcl","templ":"tmpl","tesc":"opengl","tese":"opengl","tex":"latex","texi":"tex","tf":"terraform","tfstate":"terraform","tfvars":"terraformvars","tgz":"zip","tikz":"tex","tlg":"log","tmlanguage":"xml","tmpl":"tmpl","todo":"todo","toml":"toml","tpl":"smarty","tres":"tres","tscn":"tscn","tst":"test","tsx":"reactts","jsx":"reactjs","tt2":"tt","ttf":"fontttf","twig":"twig","txt":"txt","ui":"ui","unity":"shaderlab","user":"user","v":"v","vala":"vala","vapi":"vapi","vash":"vash","vbhtml":"vbhtml","vbproj":"vbproj","vcxproj":"vcxproj","vert":"opengl","vhd":"vhd","vhdl":"vhdl","vsix":"vscode","vsixmanifest":"manifest","wasm":"wasm","webp":"imagewebp","wgsl":"wgsl","wll":"word","woff":"fontwoff","eot":"fonteot","woff2":"fontwoff2","wv":"audiowv","wxml":"wxml","wxss":"wxss","xcodeproj":"xcode","xfl":"xfl","xib":"xib","xlf":"xliff","xliff":"xliff","xls":"excel","xlsm":"excel","xlsx":"excel","xsf":"infopath","xsn":"infopath","xtp2":"infopath","xvc":"matlab","xz":"zip","yy":"gamemaker2","yyp":"gamemaker2","zig":"zig","zip":"zip","zipx":"zip","zz":"zip","deflate":"zip","brotli":"brotli","kra":"krita","mgcb":"mgcb","anim":"anim","cy.ts":"cypressts","cy.js":"cypressjs","hx":"haxe","hxml":"haxeml","gr":"grain","slim":"slim","obj":"obj","mtl":"mtl","bicepparam":"bicepparam","proto":"proto","wren":"wren","docker-compose.yml":"docker","excalidraw":"excalidraw","excalidraw.json":"excalidraw","excalidraw.svg":"excalidraw","excalidraw.png":"excalidraw","bazel":"bazel","bzl":"bazel","bazelignore":"bazelignore","bazelrc":"bazel","http":"http","rkt":"racket","rktl":"racket","bru":"bruno","nelua":"nelua","mermaid":"mermaid","mmd":"mermaid","bal":"ballerina","hash":"hash","gleam":"gleam","lock":"lock","yang":"yang","yin":"yin","mdc":"cursor","uml":"plantuml","Identifier":"identifier","cls":"salesforce",".instructions.md":"instructions",".instructions.txt":"instructions",".instructions.json":"instructions",".instructions.yaml":"instructions",".instructions.yml":"instructions","silq":"silq","eraserdiagram":"eraser"},"fileNames":{"webpack.config.images.js":"webpack","webpack.test.conf.ts":"webpack","webpack.test.conf.coffee":"webpack","webpack.test.conf.js":"webpack","webpack.rules.ts":"webpack","webpack.rules.coffee":"webpack","webpack.rules.js":"webpack","webpack.renderer.config.ts":"webpack","webpack.renderer.config.coffee":"webpack","webpack.renderer.config.js":"webpack","webpack.plugins.ts":"webpack","webpack.plugins.coffee":"webpack","webpack.plugins.js":"webpack","webpack.mix.ts":"webpack","webpack.mix.coffee":"webpack","webpack.mix.js":"webpack","webpack.main.config.ts":"webpack","webpack.main.config.coffee":"webpack","webpack.main.config.js":"webpack","webpack.prod.conf.ts":"webpack","webpack.prod.conf.coffee":"webpack","webpack.prod.conf.js":"webpack","webpack.prod.ts":"webpack","webpack.prod.coffee":"webpack","webpack.prod.js":"webpack","webpack.dev.conf.ts":"webpack","webpack.dev.conf.coffee":"webpack","webpack.dev.conf.js":"webpack","webpack.dev.ts":"webpack","webpack.dev.coffee":"webpack","webpack.dev.js":"webpack","webpack.config.production.babel.ts":"webpack","webpack.config.production.babel.coffee":"webpack","webpack.config.production.babel.js":"webpack","webpack.config.prod.babel.ts":"webpack","webpack.config.prod.babel.coffee":"webpack","webpack.config.prod.babel.js":"webpack","webpack.config.test.babel.ts":"webpack","webpack.config.test.babel.coffee":"webpack","webpack.config.test.babel.js":"webpack","webpack.config.staging.babel.ts":"webpack","webpack.config.staging.babel.coffee":"webpack","webpack.config.staging.babel.js":"webpack","webpack.config.development.babel.ts":"webpack","webpack.config.development.babel.coffee":"webpack","webpack.config.development.babel.js":"webpack","webpack.config.dev.babel.ts":"webpack","webpack.config.dev.babel.coffee":"webpack","webpack.config.dev.babel.js":"webpack","webpack.config.common.babel.ts":"webpack","webpack.config.common.babel.coffee":"webpack","webpack.config.common.babel.js":"webpack","webpack.config.base.babel.ts":"webpack","webpack.config.base.babel.coffee":"webpack","webpack.config.base.babel.js":"webpack","webpack.config.babel.ts":"webpack","webpack.config.babel.coffee":"webpack","webpack.config.babel.js":"webpack","webpack.config.production.ts":"webpack","webpack.config.production.coffee":"webpack","webpack.config.production.js":"webpack","webpack.config.prod.ts":"webpack","webpack.config.prod.coffee":"webpack","webpack.config.prod.js":"webpack","webpack.config.test.ts":"webpack","webpack.config.test.coffee":"webpack","webpack.config.test.js":"webpack","webpack.config.staging.ts":"webpack","webpack.config.staging.coffee":"webpack","webpack.config.staging.js":"webpack","webpack.config.development.ts":"webpack","webpack.config.development.coffee":"webpack","webpack.config.development.js":"webpack","webpack.config.dev.ts":"webpack","webpack.config.dev.coffee":"webpack","webpack.config.dev.js":"webpack","webpack.config.common.ts":"webpack","webpack.config.common.coffee":"webpack","webpack.config.common.js":"webpack","webpack.config.base.ts":"webpack","webpack.config.base.coffee":"webpack","webpack.config.base.js":"webpack","webpack.config.ts":"webpack","webpack.config.coffee":"webpack","webpack.config.js":"webpack","webpack.common.ts":"webpack","webpack.common.coffee":"webpack","webpack.common.js":"webpack","webpack.base.conf.ts":"webpack","webpack.base.conf.coffee":"webpack","webpack.base.conf.js":"webpack",".angular-cli.json":"angular","angular-cli.json":"angular","angular.json":"angular",".angular.json":"angular","api-extractor.json":"api_extractor","api-extractor-base.json":"api_extractor","appveyor.yml":"appveyor",".appveyor.yml":"appveyor","aurelia.json":"aurelia","azure-pipelines.yml":"azure",".vsts-ci.yml":"azure",".babelrc":"babel",".babelignore":"babel",".babelrc.js":"babel",".babelrc.cjs":"babel",".babelrc.mjs":"babel",".babelrc.json":"babel","babel.config.js":"babel","babel.config.cjs":"babel","babel.config.mjs":"babel","babel.config.json":"babel","vetur.config.js":"vue","vetur.config.ts":"vue",".bzrignore":"bazaar",".bazelrc":"bazel","bazel.rc":"bazel","bazel.bazelrc":"bazel","BUILD":"bazel","bitbucket-pipelines.yml":"bitbucketpipeline",".bithoundrc":"bithound",".bowerrc":"bower","bower.json":"bower",".browserslistrc":"browserslist","browserslist":"browserslist","gemfile":"bundler","gemfile.lock":"bundler",".ruby-version":"bundler","capacitor.config.json":"capacitor","cargo.toml":"cargo","cargo.lock":"cargo","chefignore":"chef","berksfile":"chef","berksfile.lock":"chef","policyfile":"chef","circle.yml":"circleci",".cfignore":"cloudfoundry",".codacy.yml":"codacy",".codacy.yaml":"codacy",".codeclimate.yml":"codeclimate","codecov.yml":"codecov",".codecov.yml":"codecov","config.codekit":"codekit","config.codekit2":"codekit","config.codekit3":"codekit",".config.codekit":"codekit",".config.codekit2":"codekit",".config.codekit3":"codekit","coffeelint.json":"coffeelint",".coffeelintignore":"coffeelint","composer.json":"composer","composer.lock":"composerlock","conanfile.txt":"conan","conanfile.py":"conan",".condarc":"conda",".coveralls.yml":"coveralls","crowdin.yml":"crowdin",".csscomb.json":"csscomb",".csslintrc":"csslint",".cvsignore":"cvs",".boringignore":"darcs","dependabot.yml":"dependabot","dependencies.yml":"dependencies","devcontainer.json":"devcontainer","docker-compose-prod.yml":"docker","docker-compose.alpha.yaml":"docker","docker-compose.alpha.yml":"docker","docker-compose.beta.yaml":"docker","docker-compose.beta.yml":"docker","docker-compose.ci-build.yml":"docker","docker-compose.ci.yaml":"docker","docker-compose.ci.yml":"docker","docker-compose.dev.yaml":"docker","docker-compose.dev.yml":"docker","docker-compose.development.yaml":"docker","docker-compose.development.yml":"docker","docker-compose.local.yaml":"docker","docker-compose.local.yml":"docker","docker-compose.override.yaml":"docker","docker-compose.override.yml":"docker","docker-compose.prod.yaml":"docker","docker-compose.prod.yml":"docker","docker-compose.production.yaml":"docker","docker-compose.production.yml":"docker","docker-compose.stage.yaml":"docker","docker-compose.stage.yml":"docker","docker-compose.staging.yaml":"docker","docker-compose.staging.yml":"docker","docker-compose.test.yaml":"docker","docker-compose.test.yml":"docker","docker-compose.testing.yaml":"docker","docker-compose.testing.yml":"docker","docker-compose.vs.debug.yml":"docker","docker-compose.vs.release.yml":"docker","docker-compose.web.yaml":"docker","docker-compose.web.yml":"docker","docker-compose.worker.yaml":"docker","docker-compose.worker.yml":"docker","docker-compose.yaml":"docker","docker-compose.yml":"docker","Dockerfile-production":"docker","dockerfile.alpha":"docker","dockerfile.beta":"docker","dockerfile.ci":"docker","dockerfile.dev":"docker","dockerfile.development":"docker","dockerfile.local":"docker","dockerfile.prod":"docker","dockerfile.production":"docker","dockerfile.stage":"docker","dockerfile.staging":"docker","dockerfile.test":"docker","dockerfile.testing":"docker","dockerfile.web":"docker","dockerfile.worker":"docker","dockerfile":"docker","docker-compose.debug.yml":"dockerdebug","docker-cloud.yml":"docker",".dockerignore":"dockerignore",".doczrc":"docz","docz.js":"docz","docz.json":"docz",".docz.js":"docz",".docz.json":"docz","doczrc.js":"docz","doczrc.json":"docz","docz.config.js":"docz","docz.config.json":"docz",".dojorc":"dojo",".drone.yml":"drone",".drone.yml.sig":"drone",".dvc":"dvc",".editorconfig":"editorconfig","elm-package.json":"elm",".ember-cli":"ember","emakefile":"erlang",".emakerfile":"erlang",".eslintrc":"eslint",".eslintignore":"eslintignore",".eslintcache":"eslint",".eslintrc.js":"eslint",".eslintrc.mjs":"eslint",".eslintrc.cjs":"eslint",".eslintrc.json":"eslint",".eslintrc.yaml":"eslint",".eslintrc.yml":"eslint",".eslintrc.browser.json":"eslint",".eslintrc.base.json":"eslint","eslint-preset.js":"eslint","eslint.config.js":"eslint","eslint.config.cjs":"eslint","eslint.config.mjs":"eslint","eslint.config.ts":"eslint","_eslintrc.cjs":"eslint","app.json":"expo","app.config.js":"expo","app.config.json":"expo","app.config.json5":"expo","favicon.ico":"favicon",".firebaserc":"firebase","firebase.json":"firebasehosting","firestore.rules":"firestore","firestore.indexes.json":"firestore",".flooignore":"floobits",".flowconfig":"flow",".flutter-plugins":"flutter",".metadata":"flutter",".fossaignore":"fossa","ignore-glob":"fossil","fuse.js":"fusebox","gatsby-config.js":"gatsby","gatsby-config.ts":"gatsby","gatsby-node.js":"gatsby","gatsby-node.ts":"gatsby","gatsby-browser.js":"gatsby","gatsby-browser.ts":"gatsby","gatsby-ssr.js":"gatsby","gatsby-ssr.ts":"gatsby",".git-blame-ignore-revs":"git",".gitattributes":"git",".gitconfig":"git",".gitignore":"git",".gitmodules":"git",".gitkeep":"git",".mailmap":"git",".gitlab-ci.yml":"gitlab","glide.yml":"glide","go.sum":"go_package","go.mod":"go_package","go.work":"go_package",".gqlconfig":"graphql",".graphqlconfig":"graphql_config",".graphqlconfig.yml":"graphql_config",".graphqlconfig.yaml":"graphql_config","greenkeeper.json":"greenkeeper","gridsome.config.js":"gridsome","gridsome.config.ts":"gridsome","gridsome.server.js":"gridsome","gridsome.server.ts":"gridsome","gridsome.client.js":"gridsome","gridsome.client.ts":"gridsome","gruntfile.js":"grunt","gruntfile.cjs":"grunt","gruntfile.mjs":"grunt","gruntfile.coffee":"grunt","gruntfile.ts":"grunt","gruntfile.cts":"grunt","gruntfile.mts":"grunt","gruntfile.babel.js":"grunt","gruntfile.babel.coffee":"grunt","gruntfile.babel.ts":"grunt","gulpfile.js":"gulp","gulpfile.coffee":"gulp","gulpfile.ts":"gulp","gulpfile.esm.js":"gulp","gulpfile.esm.coffee":"gulp","gulpfile.esm.ts":"gulp","gulpfile.babel.js":"gulp","gulpfile.babel.coffee":"gulp","gulpfile.babel.ts":"gulp","haxelib.json":"haxe","checkstyle.json":"haxecheckstyle",".p4ignore":"helix",".htmlhintrc":"htmlhint",".huskyrc":"husky","husky.config.js":"husky",".huskyrc.js":"husky",".huskyrc.json":"husky",".huskyrc.yaml":"husky",".huskyrc.yml":"husky","ionic.project":"ionic","ionic.config.json":"ionic","jakefile":"jake","jakefile.js":"jake","jest.config.json":"jest","jest.json":"jest",".jestrc":"jest",".jestrc.js":"jest",".jestrc.json":"jest","jest.config.js":"jest","jest.config.cjs":"jest","jest.config.mjs":"jest","jest.config.babel.js":"jest","jest.config.babel.cjs":"jest","jest.config.babel.mjs":"jest","jest.preset.js":"jest","jest.preset.ts":"jest","jest.preset.cjs":"jest","jest.preset.mjs":"jest",".jpmignore":"jpm",".jsbeautifyrc":"jsbeautify","jsbeautifyrc":"jsbeautify",".jsbeautify":"jsbeautify","jsbeautify":"jsbeautify","jsconfig.json":"jsconfig",".jscpd.json":"jscpd","jscpd-report.xml":"jscpd","jscpd-report.json":"jscpd","jscpd-report.html":"jscpd",".jshintrc":"jshint",".jshintignore":"jshint","karma.conf.js":"karma","karma.conf.coffee":"karma","karma.conf.ts":"karma",".kitchen.yml":"kitchenci","kitchen.yml":"kitchenci",".kiteignore":"kite","layout.html":"layout","layout.htm":"layout","lerna.json":"lerna","license":"license","licence":"license","license.md":"license","license.txt":"license","licence.md":"license","licence.txt":"license",".lighthouserc.js":"lighthouse",".lighthouserc.json":"lighthouse",".lighthouserc.yaml":"lighthouse",".lighthouserc.yml":"lighthouse","include.xml":"lime",".lintstagedrc":"lintstagedrc","lint-staged.config.js":"lintstagedrc",".lintstagedrc.js":"lintstagedrc",".lintstagedrc.json":"lintstagedrc",".lintstagedrc.yaml":"lintstagedrc",".lintstagedrc.yml":"lintstagedrc","manifest":"manifest","manifest.bak":"manifest","manifest.json":"manifest","manifest.skip":"manifes",".markdownlint.json":"markdownlint","maven.config":"maven","pom.xml":"maven","extensions.xml":"maven","settings.xml":"maven","pom.properties":"maven",".hgignore":"mercurial","mocha.opts":"mocha",".mocharc.js":"mocha",".mocharc.json":"mocha",".mocharc.jsonc":"mocha",".mocharc.yaml":"mocha",".mocharc.yml":"mocha","modernizr":"modernizr","modernizr.js":"modernizr","modernizrrc.js":"modernizr",".modernizr.js":"modernizr",".modernizrrc.js":"modernizr","moleculer.config.js":"moleculer","moleculer.config.json":"moleculer","moleculer.config.ts":"moleculer",".mtn-ignore":"monotone",".nest-cli.json":"nestjs","nest-cli.json":"nestjs","nestconfig.json":"nestjs",".nestconfig.json":"nestjs","netlify.toml":"netlify","_redirects":"netlify","ng-tailwind.js":"ng_tailwind","nginx.conf":"nginx","build.ninja":"ninja",".node-version":"node",".node_repl_history":"node",".node-gyp":"node","node_modules":"node","node_modules.json":"node","node-inspect.json":"node","node-inspect.js":"node","node-inspect.mjs":"node","node-inspect.cjs":"node","node-inspect.ts":"node","node-inspect.config.js":"node","node-inspect.config.ts":"node","node-inspect.config.cjs":"node","node-inspect.config.mjs":"node","node-inspect.config.json":"node","node-inspect.config.yaml":"node","node-inspect.config.yml":"node","node-inspectrc":"node",".node-inspectrc":"node",".node-inspectrc.json":"node",".node-inspectrc.yaml":"node",".node-inspectrc.yml":"node",".node-inspectrc.js":"node",".node-inspectrc.ts":"node",".node-inspectrc.cjs":"node",".node-inspectrc.mjs":"node","nodemon.json":"nodemon",".npmignore":"npm",".npmrc":"npm","package.json":"npm","package-lock.json":"npmlock","npm-shrinkwrap.json":"npm",".nsrirc":"nsri",".nsriignore":"nsri","nsri.config.js":"nsri",".nsrirc.js":"nsri",".nsrirc.json":"nsri",".nsrirc.yaml":"nsri",".nsrirc.yml":"nsri",".integrity.json":"nsri-integrity","nuxt.config.js":"nuxt","nuxt.config.ts":"nuxt",".nycrc":"nyc",".nycrc.json":"nyc",".merlin":"ocaml","paket.dependencies":"paket","paket.lock":"paket","paket.references":"paket","paket.template":"paket","paket.local":"paket",".php_cs":"phpcsfixer",".php_cs.dist":"phpcsfixer","phpunit":"phpunit","phpunit.xml":"phpunit","phpunit.xml.dist":"phpunit",".phraseapp.yml":"phraseapp","pipfile":"pip","pipfile.lock":"pip","platformio.ini":"platformio","pnpmfile.js":"pnpm","pnpm-workspace.yaml":"pnpm",".postcssrc":"postcssconfig",".postcssrc.json":"postcssconfig",".postcssrc.yml":"postcssconfig",".postcssrc.js":"postcssconfig",".postcssrc.cjs":"postcssconfig",".postcssrc.mjs":"postcssconfig",".postcssrc.ts":"postcssconfig",".postcssrc.cts":"postcssconfig",".postcssrc.mts":"postcssconfig","postcss.config.js":"postcssconfig","postcss.config.cjs":"postcssconfig","postcss.config.mjs":"postcssconfig","postcss.config.ts":"postcssconfig","postcss.config.cts":"postcssconfig","postcss.config.mts":"postcssconfig",".pre-commit-config.yaml":"precommit",".pre-commit-hooks.yaml":"precommit",".prettierrc":"prettier",".prettierignore":"prettierignore","prettier.config.js":"prettier","prettier.config.cjs":"prettier","prettier.config.mjs":"prettier","prettier.config.ts":"prettier","prettier.config.coffee":"prettier",".prettierrc.js":"prettier",".prettierrc.json":"prettier",".prettierrc.yml":"prettier",".prettierrc.yaml":"prettier","procfile":"procfile","protractor.conf.js":"protractor","protractor.conf.coffee":"protractor","protractor.conf.ts":"protractor",".jade-lintrc":"pug",".pug-lintrc":"pug",".jade-lint.json":"pug",".pug-lintrc.js":"pug",".pug-lintrc.json":"pug",".pyup":"pyup",".pyup.yml":"pyup","qmldir":"qmldir","quasar.conf.js":"quasar","rakefile":"rake","razzle.config.js":"razzle","readme.md":"readme","readme.txt":"readme",".rehyperc":"rehype",".rehypeignore":"rehype",".rehyperc.js":"rehype",".rehyperc.json":"rehype",".rehyperc.yml":"rehype",".rehyperc.yaml":"rehype",".remarkrc":"remark",".remarkignore":"remark",".remarkrc.js":"remark",".remarkrc.json":"remark",".remarkrc.yml":"remark",".remarkrc.yaml":"remark",".renovaterc":"renovate","renovate.json":"renovate",".renovaterc.json":"renovate",".retextrc":"retext",".retextignore":"retext",".retextrc.js":"retext",".retextrc.json":"retext",".retextrc.yml":"retext",".retextrc.yaml":"retext","robots.txt":"robots","rollup.config.js":"rollup","rollup.config.mjs":"rollup","rollup.config.coffee":"rollup","rollup.config.ts":"rollup","rollup.config.common.js":"rollup","rollup.config.common.mjs":"rollup","rollup.config.common.coffee":"rollup","rollup.config.common.ts":"rollup","rollup.config.dev.js":"rollup","rollup.config.dev.mjs":"rollup","rollup.config.dev.coffee":"rollup","rollup.config.dev.ts":"rollup","rollup.config.prod.js":"rollup","rollup.config.prod.mjs":"rollup","rollup.config.prod.coffee":"rollup","rollup.config.prod.ts":"rollup",".rspec":"rspec",".rubocop.yml":"rubocop",".rubocop_todo.yml":"rubocop","rust-toolchain":"rust_toolchain",".sentryclirc":"sentry","serverless.yml":"serverless","snapcraft.yaml":"snapcraft",".snyk":"snyk",".solidarity":"solidarity",".solidarity.json":"solidarity",".stylelintrc":"stylelint",".stylelintignore":"stylelintignore",".stylelintcache":"stylelint","stylelint.config.js":"stylelint","stylelint.config.cjs":"stylelint","stylelint.config.mjs":"stylelint","stylelint.config.json":"stylelint","stylelint.config.yaml":"stylelint","stylelint.config.yml":"stylelint","stylelint.config.ts":"stylelint",".stylelintrc.js":"stylelint",".stylelintrc.json":"stylelint",".stylelintrc.yaml":"stylelint",".stylelintrc.yml":"stylelint",".stylelintrc.ts":"stylelint",".stylelintrc.cjs":"stylelint",".stylelintrc.mjs":"stylelint",".stylish-haskell.yaml":"stylish_haskell",".svnignore":"subversion","package.pins":"swift","symfony.lock":"symfony","windi.config.ts":"windi","windi.config.js":"windi","tailwind.js":"tailwind","tailwind.mjs":"tailwind","tailwind.cjs":"tailwind","tailwind.coffee":"tailwind","tailwind.ts":"tailwind","tailwind.cts":"tailwind","tailwind.mts":"tailwind","tailwind.config.mjs":"tailwind","tailwind.config.cjs":"tailwind","tailwind.config.js":"tailwind","tailwind.config.coffee":"tailwind","tailwind.config.ts":"tailwind","tailwind.config.cts":"tailwind","tailwind.config.mts":"tailwind",".testcaferc.json":"testcafe",".tfignore":"tfs","tox.ini":"tox",".travis.yml":"travis","tsconfig.json":"tsconfig","tsconfig.app.json":"tsconfig","tsconfig.base.json":"tsconfig","tsconfig.common.json":"tsconfig","tsconfig.dev.json":"tsconfig","tsconfig.development.json":"tsconfig","tsconfig.e2e.json":"tsconfig","tsconfig.prod.json":"tsconfig","tsconfig.production.json":"tsconfig","tsconfig.server.json":"tsconfig","tsconfig.spec.json":"tsconfig","tsconfig.staging.json":"tsconfig","tsconfig.test.json":"tsconfig","tsconfig.tsd.json":"tsconfig","tsconfig.node.json":"tsconfig","tsconfig.lib.json":"tsconfig","tsconfig.eslint.json":"tsconfig","tsconfig.storybook.json":"tsconfig","tsconfig.tsbuildinfo":"tsconfig","tslint.json":"tslint","tslint.yaml":"tslint","tslint.yml":"tslint",".unibeautifyrc":"unibeautify","unibeautify.config.js":"unibeautify",".unibeautifyrc.js":"unibeautify",".unibeautifyrc.json":"unibeautify",".unibeautifyrc.yaml":"unibeautify",".unibeautifyrc.yml":"unibeautify","vagrantfile":"vagrant",".vimrc":"vim",".gvimrc":"vim",".vscodeignore":"vscode","tasks.json":"vscode","vscodeignore.json":"vscode",".vuerc":"vueconfig","vue.config.js":"vueconfig","vue.config.ts":"vueconfig","wallaby.json":"wallaby","wallaby.js":"wallaby","wallaby.ts":"wallaby","wallaby.coffee":"wallaby","wallaby.conf.json":"wallaby","wallaby.conf.js":"wallaby","wallaby.conf.ts":"wallaby","wallaby.conf.coffee":"wallaby",".wallaby.json":"wallaby",".wallaby.js":"wallaby",".wallaby.ts":"wallaby",".wallaby.coffee":"wallaby",".wallaby.conf.json":"wallaby",".wallaby.conf.js":"wallaby",".wallaby.conf.ts":"wallaby",".wallaby.conf.coffee":"wallaby",".watchmanconfig":"watchmanconfig","wercker.yml":"wercker","wpml-config.xml":"wpml",".yamllint":"yamllint",".yaspellerrc":"yandex",".yaspeller.json":"yandex","yarn.lock":"yarnlock",".yarnrc":"yarn",".yarn.installed":"yarn",".yarnclean":"yarn",".yarn-integrity":"yarn",".yarn-metadata.json":"yarn",".yarnignore":"yarnignore",".yarnrc.yml":"yarn",".yarnrc.yaml":"yarn",".yarnrc.json":"yarn",".yarnrc.json5":"yarn",".yarnrc.cjs":"yarn",".yarnrc.js":"yarn",".yarnrc.lock":"yarn",".yarnrc.txt":"yarn","yarn-error.log":"yarnerror",".yo-rc.json":"yeoman","now.json":"vercel",".nowignore":"vercel","vercel.json":"vercel",".vercel":"vercel",".vercelignore":"vercel","vite.config.js":"vite","vite.config.mjs":"vite","vite.config.cjs":"vite","vite.config.ts":"vite","vite.config.mts":"vite","vite.config.cts":"vite",".nvmrc":"nvm","example.env":"env",".env.staging":"env",".env.sample":"env",".env.preprod":"env",".env.prod":"env",".env.production":"env",".env.local":"env",".env.dev":"env",".env.dev.local":"env",".env.dev.prod":"env",".env.dev.preprod":"env",".env.dev.production":"env",".env.dev.staging":"env",".env.development":"env",".env.example":"env",".env.test":"env",".env.dist":"env",".env.default":"env",".jinja":"jinja","jenkins.yaml":"jenkins","jenkins.yml":"jenkins",".compodocrc":"compodoc",".compodocrc.json":"compodoc",".compodocrc.yaml":"compodoc",".compodocrc.yml":"compodoc","bsconfig.json":"bsconfig",".clang-format":"llvm",".clang-tidy":"llvm",".clangd":"llvm",".parcelrc":"parcel","dune":"dune","dune-project":"duneproject",".adonisrc.json":"adonis","astro.config.js":"astroconfig","astro.config.cjs":"astroconfig","astro.config.mjs":"astroconfig","astro.config.ts":"astroconfig","astro.config.cts":"astroconfig","astro.config.mts":"astroconfig","svelte.config.js":"svelteconfig","svelte.config.ts":"svelteconfig",".tool-versions":"toolversions","CMakeSettings.json":"cmake","CMakeLists.txt":"cmake","toolchain.cmake":"cmake",".cmake":"cmake","Cargo.toml":"cargo","Cargo.lock":"cargolock","pnpm-lock.yaml":"pnpmlock","tauri.conf.json":"tauri","tauri.conf.json5":"tauri","tauri.linux.conf.json":"tauri","tauri.windows.conf.json":"tauri","tauri.macos.conf.json":"tauri","next.config.js":"nextconfig","next.config.mjs":"nextconfig","next.config.ts":"nextconfig","nextron.config.js":"nextron","nextron.config.ts":"nextron","poetry.toml":"poetry","poetry.lock":"poetrylock","pyproject.toml":"pyproject","rustfmt.toml":"rustfmt",".rustfmt.toml":"rustfmt","cucumber.yml":"cucumber","cucumber.yaml":"cucumber","cucumber.js":"cucumber","cucumber.ts":"cucumber","cucumber.cjs":"cucumber","cucumber.mjs":"cucumber","cucumber.json":"cucumber","flake.lock":"flakelock","ace":"ace","ace-manifest.json":"acemanifest","knexfile.js":"knex","knexfile.ts":"knex","launch.json":"launch","redis.conf":"redis","sequelize.js":"sequelize","sequelize.ts":"sequelize","sequelize.cjs":"sequelize",".sequelizerc":"sequelize",".sequelizerc.js":"sequelize",".sequelizerc.json":"sequelize","cypress.json":"cypress","cypress.env.json":"cypress","cypress.config.js":"cypress","cypress.config.ts":"cypress","cypress.config.cjs":"cypress","playwright.config.ts":"playright","playwright.config.js":"playright","playwright.config.cjs":"playright","vitest.config.ts":"vitest","vitest.config.cts":"vitest","vitest.config.mts":"vitest","vitest.config.js":"vitest","vitest.config.cjs":"vitest","vitest.config.mjs":"vitest","vitest.workspace.ts":"vitest","vitest.workspace.cts":"vitest","vitest.workspace.mts":"vitest","vitest.workspace.js":"vitest","vitest.workspace.cjs":"vitest","vitest.workspace.mjs":"vitest","vite-env.d.ts":"viteenv","vite-env.d.js":"viteenv","pubspec.lock":"flutterlock","pubspec.yaml":"flutter",".packages":"flutterpackage",".htaccess":"htaccess","nx.json":"nx","project.json":"nx","nx.instructions.md":"nx","nx.jsonc":"nx","v.mod":"vmod","quasar.config.js":"quasar","quasar.config.ts":"quasar","quasar.config.cjs":"quasar","quasar.config.mjs":"quasar","quarkus.properties":"quarkus","theme.properties":"ui","gradlew":"gradle","gradle-wrapper.properties":"gradle","gradlew.bat":"gradlebat","makefile.win":"makefile","makefile":"makefile","make":"makefile","version":"version","server":"sql","migrate":"sql",".commitlintrc":"commitlint",".commitlintrc.json":"commitlint",".commitlintrc.yaml":"commitlint",".commitlintrc.yml":"commitlint",".commitlintrc.js":"commitlint",".commitlintrc.cjs":"commitlint",".commitlintrc.ts":"commitlint",".commitlintrc.cts":"commitlint","commitlint.config.js":"commitlint","commitlint.config.cjs":"commitlint","commitlint.config.ts":"commitlint","commitlint.config.cts":"commitlint",".terraform-version":"terraformversion","TerraFile":"terrafile","tfstate.backup":"terraform",".code-workspace":"codeworkspace","hardhat.config.js":"hardhat","hardhat.config.ts":"hardhat","hardhat.config.cts":"hardhat","hardhat.config.cjs":"hardhat","hardhat.config.mjs":"hardhat","taze.config.js":"taze","taze.config.ts":"taze","taze.config.cjs":"taze","taze.config.mjs":"taze",".tazerc.json":"taze","turbo.json":"turbo","turbo.jsonc":"turbo","uno.config.ts":"unocss","uno.config.js":"unocss","uno.config.mjs":"unocss","uno.config.mts":"unocss","unocss.config.ts":"unocss","unocss.config.js":"unocss","unocss.config.mjs":"unocss","unocss.config.mts":"unocss","atomizer.config.js":"atomizer","atomizer.config.cjs":"atomizer","atomizer.config.mjs":"atomizer","atomizer.config.ts":"atomizer","esbuild.js":"esbuild","esbuild.mjs":"esbuild","esbuild.cjs":"esbuild","esbuild.ts":"esbuild","mix.exs":"mix","mix.lock":"mixlock",".DS_Store":"dsstore","remix.config.js":"remix","remix.config.cjs":"remix","remix.config.mjs":"remix","remix.config.ts":"remix","xmake.lua":"xmake",".sailsrc":"sails","farm.config.ts":"farm","farm.config.js":"farm","bunfig.toml":"bun",".bunfig.toml":"bun","bun.lockb":"bunlock","bun.lock":"bunlock",".air.toml":"air","rome.json":"rome","biome.json":"biome","bicepconfig.json":"bicepconfig","drizzle.config.ts":"drizzle","drizzle.config.js":"drizzle","drizzle.config.json":"drizzle","panda.config.ts":"panda","panda.config.js":"panda","panda.config.json":"panda","panda.config.cjs":"panda","panda.config.mjs":"panda","panda.config.cts":"panda","panda.config.mts":"panda",".buckconfig":"buck","Ballerina.toml":"ballerinaconfig","knip.json":"knip","knip.jsonc":"knip",".knip.json":"knip",".knip.jsonc":"knip","knip.ts":"knip","knip.js":"knip","knip.config.ts":"knip","knip.config.js":"knip","todo.md":"todo",".todo.md":"todo","todo.txt":"todo",".todo.txt":"todo","todo":"todo","mkdocs.yml":"mkdocs","mkdocs.yaml":"mkdocs","gleam.toml":"gleamconfig",".oxlintrc.json":"oxlint","oxlint.json":"oxlint","oxlint.config.js":"oxlint","oxlint.config.ts":"oxlint","oxlint.config.cjs":"oxlint","oxlint.config.mjs":"oxlint","oxlint.config.cts":"oxlint","oxlint.config.mts":"oxlint",".cursorrules":"cursor","plopfile.js":"plop","plopfile.cjs":"plop","plopfile.mjs":"plop","plopfile.ts":"plop","plopfile.cts":"plop","config.mockoon.json":"mockoon","mockoon.json":"mockoon","mockoon.yaml":"mockoon","mockoon.yml":"mockoon","mockoon.env":"mockoon","mockoon.env.json":"mockoon","mockoon.env.yaml":"mockoon","mockoon.env.yml":"mockoon","mockoon.env.js":"mockoon","mockoon.env.ts":"mockoon","mockoon.env.cjs":"mockoon","mockoon.env.mjs":"mockoon","mockoon.env.cts":"mockoon","mockoon.env.mts":"mockoon","copilot-instructions.md":"copilot",".copilot-instructions":"copilot",".instructions":"instructions","instructions.md":"instructions","instructions.txt":"instructions","instructions":"instructions","instructions.json":"instructions","instructions.yaml":"instructions","instructions.yml":"instructions",".keep":"keep",".keepignore":"keep","CLAUDE.md":"claude","claude.md":"claude","claude.txt":"claude","claude":"claude","claude.json":"claude","claude.yaml":"claude",".claude_code_config":"claude",".claude":"claude","claude.config.js":"claude",".claude.yaml":"claude",".clauderc":"claude","claude-instructions.md":"claude",".claude-code":"claude","claude-code.config":"claude"},"languageIds":{"actionscript":"actionscript","ada":"ada","advpl":"advpl","affectscript":"affectscript","al":"al","ansible":"ansible","antlr":"antlr","anyscript":"anyscript","apacheconf":"apache","apex":"apex","apiblueprint":"apib","apl":"apl","applescript":"applescript","asciidoc":"asciidoc","asp":"asp","asp (html)":"asp","arm":"assembly","asm":"assembly","ats":"ats","ahk":"autohotkey","autoit":"autoit","avro":"avro","azcli":"azure","azure-pipelines":"azurepipelines","ballerina":"ballerina","bat":"bat","bats":"bats","bazel":"bazel","befunge":"befunge","befunge98":"befunge","biml":"biml","blade":"blade","laravel-blade":"blade","bolt":"bolt","bosque":"bosque","c":"c","c-al":"c_al","cabal":"cabal","caddyfile":"caddy","cddl":"cddl","ceylon":"ceylon","cfml":"cf","lang-cfml":"cf","cfc":"cfc","cfmhtml":"cfm","cookbook":"chef_cookbook","clojure":"clojure","clojurescript":"clojurescript","manifest-yaml":"cloudfoundry","cmake":"cmake","cmake-cache":"cmake","cobol":"cobol","coffeescript":"coffeescript","properties":"properties","dotenv":"config","confluence":"confluence","cpp":"cpp","crystal":"crystal","csharp":"csharp","css":"css","feature":"cucumber","cuda":"cuda","cython":"cython","dal":"dal","dart":"dartlang","pascal":"pascal","objectpascal":"pascal","diff":"diff","django-html":"django","django-txt":"django","d":"dlang","dscript":"dlang","dml":"dlang","diet":"dlang","dockerfile":"docker","ignore":"docker","dotjs":"dotjs","doxygen":"doxygen","drools":"drools","dustjs":"dustjs","dylan":"dylan","dylan-lid":"dylan","edge":"edge","eex":"eex","html-eex":"eex","es":"elastic","elixir":"elixir","elm":"elm","erb":"erb","erlang":"erlang","falcon":"falcon","fortran":"fortran","fortran-modern":"fortran","FortranFreeForm":"fortran","fortran_fixed-form":"fortran","ftl":"freemarker","fsharp":"fsharp","fthtml":"fthtml","galen":"galen","gml-gms":"gamemaker","gml-gms2":"gamemaker2","gml-gm81":"gamemaker81","gcode":"gcode","genstat":"genstat","git-commit":"git","git-rebase":"git","glsl":"glsl","glyphs":"glyphs","gnuplot":"gnuplot","go":"go","golang":"go","go-sum":"go","go-mod":"go","go-xml":"go","gdscript":"godot","graphql":"graphql","dot":"graphviz","groovy":"groovy","haml":"haml","handlebars":"handlebars","harbour":"harbour","haskell":"haskell","literate haskell":"haskell","haxe":"haxe","hxml":"haxe","Haxe AST dump":"haxe","helm":"helm","hjson":"hjson","hlsl":"opengl","home-assistant":"homeassistant","hosts":"host","html":"html","http":"http","hunspell.aff":"hunspell","hunspell.dic":"hunspell","hy":"hy","icl":"icl","imba":"imba","4GL":"informix","ini":"conf","ink":"ink","innosetup":"innosetup","io":"io","iodine":"iodine","janet":"janet","java":"java","raku":"raku","jekyll":"jekyll","jenkins":"jenkins","declarative":"jenkins","jenkinsfile":"jenkins","jinja":"jinja","code-referencing":"vscode","search-result":"vscode","type":"vscode","javascript":"js","json":"json","jsonl":"json","json-tmlanguage":"json","jsonc":"json","json5":"json5","jsonnet":"jsonnet","julia":"julia","juliamarkdown":"julia","kivy":"kivy","kos":"kos","kotlin":"kotlin","kusto":"kusto","latino":"latino","less":"less","lex":"lex","lisp":"lisp","lolcode":"lolcode","code-text-binary":"binary","lsl":"lsl","lua":"lua","makefile":"makefile","markdown":"markdown","marko":"marko","matlab":"matlab","maxscript":"maxscript","mel":"maya","mediawiki":"mediawiki","meson":"meson","mjml":"mjml","mlang":"mlang","powerquerymlanguage":"mlang","mojolicious":"mojolicious","mongo":"mongo","mson":"mson","nearley":"nearly","nim":"nim","nimble":"nimble","nix":"nix","nsis":"nsi","nfl":"nsi","nsl":"nsi","bridlensis":"nsi","nunjucks":"nunjucks","objective-c":"c","objective-cpp":"cpp","ocaml":"ocaml","ocamllex":"ocaml","menhir":"ocaml","openhab":"openHAB","pddl":"pddl","happenings":"pddl_happenings","plan":"pddl_plan","phoenix-heex":"eex","perl":"perl","perl6":"perl6","pgsql":"pgsql","php":"php","pine":"pine","pinescript":"pine","pip-requirements":"python","platformio-debug.disassembly":"platformio","platformio-debug.memoryview":"platformio","platformio-debug.asm":"platformio","plsql":"plsql","oracle":"plsql","polymer":"polymer","pony":"pony","postcss":"postcss","powershell":"powershell","prisma":"prisma","pde":"processinglang","abl":"progress","prolog":"prolog","prometheus":"prometheus","proto3":"protobuf","proto":"protobuf","jade":"pug","pug":"pug","puppet":"puppet","purescript":"purescript","pyret":"pyret","python":"python","qlik":"qlikview","qml":"qml","qsharp":"qsharp","r":"r","racket":"racket","raml":"raml","razor":"razor","aspnetcorerazor":"razor","javascriptreact":"reactjs","typescriptreact":"reactts","reason":"reason","red":"red","restructuredtext":"restructuredtext","rexx":"rexx","riot":"riot","rmd":"rmd","mdx":"markdownx","robot":"robotframework","ruby":"ruby","rust":"rust","san":"san","SAS":"sas","sbt":"sbt","scala":"scala","scilab":"scilab","vbscript":"script","scss":"scss","sdl":"sdlang","shaderlab":"shaderlab","shellscript":"shell","silverstripe":"silverstripe","eskip":"skipper","slang":"slang","slice":"slice","slim":"slim","smarty":"smarty","snort":"snort","solidity":"solidity","snippets":"vscode","sqf":"sqf","sql":"sql","squirrel":"squirrel","stan":"stan","stata":"stata","stencil":"stencil","stencil-html":"stencil","stylable":"stylable","source.css.styled":"styled","stylus":"stylus","svelte":"svelte","Swagger":"swagger","swagger":"swagger","swift":"swift","swig":"swig","cuda-cpp":"nvidia","systemd-unit-file":"systemd","systemverilog":"systemverilog","t4":"t4tt","tera":"tera","terraform":"terraform","tex":"latex","log":"log","dockercompose":"docker","latex":"latex","vue-directives":"vue","vue-injection-markdown":"vue","vue-interpolations":"vue","vue-sfc-style-variable-injection":"vue","bibtex":"latex","doctex":"tex","plaintext":"text","textile":"textile","toml":"toml","tt":"tt","ttcn":"ttcn","twig":"twig","typescript":"typescript","typoscript":"typo3","vb":"vb","vba":"vba","velocity":"velocity","verilog":"verilog","vhdl":"vhdl","viml":"vim","v":"vlang","volt":"volt","vue":"vue","wasm":"wasm","wat":"wasm","wenyan":"wenyan","wolfram":"wolfram","wurstlang":"wurst","wurst":"wurst","xmake":"xmake","xml":"xml","xquery":"xquery","xsl":"xml","yacc":"yacc","yaml":"yaml","yaml-tmlanguage":"yaml","yang":"yang","zig":"zig","vitest-snapshot":"vitest","instructions":"instructions","prompt":"prompt"}}} \ No newline at end of file diff --git a/packages/assets/util/index.ts b/packages/assets/util/index.ts index 399d80a56..12592cf23 100644 --- a/packages/assets/util/index.ts +++ b/packages/assets/util/index.ts @@ -1,5 +1,8 @@ import * as icons from '../icons'; import { LayeredIcons } from '../svgs/ext'; +import beardedIconsMapping from '../svgs/ext/icons.json'; + +export { beardedIconUrls } from '../svgs/ext/Extras/urls'; // Define a type for icon names. This filters out any names with underscores in them. // The use of 'never' is to make sure that icon types with underscores are not included. @@ -72,3 +75,31 @@ export const getLayeredIcon = (kind: string, extension?: string | null) => { ]; return extension ? iconKind?.[extension] || LayeredIcons['Extras']?.[extension] : null; }; + +/** + * Gets a bearded icon (file extension badge) name for the given extension. + * Returns the icon name that can be used to construct the SVG path. + * + * @param extension - The file extension (without the dot) + * @param fileName - Optional full filename for specific file name mappings + */ +export const getBeardedIcon = (extension?: string | null, fileName?: string | null): string | null => { + if (!extension && !fileName) return null; + + const mapping = beardedIconsMapping as { + fileExtensions: Record; + fileNames: Record; + }; + + // Try filename match first (e.g., "package.json" -> "npm") + if (fileName && mapping.fileNames[fileName.toLowerCase()]) { + return mapping.fileNames[fileName.toLowerCase()]; + } + // Then try extension match (e.g., "ts" -> "typescript") + else if (extension) { + const ext = extension.toLowerCase().replace(/^\./, ''); // Remove leading dot if present + return mapping.fileExtensions[ext] || null; + } + + return null; +}; diff --git a/packages/assets/videos/index.ts b/packages/assets/videos/index.ts index 63e0a7785..10bf7fa31 100644 --- a/packages/assets/videos/index.ts +++ b/packages/assets/videos/index.ts @@ -3,8 +3,8 @@ * To regenerate this file, run: pnpm assets gen */ -import Fda from './Fda.mp4'; -import SdIntro from './SdIntro.mp4'; -import SdMobIntro from './SdMobIntro.mp4'; +import Fda from "./Fda.mp4"; +import SdIntro from "./SdIntro.mp4"; +import SdMobIntro from "./SdMobIntro.mp4"; export { Fda, SdIntro, SdMobIntro }; diff --git a/packages/interface/src/Explorer.tsx b/packages/interface/src/Explorer.tsx index 54082b1c8..1e0b9d61d 100644 --- a/packages/interface/src/Explorer.tsx +++ b/packages/interface/src/Explorer.tsx @@ -162,6 +162,7 @@ export function ExplorerLayout() { setTagModeActive, viewMode, setSpaceItemId, + currentPath, } = useExplorer(); // Sync route with explorer context for view preferences @@ -187,15 +188,35 @@ export function ExplorerLayout() { resourceType: "location", }); - // Get current location if we're on a location route + // Get current location if we're on a location route or browsing within a location const currentLocation = useMemo(() => { - if (!params.locationId || !locationsQuery.data?.locations) return null; - return ( - locationsQuery.data.locations.find( - (loc) => loc.id === params.locationId, - ) || null - ); - }, [params.locationId, locationsQuery.data]); + const locations = locationsQuery.data?.locations || []; + + // First try to match by route param (for /location/:id routes) + if (params.locationId) { + const loc = locations.find((loc) => loc.id === params.locationId); + if (loc) return loc; + } + + // If no route match, try to find location by matching current path + if (currentPath && "Physical" in currentPath) { + const pathStr = currentPath.Physical.path; + // Find location with longest matching prefix + return locations + .filter((loc) => { + if (!loc.sd_path || !("Physical" in loc.sd_path)) return false; + const locPath = loc.sd_path.Physical.path; + return pathStr.startsWith(locPath); + }) + .sort((a, b) => { + const aPath = "Physical" in a.sd_path! ? a.sd_path!.Physical.path : ""; + const bPath = "Physical" in b.sd_path! ? b.sd_path!.Physical.path : ""; + return bPath.length - aPath.length; + })[0] || null; + } + + return null; + }, [params.locationId, locationsQuery.data, currentPath]); useEffect(() => { // Listen for inspector window close events diff --git a/packages/interface/src/components/Explorer/File/Thumb.tsx b/packages/interface/src/components/Explorer/File/Thumb.tsx index 0f0c816c8..ba8a03475 100644 --- a/packages/interface/src/components/Explorer/File/Thumb.tsx +++ b/packages/interface/src/components/Explorer/File/Thumb.tsx @@ -1,6 +1,6 @@ import { useState, memo, useEffect } from "react"; import clsx from "clsx"; -import { getIcon } from "@sd/assets/util"; +import { getIcon, getBeardedIcon, beardedIconUrls } from "@sd/assets/util"; import type { File } from "@sd/ts-client"; import { ThumbstripScrubber } from "./ThumbstripScrubber"; import { getContentKind } from "../utils"; @@ -128,6 +128,26 @@ export const Thumb = memo(function Thumb({ file.kind === "Directory", ); + // Check if using generic Document icon (not a Spacedrive variant like Document_pdf) + const genericDocumentIcon = getIcon("Document", true, null, false); + const isUsingGenericIcon = icon === genericDocumentIcon; + + // Get bearded icon for extension overlay + const beardedIconName = getBeardedIcon(file.extension, file.name); + const beardedIconUrl = beardedIconName ? beardedIconUrls[beardedIconName] : null; + + // Below 60px, show only bearded icon at full size; above, show as overlay at 40% + const smallIconThreshold = 60; + const isSmallIcon = size < smallIconThreshold; + const badgeSize = isSmallIcon ? iconSize : iconSize * 0.4; + + // Only show bearded badge if using generic Document icon (not Spacedrive variants) + const showBeardedBadge = + beardedIconUrl && + file.kind === "File" && + isUsingGenericIcon && + (contentKind === "code" || contentKind === "document" || contentKind === "config"); + return (
{/* Always show icon first (instant), then thumbnail loads over it */} - + {/* Hide document icon if small and showing bearded badge */} + {!(isSmallIcon && showBeardedBadge) && ( + + )} {/* Load thumbnail if available */} {thumbnailSrc && !thumbError && ( @@ -177,6 +200,19 @@ export const Thumb = memo(function Thumb({ /> )} + {/* Bearded icon badge overlay (centered, slightly toward bottom) */} + {showBeardedBadge && beardedIconUrl && ( + + )} + {/* Thumbstrip scrubber overlay (for videos with thumbstrips) */} {isVideo && hasThumbstrip && thumbLoaded && ( (null); const [tab, setTab] = useState("preset"); + const [showWarning, setShowWarning] = useState(false); + const [validationResult, setValidationResult] = useState<{ + riskLevel: RiskLevel; + warnings: PathValidationWarning[]; + suggestion: VolumeIndexingSuggestion | null; + } | null>(null); + const client = useSpacedriveClient(); const addLocation = useLibraryMutation("locations.add"); const addCloudVolume = useLibraryMutation("volumes.add_cloud"); const trackVolume = useLibraryMutation("volumes.track"); + const indexVolume = useLibraryMutation("volumes.index"); const { data: suggestedLocations } = useLibraryQuery({ type: "locations.suggested", input: null, @@ -524,6 +537,36 @@ function AddStorageDialog(props: { }; const onSubmitLocal = localForm.handleSubmit(async (data) => { + // Validate path first + const validateInput: ValidateLocationPathInput = { + path: { + Physical: { + device_slug: "local", + path: data.path, + }, + }, + }; + + let validation; + try { + validation = await client.query("locations.validate_path", validateInput); + } catch (error) { + console.error("Failed to validate path:", error); + // Continue anyway if validation fails + } + + // Show warning dialog if path is risky + if (validation && (validation.risk_level === "medium" || validation.risk_level === "high")) { + setValidationResult({ + riskLevel: validation.risk_level, + warnings: validation.warnings, + suggestion: validation.suggested_alternative || null, + }); + setShowWarning(true); + return; // Wait for user decision + } + + // Path is safe or user bypassed warning - proceed with adding location const job_policies: any = {}; selectedJobs.forEach((jobId) => { job_policies[jobId] = { enabled: true }; @@ -685,6 +728,78 @@ function AddStorageDialog(props: { } }); + // Handle warning dialog actions + const handleProceedAnyway = async () => { + setShowWarning(false); + const data = localForm.getValues(); + + const job_policies: any = {}; + selectedJobs.forEach((jobId) => { + job_policies[jobId] = { enabled: true }; + }); + + const input: LocationAddInput = { + path: { + Physical: { + device_slug: "local", + path: data.path, + }, + }, + name: data.name || null, + mode: data.mode, + job_policies, + }; + + try { + const result = await addLocation.mutateAsync(input); + dialog.state.open = false; + + if (result?.id && props.onStorageAdded) { + props.onStorageAdded(result.id); + } + } catch (error) { + console.error("Failed to add location:", error); + localForm.setError("root", { + type: "manual", + message: + error instanceof Error + ? error.message + : "Failed to add location", + }); + } + }; + + const handleUseVolumeIndexing = async () => { + if (!validationResult?.suggestion) return; + + setShowWarning(false); + + try { + const result = await indexVolume.mutateAsync({ + fingerprint: validationResult.suggestion.volume_fingerprint, + scope: "Recursive", + }); + + dialog.state.open = false; + + console.log("Volume indexed:", result.message); + } catch (error) { + console.error("Failed to index volume:", error); + localForm.setError("root", { + type: "manual", + message: + error instanceof Error + ? error.message + : "Failed to index volume", + }); + } + }; + + const handleCancelWarning = () => { + setShowWarning(false); + setValidationResult(null); + }; + // Render category selection if (step === "category") { return ( @@ -1329,5 +1444,68 @@ function AddStorageDialog(props: { ); } + // Render warning dialog for risky paths + if (showWarning && validationResult) { + return ( + + + + + + {validationResult.riskLevel === "high" + ? "⚠️ High Risk Path Detected" + : "⚠️ Warning"} + + +
+ {validationResult.warnings.map((warning, i) => ( +
+

{warning.message}

+ {warning.suggestion && ( +

+ 💡 {warning.suggestion} +

+ )} +
+ ))} + + {validationResult.suggestion && ( +
+

+ Alternative Suggestion +

+

+ {validationResult.suggestion.message} +

+ +
+ )} +
+ +
+ + +
+
+
+
+ ); + } + return null; } diff --git a/packages/interface/src/components/Explorer/components/PathBar.tsx b/packages/interface/src/components/Explorer/components/PathBar.tsx index 1b6ddf581..10b4d2791 100644 --- a/packages/interface/src/components/Explorer/components/PathBar.tsx +++ b/packages/interface/src/components/Explorer/components/PathBar.tsx @@ -18,6 +18,7 @@ import { } from "@sd/ui"; import { useSelection } from "../SelectionContext"; import { useAddStorageDialog } from "./AddStorageModal"; +import { useExplorer } from "../context"; interface PathBarProps { path: SdPath; @@ -110,6 +111,7 @@ function IndexIndicator({ path }: { path: SdPath }) { const popover = usePopover(); const enableIndexing = useLibraryMutation("locations.enable_indexing"); const { clearSelection } = useSelection(); + const { setInspectorVisible } = useExplorer(); // Fetch all locations const { data: locationsData } = useNormalizedQuery({ @@ -200,6 +202,7 @@ function IndexIndicator({ path }: { path: SdPath }) {
); diff --git a/packages/interface/src/components/QuickPreview/VideoPlayer.tsx b/packages/interface/src/components/QuickPreview/VideoPlayer.tsx index c0ab86506..2e81b0616 100644 --- a/packages/interface/src/components/QuickPreview/VideoPlayer.tsx +++ b/packages/interface/src/components/QuickPreview/VideoPlayer.tsx @@ -1,5 +1,5 @@ import { useState, useRef, useEffect } from 'react'; -import { Play, Pause, SpeakerHigh, SpeakerSlash, ArrowsOut, ClosedCaptioning, MagnifyingGlassPlus, MagnifyingGlassMinus, ArrowCounterClockwise, Gear } from '@phosphor-icons/react'; +import { Play, Pause, SpeakerHigh, SpeakerSlash, ArrowsOut, ClosedCaptioning, MagnifyingGlassPlus, MagnifyingGlassMinus, ArrowCounterClockwise, Gear, Repeat } from '@phosphor-icons/react'; import { motion, AnimatePresence } from 'framer-motion'; import type { File } from '@sd/ts-client'; import { Subtitles, type SubtitleSettings } from './Subtitles'; @@ -33,6 +33,7 @@ export function VideoPlayer({ src, file, onZoomChange }: VideoPlayerProps) { const [duration, setDuration] = useState(0); const [volume, setVolume] = useState(1); const [muted, setMuted] = useState(false); + const [loop, setLoop] = useState(false); const [showControls, setShowControls] = useState(true); const [seeking, setSeeking] = useState(false); const [subtitlesEnabled, setSubtitlesEnabled] = useState(true); @@ -105,6 +106,10 @@ export function VideoPlayer({ src, file, onZoomChange }: VideoPlayerProps) { e.preventDefault(); setSubtitlesEnabled((s) => !s); break; + case 'KeyL': + e.preventDefault(); + setLoop((l) => !l); + break; } }; @@ -123,6 +128,11 @@ export function VideoPlayer({ src, file, onZoomChange }: VideoPlayerProps) { videoRef.current.muted = muted; }, [muted]); + useEffect(() => { + if (!videoRef.current) return; + videoRef.current.loop = loop; + }, [loop]); + const togglePlay = () => { if (!videoRef.current) return; if (playing) { @@ -272,6 +282,19 @@ export function VideoPlayer({ src, file, onZoomChange }: VideoPlayerProps) { {playing ? : } + {/* Loop */} + + {/* Time */}
{formatTime(currentTime)} / {formatTime(duration)} diff --git a/packages/interface/src/components/SpacesSidebar/SpaceItem.tsx b/packages/interface/src/components/SpacesSidebar/SpaceItem.tsx index 757030c7d..07f6fd805 100644 --- a/packages/interface/src/components/SpacesSidebar/SpaceItem.tsx +++ b/packages/interface/src/components/SpacesSidebar/SpaceItem.tsx @@ -11,6 +11,7 @@ import { FolderOpen, MagnifyingGlass, Trash, + Database, } from "@phosphor-icons/react"; import { Location } from "@sd/assets/icons"; import type { @@ -150,6 +151,7 @@ export function SpaceItem({ const location = useLocation(); const platform = usePlatform(); const deleteItem = useLibraryMutation("spaces.delete_item"); + const indexVolume = useLibraryMutation("volumes.index"); // Sortable hook (for reordering) const sortableProps = useSortable({ @@ -252,6 +254,30 @@ export function SpaceItem({ }, condition: () => !!path, }, + { + icon: Database, + label: "Index Volume", + onClick: async () => { + if (typeof item.item_type === "object" && "Volume" in item.item_type) { + const volumeItem = item.item_type.Volume; + // Extract volume fingerprint from the item + // We'll need to get this from the volume data + const fingerprint = (item as any).fingerprint || volumeItem.volume_id; + + try { + const result = await indexVolume.mutateAsync({ + fingerprint: fingerprint.toString(), + scope: "Recursive", + }); + console.log("Volume indexed:", result.message); + } catch (err) { + console.error("Failed to index volume:", err); + } + } + }, + condition: () => typeof item.item_type === "object" && "Volume" in item.item_type, + }, + { type: "separator" }, { icon: MagnifyingGlass, label: "Show in Finder", diff --git a/packages/interface/src/routes/overview/StorageOverview.tsx b/packages/interface/src/routes/overview/StorageOverview.tsx index 2d1cbae64..1c6571b5d 100644 --- a/packages/interface/src/routes/overview/StorageOverview.tsx +++ b/packages/interface/src/routes/overview/StorageOverview.tsx @@ -1,5 +1,5 @@ import { motion } from "framer-motion"; -import { HardDrive, Plus } from "@phosphor-icons/react"; +import { HardDrive, Plus, Database } from "@phosphor-icons/react"; import DriveIcon from "@sd/assets/icons/Drive.png"; import HDDIcon from "@sd/assets/icons/HDD.png"; import ServerIcon from "@sd/assets/icons/Server.png"; @@ -7,7 +7,7 @@ import DatabaseIcon from "@sd/assets/icons/Database.png"; import DriveAmazonS3Icon from "@sd/assets/icons/Drive-AmazonS3.png"; import DriveGoogleDriveIcon from "@sd/assets/icons/Drive-GoogleDrive.png"; import DriveDropboxIcon from "@sd/assets/icons/Drive-Dropbox.png"; -import { useNormalizedQuery, useLibraryMutation, getDeviceIcon } from "../../context"; +import { useNormalizedQuery, useLibraryMutation, getDeviceIcon, useCoreQuery } from "../../context"; import type { VolumeListOutput, VolumeListQueryInput, @@ -193,6 +193,13 @@ interface VolumeBarProps { function VolumeBar({ volume, index }: VolumeBarProps) { const trackVolume = useLibraryMutation("volumes.track"); + const indexVolume = useLibraryMutation("volumes.index"); + + // Get current device to check if this volume is local + const { data: currentDevice } = useCoreQuery({ + type: "devices.current", + input: null, + }); const handleTrack = async () => { try { @@ -204,6 +211,18 @@ function VolumeBar({ volume, index }: VolumeBarProps) { } }; + const handleIndex = async () => { + try { + const result = await indexVolume.mutateAsync({ + fingerprint: volume.fingerprint, + scope: "Recursive", + }); + console.log("Volume indexed:", result.message); + } catch (error) { + console.error("Failed to index volume:", error); + } + }; + if (!volume.total_capacity) { return null; } @@ -251,17 +270,30 @@ function VolumeBar({ volume, index }: VolumeBarProps) { Offline )} - {!volume.is_tracked && ( - - )} +
+ {!volume.is_tracked && ( + + )} + {currentDevice && volume.device_id === currentDevice.id && ( + + )} +
@@ -344,7 +376,7 @@ function VolumeBar({ volume, index }: VolumeBarProps) {
{/* Bottom badges */} -
+
{fileSystem} @@ -359,6 +391,16 @@ function VolumeBar({ volume, index }: VolumeBarProps) { {volume.volume_type} + {volume.total_file_count != null && ( + + {volume.total_file_count.toLocaleString()} files + + )} + {volume.total_directory_count != null && ( + + {volume.total_directory_count.toLocaleString()} dirs + + )}
diff --git a/packages/ts-client/src/generated/types.ts b/packages/ts-client/src/generated/types.ts index a67fbd6f9..d9414cf46 100644 --- a/packages/ts-client/src/generated/types.ts +++ b/packages/ts-client/src/generated/types.ts @@ -1264,6 +1264,44 @@ path: string; */ duration_secs: number }; +/** + * Input for volume indexing action + */ +export type IndexVolumeInput = { +/** + * Volume fingerprint to index + */ +fingerprint: string; +/** + * Indexing scope (defaults to Recursive for full volume) + */ +scope?: IndexScope }; + +/** + * Output from volume indexing action + */ +export type IndexVolumeOutput = { +/** + * UUID of the indexed volume + */ +volume_id: string; +/** + * Job ID for tracking progress + */ +job_id: string; +/** + * Total files found (if job completed) + */ +total_files: number | null; +/** + * Total directories found (if job completed) + */ +total_directories: number | null; +/** + * Success message + */ +message: string }; + /** * Information about an indexed path */ @@ -2588,6 +2626,23 @@ alternate_ids: string[]; */ affected_paths?: SdPath[] }; +/** + * Risk level for adding a path as a location + */ +export type RiskLevel = +/** + * Safe - nested path in user directories + */ +"low" | +/** + * Caution - shallow path on primary volume (e.g., /Users/jamie) + */ +"medium" | +/** + * Warning - system directory or root-level path (e.g., /, /System) + */ +"high"; + /** * Detailed breakdown of how the score was calculated */ @@ -3355,6 +3410,45 @@ export type UpdateGroupInput = { group_id: string; name: string | null; is_colla export type UpdateGroupOutput = { group: SpaceGroup }; +/** + * Input for location path validation + */ +export type ValidateLocationPathInput = { path: SdPath }; + +/** + * Output from location path validation + */ +export type ValidateLocationPathOutput = { +/** + * Whether this path is recommended for use as a location + */ +is_recommended: boolean; +/** + * Risk level assessment + */ +risk_level: RiskLevel; +/** + * List of warnings (empty if no issues) + */ +warnings: ValidationWarning[]; +/** + * Alternative suggestion to use volume indexing + */ +suggested_alternative: VolumeIndexingSuggestion | null; +/** + * Path depth from root (number of components) + */ +path_depth: number; +/** + * Whether path is on the primary system volume + */ +is_on_primary_volume: boolean }; + +/** + * A validation warning message + */ +export type ValidationWarning = { message: string; suggestion: string | null }; + /** * Video metadata extracted from FFmpeg */ @@ -3506,6 +3600,11 @@ export type VolumeFilter = */ export type VolumeFingerprint = string; +/** + * Suggestion to use volume indexing instead + */ +export type VolumeIndexingSuggestion = { volume_fingerprint: string; volume_name: string; message: string }; + /** * Summary information about a volume (for updates and caching) */ @@ -3691,199 +3790,203 @@ success: boolean }; // ===== API Type Unions ===== export type CoreAction = - { type: 'network.pair.generate'; input: PairGenerateInput; output: PairGenerateOutput } - | { type: 'network.sync_setup'; input: LibrarySyncSetupInput; output: LibrarySyncSetupOutput } - | { type: 'network.device.revoke'; input: DeviceRevokeInput; output: DeviceRevokeOutput } + { type: 'network.stop'; input: NetworkStopInput; output: NetworkStopOutput } + | { type: 'libraries.open'; input: LibraryOpenInput; output: LibraryOpenOutput } + | { type: 'network.pair.generate'; input: PairGenerateInput; output: PairGenerateOutput } | { type: 'models.whisper.delete'; input: DeleteWhisperModelInput; output: DeleteWhisperModelOutput } | { type: 'models.whisper.download'; input: DownloadWhisperModelInput; output: DownloadWhisperModelOutput } - | { type: 'network.stop'; input: NetworkStopInput; output: NetworkStopOutput } - | { type: 'libraries.open'; input: LibraryOpenInput; output: LibraryOpenOutput } - | { type: 'network.spacedrop.send'; input: SpacedropSendInput; output: SpacedropSendOutput } | { type: 'network.pair.cancel'; input: PairCancelInput; output: PairCancelOutput } - | { type: 'libraries.delete'; input: LibraryDeleteInput; output: LibraryDeleteOutput } | { type: 'network.start'; input: NetworkStartInput; output: NetworkStartOutput } - | { type: 'libraries.create'; input: LibraryCreateInput; output: LibraryCreateOutput } + | { type: 'network.spacedrop.send'; input: SpacedropSendInput; output: SpacedropSendOutput } + | { type: 'network.sync_setup'; input: LibrarySyncSetupInput; output: LibrarySyncSetupOutput } | { type: 'network.pair.join'; input: PairJoinInput; output: PairJoinOutput } + | { type: 'network.device.revoke'; input: DeviceRevokeInput; output: DeviceRevokeOutput } + | { type: 'libraries.delete'; input: LibraryDeleteInput; output: LibraryDeleteOutput } + | { type: 'libraries.create'; input: LibraryCreateInput; output: LibraryCreateOutput } ; export type LibraryAction = - { type: 'locations.export'; input: LocationExportInput; output: LocationExportOutput } - | { type: 'tags.apply'; input: ApplyTagsInput; output: ApplyTagsOutput } + { type: 'media.thumbnail.regenerate'; input: RegenerateThumbnailInput; output: RegenerateThumbnailOutput } + | { type: 'media.thumbnail'; input: ThumbnailInput; output: JobReceipt } + | { type: 'spaces.add_item'; input: AddItemInput; output: AddItemOutput } + | { type: 'spaces.delete_group'; input: DeleteGroupInput; output: DeleteGroupOutput } + | { type: 'spaces.delete'; input: SpaceDeleteInput; output: SpaceDeleteOutput } | { type: 'indexing.verify'; input: IndexVerifyInput; output: IndexVerifyOutput } - | { type: 'media.ocr.extract'; input: ExtractTextInput; output: ExtractTextOutput } + | { type: 'locations.update'; input: LocationUpdateInput; output: LocationUpdateOutput } + | { type: 'locations.triggerJob'; input: LocationTriggerJobInput; output: LocationTriggerJobOutput } + | { type: 'volumes.track'; input: VolumeTrackInput; output: VolumeTrackOutput } + | { type: 'jobs.resume'; input: JobResumeInput; output: JobResumeOutput } | { type: 'volumes.add_cloud'; input: VolumeAddCloudInput; output: VolumeAddCloudOutput } + | { type: 'libraries.rename'; input: LibraryRenameInput; output: LibraryRenameOutput } + | { type: 'tags.apply'; input: ApplyTagsInput; output: ApplyTagsOutput } + | { type: 'volumes.speed_test'; input: VolumeSpeedTestInput; output: VolumeSpeedTestOutput } + | { type: 'tags.create'; input: CreateTagInput; output: CreateTagOutput } | { type: 'jobs.pause'; input: JobPauseInput; output: JobPauseOutput } | { type: 'media.proxy.generate'; input: GenerateProxyInput; output: GenerateProxyOutput } - | { type: 'libraries.rename'; input: LibraryRenameInput; output: LibraryRenameOutput } - | { type: 'spaces.update'; input: SpaceUpdateInput; output: SpaceUpdateOutput } - | { type: 'tags.create'; input: CreateTagInput; output: CreateTagOutput } + | { type: 'locations.rescan'; input: LocationRescanInput; output: LocationRescanOutput } + | { type: 'spaces.add_group'; input: AddGroupInput; output: AddGroupOutput } + | { type: 'locations.export'; input: LocationExportInput; output: LocationExportOutput } + | { type: 'media.ocr.extract'; input: ExtractTextInput; output: ExtractTextOutput } + | { type: 'locations.add'; input: LocationAddInput; output: LocationAddOutput } + | { type: 'jobs.cancel'; input: JobCancelInput; output: JobCancelOutput } + | { type: 'indexing.start'; input: IndexInput; output: JobReceipt } + | { type: 'locations.remove'; input: LocationRemoveInput; output: LocationRemoveOutput } + | { type: 'spaces.create'; input: SpaceCreateInput; output: SpaceCreateOutput } | { type: 'spaces.delete_item'; input: DeleteItemInput; output: DeleteItemOutput } - | { type: 'volumes.remove_cloud'; input: VolumeRemoveCloudInput; output: VolumeRemoveCloudOutput } - | { type: 'locations.triggerJob'; input: LocationTriggerJobInput; output: LocationTriggerJobOutput } - | { type: 'locations.enable_indexing'; input: EnableIndexingInput; output: EnableIndexingOutput } + | { type: 'libraries.export'; input: LibraryExportInput; output: LibraryExportOutput } + | { type: 'media.thumbstrip.generate'; input: GenerateThumbstripInput; output: GenerateThumbstripOutput } | { type: 'spaces.reorder_items'; input: ReorderItemsInput; output: ReorderOutput } | { type: 'spaces.reorder_groups'; input: ReorderGroupsInput; output: ReorderOutput } - | { type: 'spaces.add_item'; input: AddItemInput; output: AddItemOutput } - | { type: 'volumes.track'; input: VolumeTrackInput; output: VolumeTrackOutput } - | { type: 'libraries.export'; input: LibraryExportInput; output: LibraryExportOutput } - | { type: 'locations.remove'; input: LocationRemoveInput; output: LocationRemoveOutput } - | { type: 'jobs.resume'; input: JobResumeInput; output: JobResumeOutput } - | { type: 'jobs.cancel'; input: JobCancelInput; output: JobCancelOutput } - | { type: 'media.speech.transcribe'; input: TranscribeAudioInput; output: TranscribeAudioOutput } - | { type: 'spaces.update_group'; input: UpdateGroupInput; output: UpdateGroupOutput } - | { type: 'spaces.add_group'; input: AddGroupInput; output: AddGroupOutput } - | { type: 'files.copy'; input: FileCopyInput; output: JobReceipt } - | { type: 'volumes.refresh'; input: VolumeRefreshInput; output: VolumeRefreshOutput } - | { type: 'locations.import'; input: LocationImportInput; output: LocationImportOutput } + | { type: 'volumes.remove_cloud'; input: VolumeRemoveCloudInput; output: VolumeRemoveCloudOutput } | { type: 'files.delete'; input: FileDeleteInput; output: JobReceipt } - | { type: 'spaces.create'; input: SpaceCreateInput; output: SpaceCreateOutput } - | { type: 'spaces.delete_group'; input: DeleteGroupInput; output: DeleteGroupOutput } - | { type: 'media.thumbnail.regenerate'; input: RegenerateThumbnailInput; output: RegenerateThumbnailOutput } - | { type: 'media.thumbnail'; input: ThumbnailInput; output: JobReceipt } - | { type: 'spaces.delete'; input: SpaceDeleteInput; output: SpaceDeleteOutput } + | { type: 'locations.enable_indexing'; input: EnableIndexingInput; output: EnableIndexingOutput } + | { type: 'locations.import'; input: LocationImportInput; output: LocationImportOutput } + | { type: 'media.speech.transcribe'; input: TranscribeAudioInput; output: TranscribeAudioOutput } | { type: 'volumes.untrack'; input: VolumeUntrackInput; output: VolumeUntrackOutput } - | { type: 'volumes.speed_test'; input: VolumeSpeedTestInput; output: VolumeSpeedTestOutput } - | { type: 'locations.rescan'; input: LocationRescanInput; output: LocationRescanOutput } - | { type: 'locations.add'; input: LocationAddInput; output: LocationAddOutput } - | { type: 'indexing.start'; input: IndexInput; output: JobReceipt } - | { type: 'media.thumbstrip.generate'; input: GenerateThumbstripInput; output: GenerateThumbstripOutput } - | { type: 'locations.update'; input: LocationUpdateInput; output: LocationUpdateOutput } + | { type: 'volumes.refresh'; input: VolumeRefreshInput; output: VolumeRefreshOutput } + | { type: 'volumes.index'; input: IndexVolumeInput; output: IndexVolumeOutput } + | { type: 'spaces.update_group'; input: UpdateGroupInput; output: UpdateGroupOutput } + | { type: 'spaces.update'; input: SpaceUpdateInput; output: SpaceUpdateOutput } + | { type: 'files.copy'; input: FileCopyInput; output: JobReceipt } ; export type CoreQuery = { type: 'core.ephemeral_status'; input: EphemeralCacheStatusInput; output: EphemeralCacheStatus } - | { type: 'core.events.list'; input: ListEventsInput; output: ListEventsOutput } - | { type: 'network.status'; input: NetworkStatusQueryInput; output: NetworkStatus } - | { type: 'libraries.list'; input: ListLibrariesInput; output: [LibraryInfo] } - | { type: 'network.devices.list'; input: ListPairedDevicesInput; output: ListPairedDevicesOutput } - | { type: 'models.whisper.list'; input: ListWhisperModelsInput; output: ListWhisperModelsOutput } | { type: 'network.sync_setup.discover'; input: DiscoverRemoteLibrariesInput; output: DiscoverRemoteLibrariesOutput } - | { type: 'core.status'; input: Empty; output: CoreStatus } + | { type: 'models.whisper.list'; input: ListWhisperModelsInput; output: ListWhisperModelsOutput } + | { type: 'core.events.list'; input: ListEventsInput; output: ListEventsOutput } | { type: 'network.pair.status'; input: PairStatusQueryInput; output: PairStatusOutput } + | { type: 'network.status'; input: NetworkStatusQueryInput; output: NetworkStatus } + | { type: 'network.devices.list'; input: ListPairedDevicesInput; output: ListPairedDevicesOutput } + | { type: 'core.status'; input: Empty; output: CoreStatus } + | { type: 'libraries.list'; input: ListLibrariesInput; output: [LibraryInfo] } ; export type LibraryQuery = - { type: 'test.ping'; input: PingInput; output: PingOutput } - | { type: 'files.unique_to_location'; input: UniqueToLocationInput; output: UniqueToLocationOutput } - | { type: 'jobs.active'; input: ActiveJobsInput; output: ActiveJobsOutput } - | { type: 'jobs.list'; input: JobListInput; output: JobListOutput } - | { type: 'spaces.get_layout'; input: SpaceLayoutQueryInput; output: SpaceLayout } - | { type: 'spaces.list'; input: SpacesListQueryInput; output: SpacesListOutput } - | { type: 'sync.activity'; input: GetSyncActivityInput; output: GetSyncActivityOutput } - | { type: 'jobs.info'; input: JobInfoQueryInput; output: JobInfoOutput } - | { type: 'files.directory_listing'; input: DirectoryListingInput; output: DirectoryListingOutput } - | { type: 'files.by_path'; input: FileByPathQuery; output: File } + { type: 'jobs.info'; input: JobInfoQueryInput; output: JobInfoOutput } | { type: 'files.media_listing'; input: MediaListingInput; output: MediaListingOutput } - | { type: 'locations.suggested'; input: SuggestedLocationsQueryInput; output: SuggestedLocationsOutput } | { type: 'spaces.get'; input: SpaceGetQueryInput; output: SpaceGetOutput } - | { type: 'sync.eventLog'; input: GetSyncEventLogInput; output: GetSyncEventLogOutput } - | { type: 'files.by_id'; input: FileByIdQuery; output: File } - | { type: 'sync.metrics'; input: GetSyncMetricsInput; output: GetSyncMetricsOutput } - | { type: 'volumes.list'; input: VolumeListQueryInput; output: VolumeListOutput } - | { type: 'search.files'; input: FileSearchInput; output: FileSearchOutput } - | { type: 'libraries.info'; input: LibraryInfoQueryInput; output: LibraryInfoOutput } - | { type: 'locations.list'; input: LocationsListQueryInput; output: LocationsListOutput } | { type: 'tags.search'; input: SearchTagsInput; output: SearchTagsOutput } + | { type: 'locations.validate_path'; input: ValidateLocationPathInput; output: ValidateLocationPathOutput } + | { type: 'files.by_id'; input: FileByIdQuery; output: File } + | { type: 'volumes.list'; input: VolumeListQueryInput; output: VolumeListOutput } + | { type: 'libraries.info'; input: LibraryInfoQueryInput; output: LibraryInfoOutput } + | { type: 'search.files'; input: FileSearchInput; output: FileSearchOutput } + | { type: 'locations.suggested'; input: SuggestedLocationsQueryInput; output: SuggestedLocationsOutput } + | { type: 'test.ping'; input: PingInput; output: PingOutput } | { type: 'devices.list'; input: ListLibraryDevicesInput; output: [LibraryDeviceInfo] } + | { type: 'jobs.list'; input: JobListInput; output: JobListOutput } + | { type: 'files.unique_to_location'; input: UniqueToLocationInput; output: UniqueToLocationOutput } + | { type: 'spaces.get_layout'; input: SpaceLayoutQueryInput; output: SpaceLayout } + | { type: 'sync.eventLog'; input: GetSyncEventLogInput; output: GetSyncEventLogOutput } + | { type: 'files.by_path'; input: FileByPathQuery; output: File } + | { type: 'files.directory_listing'; input: DirectoryListingInput; output: DirectoryListingOutput } + | { type: 'sync.metrics'; input: GetSyncMetricsInput; output: GetSyncMetricsOutput } + | { type: 'spaces.list'; input: SpacesListQueryInput; output: SpacesListOutput } + | { type: 'jobs.active'; input: ActiveJobsInput; output: ActiveJobsOutput } + | { type: 'sync.activity'; input: GetSyncActivityInput; output: GetSyncActivityOutput } + | { type: 'locations.list'; input: LocationsListQueryInput; output: LocationsListOutput } ; // ===== Wire Method Mappings ===== export const WIRE_METHODS = { coreActions: { - 'network.pair.generate': 'action:network.pair.generate.input', - 'network.sync_setup': 'action:network.sync_setup.input', - 'network.device.revoke': 'action:network.device.revoke.input', - 'models.whisper.delete': 'action:models.whisper.delete.input', - 'models.whisper.download': 'action:models.whisper.download.input', 'network.stop': 'action:network.stop.input', 'libraries.open': 'action:libraries.open.input', - 'network.spacedrop.send': 'action:network.spacedrop.send.input', + 'network.pair.generate': 'action:network.pair.generate.input', + 'models.whisper.delete': 'action:models.whisper.delete.input', + 'models.whisper.download': 'action:models.whisper.download.input', 'network.pair.cancel': 'action:network.pair.cancel.input', - 'libraries.delete': 'action:libraries.delete.input', 'network.start': 'action:network.start.input', - 'libraries.create': 'action:libraries.create.input', + 'network.spacedrop.send': 'action:network.spacedrop.send.input', + 'network.sync_setup': 'action:network.sync_setup.input', 'network.pair.join': 'action:network.pair.join.input', + 'network.device.revoke': 'action:network.device.revoke.input', + 'libraries.delete': 'action:libraries.delete.input', + 'libraries.create': 'action:libraries.create.input', }, libraryActions: { - 'locations.export': 'action:locations.export.input', - 'tags.apply': 'action:tags.apply.input', - 'indexing.verify': 'action:indexing.verify.input', - 'media.ocr.extract': 'action:media.ocr.extract.input', - 'volumes.add_cloud': 'action:volumes.add_cloud.input', - 'jobs.pause': 'action:jobs.pause.input', - 'media.proxy.generate': 'action:media.proxy.generate.input', - 'libraries.rename': 'action:libraries.rename.input', - 'spaces.update': 'action:spaces.update.input', - 'tags.create': 'action:tags.create.input', - 'spaces.delete_item': 'action:spaces.delete_item.input', - 'volumes.remove_cloud': 'action:volumes.remove_cloud.input', - 'locations.triggerJob': 'action:locations.triggerJob.input', - 'locations.enable_indexing': 'action:locations.enable_indexing.input', - 'spaces.reorder_items': 'action:spaces.reorder_items.input', - 'spaces.reorder_groups': 'action:spaces.reorder_groups.input', - 'spaces.add_item': 'action:spaces.add_item.input', - 'volumes.track': 'action:volumes.track.input', - 'libraries.export': 'action:libraries.export.input', - 'locations.remove': 'action:locations.remove.input', - 'jobs.resume': 'action:jobs.resume.input', - 'jobs.cancel': 'action:jobs.cancel.input', - 'media.speech.transcribe': 'action:media.speech.transcribe.input', - 'spaces.update_group': 'action:spaces.update_group.input', - 'spaces.add_group': 'action:spaces.add_group.input', - 'files.copy': 'action:files.copy.input', - 'volumes.refresh': 'action:volumes.refresh.input', - 'locations.import': 'action:locations.import.input', - 'files.delete': 'action:files.delete.input', - 'spaces.create': 'action:spaces.create.input', - 'spaces.delete_group': 'action:spaces.delete_group.input', 'media.thumbnail.regenerate': 'action:media.thumbnail.regenerate.input', 'media.thumbnail': 'action:media.thumbnail.input', + 'spaces.add_item': 'action:spaces.add_item.input', + 'spaces.delete_group': 'action:spaces.delete_group.input', 'spaces.delete': 'action:spaces.delete.input', - 'volumes.untrack': 'action:volumes.untrack.input', - 'volumes.speed_test': 'action:volumes.speed_test.input', - 'locations.rescan': 'action:locations.rescan.input', - 'locations.add': 'action:locations.add.input', - 'indexing.start': 'action:indexing.start.input', - 'media.thumbstrip.generate': 'action:media.thumbstrip.generate.input', + 'indexing.verify': 'action:indexing.verify.input', 'locations.update': 'action:locations.update.input', + 'locations.triggerJob': 'action:locations.triggerJob.input', + 'volumes.track': 'action:volumes.track.input', + 'jobs.resume': 'action:jobs.resume.input', + 'volumes.add_cloud': 'action:volumes.add_cloud.input', + 'libraries.rename': 'action:libraries.rename.input', + 'tags.apply': 'action:tags.apply.input', + 'volumes.speed_test': 'action:volumes.speed_test.input', + 'tags.create': 'action:tags.create.input', + 'jobs.pause': 'action:jobs.pause.input', + 'media.proxy.generate': 'action:media.proxy.generate.input', + 'locations.rescan': 'action:locations.rescan.input', + 'spaces.add_group': 'action:spaces.add_group.input', + 'locations.export': 'action:locations.export.input', + 'media.ocr.extract': 'action:media.ocr.extract.input', + 'locations.add': 'action:locations.add.input', + 'jobs.cancel': 'action:jobs.cancel.input', + 'indexing.start': 'action:indexing.start.input', + 'locations.remove': 'action:locations.remove.input', + 'spaces.create': 'action:spaces.create.input', + 'spaces.delete_item': 'action:spaces.delete_item.input', + 'libraries.export': 'action:libraries.export.input', + 'media.thumbstrip.generate': 'action:media.thumbstrip.generate.input', + 'spaces.reorder_items': 'action:spaces.reorder_items.input', + 'spaces.reorder_groups': 'action:spaces.reorder_groups.input', + 'volumes.remove_cloud': 'action:volumes.remove_cloud.input', + 'files.delete': 'action:files.delete.input', + 'locations.enable_indexing': 'action:locations.enable_indexing.input', + 'locations.import': 'action:locations.import.input', + 'media.speech.transcribe': 'action:media.speech.transcribe.input', + 'volumes.untrack': 'action:volumes.untrack.input', + 'volumes.refresh': 'action:volumes.refresh.input', + 'volumes.index': 'action:volumes.index.input', + 'spaces.update_group': 'action:spaces.update_group.input', + 'spaces.update': 'action:spaces.update.input', + 'files.copy': 'action:files.copy.input', }, coreQueries: { 'core.ephemeral_status': 'query:core.ephemeral_status', - 'core.events.list': 'query:core.events.list', - 'network.status': 'query:network.status', - 'libraries.list': 'query:libraries.list', - 'network.devices.list': 'query:network.devices.list', - 'models.whisper.list': 'query:models.whisper.list', 'network.sync_setup.discover': 'query:network.sync_setup.discover', - 'core.status': 'query:core.status', + 'models.whisper.list': 'query:models.whisper.list', + 'core.events.list': 'query:core.events.list', 'network.pair.status': 'query:network.pair.status', + 'network.status': 'query:network.status', + 'network.devices.list': 'query:network.devices.list', + 'core.status': 'query:core.status', + 'libraries.list': 'query:libraries.list', }, libraryQueries: { - 'test.ping': 'query:test.ping', - 'files.unique_to_location': 'query:files.unique_to_location', - 'jobs.active': 'query:jobs.active', - 'jobs.list': 'query:jobs.list', - 'spaces.get_layout': 'query:spaces.get_layout', - 'spaces.list': 'query:spaces.list', - 'sync.activity': 'query:sync.activity', 'jobs.info': 'query:jobs.info', - 'files.directory_listing': 'query:files.directory_listing', - 'files.by_path': 'query:files.by_path', 'files.media_listing': 'query:files.media_listing', - 'locations.suggested': 'query:locations.suggested', 'spaces.get': 'query:spaces.get', - 'sync.eventLog': 'query:sync.eventLog', - 'files.by_id': 'query:files.by_id', - 'sync.metrics': 'query:sync.metrics', - 'volumes.list': 'query:volumes.list', - 'search.files': 'query:search.files', - 'libraries.info': 'query:libraries.info', - 'locations.list': 'query:locations.list', 'tags.search': 'query:tags.search', + 'locations.validate_path': 'query:locations.validate_path', + 'files.by_id': 'query:files.by_id', + 'volumes.list': 'query:volumes.list', + 'libraries.info': 'query:libraries.info', + 'search.files': 'query:search.files', + 'locations.suggested': 'query:locations.suggested', + 'test.ping': 'query:test.ping', 'devices.list': 'query:devices.list', + 'jobs.list': 'query:jobs.list', + 'files.unique_to_location': 'query:files.unique_to_location', + 'spaces.get_layout': 'query:spaces.get_layout', + 'sync.eventLog': 'query:sync.eventLog', + 'files.by_path': 'query:files.by_path', + 'files.directory_listing': 'query:files.directory_listing', + 'sync.metrics': 'query:sync.metrics', + 'spaces.list': 'query:spaces.list', + 'jobs.active': 'query:jobs.active', + 'sync.activity': 'query:sync.activity', + 'locations.list': 'query:locations.list', }, } as const;