Installation
Lynx 프로젝트에서 SEED Design을 설치하고 사용하는 방법을 알아봅니다.
의존성 설치
필요한 의존성들을 설치해요.
npm install @seed-design/lynx-react @seed-design/lynx-css @seed-design/tailwind3-plugin tailwindcss@3Lynx는 현재 Tailwind CSS v3만 지원합니다. Tailwind v4는 Rsbuild에서 아직
미지원이므로 반드시 tailwindcss@3을 설치하세요.
Tailwind CSS 설정하기
Lynx에서 SEED 디자인 토큰을 사용하려면 Tailwind CSS v3와 @seed-design/tailwind3-plugin을 설정해야 해요.
자세한 내용은 @seed-design/tailwind3-plugin README를 참고하세요.
import type { Config } from "tailwindcss";
import seedDesignPlugin from "@seed-design/tailwind3-plugin";
export default {
content: ["./src/**/*.{jsx,tsx}"],
corePlugins: { preflight: false },
plugins: [seedDesignPlugin],
} satisfies Config;export default {
plugins: {
tailwindcss: {},
},
};base.css와 Tailwind import하기
앱 entry에서는 전역 CSS 파일을 import하고, CSS 파일 안에서 SEED base.css와 Tailwind 디렉티브를 함께 불러와요.
import "./styles/global.css";@import "@seed-design/lynx-css/base.css";
@tailwind components;
@tailwind utilities;seed-design.json 생성하기
npx @seed-design/cli initseed-design 설정
@lynx-js/react가 설치되어 있으면 프레임워크가 자동으로 Lynx로 감지돼요.
◇ TypeScript를 사용중이신가요?
│ Yes
│
◇ 어떤 프레임워크를 사용하시나요?
│ Lynx
│
◇ seed-design 폴더 경로를 입력해주세요. (기본값은 프로젝트 루트에 생성됩니다.)
│ ./seed-design
│
◇ 개선을 위해 익명 사용 데이터를 수집할까요?
│ Yes아래 파일을 프로젝트 루트에 생성해주세요.
{
"tsx": true,
"framework": "lynx",
"path": "./seed-design"
}seed-design path alias 설정하기
위에서 설정한 seed-design.json path의 경로와 동일해야 해요.
TypeScript가 snippet import를 해석할 수 있도록 루트 tsconfig.json에 path alias를 추가해요.
{
"compilerOptions": {
// ... your options
"baseUrl": ".",
"paths": {
"seed-design/*": [
"./seed-design/*"
]
}
}
}Lynx 템플릿처럼 src/tsconfig.json이 별도로 있고 composite 프로젝트를 사용하는 경우, 생성된 snippet 경로도 include에 추가해야 해요.
{
"include": [
"./**/*.ts",
"./**/*.tsx",
"../seed-design/**/*.ts",
"../seed-design/**/*.tsx"
]
}Rspeedy/Rspack도 같은 alias를 알아야 런타임 빌드에서 seed-design/* import를 해석할 수 있어요.
import { defineConfig } from "@lynx-js/rspeedy";
import { fileURLToPath } from "node:url";
const seedDesignDir = fileURLToPath(new URL("./seed-design", import.meta.url));
export default defineConfig({
resolve: {
alias: {
"seed-design": seedDesignDir,
},
},
});Lynx 피쳐 플래그 설정하기
SEED Design 컴포넌트가 Lynx에서 정상 동작하려면 pluginLynxConfig로 피쳐 플래그를 설정해야 해요.
npm install @lynx-js/config-rsbuild-pluginimport { defineConfig } from "@lynx-js/rspeedy";
import { pluginLynxConfig } from "@lynx-js/config-rsbuild-plugin";
export default defineConfig({
plugins: [
// ... 기존 플러그인들
pluginLynxConfig({
enableCSSSelector: true,
enableCSSInvalidation: true,
enableCSSInheritance: true,
enableCSSInlineVariables: true,
enableCSSStrictMode: false,
enableTextRefactor: true,
fontScaleEffectiveOnlyOnSp: true,
enableFixedNew: true,
}),
],
});각 플래그의 역할과 상황별 추가 설정은 Feature Flags에서 확인하세요.
컴포넌트를 한번 사용해볼까요?
npx @seed-design/cli add ui:switch(선택) lynx-console 설치하기
lynx-console은 Lynx 앱 안에서 콘솔 로그, 네트워크, 성능 지표를 확인할 수 있는 개발자 도구예요.
npm install lynx-console앱 entry에서 초기화하고 컴포넌트를 추가해주세요.
import {
initLogMonitor,
initMainThreadConsole,
initNetworkMonitor,
initPerformanceMonitor,
} from "lynx-console/setup";
import LynxConsole from "lynx-console";
initLogMonitor();
initMainThreadConsole();
initNetworkMonitor();
initPerformanceMonitor();
function App() {
return (
<view>
{/* your app */}
<LynxConsole />
</view>
);
}자세한 사용법은 lynx-console GitHub을 참고하세요.
Last updated on