diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..6313b56 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +* text=auto eol=lf diff --git a/AGENTS.md b/AGENTS.md index 71adb04..a018738 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -8,7 +8,7 @@ The AntelopeJS interface for HTTP and WebSocket APIs, published as `@antelopejs/ ## Tests -- `pnpm test` builds `dist`, then `ajs module test .` reads `src/antelope.test.ts` (`antelopeJs.test` in package.json) and runs the compiled suites in `dist/tests` against `@antelopejs/api` 1.3.0, a devDependency loaded as a local module. `pnpm-workspace.yaml` overrides its `@antelopejs/interface-api` dependency with a link to this package, so the suites exercise the local build: without the override they would test the published copy the api module installs. Port 5010 on 127.0.0.1 must be free. +- `pnpm test` builds `dist`, then `ajs module test .` reads `src/antelope.test.ts` (`antelopeJs.test` in package.json) and runs the compiled suites in `dist/tests` against `@antelopejs/api` 1.7.3, a devDependency loaded as a local module. `pnpm-workspace.yaml` overrides its `@antelopejs/interface-api` dependency with a link to this package, so the suites exercise the local build: without the override they would test the published copy the api module installs. Port 5010 on 127.0.0.1 must be free. - The suites live in `src/tests/`, not `src/test/`, so `knip.config.ts` lists them as entries. - The suites import the contract from `../index`, never from `@antelopejs/interface-api`: the package name resolves to the installed published copy unless a self-link exists, and `antelopejs/no-self-import-in-tests` rejects it. - The compiled suites ship in `dist/tests` and also run from implementation modules (`antelopeJs.implements`), where the core resolver hands out facades for every passed value: assert behaviour and structure, never reference identity. @@ -75,50 +75,51 @@ Verify a boundary against the imports a developer or agent would plausibly write ### What enforces what -| Rule | Enforced by | -| ------------------------------------------------------------------------------ | --------------------------------------------------- | -| Formatting | oxfmt | -| Lint findings are errors; no rule warns | oxlint preset | -| Comments are TSDoc, directives, or `SAFETY:` only | `antelopejs/no-comments` | -| Every test asserts | `antelopejs/require-assertion` | -| Tests read no files outside fixtures, helpers, locales | `antelopejs/no-fs-read-in-tests` | -| Tests import the code under test from local source, not their own package name | `antelopejs/no-self-import-in-tests` | -| No assertion that restates a constant | `antelopejs/no-constant-value-assertion` | -| No test whose only check is "is a function" | `antelopejs/no-typeof-function-only-test` | -| String-keyed object tables are read through own keys only | `antelopejs/no-inherited-key-lookup` | -| A type guard checks each member it narrows to; keys with `Object.hasOwn` | `antelopejs/no-presence-only-type-guard` | -| A type guard checks the nested elements and values it claims | review; no tool | -| A startup read does not decide an insert another replica can race | `antelopejs/no-read-then-insert` | -| `Object.assign` writes no `unknown`, `any` or mistyped value over a field | `antelopejs/no-unsafe-object-assign` | -| Every file type-aware lint reads is listed by a tsconfig | `antelopejs/require-tsconfig-include` | -| Params ≤ 5, function ≤ 120 lines, file ≤ 500 lines, depth ≤ 4, complexity ≤ 20 | `eslint/max-*`, `eslint/complexity` | -| Cleanup preserves declarations, runtime exports and DMS auto-imports | `antelopejs-api-diff ` | -| Comment-only changes preserve JavaScript emit | `antelopejs-comment-proof ` | -| PR-body proof tables are copied unedited from the current head | `antelopejs-body-check ` | -| PR-body findings-left lines are live diagnostics at HEAD | `antelopejs-body-check ` | -| Receiver, positional and unpublished-module behaviour | `antelopejs-api-diff --probe ` | -| Directive and `SAFETY:` reasons are true of the code | review; no tool | -| Evasion-only and patched-internal findings go under Attention | review; no tool | -| No-upward rules reject same-tier peers | review and import probes | -| No `@ts-ignore` | `typescript/ban-ts-comment` | -| No once-used type parameter standing in for `unknown` | `typescript/no-unnecessary-type-parameters` | -| No `any` passed, assigned or returned where a type is declared | `typescript/no-unsafe-{argument,assignment,return}` | -| Files ≤ 20,000 bytes, tests and agent files included | `antelopejs-check-size` (pre-commit) | -| Suppressions stay within `guardrails.suppressions.json` | `antelopejs-suppressions` (pre-commit, checks) | -| No lint config switches off a rule to stay under the budget | `antelopejs-suppressions` (pre-commit, checks) | -| No added directive disables the `SAFETY:`, comment or test rules | `antelopejs-suppressions` (pre-commit, checks) | -| An added suppression gives a specific reason | `antelopejs-suppressions` (pre-commit, checks) | -| A directive in a file a change touches suppresses something and gives a reason | `antelopejs-suppressions` (pre-commit, checks) | -| A block disable is closed in its file | `antelopejs-suppressions` (pre-commit, checks) | -| Types check | `tsc` (pre-push) | -| No dead files, exports, or dependencies | knip | -| Managed files match the pack | `antelopejs-sync --check` | -| A CI gate reads `needs.` only of jobs in its `needs` | `antelopejs-sync --check` | -| Entry-only rules exempt no tracked outsider | `antelopejs-sync --check` | -| A DMS layer's `build/backend-boundary.ts` is the pack's plugin | `antelopejs-sync --check` | -| No `skipLibCheck` in the root tsconfig or one `typecheck` or `build` uses | `antelopejs-sync --check` | -| `build` skips the lib check only over what `typecheck` checks | `antelopejs-sync --check` | -| `release` runs `typecheck` | `antelopejs-sync --check` | -| A test names the wrong implementation it catches | review; no tool | +| Rule | Enforced by | +| ---------------------------------------------------------------------------------- | --------------------------------------------------- | +| Formatting | oxfmt | +| Lint findings are errors; no rule warns | oxlint preset | +| Comments are TSDoc, directives, or `SAFETY:` only | `antelopejs/no-comments` | +| Every test asserts | `antelopejs/require-assertion` | +| Tests read no files outside fixtures, helpers, locales | `antelopejs/no-fs-read-in-tests` | +| Tests import the code under test from local source, not their own package name | `antelopejs/no-self-import-in-tests` | +| No assertion that restates a constant | `antelopejs/no-constant-value-assertion` | +| No test whose only check is "is a function" | `antelopejs/no-typeof-function-only-test` | +| String-keyed object tables are read through own keys only | `antelopejs/no-inherited-key-lookup` | +| A type guard checks each member it narrows to; keys with `Object.hasOwn` | `antelopejs/no-presence-only-type-guard` | +| A type guard checks the nested elements and values it claims | review; no tool | +| A startup read does not decide an insert another replica can race | `antelopejs/no-read-then-insert` | +| An async function or promise callback returns no unrun database query | `antelopejs/no-unrun-query` | +| `Object.assign` writes no `unknown`, `any` or mistyped value over a field | `antelopejs/no-unsafe-object-assign` | +| Every file type-aware lint reads is listed by a tsconfig that resolves its imports | `antelopejs/require-tsconfig-include` | +| Params ≤ 5, function ≤ 120 lines, file ≤ 500 lines, depth ≤ 4, complexity ≤ 20 | `eslint/max-*`, `eslint/complexity` | +| Cleanup preserves declarations, runtime exports and DMS auto-imports | `antelopejs-api-diff ` | +| Comment-only changes preserve JavaScript emit | `antelopejs-comment-proof ` | +| PR-body proof tables are copied unedited from the current head | `antelopejs-body-check ` | +| PR-body findings-left lines are live diagnostics at HEAD | `antelopejs-body-check ` | +| Receiver, positional and unpublished-module behaviour | `antelopejs-api-diff --probe ` | +| Directive and `SAFETY:` reasons are true of the code | review; no tool | +| Evasion-only and patched-internal findings go under Attention | review; no tool | +| No-upward rules reject same-tier peers | review and import probes | +| No `@ts-ignore` | `typescript/ban-ts-comment` | +| No once-used type parameter standing in for `unknown` | `typescript/no-unnecessary-type-parameters` | +| No `any` passed, assigned or returned where a type is declared | `typescript/no-unsafe-{argument,assignment,return}` | +| Files ≤ 20,000 bytes, tests and agent files included | `antelopejs-check-size` (pre-commit) | +| Suppressions stay within `guardrails.suppressions.json` | `antelopejs-suppressions` (pre-commit, checks) | +| No lint config switches off a rule to stay under the budget | `antelopejs-suppressions` (pre-commit, checks) | +| No added directive disables the `SAFETY:`, comment or test rules | `antelopejs-suppressions` (pre-commit, checks) | +| An added suppression gives a specific reason | `antelopejs-suppressions` (pre-commit, checks) | +| A directive in a file a change touches suppresses something and gives a reason | `antelopejs-suppressions` (pre-commit, checks) | +| A block disable is closed in its file | `antelopejs-suppressions` (pre-commit, checks) | +| Types check | `tsc` (pre-push) | +| No dead files, exports, or dependencies | knip | +| Managed files match the pack | `antelopejs-sync --check` | +| A CI gate reads `needs.` only of jobs in its `needs` | `antelopejs-sync --check` | +| Entry-only rules exempt no tracked outsider | `antelopejs-sync --check` | +| A DMS layer's `build/backend-boundary.ts` is the pack's plugin | `antelopejs-sync --check` | +| No `skipLibCheck` in the root tsconfig or one `typecheck` or `build` uses | `antelopejs-sync --check` | +| `build` skips the lib check only over what `typecheck` checks | `antelopejs-sync --check` | +| `release` runs `typecheck` | `antelopejs-sync --check` | +| A test names the wrong implementation it catches | review; no tool | diff --git a/README.md b/README.md index 02280a3..d8cd2fc 100644 --- a/README.md +++ b/README.md @@ -82,7 +82,7 @@ The module declares this peer dependency: | Package | Supported | Tested with | | ---------------------------- | ---------------- | ----------- | -| `@antelopejs/interface-core` | `>=0.4.0 <1.0.0` | `0.4.0` | +| `@antelopejs/interface-core` | `>=0.5.1 <0.6.0` | `0.5.1` | diff --git a/package.json b/package.json index 188dff2..10e0f55 100644 --- a/package.json +++ b/package.json @@ -58,10 +58,10 @@ "suppressions:update": "antelopejs-suppressions --update" }, "devDependencies": { - "@antelopejs/api": "1.7.0", - "@antelopejs/core": "^1.21.0", - "@antelopejs/interface-core": ">=0.4.0 <1.0.0", - "@antelopejs/tooling-configs": "^0.5.8", + "@antelopejs/api": "~1.7.3", + "@antelopejs/core": "~1.23.0", + "@antelopejs/interface-core": ">=0.5.1 <0.6.0", + "@antelopejs/tooling-configs": ">=0.6.0 <0.7.0", "@types/mocha": "^10.0.10", "@types/node": "^22.19.15", "@types/sinon": "^17.0.4", @@ -80,7 +80,7 @@ "ws": "^8.20.0" }, "peerDependencies": { - "@antelopejs/interface-core": ">=0.4.0 <1.0.0" + "@antelopejs/interface-core": ">=0.5.1 <0.6.0" }, "packageManager": "pnpm@10.6.5", "antelopeJs": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fe6c52b..804af6a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,17 +12,17 @@ importers: .: devDependencies: '@antelopejs/api': - specifier: 1.7.0 - version: 1.7.0(@antelopejs/core@1.21.0) + specifier: ~1.7.3 + version: 1.7.3(@antelopejs/core@1.23.0) '@antelopejs/core': - specifier: ^1.21.0 - version: 1.21.0 + specifier: ~1.23.0 + version: 1.23.0 '@antelopejs/interface-core': - specifier: '>=0.4.0 <1.0.0' - version: 0.4.0 + specifier: '>=0.5.1 <0.6.0' + version: 0.5.1 '@antelopejs/tooling-configs': - specifier: ^0.5.8 - version: 0.5.8(eslint-plugin-perfectionist@5.11.0(eslint@10.10.0(jiti@2.7.0))(typescript@5.9.3))(knip@6.34.0)(oxfmt@0.66.0)(oxlint@1.81.0(oxlint-tsgolint@7.0.2001)) + specifier: '>=0.6.0 <0.7.0' + version: 0.6.0(eslint-plugin-perfectionist@5.11.0(eslint@10.10.0(jiti@2.7.0))(typescript@5.9.3))(knip@6.34.0)(oxfmt@0.66.0)(oxlint@1.81.0(oxlint-tsgolint@7.0.2001)) '@types/mocha': specifier: ^10.0.10 version: 10.0.10 @@ -58,7 +58,7 @@ importers: version: 19.2.4(@types/node@22.19.15) release-it-changelogen: specifier: ^0.1.0 - version: 0.1.0(changelogen@0.5.7)(release-it@19.2.4(@types/node@22.19.15))(semver@7.7.4) + version: 0.1.0(changelogen@0.5.7)(release-it@19.2.4(@types/node@22.19.15))(semver@7.8.6) rimraf: specifier: ^6.1.3 version: 6.1.3 @@ -74,16 +74,16 @@ importers: packages: - '@antelopejs/api@1.7.0': - resolution: {integrity: sha512-1FlpkyVc7lkqJXl+qXWPqZv46ttjj/0ZA3iwgY/KISGoORmnu46HzQKwx9fGOCB4ZMUy2esL4M3oplmdpibgNg==} + '@antelopejs/api@1.7.3': + resolution: {integrity: sha512-8upgND1IyZlthJp+iglMRDTy0Cpuml1gBXD7zBWq+0QCCIiGIlwbskmIH1YqBrl1BSj+jW/R/vFWjSzHjvqQQQ==} peerDependencies: - '@antelopejs/core': '>=1.17.0 <2' + '@antelopejs/core': '>=1.21.0 <2' peerDependenciesMeta: '@antelopejs/core': optional: true - '@antelopejs/core@1.21.0': - resolution: {integrity: sha512-0+qxASgc1sF8MihvGYfrAy6m3XTPcrFJeeIH69ivI0cvtYmj71cjzTeXdKghBZb4ndTMQ2IXeKbK6zxrG2w4Tw==} + '@antelopejs/core@1.23.0': + resolution: {integrity: sha512-RZvKjGqY8UntJxBNXtoYSSQwQxvM+WUgWfwB/YbQVk7K7GFugDCj3zyoLWmWyQDg48lwNbfrLDAMGvQ4OFy1Jg==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true @@ -93,11 +93,11 @@ packages: '@antelopejs/interface-api': '>=0.3.0 <1.0.0' '@antelopejs/interface-core': '>=0.2.4 <1.0.0' - '@antelopejs/interface-core@0.4.0': - resolution: {integrity: sha512-IPX6dtt3KHknclN4mLOYeRYL2Odz1Pts+dtaZul62NghsBUX/0OFHD4Qhoaf+Beva4hjInbaF918ajr4Z5HVWQ==} + '@antelopejs/interface-core@0.5.1': + resolution: {integrity: sha512-ON/7TYA1yyT8UznzKi6vnwyjRU3byNE0OcFXBmf8dE/dqp8hKjeWHVyA2EUPOngmEimCLw4idZqOS5DJqMJx3g==} - '@antelopejs/tooling-configs@0.5.8': - resolution: {integrity: sha512-F4q6E2HWXEF0f6MHHOCQGheRzaNkX4e8JeYI92x6KajWJIkk8HroThU8jmIaP7Q23w6fIv8fveHtyc7pJ2hQHg==} + '@antelopejs/tooling-configs@0.6.0': + resolution: {integrity: sha512-DtGbS8grU8KKoB/HcvxKfwQy2AqQh7OUF2it85zf4czzZPodgdsw1/Ajj4onJvOYygqNgcd7D7EdDFtmY7FuDA==} engines: {node: '>=22.18.0'} hasBin: true peerDependencies: @@ -159,12 +159,12 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.12.2': - resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} + '@eslint-community/regexpp@4.12.3': + resolution: {integrity: sha512-R76UKbvsqI68DJJVTVyqFKqU98CN4+B+acxNfEA2IFarSzP0SjtKf/3+fFiXzTyv5Fj3PxLkGHe2wnVWWMxobQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/config-array@0.23.5': - resolution: {integrity: sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==} + '@eslint/config-array@0.23.6': + resolution: {integrity: sha512-WrTH7nioI9QPY4NZGnsywmecswJdgeq4BCM76qok9VgjTO29ZgUzUvcuJLVPYVQM4uDbaPBU0M33R9DIxI8X3w==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} '@eslint/config-helpers@0.7.0': @@ -341,6 +341,9 @@ packages: resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} + '@isaacs/nonrecursive-glob-match@1.1.0': + resolution: {integrity: sha512-GPm/Dbvk5RLmhRnxXIa7nTpK0xtl4E0wj0MslsuNiJ1FIROU+2+9lgUC/dgF7Ey4QCWhfEsgxilMRMCdHPfDfw==} + '@keyv/bigmap@1.3.1': resolution: {integrity: sha512-WbzE9sdmQtKy8vrNPa9BRnwZh5UF4s1KTmSK0KUVLo3eff5BlQNNWDnFOouNpKfPKDnms9xynJjsMYjMaT/aFQ==} engines: {node: '>= 18'} @@ -912,8 +915,8 @@ packages: '@types/esrecurse@4.3.1': resolution: {integrity: sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==} - '@types/estree@1.0.9': - resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} + '@types/estree@1.0.10': + resolution: {integrity: sha512-lTyOMnOcmRBzdCv6/4zUZCrEhV0xrqQiUZBZtVcbmLHBXKLnN8q89v/wKRF/Q0HbwVsqbIG3o5HDoFl9sduM+g==} '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} @@ -980,6 +983,10 @@ packages: resolution: {integrity: sha512-+rmdgPA+EXkNgKYvHvFfhrs35utXbwaC5PGpDquSXcoXQDKUA5UjV0LmTucG/4JXkM31BTu4TilHtrN8IVBe8w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript/typescript6@6.0.2': + resolution: {integrity: sha512-mbCddXd+jm7hfx7w2YU64/Av4/NqqeG3GoRZgxPcgoTxYjhrcfJRw9ULch71SS4G+Q3bOXFhRvPqjguN0Hyp5w==} + hasBin: true + acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -1067,6 +1074,10 @@ packages: resolution: {integrity: sha512-YovQ3rzhaLMIrDjNDMkNS01tea93qhEhG5xy8f6+R0l+dw3Ki+5sCoIoI942iuLZTHWogWktgwVDhU09iNEimQ==} engines: {node: 20 || >=22} + brace-expansion@5.0.13: + resolution: {integrity: sha512-Vh3dmFbc4wZeox7M9I/0L9GfFd83Su4+yCck/OF9Gi/P/dAHn0RT7X4K9R7gMNMhDck3DvhR6QXsnQdjjgwNvQ==} + engines: {node: 20 || >=22} + brace-expansion@5.0.5: resolution: {integrity: sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==} engines: {node: 18 || 20 || >=22} @@ -1826,6 +1837,10 @@ packages: resolution: {integrity: sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==} engines: {node: 18 || 20 || >=22} + minimatch@11.0.8: + resolution: {integrity: sha512-nFQuYSTVrGvysVBps5Ih+0BdnYFN/Cj3C816r6+p7yK+FHrVLGE4O4N9AFwykrlNlvM2HYt+Rad1Uiro6h88Ig==} + engines: {node: 20 || >=22} + minimatch@3.1.5: resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} @@ -2220,6 +2235,11 @@ packages: engines: {node: '>=10'} hasBin: true + semver@7.8.6: + resolution: {integrity: sha512-9lpSSU4Mly3mrtruwLs1eLK6+gzbzqeBFwRNjIjE+9LuDpWdYctrQlQ3ej1Ilgi7gknpsTRnPoLP8DpCHqHIJw==} + engines: {node: '>=10'} + hasBin: true + serialize-javascript@7.1.4: resolution: {integrity: sha512-FqlEuoTq/zRmA4Lg6aOqyH3lCHbUtCB0bmHCeFniX2GBdDqMJM3FwdvEhlE5Pim1dlt2FfBdVPmUNNiGhhKqpw==} engines: {node: '>=20.0.0'} @@ -2395,6 +2415,11 @@ packages: engines: {node: '>=14.17'} hasBin: true + typescript@6.0.3: + resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==} + engines: {node: '>=14.17'} + hasBin: true + ufo@1.6.4: resolution: {integrity: sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA==} @@ -2475,6 +2500,18 @@ packages: utf-8-validate: optional: true + ws@8.23.0: + resolution: {integrity: sha512-wCkmX8QMOrKjgO8HW2WyDbTSGeqkocxgDzS9iR79rEAexty6/2qzilx3Ag8Tqf9ykop3irLKle0MtVn5qjVnoQ==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + wsl-utils@0.1.0: resolution: {integrity: sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==} engines: {node: '>=18'} @@ -2532,22 +2569,22 @@ packages: snapshots: - '@antelopejs/api@1.7.0(@antelopejs/core@1.21.0)': + '@antelopejs/api@1.7.3(@antelopejs/core@1.23.0)': dependencies: '@antelopejs/interface-api': 'link:' - '@antelopejs/interface-api-util': 0.3.0(@antelopejs/interface-api@)(@antelopejs/interface-core@0.4.0) - '@antelopejs/interface-core': 0.4.0 + '@antelopejs/interface-api-util': 0.3.0(@antelopejs/interface-api@)(@antelopejs/interface-core@0.5.1) + '@antelopejs/interface-core': 0.5.1 reflect-metadata: 0.2.2 - ws: 8.20.0 + ws: 8.23.0 optionalDependencies: - '@antelopejs/core': 1.21.0 + '@antelopejs/core': 1.23.0 transitivePeerDependencies: - bufferutil - utf-8-validate - '@antelopejs/core@1.21.0': + '@antelopejs/core@1.23.0': dependencies: - '@antelopejs/interface-core': 0.4.0 + '@antelopejs/interface-core': 0.5.1 '@clack/prompts': 1.8.1 '@types/proper-lockfile': 4.1.4 commander: 13.1.0 @@ -2557,24 +2594,25 @@ snapshots: picocolors: 1.1.1 proper-lockfile: 4.1.2 reflect-metadata: 0.2.2 - semver: 7.7.4 + semver: 7.8.6 typescript: 5.9.3 - '@antelopejs/interface-api-util@0.3.0(@antelopejs/interface-api@)(@antelopejs/interface-core@0.4.0)': + '@antelopejs/interface-api-util@0.3.0(@antelopejs/interface-api@)(@antelopejs/interface-core@0.5.1)': dependencies: '@antelopejs/interface-api': 'link:' - '@antelopejs/interface-core': 0.4.0 + '@antelopejs/interface-core': 0.5.1 - '@antelopejs/interface-core@0.4.0': + '@antelopejs/interface-core@0.5.1': dependencies: reflect-metadata: 0.2.2 - '@antelopejs/tooling-configs@0.5.8(eslint-plugin-perfectionist@5.11.0(eslint@10.10.0(jiti@2.7.0))(typescript@5.9.3))(knip@6.34.0)(oxfmt@0.66.0)(oxlint@1.81.0(oxlint-tsgolint@7.0.2001))': + '@antelopejs/tooling-configs@0.6.0(eslint-plugin-perfectionist@5.11.0(eslint@10.10.0(jiti@2.7.0))(typescript@5.9.3))(knip@6.34.0)(oxfmt@0.66.0)(oxlint@1.81.0(oxlint-tsgolint@7.0.2001))': dependencies: '@oxlint/plugins': 1.81.0 + '@typescript/typescript6': 6.0.2 dts-bundle-generator: 9.5.1 minimatch: 10.2.6 - typescript: 5.9.3 + semver: 7.8.6 yaml: 2.9.1 optionalDependencies: eslint-plugin-perfectionist: 5.11.0(eslint@10.10.0(jiti@2.7.0))(typescript@5.9.3) @@ -2627,13 +2665,13 @@ snapshots: eslint: 10.10.0(jiti@2.7.0) eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.12.2': {} + '@eslint-community/regexpp@4.12.3': {} - '@eslint/config-array@0.23.5': + '@eslint/config-array@0.23.6': dependencies: '@eslint/object-schema': 3.0.5 debug: 4.4.3(supports-color@8.1.1) - minimatch: 10.2.6 + minimatch: 11.0.8 transitivePeerDependencies: - supports-color @@ -2802,6 +2840,8 @@ snapshots: wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 + '@isaacs/nonrecursive-glob-match@1.1.0': {} + '@keyv/bigmap@1.3.1(keyv@5.6.0)': dependencies: hashery: 1.5.1 @@ -3165,7 +3205,7 @@ snapshots: '@types/esrecurse@4.3.1': {} - '@types/estree@1.0.9': {} + '@types/estree@1.0.10': {} '@types/json-schema@7.0.15': {} @@ -3246,6 +3286,10 @@ snapshots: '@typescript-eslint/types': 8.69.0 eslint-visitor-keys: 5.0.1 + '@typescript/typescript6@6.0.2': + dependencies: + '@typescript/old': typescript@6.0.3 + acorn-jsx@5.3.2(acorn@8.19.0): dependencies: acorn: 8.19.0 @@ -3327,6 +3371,10 @@ snapshots: dependencies: balanced-match: 4.0.4 + brace-expansion@5.0.13: + dependencies: + balanced-match: 4.0.4 + brace-expansion@5.0.5: dependencies: balanced-match: 4.0.4 @@ -3415,7 +3463,7 @@ snapshots: pathe: 1.1.2 pkg-types: 1.3.1 scule: 1.3.0 - semver: 7.7.4 + semver: 7.8.6 std-env: 3.10.0 yaml: 2.9.1 transitivePeerDependencies: @@ -3580,7 +3628,7 @@ snapshots: eslint-scope@9.1.2: dependencies: '@types/esrecurse': 4.3.1 - '@types/estree': 1.0.9 + '@types/estree': 1.0.10 esrecurse: 4.3.0 estraverse: 5.3.0 @@ -3591,15 +3639,15 @@ snapshots: eslint@10.10.0(jiti@2.7.0): dependencies: '@eslint-community/eslint-utils': 4.10.1(eslint@10.10.0(jiti@2.7.0)) - '@eslint-community/regexpp': 4.12.2 - '@eslint/config-array': 0.23.5 + '@eslint-community/regexpp': 4.12.3 + '@eslint/config-array': 0.23.6 '@eslint/config-helpers': 0.7.0 '@eslint/core': 1.2.1 '@eslint/plugin-kit': 0.7.3 '@humanfs/node': 0.16.8 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.3 - '@types/estree': 1.0.9 + '@types/estree': 1.0.10 ajv: 6.15.0 cross-spawn: 7.0.6 debug: 4.4.3(supports-color@8.1.1) @@ -4107,6 +4155,11 @@ snapshots: dependencies: brace-expansion: 5.0.12 + minimatch@11.0.8: + dependencies: + '@isaacs/nonrecursive-glob-match': 1.1.0 + brace-expansion: 5.0.13 + minimatch@3.1.5: dependencies: brace-expansion: 1.1.21 @@ -4542,7 +4595,7 @@ snapshots: reflect-metadata@0.2.2: {} - release-it-changelogen@0.1.0(changelogen@0.5.7)(release-it@19.2.4(@types/node@22.19.15))(semver@7.7.4): + release-it-changelogen@0.1.0(changelogen@0.5.7)(release-it@19.2.4(@types/node@22.19.15))(semver@7.8.6): dependencies: chalk: 5.6.2 changelogen: 0.5.7 @@ -4551,7 +4604,7 @@ snapshots: execa: 8.0.1 pathe: 1.1.2 release-it: 19.2.4(@types/node@22.19.15) - semver: 7.7.4 + semver: 7.8.6 yargs-parser: 21.1.1 release-it@19.2.4(@types/node@22.19.15): @@ -4622,6 +4675,8 @@ snapshots: semver@7.7.4: {} + semver@7.8.6: {} + serialize-javascript@7.1.4: {} shebang-command@2.0.0: @@ -4790,6 +4845,8 @@ snapshots: typescript@5.9.3: {} + typescript@6.0.3: {} + ufo@1.6.4: {} unbash@4.0.11: {} @@ -4851,6 +4908,8 @@ snapshots: ws@8.20.0: {} + ws@8.23.0: {} + wsl-utils@0.1.0: dependencies: is-wsl: 3.1.1