Skip to content

Commit 8bcc348

Browse files
claude[bot]claude
andauthored
chore(lint): delete inert eslint-disable family comments in package sources (#14801)
package.json's lint script runs eslint with --no-inline-config, so every inline eslint-disable / eslint-disable-next-line / eslint-enable comment is ignored by the repo's only lint invocation. This deletes the 58 such comments across 26 non-test source files under packages/** that carry them at this branch's base (89a156a) -- comment removal only, no code change. Per-comment measurement against eslint.config.mjs (see PR body) confirms none of the named rules are configured there either, so the deletion cannot expose a live finding. Also re-anchors 5 line-number references in content/docs/permissions/system-context.mdx that check:system-context-census pins to exact lines in packages/rest/src/rest-server.ts -- one of this PR's comment deletions shifted those lines by one, and the gate's own --fix brought the anchors back in sync (verified green before and after). Fixes #14529 Claude-Session: https://claude.ai/code/session_01WLJQhde67SeTccsmnBVarV Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
1 parent b69da43 commit 8bcc348

27 files changed

Lines changed: 1 addition & 59 deletions

File tree

content/docs/permissions/system-context.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ The largest single consumer — **20 of the 109 sites**.
158158
|:--|:---|:---|:---|:---|
159159
| 48 | Object API-exposure gate bypassed (`apiEnabled` / `apiMethods`) | runtime | Get: internal self-writes ignore exposure declarations — these govern **external** exposure, not engine self-writes | `action-execution.ts:138` |
160160
| 49 | Action `requiredPermissions` bypassed | runtime | Get: engine self-invocation runs any action | `action-execution.ts:401` |
161-
| 50 | `manage_metadata` bypassed on metadata writes | runtime, rest | Get: schema writes without the capability | `domains/meta.ts:471`, `:874`, `rest-server.ts:4716`, `:6079`, `:6327`, `:6758`, `:6951` |
161+
| 50 | `manage_metadata` bypassed on metadata writes | runtime, rest | Get: schema writes without the capability | `domains/meta.ts:471`, `:874`, `rest-server.ts:4715`, `:6078`, `:6326`, `:6757`, `:6950` |
162162
| 51 | The shared metadata-write verdict itself returns `allowed` | metadata-core | Get: the one function all of row 50's doors consult answers yes before any capability is examined | `meta-write-capability.ts:134` |
163163
| 52 | Anonymous-deny seam satisfied on the domain dispatchers and the package/federation routes | runtime, rest | Get: passes with no `userId` | `domains/actions.ts:411`, `domains/ai.ts:60`, `domains/automation.ts:989`, `domains/meta.ts:232`, `domains/security.ts:78`, `domains/packages.ts:326`, `external-datasource-routes.ts:302`, `package-routes.ts:97` |
164164
| 53 | MCP principal check satisfied | runtime | Get: MCP surface reachable with no user | `domains/mcp.ts:61` |

packages/adapters/hono/src/index.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,13 @@ export type { Hono } from 'hono';
3030
* Minimal structural interface matching KernelManager from @objectstack/service-cloud.
3131
* Declared locally to avoid a circular build dependency.
3232
*/
33-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
3433
export type KernelManager = any;
3534

3635
/**
3736
* Opaque reference to an EnvironmentDriverRegistry from @objectstack/service-cloud.
3837
* Declared locally to avoid a circular build dependency. Pass an instance
3938
* of DefaultEnvironmentDriverRegistry from @objectstack/service-cloud at runtime.
4039
*/
41-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
4240
export type EnvironmentDriverRegistry = any;
4341
import {
4442
createOriginMatcher,

packages/cli/src/utils/schema-migration-plugins.ts

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -640,7 +640,6 @@ export function createDeclarationBootWriteGuard(): DeclarationBootWriteGuard {
640640
else refusals.set(key, { driver: driverName, method, object, count: 1 });
641641
if (!warned.has(key)) {
642642
warned.add(key);
643-
// eslint-disable-next-line no-console
644643
console.warn(
645644
`[migrate] ⚠ Refused ${method}() on ${object} via ${driverName}: a declaration `
646645
+ 'boot refuses row writes. The plugin that issued it registers a writing hook '
@@ -667,7 +666,6 @@ export function createDeclarationBootWriteGuard(): DeclarationBootWriteGuard {
667666
else rawExecutions.set(driverName, { driver: driverName, count: 1 });
668667
if (!warnedExec.has(driverName)) {
669668
warnedExec.add(driverName);
670-
// eslint-disable-next-line no-console
671669
console.warn(
672670
`[migrate] ⚠ Raw execute() called via ${driverName} during the declaration boot. `
673671
+ 'A raw command cannot be classified as read or write, so it was FORWARDED, not '
@@ -699,7 +697,6 @@ export function createDeclarationBootWriteGuard(): DeclarationBootWriteGuard {
699697
else immediateDdl.set(key, { driver: driverName, method, object, count: 1 });
700698
if (!warnedDdl.has(driverName)) {
701699
warnedDdl.add(driverName);
702-
// eslint-disable-next-line no-console
703700
console.warn(
704701
`[migrate] ⚠ ${method}() on ${object} called via ${driverName} during the declaration boot. `
705702
+ 'Immediate DDL is not held back by the schema deferral, so it was FORWARDED, not '
@@ -1137,7 +1134,6 @@ export async function buildSchemaMigrationPlugins(opts: {
11371134
+ 'The plan below covers ONLY the objects the data stack registered — it does NOT '
11381135
+ "cover this deployment's own objects, so an empty plan here is UNMEASURED, not "
11391136
+ '"in sync". Fix the config (or its environment) and re-run.';
1140-
// eslint-disable-next-line no-console
11411137
console.warn(`[migrate] ⚠ ${line}`);
11421138
notes.push(line);
11431139
hostConfigError = message;
@@ -1280,7 +1276,6 @@ export function refuseWhenHostConfigUnloadable(
12801276
): boolean {
12811277
const line = describeUnloadableHostConfig(composition, options);
12821278
if (line === null) return false;
1283-
// eslint-disable-next-line no-console
12841279
console.error(`[migrate] ✗ ${line}`);
12851280
process.exitCode = 1;
12861281
return true;

packages/core/src/utils/metadata-activation-store.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -124,11 +124,8 @@ export interface MetadataActivationStore {
124124
* what is used keeps every test double honest about that.
125125
*/
126126
export interface MetadataActivationStoreEngine {
127-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
128127
find(object: string, options?: any): Promise<any[]>;
129-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
130128
insert(object: string, data: any, options?: any): Promise<any>;
131-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
132129
update(object: string, data: any, options?: any): Promise<any>;
133130
}
134131

@@ -224,7 +221,6 @@ export class ObjectStoreMetadataActivationStore implements MetadataActivationSto
224221
context: SYSTEM_CTX,
225222
});
226223
const current = Array.isArray(existing)
227-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
228224
? existing.find((r: any) => r?.organization_id == null)
229225
: undefined;
230226

packages/drivers/driver-sqlite-wasm/src/knex-wasm-dialect.ts

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ import {
3737
// re-bundling. We defer the actual `createRequire(...)` call so that the
3838
// CJS build (where `import.meta.url` is empty) doesn't blow up at module
3939
// init; the CJS path uses `globalThis.require` directly anyway.
40-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
4140
let cachedEsmRequire: any = null;
4241
function getEsmRequire(): any {
4342
if (cachedEsmRequire) return cachedEsmRequire;
@@ -168,7 +167,6 @@ export function statementMutatesDatabase(sql: string, method?: string): boolean
168167
* Wrapped in a function so the bundler cannot execute it at module init.
169168
*/
170169
function resolveKnexSqlite3Dialect(): any {
171-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
172170
const g = globalThis as any;
173171
if (typeof g.require === 'function') {
174172
try {
@@ -184,7 +182,6 @@ function resolveKnexSqlite3Dialect(): any {
184182
return getEsmRequire()('knex/lib/dialects/sqlite3');
185183
}
186184

187-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
188185
let cachedDialect: any = null;
189186

190187
/**
@@ -193,7 +190,6 @@ let cachedDialect: any = null;
193190
* code so downstream re-bundlers (e.g. `packages/runtime`) cannot collapse
194191
* it into a Dynamic-require stub.
195192
*/
196-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
197193
export function getClient_WasmSqlite(): any {
198194
if (cachedDialect) return cachedDialect;
199195
const Client_SQLite3 = resolveKnexSqlite3Dialect();
@@ -317,7 +313,6 @@ export function getClient_WasmSqlite(): any {
317313
* in some bundlers, which defeats the lazy pattern. New code should call
318314
* `getClient_WasmSqlite()` directly.
319315
*/
320-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
321316
export const Client_WasmSqlite: any = new Proxy(function () {} as any, {
322317
get(_t, prop) {
323318
return (getClient_WasmSqlite() as any)[prop];

packages/metadata-protocol/src/sys-metadata-repository.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1034,7 +1034,6 @@ export class SysMetadataRepository implements MetadataRepository {
10341034
row,
10351035
);
10361036
// Strip body for the header projection.
1037-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
10381037
const { body, ...header } = item;
10391038
yield header;
10401039
}

packages/metadata/src/plugin.ts

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -633,33 +633,28 @@ export class MetadataPlugin implements Plugin {
633633
w.on('change', () => { void reload(); });
634634
w.on('add', () => { void reload(); });
635635
this.artifactWatcher = { close: () => w.close() };
636-
// eslint-disable-next-line no-console
637636
console.log('[MetadataPlugin] artifact file watcher attached', src.path);
638637
} catch (e: any) {
639638
ctx.logger.warn('[MetadataPlugin] artifact watcher failed to start', { error: e?.message });
640639
}
641640
}
642641
if (hub) {
643-
// eslint-disable-next-line no-console
644642
console.log('[MetadataPlugin] HMR endpoint registered at /api/v1/dev/metadata-events');
645643
} else {
646644
// Printed on every non-development boot, deliberately: a
647645
// closed door that says nothing is indistinguishable from a
648646
// door that was never asked about, and this line is what an
649647
// operator greps when the Studio preview stops
650648
// auto-reloading.
651-
// eslint-disable-next-line no-console
652649
console.log(
653650
'[MetadataPlugin] dev metadata-HMR endpoints NOT mounted — they require '
654651
+ `NODE_ENV=development (this process: ${process.env.NODE_ENV ? `NODE_ENV=${process.env.NODE_ENV}` : 'NODE_ENV unset, treated as production'})`,
655652
);
656653
}
657654
} else {
658-
// eslint-disable-next-line no-console
659655
console.log('[MetadataPlugin] HTTP server with getRawApp() not available — skipping HMR endpoint');
660656
}
661657
} catch (e: any) {
662-
// eslint-disable-next-line no-console
663658
console.warn('[MetadataPlugin] Failed to register HMR endpoint', e?.message);
664659
}
665660
}

packages/objectql/src/having-filter.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -361,7 +361,6 @@ function checkCondition(
361361
|| condition instanceof Date
362362
|| Array.isArray(condition)
363363
) {
364-
// eslint-disable-next-line eqeqeq
365364
return value == condition;
366365
}
367366

@@ -391,9 +390,7 @@ function checkCondition(
391390
}
392391
if (value === undefined && !NO_VALUE_ANSWERED_BY_OPERATOR.has(op)) return false;
393392
switch (op) {
394-
// eslint-disable-next-line eqeqeq
395393
case '$eq': if (value != target) return false; break;
396-
// eslint-disable-next-line eqeqeq
397394
case '$ne': if (value == target) return false; break;
398395
case '$gt': if (!(value > target)) return false; break;
399396
case '$gte': if (!(value >= target)) return false; break;

packages/objectql/src/validation/rule-validator.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2417,7 +2417,6 @@ function matchesNamedFormat(format: FormatRule['format'], str: string): boolean
24172417
return PHONE_RE.test(str);
24182418
case 'url':
24192419
try {
2420-
// eslint-disable-next-line no-new
24212420
new URL(str);
24222421
return true;
24232422
} catch {

packages/plugins/plugin-auth/src/auth-manager.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,6 @@ function installWebContainerRequestStatePolyfill(): void {
236236
if (!g[sym].context) g[sym].context = {};
237237
if (!g[sym].context.requestStateAsyncStorage) {
238238
g[sym].context.requestStateAsyncStorage = new WebContainerRequestStateAsyncLocalStorage();
239-
// eslint-disable-next-line no-console
240239
console.warn(
241240
'[AuthManager] WebContainer detected: installed synchronous request-state polyfill ' +
242241
'(node:async_hooks AsyncLocalStorage does not propagate context across await in WebContainer).',

0 commit comments

Comments
 (0)