Skip to content

Bump @typescript-eslint/eslint-plugin from 8.37.0 to 8.46.4#167

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/typescript-eslint/eslint-plugin-8.46.4
Closed

Bump @typescript-eslint/eslint-plugin from 8.37.0 to 8.46.4#167
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/typescript-eslint/eslint-plugin-8.46.4

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github Nov 10, 2025

Bumps @typescript-eslint/eslint-plugin from 8.37.0 to 8.46.4.

Release notes

Sourced from @​typescript-eslint/eslint-plugin's releases.

v8.46.4

8.46.4 (2025-11-10)

🩹 Fixes

  • eslint-plugin: [no-deprecated] fix double-report on computed literal identifiers (#11006, #10958)
  • eslint-plugin: handle override modifier in promise-function-async fixer (#11730)
  • parser: error when both projectService and project are set (#11333)

❤️ Thank You

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

v8.46.3

8.46.3 (2025-11-03)

🩹 Fixes

  • eslint-plugin: [no-misused-promises] expand union type to retrieve target property (#11706)
  • eslint-plugin: [no-duplicate-enum-values] support signed numbers (#11722, #11723)

❤️ Thank You

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

v8.46.2

8.46.2 (2025-10-20)

🩹 Fixes

  • eslint-plugin: [prefer-optional-chain] skip optional chaining when it could change the result (#11702)
  • typescript-estree: forbid invalid modifiers in object methods (#11689)

❤️ Thank You

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

v8.46.1

8.46.1 (2025-10-13)

... (truncated)

Changelog

Sourced from @​typescript-eslint/eslint-plugin's changelog.

8.46.4 (2025-11-10)

🩹 Fixes

  • parser: error when both projectService and project are set (#11333)
  • eslint-plugin: handle override modifier in promise-function-async fixer (#11730)
  • eslint-plugin: [no-deprecated] fix double-report on computed literal identifiers (#11006, #10958)

❤️ Thank You

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

8.46.3 (2025-11-03)

🩹 Fixes

  • eslint-plugin: [no-duplicate-enum-values] support signed numbers (#11722, #11723)
  • eslint-plugin: [no-misused-promises] expand union type to retrieve target property (#11706)

❤️ Thank You

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

8.46.2 (2025-10-20)

🩹 Fixes

  • eslint-plugin: [prefer-optional-chain] skip optional chaining when it could change the result (#11702)

❤️ Thank You

  • mdm317

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

8.46.1 (2025-10-13)

🩹 Fixes

  • eslint-plugin: [no-misused-promises] special-case .finally not to report when a promise returning function is provided as an argument (#11667)
  • eslint-plugin: [prefer-optional-chain] include mixed "nullish comparison style" chains in checks (#11533)

❤️ Thank You

... (truncated)

Commits
  • 843f144 chore(release): publish 8.46.4
  • 997e0c0 fix(parser): error when both projectService and project are set (#11333)
  • 7c6944e chore: fix typos (#11744)
  • 189a7f7 fix(eslint-plugin): handle override modifier in promise-function-async fixer ...
  • c779f3c fix(eslint-plugin): [no-deprecated] fix double-report on computed literal ide...
  • ea2ee6b chore(eslint-plugin): use correct type for return type of createValidator (...
  • d9f3497 chore(release): publish 8.46.3
  • 26a9f94 fix(eslint-plugin): [no-duplicate-enum-values] support signed numbers (#11722...
  • b8219d1 fix(eslint-plugin): [no-misused-promises] expand union type to retrieve targe...
  • 55ca033 chore(release): publish 8.46.2
  • Additional commits viewable in compare view
Maintainer changes

This version was pushed to npm by [GitHub Actions](https://www.npmjs.com/~GitHub Actions), a new releaser for @​typescript-eslint/eslint-plugin since your current version.


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 8.37.0 to 8.46.4.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.46.4/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-version: 8.46.4
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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 10, 2025
@joelteply joelteply closed this Nov 20, 2025
@dependabot @github
Copy link
Copy Markdown
Contributor Author

dependabot Bot commented on behalf of github Nov 20, 2025

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot dependabot Bot deleted the dependabot/npm_and_yarn/typescript-eslint/eslint-plugin-8.46.4 branch November 20, 2025 00:29
joelteply added a commit that referenced this pull request Jun 3, 2026
…exes, BaseEntity composition (tasks #166 + #167)

The Rust analogue of TS class decorators for the substrate's ORM.
Write the struct once, get the schema, the typed store, and (next
slice) the TS bindings for free. Define-once-in-Rust-generate-
everywhere doctrine made structural, not aspirational.

Per Joel 2026-06-03: "Entities need to be defined, and in one place,
rust (we are headless), then generated for all places, easy to do this
elegantly like we did with decorators in ts, but for rust" and "If
you're building ORM anyway, do it right for long term ... let's you
optimize with index" and "provide a relational db this time."

### New crate: continuum-orm-derive

`#[derive(Entity)]` with `#[entity(...)]` field + struct attributes.
Walks the struct, infers `FieldType` from the Rust type, honors
attribute overrides, emits `impl OrmEntity for #name` automatically.
The 100-line hand-written `collection_schema()` block collapses to
per-field annotations.

**Type inference:**
- `String` / `&str` → `String`
- `Uuid` (by type-name match) → `Uuid`
- `bool` → `Boolean`
- All integer + float types → `Number`
- `Vec<_>` / `HashMap` / `BTreeMap` / `HashSet` → `Json`
- `Option<T>` → inner T's type + `nullable = true`
- Enum or other named struct → `Json` (override via `#[entity(json)]`)

**Field attributes:**
- `#[entity(indexed)]` / `#[entity(unique)]` / `#[entity(nullable)]`
- `#[entity(json)]` — force JSON column
- `#[entity(skip)]` — exclude from schema (pair with `#[serde(skip)]`
  if you also want it out of the wire payload)
- `#[entity(foreign_key("collection.field"[, on_delete = "..."][, on_update = "..."]))]`
  — declares a real FK. Cascade keywords:
  `"restrict" | "cascade" | "set_null" | "no_action"`.

**Struct attributes:**
- `#[entity(collection = "name")]` — REQUIRED
- `#[entity(index(name = "...", fields = [...], unique = ...))]` —
  composite index; repeat for multiple

**BaseEntity composition:** TS-decorator analogue done via Rust idiom:
```rust
#[derive(Entity)]
#[entity(collection = "engrams")]
pub struct Engram {
    #[serde(flatten)]
    pub base: BaseEntity,  // recognized by type name; expands to base_entity_fields()
    pub content: String,
    ...
}
```
The derive detects the embedded `BaseEntity` and adds its columns to
the schema via `base_entity_fields()` rather than treating it as one
big JSON blob.

### Relational schema — FKs are first-class

- `SchemaField.foreign_key: Option<ForeignKeyRef>` — new typed FK
  reference carrying `(collection, field, on_delete, on_update)`.
- `CascadeRule` enum with `Restrict / Cascade / SetNull / NoAction`.
- Both `SqliteAdapter` and `PostgresAdapter` emit `FOREIGN KEY (...)
  REFERENCES ...(...) ON DELETE ... ON UPDATE ...` in `CREATE TABLE`.
- `PRAGMA foreign_keys=ON` set per SQLite connection so the constraint
  is actually enforced (sqlite parses but doesn't enforce by default).
- Composite indexes already supported via `SchemaIndex`; the derive
  now feeds them automatically.

### Bug fixes surfaced by the new tests

1. **SQLite Number affinity → integers were coerced to floats.**
   Existing tests passed because nothing deserialized to `i32`/`i64`.
   The derive's test entity uses `delta: i32`; SQLite REAL affinity
   stored `-7` then returned `-7.0`, failing deserialize. Changed
   `FieldType::Number` to NUMERIC affinity — preserves integers as
   integers, floats as floats.
2. **Self-alias in lib.rs.** Macro emits `::continuum_core::orm::*`
   absolute paths; inside the home crate those resolved nowhere.
   Added `extern crate self as continuum_core;` so home-crate code
   resolves the derive's emitted paths. Standard proc-macro pattern.

### 9/9 derive tests + 89/89 ORM tests green

- `collection_constant_matches_struct_attribute`
- `schema_has_base_columns_plus_domain_fields_minus_skipped`
- `field_types_inferred_correctly`
- `indexed_and_unique_attributes_propagate`
- `option_translates_to_nullable`
- `round_trip_through_orm_store` — end-to-end save/find/find_all
  through real SQLite using the derived schema
- `composite_index_attributes_propagate`
- `foreign_key_attribute_populates_schema_field`
- `foreign_key_cascade_deletes_children_via_db_enforcement` —
  parent + child entities, child references parent via FK, deleting
  parent CASCADE-wipes the child row at the DB layer (not via
  application cleanup). The proof point that the ORM is now
  genuinely relational.

### Existing SchemaField construction sites (64 across the tree)

Scripted addition of `foreign_key: None` to every existing literal so
the field's required-by-Rust-literal rule doesn't break callers. No
behavior change — existing entities don't have FKs yet.

### Not yet shipped (follow-up #168)

- Engram + RecallMetadata migration to `#[derive(Entity)]`. Engram's
  hand-written `impl OrmEntity` block stays for now; #168 deletes it
  and adds RecallMetadata's FK-linked sidecar.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
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 size: M

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant