initial working version
This commit is contained in:
commit
15640ae084
7 changed files with 1078 additions and 0 deletions
70
cmd/build.ts
Normal file
70
cmd/build.ts
Normal file
|
@ -0,0 +1,70 @@
|
||||||
|
import builtins from "npm:builtin-modules";
|
||||||
|
import { build } from "npm:vite";
|
||||||
|
import deno from "npm:@deno/vite-plugin";
|
||||||
|
import banner from "npm:vite-plugin-banner";
|
||||||
|
import { resolve } from "jsr:@std/path";
|
||||||
|
import { wait } from "jsr:@denosaurs/wait";
|
||||||
|
|
||||||
|
interface BuildArgs {
|
||||||
|
production?: boolean;
|
||||||
|
watch?: boolean;
|
||||||
|
pluginDir?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
const bannerContent = `/*
|
||||||
|
* THIS IS A GENERATED/BUNDLED FILE BY VITE
|
||||||
|
* if you want to view the source, please visit the github repository of this plugin
|
||||||
|
*/
|
||||||
|
`;
|
||||||
|
|
||||||
|
export async function buildPlugin(args: BuildArgs) {
|
||||||
|
const spinner = wait("Building plugin TypeScript").start();
|
||||||
|
const cwd = args.pluginDir ? resolve(Deno.cwd(), args.pluginDir) : Deno.cwd();
|
||||||
|
|
||||||
|
await build({
|
||||||
|
root: cwd,
|
||||||
|
plugins: [deno(), banner(bannerContent)],
|
||||||
|
logLevel: "error",
|
||||||
|
build: {
|
||||||
|
watch: args.watch ? {} : undefined,
|
||||||
|
lib: {
|
||||||
|
entry: resolve(cwd, "main.ts"),
|
||||||
|
name: "main",
|
||||||
|
fileName: () => "main.js",
|
||||||
|
formats: ["cjs"],
|
||||||
|
},
|
||||||
|
minify: args.production || false,
|
||||||
|
sourcemap: args.production ? "inline" : false,
|
||||||
|
cssCodeSplit: false,
|
||||||
|
emptyOutDir: false,
|
||||||
|
outDir: ".",
|
||||||
|
rollupOptions: {
|
||||||
|
input: {
|
||||||
|
main: resolve(cwd, "main.ts"),
|
||||||
|
},
|
||||||
|
output: {
|
||||||
|
entryFileNames: "main.js",
|
||||||
|
assetFileNames: "styles.css",
|
||||||
|
},
|
||||||
|
external: [
|
||||||
|
"obsidian",
|
||||||
|
"electron",
|
||||||
|
"@codemirror/autocomplete",
|
||||||
|
"@codemirror/collab",
|
||||||
|
"@codemirror/commands",
|
||||||
|
"@codemirror/language",
|
||||||
|
"@codemirror/lint",
|
||||||
|
"@codemirror/search",
|
||||||
|
"@codemirror/state",
|
||||||
|
"@codemirror/view",
|
||||||
|
"@lezer/common",
|
||||||
|
"@lezer/highlight",
|
||||||
|
"@lezer/lr",
|
||||||
|
...builtins,
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
spinner.succeed("Build successful");
|
||||||
|
}
|
50
cmd/bump.ts
Normal file
50
cmd/bump.ts
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
import { resolve } from "jsr:@std/path";
|
||||||
|
import { format, parse } from "jsr:@std/semver";
|
||||||
|
|
||||||
|
interface BumpArgs {
|
||||||
|
pluginDir?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function bumpVersion(
|
||||||
|
args: BumpArgs,
|
||||||
|
level: "patch" | "minor" | "major",
|
||||||
|
) {
|
||||||
|
console.info("Bumping plugin version. Checking for required files");
|
||||||
|
const cwd = args.pluginDir ? resolve(Deno.cwd(), args.pluginDir) : Deno.cwd();
|
||||||
|
const manifestPath = resolve(cwd, "manifest.json");
|
||||||
|
const versionsPath = resolve(cwd, "versions.json");
|
||||||
|
|
||||||
|
const manifestText = await Deno.readTextFile(manifestPath);
|
||||||
|
const manifest = JSON.parse(manifestText);
|
||||||
|
const versionsText = await Deno.readTextFile(versionsPath);
|
||||||
|
const versions = JSON.parse(versionsText);
|
||||||
|
|
||||||
|
const appSemver = parse(manifest.version);
|
||||||
|
|
||||||
|
appSemver[level] += 1;
|
||||||
|
|
||||||
|
const newVersion = format(appSemver);
|
||||||
|
const newMinAppVersion = manifest.minAppVersion;
|
||||||
|
|
||||||
|
// Write new manifest
|
||||||
|
manifest.version = newVersion;
|
||||||
|
const newManifest = JSON.stringify(manifest, null, "\t");
|
||||||
|
|
||||||
|
// Write new minimum version, if required
|
||||||
|
if (!(Object.values(versions).includes(manifest.minAppVersion))) {
|
||||||
|
console.info(
|
||||||
|
"Minimum app version updated. Writing to versions file",
|
||||||
|
);
|
||||||
|
|
||||||
|
versions[newVersion] = newMinAppVersion;
|
||||||
|
const newVersions = JSON.stringify(versions, null, "\t");
|
||||||
|
|
||||||
|
await Deno.writeTextFile(versionsPath, newVersions);
|
||||||
|
}
|
||||||
|
|
||||||
|
console.info("Writing version to manifest");
|
||||||
|
|
||||||
|
await Deno.writeTextFile(manifestPath, newManifest);
|
||||||
|
|
||||||
|
console.log(`Bumped ${manifest.name} to version ${newVersion}`);
|
||||||
|
}
|
99
cmd/install.ts
Normal file
99
cmd/install.ts
Normal file
|
@ -0,0 +1,99 @@
|
||||||
|
import { resolve } from "jsr:@std/path";
|
||||||
|
import { buildPlugin } from "./build.ts";
|
||||||
|
import { exists } from "jsr:@std/fs";
|
||||||
|
|
||||||
|
interface InstallArgs {
|
||||||
|
pluginDir?: string;
|
||||||
|
production?: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function installPlugin(args: InstallArgs, vault: string) {
|
||||||
|
console.info("Building plugin");
|
||||||
|
await buildPlugin(args);
|
||||||
|
|
||||||
|
const cwd = args.pluginDir ? resolve(Deno.cwd(), args.pluginDir) : Deno.cwd();
|
||||||
|
const manifestPath = resolve(cwd, "manifest.json");
|
||||||
|
const versionsPath = resolve(cwd, "versions.json");
|
||||||
|
|
||||||
|
const manifestText = await Deno.readTextFile(manifestPath);
|
||||||
|
const manifest = JSON.parse(manifestText);
|
||||||
|
|
||||||
|
const jsPath = resolve(cwd, "main.js;");
|
||||||
|
const vaultPath = resolve(cwd, vault);
|
||||||
|
const pluginPath = resolve(
|
||||||
|
vaultPath,
|
||||||
|
".obsidian",
|
||||||
|
"plugins",
|
||||||
|
manifest.id,
|
||||||
|
);
|
||||||
|
|
||||||
|
console.info("Verifying required paths");
|
||||||
|
try {
|
||||||
|
await Promise.allSettled([
|
||||||
|
Deno.lstat(jsPath),
|
||||||
|
Deno.lstat(manifestPath),
|
||||||
|
Deno.lstat(versionsPath),
|
||||||
|
Deno.lstat(resolve(vaultPath, ".obsidian")),
|
||||||
|
]);
|
||||||
|
} catch (err) {
|
||||||
|
if (err instanceof Deno.errors.NotFound) {
|
||||||
|
console.info(
|
||||||
|
"Failed to find the specified vault or one of the required main.js, versions.json, and manifest.json files",
|
||||||
|
);
|
||||||
|
console.error(err.message);
|
||||||
|
Deno.exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
throw err;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (await exists(pluginPath, { isDirectory: true })) {
|
||||||
|
console.info(
|
||||||
|
`Vault already has plugin ${manifest.name} installed. Aborting`,
|
||||||
|
);
|
||||||
|
Deno.exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
console.info("Creating plugin directory");
|
||||||
|
|
||||||
|
try {
|
||||||
|
await Deno.mkdir(pluginPath, { recursive: true });
|
||||||
|
} catch (err) {
|
||||||
|
if (!(err instanceof Deno.errors.AlreadyExists)) {
|
||||||
|
throw err;
|
||||||
|
}
|
||||||
|
|
||||||
|
console.info("Plugin directory already exists. Continuing");
|
||||||
|
}
|
||||||
|
|
||||||
|
console.info("Creating symbolic links");
|
||||||
|
try {
|
||||||
|
await Promise.all([
|
||||||
|
Deno.symlink(
|
||||||
|
manifestPath,
|
||||||
|
resolve(pluginPath, "manifest.json"),
|
||||||
|
{ type: "file" },
|
||||||
|
),
|
||||||
|
Deno.symlink(
|
||||||
|
versionsPath,
|
||||||
|
resolve(pluginPath, "versions.json"),
|
||||||
|
{ type: "file" },
|
||||||
|
),
|
||||||
|
Deno.symlink(
|
||||||
|
jsPath,
|
||||||
|
resolve(pluginPath, "main.js"),
|
||||||
|
{ type: "file" },
|
||||||
|
),
|
||||||
|
]);
|
||||||
|
} catch (err) {
|
||||||
|
throw err;
|
||||||
|
}
|
||||||
|
|
||||||
|
const kv = await Deno.openKv();
|
||||||
|
await kv.set(
|
||||||
|
["installed-plugins", manifest.id, vaultPath],
|
||||||
|
vaultPath,
|
||||||
|
);
|
||||||
|
|
||||||
|
console.log("Plugin has been installed in the specified vault");
|
||||||
|
}
|
99
cmd/uninstall.ts
Normal file
99
cmd/uninstall.ts
Normal file
|
@ -0,0 +1,99 @@
|
||||||
|
import { resolve } from "jsr:@std/path";
|
||||||
|
import { Confirm } from "jsr:@cliffy/prompt@1.0.0-rc.7/confirm";
|
||||||
|
import { Select } from "jsr:@cliffy/prompt@1.0.0-rc.7/select";
|
||||||
|
|
||||||
|
interface UninstallArgs {
|
||||||
|
yes?: boolean;
|
||||||
|
pluginDir?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
async function confirmUninstall() {
|
||||||
|
const consent = await Confirm.prompt({
|
||||||
|
message:
|
||||||
|
`Uninstalling this plugin will remove all files associated with this plugin from the specified vault. Your settings cannot be recovered!
|
||||||
|
|
||||||
|
If you are okay with this, please confirm:`,
|
||||||
|
default: false,
|
||||||
|
});
|
||||||
|
|
||||||
|
if (!consent) {
|
||||||
|
console.info("Aborting uninstallation");
|
||||||
|
Deno.exit(0);
|
||||||
|
} else {
|
||||||
|
console.info("Uninstallation confirmed. Continuing");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function uninstallPlugin(args: UninstallArgs, vault?: string) {
|
||||||
|
const cwd = args.pluginDir ? resolve(Deno.cwd(), args.pluginDir) : Deno.cwd();
|
||||||
|
const manifestText = await Deno.readTextFile(resolve(cwd, "manifest.json"));
|
||||||
|
const manifest = JSON.parse(manifestText);
|
||||||
|
|
||||||
|
if (vault) {
|
||||||
|
if (!args.yes) {
|
||||||
|
await confirmUninstall();
|
||||||
|
}
|
||||||
|
|
||||||
|
const pluginPath = resolve(cwd, vault, ".obsidian", "plugins", manifest.id);
|
||||||
|
|
||||||
|
try {
|
||||||
|
await Deno.lstat(pluginPath);
|
||||||
|
} catch (err) {
|
||||||
|
if (err instanceof Deno.errors.NotFound) {
|
||||||
|
console.error(`Could not find a plugin folder at path ${pluginPath}`);
|
||||||
|
Deno.exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
throw err;
|
||||||
|
}
|
||||||
|
|
||||||
|
console.info("Plugin found. Removing");
|
||||||
|
|
||||||
|
try {
|
||||||
|
await Deno.remove(pluginPath, { recursive: true });
|
||||||
|
} catch (err) {
|
||||||
|
throw err;
|
||||||
|
}
|
||||||
|
|
||||||
|
console.info(`Plugin successfully removed from vault with path ${vault}`);
|
||||||
|
Deno.exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
console.info("No vault specified. Checking installation history");
|
||||||
|
|
||||||
|
const kv = await Deno.openKv();
|
||||||
|
const vaults: string[] = [];
|
||||||
|
const entries = kv.list<string>({
|
||||||
|
prefix: ["installed-plugins", manifest.id],
|
||||||
|
});
|
||||||
|
|
||||||
|
for await (const entry of entries) {
|
||||||
|
vaults.push(entry.value);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (vaults.length === 0) {
|
||||||
|
console.info("No vaults found. Nothing to do");
|
||||||
|
Deno.exit(0);
|
||||||
|
} else if (vaults.length === 1) {
|
||||||
|
const vaultPath = vaults.shift();
|
||||||
|
console.info(
|
||||||
|
`Only one vault found. Proceeding with vault path: ${vaultPath}`,
|
||||||
|
);
|
||||||
|
await uninstallPlugin(args, vaultPath);
|
||||||
|
}
|
||||||
|
|
||||||
|
const selectedVault = await Select.prompt({
|
||||||
|
message: "Select a vault to uninstall plugin:",
|
||||||
|
options: vaults.map((path) => ({
|
||||||
|
value: path,
|
||||||
|
})),
|
||||||
|
});
|
||||||
|
|
||||||
|
if (!selectedVault) {
|
||||||
|
console.info("No vault selected. Nothing to do");
|
||||||
|
Deno.exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
console.info(`Proceeding with vault path: ${selectedVault}`);
|
||||||
|
await uninstallPlugin(args, selectedVault);
|
||||||
|
}
|
7
deno.json
Normal file
7
deno.json
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"tasks": {
|
||||||
|
"shim": "deno install -Afg -n obsideno -c ./deno.json main.ts",
|
||||||
|
"unshim": "deno uninstall -g obsideno"
|
||||||
|
},
|
||||||
|
"unstable": ["kv"]
|
||||||
|
}
|
711
deno.lock
generated
Normal file
711
deno.lock
generated
Normal file
|
@ -0,0 +1,711 @@
|
||||||
|
{
|
||||||
|
"version": "4",
|
||||||
|
"specifiers": {
|
||||||
|
"jsr:@cliffy/ansi@1.0.0-rc.7": "1.0.0-rc.7",
|
||||||
|
"jsr:@cliffy/internal@1.0.0-rc.7": "1.0.0-rc.7",
|
||||||
|
"jsr:@cliffy/keycode@1.0.0-rc.7": "1.0.0-rc.7",
|
||||||
|
"jsr:@cliffy/prompt@1.0.0-rc.7": "1.0.0-rc.7",
|
||||||
|
"jsr:@denosaurs/tty@~0.2.1": "0.2.1",
|
||||||
|
"jsr:@denosaurs/wait@*": "0.2.2",
|
||||||
|
"jsr:@std/assert@~1.0.6": "1.0.11",
|
||||||
|
"jsr:@std/encoding@~1.0.5": "1.0.7",
|
||||||
|
"jsr:@std/fmt@1": "1.0.6",
|
||||||
|
"jsr:@std/fmt@~1.0.2": "1.0.6",
|
||||||
|
"jsr:@std/fs@*": "1.0.14",
|
||||||
|
"jsr:@std/io@~0.224.9": "0.224.9",
|
||||||
|
"jsr:@std/path@^1.0.8": "1.0.8",
|
||||||
|
"jsr:@std/path@~1.0.6": "1.0.8",
|
||||||
|
"jsr:@std/text@~1.0.7": "1.0.11",
|
||||||
|
"npm:@deno/vite-plugin@*": "1.0.4_vite@6.2.2",
|
||||||
|
"npm:@types/node@*": "22.12.0",
|
||||||
|
"npm:builtin-modules@*": "5.0.0",
|
||||||
|
"npm:esbuild@*": "0.25.1",
|
||||||
|
"npm:obsidian@*": "1.2.8_@codemirror+state@6.2.1_@codemirror+view@6.13.0",
|
||||||
|
"npm:rollup-plugin-copy@*": "3.5.0",
|
||||||
|
"npm:vite-plugin-banner@*": "0.8.0",
|
||||||
|
"npm:vite-plugin-static-copy@*": "2.3.0_vite@6.2.2_@types+node@22.12.0",
|
||||||
|
"npm:vite@*": "6.2.2"
|
||||||
|
},
|
||||||
|
"jsr": {
|
||||||
|
"@cliffy/ansi@1.0.0-rc.7": {
|
||||||
|
"integrity": "f71c921cce224c13d322e5cedba4f38e8f7354c7d855c9cb22729362a53f25aa",
|
||||||
|
"dependencies": [
|
||||||
|
"jsr:@cliffy/internal",
|
||||||
|
"jsr:@std/encoding",
|
||||||
|
"jsr:@std/io"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"@cliffy/internal@1.0.0-rc.7": {
|
||||||
|
"integrity": "10412636ab3e67517d448be9eaab1b70c88eba9be22617b5d146257a11cc9b17"
|
||||||
|
},
|
||||||
|
"@cliffy/keycode@1.0.0-rc.7": {
|
||||||
|
"integrity": "5b3f6c33994e81a76b79f108b1989642ac22705840da33781f7972d7dff05503"
|
||||||
|
},
|
||||||
|
"@cliffy/prompt@1.0.0-rc.7": {
|
||||||
|
"integrity": "a9cbd13acd8073558447cae8ca4cf593c09d23bcbe429cc63346920c21187b83",
|
||||||
|
"dependencies": [
|
||||||
|
"jsr:@cliffy/ansi",
|
||||||
|
"jsr:@cliffy/internal",
|
||||||
|
"jsr:@cliffy/keycode",
|
||||||
|
"jsr:@std/assert",
|
||||||
|
"jsr:@std/fmt@~1.0.2",
|
||||||
|
"jsr:@std/io",
|
||||||
|
"jsr:@std/path@~1.0.6",
|
||||||
|
"jsr:@std/text"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"@denosaurs/tty@0.2.1": {
|
||||||
|
"integrity": "f1fc651cc9021c90bf230a45c6eb893c26a54fae6a855e9cd26aad0083d772dd"
|
||||||
|
},
|
||||||
|
"@denosaurs/wait@0.2.2": {
|
||||||
|
"integrity": "5ec0a7e72c57a96c9fdb2f4a52e2ce3b1ad010acc59fefe6f88054a9e27bc33d",
|
||||||
|
"dependencies": [
|
||||||
|
"jsr:@denosaurs/tty",
|
||||||
|
"jsr:@std/fmt@1"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"@std/assert@1.0.11": {
|
||||||
|
"integrity": "2461ef3c368fe88bc60e186e7744a93112f16fd110022e113a0849e94d1c83c1"
|
||||||
|
},
|
||||||
|
"@std/encoding@1.0.7": {
|
||||||
|
"integrity": "f631247c1698fef289f2de9e2a33d571e46133b38d042905e3eac3715030a82d"
|
||||||
|
},
|
||||||
|
"@std/fmt@1.0.6": {
|
||||||
|
"integrity": "a2c56a69a2369876ddb3ad6a500bb6501b5bad47bb3ea16bfb0c18974d2661fc"
|
||||||
|
},
|
||||||
|
"@std/fs@1.0.14": {
|
||||||
|
"integrity": "1e84bf0b95fe08f41f1f4aea9717bbf29f45408a56ce073b0114474ce1c9fccf",
|
||||||
|
"dependencies": [
|
||||||
|
"jsr:@std/path@^1.0.8"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"@std/io@0.224.9": {
|
||||||
|
"integrity": "4414664b6926f665102e73c969cfda06d2c4c59bd5d0c603fd4f1b1c840d6ee3"
|
||||||
|
},
|
||||||
|
"@std/path@1.0.8": {
|
||||||
|
"integrity": "548fa456bb6a04d3c1a1e7477986b6cffbce95102d0bb447c67c4ee70e0364be"
|
||||||
|
},
|
||||||
|
"@std/text@1.0.11": {
|
||||||
|
"integrity": "f191fa22590cac8b1cdba6cc4ab97940e720f7cc67b3084e54405b428bf5843d"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"npm": {
|
||||||
|
"@codemirror/state@6.2.1": {
|
||||||
|
"integrity": "sha512-RupHSZ8+OjNT38zU9fKH2sv+Dnlr8Eb8sl4NOnnqz95mCFTZUaiRP8Xv5MeeaG0px2b8Bnfe7YGwCV3nsBhbuw=="
|
||||||
|
},
|
||||||
|
"@codemirror/view@6.13.0": {
|
||||||
|
"integrity": "sha512-oXTfJzHJ5Tl7f6T8ZO0HKf981zubxgKohjddLobbntbNZHlOZGMRL+pPZGtclDWFaFJWtGBYRGyNdjQ6Xsx5yA==",
|
||||||
|
"dependencies": [
|
||||||
|
"@codemirror/state",
|
||||||
|
"style-mod",
|
||||||
|
"w3c-keyname"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"@deno/vite-plugin@1.0.4_vite@6.2.2": {
|
||||||
|
"integrity": "sha512-xg8YT8Wn2sGXSnJgiGTpBGX1Dov0c6fd1rAp8VsfrCUtyBRRWzwVMAnd3fQ4yq8h7LSVvJUxEFN4U421k/DQLA==",
|
||||||
|
"dependencies": [
|
||||||
|
"vite@6.2.2"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"@esbuild/aix-ppc64@0.25.1": {
|
||||||
|
"integrity": "sha512-kfYGy8IdzTGy+z0vFGvExZtxkFlA4zAxgKEahG9KE1ScBjpQnFsNOX8KTU5ojNru5ed5CVoJYXFtoxaq5nFbjQ=="
|
||||||
|
},
|
||||||
|
"@esbuild/android-arm64@0.25.1": {
|
||||||
|
"integrity": "sha512-50tM0zCJW5kGqgG7fQ7IHvQOcAn9TKiVRuQ/lN0xR+T2lzEFvAi1ZcS8DiksFcEpf1t/GYOeOfCAgDHFpkiSmA=="
|
||||||
|
},
|
||||||
|
"@esbuild/android-arm@0.25.1": {
|
||||||
|
"integrity": "sha512-dp+MshLYux6j/JjdqVLnMglQlFu+MuVeNrmT5nk6q07wNhCdSnB7QZj+7G8VMUGh1q+vj2Bq8kRsuyA00I/k+Q=="
|
||||||
|
},
|
||||||
|
"@esbuild/android-x64@0.25.1": {
|
||||||
|
"integrity": "sha512-GCj6WfUtNldqUzYkN/ITtlhwQqGWu9S45vUXs7EIYf+7rCiiqH9bCloatO9VhxsL0Pji+PF4Lz2XXCES+Q8hDw=="
|
||||||
|
},
|
||||||
|
"@esbuild/darwin-arm64@0.25.1": {
|
||||||
|
"integrity": "sha512-5hEZKPf+nQjYoSr/elb62U19/l1mZDdqidGfmFutVUjjUZrOazAtwK+Kr+3y0C/oeJfLlxo9fXb1w7L+P7E4FQ=="
|
||||||
|
},
|
||||||
|
"@esbuild/darwin-x64@0.25.1": {
|
||||||
|
"integrity": "sha512-hxVnwL2Dqs3fM1IWq8Iezh0cX7ZGdVhbTfnOy5uURtao5OIVCEyj9xIzemDi7sRvKsuSdtCAhMKarxqtlyVyfA=="
|
||||||
|
},
|
||||||
|
"@esbuild/freebsd-arm64@0.25.1": {
|
||||||
|
"integrity": "sha512-1MrCZs0fZa2g8E+FUo2ipw6jw5qqQiH+tERoS5fAfKnRx6NXH31tXBKI3VpmLijLH6yriMZsxJtaXUyFt/8Y4A=="
|
||||||
|
},
|
||||||
|
"@esbuild/freebsd-x64@0.25.1": {
|
||||||
|
"integrity": "sha512-0IZWLiTyz7nm0xuIs0q1Y3QWJC52R8aSXxe40VUxm6BB1RNmkODtW6LHvWRrGiICulcX7ZvyH6h5fqdLu4gkww=="
|
||||||
|
},
|
||||||
|
"@esbuild/linux-arm64@0.25.1": {
|
||||||
|
"integrity": "sha512-jaN3dHi0/DDPelk0nLcXRm1q7DNJpjXy7yWaWvbfkPvI+7XNSc/lDOnCLN7gzsyzgu6qSAmgSvP9oXAhP973uQ=="
|
||||||
|
},
|
||||||
|
"@esbuild/linux-arm@0.25.1": {
|
||||||
|
"integrity": "sha512-NdKOhS4u7JhDKw9G3cY6sWqFcnLITn6SqivVArbzIaf3cemShqfLGHYMx8Xlm/lBit3/5d7kXvriTUGa5YViuQ=="
|
||||||
|
},
|
||||||
|
"@esbuild/linux-ia32@0.25.1": {
|
||||||
|
"integrity": "sha512-OJykPaF4v8JidKNGz8c/q1lBO44sQNUQtq1KktJXdBLn1hPod5rE/Hko5ugKKZd+D2+o1a9MFGUEIUwO2YfgkQ=="
|
||||||
|
},
|
||||||
|
"@esbuild/linux-loong64@0.25.1": {
|
||||||
|
"integrity": "sha512-nGfornQj4dzcq5Vp835oM/o21UMlXzn79KobKlcs3Wz9smwiifknLy4xDCLUU0BWp7b/houtdrgUz7nOGnfIYg=="
|
||||||
|
},
|
||||||
|
"@esbuild/linux-mips64el@0.25.1": {
|
||||||
|
"integrity": "sha512-1osBbPEFYwIE5IVB/0g2X6i1qInZa1aIoj1TdL4AaAb55xIIgbg8Doq6a5BzYWgr+tEcDzYH67XVnTmUzL+nXg=="
|
||||||
|
},
|
||||||
|
"@esbuild/linux-ppc64@0.25.1": {
|
||||||
|
"integrity": "sha512-/6VBJOwUf3TdTvJZ82qF3tbLuWsscd7/1w+D9LH0W/SqUgM5/JJD0lrJ1fVIfZsqB6RFmLCe0Xz3fmZc3WtyVg=="
|
||||||
|
},
|
||||||
|
"@esbuild/linux-riscv64@0.25.1": {
|
||||||
|
"integrity": "sha512-nSut/Mx5gnilhcq2yIMLMe3Wl4FK5wx/o0QuuCLMtmJn+WeWYoEGDN1ipcN72g1WHsnIbxGXd4i/MF0gTcuAjQ=="
|
||||||
|
},
|
||||||
|
"@esbuild/linux-s390x@0.25.1": {
|
||||||
|
"integrity": "sha512-cEECeLlJNfT8kZHqLarDBQso9a27o2Zd2AQ8USAEoGtejOrCYHNtKP8XQhMDJMtthdF4GBmjR2au3x1udADQQQ=="
|
||||||
|
},
|
||||||
|
"@esbuild/linux-x64@0.25.1": {
|
||||||
|
"integrity": "sha512-xbfUhu/gnvSEg+EGovRc+kjBAkrvtk38RlerAzQxvMzlB4fXpCFCeUAYzJvrnhFtdeyVCDANSjJvOvGYoeKzFA=="
|
||||||
|
},
|
||||||
|
"@esbuild/netbsd-arm64@0.25.1": {
|
||||||
|
"integrity": "sha512-O96poM2XGhLtpTh+s4+nP7YCCAfb4tJNRVZHfIE7dgmax+yMP2WgMd2OecBuaATHKTHsLWHQeuaxMRnCsH8+5g=="
|
||||||
|
},
|
||||||
|
"@esbuild/netbsd-x64@0.25.1": {
|
||||||
|
"integrity": "sha512-X53z6uXip6KFXBQ+Krbx25XHV/NCbzryM6ehOAeAil7X7oa4XIq+394PWGnwaSQ2WRA0KI6PUO6hTO5zeF5ijA=="
|
||||||
|
},
|
||||||
|
"@esbuild/openbsd-arm64@0.25.1": {
|
||||||
|
"integrity": "sha512-Na9T3szbXezdzM/Kfs3GcRQNjHzM6GzFBeU1/6IV/npKP5ORtp9zbQjvkDJ47s6BCgaAZnnnu/cY1x342+MvZg=="
|
||||||
|
},
|
||||||
|
"@esbuild/openbsd-x64@0.25.1": {
|
||||||
|
"integrity": "sha512-T3H78X2h1tszfRSf+txbt5aOp/e7TAz3ptVKu9Oyir3IAOFPGV6O9c2naym5TOriy1l0nNf6a4X5UXRZSGX/dw=="
|
||||||
|
},
|
||||||
|
"@esbuild/sunos-x64@0.25.1": {
|
||||||
|
"integrity": "sha512-2H3RUvcmULO7dIE5EWJH8eubZAI4xw54H1ilJnRNZdeo8dTADEZ21w6J22XBkXqGJbe0+wnNJtw3UXRoLJnFEg=="
|
||||||
|
},
|
||||||
|
"@esbuild/win32-arm64@0.25.1": {
|
||||||
|
"integrity": "sha512-GE7XvrdOzrb+yVKB9KsRMq+7a2U/K5Cf/8grVFRAGJmfADr/e/ODQ134RK2/eeHqYV5eQRFxb1hY7Nr15fv1NQ=="
|
||||||
|
},
|
||||||
|
"@esbuild/win32-ia32@0.25.1": {
|
||||||
|
"integrity": "sha512-uOxSJCIcavSiT6UnBhBzE8wy3n0hOkJsBOzy7HDAuTDE++1DJMRRVCPGisULScHL+a/ZwdXPpXD3IyFKjA7K8A=="
|
||||||
|
},
|
||||||
|
"@esbuild/win32-x64@0.25.1": {
|
||||||
|
"integrity": "sha512-Y1EQdcfwMSeQN/ujR5VayLOJ1BHaK+ssyk0AEzPjC+t1lITgsnccPqFjb6V+LsTp/9Iov4ysfjxLaGJ9RPtkVg=="
|
||||||
|
},
|
||||||
|
"@nodelib/fs.scandir@2.1.5": {
|
||||||
|
"integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
|
||||||
|
"dependencies": [
|
||||||
|
"@nodelib/fs.stat",
|
||||||
|
"run-parallel"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"@nodelib/fs.stat@2.0.5": {
|
||||||
|
"integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="
|
||||||
|
},
|
||||||
|
"@nodelib/fs.walk@1.2.8": {
|
||||||
|
"integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
|
||||||
|
"dependencies": [
|
||||||
|
"@nodelib/fs.scandir",
|
||||||
|
"fastq"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"@rollup/rollup-android-arm-eabi@4.36.0": {
|
||||||
|
"integrity": "sha512-jgrXjjcEwN6XpZXL0HUeOVGfjXhPyxAbbhD0BlXUB+abTOpbPiN5Wb3kOT7yb+uEtATNYF5x5gIfwutmuBA26w=="
|
||||||
|
},
|
||||||
|
"@rollup/rollup-android-arm64@4.36.0": {
|
||||||
|
"integrity": "sha512-NyfuLvdPdNUfUNeYKUwPwKsE5SXa2J6bCt2LdB/N+AxShnkpiczi3tcLJrm5mA+eqpy0HmaIY9F6XCa32N5yzg=="
|
||||||
|
},
|
||||||
|
"@rollup/rollup-darwin-arm64@4.36.0": {
|
||||||
|
"integrity": "sha512-JQ1Jk5G4bGrD4pWJQzWsD8I1n1mgPXq33+/vP4sk8j/z/C2siRuxZtaUA7yMTf71TCZTZl/4e1bfzwUmFb3+rw=="
|
||||||
|
},
|
||||||
|
"@rollup/rollup-darwin-x64@4.36.0": {
|
||||||
|
"integrity": "sha512-6c6wMZa1lrtiRsbDziCmjE53YbTkxMYhhnWnSW8R/yqsM7a6mSJ3uAVT0t8Y/DGt7gxUWYuFM4bwWk9XCJrFKA=="
|
||||||
|
},
|
||||||
|
"@rollup/rollup-freebsd-arm64@4.36.0": {
|
||||||
|
"integrity": "sha512-KXVsijKeJXOl8QzXTsA+sHVDsFOmMCdBRgFmBb+mfEb/7geR7+C8ypAml4fquUt14ZyVXaw2o1FWhqAfOvA4sg=="
|
||||||
|
},
|
||||||
|
"@rollup/rollup-freebsd-x64@4.36.0": {
|
||||||
|
"integrity": "sha512-dVeWq1ebbvByI+ndz4IJcD4a09RJgRYmLccwlQ8bPd4olz3Y213uf1iwvc7ZaxNn2ab7bjc08PrtBgMu6nb4pQ=="
|
||||||
|
},
|
||||||
|
"@rollup/rollup-linux-arm-gnueabihf@4.36.0": {
|
||||||
|
"integrity": "sha512-bvXVU42mOVcF4le6XSjscdXjqx8okv4n5vmwgzcmtvFdifQ5U4dXFYaCB87namDRKlUL9ybVtLQ9ztnawaSzvg=="
|
||||||
|
},
|
||||||
|
"@rollup/rollup-linux-arm-musleabihf@4.36.0": {
|
||||||
|
"integrity": "sha512-JFIQrDJYrxOnyDQGYkqnNBtjDwTgbasdbUiQvcU8JmGDfValfH1lNpng+4FWlhaVIR4KPkeddYjsVVbmJYvDcg=="
|
||||||
|
},
|
||||||
|
"@rollup/rollup-linux-arm64-gnu@4.36.0": {
|
||||||
|
"integrity": "sha512-KqjYVh3oM1bj//5X7k79PSCZ6CvaVzb7Qs7VMWS+SlWB5M8p3FqufLP9VNp4CazJ0CsPDLwVD9r3vX7Ci4J56A=="
|
||||||
|
},
|
||||||
|
"@rollup/rollup-linux-arm64-musl@4.36.0": {
|
||||||
|
"integrity": "sha512-QiGnhScND+mAAtfHqeT+cB1S9yFnNQ/EwCg5yE3MzoaZZnIV0RV9O5alJAoJKX/sBONVKeZdMfO8QSaWEygMhw=="
|
||||||
|
},
|
||||||
|
"@rollup/rollup-linux-loongarch64-gnu@4.36.0": {
|
||||||
|
"integrity": "sha512-1ZPyEDWF8phd4FQtTzMh8FQwqzvIjLsl6/84gzUxnMNFBtExBtpL51H67mV9xipuxl1AEAerRBgBwFNpkw8+Lg=="
|
||||||
|
},
|
||||||
|
"@rollup/rollup-linux-powerpc64le-gnu@4.36.0": {
|
||||||
|
"integrity": "sha512-VMPMEIUpPFKpPI9GZMhJrtu8rxnp6mJR3ZzQPykq4xc2GmdHj3Q4cA+7avMyegXy4n1v+Qynr9fR88BmyO74tg=="
|
||||||
|
},
|
||||||
|
"@rollup/rollup-linux-riscv64-gnu@4.36.0": {
|
||||||
|
"integrity": "sha512-ttE6ayb/kHwNRJGYLpuAvB7SMtOeQnVXEIpMtAvx3kepFQeowVED0n1K9nAdraHUPJ5hydEMxBpIR7o4nrm8uA=="
|
||||||
|
},
|
||||||
|
"@rollup/rollup-linux-s390x-gnu@4.36.0": {
|
||||||
|
"integrity": "sha512-4a5gf2jpS0AIe7uBjxDeUMNcFmaRTbNv7NxI5xOCs4lhzsVyGR/0qBXduPnoWf6dGC365saTiwag8hP1imTgag=="
|
||||||
|
},
|
||||||
|
"@rollup/rollup-linux-x64-gnu@4.36.0": {
|
||||||
|
"integrity": "sha512-5KtoW8UWmwFKQ96aQL3LlRXX16IMwyzMq/jSSVIIyAANiE1doaQsx/KRyhAvpHlPjPiSU/AYX/8m+lQ9VToxFQ=="
|
||||||
|
},
|
||||||
|
"@rollup/rollup-linux-x64-musl@4.36.0": {
|
||||||
|
"integrity": "sha512-sycrYZPrv2ag4OCvaN5js+f01eoZ2U+RmT5as8vhxiFz+kxwlHrsxOwKPSA8WyS+Wc6Epid9QeI/IkQ9NkgYyQ=="
|
||||||
|
},
|
||||||
|
"@rollup/rollup-win32-arm64-msvc@4.36.0": {
|
||||||
|
"integrity": "sha512-qbqt4N7tokFwwSVlWDsjfoHgviS3n/vZ8LK0h1uLG9TYIRuUTJC88E1xb3LM2iqZ/WTqNQjYrtmtGmrmmawB6A=="
|
||||||
|
},
|
||||||
|
"@rollup/rollup-win32-ia32-msvc@4.36.0": {
|
||||||
|
"integrity": "sha512-t+RY0JuRamIocMuQcfwYSOkmdX9dtkr1PbhKW42AMvaDQa+jOdpUYysroTF/nuPpAaQMWp7ye+ndlmmthieJrQ=="
|
||||||
|
},
|
||||||
|
"@rollup/rollup-win32-x64-msvc@4.36.0": {
|
||||||
|
"integrity": "sha512-aRXd7tRZkWLqGbChgcMMDEHjOKudo1kChb1Jt1IfR8cY/KIpgNviLeJy5FUb9IpSuQj8dU2fAYNMPW/hLKOSTw=="
|
||||||
|
},
|
||||||
|
"@types/codemirror@0.0.108": {
|
||||||
|
"integrity": "sha512-3FGFcus0P7C2UOGCNUVENqObEb4SFk+S8Dnxq7K6aIsLVs/vDtlangl3PEO0ykaKXyK56swVF6Nho7VsA44uhw==",
|
||||||
|
"dependencies": [
|
||||||
|
"@types/tern"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"@types/estree@1.0.6": {
|
||||||
|
"integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw=="
|
||||||
|
},
|
||||||
|
"@types/fs-extra@8.1.5": {
|
||||||
|
"integrity": "sha512-0dzKcwO+S8s2kuF5Z9oUWatQJj5Uq/iqphEtE3GQJVRRYm/tD1LglU2UnXi2A8jLq5umkGouOXOR9y0n613ZwQ==",
|
||||||
|
"dependencies": [
|
||||||
|
"@types/node"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"@types/glob@7.2.0": {
|
||||||
|
"integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==",
|
||||||
|
"dependencies": [
|
||||||
|
"@types/minimatch",
|
||||||
|
"@types/node"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"@types/minimatch@5.1.2": {
|
||||||
|
"integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA=="
|
||||||
|
},
|
||||||
|
"@types/node@22.12.0": {
|
||||||
|
"integrity": "sha512-Fll2FZ1riMjNmlmJOdAyY5pUbkftXslB5DgEzlIuNaiWhXd00FhWxVC/r4yV/4wBb9JfImTu+jiSvXTkJ7F/gA==",
|
||||||
|
"dependencies": [
|
||||||
|
"undici-types"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"@types/tern@0.23.4": {
|
||||||
|
"integrity": "sha512-JAUw1iXGO1qaWwEOzxTKJZ/5JxVeON9kvGZ/osgZaJImBnyjyn0cjovPsf6FNLmyGY8Vw9DoXZCMlfMkMwHRWg==",
|
||||||
|
"dependencies": [
|
||||||
|
"@types/estree"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"anymatch@3.1.3": {
|
||||||
|
"integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
|
||||||
|
"dependencies": [
|
||||||
|
"normalize-path",
|
||||||
|
"picomatch"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"array-union@2.1.0": {
|
||||||
|
"integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw=="
|
||||||
|
},
|
||||||
|
"balanced-match@1.0.2": {
|
||||||
|
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
|
||||||
|
},
|
||||||
|
"binary-extensions@2.3.0": {
|
||||||
|
"integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw=="
|
||||||
|
},
|
||||||
|
"brace-expansion@1.1.11": {
|
||||||
|
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
|
||||||
|
"dependencies": [
|
||||||
|
"balanced-match",
|
||||||
|
"concat-map"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"braces@3.0.3": {
|
||||||
|
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
|
||||||
|
"dependencies": [
|
||||||
|
"fill-range"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"builtin-modules@5.0.0": {
|
||||||
|
"integrity": "sha512-bkXY9WsVpY7CvMhKSR6pZilZu9Ln5WDrKVBUXf2S443etkmEO4V58heTecXcUIsNsi4Rx8JUO4NfX1IcQl4deg=="
|
||||||
|
},
|
||||||
|
"chokidar@3.6.0": {
|
||||||
|
"integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
|
||||||
|
"dependencies": [
|
||||||
|
"anymatch",
|
||||||
|
"braces",
|
||||||
|
"fsevents",
|
||||||
|
"glob-parent",
|
||||||
|
"is-binary-path",
|
||||||
|
"is-glob",
|
||||||
|
"normalize-path",
|
||||||
|
"readdirp"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"colorette@1.4.0": {
|
||||||
|
"integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g=="
|
||||||
|
},
|
||||||
|
"concat-map@0.0.1": {
|
||||||
|
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
|
||||||
|
},
|
||||||
|
"dir-glob@3.0.1": {
|
||||||
|
"integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
|
||||||
|
"dependencies": [
|
||||||
|
"path-type"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"esbuild@0.25.1": {
|
||||||
|
"integrity": "sha512-BGO5LtrGC7vxnqucAe/rmvKdJllfGaYWdyABvyMoXQlfYMb2bbRuReWR5tEGE//4LcNJj9XrkovTqNYRFZHAMQ==",
|
||||||
|
"dependencies": [
|
||||||
|
"@esbuild/aix-ppc64",
|
||||||
|
"@esbuild/android-arm",
|
||||||
|
"@esbuild/android-arm64",
|
||||||
|
"@esbuild/android-x64",
|
||||||
|
"@esbuild/darwin-arm64",
|
||||||
|
"@esbuild/darwin-x64",
|
||||||
|
"@esbuild/freebsd-arm64",
|
||||||
|
"@esbuild/freebsd-x64",
|
||||||
|
"@esbuild/linux-arm",
|
||||||
|
"@esbuild/linux-arm64",
|
||||||
|
"@esbuild/linux-ia32",
|
||||||
|
"@esbuild/linux-loong64",
|
||||||
|
"@esbuild/linux-mips64el",
|
||||||
|
"@esbuild/linux-ppc64",
|
||||||
|
"@esbuild/linux-riscv64",
|
||||||
|
"@esbuild/linux-s390x",
|
||||||
|
"@esbuild/linux-x64",
|
||||||
|
"@esbuild/netbsd-arm64",
|
||||||
|
"@esbuild/netbsd-x64",
|
||||||
|
"@esbuild/openbsd-arm64",
|
||||||
|
"@esbuild/openbsd-x64",
|
||||||
|
"@esbuild/sunos-x64",
|
||||||
|
"@esbuild/win32-arm64",
|
||||||
|
"@esbuild/win32-ia32",
|
||||||
|
"@esbuild/win32-x64"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"fast-glob@3.3.3": {
|
||||||
|
"integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
|
||||||
|
"dependencies": [
|
||||||
|
"@nodelib/fs.stat",
|
||||||
|
"@nodelib/fs.walk",
|
||||||
|
"glob-parent",
|
||||||
|
"merge2",
|
||||||
|
"micromatch"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"fastq@1.19.1": {
|
||||||
|
"integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==",
|
||||||
|
"dependencies": [
|
||||||
|
"reusify"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"fill-range@7.1.1": {
|
||||||
|
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
|
||||||
|
"dependencies": [
|
||||||
|
"to-regex-range"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"fs-extra@11.3.0": {
|
||||||
|
"integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==",
|
||||||
|
"dependencies": [
|
||||||
|
"graceful-fs",
|
||||||
|
"jsonfile@6.1.0",
|
||||||
|
"universalify@2.0.1"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"fs-extra@8.1.0": {
|
||||||
|
"integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
|
||||||
|
"dependencies": [
|
||||||
|
"graceful-fs",
|
||||||
|
"jsonfile@4.0.0",
|
||||||
|
"universalify@0.1.2"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"fs.realpath@1.0.0": {
|
||||||
|
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
|
||||||
|
},
|
||||||
|
"fsevents@2.3.3": {
|
||||||
|
"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="
|
||||||
|
},
|
||||||
|
"glob-parent@5.1.2": {
|
||||||
|
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
|
||||||
|
"dependencies": [
|
||||||
|
"is-glob"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"glob@7.2.3": {
|
||||||
|
"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
|
||||||
|
"dependencies": [
|
||||||
|
"fs.realpath",
|
||||||
|
"inflight",
|
||||||
|
"inherits",
|
||||||
|
"minimatch",
|
||||||
|
"once",
|
||||||
|
"path-is-absolute"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"globby@10.0.1": {
|
||||||
|
"integrity": "sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==",
|
||||||
|
"dependencies": [
|
||||||
|
"@types/glob",
|
||||||
|
"array-union",
|
||||||
|
"dir-glob",
|
||||||
|
"fast-glob",
|
||||||
|
"glob",
|
||||||
|
"ignore",
|
||||||
|
"merge2",
|
||||||
|
"slash"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"graceful-fs@4.2.11": {
|
||||||
|
"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="
|
||||||
|
},
|
||||||
|
"ignore@5.3.2": {
|
||||||
|
"integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g=="
|
||||||
|
},
|
||||||
|
"inflight@1.0.6": {
|
||||||
|
"integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
|
||||||
|
"dependencies": [
|
||||||
|
"once",
|
||||||
|
"wrappy"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"inherits@2.0.4": {
|
||||||
|
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
|
||||||
|
},
|
||||||
|
"is-binary-path@2.1.0": {
|
||||||
|
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
|
||||||
|
"dependencies": [
|
||||||
|
"binary-extensions"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"is-extglob@2.1.1": {
|
||||||
|
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="
|
||||||
|
},
|
||||||
|
"is-glob@4.0.3": {
|
||||||
|
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
|
||||||
|
"dependencies": [
|
||||||
|
"is-extglob"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"is-number@7.0.0": {
|
||||||
|
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
|
||||||
|
},
|
||||||
|
"is-plain-object@3.0.1": {
|
||||||
|
"integrity": "sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g=="
|
||||||
|
},
|
||||||
|
"jsonfile@4.0.0": {
|
||||||
|
"integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
|
||||||
|
"dependencies": [
|
||||||
|
"graceful-fs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"jsonfile@6.1.0": {
|
||||||
|
"integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
|
||||||
|
"dependencies": [
|
||||||
|
"graceful-fs",
|
||||||
|
"universalify@2.0.1"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"merge2@1.4.1": {
|
||||||
|
"integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="
|
||||||
|
},
|
||||||
|
"micromatch@4.0.8": {
|
||||||
|
"integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
|
||||||
|
"dependencies": [
|
||||||
|
"braces",
|
||||||
|
"picomatch"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"minimatch@3.1.2": {
|
||||||
|
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
|
||||||
|
"dependencies": [
|
||||||
|
"brace-expansion"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"moment@2.29.4": {
|
||||||
|
"integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w=="
|
||||||
|
},
|
||||||
|
"nanoid@3.3.11": {
|
||||||
|
"integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="
|
||||||
|
},
|
||||||
|
"normalize-path@3.0.0": {
|
||||||
|
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
|
||||||
|
},
|
||||||
|
"obsidian@1.2.8_@codemirror+state@6.2.1_@codemirror+view@6.13.0": {
|
||||||
|
"integrity": "sha512-HrC+feA8o0tXspj4lEAqxb1btwLwHD2oHXSwbbN+CdRHURqbCkuIDLld+nkuyJ1w1c9uvVDRVk8BoeOnWheOrQ==",
|
||||||
|
"dependencies": [
|
||||||
|
"@codemirror/state",
|
||||||
|
"@codemirror/view",
|
||||||
|
"@types/codemirror",
|
||||||
|
"moment"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"once@1.4.0": {
|
||||||
|
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
|
||||||
|
"dependencies": [
|
||||||
|
"wrappy"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"p-map@7.0.3": {
|
||||||
|
"integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA=="
|
||||||
|
},
|
||||||
|
"path-is-absolute@1.0.1": {
|
||||||
|
"integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg=="
|
||||||
|
},
|
||||||
|
"path-type@4.0.0": {
|
||||||
|
"integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw=="
|
||||||
|
},
|
||||||
|
"picocolors@1.1.1": {
|
||||||
|
"integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="
|
||||||
|
},
|
||||||
|
"picomatch@2.3.1": {
|
||||||
|
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="
|
||||||
|
},
|
||||||
|
"postcss@8.5.3": {
|
||||||
|
"integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==",
|
||||||
|
"dependencies": [
|
||||||
|
"nanoid",
|
||||||
|
"picocolors",
|
||||||
|
"source-map-js"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"queue-microtask@1.2.3": {
|
||||||
|
"integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="
|
||||||
|
},
|
||||||
|
"readdirp@3.6.0": {
|
||||||
|
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
|
||||||
|
"dependencies": [
|
||||||
|
"picomatch"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"reusify@1.1.0": {
|
||||||
|
"integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw=="
|
||||||
|
},
|
||||||
|
"rollup-plugin-copy@3.5.0": {
|
||||||
|
"integrity": "sha512-wI8D5dvYovRMx/YYKtUNt3Yxaw4ORC9xo6Gt9t22kveWz1enG9QrhVlagzwrxSC455xD1dHMKhIJkbsQ7d48BA==",
|
||||||
|
"dependencies": [
|
||||||
|
"@types/fs-extra",
|
||||||
|
"colorette",
|
||||||
|
"fs-extra@8.1.0",
|
||||||
|
"globby",
|
||||||
|
"is-plain-object"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"rollup@4.36.0": {
|
||||||
|
"integrity": "sha512-zwATAXNQxUcd40zgtQG0ZafcRK4g004WtEl7kbuhTWPvf07PsfohXl39jVUvPF7jvNAIkKPQ2XrsDlWuxBd++Q==",
|
||||||
|
"dependencies": [
|
||||||
|
"@rollup/rollup-android-arm-eabi",
|
||||||
|
"@rollup/rollup-android-arm64",
|
||||||
|
"@rollup/rollup-darwin-arm64",
|
||||||
|
"@rollup/rollup-darwin-x64",
|
||||||
|
"@rollup/rollup-freebsd-arm64",
|
||||||
|
"@rollup/rollup-freebsd-x64",
|
||||||
|
"@rollup/rollup-linux-arm-gnueabihf",
|
||||||
|
"@rollup/rollup-linux-arm-musleabihf",
|
||||||
|
"@rollup/rollup-linux-arm64-gnu",
|
||||||
|
"@rollup/rollup-linux-arm64-musl",
|
||||||
|
"@rollup/rollup-linux-loongarch64-gnu",
|
||||||
|
"@rollup/rollup-linux-powerpc64le-gnu",
|
||||||
|
"@rollup/rollup-linux-riscv64-gnu",
|
||||||
|
"@rollup/rollup-linux-s390x-gnu",
|
||||||
|
"@rollup/rollup-linux-x64-gnu",
|
||||||
|
"@rollup/rollup-linux-x64-musl",
|
||||||
|
"@rollup/rollup-win32-arm64-msvc",
|
||||||
|
"@rollup/rollup-win32-ia32-msvc",
|
||||||
|
"@rollup/rollup-win32-x64-msvc",
|
||||||
|
"@types/estree",
|
||||||
|
"fsevents"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"run-parallel@1.2.0": {
|
||||||
|
"integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
|
||||||
|
"dependencies": [
|
||||||
|
"queue-microtask"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"slash@3.0.0": {
|
||||||
|
"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q=="
|
||||||
|
},
|
||||||
|
"source-map-js@1.2.1": {
|
||||||
|
"integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="
|
||||||
|
},
|
||||||
|
"style-mod@4.0.3": {
|
||||||
|
"integrity": "sha512-78Jv8kYJdjbvRwwijtCevYADfsI0lGzYJe4mMFdceO8l75DFFDoqBhR1jVDicDRRaX4//g1u9wKeo+ztc2h1Rw=="
|
||||||
|
},
|
||||||
|
"to-regex-range@5.0.1": {
|
||||||
|
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
|
||||||
|
"dependencies": [
|
||||||
|
"is-number"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"undici-types@6.20.0": {
|
||||||
|
"integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg=="
|
||||||
|
},
|
||||||
|
"universalify@0.1.2": {
|
||||||
|
"integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
|
||||||
|
},
|
||||||
|
"universalify@2.0.1": {
|
||||||
|
"integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw=="
|
||||||
|
},
|
||||||
|
"vite-plugin-banner@0.8.0": {
|
||||||
|
"integrity": "sha512-JpDWDYxtrsytuvUOJCgJcTkBb6XM8yPOidjRtB6F5SW1JSzDd/Y+PD/44wR6ovWKXhSUiyDRqPvx7mMf8+8ELg=="
|
||||||
|
},
|
||||||
|
"vite-plugin-static-copy@2.3.0_vite@6.2.2_@types+node@22.12.0": {
|
||||||
|
"integrity": "sha512-LLKwhhHetGaCnWz4mas4qqjjguDka6/6b4+SeIohRroj8aCE7QTfiZECfPecslFQkWZ3HdQuq5kOPmWZjNYlKA==",
|
||||||
|
"dependencies": [
|
||||||
|
"chokidar",
|
||||||
|
"fast-glob",
|
||||||
|
"fs-extra@11.3.0",
|
||||||
|
"p-map",
|
||||||
|
"picocolors",
|
||||||
|
"vite@6.2.2_@types+node@22.12.0"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"vite@6.2.2": {
|
||||||
|
"integrity": "sha512-yW7PeMM+LkDzc7CgJuRLMW2Jz0FxMOsVJ8Lv3gpgW9WLcb9cTW+121UEr1hvmfR7w3SegR5ItvYyzVz1vxNJgQ==",
|
||||||
|
"dependencies": [
|
||||||
|
"esbuild",
|
||||||
|
"fsevents",
|
||||||
|
"postcss",
|
||||||
|
"rollup"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"vite@6.2.2_@types+node@22.12.0": {
|
||||||
|
"integrity": "sha512-yW7PeMM+LkDzc7CgJuRLMW2Jz0FxMOsVJ8Lv3gpgW9WLcb9cTW+121UEr1hvmfR7w3SegR5ItvYyzVz1vxNJgQ==",
|
||||||
|
"dependencies": [
|
||||||
|
"@types/node",
|
||||||
|
"esbuild",
|
||||||
|
"fsevents",
|
||||||
|
"postcss",
|
||||||
|
"rollup"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"w3c-keyname@2.2.7": {
|
||||||
|
"integrity": "sha512-XB8aa62d4rrVfoZYQaYNy3fy+z4nrfy2ooea3/0BnBzXW0tSdZ+lRgjzBZhk0La0H6h8fVyYCxx/qkQcAIuvfg=="
|
||||||
|
},
|
||||||
|
"wrappy@1.0.2": {
|
||||||
|
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"remote": {
|
||||||
|
"https://deno.land/std@0.122.0/_util/assert.ts": "2f868145a042a11d5ad0a3c748dcf580add8a0dbc0e876eaa0026303a5488f58",
|
||||||
|
"https://deno.land/std@0.122.0/bytes/bytes_list.ts": "3bff6a09c72b2e0b1e92e29bd3b135053894196cca07a2bba842901073efe5cb",
|
||||||
|
"https://deno.land/std@0.122.0/bytes/equals.ts": "69f55fdbd45c71f920c1a621e6c0865dc780cd8ae34e0f5e55a9497b70c31c1b",
|
||||||
|
"https://deno.land/std@0.122.0/bytes/mod.ts": "fedb80b8da2e7ad8dd251148e65f92a04c73d6c5a430b7d197dc39588c8dda6f",
|
||||||
|
"https://deno.land/std@0.122.0/fmt/colors.ts": "8368ddf2d48dfe413ffd04cdbb7ae6a1009cf0dccc9c7ff1d76259d9c61a0621",
|
||||||
|
"https://deno.land/std@0.122.0/io/buffer.ts": "8f10342821b81990acf859cdccb4e4031c7c9187a0ffc3ed6b356ee29ecc6681",
|
||||||
|
"https://deno.land/std@0.122.0/streams/conversion.ts": "7ff9af42540063fa72003ab31a377ba9dde8532d43b16329b933c37a6d7aac5f",
|
||||||
|
"https://deno.land/std@0.122.0/testing/_diff.ts": "e6a10d2aca8d6c27a9c5b8a2dbbf64353874730af539707b5b39d4128140642d",
|
||||||
|
"https://deno.land/std@0.122.0/testing/asserts.ts": "e1e7325b449cc9c747c309690b22d8cf464e401f79f494ddb106e4842fdb4dda",
|
||||||
|
"https://deno.land/std@0.97.0/fmt/colors.ts": "db22b314a2ae9430ae7460ce005e0a7130e23ae1c999157e3bb77cf55800f7e4",
|
||||||
|
"https://deno.land/std@0.97.0/testing/_diff.ts": "961eaf6d9f5b0a8556c9d835bbc6fa74f5addd7d3b02728ba7936ff93364f7a3",
|
||||||
|
"https://deno.land/std@0.97.0/testing/asserts.ts": "341292d12eebc44be4c3c2ca101ba8b6b5859cef2fa69d50c217f9d0bfbcfd1f",
|
||||||
|
"https://deno.land/x/expect@v0.2.9/expect.ts": "128c60f94ff3f977e2a649463238e403f9bdb8e6ab77e65214c0236bd61b0111",
|
||||||
|
"https://deno.land/x/expect@v0.2.9/matchers.ts": "ba7360b73c5031a22449fa98eb4d5dbe7f256a88dd4c22ccae96dc6c01f0b19c",
|
||||||
|
"https://deno.land/x/expect@v0.2.9/mock.ts": "562d4b1d735d15b0b8e935f342679096b64fe452f86e96714fe8616c0c884914",
|
||||||
|
"https://deno.land/x/expect@v0.2.9/mod.ts": "0304d2430e1e96ba669a8495e24ba606dcc3d152e1f81aaa8da898cea24e36c2",
|
||||||
|
"https://deno.land/x/kia@0.4.1/deps.ts": "75da73e1fd9f18b9abbc0e615894aef9cafd8bcf81c5c6aab3be5986425474c4",
|
||||||
|
"https://deno.land/x/kia@0.4.1/kia.ts": "9eaaae34b1179a43251f4ced6b4b94b9d8100e587a95b8152f01b22fe52cbe84",
|
||||||
|
"https://deno.land/x/kia@0.4.1/mod.ts": "727b60e707c46429e40a2159ab73381245ef08a8e1e59e1e5a705745b99f4aec",
|
||||||
|
"https://deno.land/x/kia@0.4.1/spinners.ts": "26b63f964c745d6cc46e547d98352a4f64ae6d28400d35d9b77be7a5141db860",
|
||||||
|
"https://deno.land/x/kia@0.4.1/util.ts": "b7ac0962b5a39f666bad41c8b93efe1ea599fbac05ea9f65c0409926e8092618"
|
||||||
|
}
|
||||||
|
}
|
42
main.ts
Normal file
42
main.ts
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
import { Command, EnumType } from "jsr:@cliffy/command@1.0.0-rc.7";
|
||||||
|
|
||||||
|
import { buildPlugin } from "./cmd/build.ts";
|
||||||
|
import { bumpVersion } from "./cmd/bump.ts";
|
||||||
|
import { installPlugin } from "./cmd/install.ts";
|
||||||
|
import { uninstallPlugin } from "./cmd/uninstall.ts";
|
||||||
|
|
||||||
|
const bumpLevel = new EnumType(["patch", "minor", "major"]);
|
||||||
|
|
||||||
|
await new Command()
|
||||||
|
.name("obsideno")
|
||||||
|
.version("1.0.0")
|
||||||
|
.description("CLI helper for building Obsidian plugins")
|
||||||
|
.globalOption(
|
||||||
|
"-d, --plugin-dir <path>",
|
||||||
|
"Root directory of your plugin. Defaults the directory where the command is run",
|
||||||
|
)
|
||||||
|
// Build command
|
||||||
|
.command("build", "Build your plugin with ESBuild")
|
||||||
|
.option("-p, --production", "Minify and inline sourcemaps for production")
|
||||||
|
.option("-w, --watch", "Watch for file changes and rebuild")
|
||||||
|
// .action((args) => buildPlugin(args))
|
||||||
|
.action((args) => buildPlugin(args))
|
||||||
|
// Install command
|
||||||
|
.command("install", "Build and install your plugin in the specified vault")
|
||||||
|
.option("-p, --production", "Minify and inline sourcemaps for production")
|
||||||
|
.arguments("<vault-path>")
|
||||||
|
.action((args, path) => installPlugin(args, path))
|
||||||
|
// Uninstall command
|
||||||
|
.command(
|
||||||
|
"uninstall",
|
||||||
|
"Removes your plugin from the specified vault. Omit the vault path to search your installation history",
|
||||||
|
)
|
||||||
|
.option("-y, --yes", "Skip the confirmation step")
|
||||||
|
.arguments("[vault-path]")
|
||||||
|
.action((args, path) => uninstallPlugin(args, path))
|
||||||
|
// Version bump command
|
||||||
|
.command("bump", "Bump your plugin version according to Semver")
|
||||||
|
.type("bumpLevel", bumpLevel)
|
||||||
|
.arguments("<bump-level:bumpLevel>")
|
||||||
|
.action((args, level) => bumpVersion(args, level))
|
||||||
|
.parse(Deno.args);
|
Loading…
Add table
Reference in a new issue