svelte-typecheck 0.1.8 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/cli.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import"./shared-7cvnvjc0.js";import{EmitError,typecheck2,watch2,createBaseline2,applyBaseline2}from"./shared-msaa239m.js";import{readFileSync as readFileSync2,writeFileSync}from"node:fs";import{resolve}from"node:path";import{parseArgs}from"node:util";import{readFileSync}from"node:fs";import{relative,sep}from"node:path";var OUTPUT_FORMATS=["human","human-verbose","machine","machine-verbose"];function colors(force){let env=process.env,enabled=force??(env.FORCE_COLOR!==void 0?env.FORCE_COLOR!=="0":env.NO_COLOR===void 0&&Boolean(process.stdout.isTTY)&&env.TERM!=="dumb"),paint=(open,close)=>(text)=>enabled?`\x1B[${open}m${text}\x1B[${close}m`:text;return{red:paint(31,39),yellow:paint(33,39),green:paint(32,39),cyan:paint(36,39),magenta:paint(35,39)}}function lineOf(text,line){return text.split(`
2
+ import"./shared-n6kmzkr0.js";import{EmitError,typecheck2,watch2,createBaseline2,applyBaseline2}from"./shared-5mf34cks.js";import{readFileSync as readFileSync2,writeFileSync}from"node:fs";import{resolve}from"node:path";import{parseArgs}from"node:util";import{readFileSync}from"node:fs";import{relative,sep}from"node:path";var OUTPUT_FORMATS=["human","human-verbose","machine","machine-verbose"];function colors(force){let env=process.env,enabled=force??(env.FORCE_COLOR!==void 0?env.FORCE_COLOR!=="0":env.NO_COLOR===void 0&&Boolean(process.stdout.isTTY)&&env.TERM!=="dumb"),paint=(open,close)=>(text)=>enabled?`\x1B[${open}m${text}\x1B[${close}m`:text;return{red:paint(31,39),yellow:paint(33,39),green:paint(32,39),cyan:paint(36,39),magenta:paint(35,39)}}function lineOf(text,line){return text.split(`
3
3
  `)[line-1]??""}function codeFrame(d,c){let text;try{text=readFileSync(d.file,"utf-8")}catch{return""}let endLine=d.endLine??d.line,endColumn=d.endColumn??d.column,first=lineOf(text,d.line),last=lineOf(text,endLine),middle=d.line===endLine?first.slice(0,d.column-1)+c.magenta(first.slice(d.column-1,endColumn-1))+first.slice(endColumn-1):first.slice(0,d.column-1)+c.magenta([first.slice(d.column-1),...text.split(`
4
4
  `).slice(d.line,endLine-1),last.slice(0,endColumn-1)].join(`
5
5
  `))+last.slice(endColumn-1),before=d.line>1?`${lineOf(text,d.line-1)}
@@ -70,6 +70,6 @@ svelte-typecheck's own:
70
70
 
71
71
  Exits 1 on an error, or a warning with --fail-on-warnings.`;async function main(argv){let values;try{values=parse(argv).values}catch(error){return console.error(`${error.message}
72
72
 
73
- ${HELP}`),1}if(values.help)return console.log(HELP),0;if(values.version){let{version}=await import("./shared-2ek7s6xw.js");return console.log(version),0}let format=formatOf(values.output),out=writer(format,(text)=>process.stdout.write(text),colors(colorFlag(values.color,values["no-color"]))),options={workspace:values.workspace??".",tsconfig:values["no-tsconfig"]?!1:values.tsconfig,ignore:values.ignore?.split(","),config:values.config,checker:values.checker??(values.tsgo||values["tsgo-experimental-api"]?"tsgo":void 0),components:values.components,outDir:values["out-dir"],declarations:!values["no-declarations"],svelte:values.svelte,diagnosticSources:values["diagnostic-sources"]?.split(",").map((source)=>source.trim()),compilerWarnings:parseCompilerWarnings(values["compiler-warnings"]),incremental:!values["no-incremental"]};if(values.changed||values.since)try{options.only=changedFiles(process.cwd(),values.since)}catch(error){return out.failure(error),1}let baselinePath=values.baseline&&resolve(values.baseline);if(values["update-baseline"]&&!baselinePath)return out.failure(Error("--update-baseline needs --baseline <file>")),1;let strict=values["strict-baseline"];if(strict&&!baselinePath)return out.failure(Error("--strict-baseline needs --baseline <file>")),1;for(let flag of["update-baseline","strict-baseline"])if(values[flag]&&(values.changed||values.since))return out.failure(Error(`--${flag} takes every file's: drop --changed`)),1;let baseline;if(baselinePath&&!values["update-baseline"])try{baseline=JSON.parse(readFileSync2(baselinePath,"utf-8"))}catch{return out.failure(Error(`No baseline at ${baselinePath}: write one with --update-baseline`)),1}let errorsOnly=values.threshold==="error",failOnWarnings=values["fail-on-warnings"],report=(result,watching)=>{if(result instanceof Error)return out.failure(result instanceof EmitError?Error(`${result.message}
73
+ ${HELP}`),1}if(values.help)return console.log(HELP),0;if(values.version){let{version}=await import("./shared-hyyc56ch.js");return console.log(version),0}let format=formatOf(values.output),out=writer(format,(text)=>process.stdout.write(text),colors(colorFlag(values.color,values["no-color"]))),options={workspace:values.workspace??".",tsconfig:values["no-tsconfig"]?!1:values.tsconfig,ignore:values.ignore?.split(","),config:values.config,checker:values.checker??(values.tsgo||values["tsgo-experimental-api"]?"tsgo":void 0),components:values.components,outDir:values["out-dir"],declarations:!values["no-declarations"],svelte:values.svelte,diagnosticSources:values["diagnostic-sources"]?.split(",").map((source)=>source.trim()),compilerWarnings:parseCompilerWarnings(values["compiler-warnings"]),incremental:!values["no-incremental"]};if(values.changed||values.since)try{options.only=changedFiles(process.cwd(),values.since)}catch(error){return out.failure(error),1}let baselinePath=values.baseline&&resolve(values.baseline);if(values["update-baseline"]&&!baselinePath)return out.failure(Error("--update-baseline needs --baseline <file>")),1;let strict=values["strict-baseline"];if(strict&&!baselinePath)return out.failure(Error("--strict-baseline needs --baseline <file>")),1;for(let flag of["update-baseline","strict-baseline"])if(values[flag]&&(values.changed||values.since))return out.failure(Error(`--${flag} takes every file's: drop --changed`)),1;let baseline;if(baselinePath&&!values["update-baseline"])try{baseline=JSON.parse(readFileSync2(baselinePath,"utf-8"))}catch{return out.failure(Error(`No baseline at ${baselinePath}: write one with --update-baseline`)),1}let errorsOnly=values.threshold==="error",failOnWarnings=values["fail-on-warnings"],report=(result,watching)=>{if(result instanceof Error)return out.failure(result instanceof EmitError?Error(`${result.message}
74
74
  This is a svelte-typecheck bug; please report it.`):result),1;if(baselinePath&&values["update-baseline"]){let written=createBaseline2(result.diagnostics,result.workspace);return writeFileSync(baselinePath,`${JSON.stringify(written,null,2)}
75
75
  `),out.note(`Wrote ${result.diagnostics.length} diagnostics to ${baselinePath}`),0}let known=baseline?applyBaseline2(result.diagnostics,baseline,result.workspace):void 0,shown=known?known.diagnostics:result.diagnostics;out.start(result.workspace,watching&&!values.preserveWatchOutput);for(let d of shown)if(!errorsOnly||d.severity==="error")out.diagnostic(d,result.workspace);for(let f of result.failed)out.failure(Error(`${f.file}: failed to parse: ${f.message}`));let summary=summarize(shown,result.components);if(known?.known)out.note(`${known.known} more in the baseline, not shown`);if(known?.fixed)out.note(`${known.fixed} in the baseline are fixed: --update-baseline drops them`);if(result.skipped>0)out.note(`${result.skipped} more in files the changes don't reach, not shown`);return out.completion(summary,watching),summary.errors>0||result.failed.length>0||failOnWarnings&&summary.warnings>0||strict&&(known?.fixed??0)>0?1:0};if(values.watch)return watch2(options,(result)=>report(result,!0)),new Promise(()=>{});try{return report(await typecheck2(options),!1)}catch(error){return report(error,!1)}}function formatOf(output){if(output&&OUTPUT_FORMATS.includes(output))return output;return process.env.CLAUDECODE==="1"?"machine":"human-verbose"}function parse(argv){return parseArgs({args:argv,options:{workspace:{type:"string"},output:{type:"string"},tsconfig:{type:"string"},"no-tsconfig":{type:"boolean",default:!1},ignore:{type:"string"},config:{type:"string"},"diagnostic-sources":{type:"string"},threshold:{type:"string"},"compiler-warnings":{type:"string"},"fail-on-warnings":{type:"boolean",default:!1},color:{type:"boolean",default:!1},"no-color":{type:"boolean",default:!1},tsgo:{type:"boolean",default:!1},incremental:{type:"boolean",default:!1},"no-incremental":{type:"boolean",default:!1},watch:{type:"boolean",default:!1},preserveWatchOutput:{type:"boolean",default:!1},"tsgo-experimental-api":{type:"boolean",default:!1},checker:{type:"string"},components:{type:"string",multiple:!0},"out-dir":{type:"string"},"no-declarations":{type:"boolean",default:!1},svelte:{type:"string"},changed:{type:"boolean",default:!1},baseline:{type:"string"},"update-baseline":{type:"boolean",default:!1},"strict-baseline":{type:"boolean",default:!1},since:{type:"string"},help:{type:"boolean",short:"h",default:!1},version:{type:"boolean",short:"v",default:!1}}})}function parseCompilerWarnings(list){if(!list)return;let levels={};for(let entry of list.split(",")){let[code,level]=entry.trim().split(":");if(code&&(level==="ignore"||level==="error"))levels[code]=level}return levels}function colorFlag(on,off){if(on)return!0;if(off)return!1;return}process.exitCode=await main(process.argv.slice(2));
package/compile-worker.js CHANGED
@@ -1 +1 @@
1
- import{compileAll}from"./shared-exams0w3.js";import{parentPort}from"node:worker_threads";parentPort?.on("message",async({id,request})=>{try{parentPort?.postMessage({id,results:await compileAll(request)})}catch(error){parentPort?.postMessage({id,error:error instanceof Error?error.message:String(error)})}});
1
+ import{compileAll}from"./shared-ps9sbt7t.js";import{parentPort}from"node:worker_threads";parentPort?.on("message",async({id,request})=>{try{parentPort?.postMessage({id,result:await compileAll(request)})}catch(error){parentPort?.postMessage({id,error:error instanceof Error?error.message:String(error)})}});
package/index.js CHANGED
@@ -1 +1 @@
1
- import"./shared-7cvnvjc0.js";import{typecheck2,watch2,createBaseline2,applyBaseline2}from"./shared-msaa239m.js";import{compilerDiagnostics2}from"./shared-exams0w3.js";export{applyBaseline2 as applyBaseline,compilerDiagnostics2 as compilerDiagnostics,createBaseline2 as createBaseline,typecheck2 as typecheck,watch2 as watch};
1
+ import"./shared-n6kmzkr0.js";import{typecheck2,watch2,createBaseline2,applyBaseline2}from"./shared-5mf34cks.js";import{compilerDiagnostics2}from"./shared-ps9sbt7t.js";export{applyBaseline2 as applyBaseline,compilerDiagnostics2 as compilerDiagnostics,createBaseline2 as createBaseline,typecheck2 as typecheck,watch2 as watch};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svelte-typecheck",
3
- "version": "0.1.8",
3
+ "version": "0.1.9",
4
4
  "license": "MIT",
5
5
  "description": "A drop-in svelte-check replacement that checks with tsc, tsgo, tsrs or bun check. Up to 11x faster, zero dependencies.",
6
6
  "author": "Eric Liu (https://github.com/metonym)",
@@ -1,4 +1,4 @@
1
- import{version2}from"./shared-7cvnvjc0.js";import{lexImportsExports,configFingerprint,svelteDirOf,compileAll,compileOffThread}from"./shared-exams0w3.js";import{lexComponent2}from"./shared-8badht7e.js";import{createLocator}from"./shared-atsj8zxq.js";import{spawn}from"node:child_process";import{createHash}from"node:crypto";import{existsSync as existsSync3,readFileSync as readFileSync3,statSync}from"node:fs";import{mkdir,readFile,rm,writeFile}from"node:fs/promises";import{createRequire as createRequire2}from"node:module";import{basename as basename2,dirname as dirname3,join as join4,relative as relative2,resolve as resolve2,sep as sep2}from"node:path";import{existsSync,readFileSync}from"node:fs";import{delimiter,dirname,join}from"node:path";var CHECKERS=["tsc","tsgo","tsrs","bun"],PACKAGES={tsc:["typescript","tsc"],tsgo:["@typescript/native-preview","tsgo"],tsrs:["tsrs","tsrs"]},NODE_SHEBANG=/^#!.*\bnode\b/,WINDOWS_SHIM=/\.(cmd|bat)$/i;function onPath(name,platform=process.platform){let extensions=platform==="win32"?(process.env.PATHEXT??".COM;.EXE;.BAT;.CMD").split(";").filter(Boolean).flatMap((ext)=>[ext.toLowerCase(),ext]):[""];for(let dir of(process.env.PATH??"").split(delimiter)){if(!dir)continue;for(let ext of extensions){let candidate=join(dir,name+ext);if(existsSync(candidate))return candidate}}return}function packageDir(name,cwd){for(let dir=cwd;;dir=dirname(dir)){let candidate=join(dir,"node_modules",name);if(existsSync(join(candidate,"package.json")))return candidate;if(dirname(dir)===dir)return}}function checkerCommand(checker,cwd){if(checker==="bun"){let bun=process.versions.bun?process.execPath:onPath("bun");return bun?{command:bun,prefix:[],version:process.versions.bun}:void 0}let[name,bin]=PACKAGES[checker],dir=packageDir(name,cwd);if(dir){let pkg=JSON.parse(readFileSync(join(dir,"package.json"),"utf-8")),relative=typeof pkg.bin==="string"?pkg.bin:pkg.bin?.[bin];if(relative){let path=join(dir,relative),head=readFileSync(path,"utf-8").slice(0,100);return NODE_SHEBANG.test(head)?{command:process.execPath,prefix:[path],version:pkg.version}:{command:path,prefix:[],version:pkg.version}}}let found=onPath(bin);if(!found)return;return WINDOWS_SHIM.test(found)?{command:found,prefix:[],shell:!0}:{command:found,prefix:[]}}function checkerArgs(checker,tsconfig){return checker==="bun"?["check","-p",tsconfig,"--no-pretty","--all"]:["-p",tsconfig,"--pretty","false"]}import{readdirSync}from"node:fs";import{join as join2}from"node:path";var GLOB_LITERAL=/[.+^$()|[\]\\]/g,LEADING_DOT_SLASH=/^\.\//;function globToRegExp(pattern){let source="";for(let i=0;i<pattern.length;i++){let char=pattern[i]??"";if(char==="*"&&pattern[i+1]==="*"){let slash=pattern[i+2]==="/";source+=slash?"(?:.*/)?":".*",i+=slash?2:1}else if(char==="*")source+="[^/]*";else if(char==="?")source+="[^/]";else if(char==="{")source+="(?:";else if(char==="}")source+=")";else if(char===",")source+="|";else source+=char.replace(GLOB_LITERAL,String.raw`\$&`)}return new RegExp(`^${source}$`)}function matcher(globs){if(globs.length===0)return()=>!1;let res=globs.map((pattern)=>globToRegExp(pattern.replace(LEADING_DOT_SLASH,"")));return(path)=>res.some((re)=>re.test(path))}function glob(root,globs){let matches=matcher(globs),dotFolders=globs.some((g)=>g.startsWith(".")||g.includes("/.")),found=[],walk=(dir,prefix)=>{for(let entry of readdirSync(dir,{withFileTypes:!0})){let rel=prefix+entry.name;if(entry.isDirectory()){if(entry.name==="node_modules")continue;if(entry.name.startsWith(".")&&!dotFolders)continue;walk(join2(dir,entry.name),`${rel}/`)}else if(matches(rel))found.push(rel)}};return walk(root,""),found.sort()}import{existsSync as existsSync2,readFileSync as readFileSync2}from"node:fs";import{createRequire}from"node:module";import{basename,dirname as dirname2,isAbsolute,join as join3,relative,resolve,sep}from"node:path";var LINE_COMMENT=/\/\/[^\n]*/g,BLOCK_COMMENT=/\/\*[\s\S]*?\*\//g,TRAILING_COMMA=/,(\s*[}\]])/g,STRING=/"(?:[^"\\]|\\.)*"/g,PLACEHOLDER=/"\0(\d+)"/g,WILDCARD=/[*?{]/,HAS_EXTENSION=/\.[^/\\]+$/,NODE_MODULES_JS=/\/node_modules\/.+\.[cm]?js$/,DEFAULT_EXCLUDE=["node_modules","bower_components","jspm_packages"],CONFIG_DIR="${configDir}";function parseJsonc(text){let strings=[],stripped=text.replace(STRING,(s)=>`"\x00${strings.push(s)-1}"`).replace(LINE_COMMENT,"").replace(BLOCK_COMMENT,"").replace(TRAILING_COMMA,"$1").replaceAll(PLACEHOLDER,(_,i)=>strings[Number(i)]??"");return JSON.parse(stripped)}function readInputs(path,read=[]){read.push(path);let config=parseJsonc(readFileSync2(path,"utf-8")),dir=dirname2(path),absolute=(list)=>list?.map((p)=>resolve(dir,p)),inputs={},bases=typeof config.extends==="string"?[config.extends]:config.extends;for(let base of bases??[]){let basePath=base.startsWith(".")?resolve(dir,base):createRequire(path).resolve(base),baseInputs=readInputs(basePath,read),difference=toPosix(relative(dir,dirname2(basePath))),rebase=(specs)=>specs?.map((spec)=>difference&&!isAbsolute(spec)&&!spec.startsWith(CONFIG_DIR)?`${difference}/${spec}`:spec);inputs={...inputs,...defined({...baseInputs,includeSpecs:rebase(baseInputs.includeSpecs),excludeSpecs:rebase(baseInputs.excludeSpecs)})}}let options=config.compilerOptions,baseUrl=options?.baseUrl?resolve(dir,options.baseUrl):void 0,pathsBase=baseUrl??inputs.baseUrl??dir;return{...inputs,...defined({include:absolute(config.include),exclude:absolute(config.exclude),files:absolute(config.files),rootDirs:absolute(options?.rootDirs),checkJs:options?.checkJs,allowJs:options?.allowJs,skipLibCheck:options?.skipLibCheck,moduleResolution:options?.moduleResolution,includeSpecs:config.include,excludeSpecs:config.exclude,outDir:options?.outDir&&resolve(dir,options.outDir),declarationDir:options?.declarationDir&&resolve(dir,options.declarationDir),baseUrl,paths:options?.paths&&Object.fromEntries(Object.entries(options.paths).map(([key,targets])=>[key,targets.map((t)=>resolve(pathsBase,t))]))})}}function defined(inputs){return Object.fromEntries(Object.entries(inputs).filter(([,value])=>value!==void 0))}function findUp(from,name){for(let dir=from;;dir=dirname2(dir)){let path=join3(dir,name);if(existsSync2(path))return path;if(dirname2(dir)===dir)return}}function findTsconfig(dir){let ts=findUp(dir,"tsconfig.json"),js=findUp(dir,"jsconfig.json");return ts&&(!js||ts.length>=js.length)?ts:js}var toPosix=(path)=>path.split(sep).join("/"),asTypeScriptPath=(path)=>toPosix(path).replace(/^[A-Z]:/,(drive)=>drive.toLowerCase());function splitGlob(pattern){let parts=toPosix(pattern).split("/"),at=parts.findIndex((part)=>WILDCARD.test(part));if(at===-1)return[pattern,""];return[parts.slice(0,at).join("/")||"/",parts.slice(at).join("/")]}function svelteGlobOf(pattern){if(pattern.endsWith(".svelte"))return pattern;if(WILDCARD.test(pattern))return pattern.endsWith("*")?`${pattern.slice(0,-1)}*.svelte`:void 0;return HAS_EXTENSION.test(pattern)?void 0:`${pattern}/**/*.svelte`}function absoluteMatcher(patterns){let globs=patterns.flatMap((p)=>{let posix=toPosix(p);return WILDCARD.test(posix)?[posix]:[posix,`${posix}/**`]}),matches=matcher(globs.map((g)=>g.replace(/^\//,"")));return(path)=>matches(toPosix(path).replace(/^\//,""))}function projectOf(options){let{workspace}=options,tsconfig=tsconfigOf(workspace,options.tsconfig);if(options.tsconfig&&tsconfig&&!existsSync2(tsconfig))throw Error(`Could not find tsconfig/jsconfig file at ${tsconfig}`);if(!tsconfig){let isIgnored=ignoreMatcher(options.ignore??[]);return{components:glob(workspace,options.components??["**/*.svelte"]).filter((rel)=>!isIgnored(rel)).map((rel)=>join3(workspace,rel)),files:[],include:[],exclude:[],rootDirs:[],configFiles:[],paths:{},checkJs:!0,allowJs:!0,skipLibCheck:!0,selfExports:{},raw:{},reports:()=>!1}}let configFiles=[],inputs=readInputs(tsconfig,configFiles),raw=parseJsonc(readFileSync2(tsconfig,"utf-8")),include=inputs.include??(inputs.files?[]:[join3(dirname2(tsconfig),"**/*")]),exclude=inputs.exclude??DEFAULT_EXCLUDE.map((p)=>join3(dirname2(tsconfig),p)),files=new Set(inputs.files??[]),isExcluded=absoluteMatcher(exclude),components;if(options.components)components=glob(workspace,options.components).map((rel)=>join3(workspace,rel));else{let found=new Set([...files].filter((f)=>f.endsWith(".svelte")));for(let pattern of include){let svelteGlob=svelteGlobOf(pattern);if(!svelteGlob)continue;let[base,rest]=splitGlob(svelteGlob);if(!rest){if(existsSync2(base))found.add(base);continue}if(!existsSync2(base))continue;for(let rel of glob(base,[rest]))found.add(join3(base,rel))}components=[...found].sort()}return components=components.filter((path)=>!isExcluded(path)),{tsconfig,components,files:inputs.files??[],include,exclude,rootDirs:inputs.rootDirs??[],configFiles,paths:{...importsOf(dirname2(tsconfig)),...inputs.paths},checkJs:inputs.checkJs??!1,allowJs:inputs.allowJs??basename(tsconfig)==="jsconfig.json",skipLibCheck:inputs.skipLibCheck??!1,selfExports:LEGACY_RESOLUTION.test(inputs.moduleResolution??"")?{}:exportsOf(dirname2(tsconfig)),raw,inputSpecs:inputs.files||raw.references?void 0:{include:inputs.includeSpecs??["**/*"],exclude:inputs.excludeSpecs??[inputs.outDir,inputs.declarationDir].flatMap((dir)=>dir?[asTypeScriptPath(dir)]:[])},reports:(path)=>!NODE_MODULES_JS.test(toPosix(path))}}function importsOf(dir){let path=findUp(dir,"package.json");if(!path)return{};let imports;try{({imports}=JSON.parse(readFileSync2(path,"utf-8")))}catch{return{}}let paths={};for(let[key,value]of Object.entries(imports??{})){let target=importTarget(value);if(key.startsWith("#")&&target?.startsWith("./"))paths[key]=[resolve(dirname2(path),target)]}return paths}function exportsOf(dir){let path=findUp(dir,"package.json");if(!path)return{};let name,exports;try{({name,exports}=JSON.parse(readFileSync2(path,"utf-8")))}catch{return{}}if(typeof name!=="string"||exports==null)return{};let subpaths=typeof exports==="object"&&!Array.isArray(exports)&&Object.keys(exports).some((key)=>key.startsWith("."))?exports:{".":exports},paths={};for(let[key,value]of Object.entries(subpaths)){if(!key.startsWith("."))continue;let targets=exportTargets(value).filter((target)=>target.startsWith("./")).map((target)=>resolve(dirname2(path),target));if(targets.length>0)paths[key==="."?name:`${name}/${key.slice(2)}`]=targets}return paths}function exportTargets(value){if(typeof value==="string")return[value];if(Array.isArray(value))return value.flatMap(exportTargets);if(!value||typeof value!=="object")return[];return Object.entries(value).flatMap(([condition,target])=>EXPORT_CONDITIONS.has(condition)?exportTargets(target):[])}var EXPORT_CONDITIONS=new Set(["types","import","default"]),LEGACY_RESOLUTION=/^(node|node10|classic)$/i;function importTarget(value){if(typeof value==="string")return value;if(Array.isArray(value))return importTarget(value[0]);if(!value||typeof value!=="object")return;let conditions=value;for(let condition of["types","import","default"])if(condition in conditions)return importTarget(conditions[condition]);return importTarget(Object.values(conditions)[0])}var PROGRAM_FILE=/\.(svelte|[cm]?[jt]sx?)$/,JS_FILE=/\.[cm]?jsx?$/;function byFolder(a,b){let pa=a.split(sep),pb=b.split(sep);for(let i=0;i<Math.min(pa.length,pb.length);i++){if(pa[i]===pb[i])continue;let aFile=i===pa.length-1,bFile=i===pb.length-1;if(aFile!==bFile)return aFile?-1:1;return(pa[i]??"")<(pb[i]??"")?-1:1}return pa.length-pb.length}function programFiles(project){let isExcluded=absoluteMatcher(project.exclude),found=new Set(project.files);for(let pattern of project.include){let fileGlob=WILDCARD.test(pattern)||HAS_EXTENSION.test(pattern)?pattern:`${pattern}/**/*`,[base,rest]=splitGlob(fileGlob);if(!rest){if(existsSync2(base)&&PROGRAM_FILE.test(base)&&(project.allowJs||!JS_FILE.test(base)))found.add(base);continue}if(!existsSync2(base))continue;let matched=glob(base,[rest]).map((rel)=>join3(base,rel)).filter((path)=>PROGRAM_FILE.test(path)&&(project.allowJs||!JS_FILE.test(path))&&!isExcluded(path)).sort(byFolder);for(let path of matched)found.add(path)}return[...found]}function scriptsOf(project,test){let isExcluded=absoluteMatcher(project.exclude),found=new Set;for(let pattern of project.include){let scriptGlob=WILDCARD.test(pattern)||HAS_EXTENSION.test(pattern)?pattern:`${pattern}/**/*`,[base,rest]=splitGlob(scriptGlob);if(!rest){if(existsSync2(base)&&test(base))found.add(base);continue}if(!existsSync2(base))continue;for(let rel of glob(base,[rest])){let path=join3(base,rel);if(test(path)&&!isExcluded(path))found.add(path)}}return[...found].sort()}function relativeTo(from,path){let rel=toPosix(relative(from,path));return rel.startsWith(".")||isAbsolute(rel)?rel:`./${rel}`}function ignoreMatcher(patterns){let tests=patterns.map((raw)=>{let pattern=raw.trim();if(pattern.endsWith("**"))pattern=pattern.slice(0,-2);if(pattern.startsWith("**")){let rest=pattern.slice(2);if(rest.includes("*"))throw Error(INVALID_IGNORE);return(path)=>path.includes(rest)}if(pattern.includes("*"))throw Error(INVALID_IGNORE);return(path)=>path.startsWith(pattern)});return(path)=>tests.some((test)=>test(path))}var INVALID_IGNORE="Invalid --ignore pattern: only ** at the start or end is supported";function tsconfigOf(workspace,option){if(option===!1)return;if(option)return resolve(workspace,option);return findTsconfig(workspace)}var SHIMS={"shims.d.ts":`type SvelteStore<T> = {
1
+ import{version2}from"./shared-n6kmzkr0.js";import{lexImportsExports,configFingerprint,svelteDirOf,compileAll,compileOffThread}from"./shared-ps9sbt7t.js";import{lexComponent2}from"./shared-8badht7e.js";import{createLocator}from"./shared-atsj8zxq.js";import{spawn}from"node:child_process";import{createHash}from"node:crypto";import{existsSync as existsSync3,readFileSync as readFileSync3,statSync}from"node:fs";import{mkdir,readFile,rm,writeFile}from"node:fs/promises";import{createRequire as createRequire2}from"node:module";import{basename as basename2,dirname as dirname3,join as join4,relative as relative2,resolve as resolve2,sep as sep2}from"node:path";import{existsSync,readFileSync}from"node:fs";import{delimiter,dirname,join}from"node:path";var CHECKERS=["tsc","tsgo","tsrs","bun"],PACKAGES={tsc:["typescript","tsc"],tsgo:["@typescript/native-preview","tsgo"],tsrs:["tsrs","tsrs"]},NODE_SHEBANG=/^#!.*\bnode\b/,WINDOWS_SHIM=/\.(cmd|bat)$/i;function onPath(name,platform=process.platform){let extensions=platform==="win32"?(process.env.PATHEXT??".COM;.EXE;.BAT;.CMD").split(";").filter(Boolean).flatMap((ext)=>[ext.toLowerCase(),ext]):[""];for(let dir of(process.env.PATH??"").split(delimiter)){if(!dir)continue;for(let ext of extensions){let candidate=join(dir,name+ext);if(existsSync(candidate))return candidate}}return}function packageDir(name,cwd){for(let dir=cwd;;dir=dirname(dir)){let candidate=join(dir,"node_modules",name);if(existsSync(join(candidate,"package.json")))return candidate;if(dirname(dir)===dir)return}}function checkerCommand(checker,cwd){if(checker==="bun"){let bun=process.versions.bun?process.execPath:onPath("bun");return bun?{command:bun,prefix:[],version:process.versions.bun}:void 0}let[name,bin]=PACKAGES[checker],dir=packageDir(name,cwd);if(dir){let pkg=JSON.parse(readFileSync(join(dir,"package.json"),"utf-8")),relative=typeof pkg.bin==="string"?pkg.bin:pkg.bin?.[bin];if(relative){let path=join(dir,relative),head=readFileSync(path,"utf-8").slice(0,100);return NODE_SHEBANG.test(head)?{command:process.execPath,prefix:[path],version:pkg.version}:{command:path,prefix:[],version:pkg.version}}}let found=onPath(bin);if(!found)return;return WINDOWS_SHIM.test(found)?{command:found,prefix:[],shell:!0}:{command:found,prefix:[]}}function checkerArgs(checker,tsconfig){return checker==="bun"?["check","-p",tsconfig,"--no-pretty","--all"]:["-p",tsconfig,"--pretty","false"]}import{readdirSync}from"node:fs";import{join as join2}from"node:path";var GLOB_LITERAL=/[.+^$()|[\]\\]/g,LEADING_DOT_SLASH=/^\.\//;function globToRegExp(pattern){let source="";for(let i=0;i<pattern.length;i++){let char=pattern[i]??"";if(char==="*"&&pattern[i+1]==="*"){let slash=pattern[i+2]==="/";source+=slash?"(?:.*/)?":".*",i+=slash?2:1}else if(char==="*")source+="[^/]*";else if(char==="?")source+="[^/]";else if(char==="{")source+="(?:";else if(char==="}")source+=")";else if(char===",")source+="|";else source+=char.replace(GLOB_LITERAL,String.raw`\$&`)}return new RegExp(`^${source}$`)}function matcher(globs){if(globs.length===0)return()=>!1;let res=globs.map((pattern)=>globToRegExp(pattern.replace(LEADING_DOT_SLASH,"")));return(path)=>res.some((re)=>re.test(path))}function glob(root,globs){let matches=matcher(globs),dotFolders=globs.some((g)=>g.startsWith(".")||g.includes("/.")),found=[],walk=(dir,prefix)=>{for(let entry of readdirSync(dir,{withFileTypes:!0})){let rel=prefix+entry.name;if(entry.isDirectory()){if(entry.name==="node_modules")continue;if(entry.name.startsWith(".")&&!dotFolders)continue;walk(join2(dir,entry.name),`${rel}/`)}else if(matches(rel))found.push(rel)}};return walk(root,""),found.sort()}import{existsSync as existsSync2,readFileSync as readFileSync2}from"node:fs";import{createRequire}from"node:module";import{basename,dirname as dirname2,isAbsolute,join as join3,relative,resolve,sep}from"node:path";var LINE_COMMENT=/\/\/[^\n]*/g,BLOCK_COMMENT=/\/\*[\s\S]*?\*\//g,TRAILING_COMMA=/,(\s*[}\]])/g,STRING=/"(?:[^"\\]|\\.)*"/g,PLACEHOLDER=/"\0(\d+)"/g,WILDCARD=/[*?{]/,HAS_EXTENSION=/\.[^/\\]+$/,NODE_MODULES_JS=/\/node_modules\/.+\.[cm]?js$/,DEFAULT_EXCLUDE=["node_modules","bower_components","jspm_packages"],CONFIG_DIR="${configDir}";function parseJsonc(text){let strings=[],stripped=text.replace(STRING,(s)=>`"\x00${strings.push(s)-1}"`).replace(LINE_COMMENT,"").replace(BLOCK_COMMENT,"").replace(TRAILING_COMMA,"$1").replaceAll(PLACEHOLDER,(_,i)=>strings[Number(i)]??"");return JSON.parse(stripped)}function readInputs(path,read=[]){read.push(path);let config=parseJsonc(readFileSync2(path,"utf-8")),dir=dirname2(path),absolute=(list)=>list?.map((p)=>resolve(dir,p)),inputs={},bases=typeof config.extends==="string"?[config.extends]:config.extends;for(let base of bases??[]){let basePath=base.startsWith(".")?resolve(dir,base):createRequire(path).resolve(base),baseInputs=readInputs(basePath,read),difference=toPosix(relative(dir,dirname2(basePath))),rebase=(specs)=>specs?.map((spec)=>difference&&!isAbsolute(spec)&&!spec.startsWith(CONFIG_DIR)?`${difference}/${spec}`:spec);inputs={...inputs,...defined({...baseInputs,includeSpecs:rebase(baseInputs.includeSpecs),excludeSpecs:rebase(baseInputs.excludeSpecs)})}}let options=config.compilerOptions,baseUrl=options?.baseUrl?resolve(dir,options.baseUrl):void 0,pathsBase=baseUrl??inputs.baseUrl??dir;return{...inputs,...defined({include:absolute(config.include),exclude:absolute(config.exclude),files:absolute(config.files),rootDirs:absolute(options?.rootDirs),checkJs:options?.checkJs,allowJs:options?.allowJs,skipLibCheck:options?.skipLibCheck,moduleResolution:options?.moduleResolution,includeSpecs:config.include,excludeSpecs:config.exclude,outDir:options?.outDir&&resolve(dir,options.outDir),declarationDir:options?.declarationDir&&resolve(dir,options.declarationDir),baseUrl,paths:options?.paths&&Object.fromEntries(Object.entries(options.paths).map(([key,targets])=>[key,targets.map((t)=>resolve(pathsBase,t))]))})}}function defined(inputs){return Object.fromEntries(Object.entries(inputs).filter(([,value])=>value!==void 0))}function findUp(from,name){for(let dir=from;;dir=dirname2(dir)){let path=join3(dir,name);if(existsSync2(path))return path;if(dirname2(dir)===dir)return}}function findTsconfig(dir){let ts=findUp(dir,"tsconfig.json"),js=findUp(dir,"jsconfig.json");return ts&&(!js||ts.length>=js.length)?ts:js}var toPosix=(path)=>path.split(sep).join("/"),asTypeScriptPath=(path)=>toPosix(path).replace(/^[A-Z]:/,(drive)=>drive.toLowerCase());function splitGlob(pattern){let parts=toPosix(pattern).split("/"),at=parts.findIndex((part)=>WILDCARD.test(part));if(at===-1)return[pattern,""];return[parts.slice(0,at).join("/")||"/",parts.slice(at).join("/")]}function svelteGlobOf(pattern){if(pattern.endsWith(".svelte"))return pattern;if(WILDCARD.test(pattern))return pattern.endsWith("*")?`${pattern.slice(0,-1)}*.svelte`:void 0;return HAS_EXTENSION.test(pattern)?void 0:`${pattern}/**/*.svelte`}function absoluteMatcher(patterns){let globs=patterns.flatMap((p)=>{let posix=toPosix(p);return WILDCARD.test(posix)?[posix]:[posix,`${posix}/**`]}),matches=matcher(globs.map((g)=>g.replace(/^\//,"")));return(path)=>matches(toPosix(path).replace(/^\//,""))}function projectOf(options){let{workspace}=options,tsconfig=tsconfigOf(workspace,options.tsconfig);if(options.tsconfig&&tsconfig&&!existsSync2(tsconfig))throw Error(`Could not find tsconfig/jsconfig file at ${tsconfig}`);if(!tsconfig){let isIgnored=ignoreMatcher(options.ignore??[]);return{components:glob(workspace,options.components??["**/*.svelte"]).filter((rel)=>!isIgnored(rel)).map((rel)=>join3(workspace,rel)),files:[],include:[],exclude:[],rootDirs:[],configFiles:[],paths:{},checkJs:!0,allowJs:!0,skipLibCheck:!0,selfExports:{},raw:{},reports:()=>!1}}let configFiles=[],inputs=readInputs(tsconfig,configFiles),raw=parseJsonc(readFileSync2(tsconfig,"utf-8")),include=inputs.include??(inputs.files?[]:[join3(dirname2(tsconfig),"**/*")]),exclude=inputs.exclude??DEFAULT_EXCLUDE.map((p)=>join3(dirname2(tsconfig),p)),files=new Set(inputs.files??[]),isExcluded=absoluteMatcher(exclude),components;if(options.components)components=glob(workspace,options.components).map((rel)=>join3(workspace,rel));else{let found=new Set([...files].filter((f)=>f.endsWith(".svelte")));for(let pattern of include){let svelteGlob=svelteGlobOf(pattern);if(!svelteGlob)continue;let[base,rest]=splitGlob(svelteGlob);if(!rest){if(existsSync2(base))found.add(base);continue}if(!existsSync2(base))continue;for(let rel of glob(base,[rest]))found.add(join3(base,rel))}components=[...found].sort()}return components=components.filter((path)=>!isExcluded(path)),{tsconfig,components,files:inputs.files??[],include,exclude,rootDirs:inputs.rootDirs??[],configFiles,paths:{...importsOf(dirname2(tsconfig)),...inputs.paths},checkJs:inputs.checkJs??!1,allowJs:inputs.allowJs??basename(tsconfig)==="jsconfig.json",skipLibCheck:inputs.skipLibCheck??!1,selfExports:LEGACY_RESOLUTION.test(inputs.moduleResolution??"")?{}:exportsOf(dirname2(tsconfig)),raw,inputSpecs:inputs.files||raw.references?void 0:{include:inputs.includeSpecs??["**/*"],exclude:inputs.excludeSpecs??[inputs.outDir,inputs.declarationDir].flatMap((dir)=>dir?[asTypeScriptPath(dir)]:[])},reports:(path)=>!NODE_MODULES_JS.test(toPosix(path))}}function importsOf(dir){let path=findUp(dir,"package.json");if(!path)return{};let imports;try{({imports}=JSON.parse(readFileSync2(path,"utf-8")))}catch{return{}}let paths={};for(let[key,value]of Object.entries(imports??{})){let target=importTarget(value);if(key.startsWith("#")&&target?.startsWith("./"))paths[key]=[resolve(dirname2(path),target)]}return paths}function exportsOf(dir){let path=findUp(dir,"package.json");if(!path)return{};let name,exports;try{({name,exports}=JSON.parse(readFileSync2(path,"utf-8")))}catch{return{}}if(typeof name!=="string"||exports==null)return{};let subpaths=typeof exports==="object"&&!Array.isArray(exports)&&Object.keys(exports).some((key)=>key.startsWith("."))?exports:{".":exports},paths={};for(let[key,value]of Object.entries(subpaths)){if(!key.startsWith("."))continue;let targets=exportTargets(value).filter((target)=>target.startsWith("./")).map((target)=>resolve(dirname2(path),target));if(targets.length>0)paths[key==="."?name:`${name}/${key.slice(2)}`]=targets}return paths}function exportTargets(value){if(typeof value==="string")return[value];if(Array.isArray(value))return value.flatMap(exportTargets);if(!value||typeof value!=="object")return[];return Object.entries(value).flatMap(([condition,target])=>EXPORT_CONDITIONS.has(condition)?exportTargets(target):[])}var EXPORT_CONDITIONS=new Set(["types","import","default"]),LEGACY_RESOLUTION=/^(node|node10|classic)$/i;function importTarget(value){if(typeof value==="string")return value;if(Array.isArray(value))return importTarget(value[0]);if(!value||typeof value!=="object")return;let conditions=value;for(let condition of["types","import","default"])if(condition in conditions)return importTarget(conditions[condition]);return importTarget(Object.values(conditions)[0])}var PROGRAM_FILE=/\.(svelte|[cm]?[jt]sx?)$/,JS_FILE=/\.[cm]?jsx?$/;function byFolder(a,b){let pa=a.split(sep),pb=b.split(sep);for(let i=0;i<Math.min(pa.length,pb.length);i++){if(pa[i]===pb[i])continue;let aFile=i===pa.length-1,bFile=i===pb.length-1;if(aFile!==bFile)return aFile?-1:1;return(pa[i]??"")<(pb[i]??"")?-1:1}return pa.length-pb.length}function programFiles(project){let isExcluded=absoluteMatcher(project.exclude),found=new Set(project.files);for(let pattern of project.include){let fileGlob=WILDCARD.test(pattern)||HAS_EXTENSION.test(pattern)?pattern:`${pattern}/**/*`,[base,rest]=splitGlob(fileGlob);if(!rest){if(existsSync2(base)&&PROGRAM_FILE.test(base)&&(project.allowJs||!JS_FILE.test(base)))found.add(base);continue}if(!existsSync2(base))continue;let matched=glob(base,[rest]).map((rel)=>join3(base,rel)).filter((path)=>PROGRAM_FILE.test(path)&&(project.allowJs||!JS_FILE.test(path))&&!isExcluded(path)).sort(byFolder);for(let path of matched)found.add(path)}return[...found]}function scriptsOf(project,test){let isExcluded=absoluteMatcher(project.exclude),found=new Set;for(let pattern of project.include){let scriptGlob=WILDCARD.test(pattern)||HAS_EXTENSION.test(pattern)?pattern:`${pattern}/**/*`,[base,rest]=splitGlob(scriptGlob);if(!rest){if(existsSync2(base)&&test(base))found.add(base);continue}if(!existsSync2(base))continue;for(let rel of glob(base,[rest])){let path=join3(base,rel);if(test(path)&&!isExcluded(path))found.add(path)}}return[...found].sort()}function relativeTo(from,path){let rel=toPosix(relative(from,path));return rel.startsWith(".")||isAbsolute(rel)?rel:`./${rel}`}function ignoreMatcher(patterns){let tests=patterns.map((raw)=>{let pattern=raw.trim();if(pattern.endsWith("**"))pattern=pattern.slice(0,-2);if(pattern.startsWith("**")){let rest=pattern.slice(2);if(rest.includes("*"))throw Error(INVALID_IGNORE);return(path)=>path.includes(rest)}if(pattern.includes("*"))throw Error(INVALID_IGNORE);return(path)=>path.startsWith(pattern)});return(path)=>tests.some((test)=>test(path))}var INVALID_IGNORE="Invalid --ignore pattern: only ** at the start or end is supported";function tsconfigOf(workspace,option){if(option===!1)return;if(option)return resolve(workspace,option);return findTsconfig(workspace)}var SHIMS={"shims.d.ts":`type SvelteStore<T> = {
2
2
  subscribe: (run: (value: T) => any, invalidate?: any) => any;
3
3
  };
4
4
  type __sveltets_2_SvelteActionReturnType = {
@@ -247,10 +247,10 @@ Possible causes:
247
247
  class ComponentName extends SvelteComponentTyped<{propertyName: string;}> {}`}`};if(d.code==="TS1184")return{...d,message:`${d.message}
248
248
  If this is a declare statement, move it into <script context="module">..</script>`};return d}function nonBindableMessage(message){if(message.startsWith("Type '")&&message.includes("is not assignable to type '")){let at=message.indexOf(`Type '"`)+7,prop=message.slice(at,message.indexOf('"',at));return`${NON_BINDABLE}To mark a property as bindable: 'let { ${prop} = $bindable() } = $props()'`}return`${NON_BINDABLE}To mark a property as bindable: 'let { prop = $bindable() } = $props()'
249
249
 
250
- ${message}`}var NOTHING_EMITTED={reactive:[],transitions:[],storeDeclarations:[],bindingChecks:[]};function kitMajor(root){try{let path=createRequire2(join4(root,"package.json")).resolve("@sveltejs/kit/package.json"),{version}=JSON.parse(readFileSync3(path,"utf-8"));return Number.parseInt(version,10)}catch{return 0}}function commonDir(paths){let common=paths[0]??sep2;for(let path of paths)while(!`${path}${sep2}`.startsWith(`${common}${sep2}`)&&common!==sep2)common=dirname3(common);return common}async function typecheck2(options={}){let cwd=resolve2(options.cwd??process.cwd()),workspace=resolve2(cwd,options.workspace??"."),project=projectOf({workspace,tsconfig:options.tsconfig,ignore:options.ignore,components:options.components}),outDir=resolve2(cwd,options.outDir??join4("node_modules/.cache/svelte-typecheck",relative2(cwd,workspace))),genDir=join4(outDir,"svelte"),declarations=options.declarations??!0,svelteDir=svelteDirOf(cwd,options.svelte),sources=new Set(options.diagnosticSources??["js","svelte"]),errorsOnly=options.threshold==="error",{version}=JSON.parse(readFileSync3(join4(svelteDir,"package.json"),"utf-8")),svelteMajor=Number(version.split(".")[0]),svelteHtml=svelteMajor===3?join4(outDir,"svelte-html.d.ts"):join4(svelteDir,"svelte-html.d.ts"),checker=options.checker??CHECKERS.find((c)=>checkerCommand(c,workspace)!==void 0),command=checker&&checkerCommand(checker,workspace);if(sources.has("js")&&!(checker&&command))throw Error(`No type checker found: install \`typescript\` (or one of ${CHECKERS.slice(1).join(", ")}), or name one with \`checker\`.`);let started=performance.now(),incremental=options.incremental??!0,previous=incremental?await readFile(join4(outDir,MANIFEST),"utf-8").then((text)=>new Set(JSON.parse(text))).catch(()=>new Set):new Set;if(!incremental)await rm(outDir,{recursive:!0,force:!0});let files=project.components,listedFiles=project.tsconfig?programFiles(project):[...files].sort(byFolder),configDir=options.config?dirname3(resolve2(workspace,options.config)):workspace,configFile=options.config?resolve2(workspace,options.config):void 0,resultPath=join4(outDir,RESULT_CACHE),projectDir=project.tsconfig?dirname3(project.tsconfig):workspace,last=incremental?await readFile(resultPath,"utf-8").then((text)=>JSON.parse(text)).catch(()=>{return}):void 0,runKey=incremental?hash(JSON.stringify([version2,CACHE_FORMAT,version,checker,command?.version,cwd,options,configFingerprint(configDir,configFile),statsOf([...files,...listedFiles,...project.configFiles,...project.rootDirs.flatMap((dir)=>`${projectDir}${sep2}`.startsWith(`${dir}${sep2}`)||outDir.startsWith(`${dir}${sep2}`)||!existsSync3(dir)?[]:glob(dir,["**/*"]).map((rel)=>join4(dir,rel))),...packageFilesOf(projectDir)])])):"";if(last?.key===runKey&&Array.isArray(last.inputs)&&hash(JSON.stringify(statsOf(last.inputs)))===last.inputsKey)return{...last.result,timings:{emit:0,check:0,compile:0}};let texts=await Promise.all(files.map((path)=>readFile(path,"utf-8"))),root=commonDir([project.tsconfig?dirname3(project.tsconfig):workspace,...files.map((file)=>dirname3(file))]),cachePath=join4(outDir,COMPILE_CACHE),fingerprint=hash(JSON.stringify([version2,CACHE_FORMAT,version,configFingerprint(configDir,configFile)])),cache=incremental?await readFile(cachePath,"utf-8").then((text)=>JSON.parse(text)).then((c)=>c.fingerprint===fingerprint?c:void 0).catch(()=>{return})??{fingerprint,entries:{}}:{fingerprint,entries:{}},keys=files.map((path,i)=>hash(`${relative2(cwd,path)}\x00${texts[i]??""}`)),missing=sources.has("svelte")?files.map((_,i)=>i).filter((i)=>cache.entries[keys[i]??""]===void 0):[],compileRequest={svelteDir,configDir,configFile,components:missing.map((i)=>({source:texts[i]??"",filename:relative2(cwd,files[i]??"")}))},compilingOffThread=missing.length>=OFF_THREAD_AT&&sources.has("js")?compileOffThread(compileRequest):void 0;compilingOffThread?.catch(()=>{});let outputs=new Map,writes=[],written=new Set,generated=new Map,folders=new Map,folder=(dir)=>{let made=folders.get(dir);if(!made)made=mkdir(dir,{recursive:!0}),folders.set(dir,made);return made},write=(path,content)=>{written.add(path),generated.set(path,content),writes.push((incremental?readFile(path,"utf-8").catch(()=>{return}):Promise.resolve(void 0)).then(async(old)=>{if(old===content)return;await folder(dirname3(path)),await writeFile(path,content)}))},failed=[],parseErrors=[],under=(path,dir)=>path.startsWith(`${dir}${sep2}`),tsconfig=join4(outDir,"tsconfig.json"),fileFacts=await factsCache(join4(outDir,FACTS_CACHE),incremental),untypedImports=(()=>{if(!(sources.has("js")&&project.tsconfig&&!project.allowJs))return[];let untyped=new Set(files.filter((path,i)=>!TS_SCRIPT.test(texts[i]??"")&&!existsSync3(`${path}.d.ts`)));if(untyped.size===0)return[];let resolvePath=importResolver([root,...project.rootDirs],project.paths),resolveSelf=importResolver([],project.selfExports);return[...files.filter((_,i)=>TS_SCRIPT.test(texts[i]??"")),...listedFiles.filter((path)=>TS_MODULE.test(path))].flatMap((path)=>fileFacts.of(path,"svelteImports",(content)=>svelteImportsOf(content,path.endsWith(".svelte"))).flatMap((i)=>{let target=resolvePath(path,i.specifier)??resolveSelf(path,i.specifier);return target&&untyped.has(target)?[{...i,path,target}]:[]}))})();if(sources.has("js")){let[{emit},{isKitFile,isKitRouteFile,kitFile}]=await Promise.all([import("./shared-g75sf85w.js"),import("./shared-xcpj2ac7.js")]),emitCachePath=join4(outDir,EMIT_CACHE),emitFingerprint=hash(JSON.stringify([version2,CACHE_FORMAT,svelteMajor,project.checkJs,project.allowJs,declarations,root,genDir])),emitCache=(incremental?await readFile(emitCachePath,"utf-8").then((text)=>JSON.parse(text)).then((c)=>c.fingerprint===emitFingerprint?c:void 0).catch(()=>{return}):void 0)??{fingerprint:emitFingerprint,entries:{}},nextEmitCache={fingerprint:emitFingerprint,entries:{}},emitFor=(i)=>{let path=files[i]??"",genFrom=join4(genDir,relative2(root,dirname3(path)));return emit(texts[i]??"",{svelte:svelteMajor,basename:basename2(path),checkJs:project.checkJs,rewriteImport(specifier){if(!specifier.startsWith("."))return;let target=resolve2(dirname3(path),specifier);if(target.startsWith(`${root}${sep2}`))return;return relativeTo(genFrom,target)}})},lazyOutput=(i,lang)=>{let result,get=()=>(result??=emitFor(i),result);return{source:texts[i]??"",svelte:files[i]??"",isTs:lang==="ts",get output(){return get().out},get emitted(){return get()}}};for(let[i,path]of files.entries()){let genFrom=join4(genDir,relative2(root,dirname3(path))),name=path.slice(path.lastIndexOf(sep2)+1,-7),typed=declarations&&!existsSync3(`${path}.d.ts`),key=hash(`${path}\x00${typed}\x00${texts[i]??""}`),cached=emitCache.entries[key];if(cached&&(!cached.genPath||existsSync3(cached.genPath))){for(let file of cached.files)written.add(file);if(parseErrors.push(...cached.diagnostics),cached.genPath&&cached.lang)outputs.set(cached.genPath,lazyOutput(i,cached.lang));nextEmitCache.entries[key]=cached;continue}let effects={files:[],diagnostics:[]};nextEmitCache.entries[key]=effects;let put=(file,content)=>{effects.files.push(file),write(file,content)},result;try{result=emitFor(i)}catch(error){let e=error;if(!e.start){failed.push({file:path,message:e.message}),delete nextEmitCache.entries[key];continue}let isTs=TS_SCRIPT.test(texts[i]??"");effects.diagnostics.push({file:path,line:e.start.line,column:e.start.column+1,endLine:e.start.line,endColumn:e.start.column+1,severity:"error",source:isTs?"ts":"js",code:"-1",message:e.message});let lexed=lexComponent2(texts[i]??""),stub=[lexed.instance,lexed.module].some((script)=>script&&lexImportsExports((texts[i]??"").slice(script.content.start,script.content.end)).length>0)?`export {};
250
+ ${message}`}var NOTHING_EMITTED={reactive:[],transitions:[],storeDeclarations:[],bindingChecks:[]};function kitMajor(root){try{let path=createRequire2(join4(root,"package.json")).resolve("@sveltejs/kit/package.json"),{version}=JSON.parse(readFileSync3(path,"utf-8"));return Number.parseInt(version,10)}catch{return 0}}function commonDir(paths){let common=paths[0]??sep2;for(let path of paths)while(!`${path}${sep2}`.startsWith(`${common}${sep2}`)&&common!==sep2)common=dirname3(common);return common}async function typecheck2(options={}){let cwd=resolve2(options.cwd??process.cwd()),workspace=resolve2(cwd,options.workspace??"."),project=projectOf({workspace,tsconfig:options.tsconfig,ignore:options.ignore,components:options.components}),outDir=resolve2(cwd,options.outDir??join4("node_modules/.cache/svelte-typecheck",relative2(cwd,workspace))),genDir=join4(outDir,"svelte"),declarations=options.declarations??!0,svelteDir=svelteDirOf(cwd,options.svelte),sources=new Set(options.diagnosticSources??["js","svelte"]),errorsOnly=options.threshold==="error",{version}=JSON.parse(readFileSync3(join4(svelteDir,"package.json"),"utf-8")),svelteMajor=Number(version.split(".")[0]),svelteHtml=svelteMajor===3?join4(outDir,"svelte-html.d.ts"):join4(svelteDir,"svelte-html.d.ts"),checker=options.checker??CHECKERS.find((c)=>checkerCommand(c,workspace)!==void 0),command=checker&&checkerCommand(checker,workspace);if(sources.has("js")&&!(checker&&command))throw Error(`No type checker found: install \`typescript\` (or one of ${CHECKERS.slice(1).join(", ")}), or name one with \`checker\`.`);let started=performance.now(),incremental=options.incremental??!0,previous=incremental?await readFile(join4(outDir,MANIFEST),"utf-8").then((text)=>new Set(JSON.parse(text))).catch(()=>new Set):new Set;if(!incremental)await rm(outDir,{recursive:!0,force:!0});let files=project.components,listedFiles=project.tsconfig?programFiles(project):[...files].sort(byFolder),configDir=options.config?dirname3(resolve2(workspace,options.config)):workspace,configFile=options.config?resolve2(workspace,options.config):void 0,resultPath=join4(outDir,RESULT_CACHE),projectDir=project.tsconfig?dirname3(project.tsconfig):workspace,last=incremental?await readFile(resultPath,"utf-8").then((text)=>JSON.parse(text)).catch(()=>{return}):void 0,runKey=incremental?hash(JSON.stringify([version2,CACHE_FORMAT,version,checker,command?.version,cwd,options,configFingerprint(configDir,configFile),statsOf([...files,...listedFiles,...project.configFiles,...project.rootDirs.flatMap((dir)=>`${projectDir}${sep2}`.startsWith(`${dir}${sep2}`)||outDir.startsWith(`${dir}${sep2}`)||!existsSync3(dir)?[]:glob(dir,["**/*"]).map((rel)=>join4(dir,rel))),...packageFilesOf(projectDir)])])):"";if(last?.key===runKey&&Array.isArray(last.inputs)&&hash(JSON.stringify(statsOf(last.inputs)))===last.inputsKey)return{...last.result,timings:{emit:0,check:0,compile:0}};let texts=await Promise.all(files.map((path)=>readFile(path,"utf-8"))),root=commonDir([project.tsconfig?dirname3(project.tsconfig):workspace,...files.map((file)=>dirname3(file))]),cachePath=join4(outDir,COMPILE_CACHE),fingerprint=hash(JSON.stringify([version2,CACHE_FORMAT,version,configFingerprint(configDir,configFile)])),cache=incremental?await readFile(cachePath,"utf-8").then((text)=>JSON.parse(text)).then((c)=>c.fingerprint===fingerprint?c:void 0).catch(()=>{return})??{fingerprint,entries:{}}:{fingerprint,entries:{}},keys=files.map((path,i)=>hash(`${relative2(cwd,path)}\x00${texts[i]??""}`)),missing=sources.has("svelte")?files.map((_,i)=>i).filter((i)=>cache.entries[keys[i]??""]===void 0):[],shapeKey=hash(JSON.stringify(statsOf(packageFilesOf(projectDir)))),compileRequest={svelteDir,configDir,configFile,shape:cache.shapeKey===shapeKey?cache.shape:void 0,components:missing.map((i)=>({source:texts[i]??"",filename:relative2(cwd,files[i]??"")}))},compilingOffThread=missing.length>=OFF_THREAD_AT&&sources.has("js")?compileOffThread(compileRequest):void 0;compilingOffThread?.catch(()=>{});let outputs=new Map,writes=[],written=new Set,generated=new Map,folders=new Map,folder=(dir)=>{let made=folders.get(dir);if(!made)made=mkdir(dir,{recursive:!0}),folders.set(dir,made);return made},write=(path,content)=>{written.add(path),generated.set(path,content),writes.push((incremental?readFile(path,"utf-8").catch(()=>{return}):Promise.resolve(void 0)).then(async(old)=>{if(old===content)return;await folder(dirname3(path)),await writeFile(path,content)}))},failed=[],parseErrors=[],under=(path,dir)=>path.startsWith(`${dir}${sep2}`),tsconfig=join4(outDir,"tsconfig.json"),fileFacts=await factsCache(join4(outDir,FACTS_CACHE),incremental),untypedImports=(()=>{if(!(sources.has("js")&&project.tsconfig&&!project.allowJs))return[];let untyped=new Set(files.filter((path,i)=>!TS_SCRIPT.test(texts[i]??"")&&!existsSync3(`${path}.d.ts`)));if(untyped.size===0)return[];let resolvePath=importResolver([root,...project.rootDirs],project.paths),resolveSelf=importResolver([],project.selfExports);return[...files.filter((_,i)=>TS_SCRIPT.test(texts[i]??"")),...listedFiles.filter((path)=>TS_MODULE.test(path))].flatMap((path)=>fileFacts.of(path,"svelteImports",(content)=>svelteImportsOf(content,path.endsWith(".svelte"))).flatMap((i)=>{let target=resolvePath(path,i.specifier)??resolveSelf(path,i.specifier);return target&&untyped.has(target)?[{...i,path,target}]:[]}))})();if(sources.has("js")){let[{emit},{isKitFile,isKitRouteFile,kitFile}]=await Promise.all([import("./shared-g75sf85w.js"),import("./shared-xcpj2ac7.js")]),emitCachePath=join4(outDir,EMIT_CACHE),emitFingerprint=hash(JSON.stringify([version2,CACHE_FORMAT,svelteMajor,project.checkJs,project.allowJs,declarations,root,genDir])),emitCache=(incremental?await readFile(emitCachePath,"utf-8").then((text)=>JSON.parse(text)).then((c)=>c.fingerprint===emitFingerprint?c:void 0).catch(()=>{return}):void 0)??{fingerprint:emitFingerprint,entries:{}},nextEmitCache={fingerprint:emitFingerprint,entries:{}},emitFor=(i)=>{let path=files[i]??"",genFrom=join4(genDir,relative2(root,dirname3(path)));return emit(texts[i]??"",{svelte:svelteMajor,basename:basename2(path),checkJs:project.checkJs,rewriteImport(specifier){if(!specifier.startsWith("."))return;let target=resolve2(dirname3(path),specifier);if(target.startsWith(`${root}${sep2}`))return;return relativeTo(genFrom,target)}})},lazyOutput=(i,lang)=>{let result,get=()=>(result??=emitFor(i),result);return{source:texts[i]??"",svelte:files[i]??"",isTs:lang==="ts",get output(){return get().out},get emitted(){return get()}}};for(let[i,path]of files.entries()){let genFrom=join4(genDir,relative2(root,dirname3(path))),name=path.slice(path.lastIndexOf(sep2)+1,-7),typed=declarations&&!existsSync3(`${path}.d.ts`),key=hash(`${path}\x00${typed}\x00${texts[i]??""}`),cached=emitCache.entries[key];if(cached&&(!cached.genPath||existsSync3(cached.genPath))){for(let file of cached.files)written.add(file);if(parseErrors.push(...cached.diagnostics),cached.genPath&&cached.lang)outputs.set(cached.genPath,lazyOutput(i,cached.lang));nextEmitCache.entries[key]=cached;continue}let effects={files:[],diagnostics:[]};nextEmitCache.entries[key]=effects;let put=(file,content)=>{effects.files.push(file),write(file,content)},result;try{result=emitFor(i)}catch(error){let e=error;if(!e.start){failed.push({file:path,message:e.message}),delete nextEmitCache.entries[key];continue}let isTs=TS_SCRIPT.test(texts[i]??"");effects.diagnostics.push({file:path,line:e.start.line,column:e.start.column+1,endLine:e.start.line,endColumn:e.start.column+1,severity:"error",source:isTs?"ts":"js",code:"-1",message:e.message});let lexed=lexComponent2(texts[i]??""),stub=[lexed.instance,lexed.module].some((script)=>script&&lexImportsExports((texts[i]??"").slice(script.content.start,script.content.end)).length>0)?`export {};
251
251
  `:"";if(put(join4(genFrom,`++${name}.svelte.${isTs?"ts":"js"}`),stub),declarations)put(join4(genFrom,`${name}.d.svelte.ts`),stub);parseErrors.push(...effects.diagnostics);continue}let locate=createLocator(texts[i]??"");for(let t of result.tsInJs){let at=locate.position(t.at);effects.diagnostics.push({file:path,line:at.line,column:at.column,severity:"error",source:"js",code:t.code,message:t.message})}if(parseErrors.push(...effects.diagnostics),result.lang==="js"&&!project.allowJs)continue;let genPath=join4(genFrom,`++${name}.svelte.${result.isTs?"ts":"js"}`);if(effects.genPath=genPath,effects.lang=result.lang==="ts"?"ts":"js",outputs.set(genPath,{output:result.out,source:texts[i]??"",svelte:path,isTs:result.lang==="ts",emitted:result}),put(genPath,result.out.code),typed)put(join4(genFrom,`${name}.d.svelte.ts`),`export { default } from "./++${name}.svelte.js";
252
252
  export * from "./++${name}.svelte.js";
253
- `)}if(incremental)write(emitCachePath,JSON.stringify(nextEmitCache));let untypedNames=new Map;for(let i of untypedImports){let names=untypedNames.get(i.target)??new Set;for(let name of i.names)names.add(name);untypedNames.set(i.target,names)}let untypedDeclarationOf=(target)=>join4(genDir,relative2(root,dirname3(target)),`${basename2(target,".svelte")}.d.svelte.ts`);if(declarations)for(let[target,names]of untypedNames)write(untypedDeclarationOf(target),untypedDeclaration(names));let mirror=(path)=>join4(genDir,relative2(root,path)),kitProject=project.tsconfig!==void 0&&(project.rootDirs.some((dir)=>dir.includes(".svelte-kit"))||files.some((path)=>isKitRouteFile(basename2(path)))),replaced=[];if(kitProject){let hooksModule=kitMajor(root)>=3?"@sveltejs/kit/hooks":"@sveltejs/kit";for(let path of scriptsOf(project,isKitFile)){if(!under(path,root))continue;let source=readFileSync3(path,"utf-8"),output=kitFile(path,source,hooksModule);if(!output)continue;replaced.push(path),outputs.set(mirror(path),{output,source,svelte:path,isTs:!JS_FILE2.test(path),emitted:NOTHING_EMITTED,kit:!0}),write(mirror(path),output.code)}}let rootDirs=[];for(let dir of project.rootDirs){if(dir===root||under(dir,outDir))continue;if(!(kitProject&&under(dir,root)&&existsSync3(dir))){rootDirs.push(dir);continue}replaced.push(dir),rootDirs.push(mirror(dir));for(let file of glob(dir,["**/*.{ts,js}"]))write(mirror(join4(dir,file)),readFileSync3(join4(dir,file),"utf-8"))}let paths=Object.fromEntries(Object.entries(project.paths).map(([key,targets])=>[key,targets.flatMap((t)=>under(t,root)?[mirror(t),t]:[t])]));if(declarations){for(let i of untypedImports)if(!i.specifier.startsWith("."))paths[i.specifier]=[untypedDeclarationOf(i.target)]}let shims=join4(outDir,"shims.d.ts");if(write(shims,shim("shims.d.ts")),svelteMajor===3)write(svelteHtml,shim("svelte3-elements.d.ts"));let rel=(path)=>relativeTo(outDir,path),generatedFor=new Map([...outputs].map(([genPath,gen])=>[gen.svelte,genPath])),replacedSet=new Set(replaced),rootFiles=[...new Set([...listedFiles.filter((path)=>path.endsWith(".svelte")).map((path)=>generatedFor.get(path)).filter((path)=>path!==void 0),...[...outputs].filter(([,gen])=>!gen.kit).map(([genPath])=>genPath),...listedFiles.filter((path)=>!path.endsWith(".svelte")).map((path)=>{if(replacedSet.has(path))return generatedFor.get(path);return replaced.find((d)=>under(path,d))?mirror(path):path}).filter((path)=>path!==void 0)])];write(tsconfig,JSON.stringify({...project.tsconfig?{extends:rel(project.tsconfig)}:{},compilerOptions:{...project.tsconfig?{}:DEFAULT_COMPILER_OPTIONS,rootDirs:[rel(root),"svelte",...rootDirs.map(rel)],...Object.keys(paths).length>0?{paths:Object.fromEntries(Object.entries(paths).map(([key,targets])=>[key,targets.map(rel)]))}:{},allowArbitraryExtensions:!0,noEmit:!0,composite:!1,incremental,...incremental?{tsBuildInfoFile:"./tsbuildinfo"}:{}},files:[...rootFiles,shims,svelteHtml,...svelteMajor>=5?[join4(svelteDir,"types/index.d.ts")]:[]].map(rel),include:[]},null,2)),write(join4(outDir,MANIFEST),JSON.stringify([...written].sort()));for(let path of previous)if(!written.has(path))writes.push(rm(path,{force:!0}))}if(await Promise.all(writes),incremental)await mkdir(outDir,{recursive:!0});let emitted=performance.now(),checking=checker&&command&&sources.has("js")?run(command.command,[...command.prefix,...checkerArgs(checker,tsconfig)],cwd,command.shell).then((output)=>({output,at:performance.now()})):Promise.resolve({output:"",at:emitted}),compiled=[],perFile=[];if(sources.has("svelte")){if(missing.length>0){let fresh=await compilingOffThread??await compileAll(compileRequest);for(let[n,i]of missing.entries())cache.entries[keys[i]??""]=fresh[n]??[]}for(let key of keys)perFile.push(cache.entries[key]??[]);if(incremental){let kept=Object.fromEntries(keys.map((key)=>[key,cache.entries[key]??[]]));await writeFile(cachePath,JSON.stringify({fingerprint,entries:kept}))}}for(let[i,path]of files.entries())for(let d of perFile[i]??[]){let level=options.compilerWarnings?.[d.code];if(d.severity==="warning"&&level==="ignore")continue;compiled.push({file:path,...d,severity:level==="error"?"error":d.severity,source:"svelte"})}let compiledAt=performance.now(),{output:text,at:checked}=await checking,raw=parseDiagnostics(text),inOutput=(file)=>resolve2(cwd,file).startsWith(`${outDir}${sep2}`),syntax=raw.some((d)=>TYPE_CODE.test(d.code))?[]:raw.filter((d)=>inOutput(d.file)&&SYNTAX_CODE.test(d.code)&&!outputs.get(resolve2(cwd,d.file))?.kit);if(syntax.length>0||STOPPED.test(text))throw new EmitError(`Generated code has syntax errors:
253
+ `)}if(incremental)write(emitCachePath,JSON.stringify(nextEmitCache));let untypedNames=new Map;for(let i of untypedImports){let names=untypedNames.get(i.target)??new Set;for(let name of i.names)names.add(name);untypedNames.set(i.target,names)}let untypedDeclarationOf=(target)=>join4(genDir,relative2(root,dirname3(target)),`${basename2(target,".svelte")}.d.svelte.ts`);if(declarations)for(let[target,names]of untypedNames)write(untypedDeclarationOf(target),untypedDeclaration(names));let mirror=(path)=>join4(genDir,relative2(root,path)),kitProject=project.tsconfig!==void 0&&(project.rootDirs.some((dir)=>dir.includes(".svelte-kit"))||files.some((path)=>isKitRouteFile(basename2(path)))),replaced=[];if(kitProject){let hooksModule=kitMajor(root)>=3?"@sveltejs/kit/hooks":"@sveltejs/kit";for(let path of scriptsOf(project,isKitFile)){if(!under(path,root))continue;let source=readFileSync3(path,"utf-8"),output=kitFile(path,source,hooksModule);if(!output)continue;replaced.push(path),outputs.set(mirror(path),{output,source,svelte:path,isTs:!JS_FILE2.test(path),emitted:NOTHING_EMITTED,kit:!0}),write(mirror(path),output.code)}}let rootDirs=[];for(let dir of project.rootDirs){if(dir===root||under(dir,outDir))continue;if(!(kitProject&&under(dir,root)&&existsSync3(dir))){rootDirs.push(dir);continue}replaced.push(dir),rootDirs.push(mirror(dir));for(let file of glob(dir,["**/*.{ts,js}"]))write(mirror(join4(dir,file)),readFileSync3(join4(dir,file),"utf-8"))}let paths=Object.fromEntries(Object.entries(project.paths).map(([key,targets])=>[key,targets.flatMap((t)=>under(t,root)?[mirror(t),t]:[t])]));if(declarations){for(let i of untypedImports)if(!i.specifier.startsWith("."))paths[i.specifier]=[untypedDeclarationOf(i.target)]}let shims=join4(outDir,"shims.d.ts");if(write(shims,shim("shims.d.ts")),svelteMajor===3)write(svelteHtml,shim("svelte3-elements.d.ts"));let rel=(path)=>relativeTo(outDir,path),generatedFor=new Map([...outputs].map(([genPath,gen])=>[gen.svelte,genPath])),replacedSet=new Set(replaced),rootFiles=[...new Set([...listedFiles.filter((path)=>path.endsWith(".svelte")).map((path)=>generatedFor.get(path)).filter((path)=>path!==void 0),...[...outputs].filter(([,gen])=>!gen.kit).map(([genPath])=>genPath),...listedFiles.filter((path)=>!path.endsWith(".svelte")).map((path)=>{if(replacedSet.has(path))return generatedFor.get(path);return replaced.find((d)=>under(path,d))?mirror(path):path}).filter((path)=>path!==void 0)])];write(tsconfig,JSON.stringify({...project.tsconfig?{extends:rel(project.tsconfig)}:{},compilerOptions:{...project.tsconfig?{}:DEFAULT_COMPILER_OPTIONS,rootDirs:[rel(root),"svelte",...rootDirs.map(rel)],...Object.keys(paths).length>0?{paths:Object.fromEntries(Object.entries(paths).map(([key,targets])=>[key,targets.map(rel)]))}:{},allowArbitraryExtensions:!0,noEmit:!0,composite:!1,incremental,...incremental?{tsBuildInfoFile:"./tsbuildinfo"}:{}},files:[...rootFiles,shims,svelteHtml,...svelteMajor>=5?[join4(svelteDir,"types/index.d.ts")]:[]].map(rel),include:[]},null,2)),write(join4(outDir,MANIFEST),JSON.stringify([...written].sort()));for(let path of previous)if(!written.has(path))writes.push(rm(path,{force:!0}))}if(await Promise.all(writes),incremental)await mkdir(outDir,{recursive:!0});let emitted=performance.now(),checking=checker&&command&&sources.has("js")?run(command.command,[...command.prefix,...checkerArgs(checker,tsconfig)],cwd,command.shell).then((output)=>({output,at:performance.now()})):Promise.resolve({output:"",at:emitted}),compiled=[],perFile=[];if(sources.has("svelte")){if(missing.length>0){let fresh=await compilingOffThread??await compileAll(compileRequest);for(let[n,i]of missing.entries())cache.entries[keys[i]??""]=fresh.results[n]??[];cache.shape=fresh.shape,cache.shapeKey=fresh.shape&&shapeKey}for(let key of keys)perFile.push(cache.entries[key]??[]);if(incremental){let kept=Object.fromEntries(keys.map((key)=>[key,cache.entries[key]??[]]));await writeFile(cachePath,JSON.stringify({fingerprint,entries:kept,shape:cache.shape,shapeKey:cache.shapeKey}))}}for(let[i,path]of files.entries())for(let d of perFile[i]??[]){let level=options.compilerWarnings?.[d.code];if(d.severity==="warning"&&level==="ignore")continue;compiled.push({file:path,...d,severity:level==="error"?"error":d.severity,source:"svelte"})}let compiledAt=performance.now(),{output:text,at:checked}=await checking,raw=parseDiagnostics(text),inOutput=(file)=>resolve2(cwd,file).startsWith(`${outDir}${sep2}`),syntax=raw.some((d)=>TYPE_CODE.test(d.code))?[]:raw.filter((d)=>inOutput(d.file)&&SYNTAX_CODE.test(d.code)&&!outputs.get(resolve2(cwd,d.file))?.kit);if(syntax.length>0||STOPPED.test(text))throw new EmitError(`Generated code has syntax errors:
254
254
  ${syntax.slice(0,20).map((d)=>`${d.file}(${d.line},${d.column}): ${d.code} ${d.message}`).join(`
255
255
  `)}`);let locators=new Map,locator=(key,content)=>{let found=locators.get(key);if(!found)found=createLocator(content()),locators.set(key,found);return found},endOf=(source,offset,file)=>{let length=TOKEN.exec(source.slice(offset))?.[0].length??0,end=locator(file,()=>source).position(offset+length);return{endLine:end.line,endColumn:end.column}},diagnostics=[],dropped=[],storeErrors=[],seen=new Set;for(let d of raw){if(d.file===""){if(d.message.includes(outDir))throw new EmitError(`${d.code}: ${d.message}`);diagnostics.push({...d,file:project.tsconfig??workspace,severity:"error",source:"ts"});continue}let abs=resolve2(cwd,d.file),gen=outputs.get(abs),mapped;if(gen){let offset=locator(abs,()=>gen.output.code).offset(d.line,d.column),source=gen.output.toSource(offset);if(source===null){let store=STORE_ERROR.test(d.code)?gen.emitted.storeDeclarations.find((s)=>s.start<=offset&&offset<s.end):void 0;if(store){for(let use of store.uses){let at=locator(gen.svelte,()=>gen.source).position(use),end=locator(gen.svelte,()=>gen.source).position(use+store.name.length+1);storeErrors.push({...d,file:gen.svelte,line:at.line,column:at.column,endLine:end.line,endColumn:end.column,severity:"error",source:gen.isTs?"ts":"js",message:`Cannot use '${store.name}' as a store. '${store.name}' needs to be an object with a subscribe method on it.
256
256
 
@@ -259,5 +259,5 @@ ${d.message}`})}continue}let binding=d.code==="TS2322"?gen.emitted.bindingChecks
259
259
  type ${name}<${UNTYPED_PARAMS}> = any & [${UNTYPED_ARGS}];
260
260
  `,named=[...names].filter((name)=>name!=="default"&&IDENTIFIER.test(name));return`${[UNTYPED,...named].map(declare).join("")}export default ${UNTYPED};
261
261
  ${named.length>0?`export { ${named.join(", ")} };
262
- `:""}`}var UNTYPED="$$untyped",UNTYPED_ARGS="A, B, C, D, E, F, G, H",UNTYPED_PARAMS=UNTYPED_ARGS.split(", ").map((p)=>`${p} = any`).join(", ");async function factsCache(path,enabled){let entries=enabled?await readFile(path,"utf-8").then((text)=>{let cache=JSON.parse(text);return cache.format===CACHE_FORMAT?cache.entries:{}}).catch(()=>({})):{},used={};return{of(file,kind,compute,text){let stat=statsOf([file])[0]??"",facts=used[file]??entries[file];if(facts?.stat!==stat)facts={stat};return used[file]=facts,facts[kind]??=compute(text??readFileSync3(file,"utf-8")),facts[kind]},save:()=>writeFile(path,JSON.stringify({format:CACHE_FORMAT,entries:used}))}}function declarationsBeside(path){return JS_EXTENSION.test(path)?[path.replace(JS_EXTENSION,".d.$1ts")]:[]}function statsOf(paths){return paths.map((path)=>{let stat=statSync(path,{throwIfNoEntry:!1});return stat?`${path}:${stat.size}:${stat.mtimeMs}`:`${path}:-`})}var PACKAGE_FILES=["package.json","bun.lock","bun.lockb","package-lock.json","pnpm-lock.yaml","yarn.lock"];function packageFilesOf(dir){let found=[];for(let at=dir;;at=dirname3(at))if(found.push(...PACKAGE_FILES.map((name)=>join4(at,name))),dirname3(at)===at)return found}import{watch as watchFiles}from"node:fs";import{resolve as resolve3,sep as sep3}from"node:path";var WATCHED=/\.(?:svelte|[cm]?[jt]sx?|json)$/,DEBOUNCE_MS=100;function watch2(options,onResult){let cwd=resolve3(options.cwd??process.cwd()),workspace=resolve3(cwd,options.workspace??"."),run={...options,cwd,incremental:!0},timer,running=!1,again=!1,check=async()=>{if(running){again=!0;return}running=!0;try{onResult(await typecheck2(run))}catch(error){onResult(error)}if(running=!1,again)again=!1,await check()},ignored=(path)=>path.split(sep3).some((part)=>part==="node_modules"||part.startsWith(".")),watcher=watchFiles(workspace,{recursive:!0},(_,filename)=>{if(!filename||ignored(filename)||!WATCHED.test(filename))return;clearTimeout(timer),timer=setTimeout(check,DEBOUNCE_MS)});return check(),()=>{clearTimeout(timer),watcher.close()}}import{readFileSync as readFileSync4}from"node:fs";import{relative as relative3,sep as sep4}from"node:path";var LINE_BREAK2=/\r?\n/;function keyer(workspace){let lines=new Map,lineOf=(d)=>{let text=lines.get(d.file);if(!text){try{text=readFileSync4(d.file,"utf-8").split(LINE_BREAK2)}catch{text=[]}lines.set(d.file,text)}return(text[d.line-1]??"").trim()},prefix=`${workspace}${sep4}`;return(d)=>({file:relative3(workspace,d.file).split(sep4).join("/"),code:d.code,message:d.message.replaceAll(prefix,""),line:lineOf(d)})}var keyOf=(e)=>JSON.stringify([e.file,e.code,e.message,e.line]);function createBaseline2(diagnostics,workspace){let toEntry=keyer(workspace),entries=new Map;for(let d of diagnostics){let entry=toEntry(d),key=keyOf(entry),found=entries.get(key);if(found)found.count++;else entries.set(key,{...entry,count:1})}return{version:1,diagnostics:[...entries.entries()].sort(([a],[b])=>a<b?-1:Number(a>b)).map(([,entry])=>entry)}}function applyBaseline2(diagnostics,baseline,workspace){let toEntry=keyer(workspace),left=new Map(baseline.diagnostics.map((e)=>[keyOf(e),e.count])),fresh=[],known=0;for(let d of diagnostics){let key=keyOf(toEntry(d)),count=left.get(key)??0;if(count>0)left.set(key,count-1),known++;else fresh.push(d)}let fixed=0;for(let count of left.values())fixed+=count;return{diagnostics:fresh,known,fixed}}
262
+ `:""}`}var UNTYPED="$$untyped",UNTYPED_ARGS="A, B, C, D, E, F, G, H",UNTYPED_PARAMS=UNTYPED_ARGS.split(", ").map((p)=>`${p} = any`).join(", ");async function factsCache(path,enabled){let entries=enabled?await readFile(path,"utf-8").then((text)=>{let cache=JSON.parse(text);return cache.format===CACHE_FORMAT?cache.entries:{}}).catch(()=>({})):{},used={};return{of(file,kind,compute,text){let stat=statsOf([file])[0]??"",facts=used[file]??entries[file];if(facts?.stat!==stat)facts={stat};return used[file]=facts,facts[kind]??=compute(text??readFileSync3(file,"utf-8")),facts[kind]},save:()=>writeFile(path,JSON.stringify({format:CACHE_FORMAT,entries:used}))}}function declarationsBeside(path){if(path.endsWith(".svelte"))return[`${path}.d.ts`];return JS_EXTENSION.test(path)?[path.replace(JS_EXTENSION,".d.$1ts")]:[]}function statsOf(paths){return paths.map((path)=>{let stat=statSync(path,{throwIfNoEntry:!1});return stat?`${path}:${stat.size}:${stat.mtimeMs}`:`${path}:-`})}var PACKAGE_FILES=["package.json","bun.lock","bun.lockb","package-lock.json","pnpm-lock.yaml","yarn.lock"];function packageFilesOf(dir){let found=[];for(let at=dir;;at=dirname3(at))if(found.push(...PACKAGE_FILES.map((name)=>join4(at,name))),dirname3(at)===at)return found}import{watch as watchFiles}from"node:fs";import{resolve as resolve3,sep as sep3}from"node:path";var WATCHED=/\.(?:svelte|[cm]?[jt]sx?|json)$/,DEBOUNCE_MS=100;function watch2(options,onResult){let cwd=resolve3(options.cwd??process.cwd()),workspace=resolve3(cwd,options.workspace??"."),run={...options,cwd,incremental:!0},timer,running=!1,again=!1,check=async()=>{if(running){again=!0;return}running=!0;try{onResult(await typecheck2(run))}catch(error){onResult(error)}if(running=!1,again)again=!1,await check()},ignored=(path)=>path.split(sep3).some((part)=>part==="node_modules"||part.startsWith(".")),watcher=watchFiles(workspace,{recursive:!0},(_,filename)=>{if(!filename||ignored(filename)||!WATCHED.test(filename))return;clearTimeout(timer),timer=setTimeout(check,DEBOUNCE_MS)});return check(),()=>{clearTimeout(timer),watcher.close()}}import{readFileSync as readFileSync4}from"node:fs";import{relative as relative3,sep as sep4}from"node:path";var LINE_BREAK2=/\r?\n/;function keyer(workspace){let lines=new Map,lineOf=(d)=>{let text=lines.get(d.file);if(!text){try{text=readFileSync4(d.file,"utf-8").split(LINE_BREAK2)}catch{text=[]}lines.set(d.file,text)}return(text[d.line-1]??"").trim()},prefix=`${workspace}${sep4}`;return(d)=>({file:relative3(workspace,d.file).split(sep4).join("/"),code:d.code,message:d.message.replaceAll(prefix,""),line:lineOf(d)})}var keyOf=(e)=>JSON.stringify([e.file,e.code,e.message,e.line]);function createBaseline2(diagnostics,workspace){let toEntry=keyer(workspace),entries=new Map;for(let d of diagnostics){let entry=toEntry(d),key=keyOf(entry),found=entries.get(key);if(found)found.count++;else entries.set(key,{...entry,count:1})}return{version:1,diagnostics:[...entries.entries()].sort(([a],[b])=>a<b?-1:Number(a>b)).map(([,entry])=>entry)}}function applyBaseline2(diagnostics,baseline,workspace){let toEntry=keyer(workspace),left=new Map(baseline.diagnostics.map((e)=>[keyOf(e),e.count])),fresh=[],known=0;for(let d of diagnostics){let key=keyOf(toEntry(d)),count=left.get(key)??0;if(count>0)left.set(key,count-1),known++;else fresh.push(d)}let fixed=0;for(let count of left.values())fixed+=count;return{diagnostics:fresh,known,fixed}}
263
263
  export{EmitError,typecheck2,watch2,createBaseline2,applyBaseline2};
@@ -0,0 +1 @@
1
+ import{version2,package_default}from"./shared-n6kmzkr0.js";export{package_default as default,version2 as version};
@@ -0,0 +1,2 @@
1
+ var version2="0.1.9",package_default={version:version2};
2
+ export{version2,package_default};
@@ -1,6 +1,6 @@
1
1
  import{isDigit,isWordCode,scan,closingBracket,lineEnd,skipTrivia,isWordAt,lexComponent2}from"./shared-8badht7e.js";import{createLocator}from"./shared-atsj8zxq.js";function lexImportsExports(source,options={}){let lexer=new Lexer(source);lexer.exportLists=options.exportLists??!1;let statements=[];return scan(source,!1,(_start,keyword)=>{let statement=lexer.statement(keyword);return statements.push(statement),statement.end},lexer.exportLists),statements}class Lexer{source;pos=0;end=0;escapeEnd=0;exportLists=!1;constructor(source){this.source=source}statement(keyword){this.pos=this.end=keyword+6;let statement={kind:this.source.charCodeAt(keyword)===105?"import":"export",start:keyword,end:0,source:null,typeOnly:!1,specifiers:[]};if(!(statement.kind==="import"?this.import(statement):this.export(statement)))statement.source=null,statement.specifiers=[];return statement.end=this.end,statement}import(statement){let module=this.string();if(module!==null)return statement.source=module,this.finish();if(this.isWord("type")){let next=this.peekAfter(4);if(next===123||next===42||isIdentifierStart(next)&&!this.isWordAfter(4,"from"))statement.typeOnly=!0,this.advance(4)}let{specifiers,typeOnly}=statement,next=this.at();if(next!==123&&next!==42){let start=this.pos,local=this.name();if(local===null)return!1;if(this.at()===61)return this.importEquals();if(specifiers.push({kind:"default",imported:"default",local,typeOnly,start,end:this.end}),!this.eat(44))return this.from(statement);next=this.at()}if(next===42){let start=this.pos;if(this.advance(1),!this.eatWord("as"))return!1;let local=this.name();if(local===null)return!1;return specifiers.push({kind:"namespace",imported:"*",local,typeOnly,start,end:this.end}),this.from(statement)}if(!this.eat(123))return!1;while(!this.eat(125)){let start=this.skip(),named=this.typeModifier()||typeOnly,name=this.name(),imported=name??this.string()?.value;if(imported===void 0)return!1;let local=name;if(this.eatWord("as"))local=this.name();if(local===null)return!1;if(specifiers.push({kind:"named",imported,local,typeOnly:named,start,end:this.end}),!this.eat(44)&&this.at()!==125)return!1}return this.from(statement)}export(statement){if(this.eatWord("import")){if(this.isWord("type")&&isIdentifierStart(this.peekAfter(4))&&!this.isWordAfter(4,"from"))statement.typeOnly=!0,this.advance(4);return this.name()!==null&&this.at()===61&&this.importEquals()}if(this.isWord("type")){let next=this.peekAfter(4);if(next===123||next===42)statement.typeOnly=!0,this.advance(4)}let{specifiers,typeOnly}=statement;if(this.at()===42){let start=this.pos;this.advance(1);let exported=null;if(this.eatWord("as")){if(exported=this.moduleExportName(),exported===null)return!1}return specifiers.push({kind:exported===null?"all":"namespace",local:"*",exported,typeOnly,start,end:this.end}),this.from(statement)}if(!this.eat(123))return!1;while(!this.eat(125)){let start=this.skip(),named=this.typeModifier()||typeOnly,local=this.moduleExportName();if(local===null)return!1;let exported=local;if(this.eatWord("as"))exported=this.moduleExportName();if(exported===null)return!1;if(specifiers.push({kind:"named",local,exported,typeOnly:named,start,end:this.end}),!this.eat(44)&&this.at()!==125)return!1}if(this.exportLists&&!this.isWord("from")){for(let specifier of specifiers)specifier.kind="local";return this.eat(59),!0}return this.from(statement)}dynamicImport(start,member){let isImport=this.source.charCodeAt(start)===105;this.pos=this.end=start+(isImport?6:7);let kind=isImport?"import":"require";if(isImport&&this.eat(46)){if(!this.eatWord("meta")||!this.eat(46)||!this.eatWord("glob")||!this.typeArguments())return null;kind="glob"}if(!this.eat(40))return null;let argument=this.skip(),source=this.string()??this.template(),close=this.at()===41?this.pos:-1;if(close===-1){if(this.at()!==44)source=null;close=closingBracket(this.source,argument)}if(member&&kind!=="glob"){let after=this.source.charCodeAt(skipTrivia(this.source,close+1));if(after===123||after===58)return null}return{kind,source,start,end:Math.min(close+1,this.source.length)}}typeArguments(){if(this.at()!==60)return!0;let source=this.source,depth=0;for(let i=this.pos;i<source.length;i=skipTrivia(source,i+1)){let code=source.charCodeAt(i);if(code===34||code===39||code===96){let end=source.indexOf(source[i],i+1);if(end===-1)return!1;i=end}else if(code===60)depth++;else if(code===62&&source.charCodeAt(i-1)!==61){if(--depth===0)return this.advance(i+1-this.pos),!0}}return!1}template(){let source=this.source,start=this.skip();if(source.charCodeAt(start)!==96)return null;for(let i=start+1;i<source.length;i++){let code=source.charCodeAt(i);if(code===96){let value=this.cooked(start+1,i,!0);if(value===null)return null;return this.advance(i+1-start),{value,start,end:i+1}}if(code===92)i++;else if(code===36&&source.charCodeAt(i+1)===123)return null}return null}typeModifier(){if(!this.isWord("type"))return!1;let next=this.peekAfter(4);if(next===34||next===39||isIdentifierStart(next)&&!this.isWordAfter(4,"as"))return this.advance(4),!0;return!1}importEquals(){if(this.advance(1),this.isWord("require")&&this.peekAfter(7)===40){if(this.advance(7),this.eat(40),this.string()===null||!this.eat(41))return!1}else do if(this.name()===null)return!1;while(this.eat(46));return this.eat(59),!0}from(statement){if(!this.eatWord("from"))return!1;return statement.source=this.string(),statement.source!==null&&this.finish()}finish(){let keyword=this.isWord("with")?4:0;if(this.isWord("assert")&&lineEnd(this.source,this.end)>=this.pos)keyword=6;if(keyword!==0&&this.peekAfter(keyword)===123){this.advance(keyword),this.eat(123);while(!this.eat(125))if(this.string()===null&&this.name()===null&&!this.eat(58)&&!this.eat(44))return!1}return this.eat(59),!0}skip(){return this.pos=skipTrivia(this.source,this.pos),this.pos}at(){return this.source.charCodeAt(this.skip())}advance(length){this.pos+=length,this.end=this.pos}peekAfter(length){return this.source.charCodeAt(skipTrivia(this.source,this.pos+length))}isWordAfter(length,word){return isWordAt(this.source,skipTrivia(this.source,this.pos+length),word)}eat(code){if(this.at()!==code)return!1;return this.advance(1),!0}isWord(word){return isWordAt(this.source,this.skip(),word)}eatWord(word){if(!this.isWord(word))return!1;return this.advance(word.length),!0}moduleExportName(){return this.name()??this.string()?.value??null}name(){let source=this.source,start=this.skip();if(!isWordCode(source.charCodeAt(start))||isDigit(source.charCodeAt(start)))return null;let value="",chunk=start,i=start;while(i<source.length){let code=source.charCodeAt(i);if(code===92){if(source.charCodeAt(i+1)!==117)return null;let escaped=this.unicodeEscape(i+2);if(escaped===null)return null;value+=source.slice(chunk,i)+escaped,i=chunk=this.escapeEnd}else if(isWordCode(code))i++;else break}return this.advance(i-start),value+source.slice(chunk,i)}string(){let source=this.source,start=this.skip(),quote=source.charCodeAt(start);if(quote!==34&&quote!==39)return null;let value="",chunk=start+1;for(let i=chunk;i<source.length;){let code=source.charCodeAt(i);if(code===quote)return this.advance(i+1-start),{value:value+source.slice(chunk,i),start,end:i+1};if(code===10||code===13)return null;if(code===92){let escaped=this.escape(i+1);if(escaped===null)return null;value+=source.slice(chunk,i)+escaped,i=chunk=this.escapeEnd}else i++}return null}cooked(from,to,template){let source=this.source,value="",chunk=from;for(let i=from;i<to;){let code=source.charCodeAt(i);if(code===92){let escaped=this.escape(i+1);if(escaped===null)return null;value+=source.slice(chunk,i)+escaped,i=chunk=this.escapeEnd}else if(code===13&&template)value+=`${source.slice(chunk,i)}
2
2
  `,i+=source.charCodeAt(i+1)===10?2:1,chunk=i;else i++}return value+source.slice(chunk,to)}escape(pos){let code=this.source.charCodeAt(pos);switch(this.escapeEnd=pos+1,code){case 110:return`
3
- `;case 114:return"\r";case 116:return"\t";case 98:return"\b";case 118:return"\v";case 102:return"\f";case 48:return isDigit(this.source.charCodeAt(pos+1))?null:"\x00";case 120:return this.hexEscape(pos+1,2);case 117:return this.unicodeEscape(pos+1);case 13:if(this.source.charCodeAt(pos+1)===10)this.escapeEnd++;return"";case 10:case 8232:case 8233:return"";default:return isDigit(code)||pos>=this.source.length?null:String.fromCharCode(code)}}unicodeEscape(pos){if(this.source.charCodeAt(pos)!==123)return this.hexEscape(pos,4);let value=0,i=pos+1;for(;this.source.charCodeAt(i)!==125;i++){let digit=hexValue(this.source.charCodeAt(i));if(digit===-1)return null;if(value=value*16+digit,value>1114111)return null}if(i===pos+1)return null;return this.escapeEnd=i+1,String.fromCodePoint(value)}hexEscape(pos,length){let value=0;for(let i=pos;i<pos+length;i++){let digit=hexValue(this.source.charCodeAt(i));if(digit===-1)return null;value=value*16+digit}return this.escapeEnd=pos+length,String.fromCharCode(value)}}function isIdentifierStart(code){return code!==92&&isWordCode(code)&&!isDigit(code)}function hexValue(code){if(isDigit(code))return code-48;let lower=code|32;return lower>=97&&lower<=102?lower-87:-1}import{createRequire as createRequire2}from"node:module";import{dirname as dirname2,join as join2,resolve}from"node:path";import{Worker}from"node:worker_threads";import{existsSync,readFileSync}from"node:fs";import{createRequire}from"node:module";import{basename,dirname,join}from"node:path";import{pathToFileURL}from"node:url";var VITE_CONFIGS=["js","mjs","ts","cjs","mts","cts"].map((ext)=>`vite.config.${ext}`),SVELTE_CONFIGS=["js","cjs","mjs",...process.versions.bun||process.features.typescript?["ts","mts"]:[]].map((ext)=>`svelte.config.${ext}`),SVELTE_CONFIG=/^svelte\.config\./;async function svelteConfigOf(dir,explicit){let config=(explicit?await fromFile(explicit):await fromDir(dir))??{},{preprocess}=config;return{preprocess:preprocess&&(Array.isArray(preprocess)?preprocess:[preprocess]),compilerOptions:{dev:!0,...config.compilerOptions}}}function configFingerprint(dir,explicit){let parts=[],add=(path)=>{try{parts.push(path,readFileSync(path,"utf-8"))}catch{}};if(explicit)add(explicit);else for(let at=dir;;at=dirname(at)){for(let name of[...VITE_CONFIGS,...SVELTE_CONFIGS]){let path=join(at,name);if(existsSync(path))add(path)}if(dirname(at)===at)break}return JSON.stringify(parts)}function configNeedsChdir(dir,explicit){let cwd=process.cwd();if(explicit)return!SVELTE_CONFIG.test(basename(explicit))&&dirname(explicit)!==cwd;for(let at=dir;;at=dirname(at)){if(at!==cwd&&firstIn(at,VITE_CONFIGS))return!0;if(dirname(at)===at)return!1}}var firstIn=(dir,names)=>names.map((name)=>join(dir,name)).find((path)=>existsSync(path));async function fromFile(path){if(SVELTE_CONFIG.test(basename(path)))return fromSvelteConfig(path);let result=await fromVite(dirname(path),path);return result==="error"?void 0:result??fromSvelteConfig(path)}async function fromDir(dir){for(let at=dir;;at=dirname(at)){let vite=firstIn(at,VITE_CONFIGS),result=vite?await fromVite(at,vite):void 0;if(result&&result!=="error")return result;let svelte=firstIn(at,SVELTE_CONFIGS);if(svelte)return fromSvelteConfig(svelte);if(result==="error"||dirname(at)===at)return}}async function fromSvelteConfig(path){try{return(await import(pathToFileURL(path).href)).default}catch{return}}var resolving=Promise.resolve();async function fromVite(root,configFile){let vite=await importVite(root);if(!vite)return;let previous=resolving,done=()=>{};resolving=new Promise((resolve)=>{done=resolve}),await previous;let cwd=process.cwd();try{process.chdir(root)}catch{}try{let{plugins}=await vite.resolveConfig({root,configFile,logLevel:"error"},"serve"),options=(name)=>plugins.find((p)=>p.name===name)?.api?.options;return options("vite-plugin-sveltekit-setup")??options("vite-plugin-svelte:config")}catch{return"error"}finally{try{process.chdir(cwd)}catch{}done()}}async function importVite(root){try{let pkgPath=createRequire(join(root,"package.json")).resolve("vite/package.json"),pkg=JSON.parse(readFileSync(pkgPath,"utf-8")),entry=importEntry(pkg.exports?.["."])??pkg.module??pkg.main;if(!entry)return;return await import(pathToFileURL(join(dirname(pkgPath),entry)).href)}catch{return}}function importEntry(entry){if(typeof entry==="string")return entry;if(!entry||typeof entry!=="object")return;let{import:imported,default:fallback}=entry;if(typeof imported==="string")return imported;if(imported&&typeof imported==="object"){let nested=imported.default;if(typeof nested==="string")return nested}return typeof fallback==="string"?fallback:void 0}var DIGITS=new Map([..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"].map((char,i)=>[char,i]));function decode(mappings){let lines=[],line=0,originalColumn=0;for(let encoded of mappings.split(";")){let segments=[],column=0;for(let segment of encoded.split(",")){if(!segment)continue;let fields=[],value=0,shift=0;for(let char of segment){let digit=DIGITS.get(char)??0;if(value+=(digit&31)<<shift,digit&32)shift+=5;else fields.push(value&1?-(value>>>1):value>>>1),value=0,shift=0}if(column+=fields[0]??0,fields.length<4)continue;line+=fields[2]??0,originalColumn+=fields[3]??0,segments.push([column,line,originalColumn])}lines.push(segments)}return lines}function originalPosition(map){if(!map)return(line,column)=>({line,column});let lines=decode(map.mappings);return(line,column)=>{let segments=lines[line-1]??[],found;for(let segment of segments){if(segment[0]>column-1)break;found=segment}if(!found)return{line,column};return{line:found[1]+1,column:found[2]+(column-1-found[0])+1}}}function svelteDirOf(cwd,svelte){return svelte?resolve(cwd,svelte):dirname2(createRequire2(join2(cwd,"package.json")).resolve("svelte/package.json"))}var compilers=new Map;function compilerOf(svelteDir){let compiler=compilers.get(svelteDir);if(!compiler)compiler=createRequire2(join2(svelteDir,"package.json"))("svelte/compiler"),compilers.set(svelteDir,compiler);return compiler}function diagnosticsOf(compiler,source,filename,compilerOptions={}){try{let{warnings}=compiler.compile(source,{...compilerOptions,filename,generate:!1});return warnings.map((w)=>({severity:"warning",code:w.code,message:w.message,...positionsOf(w)}))}catch(error){let e=error;return[{severity:"error",code:e.code??"compile_error",message:e.message,...positionsOf(e)}]}}function positionsOf(w){let line=w.start?.line??1,column=(w.start?.column??0)+1;return{line,column,endLine:w.end?.line??line,endColumn:w.end?w.end.column+1:column}}function compilerDiagnostics2(source,filename,options={}){let compiler=compilerOf(svelteDirOf(resolve(options.cwd??process.cwd()),options.svelte));return diagnosticsOf(compiler,source,filename)}async function preprocessedDiagnostics(source,filename,svelteDir,config){let compiler=compilerOf(svelteDir),{preprocess,compilerOptions}=config,diagnostics,processed=preprocess?await compiler.preprocess(source,preprocess,{filename}):void 0;if(!processed||processed.code===source)diagnostics=diagnosticsOf(compiler,source,filename,compilerOptions);else{let map=typeof processed.map==="string"?JSON.parse(processed.map):processed.map,toOriginal=originalPosition(map);diagnostics=diagnosticsOf(compiler,processed.code,filename,compilerOptions).map((d)=>{let start=toOriginal(d.line,d.column),end=toOriginal(d.endLine??d.line,d.endColumn??d.column);return{...d,...start,endLine:end.line,endColumn:end.column}})}return asSvelteCheck(diagnostics,source,Boolean(preprocess))}async function compileAll(request){let config=await svelteConfigOf(request.configDir,request.configFile);return Promise.all(request.components.map(({source,filename})=>preprocessedDiagnostics(source,filename,request.svelteDir,config)))}var worker,pending=new Map,nextId=0;function startWorker(){let file=import.meta.url.endsWith(".ts")?"compile-worker.ts":"compile-worker.js",started=new Worker(new URL(file,import.meta.url));started.on("message",(reply)=>{let job=pending.get(reply.id);if(!job)return;if(pending.delete(reply.id),pending.size===0)started.unref();if(reply.results)job.done(reply.results);else job.fail(Error(reply.error))});let fallBack=()=>{if(worker!==started)return;worker=void 0;let jobs=[...pending.values()];pending.clear();for(let job of jobs)compileAll(job.request).then(job.done,job.fail)};return started.on("error",fallBack),started.on("exit",fallBack),started}function compileOffThread(request){if(configNeedsChdir(request.configDir,request.configFile))return;try{worker??=startWorker()}catch{return}let id=nextId++,running=worker;return new Promise((done,fail)=>{pending.set(id,{request,done,fail}),running.ref(),running.postMessage({id,request})})}var TEXT_TYPE=/^text\//,EXPORTED_TYPE=(name)=>new RegExp(`\\bexport\\s+?(enum|namespace)\\s+?${name}\\b`);function asSvelteCheck(diagnostics,source,preprocessed){let lexed=lexComponent2(source),script=lexed.instance??lexed.module,langOf=(attributes=[])=>{let lang=attributes.find((a)=>a.name==="lang")??attributes.find((a)=>a.name==="type");return typeof lang?.value==="string"?lang.value.replace(TEXT_TYPE,""):""},scriptLang=langOf(script?.attributes),styleLang=langOf(lexed.css?.attributes),ignoreScript=!preprocessed&&scriptLang!==""&&scriptLang!=="ts",ignoreStyle=!preprocessed&&styleLang!=="",offsetOf=createLocator(source).offset,inside=(d,tag)=>{if(!tag)return!1;let at=offsetOf(d.line,d.column);return tag.content.start<=at&&at<=tag.content.end},kept=[];for(let d of diagnostics){if(d.severity==="error"){if(d.message.includes("expected")){if(!preprocessed&&(scriptLang||styleLang))continue;let inScript=inside(d,script);if(inScript||inside(d,lexed.css))d.message+=`
3
+ `;case 114:return"\r";case 116:return"\t";case 98:return"\b";case 118:return"\v";case 102:return"\f";case 48:return isDigit(this.source.charCodeAt(pos+1))?null:"\x00";case 120:return this.hexEscape(pos+1,2);case 117:return this.unicodeEscape(pos+1);case 13:if(this.source.charCodeAt(pos+1)===10)this.escapeEnd++;return"";case 10:case 8232:case 8233:return"";default:return isDigit(code)||pos>=this.source.length?null:String.fromCharCode(code)}}unicodeEscape(pos){if(this.source.charCodeAt(pos)!==123)return this.hexEscape(pos,4);let value=0,i=pos+1;for(;this.source.charCodeAt(i)!==125;i++){let digit=hexValue(this.source.charCodeAt(i));if(digit===-1)return null;if(value=value*16+digit,value>1114111)return null}if(i===pos+1)return null;return this.escapeEnd=i+1,String.fromCodePoint(value)}hexEscape(pos,length){let value=0;for(let i=pos;i<pos+length;i++){let digit=hexValue(this.source.charCodeAt(i));if(digit===-1)return null;value=value*16+digit}return this.escapeEnd=pos+length,String.fromCharCode(value)}}function isIdentifierStart(code){return code!==92&&isWordCode(code)&&!isDigit(code)}function hexValue(code){if(isDigit(code))return code-48;let lower=code|32;return lower>=97&&lower<=102?lower-87:-1}import{createRequire as createRequire2}from"node:module";import{dirname as dirname2,join as join2,resolve}from"node:path";import{Worker}from"node:worker_threads";import{existsSync,readFileSync}from"node:fs";import{createRequire}from"node:module";import{basename,dirname,join}from"node:path";import{pathToFileURL}from"node:url";var VITE_CONFIGS=["js","mjs","ts","cjs","mts","cts"].map((ext)=>`vite.config.${ext}`),SVELTE_CONFIGS=["js","cjs","mjs",...process.versions.bun||process.features.typescript?["ts","mts"]:[]].map((ext)=>`svelte.config.${ext}`),SVELTE_CONFIG=/^svelte\.config\./;async function svelteConfigOf(dir,explicit){let config=(explicit?await fromFile(explicit):await fromDir(dir))??{},{preprocess}=config;return{preprocess:preprocess&&(Array.isArray(preprocess)?preprocess:[preprocess]),compilerOptions:{dev:!0,...config.compilerOptions}}}function configFingerprint(dir,explicit){let parts=[],add=(path)=>{try{parts.push(path,readFileSync(path,"utf-8"))}catch{}};if(explicit)add(explicit);else for(let at=dir;;at=dirname(at)){for(let name of[...VITE_CONFIGS,...SVELTE_CONFIGS]){let path=join(at,name);if(existsSync(path))add(path)}if(dirname(at)===at)break}return JSON.stringify(parts)}function configNeedsChdir(dir,explicit){let cwd=process.cwd();if(explicit)return!SVELTE_CONFIG.test(basename(explicit))&&dirname(explicit)!==cwd;for(let at=dir;;at=dirname(at)){if(at!==cwd&&firstIn(at,VITE_CONFIGS))return!0;if(dirname(at)===at)return!1}}var firstIn=(dir,names)=>names.map((name)=>join(dir,name)).find((path)=>existsSync(path));async function fromFile(path){if(SVELTE_CONFIG.test(basename(path)))return fromSvelteConfig(path);let result=await fromVite(dirname(path),path);return result==="error"?void 0:result??fromSvelteConfig(path)}async function fromDir(dir){for(let at=dir;;at=dirname(at)){let vite=firstIn(at,VITE_CONFIGS),result=vite?await fromVite(at,vite):void 0;if(result&&result!=="error")return result;let svelte=firstIn(at,SVELTE_CONFIGS);if(svelte)return fromSvelteConfig(svelte);if(result==="error"||dirname(at)===at)return}}async function fromSvelteConfig(path){try{return(await import(pathToFileURL(path).href)).default}catch{return}}var resolving=Promise.resolve();async function fromVite(root,configFile){let vite=await importVite(root);if(!vite)return;let previous=resolving,done=()=>{};resolving=new Promise((resolve)=>{done=resolve}),await previous;let cwd=process.cwd();try{process.chdir(root)}catch{}try{let{plugins}=await vite.resolveConfig({root,configFile,logLevel:"error"},"serve"),options=(name)=>plugins.find((p)=>p.name===name)?.api?.options;return options("vite-plugin-sveltekit-setup")??options("vite-plugin-svelte:config")}catch{return"error"}finally{try{process.chdir(cwd)}catch{}done()}}async function importVite(root){try{let pkgPath=createRequire(join(root,"package.json")).resolve("vite/package.json"),pkg=JSON.parse(readFileSync(pkgPath,"utf-8")),entry=importEntry(pkg.exports?.["."])??pkg.module??pkg.main;if(!entry)return;return await import(pathToFileURL(join(dirname(pkgPath),entry)).href)}catch{return}}function importEntry(entry){if(typeof entry==="string")return entry;if(!entry||typeof entry!=="object")return;let{import:imported,default:fallback}=entry;if(typeof imported==="string")return imported;if(imported&&typeof imported==="object"){let nested=imported.default;if(typeof nested==="string")return nested}return typeof fallback==="string"?fallback:void 0}var DIGITS=new Map([..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"].map((char,i)=>[char,i]));function decode(mappings){let lines=[],line=0,originalColumn=0;for(let encoded of mappings.split(";")){let segments=[],column=0;for(let segment of encoded.split(",")){if(!segment)continue;let fields=[],value=0,shift=0;for(let char of segment){let digit=DIGITS.get(char)??0;if(value+=(digit&31)<<shift,digit&32)shift+=5;else fields.push(value&1?-(value>>>1):value>>>1),value=0,shift=0}if(column+=fields[0]??0,fields.length<4)continue;line+=fields[2]??0,originalColumn+=fields[3]??0,segments.push([column,line,originalColumn])}lines.push(segments)}return lines}function originalPosition(map){if(!map)return(line,column)=>({line,column});let lines=decode(map.mappings);return(line,column)=>{let segments=lines[line-1]??[],found;for(let segment of segments){if(segment[0]>column-1)break;found=segment}if(!found)return{line,column};return{line:found[1]+1,column:found[2]+(column-1-found[0])+1}}}function svelteDirOf(cwd,svelte){return svelte?resolve(cwd,svelte):dirname2(createRequire2(join2(cwd,"package.json")).resolve("svelte/package.json"))}var compilers=new Map;function compilerOf(svelteDir){let compiler=compilers.get(svelteDir);if(!compiler)compiler=createRequire2(join2(svelteDir,"package.json"))("svelte/compiler"),compilers.set(svelteDir,compiler);return compiler}function diagnosticsOf(compiler,source,filename,compilerOptions={}){try{let{warnings}=compiler.compile(source,{...compilerOptions,filename,generate:!1});return warnings.map((w)=>({severity:"warning",code:w.code,message:w.message,...positionsOf(w)}))}catch(error){let e=error;return[{severity:"error",code:e.code??"compile_error",message:e.message,...positionsOf(e)}]}}function positionsOf(w){let line=w.start?.line??1,column=(w.start?.column??0)+1;return{line,column,endLine:w.end?.line??line,endColumn:w.end?w.end.column+1:column}}function compilerDiagnostics2(source,filename,options={}){let compiler=compilerOf(svelteDirOf(resolve(options.cwd??process.cwd()),options.svelte));return diagnosticsOf(compiler,source,filename)}async function preprocessedDiagnostics(source,filename,svelteDir,config,preprocessed=Boolean(config.preprocess)){let compiler=compilerOf(svelteDir),{preprocess,compilerOptions}=config,diagnostics,processed=preprocess?await compiler.preprocess(source,preprocess,{filename}):void 0;if(!processed||processed.code===source)diagnostics=diagnosticsOf(compiler,source,filename,compilerOptions);else{let map=typeof processed.map==="string"?JSON.parse(processed.map):processed.map,toOriginal=originalPosition(map);diagnostics=diagnosticsOf(compiler,processed.code,filename,compilerOptions).map((d)=>{let start=toOriginal(d.line,d.column),end=toOriginal(d.endLine??d.line,d.endColumn??d.column);return{...d,...start,endLine:end.line,endColumn:end.column}})}return asSvelteCheck(diagnostics,source,preprocessed)}var HOOKS=["markup","script","style"],UNCHANGING=new Set(["sveltekit:warnings"]),TAG={script:/<script[\s/>]/i,style:/<style[\s/>]/i};function isJson(value){if(value===null||["string","number","boolean"].includes(typeof value))return!0;if(Array.isArray(value))return value.every(isJson);return typeof value==="object"&&Object.getPrototypeOf(value)===Object.prototype&&Object.values(value).every((v)=>v===void 0||isJson(v))}function shapeOf(config){if(!isJson(config.compilerOptions))return;return{preprocess:(config.preprocess??[]).map((p)=>({name:typeof p.name==="string"?p.name:"",hooks:HOOKS.filter((hook)=>typeof p[hook]==="function")})),preprocessed:Boolean(config.preprocess),compilerOptions:config.compilerOptions}}function untouched(source,shape){return shape.preprocess.every((p)=>UNCHANGING.has(p.name)||p.hooks.every((hook)=>hook!=="markup"&&!TAG[hook].test(source)))}async function compileAll(request){let{shape,svelteDir}=request;if(shape&&request.components.every((c)=>untouched(c.source,shape)))return{shape,results:await Promise.all(request.components.map(({source,filename})=>preprocessedDiagnostics(source,filename,svelteDir,{compilerOptions:shape.compilerOptions},shape.preprocessed)))};let config=await svelteConfigOf(request.configDir,request.configFile);return{shape:shapeOf(config),results:await Promise.all(request.components.map(({source,filename})=>preprocessedDiagnostics(source,filename,svelteDir,config)))}}var worker,pending=new Map,nextId=0;function startWorker(){let file=import.meta.url.endsWith(".ts")?"compile-worker.ts":"compile-worker.js",started=new Worker(new URL(file,import.meta.url));started.on("message",(reply)=>{let job=pending.get(reply.id);if(!job)return;if(pending.delete(reply.id),pending.size===0)started.unref();if(reply.result)job.done(reply.result);else job.fail(Error(reply.error))});let fallBack=()=>{if(worker!==started)return;worker=void 0;let jobs=[...pending.values()];pending.clear();for(let job of jobs)compileAll(job.request).then(job.done,job.fail)};return started.on("error",fallBack),started.on("exit",fallBack),started}function compileOffThread(request){if(configNeedsChdir(request.configDir,request.configFile))return;try{worker??=startWorker()}catch{return}let id=nextId++,running=worker;return new Promise((done,fail)=>{pending.set(id,{request,done,fail}),running.ref(),running.postMessage({id,request})})}var TEXT_TYPE=/^text\//,EXPORTED_TYPE=(name)=>new RegExp(`\\bexport\\s+?(enum|namespace)\\s+?${name}\\b`);function asSvelteCheck(diagnostics,source,preprocessed){let lexed=lexComponent2(source),script=lexed.instance??lexed.module,langOf=(attributes=[])=>{let lang=attributes.find((a)=>a.name==="lang")??attributes.find((a)=>a.name==="type");return typeof lang?.value==="string"?lang.value.replace(TEXT_TYPE,""):""},scriptLang=langOf(script?.attributes),styleLang=langOf(lexed.css?.attributes),ignoreScript=!preprocessed&&scriptLang!==""&&scriptLang!=="ts",ignoreStyle=!preprocessed&&styleLang!=="",offsetOf=createLocator(source).offset,inside=(d,tag)=>{if(!tag)return!1;let at=offsetOf(d.line,d.column);return tag.content.start<=at&&at<=tag.content.end},kept=[];for(let d of diagnostics){if(d.severity==="error"){if(d.message.includes("expected")){if(!preprocessed&&(scriptLang||styleLang))continue;let inScript=inside(d,script);if(inScript||inside(d,lexed.css))d.message+=`
4
4
 
5
5
  If you expect this syntax to work, here are some suggestions: `+(inScript?'\nIf you use typescript with `svelte-preprocess`, did you add `lang="ts"` to your `script` tag? ':'\nIf you use less/SCSS with `svelte-preprocess`, did you add `lang="scss"`/`lang="less"` to your `style` tag? If you use SCSS, it may be necessary to add the path to your NODE runtime to the setting `svelte.language-server.runtime`, or use `sass` instead of `node-sass`. ')+"\nDid you setup a `svelte.config.js` or `vite.config.js`? \nSee https://github.com/sveltejs/language-tools/tree/master/docs#using-with-preprocessors for more info."}kept.push(d);continue}if(ignoreScript&&!d.code.startsWith("a11y"))continue;if(ignoreStyle&&(d.code==="css_unused_selector"||d.code==="css-unused-selector"))continue;if(d.code==="export_let_unused"||d.code==="unused-export-let"){let name=d.message.slice(d.message.indexOf("'")+1,d.message.lastIndexOf("'"));if(EXPORTED_TYPE(name).test(source))continue}kept.push(d)}return kept}
6
6
  export{lexImportsExports,configFingerprint,svelteDirOf,compilerDiagnostics2,compileAll,compileOffThread};
@@ -1 +0,0 @@
1
- import{version2,package_default}from"./shared-7cvnvjc0.js";export{package_default as default,version2 as version};
@@ -1,2 +0,0 @@
1
- var version2="0.1.8",package_default={version:version2};
2
- export{version2,package_default};