University of Peradeniya crestSCS Documentation
University of Peradeniya crestSCS Documentation
Department website

Start here

Repository handbookRepository overviewDevelopment

System design

ArchitectureAuthentication and authorizationPublic dataAPI contractsSchemas
UI system

Applications

Department Web applicationPeople applicationProjects applicationPortal application

Services

API serviceGitHub App serviceMailer service

Shared packages

Schemas packageUI packageTypeScript configuration packageESLint configuration package
Shared package internals
Tooling package internalsTypeScript presetsESLint presets

Development workflow

Testing and verificationDependency managementDocumentation authoringUI quality assurance

Operations

Continuous integrationEnvironment variablesOperationsSecurityTroubleshooting

Reference

Route referenceGlossary
Shared package internalsTooling package internals

How the shared TypeScript and ESLint packages distribute repository policy without copying configuration into workspaces.

Tooling package internals

packages/tsconfig and packages/eslint-config distribute compile-time and static-analysis policy. They do not produce application runtime code, but a change can affect every workspace during editing, testing, or building.

PackagePolicy it owns
@scs/tsconfigstrictness, target, module resolution, runtime types, JSX
@scs/eslint-configcorrectness, imports, unused code, Next.js, Tailwind, Worker rules

Read TypeScript presets for compiler inheritance and ESLint presets for flat-config composition and consumer settings.

UI theme and accessibility

Semantic color roles, light and dark tokens, theme hydration, standalone errors, focus, touch, motion, and contrast verification.

TypeScript presets

The shared compiler preset hierarchy, intended consumers, local configuration responsibilities, and verification impact.

On this page

Tooling package internals