I use Emacs 30.0.91 and editorconfig-mode.

Emacs version is follows:
> This is GNU Emacs 30.0.91 (build 1, aarch64-apple-darwin23.6.0, NS
>  appkit-2487.70 Version 14.7 (Build 23H124)) of 2024-10-22

I have an .editorconfig file like this:

# .editorconfig
root = true

[*.js]
indent_size = 4
indent_style = tab
# .editorconfig ends here

When I open a *.js file in the same directory, the tab-width variable is not set.

In the editorconfig of Emacs 28.2 and NonGNU-devel ELPA 2024-Jul-28 version installed on another machine, when I add (debug-on-variable-change 'tab-width), I get a stack trace like this:

Debugger entered--setting tab-width in buffer test.js to 4:
  debug--implement-debug-watch(tab-width 4 set #<buffer test.js>)
  editorconfig-set-indentation("tab" "4" "4")
  editorconfig-set-local-variables(#<hash-table eql 3/65 0x15612d120fc3>)
  editorconfig--advice-find-file-noselect(#<subr find-file-noselect> "/home/tadsan/poc-emacs30-editorconfig/test.js")
  apply(editorconfig--advice-find-file-noselect #<subr find-file-noselect> "/home/tadsan/poc-emacs30-editorconfig/test.js")
  find-file-noselect("/home/tadsan/poc-emacs30-editorconfig/test.js")
  command-line-1(("-l" "init.el" "test.js"))
  command-line()
  normal-top-level()

Emacs version is follows:
> GNU Emacs 28.2 (build 2, x86_64-pc-linux-gnu) of 2023-05-14, modified by Debian

In Emacs 30.0.91, the debugger does not respond when watching the variable.

The files I used to check the operation are below:
https://github.com/zonuexe/poc-emacs30-editorconfig

Thank you in advance for your work on the Emacs 30 release.