diff --git a/src/path-alias/path-alias.test.ts b/src/path-alias/path-alias.test.ts index f7b3060..1400109 100644 --- a/src/path-alias/path-alias.test.ts +++ b/src/path-alias/path-alias.test.ts @@ -6,95 +6,95 @@ const testFn = await executeTest(import.meta.dirname!, pathAliasCodemod); Deno.test.only("converts simple path alias to relative path", async () => { await testFn({ testFile: "simple_alias_test.ts", - inFile: "src/path-alias/spec/simple-alias.in.ts", - outFile: "src/path-alias/spec/simple-alias.out.ts", + inFile: "src/path-alias/spec/src/tests/simple-alias.in.ts", + outFile: "src/path-alias/spec/src/tests/simple-alias.out.ts", }); }); Deno.test("converts wildcard path alias to relative path", async () => { await testFn({ testFile: "wildcard_alias_test.ts", - inFile: "src/path-alias/spec/wildcard-alias.in.ts", - outFile: "src/path-alias/spec/wildcard-alias.out.ts", + inFile: "src/path-alias/spec/src/tests/wildcard-alias.in.ts", + outFile: "src/path-alias/spec/src/tests/wildcard-alias.out.ts", }); }); Deno.test("handles multiple imports with different aliases", async () => { await testFn({ testFile: "multiple_imports_test.ts", - inFile: "src/path-alias/spec/multiple-imports.in.ts", - outFile: "src/path-alias/spec/multiple-imports.out.ts", + inFile: "src/path-alias/spec/src/tests/multiple-imports.in.ts", + outFile: "src/path-alias/spec/src/tests/multiple-imports.out.ts", }); }); Deno.test("preserves relative imports unchanged", async () => { await testFn({ testFile: "relative_imports_test.ts", - inFile: "src/path-alias/spec/relative-imports.in.ts", - outFile: "src/path-alias/spec/relative-imports.out.ts", + inFile: "src/path-alias/spec/src/tests/relative-imports.in.ts", + outFile: "src/path-alias/spec/src/tests/relative-imports.out.ts", }); }); Deno.test("preserves external package imports unchanged", async () => { await testFn({ testFile: "external_packages_test.ts", - inFile: "src/path-alias/spec/external-packages.in.ts", - outFile: "src/path-alias/spec/external-packages.out.ts", + inFile: "src/path-alias/spec/src/tests/external-packages.in.ts", + outFile: "src/path-alias/spec/src/tests/external-packages.out.ts", }); }); Deno.test("handles complex nested path aliases", async () => { await testFn({ testFile: "nested_aliases_test.ts", - inFile: "src/path-alias/spec/nested-aliases.in.ts", - outFile: "src/path-alias/spec/nested-aliases.out.ts", + inFile: "src/path-alias/spec/src/tests/nested-aliases.in.ts", + outFile: "src/path-alias/spec/src/tests/nested-aliases.out.ts", }); }); Deno.test("handles mixed import types", async () => { await testFn({ testFile: "mixed_imports_test.ts", - inFile: "src/path-alias/spec/mixed-imports.in.ts", - outFile: "src/path-alias/spec/mixed-imports.out.ts", + inFile: "src/path-alias/spec/src/tests/mixed-imports.in.ts", + outFile: "src/path-alias/spec/src/tests/mixed-imports.out.ts", }); }); Deno.test("handles type-only imports", async () => { await testFn({ testFile: "type_imports_test.ts", - inFile: "src/path-alias/spec/type-imports.in.ts", - outFile: "src/path-alias/spec/type-imports.out.ts", + inFile: "src/path-alias/spec/src/tests/type-imports.in.ts", + outFile: "src/path-alias/spec/src/tests/type-imports.out.ts", }); }); Deno.test("handles default and named imports", async () => { await testFn({ testFile: "default_named_imports_test.ts", - inFile: "src/path-alias/spec/default-named-imports.in.ts", - outFile: "src/path-alias/spec/default-named-imports.out.ts", + inFile: "src/path-alias/spec/src/tests/default-named-imports.in.ts", + outFile: "src/path-alias/spec/src/tests/default-named-imports.out.ts", }); }); Deno.test("handles re-exports", async () => { await testFn({ testFile: "re_exports_test.ts", - inFile: "src/path-alias/spec/re-exports.in.ts", - outFile: "src/path-alias/spec/re-exports.out.ts", + inFile: "src/path-alias/spec/src/tests/re-exports.in.ts", + outFile: "src/path-alias/spec/src/tests/re-exports.out.ts", }); }); Deno.test("handles dynamic imports", async () => { await testFn({ testFile: "dynamic_imports_test.ts", - inFile: "src/path-alias/spec/dynamic-imports.in.ts", - outFile: "src/path-alias/spec/dynamic-imports.out.ts", + inFile: "src/path-alias/spec/src/tests/dynamic-imports.in.ts", + outFile: "src/path-alias/spec/src/tests/dynamic-imports.out.ts", }); }); Deno.test("comprehensive path alias transformation", async () => { await testFn({ testFile: "comprehensive_test.ts", - inFile: "src/path-alias/spec/comprehensive.in.ts", - outFile: "src/path-alias/spec/comprehensive.out.ts", + inFile: "src/path-alias/spec/src/tests/comprehensive.in.ts", + outFile: "src/path-alias/spec/src/tests/comprehensive.out.ts", }); }); diff --git a/src/path-alias/path-alias.ts b/src/path-alias/path-alias.ts index 847e53c..a237b48 100644 --- a/src/path-alias/path-alias.ts +++ b/src/path-alias/path-alias.ts @@ -140,7 +140,11 @@ function convertPathAliases(sourceFile: SourceFile): void { ) { return; } - + console.log({ + importPath, + pathMappings, + sourceFilePath: sourceFile.getFilePath(), + }); const relativePath = resolvePathAlias( importPath, pathMappings, diff --git a/src/path-alias/spec/constants.ts b/src/path-alias/spec/constants.ts deleted file mode 100644 index 51e7641..0000000 --- a/src/path-alias/spec/constants.ts +++ /dev/null @@ -1,4 +0,0 @@ -export class Constants { - static API_URL = "http://localhost:3000"; - static PORT = 3000; -} diff --git a/src/path-alias/spec/helper.ts b/src/path-alias/spec/helper.ts deleted file mode 100644 index 8aed9c9..0000000 --- a/src/path-alias/spec/helper.ts +++ /dev/null @@ -1,5 +0,0 @@ -export class Helper { - static formatName(name: string) { - return name.toUpperCase(); - } -} diff --git a/src/path-alias/spec/nested-aliases.out.ts b/src/path-alias/spec/nested-aliases.out.ts deleted file mode 100644 index 0781b1a..0000000 --- a/src/path-alias/spec/nested-aliases.out.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { UserService } from "../src/services/user.ts"; -import { AuthService } from "../src/services/auth.ts"; -import { Logger } from "../src/utils/logger.ts"; -import { Database } from "../src/database/connection.ts"; -import { Config } from "../src/config/app.ts"; -import { ValidationError } from "../src/types/errors.ts"; -import { UserModel } from "../src/models/user.ts"; -import { AuthModel } from "../src/models/auth.ts"; - -export class App { - constructor( - private userService: UserService, - private authService: AuthService, - private logger: Logger, - private db: Database, - private config: Config, - ) {} - - async initialize() { - this.logger.info("Initializing application"); - await this.db.connect(); - } -} diff --git a/src/path-alias/spec/re-exports.out.ts b/src/path-alias/spec/re-exports.out.ts deleted file mode 100644 index a11c3bf..0000000 --- a/src/path-alias/spec/re-exports.out.ts +++ /dev/null @@ -1,12 +0,0 @@ -// Re-export from path aliases -export { UserService } from "../src/services/user.ts"; -export { AuthService } from "../src/services/auth.ts"; -export { Logger } from "../src/utils/logger.ts"; - -// Re-export with renaming -export { UserService as UserAPI } from "../src/services/user.ts"; -export { AuthService as AuthAPI } from "../src/services/auth.ts"; - -// Re-export all -export * from "../src/services/user.ts"; -export * from "../src/utils/logger.ts"; diff --git a/src/path-alias/spec/comprehensive.in.ts b/src/path-alias/spec/src/tests/comprehensive.in.ts similarity index 100% rename from src/path-alias/spec/comprehensive.in.ts rename to src/path-alias/spec/src/tests/comprehensive.in.ts diff --git a/src/path-alias/spec/comprehensive.out.ts b/src/path-alias/spec/src/tests/comprehensive.out.ts similarity index 59% rename from src/path-alias/spec/comprehensive.out.ts rename to src/path-alias/spec/src/tests/comprehensive.out.ts index cce6db0..21bac0f 100644 --- a/src/path-alias/spec/comprehensive.out.ts +++ b/src/path-alias/spec/src/tests/comprehensive.out.ts @@ -1,12 +1,12 @@ // Type-only imports -import type { UserType } from "../src/types/user.ts"; -import type { ConfigType } from "../src/config/types.ts"; +import type { UserType } from "../types/user.ts"; +import type { ConfigType } from "../config/types.ts"; // Regular imports with path aliases -import { UserService } from "../src/services/user.ts"; -import { AuthService } from "../src/services/auth.ts"; -import { Logger } from "../src/utils/logger.ts"; -import { Database } from "../src/database/connection.ts"; +import { UserService } from "../services/user.ts"; +import { AuthService } from "../services/auth.ts"; +import { Logger } from "../utils/logger.ts"; +import { Database } from "../database/connection.ts"; // External packages (should be preserved) import express from "express"; @@ -17,15 +17,15 @@ import { Helper } from "./helper"; import { Constants } from "../constants"; // Wildcard imports -import { UserModel } from "../src/models/index.ts"; -import { ValidationError } from "../src/types/errors.ts"; +import { UserModel } from "../models/index.ts"; +import { ValidationError } from "../types/errors.ts"; // Re-exports -export { UserService } from "../src/services/user.ts"; -export { AuthService } from "../src/services/auth.ts"; +export { UserService } from "../services/user.ts"; +export { AuthService } from "../services/auth.ts"; // Default imports -import UserController from "../src/controllers/user.ts"; +import UserController from "../controllers/user.ts"; export class App { constructor( diff --git a/src/path-alias/spec/default-named-imports.in.ts b/src/path-alias/spec/src/tests/default-named-imports.in.ts similarity index 100% rename from src/path-alias/spec/default-named-imports.in.ts rename to src/path-alias/spec/src/tests/default-named-imports.in.ts diff --git a/src/path-alias/spec/default-named-imports.out.ts b/src/path-alias/spec/src/tests/default-named-imports.out.ts similarity index 56% rename from src/path-alias/spec/default-named-imports.out.ts rename to src/path-alias/spec/src/tests/default-named-imports.out.ts index ef535e0..47d016a 100644 --- a/src/path-alias/spec/default-named-imports.out.ts +++ b/src/path-alias/spec/src/tests/default-named-imports.out.ts @@ -1,7 +1,7 @@ -import UserController from "../src/controllers/user.ts"; -import { UserService } from "../src/services/user.ts"; -import { AuthConfig, AuthService } from "../src/services/auth.ts"; -import Logger, { LogLevel } from "../src/utils/logger.ts"; +import UserController from "../controllers/user.ts"; +import { UserService } from "../services/user.ts"; +import { AuthConfig, AuthService } from "../services/auth.ts"; +import Logger, { LogLevel } from "../utils/logger.ts"; export class App { constructor( diff --git a/src/path-alias/spec/dynamic-imports.in.ts b/src/path-alias/spec/src/tests/dynamic-imports.in.ts similarity index 100% rename from src/path-alias/spec/dynamic-imports.in.ts rename to src/path-alias/spec/src/tests/dynamic-imports.in.ts diff --git a/src/path-alias/spec/dynamic-imports.out.ts b/src/path-alias/spec/src/tests/dynamic-imports.out.ts similarity index 52% rename from src/path-alias/spec/dynamic-imports.out.ts rename to src/path-alias/spec/src/tests/dynamic-imports.out.ts index 257e295..795bf28 100644 --- a/src/path-alias/spec/dynamic-imports.out.ts +++ b/src/path-alias/spec/src/tests/dynamic-imports.out.ts @@ -1,20 +1,20 @@ -import { UserService } from "../src/services/user.ts"; +import { UserService } from "../services/user.ts"; export class UserController { constructor(private userService: UserService) {} async loadUserModule() { - const UserModule = await import("../src/modules/user.ts"); + const UserModule = await import("../modules/user.ts"); return new UserModule.default(); } async loadAuthModule() { - const { AuthService } = await import("../src/services/auth.ts"); + const { AuthService } = await import("../services/auth.ts"); return new AuthService(); } async loadConfig() { - const config = await import("../src/config/app.ts"); + const config = await import("../config/app.ts"); return config.default; } } diff --git a/src/path-alias/spec/external-packages.in.ts b/src/path-alias/spec/src/tests/external-packages.in.ts similarity index 100% rename from src/path-alias/spec/external-packages.in.ts rename to src/path-alias/spec/src/tests/external-packages.in.ts diff --git a/src/path-alias/spec/external-packages.out.ts b/src/path-alias/spec/src/tests/external-packages.out.ts similarity index 81% rename from src/path-alias/spec/external-packages.out.ts rename to src/path-alias/spec/src/tests/external-packages.out.ts index 612bb0f..ebf07fb 100644 --- a/src/path-alias/spec/external-packages.out.ts +++ b/src/path-alias/spec/src/tests/external-packages.out.ts @@ -1,8 +1,8 @@ -import { UserService } from "../src/services/user.ts"; +import { UserService } from "../services/user.ts"; import express from "express"; import { Request, Response } from "express"; import { z } from "zod"; -import { Logger } from "../src/utils/logger.ts"; +import { Logger } from "../utils/logger.ts"; export class UserController { constructor( diff --git a/src/path-alias/spec/mixed-imports.in.ts b/src/path-alias/spec/src/tests/mixed-imports.in.ts similarity index 100% rename from src/path-alias/spec/mixed-imports.in.ts rename to src/path-alias/spec/src/tests/mixed-imports.in.ts diff --git a/src/path-alias/spec/mixed-imports.out.ts b/src/path-alias/spec/src/tests/mixed-imports.out.ts similarity index 74% rename from src/path-alias/spec/mixed-imports.out.ts rename to src/path-alias/spec/src/tests/mixed-imports.out.ts index 8d7fd70..270a0b8 100644 --- a/src/path-alias/spec/mixed-imports.out.ts +++ b/src/path-alias/spec/src/tests/mixed-imports.out.ts @@ -1,6 +1,6 @@ // Path aliases -import { UserService } from "../src/services/user.ts"; -import { Logger } from "../src/utils/logger.ts"; +import { UserService } from "../services/user.ts"; +import { Logger } from "../utils/logger.ts"; // External packages import express from "express"; @@ -11,7 +11,7 @@ import { Helper } from "./helper"; import { Constants } from "../constants"; // Type imports -import type { UserType } from "../src/types/user.ts"; +import type { UserType } from "../types/user.ts"; export class App { constructor( diff --git a/src/path-alias/spec/multiple-imports.in.ts b/src/path-alias/spec/src/tests/multiple-imports.in.ts similarity index 100% rename from src/path-alias/spec/multiple-imports.in.ts rename to src/path-alias/spec/src/tests/multiple-imports.in.ts diff --git a/src/path-alias/spec/multiple-imports.out.ts b/src/path-alias/spec/src/tests/multiple-imports.out.ts similarity index 53% rename from src/path-alias/spec/multiple-imports.out.ts rename to src/path-alias/spec/src/tests/multiple-imports.out.ts index cb78038..8343bee 100644 --- a/src/path-alias/spec/multiple-imports.out.ts +++ b/src/path-alias/spec/src/tests/multiple-imports.out.ts @@ -1,8 +1,8 @@ -import { UserService } from "../src/services/user.ts"; -import { AuthService } from "../src/services/auth.ts"; -import { Logger } from "../src/utils/logger.ts"; -import { Config } from "../src/config/app.ts"; -import { Database } from "../src/database/connection.ts"; +import { UserService } from "../services/user.ts"; +import { AuthService } from "../services/auth.ts"; +import { Logger } from "../utils/logger.ts"; +import { Config } from "../config/app.ts"; +import { Database } from "../database/connection.ts"; export class App { constructor( diff --git a/src/path-alias/spec/nested-aliases.in.ts b/src/path-alias/spec/src/tests/nested-aliases.in.ts similarity index 100% rename from src/path-alias/spec/nested-aliases.in.ts rename to src/path-alias/spec/src/tests/nested-aliases.in.ts diff --git a/src/path-alias/spec/src/tests/nested-aliases.out.ts b/src/path-alias/spec/src/tests/nested-aliases.out.ts new file mode 100644 index 0000000..e00a5ba --- /dev/null +++ b/src/path-alias/spec/src/tests/nested-aliases.out.ts @@ -0,0 +1,23 @@ +import { UserService } from "../services/user.ts"; +import { AuthService } from "../services/auth.ts"; +import { Logger } from "../utils/logger.ts"; +import { Database } from "../database/connection.ts"; +import { Config } from "../config/app.ts"; +import { ValidationError } from "../types/errors.ts"; +import { UserModel } from "../models/user.ts"; +import { AuthModel } from "../models/auth.ts"; + +export class App { + constructor( + private userService: UserService, + private authService: AuthService, + private logger: Logger, + private db: Database, + private config: Config, + ) {} + + async initialize() { + this.logger.info("Initializing application"); + await this.db.connect(); + } +} diff --git a/src/path-alias/spec/re-exports.in.ts b/src/path-alias/spec/src/tests/re-exports.in.ts similarity index 100% rename from src/path-alias/spec/re-exports.in.ts rename to src/path-alias/spec/src/tests/re-exports.in.ts diff --git a/src/path-alias/spec/src/tests/re-exports.out.ts b/src/path-alias/spec/src/tests/re-exports.out.ts new file mode 100644 index 0000000..95588eb --- /dev/null +++ b/src/path-alias/spec/src/tests/re-exports.out.ts @@ -0,0 +1,12 @@ +// Re-export from path aliases +export { UserService } from "../services/user.ts"; +export { AuthService } from "../services/auth.ts"; +export { Logger } from "../utils/logger.ts"; + +// Re-export with renaming +export { UserService as UserAPI } from "../services/user.ts"; +export { AuthService as AuthAPI } from "../services/auth.ts"; + +// Re-export all +export * from "../services/user.ts"; +export * from "../utils/logger.ts"; diff --git a/src/path-alias/spec/relative-imports.in.ts b/src/path-alias/spec/src/tests/relative-imports.in.ts similarity index 100% rename from src/path-alias/spec/relative-imports.in.ts rename to src/path-alias/spec/src/tests/relative-imports.in.ts diff --git a/src/path-alias/spec/relative-imports.out.ts b/src/path-alias/spec/src/tests/relative-imports.out.ts similarity index 88% rename from src/path-alias/spec/relative-imports.out.ts rename to src/path-alias/spec/src/tests/relative-imports.out.ts index 1cf9ead..87fd433 100644 --- a/src/path-alias/spec/relative-imports.out.ts +++ b/src/path-alias/spec/src/tests/relative-imports.out.ts @@ -1,4 +1,4 @@ -import { UserService } from "../src/services/user.ts"; +import { UserService } from "../services/user.ts"; import { Logger } from "./logger"; import { Config } from "../config/app"; import { Utils } from "../../utils/helpers"; diff --git a/src/path-alias/spec/simple-alias.in.ts b/src/path-alias/spec/src/tests/simple-alias.in.ts similarity index 100% rename from src/path-alias/spec/simple-alias.in.ts rename to src/path-alias/spec/src/tests/simple-alias.in.ts diff --git a/src/path-alias/spec/simple-alias.out.ts b/src/path-alias/spec/src/tests/simple-alias.out.ts similarity index 56% rename from src/path-alias/spec/simple-alias.out.ts rename to src/path-alias/spec/src/tests/simple-alias.out.ts index ba9bdb9..ff8fdad 100644 --- a/src/path-alias/spec/simple-alias.out.ts +++ b/src/path-alias/spec/src/tests/simple-alias.out.ts @@ -1,6 +1,6 @@ -import { UserService } from "../src/path-alias/spec/src/services/user.ts"; -import { Logger } from "../src/path-alias/spec/src/utils/logger.ts"; -import { Config } from "../src/path-alias/spec/src/config/app.ts"; +import { UserService } from "../../src/services/user.ts"; +import { Logger } from "../../src/utils/logger.ts"; +import { Config } from "../../src/config/app.ts"; export class UserController { constructor( diff --git a/src/path-alias/spec/type-imports.in.ts b/src/path-alias/spec/src/tests/type-imports.in.ts similarity index 100% rename from src/path-alias/spec/type-imports.in.ts rename to src/path-alias/spec/src/tests/type-imports.in.ts diff --git a/src/path-alias/spec/type-imports.out.ts b/src/path-alias/spec/src/tests/type-imports.out.ts similarity index 54% rename from src/path-alias/spec/type-imports.out.ts rename to src/path-alias/spec/src/tests/type-imports.out.ts index 16e3385..f72c098 100644 --- a/src/path-alias/spec/type-imports.out.ts +++ b/src/path-alias/spec/src/tests/type-imports.out.ts @@ -1,8 +1,8 @@ -import type { UserType } from "../src/types/user.ts"; -import type { ConfigType } from "../src/config/types.ts"; -import type { DatabaseType } from "../src/database/types.ts"; +import type { UserType } from "../types/user.ts"; +import type { ConfigType } from "../config/types.ts"; +import type { DatabaseType } from "../database/types.ts"; -import { UserService } from "../src/services/user.ts"; +import { UserService } from "../services/user.ts"; export class UserController { constructor(private userService: UserService) {} diff --git a/src/path-alias/spec/wildcard-alias.in.ts b/src/path-alias/spec/src/tests/wildcard-alias.in.ts similarity index 100% rename from src/path-alias/spec/wildcard-alias.in.ts rename to src/path-alias/spec/src/tests/wildcard-alias.in.ts diff --git a/src/path-alias/spec/wildcard-alias.out.ts b/src/path-alias/spec/src/tests/wildcard-alias.out.ts similarity index 60% rename from src/path-alias/spec/wildcard-alias.out.ts rename to src/path-alias/spec/src/tests/wildcard-alias.out.ts index 8aac299..72623f2 100644 --- a/src/path-alias/spec/wildcard-alias.out.ts +++ b/src/path-alias/spec/src/tests/wildcard-alias.out.ts @@ -1,7 +1,7 @@ -import { UserModel } from "../src/models/index.ts"; -import { AuthService } from "../src/services/auth.ts"; -import { DatabaseConfig } from "../src/config/database.ts"; -import { ValidationError } from "../src/types/errors.ts"; +import { UserModel } from "../models/index.ts"; +import { AuthService } from "../services/auth.ts"; +import { DatabaseConfig } from "../config/database.ts"; +import { ValidationError } from "../types/errors.ts"; export class AuthController { constructor(