chore: exclude generated TypeScript artifacts

This commit is contained in:
Christian Johannesen 2026-10-18 16:07:10 +02:00
parent 352ffe0bf2
commit c802f83bc0
10 changed files with 3 additions and 172 deletions

1
.gitignore vendored
View file

@ -11,3 +11,4 @@ data/
backups/
playwright-report/
test-results/
*.tsbuildinfo

View file

@ -1,4 +1,4 @@
{
"compilerOptions": { "target": "ES2022", "useDefineForClassFields": true, "lib": ["ES2022", "DOM", "DOM.Iterable"], "allowJs": false, "skipLibCheck": true, "esModuleInterop": true, "allowSyntheticDefaultImports": true, "strict": true, "forceConsistentCasingInFileNames": true, "module": "ESNext", "moduleResolution": "Bundler", "resolveJsonModule": true, "isolatedModules": true, "noEmit": true, "jsx": "react-jsx" },
"compilerOptions": { "target": "ES2022", "useDefineForClassFields": true, "lib": ["ES2022", "DOM", "DOM.Iterable"], "allowJs": false, "skipLibCheck": true, "esModuleInterop": true, "allowSyntheticDefaultImports": true, "strict": true, "forceConsistentCasingInFileNames": true, "module": "ESNext", "moduleResolution": "Bundler", "resolveJsonModule": true, "isolatedModules": true, "noEmit": true, "tsBuildInfoFile": "../../node_modules/.cache/web-app.tsbuildinfo", "jsx": "react-jsx" },
"include": ["src"]
}

View file

@ -1 +0,0 @@
{"root":["./src/main.tsx","./src/features/admin/adminpage.tsx","./src/features/library/librarypage.test.tsx","./src/features/library/librarypage.tsx","./src/features/topic/topicpage.tsx","./src/lib/api.ts","./src/store/ui.ts","./src/test/setup.ts","./src/ui/applayout.tsx"],"version":"5.9.3"}

View file

@ -1,4 +1,4 @@
{
"compilerOptions": { "composite": true, "skipLibCheck": true, "module": "ESNext", "moduleResolution": "Bundler", "allowSyntheticDefaultImports": true },
"compilerOptions": { "composite": true, "skipLibCheck": true, "module": "ESNext", "moduleResolution": "Bundler", "allowSyntheticDefaultImports": true, "noEmit": true, "tsBuildInfoFile": "../../node_modules/.cache/web-node.tsbuildinfo" },
"include": ["vite.config.ts"]
}

File diff suppressed because one or more lines are too long

View file

@ -1,2 +0,0 @@
declare const _default: import("vite").UserConfig;
export default _default;

View file

@ -1,12 +0,0 @@
import { defineConfig } from 'vitest/config';
import react from '@vitejs/plugin-react';
import { VitePWA } from 'vite-plugin-pwa';
export default defineConfig({
plugins: [react(), VitePWA({
registerType: 'autoUpdate',
manifest: { name: 'Tech Library', short_name: 'TechLib', description: 'Et levende opslagsværk om moderne softwareudvikling', theme_color: '#111714', background_color: '#f3f1e9', display: 'standalone', start_url: '/', icons: [{ src: '/icon.svg', sizes: 'any', type: 'image/svg+xml', purpose: 'any maskable' }] },
workbox: { navigateFallback: '/index.html', runtimeCaching: [] }
})],
server: { proxy: { '/api': 'http://localhost:3001', '/health': 'http://localhost:3001' } },
test: { environment: 'jsdom', setupFiles: './src/test/setup.ts' }
});

View file

