diff --git a/packages/common/assets/.gitignore b/packages/common/assets/.gitignore new file mode 100644 index 000000000..f06235c46 --- /dev/null +++ b/packages/common/assets/.gitignore @@ -0,0 +1,2 @@ +node_modules +dist diff --git a/packages/common/assets/package.json b/packages/common/assets/package.json new file mode 100644 index 000000000..f2e26698a --- /dev/null +++ b/packages/common/assets/package.json @@ -0,0 +1,32 @@ +{ + "name": "@common/assets", + "version": "0.0.0", + "private": true, + "main": "./dist/index.js", + "module": "./dist/index.mjs", + "types": "./dist/index.d.ts", + "files": [ + "dist/**" + ], + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.mjs", + "require": "./dist/index.js" + }, + "./images": "./src/images", + "./icons": "./src/icons", + "./fonts": "./src/fonts" + }, + "scripts": { + "build": "tsup", + "dev": "tsup --watch", + "clean": "rm -rf dist", + "lint": "eslint src/**/*.ts*" + }, + "devDependencies": { + "typescript": "^5.3.3", + "tsup": "^8.0.1", + "@types/node": "^20.11.0" + } +} diff --git a/packages/common/assets/src/fonts/index.ts b/packages/common/assets/src/fonts/index.ts new file mode 100644 index 000000000..fb44d1a76 --- /dev/null +++ b/packages/common/assets/src/fonts/index.ts @@ -0,0 +1,5 @@ +export const fonts = { + // 예시: pretendard: require('./Pretendard-Regular.woff2'), +} as const; + +export type FontType = keyof typeof fonts; diff --git a/packages/common/assets/src/icons/index.ts b/packages/common/assets/src/icons/index.ts new file mode 100644 index 000000000..74f70147d --- /dev/null +++ b/packages/common/assets/src/icons/index.ts @@ -0,0 +1,5 @@ +export const icons = { + // 예시: close: require('./close.svg'), +} as const; + +export type IconType = keyof typeof icons; diff --git a/packages/common/assets/src/images/index.ts b/packages/common/assets/src/images/index.ts new file mode 100644 index 000000000..dd4ccb0b2 --- /dev/null +++ b/packages/common/assets/src/images/index.ts @@ -0,0 +1,6 @@ +export const images = { + logo: require("./logo.png"), + menuBtn: require("./mob_menuBtn.svg"), +} as const; + +export type ImageType = keyof typeof images; diff --git a/packages/common/assets/src/images/logo.png b/packages/common/assets/src/images/logo.png new file mode 100644 index 000000000..6bbe0b4f4 Binary files /dev/null and b/packages/common/assets/src/images/logo.png differ diff --git a/packages/common/assets/src/images/mob_menuBtn.svg b/packages/common/assets/src/images/mob_menuBtn.svg new file mode 100644 index 000000000..be4a8ecb9 --- /dev/null +++ b/packages/common/assets/src/images/mob_menuBtn.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + diff --git a/packages/common/assets/src/images/mob_menuBtn_close.svg b/packages/common/assets/src/images/mob_menuBtn_close.svg new file mode 100644 index 000000000..e4add3f9d --- /dev/null +++ b/packages/common/assets/src/images/mob_menuBtn_close.svg @@ -0,0 +1,20 @@ + + + + + + + + + + diff --git a/packages/common/assets/src/index.ts b/packages/common/assets/src/index.ts new file mode 100644 index 000000000..8958488c3 --- /dev/null +++ b/packages/common/assets/src/index.ts @@ -0,0 +1,3 @@ +export * from "./images"; +export * from "./icons"; +export * from "./fonts"; diff --git a/packages/common/assets/tsconfig.json b/packages/common/assets/tsconfig.json new file mode 100644 index 000000000..bbc7e4840 --- /dev/null +++ b/packages/common/assets/tsconfig.json @@ -0,0 +1,11 @@ +{ + "include": ["."], + "exclude": ["dist", "build", "node_modules"], + "compilerOptions": { + "moduleResolution": "node", + "baseUrl": ".", + "paths": { + "@common/assets/*": ["./src/*"] + } + } +} diff --git a/packages/common/assets/tsup.config.ts b/packages/common/assets/tsup.config.ts new file mode 100644 index 000000000..9381de15e --- /dev/null +++ b/packages/common/assets/tsup.config.ts @@ -0,0 +1,22 @@ +import { defineConfig } from "tsup"; + +export default defineConfig({ + entry: ["src/index.ts"], + format: ["cjs", "esm"], + dts: true, + clean: true, + external: ["react"], + injectStyle: false, + loader: { + ".png": "dataurl", + ".jpg": "dataurl", + ".jpeg": "dataurl", + ".gif": "dataurl", + ".svg": "dataurl", + ".webp": "dataurl", + ".woff": "dataurl", + ".woff2": "dataurl", + ".ttf": "dataurl", + ".otf": "dataurl", + }, +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7fe517293..1ee927151 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -56,6 +56,18 @@ importers: specifier: ^5 version: 5.6.3 + packages/common/assets: + devDependencies: + '@types/node': + specifier: ^20.11.0 + version: 20.17.19 + tsup: + specifier: ^8.0.1 + version: 8.3.6(postcss@8.5.3)(typescript@5.6.3) + typescript: + specifier: ^5.3.3 + version: 5.6.3 + packages/common/components: dependencies: '@radix-ui/react-accordion': @@ -2680,6 +2692,12 @@ packages: resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==} dev: true + /@types/node@20.17.19: + resolution: {integrity: sha512-LEwC7o1ifqg/6r2gn9Dns0f1rhK+fPFDoMiceTJ6kWmVk6bgXBI/9IOWfVan4WiAavK9pIVWdX0/e3J+eEUh5A==} + dependencies: + undici-types: 6.19.8 + dev: true + /@types/node@22.13.4: resolution: {integrity: sha512-ywP2X0DYtX3y08eFVx5fNIw7/uIv8hYUKgXoK8oayJlLnKcRfEYCxWMVE1XagUdVtCJlZT1AU4LXEABW+L1Peg==} dependencies: @@ -6238,6 +6256,10 @@ packages: which-boxed-primitive: 1.1.1 dev: true + /undici-types@6.19.8: + resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} + dev: true + /undici-types@6.20.0: resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} dev: true