refactor: remove .js extensions from all imports

This commit is contained in:
2026-04-06 15:10:22 +02:00
parent a22c9bdaed
commit d06b900e7c
64 changed files with 177 additions and 161 deletions

View File

@@ -4,7 +4,7 @@ import type { Metadata } from "next";
import config from "@payload-config";
import { NotFoundPage, generatePageMetadata } from "@payloadcms/next/views";
import { importMap } from "../../importMap.js";
import { importMap } from "../../importMap";
type Args = {
params: Promise<{ segments: string[] }>;

View File

@@ -4,7 +4,7 @@ import type { Metadata } from "next";
import config from "@payload-config";
import { RootPage, generatePageMetadata } from "@payloadcms/next/views";
import { importMap } from "../../importMap.js";
import { importMap } from "../../importMap";
type Args = {
params: Promise<{ segments: string[] }>;

View File

@@ -6,7 +6,7 @@ import config from "@payload-config";
import { RootLayout } from "@payloadcms/next/layouts";
import React from "react";
import { importMap } from "./importMap.js";
import { importMap } from "./importMap";
import "./custom.scss";
type Args = {

6
apps/web-next/next-env.d.ts vendored Normal file
View File

@@ -0,0 +1,6 @@
/// <reference types="next" />
/// <reference types="next/image-types/global" />
/// <reference path="./.next/types/routes.d.ts" />
// NOTE: This file should not be edited
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.

View File

@@ -3,9 +3,19 @@
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@/*": ["./src/*"]
}
"@/*": [
"./src/*"
]
},
"allowJs": true
},
"include": ["src/**/*.ts", "src/**/*.tsx", "next-env.d.ts"],
"exclude": ["node_modules"]
"include": [
"next-env.d.ts",
"src/**/*.ts",
"src/**/*.tsx",
".next/types/**/*.ts"
],
"exclude": [
"node_modules"
]
}

View File

@@ -1,3 +1,3 @@
export { ApiProvider } from "./provider.js";
export { useTRPC } from "./trpc.js";
export { getQueryClient } from "./query-client.js";
export { ApiProvider } from "./provider";
export { useTRPC } from "./trpc";
export { getQueryClient } from "./query-client";

View File

@@ -3,8 +3,8 @@
import { QueryClientProvider } from "@tanstack/react-query";
import { createTRPCClient, httpBatchLink } from "@trpc/client";
import type { AppRouter } from "@repo/api";
import { TRPCProvider } from "./trpc.js";
import { getQueryClient } from "./query-client.js";
import { TRPCProvider } from "./trpc";
import { getQueryClient } from "./query-client";
export function ApiProvider({
children,

View File

@@ -1 +1 @@
export { appRouter, type AppRouter } from "./router/index.js";
export { appRouter, type AppRouter } from "./router/index";

View File

@@ -1,5 +1,5 @@
import { z } from "zod";
import { router, publicProcedure } from "../trpc.js";
import { router, publicProcedure } from "../trpc";
import {
signInController,
signUpController,

View File

@@ -1,5 +1,5 @@
import { z } from "zod";
import { router, publicProcedure } from "../trpc.js";
import { router, publicProcedure } from "../trpc";
import { createArticleController, getArticlesController } from "@repo/core";
export const contentRouter = router({

View File

@@ -1,6 +1,6 @@
import { router } from "../trpc.js";
import { authRouter } from "./auth.router.js";
import { contentRouter } from "./content.router.js";
import { router } from "../trpc";
import { authRouter } from "./auth.router";
import { contentRouter } from "./content.router";
export const appRouter = router({
auth: authRouter,

View File

@@ -1,7 +1,7 @@
import type { Payload } from "payload";
import type { PayloadClient } from "./types.js";
import { LocalPayloadClient } from "./local-client.js";
import { HTTPPayloadClient } from "./http-client.js";
import type { PayloadClient } from "./types";
import { LocalPayloadClient } from "./local-client";
import { HTTPPayloadClient } from "./http-client";
type PayloadClientOptions =
| { mode: "local"; payload: Payload }

View File

@@ -2,7 +2,7 @@ import type {
FindOptions,
PayloadClient,
PayloadClientResult,
} from "./types.js";
} from "./types";
export class HTTPPayloadClient implements PayloadClient {
constructor(private baseURL: string) {}

View File

@@ -1,8 +1,8 @@
export { createPayloadClient } from "./client.js";
export { LocalPayloadClient } from "./local-client.js";
export { HTTPPayloadClient } from "./http-client.js";
export { createPayloadClient } from "./client";
export { LocalPayloadClient } from "./local-client";
export { HTTPPayloadClient } from "./http-client";
export type {
PayloadClient,
PayloadClientResult,
FindOptions,
} from "./types.js";
} from "./types";

View File

@@ -3,7 +3,7 @@ import type {
FindOptions,
PayloadClient,
PayloadClientResult,
} from "./types.js";
} from "./types";
export class LocalPayloadClient implements PayloadClient {
constructor(private payload: Payload) {}

View File

@@ -1,4 +1,4 @@
import type { Article } from "@/entities/models/article.js";
import type { Article } from "@/entities/models/article";
export interface IArticlesRepository {
getArticle(id: string): Promise<Article | undefined>;

View File

@@ -1,2 +1,2 @@
export type { IUsersRepository } from "./users.repository.interface.js";
export type { IArticlesRepository } from "./articles.repository.interface.js";
export type { IUsersRepository } from "./users.repository.interface";
export type { IArticlesRepository } from "./articles.repository.interface";

View File

@@ -1,4 +1,4 @@
import type { User } from "@/entities/models/user.js";
import type { User } from "@/entities/models/user";
export interface IUsersRepository {
getUser(id: string): Promise<User | undefined>;

View File

@@ -1,6 +1,6 @@
import type { Cookie } from "@/entities/models/cookie.js";
import type { Session } from "@/entities/models/session.js";
import type { User } from "@/entities/models/user.js";
import type { Cookie } from "@/entities/models/cookie";
import type { Session } from "@/entities/models/session";
import type { User } from "@/entities/models/user";
export interface IAuthenticationService {
generateUserId(): string;

View File

@@ -1,2 +1,2 @@
export type { IAuthenticationService } from "./auth.service.interface.js";
export type { ITelemetryService } from "./telemetry.service.interface.js";
export type { IAuthenticationService } from "./auth.service.interface";
export type { ITelemetryService } from "./telemetry.service.interface";

View File

@@ -1,7 +1,7 @@
import { AuthenticationError } from "@/entities/errors/auth.js";
import type { Cookie } from "@/entities/models/cookie.js";
import type { Session } from "@/entities/models/session.js";
import { getInjection } from "@/di/container.js";
import { AuthenticationError } from "@/entities/errors/auth";
import type { Cookie } from "@/entities/models/cookie";
import type { Session } from "@/entities/models/session";
import { getInjection } from "@/di/container";
export async function signInUseCase(input: {
username: string;

View File

@@ -1,5 +1,5 @@
import type { Cookie } from "@/entities/models/cookie.js";
import { getInjection } from "@/di/container.js";
import type { Cookie } from "@/entities/models/cookie";
import { getInjection } from "@/di/container";
export async function signOutUseCase(
sessionId: string

View File

@@ -1,8 +1,8 @@
import { AuthenticationError } from "@/entities/errors/auth.js";
import type { Cookie } from "@/entities/models/cookie.js";
import type { Session } from "@/entities/models/session.js";
import type { User } from "@/entities/models/user.js";
import { getInjection } from "@/di/container.js";
import { AuthenticationError } from "@/entities/errors/auth";
import type { Cookie } from "@/entities/models/cookie";
import type { Session } from "@/entities/models/session";
import type { User } from "@/entities/models/user";
import { getInjection } from "@/di/container";
export async function signUpUseCase(input: {
username: string;

View File

@@ -1,5 +1,5 @@
import type { Article } from "@/entities/models/article.js";
import { getInjection } from "@/di/container.js";
import type { Article } from "@/entities/models/article";
import { getInjection } from "@/di/container";
function generateSlug(title: string): string {
return title

View File

@@ -1,5 +1,5 @@
import type { Article } from "@/entities/models/article.js";
import { getInjection } from "@/di/container.js";
import type { Article } from "@/entities/models/article";
import { getInjection } from "@/di/container";
export async function getArticlesUseCase(options?: {
status?: string;

View File

@@ -1,9 +1,9 @@
import "reflect-metadata";
import { Container } from "inversify";
import { AuthModule } from "./modules/auth.module.js";
import { ContentModule } from "./modules/content.module.js";
import { DI_RETURN_TYPES, DI_SYMBOLS } from "./types.js";
import { AuthModule } from "./modules/auth.module";
import { ContentModule } from "./modules/content.module";
import { DI_RETURN_TYPES, DI_SYMBOLS } from "./types";
const ApplicationContainer = new Container({
defaultScope: "Singleton",

View File

@@ -1,10 +1,10 @@
import { ContainerModule, interfaces } from "inversify";
import type { IUsersRepository } from "@/application/repositories/users.repository.interface.js";
import type { IAuthenticationService } from "@/application/services/auth.service.interface.js";
import { MockUsersRepository } from "@/infrastructure/repositories/mock-users.repository.js";
import { MockAuthenticationService } from "@/infrastructure/services/mock-auth.service.js";
import { DI_SYMBOLS } from "../types.js";
import type { IUsersRepository } from "@/application/repositories/users.repository.interface";
import type { IAuthenticationService } from "@/application/services/auth.service.interface";
import { MockUsersRepository } from "@/infrastructure/repositories/mock-users.repository";
import { MockAuthenticationService } from "@/infrastructure/services/mock-auth.service";
import { DI_SYMBOLS } from "../types";
const initializeModule = (bind: interfaces.Bind) => {
bind<IUsersRepository>(DI_SYMBOLS.IUsersRepository).to(MockUsersRepository);

View File

@@ -1,8 +1,8 @@
import { ContainerModule, interfaces } from "inversify";
import type { IArticlesRepository } from "@/application/repositories/articles.repository.interface.js";
import { MockArticlesRepository } from "@/infrastructure/repositories/mock-articles.repository.js";
import { DI_SYMBOLS } from "../types.js";
import type { IArticlesRepository } from "@/application/repositories/articles.repository.interface";
import { MockArticlesRepository } from "@/infrastructure/repositories/mock-articles.repository";
import { DI_SYMBOLS } from "../types";
const initializeModule = (bind: interfaces.Bind) => {
bind<IArticlesRepository>(DI_SYMBOLS.IArticlesRepository).to(

View File

@@ -1,7 +1,7 @@
import type { IAuthenticationService } from "@/application/services/auth.service.interface.js";
import type { ITelemetryService } from "@/application/services/telemetry.service.interface.js";
import type { IUsersRepository } from "@/application/repositories/users.repository.interface.js";
import type { IArticlesRepository } from "@/application/repositories/articles.repository.interface.js";
import type { IAuthenticationService } from "@/application/services/auth.service.interface";
import type { ITelemetryService } from "@/application/services/telemetry.service.interface";
import type { IUsersRepository } from "@/application/repositories/users.repository.interface";
import type { IArticlesRepository } from "@/application/repositories/articles.repository.interface";
export const DI_SYMBOLS = {
IAuthenticationService: Symbol.for("IAuthenticationService"),

View File

@@ -2,5 +2,5 @@ export {
AuthenticationError,
UnauthenticatedError,
UnauthorizedError,
} from "./auth.js";
export { NotFoundError, InputParseError } from "./common.js";
} from "./auth";
export { NotFoundError, InputParseError } from "./common";

View File

@@ -1,2 +1,2 @@
export * from "./models/index.js";
export * from "./errors/index.js";
export * from "./models/index";
export * from "./errors/index";

View File

@@ -1,9 +1,9 @@
export { userSchema, type User } from "./user.js";
export { userSchema, type User } from "./user";
export {
articleSchema,
articleStatusSchema,
type Article,
type ArticleStatus,
} from "./article.js";
export { sessionSchema, type Session } from "./session.js";
export type { Cookie } from "./cookie.js";
} from "./article";
export { sessionSchema, type Session } from "./session";
export type { Cookie } from "./cookie";

View File

@@ -1,22 +1,22 @@
// @repo/core — Clean Architecture core package
export * from "./entities/index.js";
export * from "./application/repositories/index.js";
export * from "./application/services/index.js";
export { signInUseCase } from "./application/use-cases/auth/sign-in.use-case.js";
export { signUpUseCase } from "./application/use-cases/auth/sign-up.use-case.js";
export { signOutUseCase } from "./application/use-cases/auth/sign-out.use-case.js";
export { createArticleUseCase } from "./application/use-cases/content/create-article.use-case.js";
export { getArticlesUseCase } from "./application/use-cases/content/get-articles.use-case.js";
export { signInController } from "./interface-adapters/controllers/auth/sign-in.controller.js";
export { signUpController } from "./interface-adapters/controllers/auth/sign-up.controller.js";
export { signOutController } from "./interface-adapters/controllers/auth/sign-out.controller.js";
export * from "./entities/index";
export * from "./application/repositories/index";
export * from "./application/services/index";
export { signInUseCase } from "./application/use-cases/auth/sign-in.use-case";
export { signUpUseCase } from "./application/use-cases/auth/sign-up.use-case";
export { signOutUseCase } from "./application/use-cases/auth/sign-out.use-case";
export { createArticleUseCase } from "./application/use-cases/content/create-article.use-case";
export { getArticlesUseCase } from "./application/use-cases/content/get-articles.use-case";
export { signInController } from "./interface-adapters/controllers/auth/sign-in.controller";
export { signUpController } from "./interface-adapters/controllers/auth/sign-up.controller";
export { signOutController } from "./interface-adapters/controllers/auth/sign-out.controller";
export {
createArticleController,
getArticlesController,
} from "./interface-adapters/controllers/content/articles.controller.js";
} from "./interface-adapters/controllers/content/articles.controller";
export {
getInjection,
initializeContainer,
destroyContainer,
} from "./di/container.js";
export { DI_SYMBOLS } from "./di/types.js";
} from "./di/container";
export { DI_SYMBOLS } from "./di/types";

View File

@@ -1,7 +1,7 @@
import { injectable } from "inversify";
import type { IArticlesRepository } from "@/application/repositories/articles.repository.interface.js";
import type { Article } from "@/entities/models/article.js";
import type { IArticlesRepository } from "@/application/repositories/articles.repository.interface";
import type { Article } from "@/entities/models/article";
@injectable()
export class MockArticlesRepository implements IArticlesRepository {

View File

@@ -1,7 +1,7 @@
import { injectable } from "inversify";
import type { IUsersRepository } from "@/application/repositories/users.repository.interface.js";
import type { User } from "@/entities/models/user.js";
import type { IUsersRepository } from "@/application/repositories/users.repository.interface";
import type { User } from "@/entities/models/user";
@injectable()
export class MockUsersRepository implements IUsersRepository {

View File

@@ -1,13 +1,13 @@
import { inject, injectable } from "inversify";
import type { IAuthenticationService } from "@/application/services/auth.service.interface.js";
import type { IUsersRepository } from "@/application/repositories/users.repository.interface.js";
import { UnauthenticatedError } from "@/entities/errors/auth.js";
import { sessionSchema, type Session } from "@/entities/models/session.js";
import type { Cookie } from "@/entities/models/cookie.js";
import type { User } from "@/entities/models/user.js";
import { DI_SYMBOLS } from "@/di/types.js";
import { SESSION_COOKIE } from "@/config.js";
import type { IAuthenticationService } from "@/application/services/auth.service.interface";
import type { IUsersRepository } from "@/application/repositories/users.repository.interface";
import { UnauthenticatedError } from "@/entities/errors/auth";
import { sessionSchema, type Session } from "@/entities/models/session";
import type { Cookie } from "@/entities/models/cookie";
import type { User } from "@/entities/models/user";
import { DI_SYMBOLS } from "@/di/types";
import { SESSION_COOKIE } from "@/config";
@injectable()
export class MockAuthenticationService implements IAuthenticationService {

View File

@@ -1,6 +1,6 @@
import { injectable } from "inversify";
import type { ITelemetryService } from "@/application/services/telemetry.service.interface.js";
import type { ITelemetryService } from "@/application/services/telemetry.service.interface";
@injectable()
export class MockTelemetryService implements ITelemetryService {

View File

@@ -1,8 +1,8 @@
import { z } from "zod";
import { InputParseError } from "@/entities/errors/common.js";
import type { Cookie } from "@/entities/models/cookie.js";
import { signInUseCase } from "@/application/use-cases/auth/sign-in.use-case.js";
import { InputParseError } from "@/entities/errors/common";
import type { Cookie } from "@/entities/models/cookie";
import { signInUseCase } from "@/application/use-cases/auth/sign-in.use-case";
const inputSchema = z.object({
username: z.string().min(3).max(31),

View File

@@ -1,6 +1,6 @@
import { InputParseError } from "@/entities/errors/common.js";
import type { Cookie } from "@/entities/models/cookie.js";
import { signOutUseCase } from "@/application/use-cases/auth/sign-out.use-case.js";
import { InputParseError } from "@/entities/errors/common";
import type { Cookie } from "@/entities/models/cookie";
import { signOutUseCase } from "@/application/use-cases/auth/sign-out.use-case";
export async function signOutController(
sessionId: string | undefined

View File

@@ -1,7 +1,7 @@
import { z } from "zod";
import { InputParseError } from "@/entities/errors/common.js";
import { signUpUseCase } from "@/application/use-cases/auth/sign-up.use-case.js";
import { InputParseError } from "@/entities/errors/common";
import { signUpUseCase } from "@/application/use-cases/auth/sign-up.use-case";
const inputSchema = z
.object({

View File

@@ -1,9 +1,9 @@
import { z } from "zod";
import { InputParseError } from "@/entities/errors/common.js";
import type { Article } from "@/entities/models/article.js";
import { createArticleUseCase } from "@/application/use-cases/content/create-article.use-case.js";
import { getArticlesUseCase } from "@/application/use-cases/content/get-articles.use-case.js";
import { InputParseError } from "@/entities/errors/common";
import type { Article } from "@/entities/models/article";
import { createArticleUseCase } from "@/application/use-cases/content/create-article.use-case";
import { getArticlesUseCase } from "@/application/use-cases/content/get-articles.use-case";
const createInputSchema = z.object({
title: z.string().min(1).max(255),

View File

@@ -4,10 +4,10 @@ import { afterEach, beforeEach, describe, expect, it } from "vitest";
import {
destroyContainer,
initializeContainer,
} from "@/di/container.js";
import { signInController } from "@/interface-adapters/controllers/auth/sign-in.controller.js";
import { InputParseError } from "@/entities/errors/common.js";
import { AuthenticationError } from "@/entities/errors/auth.js";
} from "@/di/container";
import { signInController } from "@/interface-adapters/controllers/auth/sign-in.controller";
import { InputParseError } from "@/entities/errors/common";
import { AuthenticationError } from "@/entities/errors/auth";
beforeEach(() => {
initializeContainer();

View File

@@ -4,9 +4,9 @@ import { afterEach, beforeEach, describe, expect, it } from "vitest";
import {
destroyContainer,
initializeContainer,
} from "@/di/container.js";
import { signOutController } from "@/interface-adapters/controllers/auth/sign-out.controller.js";
import { InputParseError } from "@/entities/errors/common.js";
} from "@/di/container";
import { signOutController } from "@/interface-adapters/controllers/auth/sign-out.controller";
import { InputParseError } from "@/entities/errors/common";
beforeEach(() => {
initializeContainer();

View File

@@ -4,9 +4,9 @@ import { afterEach, beforeEach, describe, expect, it } from "vitest";
import {
destroyContainer,
initializeContainer,
} from "@/di/container.js";
import { signUpController } from "@/interface-adapters/controllers/auth/sign-up.controller.js";
import { InputParseError } from "@/entities/errors/common.js";
} from "@/di/container";
import { signUpController } from "@/interface-adapters/controllers/auth/sign-up.controller";
import { InputParseError } from "@/entities/errors/common";
beforeEach(() => {
initializeContainer();

View File

@@ -4,12 +4,12 @@ import { afterEach, beforeEach, describe, expect, it } from "vitest";
import {
destroyContainer,
initializeContainer,
} from "@/di/container.js";
} from "@/di/container";
import {
createArticleController,
getArticlesController,
} from "@/interface-adapters/controllers/content/articles.controller.js";
import { InputParseError } from "@/entities/errors/common.js";
} from "@/interface-adapters/controllers/content/articles.controller";
import { InputParseError } from "@/entities/errors/common";
beforeEach(() => {
initializeContainer();

View File

@@ -4,9 +4,9 @@ import { afterEach, beforeEach, describe, expect, it } from "vitest";
import {
destroyContainer,
initializeContainer,
} from "@/di/container.js";
import { signInUseCase } from "@/application/use-cases/auth/sign-in.use-case.js";
import { AuthenticationError } from "@/entities/errors/auth.js";
} from "@/di/container";
import { signInUseCase } from "@/application/use-cases/auth/sign-in.use-case";
import { AuthenticationError } from "@/entities/errors/auth";
beforeEach(() => {
initializeContainer();

View File

@@ -4,8 +4,8 @@ import { afterEach, beforeEach, describe, expect, it } from "vitest";
import {
destroyContainer,
initializeContainer,
} from "@/di/container.js";
import { signOutUseCase } from "@/application/use-cases/auth/sign-out.use-case.js";
} from "@/di/container";
import { signOutUseCase } from "@/application/use-cases/auth/sign-out.use-case";
beforeEach(() => {
initializeContainer();

View File

@@ -4,9 +4,9 @@ import { afterEach, beforeEach, describe, expect, it } from "vitest";
import {
destroyContainer,
initializeContainer,
} from "@/di/container.js";
import { signUpUseCase } from "@/application/use-cases/auth/sign-up.use-case.js";
import { AuthenticationError } from "@/entities/errors/auth.js";
} from "@/di/container";
import { signUpUseCase } from "@/application/use-cases/auth/sign-up.use-case";
import { AuthenticationError } from "@/entities/errors/auth";
beforeEach(() => {
initializeContainer();

View File

@@ -4,8 +4,8 @@ import { afterEach, beforeEach, describe, expect, it } from "vitest";
import {
destroyContainer,
initializeContainer,
} from "@/di/container.js";
import { createArticleUseCase } from "@/application/use-cases/content/create-article.use-case.js";
} from "@/di/container";
import { createArticleUseCase } from "@/application/use-cases/content/create-article.use-case";
beforeEach(() => {
initializeContainer();

View File

@@ -4,9 +4,9 @@ import { afterEach, beforeEach, describe, expect, it } from "vitest";
import {
destroyContainer,
initializeContainer,
} from "@/di/container.js";
import { createArticleUseCase } from "@/application/use-cases/content/create-article.use-case.js";
import { getArticlesUseCase } from "@/application/use-cases/content/get-articles.use-case.js";
} from "@/di/container";
import { createArticleUseCase } from "@/application/use-cases/content/create-article.use-case";
import { getArticlesUseCase } from "@/application/use-cases/content/get-articles.use-case";
beforeEach(() => {
initializeContainer();

View File

@@ -1,5 +1,5 @@
import type { Meta, StoryObj } from "@storybook/react";
import { Button } from "./button.js";
import { Button } from "./button";
const meta = {
title: "Atoms/Button",

View File

@@ -1,5 +1,5 @@
import { forwardRef, type ButtonHTMLAttributes } from "react";
import { cn } from "../../lib/utils.js";
import { cn } from "../../lib/utils";
export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
variant?: "default" | "secondary" | "destructive" | "outline" | "ghost";

View File

@@ -1 +1 @@
export { Button, type ButtonProps } from "./button.js";
export { Button, type ButtonProps } from "./button";

View File

@@ -1,3 +1,3 @@
export { Button, type ButtonProps } from "./button/index.js";
export { Input, type InputProps } from "./input/index.js";
export { Label, type LabelProps } from "./label/index.js";
export { Button, type ButtonProps } from "./button/index";
export { Input, type InputProps } from "./input/index";
export { Label, type LabelProps } from "./label/index";

View File

@@ -1 +1 @@
export { Input, type InputProps } from "./input.js";
export { Input, type InputProps } from "./input";

View File

@@ -1,5 +1,5 @@
import type { Meta, StoryObj } from "@storybook/react";
import { Input } from "./input.js";
import { Input } from "./input";
const meta = {
title: "Atoms/Input",

View File

@@ -1,5 +1,5 @@
import { forwardRef, type InputHTMLAttributes } from "react";
import { cn } from "../../lib/utils.js";
import { cn } from "../../lib/utils";
export interface InputProps extends InputHTMLAttributes<HTMLInputElement> {}

View File

@@ -1 +1 @@
export { Label, type LabelProps } from "./label.js";
export { Label, type LabelProps } from "./label";

View File

@@ -1,5 +1,5 @@
import { forwardRef, type LabelHTMLAttributes } from "react";
import { cn } from "../../lib/utils.js";
import { cn } from "../../lib/utils";
export interface LabelProps extends LabelHTMLAttributes<HTMLLabelElement> {}

View File

@@ -1,5 +1,5 @@
export { cn } from "./lib/utils.js";
export * from "./atoms/index.js";
export * from "./molecules/index.js";
export * from "./organisms/index.js";
export * from "./templates/index.js";
export { cn } from "./lib/utils";
export * from "./atoms/index";
export * from "./molecules/index";
export * from "./organisms/index";
export * from "./templates/index";

View File

@@ -1,5 +1,5 @@
import type { Meta, StoryObj } from "@storybook/react";
import { FormField } from "./form-field.js";
import { FormField } from "./form-field";
const meta = {
title: "Molecules/FormField",

View File

@@ -1,6 +1,6 @@
import { Label } from "../../atoms/label/index.js";
import { Input, type InputProps } from "../../atoms/input/index.js";
import { cn } from "../../lib/utils.js";
import { Label } from "../../atoms/label/index";
import { Input, type InputProps } from "../../atoms/input/index";
import { cn } from "../../lib/utils";
export interface FormFieldProps extends InputProps {
label: string;

View File

@@ -1 +1 @@
export { FormField, type FormFieldProps } from "./form-field.js";
export { FormField, type FormFieldProps } from "./form-field";

View File

@@ -1 +1 @@
export { FormField, type FormFieldProps } from "./form-field/index.js";
export { FormField, type FormFieldProps } from "./form-field/index";