UNPKG

obsidian-dev-utils

Version:

This is the collection of useful functions that you can use for your Obsidian plugin development

622 lines (621 loc) 20.5 kB
{ "name": "obsidian-dev-utils", "version": "46.13.0", "description": "This is the collection of useful functions that you can use for your Obsidian plugin development", "keywords": [ "obsidian" ], "homepage": "https://github.com/mnaoumov/obsidian-dev-utils#readme", "bugs": { "url": "https://github.com/mnaoumov/obsidian-dev-utils/issues" }, "repository": { "type": "git", "url": "git+https://github.com/mnaoumov/obsidian-dev-utils.git" }, "license": "MIT", "author": "Michael Naumov", "type": "module", "exports": { ".": { "import": { "types": "./dist/lib/esm/index.d.mts", "default": "./dist/lib/esm/index.mjs" }, "require": { "types": "./dist/lib/cjs/index.d.cts", "default": "./dist/lib/cjs/index.cjs" } }, "./*": { "import": { "types": "./dist/lib/esm/*.d.mts", "default": "./dist/lib/esm/*.mjs" }, "require": { "types": "./dist/lib/cjs/*.d.cts", "default": "./dist/lib/cjs/*.cjs" } }, "./@types/*": { "import": { "types": "./dist/lib/esm/@types/*.d.mts" }, "require": { "types": "./dist/lib/cjs/@types/*.d.cts" } }, "./ScriptUtils": { "import": { "types": "./dist/lib/esm/ScriptUtils/index.d.mts", "default": "./dist/lib/esm/ScriptUtils/index.mjs" }, "require": { "types": "./dist/lib/cjs/ScriptUtils/index.d.cts", "default": "./dist/lib/cjs/ScriptUtils/index.cjs" } }, "./ScriptUtils/*": { "import": { "types": "./dist/lib/esm/ScriptUtils/*.d.mts", "default": "./dist/lib/esm/ScriptUtils/*.mjs" }, "require": { "types": "./dist/lib/cjs/ScriptUtils/*.d.cts", "default": "./dist/lib/cjs/ScriptUtils/*.cjs" } }, "./ScriptUtils/ESLint": { "import": { "types": "./dist/lib/esm/ScriptUtils/ESLint/index.d.mts", "default": "./dist/lib/esm/ScriptUtils/ESLint/index.mjs" }, "require": { "types": "./dist/lib/cjs/ScriptUtils/ESLint/index.d.cts", "default": "./dist/lib/cjs/ScriptUtils/ESLint/index.cjs" } }, "./ScriptUtils/ESLint/*": { "import": { "types": "./dist/lib/esm/ScriptUtils/ESLint/*.d.mts", "default": "./dist/lib/esm/ScriptUtils/ESLint/*.mjs" }, "require": { "types": "./dist/lib/cjs/ScriptUtils/ESLint/*.d.cts", "default": "./dist/lib/cjs/ScriptUtils/ESLint/*.cjs" } }, "./ScriptUtils/ESLint/@types/*": { "import": { "types": "./dist/lib/esm/ScriptUtils/ESLint/@types/*.d.mts" }, "require": { "types": "./dist/lib/cjs/ScriptUtils/ESLint/@types/*.d.cts" } }, "./ScriptUtils/esbuild": { "import": { "types": "./dist/lib/esm/ScriptUtils/esbuild/index.d.mts", "default": "./dist/lib/esm/ScriptUtils/esbuild/index.mjs" }, "require": { "types": "./dist/lib/cjs/ScriptUtils/esbuild/index.d.cts", "default": "./dist/lib/cjs/ScriptUtils/esbuild/index.cjs" } }, "./ScriptUtils/esbuild/*": { "import": { "types": "./dist/lib/esm/ScriptUtils/esbuild/*.d.mts", "default": "./dist/lib/esm/ScriptUtils/esbuild/*.mjs" }, "require": { "types": "./dist/lib/cjs/ScriptUtils/esbuild/*.d.cts", "default": "./dist/lib/cjs/ScriptUtils/esbuild/*.cjs" } }, "./ScriptUtils/markdownlint": { "import": { "types": "./dist/lib/esm/ScriptUtils/markdownlint/index.d.mts", "default": "./dist/lib/esm/ScriptUtils/markdownlint/index.mjs" }, "require": { "types": "./dist/lib/cjs/ScriptUtils/markdownlint/index.d.cts", "default": "./dist/lib/cjs/ScriptUtils/markdownlint/index.cjs" } }, "./ScriptUtils/markdownlint/*": { "import": { "types": "./dist/lib/esm/ScriptUtils/markdownlint/*.d.mts", "default": "./dist/lib/esm/ScriptUtils/markdownlint/*.mjs" }, "require": { "types": "./dist/lib/cjs/ScriptUtils/markdownlint/*.d.cts", "default": "./dist/lib/cjs/ScriptUtils/markdownlint/*.cjs" } }, "./ScriptUtils/markdownlint/@types/*": { "import": { "types": "./dist/lib/esm/ScriptUtils/markdownlint/@types/*.d.mts" }, "require": { "types": "./dist/lib/cjs/ScriptUtils/markdownlint/@types/*.d.cts" } }, "./Transformers": { "import": { "types": "./dist/lib/esm/Transformers/index.d.mts", "default": "./dist/lib/esm/Transformers/index.mjs" }, "require": { "types": "./dist/lib/cjs/Transformers/index.d.cts", "default": "./dist/lib/cjs/Transformers/index.cjs" } }, "./Transformers/*": { "import": { "types": "./dist/lib/esm/Transformers/*.d.mts", "default": "./dist/lib/esm/Transformers/*.mjs" }, "require": { "types": "./dist/lib/cjs/Transformers/*.d.cts", "default": "./dist/lib/cjs/Transformers/*.cjs" } }, "./codemirror": { "import": { "types": "./dist/lib/esm/codemirror/index.d.mts", "default": "./dist/lib/esm/codemirror/index.mjs" }, "require": { "types": "./dist/lib/cjs/codemirror/index.d.cts", "default": "./dist/lib/cjs/codemirror/index.cjs" } }, "./codemirror/*": { "import": { "types": "./dist/lib/esm/codemirror/*.d.mts", "default": "./dist/lib/esm/codemirror/*.mjs" }, "require": { "types": "./dist/lib/cjs/codemirror/*.d.cts", "default": "./dist/lib/cjs/codemirror/*.cjs" } }, "./obsidian": { "import": { "types": "./dist/lib/esm/obsidian/index.d.mts", "default": "./dist/lib/esm/obsidian/index.mjs" }, "require": { "types": "./dist/lib/cjs/obsidian/index.d.cts", "default": "./dist/lib/cjs/obsidian/index.cjs" } }, "./obsidian/*": { "import": { "types": "./dist/lib/esm/obsidian/*.d.mts", "default": "./dist/lib/esm/obsidian/*.mjs" }, "require": { "types": "./dist/lib/cjs/obsidian/*.d.cts", "default": "./dist/lib/cjs/obsidian/*.cjs" } }, "./obsidian/@types/*": { "import": { "types": "./dist/lib/esm/obsidian/@types/*.d.mts" }, "require": { "types": "./dist/lib/cjs/obsidian/@types/*.d.cts" } }, "./obsidian/@types/Dataview": { "import": { "types": "./dist/lib/esm/obsidian/@types/Dataview/index.d.mts" }, "require": { "types": "./dist/lib/cjs/obsidian/@types/Dataview/index.d.cts" } }, "./obsidian/@types/Dataview/*": { "import": { "types": "./dist/lib/esm/obsidian/@types/Dataview/*.d.mts" }, "require": { "types": "./dist/lib/cjs/obsidian/@types/Dataview/*.d.cts" } }, "./obsidian/@types/Dataview/api/*": { "import": { "types": "./dist/lib/esm/obsidian/@types/Dataview/api/*.d.mts" }, "require": { "types": "./dist/lib/cjs/obsidian/@types/Dataview/api/*.d.cts" } }, "./obsidian/@types/Dataview/data-import/*": { "import": { "types": "./dist/lib/esm/obsidian/@types/Dataview/data-import/*.d.mts" }, "require": { "types": "./dist/lib/cjs/obsidian/@types/Dataview/data-import/*.d.cts" } }, "./obsidian/@types/Dataview/data-import/web-worker/*": { "import": { "types": "./dist/lib/esm/obsidian/@types/Dataview/data-import/web-worker/*.d.mts" }, "require": { "types": "./dist/lib/cjs/obsidian/@types/Dataview/data-import/web-worker/*.d.cts" } }, "./obsidian/@types/Dataview/data-index": { "import": { "types": "./dist/lib/esm/obsidian/@types/Dataview/data-index/index.d.mts" }, "require": { "types": "./dist/lib/cjs/obsidian/@types/Dataview/data-index/index.d.cts" } }, "./obsidian/@types/Dataview/data-index/*": { "import": { "types": "./dist/lib/esm/obsidian/@types/Dataview/data-index/*.d.mts" }, "require": { "types": "./dist/lib/cjs/obsidian/@types/Dataview/data-index/*.d.cts" } }, "./obsidian/@types/Dataview/data-model/*": { "import": { "types": "./dist/lib/esm/obsidian/@types/Dataview/data-model/*.d.mts" }, "require": { "types": "./dist/lib/cjs/obsidian/@types/Dataview/data-model/*.d.cts" } }, "./obsidian/@types/Dataview/data-model/serialized/*": { "import": { "types": "./dist/lib/esm/obsidian/@types/Dataview/data-model/serialized/*.d.mts" }, "require": { "types": "./dist/lib/cjs/obsidian/@types/Dataview/data-model/serialized/*.d.cts" } }, "./obsidian/@types/Dataview/expression/*": { "import": { "types": "./dist/lib/esm/obsidian/@types/Dataview/expression/*.d.mts" }, "require": { "types": "./dist/lib/cjs/obsidian/@types/Dataview/expression/*.d.cts" } }, "./obsidian/@types/Dataview/query/*": { "import": { "types": "./dist/lib/esm/obsidian/@types/Dataview/query/*.d.mts" }, "require": { "types": "./dist/lib/cjs/obsidian/@types/Dataview/query/*.d.cts" } }, "./obsidian/@types/Dataview/typings/*": { "import": { "types": "./dist/lib/esm/obsidian/@types/Dataview/typings/*.d.mts" }, "require": { "types": "./dist/lib/cjs/obsidian/@types/Dataview/typings/*.d.cts" } }, "./obsidian/@types/Dataview/ui/*": { "import": { "types": "./dist/lib/esm/obsidian/@types/Dataview/ui/*.d.mts" }, "require": { "types": "./dist/lib/cjs/obsidian/@types/Dataview/ui/*.d.cts" } }, "./obsidian/@types/Dataview/ui/export/*": { "import": { "types": "./dist/lib/esm/obsidian/@types/Dataview/ui/export/*.d.mts" }, "require": { "types": "./dist/lib/cjs/obsidian/@types/Dataview/ui/export/*.d.cts" } }, "./obsidian/@types/Dataview/ui/views/*": { "import": { "types": "./dist/lib/esm/obsidian/@types/Dataview/ui/views/*.d.mts" }, "require": { "types": "./dist/lib/cjs/obsidian/@types/Dataview/ui/views/*.d.cts" } }, "./obsidian/@types/Dataview/util/*": { "import": { "types": "./dist/lib/esm/obsidian/@types/Dataview/util/*.d.mts" }, "require": { "types": "./dist/lib/cjs/obsidian/@types/Dataview/util/*.d.cts" } }, "./obsidian/Commands": { "import": { "types": "./dist/lib/esm/obsidian/Commands/index.d.mts", "default": "./dist/lib/esm/obsidian/Commands/index.mjs" }, "require": { "types": "./dist/lib/cjs/obsidian/Commands/index.d.cts", "default": "./dist/lib/cjs/obsidian/Commands/index.cjs" } }, "./obsidian/Commands/*": { "import": { "types": "./dist/lib/esm/obsidian/Commands/*.d.mts", "default": "./dist/lib/esm/obsidian/Commands/*.mjs" }, "require": { "types": "./dist/lib/cjs/obsidian/Commands/*.d.cts", "default": "./dist/lib/cjs/obsidian/Commands/*.cjs" } }, "./obsidian/Components": { "import": { "types": "./dist/lib/esm/obsidian/Components/index.d.mts", "default": "./dist/lib/esm/obsidian/Components/index.mjs" }, "require": { "types": "./dist/lib/cjs/obsidian/Components/index.d.cts", "default": "./dist/lib/cjs/obsidian/Components/index.cjs" } }, "./obsidian/Components/*": { "import": { "types": "./dist/lib/esm/obsidian/Components/*.d.mts", "default": "./dist/lib/esm/obsidian/Components/*.mjs" }, "require": { "types": "./dist/lib/cjs/obsidian/Components/*.d.cts", "default": "./dist/lib/cjs/obsidian/Components/*.cjs" } }, "./obsidian/Components/SettingComponents": { "import": { "types": "./dist/lib/esm/obsidian/Components/SettingComponents/index.d.mts", "default": "./dist/lib/esm/obsidian/Components/SettingComponents/index.mjs" }, "require": { "types": "./dist/lib/cjs/obsidian/Components/SettingComponents/index.d.cts", "default": "./dist/lib/cjs/obsidian/Components/SettingComponents/index.cjs" } }, "./obsidian/Components/SettingComponents/*": { "import": { "types": "./dist/lib/esm/obsidian/Components/SettingComponents/*.d.mts", "default": "./dist/lib/esm/obsidian/Components/SettingComponents/*.mjs" }, "require": { "types": "./dist/lib/cjs/obsidian/Components/SettingComponents/*.d.cts", "default": "./dist/lib/cjs/obsidian/Components/SettingComponents/*.cjs" } }, "./obsidian/Modals": { "import": { "types": "./dist/lib/esm/obsidian/Modals/index.d.mts", "default": "./dist/lib/esm/obsidian/Modals/index.mjs" }, "require": { "types": "./dist/lib/cjs/obsidian/Modals/index.d.cts", "default": "./dist/lib/cjs/obsidian/Modals/index.cjs" } }, "./obsidian/Modals/*": { "import": { "types": "./dist/lib/esm/obsidian/Modals/*.d.mts", "default": "./dist/lib/esm/obsidian/Modals/*.mjs" }, "require": { "types": "./dist/lib/cjs/obsidian/Modals/*.d.cts", "default": "./dist/lib/cjs/obsidian/Modals/*.cjs" } }, "./obsidian/Plugin": { "import": { "types": "./dist/lib/esm/obsidian/Plugin/index.d.mts", "default": "./dist/lib/esm/obsidian/Plugin/index.mjs" }, "require": { "types": "./dist/lib/cjs/obsidian/Plugin/index.d.cts", "default": "./dist/lib/cjs/obsidian/Plugin/index.cjs" } }, "./obsidian/Plugin/*": { "import": { "types": "./dist/lib/esm/obsidian/Plugin/*.d.mts", "default": "./dist/lib/esm/obsidian/Plugin/*.mjs" }, "require": { "types": "./dist/lib/cjs/obsidian/Plugin/*.d.cts", "default": "./dist/lib/cjs/obsidian/Plugin/*.cjs" } }, "./obsidian/React": { "import": { "types": "./dist/lib/esm/obsidian/React/index.d.mts", "default": "./dist/lib/esm/obsidian/React/index.mjs" }, "require": { "types": "./dist/lib/cjs/obsidian/React/index.d.cts", "default": "./dist/lib/cjs/obsidian/React/index.cjs" } }, "./obsidian/React/*": { "import": { "types": "./dist/lib/esm/obsidian/React/*.d.mts", "default": "./dist/lib/esm/obsidian/React/*.mjs" }, "require": { "types": "./dist/lib/cjs/obsidian/React/*.d.cts", "default": "./dist/lib/cjs/obsidian/React/*.cjs" } }, "./obsidian/i18n": { "import": { "types": "./dist/lib/esm/obsidian/i18n/index.d.mts", "default": "./dist/lib/esm/obsidian/i18n/index.mjs" }, "require": { "types": "./dist/lib/cjs/obsidian/i18n/index.d.cts", "default": "./dist/lib/cjs/obsidian/i18n/index.cjs" } }, "./obsidian/i18n/*": { "import": { "types": "./dist/lib/esm/obsidian/i18n/*.d.mts", "default": "./dist/lib/esm/obsidian/i18n/*.mjs" }, "require": { "types": "./dist/lib/cjs/obsidian/i18n/*.d.cts", "default": "./dist/lib/cjs/obsidian/i18n/*.cjs" } }, "./obsidian/i18n/locales": { "import": { "types": "./dist/lib/esm/obsidian/i18n/locales/index.d.mts", "default": "./dist/lib/esm/obsidian/i18n/locales/index.mjs" }, "require": { "types": "./dist/lib/cjs/obsidian/i18n/locales/index.d.cts", "default": "./dist/lib/cjs/obsidian/i18n/locales/index.cjs" } }, "./obsidian/i18n/locales/*": { "import": { "types": "./dist/lib/esm/obsidian/i18n/locales/*.d.mts", "default": "./dist/lib/esm/obsidian/i18n/locales/*.mjs" }, "require": { "types": "./dist/lib/cjs/obsidian/i18n/locales/*.d.cts", "default": "./dist/lib/cjs/obsidian/i18n/locales/*.cjs" } } }, "main": "./dist/lib/cjs/index.cjs", "module": "./dist/lib/esm/index.mjs", "types": "./dist/lib/cjs/index.d.cts", "bin": { "obsidian-dev-utils": "dist/bin/cli.cjs" }, "files": [ "dist/", "!dist/*.tgz", "CHANGELOG.md", "LICENSE", "README.md", "**/package.json" ], "scripts": { "build": "npm-run-all build:clean build:compile:typescript build:generate-index build:types build:lib build:generate-exports build:static build:styles", "build:clean": "jiti scripts/cli.ts build:clean", "build:compile:typescript": "jiti scripts/cli.ts build:compile:typescript", "build:generate-exports": "jiti scripts/build-generate-exports.ts", "build:generate-index": "jiti scripts/build-generate-index.ts", "build:lib": "jiti scripts/build-lib.ts", "build:static": "jiti scripts/cli.ts build:static", "build:styles": "sass src/styles/main.scss dist/styles.css --embed-sources --embed-source-map", "build:types": "jiti scripts/build-types.ts", "commit": "cz", "format": "jiti scripts/cli.ts format", "format:check": "jiti scripts/cli.ts format:check", "lint": "jiti scripts/cli.ts lint", "lint:fix": "jiti scripts/cli.ts lint:fix", "lint:md": "jiti scripts/cli.ts lint:md", "lint:md:fix": "jiti scripts/cli.ts lint:md:fix", "prepare": "husky", "spellcheck": "jiti scripts/cli.ts spellcheck", "version": "jiti scripts/version.ts" }, "overrides": { "@antfu/utils": "9.2.0", "dompurify": "3.0.1", "esbuild": "$esbuild" }, "dependencies": { "@codemirror/state": "6.5.0", "@codemirror/view": "6.38.6", "@eslint-community/eslint-plugin-eslint-comments": "^4.5.0", "@eslint/js": "^9.39.2", "@guardian/eslint-plugin-tsdoc-required": "^0.1.3", "@lezer/common": "1.2.3", "@stylistic/eslint-plugin": "^5.6.1", "@total-typescript/ts-reset": "^0.6.1", "@tsconfig/strictest": "^2.0.8", "@types/babel__core": "^7.20.5", "@types/doctrine": "^0.0.9", "@types/eslint": "^9.6.1", "@types/luxon": "^3.7.1", "@types/node": "25.0.3", "@types/parsimmon": "^1.10.9", "@types/path-browserify": "^1.0.3", "@types/picomatch": "^4.0.2", "@types/pug": "^2.0.10", "@types/react": "^19.2.7", "@types/shell-quote": "^1.7.5", "@typescript-eslint/eslint-plugin": "^8.51.0", "@typescript-eslint/parser": "^8.51.0", "better-typescript-lib": "^2.12.0", "commander": "^14.0.2", "compare-versions": "^6.1.1", "cspell": "^9.4.0", "debug": "^4.4.3", "dprint": "^0.51.1", "enhanced-resolve": "^5.18.4", "esbuild": "^0.27.2", "esbuild-sass-plugin": "^3.3.1", "esbuild-svelte": "^0.9.4", "eslint": "^9.39.2", "eslint-import-resolver-typescript": "^4.4.4", "eslint-plugin-import-x": "^4.16.1", "eslint-plugin-jsdoc": "^61.5.0", "eslint-plugin-modules-newlines": "^0.0.7", "eslint-plugin-obsidianmd": "^0.1.9", "eslint-plugin-perfectionist": "^5.2.0", "eslint-plugin-tsdoc": "^0.5.0", "globals": "^17.0.0", "i18next": "^25.7.3", "jiti": "^2.6.1", "linkinator": "^7.5.3", "localforage": "^1.10.0", "lru-cache": "^11.2.4", "markdownlint": "^0.40.0", "markdownlint-cli2": "^0.20.0", "markdownlint-rule-relative-links": "^4.2.0", "monkey-around": "^3.0.0", "npm-run-all2": "^8.0.4", "obsidian": "latest", "obsidian-typings": "obsidian-public-latest", "path-browserify": "^1.0.1", "postcss": "^8.5.6", "postcss-modules": "^6.0.1", "preact": "^10.28.1", "react": "^19.2.3", "remark": "^15.0.1", "remark-parse": "^11.0.0", "remark-wiki-link": "^2.0.1", "sass": "^1.97.1", "shell-quote": "^1.8.3", "svelte-check": "^4.3.5", "svelte-preprocess": "^6.0.3", "type-fest": "^5.3.1", "typescript": "^5.9.3", "typescript-eslint": "^8.51.0", "unist-util-visit": "^5.0.0" }, "devDependencies": { "@commitlint/cli": "^20.3.0", "@commitlint/config-conventional": "^20.3.0", "@commitlint/types": "^20.2.0", "@types/markdown-it": "^14.1.2", "commitizen": "^4.3.1", "cz-conventional-changelog": "^3.3.0", "husky": "^9.1.7" } }