From c2e2f8062225b50bffb85ab02df888dc13a8bc08 Mon Sep 17 00:00:00 2001 From: qwqcode Date: Tue, 22 Oct 2024 21:06:52 +0800 Subject: [PATCH] feat: add `options_schema` field --- scripts/_types.ts | 1 + scripts/build.ts | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/scripts/_types.ts b/scripts/_types.ts index 9a6ee93..4859933 100644 --- a/scripts/_types.ts +++ b/scripts/_types.ts @@ -21,6 +21,7 @@ export interface RegistryEntry { npm_name: string source: string integrity: string + options_schema: string verified: boolean version: string updated_at: string diff --git a/scripts/build.ts b/scripts/build.ts index b77fd15..4b25703 100644 --- a/scripts/build.ts +++ b/scripts/build.ts @@ -1,6 +1,7 @@ /** * This script is used to generate the `registry.json` file. */ +import path from 'node:path' import fs from 'fs-extra' import axios from 'axios' import crypto from 'crypto' @@ -114,6 +115,7 @@ const buildRegistryEntry = async ( version: cacheEntry?.version || '', source: cacheEntry?.source || '', integrity: cacheEntry?.integrity || '', + options_schema: cacheEntry?.options_schema || '', updated_at: cacheEntry?.updated_at || '', min_artalk_version: cacheEntry?.min_artalk_version || '', } @@ -133,7 +135,9 @@ const buildRegistryEntry = async ( ) return null } - const source = `https://cdn.jsdelivr.net/npm/${srcEntry.npm_package}@${version}/${mainFile}` + + const cdnBase = `https://cdn.jsdelivr.net/npm/${srcEntry.npm_package}@${version}` + const source = `${cdnBase}/${mainFile}` const integrity = await generateSRIFromURL(source) if (!integrity) return null @@ -144,6 +148,7 @@ const buildRegistryEntry = async ( integrity, updated_at: npmInfo['time'][version], min_artalk_version: extractMinArtalkClientVersion(npmPkgData), + options_schema: `${cdnBase}/${path.dirname(mainFile)}/artalk-plugin-options.schema.json`, } }