@ -1,119 +0,0 @@
import { z } from 'zod';
export declare const topicTypes: readonly ["technology", "framework", "library", "language", "runtime", "tool", "platform", "standard", "practice", "architecture"];
export declare const relationTypes: readonly ["uses", "depends_on", "alternative_to", "integrates_with", "supersedes", "related_to"];
export declare const sourceTypes: readonly ["documentation", "changelog", "release_feed", "standards_body", "official_repository"];
export declare const topicSectionSchema: z.ZodObject<{
introduction: z.ZodString;
concepts: z.ZodArray<z.ZodString>;
useCases: z.ZodArray<z.ZodString>;
benefits: z.ZodArray<z.ZodString>;
limitations: z.ZodArray<z.ZodString>;
avoidWhen: z.ZodArray<z.ZodString>;
compatibility: z.ZodString;
requirements: z.ZodArray<z.ZodString>;
examples: z.ZodArray<z.ZodObject<{
title: z.ZodString;
language: z.ZodString;
code: z.ZodString;
}, z.core.$strip>>;
migrationNotes: z.ZodArray<z.ZodString>;
deprecations: z.ZodArray<z.ZodString>;
securityNotes: z.ZodArray<z.ZodString>;
}, z.core.$strip>;
export declare const topicRevisionInputSchema: z.ZodObject<{
title: z.ZodString;
slug: z.ZodString;
summary: z.ZodString;
audience: z.ZodArray<z.ZodEnum<{
beginner: "beginner";
intermediate: "intermediate";
advanced: "advanced";
}>>;
type: z.ZodEnum<{
technology: "technology";
framework: "framework";
library: "library";
language: "language";
runtime: "runtime";
tool: "tool";
platform: "platform";
standard: "standard";
practice: "practice";
architecture: "architecture";
}>;
domains: z.ZodArray<z.ZodString>;
tags: z.ZodArray<z.ZodString>;
aliases: z.ZodArray<z.ZodString>;
currentVersion: z.ZodNullable<z.ZodString>;
supportedVersions: z.ZodArray<z.ZodString>;
content: z.ZodObject<{
introduction: z.ZodString;
concepts: z.ZodArray<z.ZodString>;
useCases: z.ZodArray<z.ZodString>;
benefits: z.ZodArray<z.ZodString>;
limitations: z.ZodArray<z.ZodString>;
avoidWhen: z.ZodArray<z.ZodString>;
compatibility: z.ZodString;
requirements: z.ZodArray<z.ZodString>;
examples: z.ZodArray<z.ZodObject<{
title: z.ZodString;
language: z.ZodString;
code: z.ZodString;
}, z.core.$strip>>;
migrationNotes: z.ZodArray<z.ZodString>;
deprecations: z.ZodArray<z.ZodString>;
securityNotes: z.ZodArray<z.ZodString>;
}, z.core.$strip>;
changeNote: z.ZodString;
}, z.core.$strip>;
export type TopicRevisionInput = z.infer<typeof topicRevisionInputSchema>;
export type TopicSection = z.infer<typeof topicSectionSchema>;
export type TopicType = (typeof topicTypes)[number];
export type RelationType = (typeof relationTypes)[number];
export type SourceType = (typeof sourceTypes)[number];
export interface TopicListItem {
id: string;
slug: string;
title: string;
summary: string;
type: TopicType;
domains: string[];
tags: string[];
currentVersion: string | null;
verifiedAt: string;
}
export interface TopicDetail extends TopicListItem {
aliases: string[];
audience: string[];
supportedVersions: string[];
content: TopicSection;
revisionId: string;
revisionNumber: number;
relations: Array<{
type: RelationType;
topic: TopicListItem;
}>;
sources: Array<{
id: string;
title: string;
url: string;
publisher: string;
type: SourceType;
verifiedAt: string;
claims: string[];
}>;
}
export interface Paginated<T> {
items: T[];
total: number;
page: number;
pageSize: number;
}
export declare const findingStatusSchema: z.ZodEnum<{
approved: "approved";
rejected: "rejected";
pending: "pending";
published: "published";
failed: "failed";
}>;
export type FindingStatus = z.infer<typeof findingStatusSchema>;

View file

@ -1,34 +0,0 @@
import { z } from 'zod';
export const topicTypes = ['technology', 'framework', 'library', 'language', 'runtime', 'tool', 'platform', 'standard', 'practice', 'architecture'];
export const relationTypes = ['uses', 'depends_on', 'alternative_to', 'integrates_with', 'supersedes', 'related_to'];
export const sourceTypes = ['documentation', 'changelog', 'release_feed', 'standards_body', 'official_repository'];
export const topicSectionSchema = z.object({
introduction: z.string().min(1),
concepts: z.array(z.string()),
useCases: z.array(z.string()),
benefits: z.array(z.string()),
limitations: z.array(z.string()),
avoidWhen: z.array(z.string()),
compatibility: z.string(),
requirements: z.array(z.string()),
examples: z.array(z.object({ title: z.string(), language: z.string(), code: z.string() })),
migrationNotes: z.array(z.string()),
deprecations: z.array(z.string()),
securityNotes: z.array(z.string())
});
export const topicRevisionInputSchema = z.object({
title: z.string().min(2).max(120),
slug: z.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/),
summary: z.string().min(20).max(500),
audience: z.array(z.enum(['beginner', 'intermediate', 'advanced'])).min(1),
type: z.enum(topicTypes),
domains: z.array(z.string()).min(1),
tags: z.array(z.string()),
aliases: z.array(z.string()),
currentVersion: z.string().nullable(),
supportedVersions: z.array(z.string()),
content: topicSectionSchema,
changeNote: z.string().min(3)
});
export const findingStatusSchema = z.enum(['pending', 'approved', 'rejected', 'published', 'failed']);
//# sourceMappingURL=index.js.map

View file

@ -1 +0,0 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}