chore: exclude generated TypeScript artifacts
This commit is contained in:
parent
352ffe0bf2
commit
c802f83bc0
10 changed files with 3 additions and 172 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -11,3 +11,4 @@ data/
|
||||||
backups/
|
backups/
|
||||||
playwright-report/
|
playwright-report/
|
||||||
test-results/
|
test-results/
|
||||||
|
*.tsbuildinfo
|
||||||
|
|
|
||||||
|
|
@ -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"]
|
"include": ["src"]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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"}
|
|
||||||
|
|
@ -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"]
|
"include": ["vite.config.ts"]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
2
apps/web/vite.config.d.ts
vendored
2
apps/web/vite.config.d.ts
vendored
|
|
@ -1,2 +0,0 @@
|
||||||
declare const _default: import("vite").UserConfig;
|
|
||||||
export default _default;
|
|
||||||
|
|
@ -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' }
|
|
||||||
});
|
|
||||||
119
packages/contracts/src/index.d.ts
vendored
119
packages/contracts/src/index.d.ts
vendored
|
|
@ -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>;
|
|
||||||
|
|
@ -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
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
|
|
||||||
Loading…
Add table
Reference in a new issue