From 7e2aeb7bb597650da2d220845d701ba153a22c6c Mon Sep 17 00:00:00 2001 From: mpstaton Date: Wed, 9 Jul 2025 23:30:43 +0300 Subject: [PATCH] update(packages): updated packages and dependencies to latest On branch master Your branch is up to date with 'origin/master'. Changes to be committed: modified: package.json modified: pnpm-lock.yaml --- README.md | 23 ++++++++++++++++++++++- package.json | 16 ++++++++-------- pnpm-lock.yaml | Bin 73820 -> 74596 bytes 3 files changed, 30 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index e07c3d0..eec59a5 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Obsidian Plugin Starter -This is barebones starter code to build an Obsidian plugin. It is a clone of the official Obsidian plugin starter code, but with updated libraries. +This is barebones starter code to build an Obsidian plugin using the `pnpm` package manager. It is a clone of the official Obsidian plugin starter code, but with updated libraries, packages, dependencies. ## Getting Started @@ -11,6 +11,27 @@ ## Getting Started pnpm dev ``` +## Packages, Dependencies, Libraries: + +```json +"devDependencies": { + "@types/node": "^24.0.12", + "@typescript-eslint/eslint-plugin": "8.36.0", + "@typescript-eslint/parser": "8.36.0", + "builtin-modules": "5.0.0", + "esbuild": "0.25.6", + "eslint": "^9.30.1", + "obsidian": "latest", + "tslib": "2.8.1", + "typescript": "5.8.3" +}, +"dependencies": { + "@modelcontextprotocol/sdk": "^1.15.0", + "fastify": "^5.4.0", + "zod": "^4.0.0" +} +``` + ## Using Symbolic Links to Test Your Plugin If you're like us, you have a directory housing all your code projects. To use your plugin as you develop it, just create a symbolic link. Here is my example, but you will need to use your own path structure: diff --git a/package.json b/package.json index bb50f76..b6600cf 100644 --- a/package.json +++ b/package.json @@ -17,19 +17,19 @@ "author": "The Lossless Group", "license": "MIT", "devDependencies": { - "@types/node": "^22.15.30", - "@typescript-eslint/eslint-plugin": "8.33.1", - "@typescript-eslint/parser": "8.33.1", + "@types/node": "^24.0.12", + "@typescript-eslint/eslint-plugin": "8.36.0", + "@typescript-eslint/parser": "8.36.0", "builtin-modules": "5.0.0", - "esbuild": "0.25.5", - "eslint": "^9.28.0", + "esbuild": "0.25.6", + "eslint": "^9.30.1", "obsidian": "latest", "tslib": "2.8.1", "typescript": "5.8.3" }, "dependencies": { - "@modelcontextprotocol/sdk": "^1.12.1", - "fastify": "^5.3.3", - "zod": "^3.25.56" + "@modelcontextprotocol/sdk": "^1.15.0", + "fastify": "^5.4.0", + "zod": "^4.0.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 51c5e75e79c2393d028cea86dea92d8d8eb685d9..265ff3c3acfabc2af863cbd50dbc4eef90ba6cc6 100644 GIT binary patch delta 8370 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 delta 7966 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