Skip to content

build(deps-dev): bump the npm-development-dependencies group across 1 directory with 12 updates - #12

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/npm-development-dependencies-2ad3374579
Open

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/npm-development-dependencies-2ad3374579

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Nov 9, 2026

Copy link
Copy Markdown

Bumps the npm-development-dependencies group with 12 updates in the / directory:

Package From To
@codemirror/autocomplete 6.20.3 6.20.4
@codemirror/view 6.43.13 6.43.15
@types/node 26.6.2 26.6.6
eslint 10.11.0 10.14.0
eslint-plugin-obsidianmd 0.4.2 0.5.0
globals 17.12.0 17.14.0
obsidian 1.13.1 1.14.4
prettier 3.9.9 3.9.10
typescript 6.0.3 7.0.2
typescript-eslint 8.70.1 8.72.1
vite 8.3.1 8.3.6
vitest 5.0.2 5.1.0

Updates @codemirror/autocomplete from 6.20.3 to 6.20.4

Commits

Updates @codemirror/view from 6.43.13 to 6.43.15

Commits

Updates @types/node from 26.6.2 to 26.6.6

Commits

Updates eslint from 10.11.0 to 10.14.0

Release notes

Sourced from eslint's releases.

v10.14.0

Features

  • d23a7f9 feat: fix property descriptor handling in func-name-matching (#21400) (xbinaryx)

Bug Fixes

  • 4a12580 fix: require minimatch 10.2.6 to avoid vulnerable brace-expansion (#21460) (lumir)
  • 827a8f3 fix: no-restricted-globals crash on global objects as property values (#21449) (xbinaryx)
  • 161558a fix: handle LS, PS and empty hashbang comments (#21419) (lumir)
  • 6194939 fix: no-invalid-this crash on accessor fields without initializer (#21442) (xbinaryx)
  • 9155e14 fix: Update @​humanfs/node dependency version (#21434) (Nicholas C. Zakas)
  • cb2b9d4 fix: avoid invalid object-shorthand fixes for super methods (#21323) (dvd233)
  • 5ee3915 fix: yoda invalid autofix at statement start (#21424) (Daniel Pinto)

Documentation

  • 0f94f47 docs: remove zh-hans from docs language switcher (#21437) (lumir)
  • dab466e docs: Update README (GitHub Actions Bot)
  • 97431f8 docs: replace --rulesdir with a virtual plugin in custom rules docs (#21452) (Pixel)
  • 7697550 docs: Update README (GitHub Actions Bot)
  • 0c699d5 docs: Remove Tidelift commercial support (#21416) (Milos Djermanovic)
  • 0880666 docs: update loadESLint() documentation for v10 (#21374) (Minseon Kim)
  • e06fe87 docs: Revise AI acknowledgment options in PR template (#21414) (Nicholas C. Zakas)

Chores

  • 0e2ab70 ci: disable eslint-plugin-unicorn ecosystem test (#21462) (Francesco Trotta)
  • 6e3f988 chore: update github/codeql-action action to v4.39.1 (#21450) (renovate[bot])
  • a031c40 chore: update ecosystem plugins (#21445) (ESLint Bot)
  • 67d2ca2 chore: add troubleshooting page URL to circular fixes warning message (#21429) (Milos Djermanovic)
  • 276021d chore: update github/codeql-action action to v4.39.0 (#21432) (renovate[bot])
  • 449724e chore: update ecosystem plugins (#21420) (ESLint Bot)
  • 8ffeb8c chore: update dependency prettier to v3.9.10 (#21417) (renovate[bot])

v10.13.0

Features

  • 48d5cc4 feat: report references inside IIFEs in no-use-before-define (#21238) (Irfan fandi)
  • a39d9fb feat: add globalThis to no-obj-calls (#21382) (synthex-byte)
  • 66ac583 feat: check yield* expressions in no-unsafe-optional-chaining (#21399) (xbinaryx)

Bug Fixes

  • 87bd2ce fix: avoid redeclared let when no-var and one-var fix together (#21389) (Daniel Pinto)

Documentation

  • 4783a68 docs: Update README (GitHub Actions Bot)
  • 43f0ac9 docs: clarify parameter description in getText (#21287) (lumir)

Chores

  • b59d889 chore: update github/codeql-action action to v4.38.3 (#21412) (renovate[bot])
  • 95e51a0 ci: re-enable @typescript-eslint/typescript-eslint in ecosystem tests (#21410) (Francesco Trotta)
  • 317fcb3 chore: update ecosystem plugins (#21409) (ESLint Bot)
  • b92decf perf: skip no-redeclare scan for single-declaration variables (#21365) (James Ross)
  • 47b7063 chore: update dependency @​eslint/json to ^2.1.1 (#21398) (renovate[bot])

... (truncated)

Commits
  • 12cbff4 10.14.0
  • 6b696e7 Build: changelog update for 10.14.0
  • 0e2ab70 ci: disable eslint-plugin-unicorn ecosystem test (#21462)
  • 4a12580 fix: require minimatch 10.2.6 to avoid vulnerable brace-expansion (#21460)
  • 0f94f47 docs: remove zh-hans from docs language switcher (#21437)
  • dab466e docs: Update README
  • 827a8f3 fix: no-restricted-globals crash on global objects as property values (#21449)
  • 97431f8 docs: replace --rulesdir with a virtual plugin in custom rules docs (#21452)
  • 6e3f988 chore: update github/codeql-action action to v4.39.1 (#21450)
  • 161558a fix: handle LS, PS and empty hashbang comments (#21419)
  • Additional commits viewable in compare view

Updates eslint-plugin-obsidianmd from 0.4.2 to 0.5.0

Release notes

Sourced from eslint-plugin-obsidianmd's releases.

0.5.0

Upgrading from 0.4.x? The breaking changes below each have a fix in Upgrading to 0.5.0. Rules that never ran before now do, so expect new findings, mostly from prefer-active-doc and from validate-manifest on a published id containing "obsidian", which its allowedWords option accepts. Test files no longer get the rules about code that runs in Obsidian, and no-undef no longer runs on TypeScript files, so most projects see fewer findings overall. Where a rewrite could break type-checking, --fix now leaves it to an editor suggestion, and rules that only reported, prefer-active-doc among them, now offer one.

Upgrading: a config block of rule overrides without files now also reaches manifest.json and LICENSE, and stops the run with could not find plugin "@typescript-eslint" (or "import"). Add files: ["**/*.{ts,cts,mts,tsx,js,cjs,mjs,jsx}"] to that block; see Rule overrides without files (documented in #238).

Changed

  • Breaking: Requires Node.js 20.19+, 22.13+ or 24+; Node.js 18 is no longer supported (#203).
  • Breaking: Moved to @eslint/json 2. A project that also registers @eslint/json itself for package.json or manifest.json must use 2.x, or ESLint reports Cannot redefine plugin "json" (#203, #222).
  • Breaking: ESLint's core JS rules now apply only to JS and TS files, not to package.json, manifest.json, LICENSE, locale JSON or other files. Files linted with your own parser, such as .vue or .svelte, need js.configs.recommended added for them (#204).
  • Breaking: ui/sentence-case is off in recommended and recommendedWithLocalesEn, as 0.3.0 intended. Opt in with ["warn", { enforceCamelCaseLower: true }] (#208).
  • Breaking: @typescript-eslint/no-misused-promises is replaced by obsidianmd/no-misused-promises. eslint-disable comments for the old rule still suppress the new one, but ESLint reports them as unused, so rename them (#210, #223).
  • Breaking: validate-manifest and validate-license now actually run on manifest.json and LICENSE, and prefer-active-doc warns in recommended, so existing projects can see new warnings (#191, #192, #187).
  • Breaking: Because manifest.json and LICENSE are now linted, a type-checked config you add without files (for example a top-level ...tseslint.configs.strictTypeChecked) aborts the run on them with "You have used a rule which requires type information", as it already did on package.json. Scope it to your TypeScript files (#191, #192).
  • Breaking: obsidian is no longer installed for you; it was supplied only by accident. Install it in your project (sample-plugin projects already have it), or no-unsupported-api reports nothing (#201).
  • Breaking: The core JS rules come from the installed ESLint, so ESLint 10 gets ESLint 10's recommended set, which adds no-unassigned-vars, no-useless-assignment and preserve-caught-error; ESLint 9 gets the same rules as before. @eslint/js is no longer installed for you: if your config imports it, add it to your devDependencies (sample-plugin projects already have it) (#223).
  • Breaking: In a desktop-only repository, raising no-nodejs-modules' severity no longer turns it back on; use ["error", { isDesktopOnly: false }] (#193).
  • Test files (the files the community scanner leaves out as tests, such as **/*.{test,spec}.* and anything under test/, tests/, __tests__/, mocks/ or __mocks__/, and end-to-end tests: **/*.e2e.*, anything under e2e/ or e2e-tests/, and WebdriverIO and Playwright configs) no longer get the rules about code that runs in Obsidian: no-global-this, prefer-active-doc, prefer-create-el, prefer-instanceof, prefer-window-timers, no-nodejs-modules, no-tfile-tfolder-cast, hardcoded-config-path, no-unsupported-api and regex-lookbehind. Tests run in Node, not in Obsidian or on iOS, and in popular plugins most of these rules' findings came from them. Security rules still apply (#217, #219, #223).
  • Only a literal "isDesktopOnly": true in manifest.json counts as desktop-only, for no-nodejs-modules, regex-lookbehind and the Node.js globals alike; a malformed value such as "false" no longer switches the checks off (#193).
  • @typescript-eslint/no-require-imports is off and require is a readonly global again, as in 0.2.9, so a disable comment for it is now reported as unused (#209).
  • no-unused-vars ignores _-prefixed caught errors and destructured array elements again, as in 0.2.9; a dead _x variable is still reported (#209).
  • Breaking: ruleConfigs now hold exactly the obsidianmd rules the recommended config sets for JS and TS files: no-nodejs-modules, rule-custom-message and no-misused-promises added; @typescript-eslint/no-deprecated moved out, and so did validate-manifest and validate-license, which lint manifest.json and LICENSE in blocks of their own. If you use ruleConfigs without the recommended config, enable @typescript-eslint/no-deprecated yourself (#191, #192, #207, #210).
  • The exported configs are typed with your own ESLint's Linter.Config[], which its defineConfig accepts (#203).
  • Web worker files (**/*.worker.*, **/workers/**) no longer get the window-only rules, whose globalThis → window and setTimeout() → window.setTimeout() autofixes broke them, and get worker globals instead of the browser and Obsidian ones; security rules still apply (#207, #223).
  • Peer dependencies are ranges: eslint >=9.19.0, typescript >=4.8.4 (before, a dependency pinned to 5.4.5) and typescript-eslint ^8.35.1. @eslint/js, @eslint/json and obsidian are no longer peers, and @eslint/json and eslint-plugin-depend use caret ranges so a project using them directly shares one copy (#201, #212).
  • typescript-eslint 8.70.1 or later is recommended: it fixes a no-unnecessary-type-assertion false positive on an empty object asserted to a Recordtypescript-eslint/typescript-eslint#12856Cannot redefine plugin "@typescript-eslint" (#212).
  • no-undef is off for TypeScript files, as typescript-eslint advises: the compiler reports undefined names itself, and no-undef misreported globals declared in a .d.ts or declare global block. JavaScript files keep it at warn (#213).
  • CI also runs check:eslint-docs on every pull request, and the build and docs workflows declare the token permissions they need (#213).
  • CI builds every pull request, including those into a release branch, and adds an ESLint 10 job. The publish workflow checks that the release tag matches package.json, publishes from a job that does not install dependencies, and publishes a prerelease under the next tag. The workflows' actions are pinned to commits, and a Dependabot config updates only the lockfile and the actions (#227).

Added

  • Editor suggestions for rules that only reported. They are offered one at a time in the editor, never applied by --fix, and each says what changes (#227):
    • prefer-active-doc suggests activeDocument in place of document, except where it would be shadowed or undeclared, in a worker file, after a check for the environment, or where document is compared or kept for later.
    • prefer-file-manager-trash-file suggests fileManager.trashFile() on the same app, which follows the user's "Deleted files" setting, in place of vault.delete() and vault.trash().
    • prefer-get-language suggests getLanguage(), importing it from obsidian. It returns "en" rather than null when no language is set.
    • object-assign suggests Object.assign({}, A, b) where the result is used, so that A is no longer changed.
    • vault/iterate suggests getFileByPath(p), which returns null rather than undefined when there is no such file.
    • commands/no-plugin-id-in-command-id and commands/no-command-in-command-id suggest the ID without the plugin ID or the word "command", unless nothing would be left or another command in the file has that ID. Renaming an ID drops the hotkeys users set for it.
    • commands/no-plugin-name-in-command-name and commands/no-command-in-command-name suggest the name without the plugin name or "command" at its start or end, with the separator or brackets around it.
    • commands/no-default-hotkeys suggests removing the hotkeys property, keeping the object's layout and comments.
    • A suggestion that needs a newer Obsidian than the plugin's minAppVersion (activeDocument 0.15.0, getFileByPath() 1.5.7, trashFile() 1.6.6, getLanguage() 1.8.7) is not offered. Where the version is unknown, its description names the version.
  • minAppVersion option for prefer-active-doc, prefer-file-manager-trash-file, prefer-get-language and vault/iterate, which overrides manifest.json as it does for no-unsupported-api (#227).
  • obsidianmd.withCustomMessages(rule, messages), which returns a plugin's rule with its messages replaced, matched as in rule-custom-message. Register the result in a plugin of your own and configure it with the rule's own options; its fixes, suggestions and type information keep working. Its types are exported as CustomMessages and WrappableRule. See Wrapping a plugin's rule (#223).
  • obsidianmd/no-misused-promises: typescript-eslint's rule without Obsidian's chaining then (Setting, BaseComponent) counted as a Promise (#210).
  • isDesktopOnly option for no-nodejs-modules, for repositories without a manifest.json (#193).
  • validate-manifest options for findings that can never be acted on, such as a published id containing "obsidian": allowedWords stops checking for "obsidian" or "plugin" in the id, name or description, matched case-insensitively, and ignore skips the noForbiddenWords or descriptionFormat checks (#191, #217).
  • obsidianmd/plain-text language, which reads LICENSE, LICENSE.md and LICENSE.txt (#192).
  • requireApiVersion guards accept a constant version, and any argument whose type is a single version string or a union of them, which proves its lowest member (#169, #205).
  • no-unsupported-api recognises early exits (if (!requireApiVersion(v)) return;), the else of a negated check, !check || api, a const holding the check's result, and &&/|| combinations of checks (#205).

... (truncated)

Changelog

Sourced from eslint-plugin-obsidianmd's changelog.

0.5.0's findings before adding the new ones below. New findings come from prefer-instanceof, which now reports e.target instanceof HTMLElement and similar checks of an event's target: they are false for an element of a popout window, and from no-unsupported-api, which now checks the APIs without a @since, such as activeDocument (0.15.0) and el.setCssProps() (1.1.7), against the first typings that declare them, from every version in the history of the obsidian-api repository. validate-manifest checks the plugin id only with the new checkId option.

Fixed

  • prefer-active-doc no longer reports document in a listener on the main window's document or window, such as this.registerDomEvent(document, "visibilitychange", () => document.visibilityState …) or a const handler only ever added to and removed from window, where it is the document of the window whose event is handled. It offers no suggestion where document is a listener's target, as in registerDomEvent(document, …) or document.removeEventListener(): activeDocument there attached the listener to whichever window had focus, and a removal could name another document than the addition. Also found in a sweep of 600 plugins, for code that is correct, or a suggestion that would move the bug to another window:
    • Not reported: document as the other choice to activeDocument (requireApiVersion("0.15.0") ? activeDocument : document, activeDocument ?? document); listed with other documents ([document, ...popoutDocuments], new Set([document, activeDocument])); and a lookup of UI only the main window has, by a class such as status-bar, workspace-ribbon, side-dock-ribbon, mod-left-split or mod-right-split, which a popout window lacks.
    • No suggestion where document is handed on as a value (an argument, an array element, a property's value, assigned, a default, a field's value or returned), in a function that compares a document with document, for document.dispatchEvent() (a plugin's event bus, whose listeners stay on the main document), for document.body.contains(el), or for an element looked up to be removed (document.getElementById("my-style")?.remove()).
    • A change to the main window's <body>, <html> or <head>, such as document.body.classList.add(), document.documentElement.style.setProperty() or document.head.appendChild(style), is reported with its own message and no suggestion: with activeDocument, a class added in one window could be removed from another. The message says to make the change, and undo it, in each window's document.
    • document.contains(el) suggests el.isConnected, with type information and where el is a Node that is never null or undefined, instead of activeDocument, which could check another window than the node's (#239).
  • prefer-window-timers, no-global-this and prefer-instanceof no longer report or rewrite code that is correct as it is, (#241):
    • prefer-window-timers no longer reports activeWindow.requestAnimationFrame() and activeWindow.cancelAnimationFrame(). Fixed to window., the callback waited while the main window was minimized.
    • Files named *-worker.* or *_worker.*, such as bergamot-translator-worker.js, are worker files, like *.worker.*: the recommended config switches the window-only rules off for them and gives them the worker globals. In a file of Emscripten output, which reads ENVIRONMENT_IS_WORKER or ENVIRONMENT_IS_NODE, prefer-window-timers and no-global-this offer suggestions instead of fixes, and prefer-active-doc offers none.
    • no-global-this no longer rewrites a read of a global only the project declares, such as global.DEFAULT_APP_KEY with declare global { var DEFAULT_APP_KEY: string }. A bundler's define replaces global.DEFAULT_APP_KEY but not window.DEFAULT_APP_KEY, which was undefined at runtime.
    • prefer-instanceof no longer reports a check against a constructor kept in a const from the node's own window, as in const Ctor = el.ownerDocument.defaultView?.HTMLElement, nor instanceof inside an instanceOf() polyfill, which the fix made call itself without end. It matches only the DOM's own Node and UIEvent, so React's synthetic events no longer get a suggestion that throws.
  • DOM and settings-tab rules no longer report these correct patterns, and --fix no longer changes what such code does (#242):
    • no-static-styles-assignment reports a setCssStyles() or setCssProps() property only for a fixed value, as for el.style.x = …, so setCssStyles({ top: `${y}px` }) is no longer reported (a 0.5.0 regression), and at that property. Clearing a style is not reported: "" or null assigned, passed to setProperty() or setAttribute("style", …), or given in setCssStyles(). style.setProperty("--name", …) is allowed for any value, like custom properties in setCssProps().
    • prefer-create-el does not report code inside a function, method or property named after one of the helpers, such as a polyfill (window.createDiv = …, Element.prototype.createEl = …) or a fake's createSpan() { return this.createEl("span"); }, where --fix made it call itself. activeDocument.createElement() and doc.createElement() are no longer reported when the window type has no DOM helpers, as with Obsidian's own types: the activeWindow.createEl() and doc.win.createEl() suggestions did not compile (#240).
    • no-forbidden-elements does not report a <style> or <link> created in a shadow root (attachShadow(), shadowRoot), which styles.css does not reach.
    • settings-tab/no-manual-html-headings reports only headings created on the tab's containerEl, not those in a container of the plugin's own, a setting's name or description, or a Notice fragment. A heading without text, such as a spacer, is reported without a fix, and one on a parameter named containerEl gets a suggestion rather than a fix.
    • settings-tab/no-problematic-settings-headings matches "settings" and "options" as whole words and names the word it found. It reports "General" and the plugin's name only when they are the whole heading, apart from "settings" or "options", so --fix no longer deletes a heading such as "Inline Numerals" in a plugin named Numerals.
  • no-unsupported-api no longer reports a member that earlier obsidian typings had before its @since, in a form the use fits: the @since of many members names the release that last changed them. setDisabled(true) (@since 1.2.3), Menu.addItem() (0.15.3), getLeaf(false) (0.16.0) and revealLeaf(leaf); (1.7.2) are in the 0.10.3, 0.9.12, 0.9.7 and 0.9.7 typings, and need those versions instead. A table built from every release on npm and every version in the history of the obsidian-api repository, from 0.9.7 on, records each member's signatures, and a call that needs a newer one is still reported at its @since, such as getLeaf("tab"), setTooltip(text, options) or revealLeaf(leaf).then(…). The rule also accepts a feature check of a newer API (typeof x.member === "function", "member" in x, x.member?.(), x.member &&) and no longer reports the check itself, allows newer APIs inside overrides of methods only newer Obsidian calls (getSettingDefinitions(), onPaneMenu() and others), and no longer reports Plugin.settings, which plugins assign themselves (#243).
  • no-misused-promises no longer reports the sample plugin's async onload() in a class extending Plugin with obsidian typings older than 1.7.2, which declare no Plugin.onload; 1.7.2 and later declare it as returning Promise<void> | void. async onunload() is still reported (#244).
  • no-nodejs-modules accepts Platform.isDesktopApp, !Platform.isMobile and !Platform.isMobileApp wherever it accepts Platform.isDesktop, and the negations for early exits, which count anywhere before the call, not only as a function's first statement. It also no longer reports a require() in a try block with a catch, an awaited import() there, an optional call such as window.require?.("fs"), or anything in a .d.ts file. 0.5.0 started checking window.require(), which reported such code in plugins including Obsidian's own Importer (#244).
  • False positives, and suggestions that changed what the code does, found by running 0.5.0 over 600 community plugins (#246):
    • editor-drop-paste reports only a handler that writes to its editor (replaceSelection(), replaceRange(), setValue(), transaction(), editor.cm.dispatch() and the like) or calls evt.preventDefault(). A handler that only observes the paste or drop, where preventDefault() would cancel Obsidian's own insertion, and one that passes evt to another function, are no longer reported.
    • prefer-file-manager-trash-file no longer suggests trashFile() for vault.delete(), which is often a deliberate permanent delete of the plugin's own files. It no longer reports a call whose second argument is not a literal, such as vault.trash(file, this.settings.useSystemTrash), a call in an if/else if, switch or ?: whose branches delete in different ways (the plugin's own setting for where deleted files go), or anything below minAppVersion 1.6.6, where there is no trashFile().
    • prefer-get-language and prefer-abstract-input-suggest report nothing below minAppVersion 1.8.7 and 1.4.10, where getLanguage() and AbstractInputSuggest do not exist yet. prefer-abstract-input-suggest takes a minAppVersion option for this, as the other two do.
    • detach-leaves reports, and fixes, only the onunload() of a class that extends Obsidian's Plugin, directly, through classes of the same file or, with type information, through any class. The autofix removed the call from a Component that detaches the leaves of a view type it then unregisters.
    • no-tfile-tfolder-cast no longer reports an assertion that only removes null or undefined, such as getActiveFile() as TFile or (TFile | null)[] as TFile[], nor the result of find(), findLast() or filter() whose callback tests instanceof of the asserted type, as in children.find((c) => c instanceof TFile && c.extension === "md") as TFile | undefined.
    • object-assign no longer reports a variable of the same function that holds an object made there, as in const defaultOptions = new OptionsClass(); return Object.assign(defaultOptions, options);, and offers no {} suggestion where the target is a class instance, which the copy would turn into a plain object.
    • commands/no-default-hotkeys no longer reports hotkeys: [], which sets no hotkey.
    • commands/no-plugin-id-in-command-id reports the plugin ID only where it starts the command ID, as a namespace; elsewhere, as in show-calendar-view of the plugin calendar, it names what the command acts on.
    • commands/no-command-in-command-name and commands/no-command-in-command-id report "command" only as a redundant label: with a separator or in brackets at the start or the end ("Command: open note"), or as the last word after a name that reads without it ("Open settings command"). "command" as what the command acts on, as in "Copy URI for command", "Raw command", "Run command", copy-command-id or open-command-selector, is no longer reported, and every name reported has a suggestion that leaves a name that reads.
    • commands/no-plugin-name-in-command-name offers no suggestion where a lower-case word follows the plugin name after a space, as in "Zoom in" of the plugin "Zoom", which became "In".
    • The suggestions that rename a command ID say that executeCommandById() calls, obsidian:// URIs and other plugins that use the old ID stop working, besides users' hotkeys.
    • validate-license no longer reports the sample plugin's Dynalist Inc. line in a license that also has another holder's copyright line: it is the upstream notice kept as attribution.
  • prefer-active-doc reports document in an implementation of a DOM helper, such as a polyfill (window.createDiv = () => document.createElement("div")), which prefer-create-el leaves alone since #242; before, neither rule reported it (#247).
  • prefer-instanceof and prefer-create-el no longer fix or suggest code that needs a newer Obsidian than the plugin's minAppVersion (the new minAppVersion option, else manifest.json), which no-unsupported-api would then report. prefer-instanceof reports nothing below 0.15.0, which has no popout windows, and reports without a fix or a suggestion below 0.15.3, which first declares instanceOf() and targetNode. prefer-create-el does not report a call whose replacement needs createFragment() (0.9.11), createDiv() or createSpan() (0.10.0), createSvg() (1.1.0), activeWindow (0.15.0) or a document's win (0.15.3) below that version, where the native call or createEl() is the right one. Where no version is known, the fixes are applied as before, and a suggestion says which version it needs (#247).

Changed

  • no-unsupported-api now checks the declarations of obsidian.d.ts that have no @since, which it skipped, against the first obsidian typings that declare them, from every release on npm and every version in the history of the obsidian-api repository, which starts at 0.9.7, before the first typings on npm (0.11.13), and has versions npm lacks, such as 0.12.6, 1.1.0, 1.1.7 and 1.5.1: 137 in 1.14.4, such as normalizePath() (0.9.11), Menu (0.9.12), createDiv() and createSpan() (0.10.0), parseYaml() (0.11.11), activeWindow, activeDocument and HTMLElement.innerWidth (0.15.0), UIEvent.targetNode, Node.instanceOf, Node.doc and Node.win (0.15.3), createSvg() (1.1.0), HTMLElement.setCssStyles(), setCssProps() and nextFrame() (1.1.7), sleep() (0.14.3), Array.unique() (0.14.4), apiVersion (0.13.21), requestUrl() (0.13.26; 0.16.0 with a URL string) and Modal.setTitle() (1.5.1). Expect new findings with a minAppVersion below those. Where the history cannot tell whether a call fits an older signature, as the older types are kept only as hashes, it counts as fitting, as does null or undefined the older type leaves out, so scope.register([], "Enter", cb) and scope.register(null, null, cb) need 0.10.3. Those in the first typings, 0.9.7, are still not reported, nor are a write to a property, a member a base class declared earlier (FileView.navigation, from View), a field of one of Obsidian's classes declared later than the class (leaf.parent, modal.scope, this.app in an EditorSuggest), members of the obsidian module's own interfaces (data such as RequestUrlParam.url) and of interfaces only obsidian.d.ts declares (options such as DomElementInfo.placeholder), names the plugin or lib.dom declares too, and uses behind a guard or feature check (#247).
  • prefer-instanceof now reports instanceof on an event's target, relatedTarget, currentTarget or srcElement, such as e.target instanceof HTMLElement, which is false for a node of a popout window. Expect new warnings. They are never fixed; a suggestion of e.targetNode?.instanceOf(…) or (e.relatedTarget as Node | null)?.instanceOf(…) is offered only where it keeps the check's narrowing and the target cannot be a window (#241).
  • no-static-styles-assignment reports a setCssStyles() or setCssProps() call at its first fixed-value property instead of at the call, so an eslint-disable-next-line comment above a call written over several lines may need to move (#242).

... (truncated)

Commits
  • e92f36c chore: release 0.5.0 (#215)
  • 2c05f10 fix: prefer-active-doc: report document where a comment turns prefer-create-e...
  • 573e8b3 fix: the known bugs planned for 0.5.1 (rules, config, ESLint 10, old no-misus...
  • 9f03042 fix: accept @​eslint/json 2.0 and later, and complete the note on ESLint befor...
  • 58e7012 fix: autofix only where safe, suggest elsewhere (unsafe fixes found in the co...
  • 05f2169 fix: false positives, unsafe fixes and crashes found in the community-plugin ...
  • c79b49d docs: describe what every rule reports (#218)
  • 80ecfc1 fix: align validate-manifest with the scanner, exempt test files, guard prefe...
  • 43cb908 fix: no-global-this, prefer-create-el and vault/iterate before 0.5.0 (#216)
  • dbb4cc0 docs: fix the configuration examples and scanner section before 0.5.0 (#214)
  • Additional commits viewable in compare view

Updates globals from 17.12.0 to 17.14.0

Release notes

Sourced from globals's releases.

v17.14.0

  • Update globals (2026-11-01) (#355) 7abfb5d

sindresorhus/globals@v17.13.0...v17.14.0

v17.13.0

  • Update globals (2026-10-01) (#354) b007369

sindresorhus/globals@v17.12.0...v17.13.0

Commits

Updates obsidian from 1.13.1 to 1.14.4

Commits

Updates prettier from 3.9.9 to 3.9.10

Release notes

Sourced from prettier's releases.

3.9.10

  • Markdown: Update micromark-extension-gfm-table to fix the table parse issue on performance (#20266 by @​fisker)

🔗 Changelog

Changelog

Sourced from prettier's changelog.

3.9.10

diff

Markdown: Update micromark-extension-gfm-table to fix the table parse issue on performance (#20266 by @​fisker)

See micromark/micromark-extension-gfm-table@4f43ead for details.

Commits
  • 1172b82 Release 3.9.10
  • d014227 Update micromark-extension-gfm-table to fix the table parse issue on perfor...
  • 953b908 Bump Prettier dependency to 3.9.9
  • ad8a6bf Clean changelog_unreleased
  • See full diff in compare view

Updates typescript from 6.0.3 to 7.0.2

Release notes

Sourced from typescript's releases.

TypeScript 7.0.2

https://devblogs.microsoft.com/typescript/announcing-typescript-7-0/

This tag was originally released at: https://github.com/microsoft/typescript-go/releases/tag/typescript%2Fv7.0.2

Commits
  • 1e4744d Merge branch 'main' into ts7-release
  • a5a219cmicrosoft/typescript-go#4558
  • ecfe30d Update status localization
  • 5de25b5 Hide executable name in TypeScript status
  • d7ce74a Show bundled TypeScript version for packaged servers
  • 29be66a Correct TS 7 release version to 7.0.2
  • ed2bd1b Merge branch 'main' into ts7-release
  • 8873075 Bump the github-actions group across 1 directory with 3 updates (microsoft/ty...
  • 9427131 Set up stable / nightly extension split, other prep (microsoft/typescript-go#...
  • d4eaca5microsoft/typescript-go#4549
  • Additional commits viewable in compare view
Maintainer changes

This version was pushed to npm by microsoft1es, a new releaser for typescript since your current version.


Updates typescript-eslint from 8.70.1 to 8.72.1

Release notes

Sourced from typescript-eslint's releases.

v8.72.1

8.72.1 (2026-10-26)

🩹 Fixes

  • eslint-plugin: [no-unnecessary-condition] false positives on unresolved conditional types (#13062)
  • eslint-plugin: [no-unnecessary-type-assertion] bound recursive type traversal instead of catching stack overflows (#13039)
  • typescript-estree: use one Program per tsconfig for the project service in single-run mode (#12988)

❤️ Thank You

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.72.0

8.72.0 (2026-10-19)

🚀 Features

  • eslint-plugin: lazy load rules (#13010)
  • eslint-plugin: [await-thenable] add allowMixedPromiseArrays option (#12992)
  • typescript-estree: error on abstract keyword that precedes export (#13019)

🩹 Fixes

  • ast-spec: add JSXFragment to JSXAttribute['value'] (#13051)
  • eslint-plugin: [prefer-readonly-parameter-types] check where allowed type aliases are declared (#13016)
  • eslint-plugin: [no-deprecated] report deprecated properties in object literals (#12704)
  • eslint-plugin: use isTypeLiteralType instead of type.isLiteral() to include bigint literals on TS < 5.0 (#13053)
  • eslint-plugin: [require-array-sort-compare] check tuples (#13058)
  • eslint-plugin: [require-array-sort-compare] ignore extra this type argument on TS < 5.1 (#13055)
  • type-utils: discriminateAnyType crashes when calling getAwaitedType on awaited type in TS < 5.0 (

… directory with 12 updates

Bumps the npm-development-dependencies group with 12 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@codemirror/autocomplete](https://github.com/codemirror/autocomplete) | `6.20.3` | `6.20.4` |
| [@codemirror/view](https://github.com/codemirror/view) | `6.43.13` | `6.43.15` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `26.6.2` | `26.6.6` |
| [eslint](https://github.com/eslint/eslint) | `10.11.0` | `10.14.0` |
| [eslint-plugin-obsidianmd](https://github.com/obsidianmd/eslint-plugin) | `0.4.2` | `0.5.0` |
| [globals](https://github.com/sindresorhus/globals) | `17.12.0` | `17.14.0` |
| [obsidian](https://github.com/obsidianmd/obsidian-api) | `1.13.1` | `1.14.4` |
| [prettier](https://github.com/prettier/prettier) | `3.9.9` | `3.9.10` |
| [typescript](https://github.com/microsoft/TypeScript) | `6.0.3` | `7.0.2` |
| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.70.1` | `8.72.1` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.3.1` | `8.3.6` |
| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `5.0.2` | `5.1.0` |



Updates `@codemirror/autocomplete` from 6.20.3 to 6.20.4
- [Changelog](https://github.com/codemirror/autocomplete/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/autocomplete/commits)

Updates `@codemirror/view` from 6.43.13 to 6.43.15
- [Changelog](https://github.com/codemirror/view/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/view/commits)

Updates `@types/node` from 26.6.2 to 26.6.6
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `eslint` from 10.11.0 to 10.14.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](eslint/eslint@v10.11.0...v10.14.0)

Updates `eslint-plugin-obsidianmd` from 0.4.2 to 0.5.0
- [Release notes](https://github.com/obsidianmd/eslint-plugin/releases)
- [Changelog](https://github.com/obsidianmd/eslint-plugin/blob/master/CHANGELOG.md)
- [Commits](obsidianmd/eslint-plugin@0.4.2...0.5.0)

Updates `globals` from 17.12.0 to 17.14.0
- [Release notes](https://github.com/sindresorhus/globals/releases)
- [Commits](sindresorhus/globals@v17.12.0...v17.14.0)

Updates `obsidian` from 1.13.1 to 1.14.4
- [Changelog](https://github.com/obsidianmd/obsidian-api/blob/master/CHANGELOG.md)
- [Commits](https://github.com/obsidianmd/obsidian-api/commits)

Updates `prettier` from 3.9.9 to 3.9.10
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](prettier/prettier@3.9.9...3.9.10)

Updates `typescript` from 6.0.3 to 7.0.2
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Commits](microsoft/TypeScript@v6.0.3...v7.0.2)

Updates `typescript-eslint` from 8.70.1 to 8.72.1
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.72.1/packages/typescript-eslint)

Updates `vite` from 8.3.1 to 8.3.6
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v8.3.6/packages/vite)

Updates `vitest` from 5.0.2 to 5.1.0
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md)
- [Commits](https://github.com/vitest-dev/vitest/commits/v5.1.0/packages/vitest)

---
updated-dependencies:
- dependency-name: "@codemirror/autocomplete"
  dependency-version: 6.20.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-development-dependencies
- dependency-name: "@codemirror/view"
  dependency-version: 6.43.15
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-development-dependencies
- dependency-name: "@types/node"
  dependency-version: 26.6.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-development-dependencies
- dependency-name: eslint
  dependency-version: 10.14.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-development-dependencies
- dependency-name: eslint-plugin-obsidianmd
  dependency-version: 0.5.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-development-dependencies
- dependency-name: globals
  dependency-version: 17.14.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-development-dependencies
- dependency-name: obsidian
  dependency-version: 1.14.4
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-development-dependencies
- dependency-name: prettier
  dependency-version: 3.9.10
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-development-dependencies
- dependency-name: typescript
  dependency-version: 7.0.2
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: npm-development-dependencies
- dependency-name: typescript-eslint
  dependency-version: 8.72.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-development-dependencies
- dependency-name: vite
  dependency-version: 8.3.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-development-dependencies
- dependency-name: vitest
  dependency-version: 5.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-development-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Nov 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants