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
JSON
{
"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"
}
}