From ba65f634597106c3d37e416e7dd030351eb87416 Mon Sep 17 00:00:00 2001 From: Georgi Gardev Date: Sat, 18 Nov 2023 21:40:23 +0200 Subject: [PATCH] switch to yml --- package-lock.json | 64 +++++++++++++++++++++++++++++++++ package.json | 1 + src/api/get-apps.ts | 6 ++-- src/api/get-search-providers.ts | 2 +- tsconfig.json | 5 ++- vite.config.ts | 7 ++-- 6 files changed, 77 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4e622ca..9cdc259 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,6 +19,7 @@ "unsplash-js": "^7.0.18" }, "devDependencies": { + "@modyfi/vite-plugin-yaml": "^1.0.4", "@types/node": "^18.17.5", "@types/ramda": "^0.29.8", "esbuild": "^0.14.54", @@ -2099,6 +2100,42 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@modyfi/vite-plugin-yaml": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@modyfi/vite-plugin-yaml/-/vite-plugin-yaml-1.0.4.tgz", + "integrity": "sha512-qkT0KiR3AQQRfUvDzLv4+1rYAzXj+QmGhAbyUd0Ordf9xynK76i758lk5GiEfxuQxbvdqDaJ9oXkH/KacbSjQQ==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "5.0.2", + "js-yaml": "4.1.0", + "tosource": "2.0.0-alpha.3" + }, + "peerDependencies": { + "vite": "^2.6.0 || ^3.0.0 || ^4.0.0" + } + }, + "node_modules/@modyfi/vite-plugin-yaml/node_modules/@rollup/pluginutils": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", + "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -2409,6 +2446,12 @@ "node": ">= 8" } }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, "node_modules/axios": { "version": "0.25.0", "resolved": "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz", @@ -3806,6 +3849,18 @@ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", @@ -4948,6 +5003,15 @@ "node": ">=8.0" } }, + "node_modules/tosource": { + "version": "2.0.0-alpha.3", + "resolved": "https://registry.npmjs.org/tosource/-/tosource-2.0.0-alpha.3.tgz", + "integrity": "sha512-KAB2lrSS48y91MzFPFuDg4hLbvDiyTjOVgaK7Erw+5AmZXNq4sFRVn8r6yxSLuNs15PaokrDRpS61ERY9uZOug==", + "dev": true, + "engines": { + "node": ">=10" + } + }, "node_modules/totalist": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", diff --git a/package.json b/package.json index adf6696..d54ecba 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,7 @@ }, "type": "module", "devDependencies": { + "@modyfi/vite-plugin-yaml": "^1.0.4", "@types/node": "^18.17.5", "@types/ramda": "^0.29.8", "esbuild": "^0.14.54", diff --git a/src/api/get-apps.ts b/src/api/get-apps.ts index a1c10cb..af2d4e8 100644 --- a/src/api/get-apps.ts +++ b/src/api/get-apps.ts @@ -1,8 +1,8 @@ -import { createResource, lazy } from 'solid-js'; +import { createResource } from 'solid-js'; import { AppDefinition } from '~/types'; async function getApps(): Promise { - return await import('../../data/apps.json').then((m) => m.default); + return await import('../../data/apps.yml').then((m) => m.default.apps); } export function createApps() { @@ -11,7 +11,7 @@ export function createApps() { } export async function getTagOrder(): Promise { - return await import('../../data/tag-order.json').then((m) => m.default); + return await import('../../data/tags.yml').then((m) => m.default.tags); } export function createTagOrder() { diff --git a/src/api/get-search-providers.ts b/src/api/get-search-providers.ts index bde0466..d637c37 100644 --- a/src/api/get-search-providers.ts +++ b/src/api/get-search-providers.ts @@ -2,7 +2,7 @@ import { createResource } from 'solid-js'; import { SearchProvider } from '~/types'; async function getSearchProviders(): Promise { - return await import('../../data/search-providers.json').then((m) => m.default); + return await import('../../data/search-providers.yml').then((m) => m.default.providers); } export function createSearchProviders() { diff --git a/tsconfig.json b/tsconfig.json index 3a2099b..0f841b1 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -12,6 +12,9 @@ "resolveJsonModule": true, "paths": { "~/*": ["./src/*"] - } + }, + "types": [ + "@modyfi/vite-plugin-yaml/modules" + ], } } diff --git a/vite.config.ts b/vite.config.ts index 4300acd..8ef8ece 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,6 +1,7 @@ -import solid from "solid-start/vite"; -import { defineConfig } from "vite"; +import solid from 'solid-start/vite'; +import ViteYaml from '@modyfi/vite-plugin-yaml'; +import { defineConfig } from 'vite'; export default defineConfig({ - plugins: [solid({ ssr: false })], + plugins: [solid({ ssr: false }), ViteYaml()], });