(projectRoot: string, overrides?: Partial<SourceOptionsDefaults> | undefined): ModuleSourceOptions Create complete, normalized, validated source options from project root and optional overrides.
Merges overrides with DEFAULT_SOURCE_OPTIONS, then normalizes via
normalizeSourceOptions — so the returned object always has an absolute
projectRoot, slash-stripped path entries, and an explicit sourceRoot
(auto-derived for multi-path layouts). Throws on validation failure.
projectRoot
path to project root (typically process.cwd()); resolved to absolute
stringoverrides?
optional overrides for default options
Partial<SourceOptionsDefaults> | undefinedreturns
ModuleSourceOptions throws
Error- if validation fails (empty `sourcePaths`, or `sourceRoot` not a prefix of all `sourcePaths`)
examples
// Standard SvelteKit library
const options = createSourceOptions(process.cwd());// Multiple source directories
const options = createSourceOptions(process.cwd(), {
sourcePaths: ['src/lib', 'src/routes'],
sourceRoot: 'src',
});// Custom exclusions
const options = createSourceOptions(process.cwd(), {
exclude: ['**\/*.test.ts', '**\/*.internal.ts'],
});