Tools

Repository Author Commit message Committed SHA  
 
vite-plugin by dg added CLAUDE.md
vite-plugin by jeremy-step added host option and normalized dev server URL (#2)

Adds a `host` plugin option to override the Vite server host, and
normalizes `host: true` / '0.0.0.0' to 'localhost' in the generated
nette.json (http://0.0.0.0 otherwise redirects to localhost for every
asset). Port 80 is omitted from the URL, and a custom host is added to
`allowedHosts` for proxied/Docker development.

Reworked from #2 onto current master. Closes #1.

vite-plugin by dg updated github actions
claude-code by dg Released version 1.1.0
claude-code by dg added JSON validation hook using bundled seld/jsonlint

PHP's json_decode() reports only "Syntax error" without a line and
rejects the comments and trailing commas that JSONC files (tsconfig.json,
jsconfig.json, .vscode/*.json, *.jsonc) legitimately contain. The new
lint-json hook validates via the bundled seld/jsonlint parser (the one
Composer uses), which reports "Parse error on line N" with a caret and
accepts comments; trailing commas are stripped for JSONC files while
preserving line offsets. Extra JSONC files can be marked via the "jsonc"
list in .nette-claude.json.

claude-code by dg added PHP syntax validation hook and guarded the style fixer against invalid PHP
claude-code by dg added per-project path exclusion for plugin hooks

Hooks (fix-php-style, lint-latte, lint-neon, lint-js) now read an optional
.nette-claude.json, looked up upwards from the edited file, and skip paths
listed under each hook's "exclude". Shared logic lives in the new
plugins/shared/hook-config.php, required by all four hooks (fail-open if
missing). Patterns are gitignore-like: a slashless pattern matches a segment
at any depth, a pattern with a slash (or a leading slash) is anchored to the
config directory.

Also fixes an outdated hook path in tests/fix-php-style.phpt.

claude-code by dg extracted validation hooks into a separate nette-lint plugin
phpstan-rules by dg added CLAUDE.md
eslint-plugin by dg added CLAUDE.md
eslint-plugin by dg added support for JSX/TSX files
eslint-plugin by dg released version 0.3.0
eslint-plugin by dg added missing dependency, removed dead code
eslint-plugin by dg latte processor: use unique placeholders for expression tags

Code like `if ({$x}) {} else if ({$b}) {}` was replaced with
`if ([]) {} else if ([]) {}`, which ESLint reported as a duplicate
condition error. Using unique placeholders `[1]`, `[2]`, etc.
avoids these false positives.

Counter resets at the start of each preprocess() call.

eslint-plugin by dg .gitignore: added package-lock.json
eslint-plugin by dg added support for ESLint 10
phpstan-rules by dg nette/database row type narrowing (table/related/ref/insert)

Narrows return types based on a configurable table-to-entity-class
mapping (nette.database.mapping.tables), which is not yet part of the
nette/database distribution. Kept as the topmost commit so the whole
feature can be excluded or rebased independently.

Includes:
- TableRowTypeResolver shared resolver
- Explorer::table() -> Selection<EntityRow>
- ActiveRow::related() -> GroupedSelection<EntityRow>
- ActiveRow::ref() -> ?EntityRow
- Selection::insert() -> mapped EntityRow

phpstan-rules by dg RethrowAbortExceptionRule: don't report a dedicated catch (AbortException)

A catch that explicitly names AbortException (or a subtype) is a deliberate
swallow, e.g. Presenter::run() ending the lifecycle. Only broad catches
(\Throwable, \Exception) that swallow it incidentally are reported now.

mcp-inspector by dg added Tracy Logger WIP
mcp-inspector by dg added built-in toolkits [WIP]
mcp-inspector by dg added built-in DI toolkit
mcp-inspector by dg added inspector
code-checker by dg added CLAUDE.md
code-checker by dg Released version 3.4.0
code-checker by dg improved readme.md
code-checker by dg removed shortArraySyntaxFixer, invalidDoubleQuotedStringChecker, trailingPhpTagRemover

This is now handled by the nette/coding-standard package.

code-checker by dg strict_types check is now default behavior

The --strict-types option is removed from documentation. Its presence
is silently ignored for backward compatibility.

code-checker by dg auto-disable progress indicator when not running in a terminal
code-checker by dg fixed --short-arrays options requiring argument
phpstan-rules by dg warn when catch swallows Nette\Application\AbortException

New RethrowAbortExceptionRule flags the common presenter bug where a broad
catch (\Throwable)/catch (\Exception) swallows an AbortException thrown by
redirect()/forward()/terminate(), silently breaking the redirect. It fires
only when the try block can actually throw AbortException (detected via
method getThrowType()) and the first matching catch does not rethrow.
Carving out a catch (AbortException) { throw; } before the broad catch
silences it. Enabled by default.

phpstan-rules by dg narrow match subject string after Strings::match/matchAll

New StringsMatchTypeSpecifyingExtension narrows the subject of a
successful Strings::match()/matchAll() call inside a truthy context,
e.g. `if (Strings::match($s, '#\d+#'))` makes $s a non-empty-string.
Delegates to RegexArrayShapeMatcher::matchSubjectExpr().

phpstan-rules by dg infer $matches type in Strings::replace() callback from regex

New StringsReplaceClosureTypeExtension derives the exact capture-group
shape of the $matches argument of a Strings::replace() callback from the
constant pattern, via RegexArrayShapeMatcher. Falls back to no inference
for non-constant patterns/flags. NativeParameterReflection is internal
phpstan API, so phpstanApi.constructor is ignored for this file.

Last synchronization: 2026-07-07 19:02:44