Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions scripts/generate-framework-api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@

import { Project, type InterfaceDeclaration } from 'ts-morph';
import { readFileSync, writeFileSync } from 'node:fs';
import { resolve, dirname } from 'node:path';
import { fileURLToPath } from 'node:url';
import { resolve } from 'node:path';

const __dirname = dirname(fileURLToPath(import.meta.url));
// The package is CommonJS (no "type": "module"), so tsx runs this as CJS and __dirname is native.
// An import.meta.url shim would not typecheck against the root tsconfig (module: commonjs).
const ROOT = resolve(__dirname, '..');
const OUTPUT = resolve(ROOT, 'FRAMEWORK-API.md');

Expand Down
4 changes: 3 additions & 1 deletion tests/unit/performance-caches.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -728,8 +728,10 @@ describe('Native access security gates', () => {
});

function createTestService(mockModel: any) {
// CrudService is resolved at runtime via a dynamic import, so its compile-time type is `any`.
// TypeScript rejects `override` against an `any` base (TS4113); the method still overrides at runtime.
class TestService extends CrudService {
override get() { return null; }
get() { return null; }
callCollection(reason: string) { return this.getNativeCollection(reason); }
callConnection(reason: string) { return this.getNativeConnection(reason); }
}
Expand Down
6 changes: 3 additions & 3 deletions tests/unit/unified-field-whitelist.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,20 +35,20 @@ class ChildInput extends BaseInput {

class ChildWithExclude extends BaseInput {
@UnifiedField({ exclude: true })
override email?: string;
override email?: string = undefined;

@UnifiedField({ description: 'Phone', isOptional: true })
phone?: string;
}

class GrandchildReEnable extends ChildWithExclude {
@UnifiedField({ exclude: false, description: 'Email re-enabled', isOptional: true })
override email?: string;
override email?: string = undefined;
}

class ChildImplicitOverrideAttempt extends ChildWithExclude {
@UnifiedField({ description: 'Email implicit', isOptional: true })
override email?: string;
override email?: string = undefined;
}

class NoUnifiedFieldClass {
Expand Down
12 changes: 10 additions & 2 deletions tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,15 @@
"incremental": true,
"noImplicitOverride": true,
"skipLibCheck": true,
"types": ["vitest/globals", "node"]
"types": [
"vitest/globals",
"node"
]
},
"exclude": ["node_modules", "dist"]
"exclude": [
"node_modules",
"dist",
"vite.config.ts",
"src/core/modules/migrate/templates/migration-project.template.ts"
]
}
2 changes: 1 addition & 1 deletion vite.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ export default defineConfig({
adapter: 'nest',
appPath: './src/main.ts',
exportName: 'viteNodeApp',
tsCompiler: 'esbuild',
tsCompiler: 'swc',
}),
],
server: {
Expand Down