diff --git a/.changeset/flat-bags-tap.md b/.changeset/flat-bags-tap.md new file mode 100644 index 000000000..9a81aae9a --- /dev/null +++ b/.changeset/flat-bags-tap.md @@ -0,0 +1,5 @@ +--- +"sv": patch +--- + +feat(deno): support `$lib` alias in `deno` diff --git a/packages/sv/lib/cli/create.ts b/packages/sv/lib/cli/create.ts index afd417ed7..3c8c604a8 100644 --- a/packages/sv/lib/cli/create.ts +++ b/packages/sv/lib/cli/create.ts @@ -341,6 +341,9 @@ async function createProject(cwd: ProjectPath, options: Options) { await addPnpmBuildDependencies(projectPath, packageManager, ['esbuild']); if (packageManager) { + if (packageManager === 'deno') { + common.createDenoJson(directory); + } await installDependencies(packageManager, projectPath); await formatFiles({ packageManager, cwd: projectPath, filesToFormat: addOnFilesToFormat }); } diff --git a/packages/sv/lib/cli/utils/common.ts b/packages/sv/lib/cli/utils/common.ts index d06059117..ffa9df8e8 100644 --- a/packages/sv/lib/cli/utils/common.ts +++ b/packages/sv/lib/cli/utils/common.ts @@ -190,3 +190,15 @@ export function errorAndExit(message: string) { export const normalizePosix = (dir: string) => { return path.posix.normalize(dir.replace(/\\/g, '/')); }; + +export function createDenoJson(projectPath: string) { + const filePath = path.join(projectPath, 'deno.json'); + const content = `{ + "imports": { + "$lib/": "./src/lib/" + } +} +`; + + fs.writeFileSync(filePath, content); +}