obsidian-dev-utils
Version:
This is the collection of useful functions that you can use for your Obsidian plugin development
515 lines (514 loc) • 16.7 kB
JSON
{
"name": "obsidian-dev-utils",
"version": "30.5.1",
"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"
}
},
"./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/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"
}
}
},
"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": "tsx scripts/cli.ts build:clean",
"build:compile:typescript": "tsx scripts/cli.ts build:compile:typescript",
"build:generate-exports": "tsx scripts/build-generate-exports.ts",
"build:generate-index": "tsx scripts/build-generate-index.ts",
"build:lib": "tsx scripts/build-lib.ts",
"build:styles": "sass src/styles/main.scss dist/styles.css --embed-sources --embed-source-map",
"build:static": "tsx scripts/cli.ts build:static",
"build:types": "tsx scripts/build-types.ts",
"format": "tsx scripts/cli.ts format",
"format:check": "tsx scripts/cli.ts format:check",
"lint": "tsx scripts/cli.ts lint",
"lint:fix": "tsx scripts/cli.ts lint:fix",
"spellcheck": "tsx scripts/cli.ts spellcheck",
"version": "tsx scripts/version.ts"
},
"dependencies": {
"@eslint/js": "^9.33.0",
"@guardian/eslint-plugin-tsdoc-required": "^0.1.3",
"@lezer/common": "^1.2.3",
"@stylistic/eslint-plugin": "^5.2.3",
"@total-typescript/ts-reset": "^0.6.1",
"@tsconfig/strictest": "^2.0.5",
"@types/babel__core": "^7.20.5",
"@types/doctrine": "^0.0.9",
"@types/eslint": "^9.6.1",
"@types/luxon": "^3.7.1",
"@types/node": "^24.2.1",
"@types/parsimmon": "^1.10.9",
"@types/path-browserify": "^1.0.3",
"@types/picomatch": "^4.0.2",
"@types/pug": "^2.0.10",
"@types/react": "^19.1.9",
"@types/shell-quote": "^1.7.5",
"@typescript-eslint/eslint-plugin": "^8.39.0",
"@typescript-eslint/parser": "^8.39.0",
"better-typescript-lib": "^2.11.0",
"commander": "^14.0.0",
"compare-versions": "^6.1.1",
"cspell": "^9.2.0",
"debug": "^4.4.1",
"dotenv": "^17.2.1",
"dprint": "^0.50.1",
"enhanced-resolve": "^5.18.3",
"esbuild": "^0.25.8",
"esbuild-sass-plugin": "^3.3.1",
"esbuild-svelte": "^0.9.3",
"eslint": "^9.33.0",
"eslint-import-resolver-typescript": "^4.4.4",
"eslint-plugin-import-x": "^4.16.1",
"eslint-plugin-jsdoc": "^52.0.4",
"eslint-plugin-modules-newlines": "^0.0.7",
"eslint-plugin-perfectionist": "^4.15.0",
"eslint-plugin-tsdoc": "^0.4.0",
"glob": "^11.0.3",
"jiti": "^2.5.1",
"localforage": "^1.10.0",
"lru-cache": "^11.1.0",
"moment": "^2.30.1",
"monkey-around": "^3.0.0",
"npm-run-all": "^4.1.5",
"obsidian": "^1.8.7",
"obsidian-typings": "^3.16.0",
"path-browserify": "^1.0.1",
"postcss": "^8.5.6",
"postcss-modules": "^6.0.1",
"preact": "^10.27.0",
"react": "^19.1.1",
"remark": "^15.0.1",
"remark-parse": "^11.0.0",
"remark-wiki-link": "^2.0.1",
"sass": "^1.90.0",
"shell-quote": "^1.8.3",
"svelte-check": "^4.3.1",
"svelte-preprocess": "^6.0.3",
"tsx": "^4.20.3",
"type-fest": "^4.41.0",
"typescript": "^5.9.2",
"typescript-eslint": "^8.39.0",
"unist-util-visit": "^5.0.0"
},
"overrides": {
"@antfu/utils": "9.2.0",
"dompurify": "3.0.1",
"esbuild": "$esbuild"
}
}