@seed-design/codemod 0.0.0-alpha-20241020150322 → 0.0.0-alpha-20241021100240

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -2,50 +2,63 @@
2
2
 
3
3
  코드 마이그레이션 도구
4
4
 
5
- ## 사용
6
-
7
5
  ```shell
8
- npx @seed-design/codemod <transform> <경로> <옵션>
6
+ npx @seed-design/codemod --list
9
7
  ```
10
8
 
11
- ## 지원하는 Transforms
12
-
13
- ### `migrate-icons`
14
-
15
- - 기존 아이콘 React 패키지를 참조하는 코드를 [새 패키지](https://github.com/daangn/seed-icon-v3/blob/main/packages/react/README.md)를 참조하도록 변환해요.
16
- - `@seed-design/icon` 또는 `@seed-design/react-icon` import source를 @daangn/react-icon으로 변환해요
17
- - 아이콘 이름 변경에 따른 코드 수정을 수행해요
9
+ ```shell
10
+ npx @seed-design/codemod <transform> <...경로> <옵션>
11
+ ```
18
12
 
19
- > [!IMPORTANT] 중요
20
- >
21
- > - `@daangn/react-icon` 패키지 설치/업데이트와 이전 패키지 제거는 직접 수행해주세요.
13
+ ## 옵션
14
+
15
+ - `--list`
16
+ - 사용 가능한 transform 목록을 보여줘요.
17
+ - `--log`
18
+ - 로그를 파일로 저장해요.
19
+ - `./`에 `combined.log`와 `error.log` 파일이 생성돼요.
20
+ - `--parser`
21
+ - jscodeshift가 사용할 파서를 지정해요
22
+ - `babel` | `babylon` | `flow` | `ts` | `tsx`
23
+ - 기본값: `tsx`
24
+ - 예시: `--parser=babel`
25
+ - [`--extensions`](https://jscodeshift.com/run/cli/#--extensionsext)
26
+ - 변환할 파일 확장자를 지정해요.
27
+ - 지정하지 않으면 `<경로>` 안의 `js,jsx,ts,tsx` 파일을 변환해요.
28
+ - `d.ts`는 제외돼요.
29
+ - 예시: `--extensions="ts,tsx"`
30
+ - [`--ignore-config`](https://jscodeshift.com/run/cli/#--ignore-configfile)
31
+ - 변환하지 않을 파일 패턴이 정의된 파일을 지정해요.
32
+ - 예시: `--ignore-config=".gitignore"`
22
33
 
23
- > [!CAUTION] 주의
24
- >
25
- > - 코드 변환 이후 몇 가지 사항을 직접 확인해야 해요. 자세한 내용은 [Notion 페이지](https://www.notion.so/daangn/12128c3a9f8f8063b569c897116c8f40)를 참고해주세요.
26
- > - 기존 아이콘 198개 중 6개 아이콘은, 신규 아이콘팩에 대응되는 아이콘이 **없어요**. 6개 아이콘이 사용된 경우 직접 대응해주세요.
34
+ ## 지원하는 Transforms
27
35
 
28
- #### 사용
36
+ ### migrate-icons
29
37
 
30
38
  ```shell
31
- npx @seed-design/codemod migrate-icons <경로> <옵션>
39
+ npx @seed-design/codemod migrate-icons <...경로> <옵션>
32
40
  ```
33
41
 
34
42
  ```shell
35
43
  npx @seed-design/codemod migrate-icons src/ui --extensions=ts,tsx
36
44
  ```
37
45
 
38
- - `src/ui` 디렉토리 내의 `ts, tsx` 파일을 변환해요.
46
+ - 기존 아이콘 React 패키지를 참조하는 코드를 [새 패키지](https://github.com/daangn/seed-icon-v3/blob/main/packages/react/README.md)를 참조하도록 변환해요.
47
+ - `@seed-design/icon` 또는 `@seed-design/react-icon` import source를 @daangn/react-icon으로 변환해요
48
+ - 아이콘 이름 변경에 따른 코드 수정을 수행해요
49
+ - 예시: `IconStoryRegular` → `IconTriangleRightChatbubbleLeftLine`,
39
50
 
40
- #### 지원하는 옵션
51
+ > [!IMPORTANT]
52
+ >
53
+ > - `@daangn/react-icon` 패키지 설치/업데이트와 이전 패키지 제거는 직접 해 주세요.
41
54
 
42
- - [`--extensions`](https://jscodeshift.com/run/cli/#--extensionsext)
43
- - 변환할 파일 확장자를 지정해요.
44
- - 지정하지 않으면 `<경로>` 안의 `js,jsx,ts,tsx` 파일을 변환해요.
45
- - e.g. `--extensions="ts,tsx"`
46
- - [`--ignore-config`](https://jscodeshift.com/run/cli/#--ignore-configfile)
47
- - 변환하지 않을 파일 패턴이 정의된 파일을 지정해요.
48
- - e.g. `--ignore-config=".gitignore"`
55
+ > [!CAUTION]
56
+ >
57
+ > - [import assertion](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-3.html#import-attributes) deprecated된 문법이 있으면 파서에 따라 파싱 오류가 표시될 수 있어요.
58
+ > - 코드 변환 이후 몇 가지 사항을 직접 확인해야 해요. 자세한 내용은 [Notion 페이지](https://www.notion.so/daangn/12128c3a9f8f8063b569c897116c8f40)를 참고해주세요.
59
+ > - 기존 아이콘 198개 중 5개 아이콘은, 신규 아이콘팩에 대응되는 아이콘이 **없어요**.
60
+ > - 5개 아이콘이 사용된 경우 변환되지 않아요.
61
+ > - `--log` flag를 사용하면, 변환되지 않은 아이콘이 `error.log`에 기록돼요.
49
62
 
50
63
  ## 테스트
51
64
 
package/bin/index.mjs CHANGED
@@ -1,8 +1,11 @@
1
1
  #!/usr/bin/env node
2
- import{cac as g}from"cac";import{execaNode as p}from"execa";import{createRequire as f}from"module";import{dirname as l,resolve as d}from"path";import{format as t,transports as s}from"winston";var m="@seed-design/codemod - ",C={level:"info",format:t.combine(t.timestamp({format:"YYYY-MM-DD HH:mm:ss"}),t.printf(({level:e,message:r,timestamp:n})=>`${n} [${e.toUpperCase()}]: ${r}`)),transports:[new s.File({filename:"combined.log",level:"debug"}),new s.File({filename:"error.log",level:"error"})]};var i=g(),$=e=>d(l(import.meta.filename),`${e}.mjs`);x(i);i.help();i.parse();function x(e){let n=f(import.meta.url).resolve("jscodeshift/bin/jscodeshift");e.command("migrate-icons [...paths]","Migrate icons").option("--extensions <extensions>","Extensions").option("--ignore-config <ignoreConfig>","Ignore config").action(async(a,o)=>{console.log(m,"\uC544\uC774\uCF58 \uB9C8\uC774\uADF8\uB808\uC774\uC158\uC744 \uC2DC\uC791\uD574\uC694");let{stdout:c}=await p({stdout:["pipe","inherit"]})`${n} ${a.join(" ")}
3
- -t ${$("migrate-icons")}
4
- --parser=tsx
5
- --ignore-pattern="**/*.d.ts"
6
- --silent
7
- ${o?.extensions?`--extensions=${o.extensions}`:""}
8
- ${o?.ignoreConfig?`--ignore-config=${o.ignoreConfig}`:""}`;console.log(c)})}
2
+ import{cac as h}from"cac";import{execaNode as u}from"execa";import{createRequire as $}from"module";import{dirname as j,resolve as c}from"path";import b from"picocolors";var m=b.bold("@seed-design/codemod");import P from"fs";import{z as s}from"zod";var d=c(j(import.meta.filename),"transforms"),p=h(),v=$(import.meta.url),y=s.object({list:s.boolean().optional(),log:s.boolean().optional(),parser:s.enum(["babel","babylon","flow","ts","tsx"]).optional(),extensions:s.string().optional(),ignoreConfig:s.string().optional()});p.command("[transformName] [...paths]","\uCF54\uB4DC \uBCC0\uD658 (codemod)").option("-l, --list","\uC0AC\uC6A9 \uAC00\uB2A5\uD55C transform \uBAA9\uB85D\uC744 \uBCF4\uC5EC\uC918\uC694").option("--log","\uB85C\uADF8\uB97C \uD30C\uC77C\uB85C \uC800\uC7A5\uD574\uC694").option("-p, --parser <parser>","jscodeshift\uAC00 \uC0AC\uC6A9\uD560 \uD30C\uC11C\uB97C \uC9C0\uC815\uD574\uC694 (babel|babylon|flow|ts|tsx)",{default:"tsx"}).option("--extensions <extensions>","\uBCC0\uD658\uD560 \uD30C\uC77C \uD655\uC7A5\uC790").option("--ignore-config <ignoreConfig>","Ignore config").example(" $ npx @seed-design/codemod migrate-icons src/ui").action(async(o,e,r)=>{let t=y.parse(r),n=T();t.list&&(a(n),process.exit(0)),o||(console.error("transform \uC774\uB984\uC744 \uC785\uB825\uD574\uC8FC\uC138\uC694"),a(n),process.exit(1)),n.includes(o)||(console.error(`\uC774\uB984\uC774 ${o}\uC778 transform\uC774 \uC5C6\uC5B4\uC694`),a(n),process.exit(1)),e.length===0&&(console.error("\uD30C\uC77C \uACBD\uB85C\uB97C \uC785\uB825\uD574\uC8FC\uC138\uC694"),process.exit(1));let i=c(d,`${o}.mjs`);console.log(m,`${e.join(", ")}\uC5D0 ${o} transform\uC744 \uC2E4\uD589\uD574\uC694.`),await O(i,e,t)});p.help();p.parse();async function O(o,e,r){let t=v.resolve("jscodeshift/bin/jscodeshift"),{log:n,parser:i,extensions:f,ignoreConfig:l}=r,g=e.map(x=>c(process.cwd(),x)).join(" ");await u({stdout:"inherit",env:{LOG:`${n}`}})`
3
+ ${t} ${g}
4
+ -t ${o}
5
+ --parser=${i}
6
+ --ignore-pattern=**/*.d.ts
7
+ ${f?`--extensions=${f}`:""}
8
+ ${l?`--ignore-config=${l}`:""}`}function T(){return P.readdirSync(d).filter(o=>o.endsWith(".mjs")||o.endsWith(".js")||o.endsWith(".cjs")).map(o=>o.split(".").slice(0,-1).join("."))}function a(o){console.log(`
9
+ \uC0AC\uC6A9 \uAC00\uB2A5\uD55C transform \uBAA9\uB85D:
10
+ `,o.join(`
11
+ `))}
@@ -0,0 +1 @@
1
+ import h from"jscodeshift";import P from"picocolors";var T=P.bold("@seed-design/codemod");function k({importDeclarations:e,match:c,logger:l,filePath:o}){e.replaceWith(r=>{let n=r.node.source.value,t=r.node.specifiers,d=r.node.importKind,s=r.node.comments,F=(()=>{if(typeof n!="string")return n;let{startsWith:i,replaceWith:I}=c.source.find(({startsWith:C})=>n.startsWith(C)),g=(I?n.replace(i,I):n).split("/");return g.map((C,b)=>b!==g.length-1||!(C in c.identifier)?C:c.identifier[C]).join("/")})();l?.debug(`${o}: source ${n} -> ${F}`);let a=t.map(i=>{switch(i.type){case"ImportSpecifier":{let I=i.imported.name;if(!(I in c.identifier)||c.identifier[I]===null)return l?.error(`${o}: imported specifier ${I}\uC5D0 \uB300\uD55C \uBCC0\uD658 \uC815\uBCF4 \uC5C6\uC74C`),i;let L=c.identifier[I];if(L===I)return i;l?.debug(`${o}: imported name ${I} -> ${L}`);let p=h.identifier(L);return h.importSpecifier(p,i.local)}case"ImportDefaultSpecifier":return i;case"ImportNamespaceSpecifier":return i}}).filter((i,I,L)=>{if(i.type!=="ImportSpecifier")return!0;let g=i.imported.name;return L.findIndex(p=>p.imported.name===g)===I}),u=h.importDeclaration(a,h.literal(F),d);return u.comments=s,u})}function w({identifiers:e,identifierMatch:c,logger:l,filePath:o}){e.replaceWith(r=>{let n=r.node.name;if(!(n in c))return h.identifier(n);if(c[n]===null)return l?.error(`${o}: identifier ${n}\uC5D0 \uB300\uD55C \uBCC0\uD658 \uC815\uBCF4 \uC5C6\uC74C`),console.error(T,`${o}: identifier ${n}\uC5D0 \uB300\uD55C \uBCC0\uD658 \uC815\uBCF4 \uC5C6\uC74C`),h.identifier(n);let t=c[n];return l?.debug(`${o}: identifier ${n} -> ${t}`),h.identifier(t)})}import{createLogger as H,format as m,transports as S}from"winston";var f={IconAddThin:"IconPlusLine",IconAddRegular:"IconPlusLine",IconAddFill:"IconPlusFill",IconAddCircleThin:"IconPlusCircleLine",IconAddCircleRegular:"IconPlusCircleLine",IconAddCircleFill:"IconPlusCircleFill",IconAebThin:"IconCarFrontUpsideWave2ReversedUpLine",IconAebRegular:"IconCarFrontUpsideWave2ReversedUpLine",IconAebFill:"IconCarFrontUpsideWave2ReversedUpFill",IconAiThin:"IconSparkle2Line",IconAiRegular:"IconSparkle2Line",IconAiFill:"IconSparkle2Fill",IconAndroidShareThin:"IconAndroidshareLine",IconAndroidShareRegular:"IconAndroidshareLine",IconAndroidShareFill:"IconAndroidshareFill",IconArrowThin:"IconArrowUpRightLine",IconArrowRegular:"IconArrowUpRightLine",IconArrowFill:"IconArrowUpRightFill",IconArrowDownwardThin:"IconArrowDownLine",IconArrowDownwardRegular:"IconArrowDownLine",IconArrowDownwardFill:"IconArrowDownFill",IconArrowDropDownThin:"IconTriangleDownSmallLine",IconArrowDropDownRegular:"IconTriangleDownSmallLine",IconArrowDropDownFill:"IconTriangleDownSmallFill",IconArrowDropUpThin:"IconTriangleUpSmallLine",IconArrowDropUpRegular:"IconTriangleUpSmallLine",IconArrowDropUpFill:"IconTriangleUpSmallFill",IconArrowUpwardThin:"IconArrowUpLine",IconArrowUpwardRegular:"IconArrowUpLine",IconArrowUpwardFill:"IconArrowUpFill",IconArticleThin:"IconArticleLine",IconArticleRegular:"IconArticleLine",IconArticleFill:"IconArticleFill",IconBackwardThin:"IconArrowLeftLine",IconBackwardRegular:"IconArrowLeftLine",IconBackwardFill:"IconArrowLeftFill",IconBillThin:"IconReceiptLine",IconBillRegular:"IconReceiptLine",IconBillFill:"IconReceiptFill",IconBoldThin:null,IconBoldRegular:null,IconBoldFill:null,IconBookmarkThin:"IconBookmarkLine",IconBookmarkRegular:"IconBookmarkLine",IconBookmarkFill:"IconBookmarkFill",IconBookmarkListThin:"IconHorizline3VerticalStarLine",IconBookmarkListRegular:"IconHorizline3VerticalStarLine",IconBookmarkListFill:"IconHorizline3VerticalStarFill",IconCalendarThin:"IconCalendarLine",IconCalendarRegular:"IconCalendarLine",IconCalendarFill:"IconCalendarFill",IconCallThin:"IconPhoneLine",IconCallRegular:"IconPhoneLine",IconCallFill:"IconPhoneFill",IconCallDeclinedThin:"IconPhoneXmarkLine",IconCallDeclinedRegular:"IconPhoneXmarkLine",IconCallDeclinedFill:"IconPhoneXmarkFill",IconCameraThin:"IconCameraLine",IconCameraRegular:"IconCameraLine",IconCameraFill:"IconCameraFill",IconCarThin:"IconCarFrontsideLine",IconCarRegular:"IconCarFrontsideLine",IconCarFill:"IconCarFrontsideFill",IconCarAroundViewThin:"IconArrowClockwiseOvalLine",IconCarAroundViewRegular:"IconArrowClockwiseOvalLine",IconCarAroundViewFill:"IconArrowClockwiseOvalFill",IconCarBlindSpotThin:"IconCarRearUpsideWave2ReversedDownLeftLine",IconCarBlindSpotRegular:"IconCarRearUpsideWave2ReversedDownLeftLine",IconCarBlindSpotFill:"IconCarRearUpsideWave2ReversedDownLeftFill",IconCarCruiseControlThin:"IconSpeedometerLine",IconCarCruiseControlRegular:"IconSpeedometerLine",IconCarCruiseControlFill:"IconSpeedometerFill",IconCarEpbThin:"IconEpbLine",IconCarEpbRegular:"IconEpbLine",IconCarEpbFill:"IconEpbFill",IconCarHeatedSeatThin:"IconSeatLeftHeatwave2Line",IconCarHeatedSeatRegular:"IconSeatLeftHeatwave2Line",IconCarHeatedSeatFill:"IconSeatLeftHeatwave2Fill",IconCarHeatedSteeringWheelThin:"IconSteeringwheelHeatwave2Line",IconCarHeatedSteeringWheelRegular:"IconSteeringwheelHeatwave2Line",IconCarHeatedSteeringWheelFill:"IconSteeringwheelHeatwave2Fill",IconCarLdwsThin:"IconRoadlaneLine",IconCarLdwsRegular:"IconRoadlaneLine",IconCarLdwsFill:"IconRoadlaneFill",IconCarLeatherSeatThin:"IconSeatLeftLine",IconCarLeatherSeatRegular:"IconSeatLeftLine",IconCarLeatherSeatFill:"IconSeatLeftFill",IconCarNavigationThin:"IconCompassLine",IconCarNavigationRegular:"IconCompassLine",IconCarNavigationFill:"IconCompassFill",IconCarPowerTrunkThin:"IconCarRearTrunkOpenLeftsideLine",IconCarPowerTrunkRegular:"IconCarRearTrunkOpenLeftsideLine",IconCarPowerTrunkFill:"IconCarRearTrunkOpenLeftsideFill",IconCarRearCameraThin:"IconCarRearUpsideSectorDownLine",IconCarRearCameraRegular:"IconCarRearUpsideSectorDownLine",IconCarRearCameraFill:"IconCarRearUpsideSectorDownFill",IconCarRearSensorThin:"IconCarRearUpsideWave2ReversedDownLine",IconCarRearSensorRegular:"IconCarRearUpsideWave2ReversedDownLine",IconCarRearSensorFill:"IconCarRearUpsideWave2ReversedDownFill",IconCarSmartKeyThin:"IconSmartkeyLine",IconCarSmartKeyRegular:"IconSmartkeyLine",IconCarSmartKeyFill:"IconSmartkeyFill",IconCarVentilationSeatThin:"IconSeatLeftFanLine",IconCarVentilationSeatRegular:"IconSeatLeftFanLine",IconCarVentilationSeatFill:"IconSeatLeftFanFill",IconCartThin:"IconCartLine",IconCartRegular:"IconCartLine",IconCartFill:"IconCartFill",IconCertificationThin:"IconCrosshairLine",IconCertificationRegular:"IconCrosshairLine",IconCertificationFill:"IconCrosshairFill",IconChallengeThin:"IconFlagHillLine",IconChallengeRegular:"IconFlagHillLine",IconChallengeFill:"IconFlagHillFill",IconChartThin:"IconBarchartSquareLine",IconChartRegular:"IconBarchartSquareLine",IconChartFill:"IconBarchartSquareFill",IconChatBubbleCheckThin:"IconCheckmarkChatbubbleLeftLine",IconChatBubbleCheckRegular:"IconCheckmarkChatbubbleLeftLine",IconChatBubbleCheckFill:"IconCheckmarkChatbubbleLeftFill",IconChattingThin:"IconDot3HorizontalChatbubbleLeftLine",IconChattingRegular:"IconDot3HorizontalChatbubbleLeftLine",IconChattingFill:"IconDot3HorizontalChatbubbleLeftFill",IconChattingSendThin:"IconPaperplaneLine",IconChattingSendRegular:"IconPaperplaneLine",IconChattingSendFill:"IconPaperplaneFill",IconCheckThin:"IconCheckmarkLine",IconCheckRegular:"IconCheckmarkLine",IconCheckFill:"IconCheckmarkFill",IconCheckFlowerThin:"IconCheckmarkFlowerLine",IconCheckFlowerRegular:"IconCheckmarkFlowerLine",IconCheckFlowerFill:"IconCheckmarkFlowerFill",IconChevronLeftThin:"IconChevronLeftLine",IconChevronLeftRegular:"IconChevronLeftLine",IconChevronLeftFill:"IconChevronLeftFill",IconChevronRightThin:"IconChevronRightLine",IconChevronRightRegular:"IconChevronRightLine",IconChevronRightFill:"IconChevronRightFill",IconClickThin:"IconHandPointUpLine",IconClickRegular:"IconHandPointUpLine",IconClickFill:"IconHandPointUpFill",IconClockThin:"IconClockLine",IconClockRegular:"IconClockLine",IconClockFill:"IconClockFill",IconCloseThin:"IconXmarkLine",IconCloseRegular:"IconXmarkLine",IconCloseFill:"IconXmarkFill",IconCobuyingThin:null,IconCobuyingRegular:null,IconCobuyingFill:null,IconCommunityThin:"IconPostLine",IconCommunityRegular:"IconPostLine",IconCommunityFill:"IconPostFill",IconCondoThin:"IconBuilding2Line",IconCondoRegular:"IconBuilding2Line",IconCondoFill:"IconBuilding2Fill",IconConfirmationThin:"IconCheckmarkShieldLine",IconConfirmationRegular:"IconCheckmarkShieldLine",IconConfirmationFill:"IconCheckmarkShieldFill",IconConfirmationPayThin:"IconWonShieldLine",IconConfirmationPayRegular:"IconWonShieldLine",IconConfirmationPayFill:"IconWonShieldFill",IconConfirmationProfileThin:"IconPersonShieldLine",IconConfirmationProfileRegular:"IconPersonShieldLine",IconConfirmationProfileFill:"IconPersonShieldFill",IconContentsThin:"IconGridHeartLine",IconContentsRegular:"IconGridHeartLine",IconContentsFill:"IconGridHeartFill",IconConvertThin:"IconArrowRightArrowLeftLine",IconConvertRegular:"IconArrowRightArrowLeftLine",IconConvertFill:"IconArrowRightArrowLeftFill",IconCopyThin:"IconSquare2StackedLine",IconCopyRegular:"IconSquare2StackedLine",IconCopyFill:"IconSquare2StackedFill",IconCouponThin:"IconCouponLine",IconCouponRegular:"IconCouponLine",IconCouponFill:"IconCouponFill",IconCouponDownloadDoneThin:"IconCheckmarkHorizlineLine",IconCouponDownloadDoneRegular:"IconCheckmarkHorizlineLine",IconCouponDownloadDoneFill:"IconCheckmarkHorizlineFill",IconCouponUsedThin:"IconCheckmarkCouponLine",IconCouponUsedRegular:"IconCheckmarkCouponLine",IconCouponUsedFill:"IconCheckmarkCouponFill",IconDeleteKeyboardThin:"IconBackspacekeyLine",IconDeleteKeyboardRegular:"IconBackspacekeyLine",IconDeleteKeyboardFill:"IconBackspacekeyFill",IconDeliveryThin:null,IconDeliveryRegular:null,IconDeliveryFill:null,IconDirectionThin:"IconArrowRightAngledLine",IconDirectionRegular:"IconArrowRightAngledLine",IconDirectionFill:"IconArrowRightAngledFill",IconDownloadThin:"IconArrowDownHorizlineLine",IconDownloadRegular:"IconArrowDownHorizlineLine",IconDownloadFill:"IconArrowDownHorizlineFill",IconEditThin:"IconEraserHorizlineLine",IconEditRegular:"IconEraserHorizlineLine",IconEditFill:"IconEraserHorizlineFill",IconEmoticonThin:"IconFaceSmileCircleLine",IconEmoticonRegular:"IconFaceSmileCircleLine",IconEmoticonFill:"IconFaceSmileCircleFill",IconEmoticonBadThin:"IconFaceSadCircleLine",IconEmoticonBadRegular:"IconFaceSadCircleLine",IconEmoticonBadFill:"IconFaceSadCircleFill",IconExpandThin:"IconArrowUpRightArrowDownLeftLine",IconExpandRegular:"IconArrowUpRightArrowDownLeftLine",IconExpandFill:"IconArrowUpRightArrowDownLeftFill",IconExpandLessThin:"IconChevronUpLine",IconExpandLessRegular:"IconChevronUpLine",IconExpandLessFill:"IconChevronUpFill",IconExpandMoreThin:"IconChevronDownLine",IconExpandMoreRegular:"IconChevronDownLine",IconExpandMoreFill:"IconChevronDownFill",IconFileThin:"IconPaperclipLine",IconFileRegular:"IconPaperclipLine",IconFileFill:"IconPaperclipFill",IconFilter02Thin:"IconSlider2HorizontalLine",IconFilter02Regular:"IconSlider2HorizontalLine",IconFilter02Fill:"IconSlider2HorizontalFill",IconForwardThin:"IconArrowRightLine",IconForwardRegular:"IconArrowRightLine",IconForwardFill:"IconArrowRightFill",IconGenderThin:"IconMalesymbolFemalesymbolLine",IconGenderRegular:"IconMalesymbolFemalesymbolLine",IconGenderFill:"IconMalesymbolFemalesymbolFill",IconGlobalThin:"IconGlobeLine",IconGlobalRegular:"IconGlobeLine",IconGlobalFill:"IconGlobeFill",IconGpsThin:"IconCrosshairLine",IconGpsRegular:"IconCrosshairLine",IconGpsFill:"IconCrosshairFill",IconGpsEnableThin:"IconCrosshairQuestionmarkLine",IconGpsEnableRegular:"IconCrosshairQuestionmarkLine",IconGpsEnableFill:"IconCrosshairQuestionmarkFill",IconGpsEnable2Thin:"IconCrosshairQuestionmarkLine",IconGpsEnable2Regular:"IconCrosshairQuestionmarkLine",IconGpsEnable2Fill:"IconCrosshairQuestionmarkFill",IconGroupchatKingThin:"IconCrownLine",IconGroupchatKingRegular:"IconCrownLine",IconGroupchatKingFill:"IconCrownFill",IconHandleThin:"IconHorizline3VerticalTightLine",IconHandleRegular:"IconHorizline3VerticalTightLine",IconHandleFill:"IconHorizline3VerticalTightFill",IconHashtagThin:"IconHashLine",IconHashtagRegular:"IconHashLine",IconHashtagFill:"IconHashFill",IconHeadphoneThin:"IconHeadsetLine",IconHeadphoneRegular:"IconHeadsetLine",IconHeadphoneFill:"IconHeadsetFill",IconHeartThin:"IconHeartLine",IconHeartRegular:"IconHeartLine",IconHeartFill:"IconHeartFill",IconHelpThin:"IconQuestionmarkCircleLine",IconHelpRegular:"IconQuestionmarkCircleLine",IconHelpFill:"IconQuestionmarkCircleFill",IconHelpcenterThin:"IconHeadsetLine",IconHelpcenterRegular:"IconHeadsetLine",IconHelpcenterFill:"IconHeadsetFill",IconHelperThin:"IconHeadsetLine",IconHelperRegular:"IconHeadsetLine",IconHelperFill:"IconHeadsetFill",IconHomeThin:"IconHouseLine",IconHomeRegular:"IconHouseLine",IconHomeFill:"IconHouseFill",IconHouseThin:"IconWindow4HouseLine",IconHouseRegular:"IconWindow4HouseLine",IconHouseFill:"IconWindow4HouseFill",IconHousekeepingBookThin:"IconBookLine",IconHousekeepingBookRegular:"IconBookLine",IconHousekeepingBookFill:"IconBookFill",IconImportThin:"IconDocumentArrowLeftLine",IconImportRegular:"IconDocumentArrowLeftLine",IconImportFill:"IconDocumentArrowLeftFill",IconInfoThin:"IconILowercaseSerifCircleLine",IconInfoRegular:"IconILowercaseSerifCircleLine",IconInfoFill:"IconILowercaseSerifCircleFill",IconInterestThin:"IconHorizline3VerticalStarLine",IconInterestRegular:"IconHorizline3VerticalStarLine",IconInterestFill:"IconHorizline3VerticalStarFill",IconInterestListThin:"IconStarLine",IconInterestListRegular:"IconStarLine",IconInterestListFill:"IconStarFill",IconInviteThin:"IconEnvelopeLine",IconInviteRegular:"IconEnvelopeLine",IconInviteFill:"IconEnvelopeFill",IconInviteFriendThin:"IconPersonPlusLine",IconInviteFriendRegular:"IconPersonPlusLine",IconInviteFriendFill:"IconPersonPlusFill",IconIosShareThin:"IconArrowUpBracketDownLine",IconIosShareRegular:"IconArrowUpBracketDownLine",IconIosShareFill:"IconArrowUpBracketDownFill",IconJobsThin:"IconPersonMagnifyingglassLine",IconJobsRegular:"IconPersonMagnifyingglassLine",IconJobsFill:"IconPersonMagnifyingglassFill",IconKeyboardHidingThin:"IconKeyboardChevronDownLine",IconKeyboardHidingRegular:"IconKeyboardChevronDownLine",IconKeyboardHidingFill:"IconKeyboardChevronDownFill",IconKeywordThin:"IconTagLine",IconKeywordRegular:"IconTagLine",IconKeywordFill:"IconTagFill",IconLaptopThin:"IconLaptopLine",IconLaptopRegular:"IconLaptopLine",IconLaptopFill:"IconLaptopFill",IconLeafThin:"IconLeafLine",IconLeafRegular:"IconLeafLine",IconLeafFill:"IconLeafFill",IconListThin:"IconDothorizline3VerticalLine",IconListRegular:"IconDothorizline3VerticalLine",IconListFill:"IconDothorizline3VerticalFill",IconListCardThin:"IconHorizrectangleHorizline2VerticalLine",IconListCardRegular:"IconHorizrectangleHorizline2VerticalLine",IconListCardFill:"IconHorizrectangleHorizline2VerticalFill",IconListCheckThin:"IconDocumentCheckmarkLine",IconListCheckRegular:"IconDocumentCheckmarkLine",IconListCheckFill:"IconDocumentCheckmarkFill",IconListSelectThin:"IconHorizline3VerticalCheckmarkLine",IconListSelectRegular:"IconHorizline3VerticalCheckmarkLine",IconListSelectFill:"IconHorizline3VerticalCheckmarkFill",IconListThumbnailThin:"IconSquareline2VerticalLine",IconListThumbnailRegular:"IconSquareline2VerticalLine",IconListThumbnailFill:"IconSquareline2VerticalFill",IconLocationThin:"IconLocationpinLine",IconLocationRegular:"IconLocationpinLine",IconLocationFill:"IconLocationpinFill",IconLockThin:"IconLockLine",IconLockRegular:"IconLockLine",IconLockFill:"IconLockFill",IconLoudspeakerThin:"IconMegaphoneLine",IconLoudspeakerRegular:"IconMegaphoneLine",IconLoudspeakerFill:"IconMegaphoneFill",IconMapThin:"IconMapLocationpinLine",IconMapRegular:"IconMapLocationpinLine",IconMapFill:"IconMapLocationpinFill",IconMarketThin:"IconStoreLine",IconMarketRegular:"IconStoreLine",IconMarketFill:"IconStoreFill",IconMarketCheckThin:"IconStoreCheckmarkLine",IconMarketCheckRegular:"IconStoreCheckmarkLine",IconMarketCheckFill:"IconStoreCheckmarkFill",IconMarketWriteThin:"IconStorePenLine",IconMarketWriteRegular:"IconStorePenLine",IconMarketWriteFill:"IconStorePenFill",IconMentionThin:"IconAtLine",IconMentionRegular:"IconAtLine",IconMentionFill:"IconAtFill",IconMenuThin:"IconHorizline3VerticalLine",IconMenuRegular:"IconHorizline3VerticalLine",IconMenuFill:"IconHorizline3VerticalFill",IconMicThin:"IconMicrophoneLine",IconMicRegular:"IconMicrophoneLine",IconMicFill:"IconMicrophoneFill",IconMicOffThin:"IconMicrophoneSlashLine",IconMicOffRegular:"IconMicrophoneSlashLine",IconMicOffFill:"IconMicrophoneSlashFill",IconMissionThin:"IconBookOpenLine",IconMissionRegular:"IconBookOpenLine",IconMissionFill:"IconBookOpenFill",IconMobileThin:"IconMobileLine",IconMobileRegular:"IconMobileLine",IconMobileFill:"IconMobileFill",IconMoneySendThin:"IconWonCircleArrowRightLine",IconMoneySendRegular:"IconWonCircleArrowRightLine",IconMoneySendFill:"IconWonCircleArrowRightFill",IconMoneyWonThin:"IconWonCircleLine",IconMoneyWonRegular:"IconWonCircleLine",IconMoneyWonFill:"IconWonCircleFill",IconMoonThin:"IconMoonLine",IconMoonRegular:"IconMoonLine",IconMoonFill:"IconMoonFill",IconMoreHorizThin:"IconDot3HorizontalLine",IconMoreHorizRegular:"IconDot3HorizontalLine",IconMoreHorizFill:"IconDot3HorizontalFill",IconMoreVertThin:"IconDot3VerticalLine",IconMoreVertRegular:"IconDot3VerticalLine",IconMoreVertFill:"IconDot3VerticalFill",IconMyThin:"IconPersonLine",IconMyRegular:"IconPersonLine",IconMyFill:"IconPersonFill",IconMyProfileThin:"IconPersonCircleLine",IconMyProfileRegular:"IconPersonCircleLine",IconMyProfileFill:"IconPersonCircleFill",IconNearMeThin:"IconLocationpinLine",IconNearMeRegular:"IconLocationpinLine",IconNearMeFill:"IconLocationpinFill",IconNewtopicThin:"IconNUppercaseCircleLine",IconNewtopicRegular:"IconNUppercaseCircleLine",IconNewtopicFill:"IconNUppercaseCircleFill",IconNoteThin:"IconDocumentLine",IconNoteRegular:"IconDocumentLine",IconNoteFill:"IconDocumentFill",IconNotificationThin:"IconBellLine",IconNotificationRegular:"IconBellLine",IconNotificationFill:"IconBellFill",IconNotificationFallThin:"IconArrowDownLine",IconNotificationFallRegular:"IconArrowDownLine",IconNotificationFallFill:"IconArrowDownFill",IconNotificationOffThin:"IconBellSlashLine",IconNotificationOffRegular:"IconBellSlashLine",IconNotificationOffFill:"IconBellSlashFill",IconOrderThin:"IconCheckmarkClipboardLine",IconOrderRegular:"IconCheckmarkClipboardLine",IconOrderFill:"IconCheckmarkClipboardFill",IconPauseThin:"IconVertrectangle2HorizontalLine",IconPauseRegular:"IconVertrectangle2HorizontalLine",IconPauseFill:"IconVertrectangle2HorizontalFill",IconPaymentThin:"IconCardLine",IconPaymentRegular:"IconCardLine",IconPaymentFill:"IconCardFill",IconPercentThin:"IconPercentLine",IconPercentRegular:"IconPercentLine",IconPercentFill:"IconPercentFill",IconPhotoThin:"IconPictureLine",IconPhotoRegular:"IconPictureLine",IconPhotoFill:"IconPictureFill",IconPhotoEditThin:"IconWandLine",IconPhotoEditRegular:"IconWandLine",IconPhotoEditFill:"IconWandFill",IconPhotoEditCropThin:"IconCropmarkLine",IconPhotoEditCropRegular:"IconCropmarkLine",IconPhotoEditCropFill:"IconCropmarkFill",IconPhotoEditDrawThin:"IconScribbleLine",IconPhotoEditDrawRegular:"IconScribbleLine",IconPhotoEditDrawFill:"IconScribbleFill",IconPhotoEditRotateThin:"IconArrow2ClockwiseCircularLine",IconPhotoEditRotateRegular:"IconArrow2ClockwiseCircularLine",IconPhotoEditRotateFill:"IconArrow2ClockwiseCircularFill",IconPhotoSeveralThin:"IconPicture2StackedLine",IconPhotoSeveralRegular:"IconPicture2StackedLine",IconPhotoSeveralFill:"IconPicture2StackedFill",IconPlayThin:"IconTriangleRightLine",IconPlayRegular:"IconTriangleRightLine",IconPlayFill:"IconTriangleRightFill",IconPollThin:"IconBarchartSquareLine",IconPollRegular:"IconBarchartSquareLine",IconPollFill:"IconBarchartSquareFill",IconPriceWonThin:"IconWonLine",IconPriceWonRegular:"IconWonLine",IconPriceWonFill:"IconWonFill",IconProductThin:"IconShoppingbagLine",IconProductRegular:"IconShoppingbagLine",IconProductFill:"IconShoppingbagFill",IconProfileThin:"IconPersonLine",IconProfileRegular:"IconPersonLine",IconProfileFill:"IconPersonFill",IconProfileBadgeThin:"IconCheckmarkBadgeLine",IconProfileBadgeRegular:"IconCheckmarkBadgeLine",IconProfileBadgeFill:"IconCheckmarkBadgeFill",IconProhibitionThin:"IconSlashCircleLine",IconProhibitionRegular:"IconSlashCircleLine",IconProhibitionFill:"IconSlashCircleFill",IconPushpinThin:"IconPushpinLine",IconPushpinRegular:"IconPushpinLine",IconPushpinFill:"IconPushpinFill",IconQuestionCheckThin:"IconQuestionmarkSquareLine",IconQuestionCheckRegular:"IconQuestionmarkSquareLine",IconQuestionCheckFill:"IconQuestionmarkSquareFill",IconRedoThin:"IconArrowUturnRightLine",IconRedoRegular:"IconArrowUturnRightLine",IconRedoFill:"IconArrowUturnRightFill",IconRefundThin:"IconWonArrowClockwiseCircularLine",IconRefundRegular:"IconWonArrowClockwiseCircularLine",IconRefundFill:"IconWonArrowClockwiseCircularFill",IconRemoveCircleThin:"IconXmarkCircleLine",IconRemoveCircleRegular:"IconXmarkCircleLine",IconRemoveCircleFill:"IconXmarkCircleFill",IconReplyThin:"IconHorizline2VerticalChatbubbleRightLine",IconReplyRegular:"IconHorizline2VerticalChatbubbleRightLine",IconReplyFill:"IconHorizline2VerticalChatbubbleRightFill",IconReplyMissionThin:"IconHorizline2VerticalChatbubbleRightLine",IconReplyMissionRegular:"IconHorizline2VerticalChatbubbleRightLine",IconReplyMissionFill:"IconHorizline2VerticalChatbubbleRightFill",IconReplyReThin:"IconCornerDownLeftLine",IconReplyReRegular:"IconCornerDownLeftLine",IconReplyReFill:"IconCornerDownLeftFill",IconReportThin:"IconFlagLine",IconReportRegular:"IconFlagLine",IconReportFill:"IconFlagFill",IconReservationThin:"IconCheckmarkCalendarLine",IconReservationRegular:"IconCheckmarkCalendarLine",IconReservationFill:"IconCheckmarkCalendarFill",IconRestaurantThin:"IconForkSpoonLine",IconRestaurantRegular:"IconForkSpoonLine",IconRestaurantFill:"IconForkSpoonFill",IconRetryThin:"IconArrowClockwiseCircularLine",IconRetryRegular:"IconArrowClockwiseCircularLine",IconRetryFill:"IconArrowClockwiseCircularFill",IconReviewStarThin:"IconStarLine",IconReviewStarRegular:"IconStarLine",IconReviewStarFill:"IconStarFill",IconScannerThin:"IconHorizlineViewfinderLine",IconScannerRegular:"IconHorizlineViewfinderLine",IconScannerFill:"IconHorizlineViewfinderFill",IconSearchThin:"IconMagnifyingglassLine",IconSearchRegular:"IconMagnifyingglassLine",IconSearchFill:"IconMagnifyingglassFill",IconSearchDocThin:"IconDocumentMagnifyingglassLine",IconSearchDocRegular:"IconDocumentMagnifyingglassLine",IconSearchDocFill:"IconDocumentMagnifyingglassFill",IconSellThin:"IconPlusSquareLine",IconSellRegular:"IconPlusSquareLine",IconSellFill:"IconPlusSquareFill",IconSettingThin:"IconGearLine",IconSettingRegular:"IconGearLine",IconSettingFill:"IconGearFill",IconSignoutThin:"IconBracketLeftArrowRightLine",IconSignoutRegular:"IconBracketLeftArrowRightLine",IconSignoutFill:"IconBracketLeftArrowRightFill",IconSortThin:"IconArrowUpArrowDownLine",IconSortRegular:"IconArrowUpArrowDownLine",IconSortFill:"IconArrowUpArrowDownFill",IconStoryThin:"IconTriangleRightChatbubbleLeftLine",IconStoryRegular:"IconTriangleRightChatbubbleLeftLine",IconStoryFill:"IconTriangleRightChatbubbleLeftFill",IconStoryArticleThin:"IconDocumentPenLine",IconStoryArticleRegular:"IconDocumentPenLine",IconStoryArticleFill:"IconDocumentPenFill",IconSubtractCircleThin:"IconMinusCircleLine",IconSubtractCircleRegular:"IconMinusCircleLine",IconSubtractCircleFill:"IconMinusCircleFill",IconSubtractionThin:"IconMinusLine",IconSubtractionRegular:"IconMinusLine",IconSubtractionFill:"IconMinusFill",IconSuggestThin:null,IconSuggestRegular:null,IconSuggestFill:null,IconSunThin:"IconSunLine",IconSunRegular:"IconSunLine",IconSunFill:"IconSunFill",IconTalkingdownThin:"IconQuotationmark2RightLine",IconTalkingdownRegular:"IconQuotationmark2RightLine",IconTalkingdownFill:"IconQuotationmark2RightFill",IconTalkingupThin:"IconQuotationmark2LeftLine",IconTalkingupRegular:"IconQuotationmark2LeftLine",IconTalkingupFill:"IconQuotationmark2LeftFill",IconTextThin:"IconTUppercaseSerifLine",IconTextRegular:"IconTUppercaseSerifLine",IconTextFill:"IconTUppercaseSerifFill",IconThumbDownThin:"IconThumbDownLine",IconThumbDownRegular:"IconThumbDownLine",IconThumbDownFill:"IconThumbDownFill",IconThumbUpThin:"IconThumbUpLine",IconThumbUpRegular:"IconThumbUpLine",IconThumbUpFill:"IconThumbUpFill",IconToolboxThin:"IconToolboxLine",IconToolboxRegular:"IconToolboxLine",IconToolboxFill:"IconToolboxFill",IconTranslateThin:"IconTranslationLine",IconTranslateRegular:"IconTranslationLine",IconTranslateFill:"IconTranslationFill",IconTrashThin:"IconTrashcanLine",IconTrashRegular:"IconTrashcanLine",IconTrashFill:"IconTrashcanFill",IconUndoThin:"IconArrowUturnLeftLine",IconUndoRegular:"IconArrowUturnLeftLine",IconUndoFill:"IconArrowUturnLeftFill",IconUserGroupThin:"IconPerson2Line",IconUserGroupRegular:"IconPerson2Line",IconUserGroupFill:"IconPerson2Fill",IconVideoThin:"IconCamcorderLine",IconVideoRegular:"IconCamcorderLine",IconVideoFill:"IconCamcorderFill",IconViewCountThin:"IconEyeLine",IconViewCountRegular:"IconEyeLine",IconViewCountFill:"IconEyeFill",IconViewCountOffThin:"IconEyeSlashLine",IconViewCountOffRegular:"IconEyeSlashLine",IconViewCountOffFill:"IconEyeSlashFill",IconVolumeOffThin:"IconSpeakerSlashLine",IconVolumeOffRegular:"IconSpeakerSlashLine",IconVolumeOffFill:"IconSpeakerSlashFill",IconVolumeOnThin:"IconSpeakerWave2Line",IconVolumeOnRegular:"IconSpeakerWave2Line",IconVolumeOnFill:"IconSpeakerWave2Fill",IconVoteThin:"IconCheckmarkBallotboxLine",IconVoteRegular:"IconCheckmarkBallotboxLine",IconVoteFill:"IconCheckmarkBallotboxFill",IconVoucherThin:"IconGiftLine",IconVoucherRegular:"IconGiftLine",IconVoucherFill:"IconGiftFill",IconWalkThin:"IconFigureWalkLine",IconWalkRegular:"IconFigureWalkLine",IconWalkFill:"IconFigureWalkFill",IconWarningThin:"IconExclamationmarkCircleLine",IconWarningRegular:"IconExclamationmarkCircleLine",IconWarningFill:"IconExclamationmarkCircleFill",IconWriteThin:"IconPenHorizlineLine",IconWriteRegular:"IconPenHorizlineLine",IconWriteFill:"IconPenHorizlineFill",IconWriteFrequentUseThin:"IconDocumentPlusLine",IconWriteFrequentUseRegular:"IconDocumentPlusLine",IconWriteFrequentUseFill:"IconDocumentPlusFill",IconWriteStoryThin:null,IconWriteStoryRegular:null,IconWriteStoryFill:null};var D={source:[{startsWith:"@seed-design/icon",replaceWith:"@daangn/react-icon"},{startsWith:"@seed-design/react-icon",replaceWith:"@daangn/react-icon"}],identifier:f},A=(e,c,{match:l=D})=>{let o=process.env.LOG==="true"?H({level:"info",format:m.combine(m.timestamp({format:"YYYY-MM-DD HH:mm:ss"}),m.printf(({level:a,message:u,timestamp:i})=>`${i} [${a.toUpperCase()}]: ${u}`)),transports:[new S.File({filename:"combined.log",level:"debug"}),new S.File({filename:"error.log",level:"error"})]}):void 0;o?.debug(`${e.path}: \uD655\uC778 \uC2DC\uC791`);let r=c.jscodeshift,n=r(e.source),t=()=>n.find(r.Program).get("body",0).node,d=t(),s=n.find(r.ImportDeclaration,{source:{value:a=>typeof a!="string"?!1:l.source.some(({startsWith:u})=>a.startsWith(u))}});if(s.length===0)return o?.debug(`${e.path}: \uC774 \uD30C\uC77C\uC5D0\uB294 import\uBB38 \uC5C6\uC74C`),e.source;o?.debug(`${e.path}: import\uBB38 ${s.length}\uAC1C \uBC1C\uACAC`),k({importDeclarations:s,match:l,logger:o,filePath:e.path}),o?.debug(`${e.path}: import\uBB38 \uBCC0\uD658 \uC644\uB8CC`),o?.debug(`${e.path}: identifier \uBCC0\uD658 \uC2DC\uC791`);let F=n.find(r.Identifier,{name:a=>Object.keys(l.identifier).includes(a)});o?.debug(`${e.path}: identifier ${F.length}\uAC1C \uBC1C\uACAC`),w({identifiers:F,identifierMatch:l.identifier,logger:o,filePath:e.path}),o?.debug(`${e.path}: identifier \uBCC0\uD658 \uC644\uB8CC`);let R=t();return d!==R&&(R.comments=d.comments),o?.debug(`${e.path}: \uD655\uC778 \uC644\uB8CC`),n.toSource()},O=A;export{O as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seed-design/codemod",
3
- "version": "0.0.0-alpha-20241020150322",
3
+ "version": "0.0.0-alpha-20241021100240",
4
4
  "type": "module",
5
5
  "repository": {
6
6
  "type": "git",
@@ -14,6 +14,7 @@
14
14
  ],
15
15
  "scripts": {
16
16
  "prepack": "yarn build",
17
+ "dev": "node ./dev.mjs",
17
18
  "build": "node ./build.mjs",
18
19
  "test": "yarn vitest"
19
20
  },
@@ -21,9 +22,12 @@
21
22
  "cac": "^6.7.14",
22
23
  "execa": "^9.4.1",
23
24
  "jscodeshift": "^17.0.0",
24
- "winston": "^3.15.0"
25
+ "picocolors": "^1.1.1",
26
+ "winston": "^3.15.0",
27
+ "zod": "^3.23.8"
25
28
  },
26
29
  "devDependencies": {
30
+ "@daangn/react-icon": "alpha",
27
31
  "@types/jscodeshift": "^0.12.0",
28
32
  "@types/node": "^22.7.5",
29
33
  "change-case": "^5.4.4",
@@ -1 +0,0 @@
1
- import t from"jscodeshift";import{format as m,transports as T}from"winston";var w="@seed-design/codemod - ",f={level:"info",format:m.combine(m.timestamp({format:"YYYY-MM-DD HH:mm:ss"}),m.printf(({level:o,message:i,timestamp:c})=>`${c} [${o.toUpperCase()}]: ${i}`)),transports:[new T.File({filename:"combined.log",level:"debug"}),new T.File({filename:"error.log",level:"error"})]};function k({importDeclarations:o,match:i,logger:c,filePath:e}){o.replaceWith(r=>{let n=r.node.source.value,a=r.node.specifiers,C=r.node.importKind,L=r.node.comments,s=(()=>{if(typeof n!="string")return n;let{startsWith:l,replaceWith:I}=i.source.find(({startsWith:g})=>n.startsWith(g)),F=(I?n.replace(l,I):n).split("/");return F.map((g,P)=>P!==F.length-1||!(g in i.identifier)?g:i.identifier[g]).join("/")})();c.debug(`${e}: source ${n} -> ${s}`);let h=a.map(l=>{switch(l.type){case"ImportSpecifier":{let I=l.imported.name;if(!(I in i.identifier)||i.identifier[I]===null)return c.error(`${e}: imported specifier ${I}\uC5D0 \uB300\uD55C \uBCC0\uD658 \uC815\uBCF4 \uC5C6\uC74C`),l;let u=i.identifier[I];if(u===I)return l;c.debug(`${e}: imported name ${I} -> ${u}`);let d=t.identifier(u);return t.importSpecifier(d,l.local)}case"ImportDefaultSpecifier":return l;case"ImportNamespaceSpecifier":return l}}).filter((l,I,u)=>{if(l.type!=="ImportSpecifier")return!0;let F=l.imported.name;return u.findIndex(d=>d.imported.name===F)===I}),p=t.importDeclaration(h,t.literal(s),C);return p.comments=L,p})}function S({identifiers:o,identifierMatch:i,logger:c,filePath:e}){o.replaceWith(r=>{let n=r.node.name;if(!(n in i))return t.identifier(n);if(i[n]===null)return c.error(`${e}: identifier ${n}\uC5D0 \uB300\uD55C \uBCC0\uD658 \uC815\uBCF4 \uC5C6\uC74C`),console.error(w,`${e}: identifier ${n}\uC5D0 \uB300\uD55C \uBCC0\uD658 \uC815\uBCF4 \uC5C6\uC74C`),t.identifier(n);let a=i[n];return c.debug(`${e}: identifier ${n} -> ${a}`),t.identifier(a)})}import{createLogger as H}from"winston";var b={IconAddThin:"IconPlusLine",IconAddRegular:"IconPlusLine",IconAddFill:"IconPlusFill",IconAddCircleThin:"IconPlusCircleLine",IconAddCircleRegular:"IconPlusCircleLine",IconAddCircleFill:"IconPlusCircleFill",IconAebThin:"IconCarFrontUpsideWave2ReversedUpLine",IconAebRegular:"IconCarFrontUpsideWave2ReversedUpLine",IconAebFill:"IconCarFrontUpsideWave2ReversedUpFill",IconAiThin:"IconSparkle2Line",IconAiRegular:"IconSparkle2Line",IconAiFill:"IconSparkle2Fill",IconAndroidShareThin:"IconAndroidshareLine",IconAndroidShareRegular:"IconAndroidshareLine",IconAndroidShareFill:"IconAndroidshareFill",IconArrowThin:"IconArrowUpRightLine",IconArrowRegular:"IconArrowUpRightLine",IconArrowFill:"IconArrowUpRightFill",IconArrowDownwardThin:"IconArrowDownLine",IconArrowDownwardRegular:"IconArrowDownLine",IconArrowDownwardFill:"IconArrowDownFill",IconArrowDropDownThin:"IconTriangleDownSmallLine",IconArrowDropDownRegular:"IconTriangleDownSmallLine",IconArrowDropDownFill:"IconTriangleDownSmallFill",IconArrowDropUpThin:"IconTriangleUpSmallLine",IconArrowDropUpRegular:"IconTriangleUpSmallLine",IconArrowDropUpFill:"IconTriangleUpSmallFill",IconArrowUpwardThin:"IconArrowUpLine",IconArrowUpwardRegular:"IconArrowUpLine",IconArrowUpwardFill:"IconArrowUpFill",IconArticleThin:"IconArticleLine",IconArticleRegular:"IconArticleLine",IconArticleFill:"IconArticleFill",IconBackwardThin:"IconArrowLeftLine",IconBackwardRegular:"IconArrowLeftLine",IconBackwardFill:"IconArrowLeftFill",IconBillThin:"IconReceiptLine",IconBillRegular:"IconReceiptLine",IconBillFill:"IconReceiptFill",IconBoldThin:null,IconBoldRegular:null,IconBoldFill:null,IconBookmarkThin:"IconBookmarkLine",IconBookmarkRegular:"IconBookmarkLine",IconBookmarkFill:"IconBookmarkFill",IconBookmarkListThin:"IconHorizline3VerticalStarLine",IconBookmarkListRegular:"IconHorizline3VerticalStarLine",IconBookmarkListFill:"IconHorizline3VerticalStarFill",IconCalendarThin:"IconCalendarLine",IconCalendarRegular:"IconCalendarLine",IconCalendarFill:"IconCalendarFill",IconCallThin:"IconPhoneLine",IconCallRegular:"IconPhoneLine",IconCallFill:"IconPhoneFill",IconCallDeclinedThin:"IconPhoneXmarkLine",IconCallDeclinedRegular:"IconPhoneXmarkLine",IconCallDeclinedFill:"IconPhoneXmarkFill",IconCameraThin:"IconCameraLine",IconCameraRegular:"IconCameraLine",IconCameraFill:"IconCameraFill",IconCarThin:"IconCarFrontsideLine",IconCarRegular:"IconCarFrontsideLine",IconCarFill:"IconCarFrontsideFill",IconCarAroundViewThin:"IconArrowClockwiseOvalLine",IconCarAroundViewRegular:"IconArrowClockwiseOvalLine",IconCarAroundViewFill:"IconArrowClockwiseOvalFill",IconCarBlindSpotThin:"IconCarRearUpsideWave2ReversedDownLeftLine",IconCarBlindSpotRegular:"IconCarRearUpsideWave2ReversedDownLeftLine",IconCarBlindSpotFill:"IconCarRearUpsideWave2ReversedDownLeftFill",IconCarCruiseControlThin:"IconSpeedometerLine",IconCarCruiseControlRegular:"IconSpeedometerLine",IconCarCruiseControlFill:"IconSpeedometerFill",IconCarEpbThin:"IconEpbLine",IconCarEpbRegular:"IconEpbLine",IconCarEpbFill:"IconEpbFill",IconCarHeatedSeatThin:"IconSeatLeftHeatwave2Line",IconCarHeatedSeatRegular:"IconSeatLeftHeatwave2Line",IconCarHeatedSeatFill:"IconSeatLeftHeatwave2Fill",IconCarHeatedSteeringWheelThin:"IconSteeringwheelHeatwave2Line",IconCarHeatedSteeringWheelRegular:"IconSteeringwheelHeatwave2Line",IconCarHeatedSteeringWheelFill:"IconSteeringwheelHeatwave2Fill",IconCarLdwsThin:"IconRoadlaneLine",IconCarLdwsRegular:"IconRoadlaneLine",IconCarLdwsFill:"IconRoadlaneFill",IconCarLeatherSeatThin:"IconSeatLeftLine",IconCarLeatherSeatRegular:"IconSeatLeftLine",IconCarLeatherSeatFill:"IconSeatLeftFill",IconCarNavigationThin:"IconCompassLine",IconCarNavigationRegular:"IconCompassLine",IconCarNavigationFill:"IconCompassFill",IconCarPowerTrunkThin:"IconCarRearTrunkOpenLeftsideLine",IconCarPowerTrunkRegular:"IconCarRearTrunkOpenLeftsideLine",IconCarPowerTrunkFill:"IconCarRearTrunkOpenLeftsideFill",IconCarRearCameraThin:"IconCarRearUpsideSectorDownLine",IconCarRearCameraRegular:"IconCarRearUpsideSectorDownLine",IconCarRearCameraFill:"IconCarRearUpsideSectorDownFill",IconCarRearSensorThin:"IconCarRearUpsideWave2ReversedDownLine",IconCarRearSensorRegular:"IconCarRearUpsideWave2ReversedDownLine",IconCarRearSensorFill:"IconCarRearUpsideWave2ReversedDownFill",IconCarSmartKeyThin:"IconSmartkeyLine",IconCarSmartKeyRegular:"IconSmartkeyLine",IconCarSmartKeyFill:"IconSmartkeyFill",IconCarVentilationSeatThin:"IconSeatLeftFanLine",IconCarVentilationSeatRegular:"IconSeatLeftFanLine",IconCarVentilationSeatFill:"IconSeatLeftFanFill",IconCartThin:"IconCartLine",IconCartRegular:"IconCartLine",IconCartFill:"IconCartFill",IconCertificationThin:"IconCrosshairLine",IconCertificationRegular:"IconCrosshairLine",IconCertificationFill:"IconCrosshairFill",IconChallengeThin:"IconFlagHillLine",IconChallengeRegular:"IconFlagHillLine",IconChallengeFill:"IconFlagHillFill",IconChartThin:"IconBarchartSquareLine",IconChartRegular:"IconBarchartSquareLine",IconChartFill:"IconBarchartSquareFill",IconChatBubbleCheckThin:"IconCheckmarkChatbubbleLeftLine",IconChatBubbleCheckRegular:"IconCheckmarkChatbubbleLeftLine",IconChatBubbleCheckFill:"IconCheckmarkChatbubbleLeftFill",IconChattingThin:"IconDot3HorizontalChatbubbleLeftLine",IconChattingRegular:"IconDot3HorizontalChatbubbleLeftLine",IconChattingFill:"IconDot3HorizontalChatbubbleLeftFill",IconChattingSendThin:"IconPaperplaneLine",IconChattingSendRegular:"IconPaperplaneLine",IconChattingSendFill:"IconPaperplaneFill",IconCheckThin:"IconCheckmarkLine",IconCheckRegular:"IconCheckmarkLine",IconCheckFill:"IconCheckmarkFill",IconCheckFlowerThin:"IconCheckmarkFlowerLine",IconCheckFlowerRegular:"IconCheckmarkFlowerLine",IconCheckFlowerFill:"IconCheckmarkFlowerFill",IconChevronLeftThin:"IconChevronLeftLine",IconChevronLeftRegular:"IconChevronLeftLine",IconChevronLeftFill:"IconChevronLeftFill",IconChevronRightThin:"IconChevronRightLine",IconChevronRightRegular:"IconChevronRightLine",IconChevronRightFill:"IconChevronRightFill",IconClickThin:"IconHandPointUpLine",IconClickRegular:"IconHandPointUpLine",IconClickFill:"IconHandPointUpFill",IconClockThin:"IconClockLine",IconClockRegular:"IconClockLine",IconClockFill:"IconClockFill",IconCloseThin:"IconXmarkLine",IconCloseRegular:"IconXmarkLine",IconCloseFill:"IconXmarkFill",IconCobuyingThin:null,IconCobuyingRegular:null,IconCobuyingFill:null,IconCommunityThin:"IconPostLine",IconCommunityRegular:"IconPostLine",IconCommunityFill:"IconPostFill",IconCondoThin:"IconBuilding2Line",IconCondoRegular:"IconBuilding2Line",IconCondoFill:"IconBuilding2Fill",IconConfirmationThin:"IconCheckShieldLine",IconConfirmationRegular:"IconCheckShieldLine",IconConfirmationFill:"IconCheckShieldFill",IconConfirmationPayThin:"IconWonShieldLine",IconConfirmationPayRegular:"IconWonShieldLine",IconConfirmationPayFill:"IconWonShieldFill",IconConfirmationProfileThin:"IconPersonShieldLine",IconConfirmationProfileRegular:"IconPersonShieldLine",IconConfirmationProfileFill:"IconPersonShieldFill",IconContentsThin:"IconGridHeartLine",IconContentsRegular:"IconGridHeartLine",IconContentsFill:"IconGridHeartFill",IconConvertThin:"IconArrowRightArrowLeftLine",IconConvertRegular:"IconArrowRightArrowLeftLine",IconConvertFill:"IconArrowRightArrowLeftFill",IconCopyThin:"IconSquare2StackedLine",IconCopyRegular:"IconSquare2StackedLine",IconCopyFill:"IconSquare2StackedFill",IconCouponThin:"IconCouponLine",IconCouponRegular:"IconCouponLine",IconCouponFill:"IconCouponFill",IconCouponDownloadDoneThin:"IconCheckmarkHorizlineLine",IconCouponDownloadDoneRegular:"IconCheckmarkHorizlineLine",IconCouponDownloadDoneFill:"IconCheckmarkHorizlineFill",IconCouponUsedThin:"IconCheckCouponLine",IconCouponUsedRegular:"IconCheckCouponLine",IconCouponUsedFill:"IconCheckCouponFill",IconDeleteKeyboardThin:"IconBackspacekeyLine",IconDeleteKeyboardRegular:"IconBackspacekeyLine",IconDeleteKeyboardFill:"IconBackspacekeyFill",IconDeliveryThin:null,IconDeliveryRegular:null,IconDeliveryFill:null,IconDirectionThin:"IconArrowRightAngledLine",IconDirectionRegular:"IconArrowRightAngledLine",IconDirectionFill:"IconArrowRightAngledFill",IconDownloadThin:"IconArrowDownHorizlineLine",IconDownloadRegular:"IconArrowDownHorizlineLine",IconDownloadFill:"IconArrowDownHorizlineFill",IconEditThin:"IconEraserHorizlineLine",IconEditRegular:"IconEraserHorizlineLine",IconEditFill:"IconEraserHorizlineFill",IconEmoticonThin:"IconFaceSmileCircleLine",IconEmoticonRegular:"IconFaceSmileCircleLine",IconEmoticonFill:"IconFaceSmileCircleFill",IconEmoticonBadThin:"IconFaceSadCircleLine",IconEmoticonBadRegular:"IconFaceSadCircleLine",IconEmoticonBadFill:"IconFaceSadCircleFill",IconExpandThin:"IconArrowUpRightArrowDownLeftLine",IconExpandRegular:"IconArrowUpRightArrowDownLeftLine",IconExpandFill:"IconArrowUpRightArrowDownLeftFill",IconExpandLessThin:"IconChevronUpLine",IconExpandLessRegular:"IconChevronUpLine",IconExpandLessFill:"IconChevronUpFill",IconExpandMoreThin:"IconChevronDownLine",IconExpandMoreRegular:"IconChevronDownLine",IconExpandMoreFill:"IconChevronDownFill",IconFileThin:"IconPaperclipLine",IconFileRegular:"IconPaperclipLine",IconFileFill:"IconPaperclipFill",IconFilter02Thin:"IconSlider2HorizontalLine",IconFilter02Regular:"IconSlider2HorizontalLine",IconFilter02Fill:"IconSlider2HorizontalFill",IconForwardThin:"IconArrowRightLine",IconForwardRegular:"IconArrowRightLine",IconForwardFill:"IconArrowRightFill",IconGenderThin:"IconMalesymbolFemalesymbolLine",IconGenderRegular:"IconMalesymbolFemalesymbolLine",IconGenderFill:"IconMalesymbolFemalesymbolFill",IconGlobalThin:"IconGlobeLine",IconGlobalRegular:"IconGlobeLine",IconGlobalFill:"IconGlobeFill",IconGpsThin:"IconCrosshairLine",IconGpsRegular:"IconCrosshairLine",IconGpsFill:"IconCrosshairFill",IconGpsEnableThin:"IconCrosshairQuestionmarkLine",IconGpsEnableRegular:"IconCrosshairQuestionmarkLine",IconGpsEnableFill:"IconCrosshairQuestionmarkFill",IconGpsEnable2Thin:"IconCrosshairQuestionmarkLine",IconGpsEnable2Regular:"IconCrosshairQuestionmarkLine",IconGpsEnable2Fill:"IconCrosshairQuestionmarkFill",IconGroupchatKingThin:"IconCrownLine",IconGroupchatKingRegular:"IconCrownLine",IconGroupchatKingFill:"IconCrownFill",IconHandleThin:"IconHorizline3VerticalTightLine",IconHandleRegular:"IconHorizline3VerticalTightLine",IconHandleFill:"IconHorizline3VerticalTightFill",IconHashtagThin:"IconHashLine",IconHashtagRegular:"IconHashLine",IconHashtagFill:"IconHashFill",IconHeadphoneThin:"IconHeadsetLine",IconHeadphoneRegular:"IconHeadsetLine",IconHeadphoneFill:"IconHeadsetFill",IconHeartThin:"IconHeartLine",IconHeartRegular:"IconHeartLine",IconHeartFill:"IconHeartFill",IconHelpThin:"IconQuestionmarkCircleLine",IconHelpRegular:"IconQuestionmarkCircleLine",IconHelpFill:"IconQuestionmarkCircleFill",IconHelpcenterThin:"IconHeadsetLine",IconHelpcenterRegular:"IconHeadsetLine",IconHelpcenterFill:"IconHeadsetFill",IconHelperThin:"IconHeadsetLine",IconHelperRegular:"IconHeadsetLine",IconHelperFill:"IconHeadsetFill",IconHomeThin:"IconHouseLine",IconHomeRegular:"IconHouseLine",IconHomeFill:"IconHouseFill",IconHouseThin:"IconWindow4HouseLine",IconHouseRegular:"IconWindow4HouseLine",IconHouseFill:"IconWindow4HouseFill",IconHousekeepingBookThin:"IconBookLine",IconHousekeepingBookRegular:"IconBookLine",IconHousekeepingBookFill:"IconBookFill",IconImportThin:"IconDocumentArrowLeftLine",IconImportRegular:"IconDocumentArrowLeftLine",IconImportFill:"IconDocumentArrowLeftFill",IconInfoThin:"IconILowercaseSerifCircleLine",IconInfoRegular:"IconILowercaseSerifCircleLine",IconInfoFill:"IconILowercaseSerifCircleFill",IconInterestThin:"IconHorizline3VerticalStarLine",IconInterestRegular:"IconHorizline3VerticalStarLine",IconInterestFill:"IconHorizline3VerticalStarFill",IconInterestListThin:"IconStarLine",IconInterestListRegular:"IconStarLine",IconInterestListFill:"IconStarFill",IconInviteThin:"IconEnvelopeLine",IconInviteRegular:"IconEnvelopeLine",IconInviteFill:"IconEnvelopeFill",IconInviteFriendThin:"IconPersonPlusLine",IconInviteFriendRegular:"IconPersonPlusLine",IconInviteFriendFill:"IconPersonPlusFill",IconIosShareThin:"IconArrowUpBracketDownLine",IconIosShareRegular:"IconArrowUpBracketDownLine",IconIosShareFill:"IconArrowUpBracketDownFill",IconJobsThin:"IconPersonMagnifyingglassLine",IconJobsRegular:"IconPersonMagnifyingglassLine",IconJobsFill:"IconPersonMagnifyingglassFill",IconKeyboardHidingThin:"IconKeyboardChevronDownLine",IconKeyboardHidingRegular:"IconKeyboardChevronDownLine",IconKeyboardHidingFill:"IconKeyboardChevronDownFill",IconKeywordThin:"IconTagLine",IconKeywordRegular:"IconTagLine",IconKeywordFill:"IconTagFill",IconLaptopThin:"IconLaptopLine",IconLaptopRegular:"IconLaptopLine",IconLaptopFill:"IconLaptopFill",IconLeafThin:"IconLeafLine",IconLeafRegular:"IconLeafLine",IconLeafFill:"IconLeafFill",IconListThin:"IconDothorizline3VerticalLine",IconListRegular:"IconDothorizline3VerticalLine",IconListFill:"IconDothorizline3VerticalFill",IconListCardThin:"IconHorizrectangleHorizline2VerticalLine",IconListCardRegular:"IconHorizrectangleHorizline2VerticalLine",IconListCardFill:"IconHorizrectangleHorizline2VerticalFill",IconListCheckThin:"IconDocumentCheckmarkLine",IconListCheckRegular:"IconDocumentCheckmarkLine",IconListCheckFill:"IconDocumentCheckmarkFill",IconListSelectThin:"IconHorizline3VerticalCheckmarkLine",IconListSelectRegular:"IconHorizline3VerticalCheckmarkLine",IconListSelectFill:"IconHorizline3VerticalCheckmarkFill",IconListThumbnailThin:"IconSquareline2VerticalLine",IconListThumbnailRegular:"IconSquareline2VerticalLine",IconListThumbnailFill:"IconSquareline2VerticalFill",IconLocationThin:"IconLocationpinLine",IconLocationRegular:"IconLocationpinLine",IconLocationFill:"IconLocationpinFill",IconLockThin:"IconLockLine",IconLockRegular:"IconLockLine",IconLockFill:"IconLockFill",IconLoudspeakerThin:"IconMegaphoneLine",IconLoudspeakerRegular:"IconMegaphoneLine",IconLoudspeakerFill:"IconMegaphoneFill",IconMapThin:"IconMapLocationpinLine",IconMapRegular:"IconMapLocationpinLine",IconMapFill:"IconMapLocationpinFill",IconMarketThin:"IconStoreLine",IconMarketRegular:"IconStoreLine",IconMarketFill:"IconStoreFill",IconMarketCheckThin:"IconStoreCheckLine",IconMarketCheckRegular:"IconStoreCheckLine",IconMarketCheckFill:"IconStoreCheckFill",IconMarketWriteThin:"IconStorePenLine",IconMarketWriteRegular:"IconStorePenLine",IconMarketWriteFill:"IconStorePenFill",IconMentionThin:"IconAtLine",IconMentionRegular:"IconAtLine",IconMentionFill:"IconAtFill",IconMenuThin:"IconHorizline3VerticalLine",IconMenuRegular:"IconHorizline3VerticalLine",IconMenuFill:"IconHorizline3VerticalFill",IconMicThin:"IconMicrophoneLine",IconMicRegular:"IconMicrophoneLine",IconMicFill:"IconMicrophoneFill",IconMicOffThin:"IconMicrophoneSlashLine",IconMicOffRegular:"IconMicrophoneSlashLine",IconMicOffFill:"IconMicrophoneSlashFill",IconMissionThin:"IconBookOpenLine",IconMissionRegular:"IconBookOpenLine",IconMissionFill:"IconBookOpenFill",IconMobileThin:"IconMobileLine",IconMobileRegular:"IconMobileLine",IconMobileFill:"IconMobileFill",IconMoneySendThin:"IconWonCircleArrowRightLine",IconMoneySendRegular:"IconWonCircleArrowRightLine",IconMoneySendFill:"IconWonCircleArrowRightFill",IconMoneyWonThin:"IconWonCircleLine",IconMoneyWonRegular:"IconWonCircleLine",IconMoneyWonFill:"IconWonCircleFill",IconMoonThin:"IconMoonLine",IconMoonRegular:"IconMoonLine",IconMoonFill:"IconMoonFill",IconMoreHorizThin:"IconDot3HorizontalLine",IconMoreHorizRegular:"IconDot3HorizontalLine",IconMoreHorizFill:"IconDot3HorizontalFill",IconMoreVertThin:"IconDot3VerticalLine",IconMoreVertRegular:"IconDot3VerticalLine",IconMoreVertFill:"IconDot3VerticalFill",IconMyThin:"IconPersonLine",IconMyRegular:"IconPersonLine",IconMyFill:"IconPersonFill",IconMyProfileThin:"IconPersonCircleLine",IconMyProfileRegular:"IconPersonCircleLine",IconMyProfileFill:"IconPersonCircleFill",IconNearMeThin:"IconLocationpinLine",IconNearMeRegular:"IconLocationpinLine",IconNearMeFill:"IconLocationpinFill",IconNewtopicThin:"IconNUppercaseCircleLine",IconNewtopicRegular:"IconNUppercaseCircleLine",IconNewtopicFill:"IconNUppercaseCircleFill",IconNoteThin:"IconDocumentLine",IconNoteRegular:"IconDocumentLine",IconNoteFill:"IconDocumentFill",IconNotificationThin:"IconBellLine",IconNotificationRegular:"IconBellLine",IconNotificationFill:"IconBellFill",IconNotificationFallThin:"IconArrowDownLine",IconNotificationFallRegular:"IconArrowDownLine",IconNotificationFallFill:"IconArrowDownFill",IconNotificationOffThin:"IconBellSlashLine",IconNotificationOffRegular:"IconBellSlashLine",IconNotificationOffFill:"IconBellSlashFill",IconOrderThin:"IconCheckClipboardLine",IconOrderRegular:"IconCheckClipboardLine",IconOrderFill:"IconCheckClipboardFill",IconPauseThin:"IconVertrectangle2HorizontalLine",IconPauseRegular:"IconVertrectangle2HorizontalLine",IconPauseFill:"IconVertrectangle2HorizontalFill",IconPaymentThin:"IconCardLine",IconPaymentRegular:"IconCardLine",IconPaymentFill:"IconCardFill",IconPercentThin:"IconPercentLine",IconPercentRegular:"IconPercentLine",IconPercentFill:"IconPercentFill",IconPhotoThin:"IconPictureLine",IconPhotoRegular:"IconPictureLine",IconPhotoFill:"IconPictureFill",IconPhotoEditThin:"IconWandLine",IconPhotoEditRegular:"IconWandLine",IconPhotoEditFill:"IconWandFill",IconPhotoEditCropThin:"IconCropmarkLine",IconPhotoEditCropRegular:"IconCropmarkLine",IconPhotoEditCropFill:"IconCropmarkFill",IconPhotoEditDrawThin:"IconScribbleLine",IconPhotoEditDrawRegular:"IconScribbleLine",IconPhotoEditDrawFill:"IconScribbleFill",IconPhotoEditRotateThin:"IconArrow2ClockwiseCircularLine",IconPhotoEditRotateRegular:"IconArrow2ClockwiseCircularLine",IconPhotoEditRotateFill:"IconArrow2ClockwiseCircularFill",IconPhotoSeveralThin:"IconPicture2StackedLine",IconPhotoSeveralRegular:"IconPicture2StackedLine",IconPhotoSeveralFill:"IconPicture2StackedFill",IconPlayThin:"IconTriangleRightLine",IconPlayRegular:"IconTriangleRightLine",IconPlayFill:"IconTriangleRightFill",IconPollThin:"IconBarchartSquareLine",IconPollRegular:"IconBarchartSquareLine",IconPollFill:"IconBarchartSquareFill",IconPriceWonThin:"IconWonLine",IconPriceWonRegular:"IconWonLine",IconPriceWonFill:"IconWonFill",IconProductThin:"IconShoppingbagLine",IconProductRegular:"IconShoppingbagLine",IconProductFill:"IconShoppingbagFill",IconProfileThin:"IconPersonLine",IconProfileRegular:"IconPersonLine",IconProfileFill:"IconPersonFill",IconProfileBadgeThin:"IconCheckmarkBadgeLine",IconProfileBadgeRegular:"IconCheckmarkBadgeLine",IconProfileBadgeFill:"IconCheckmarkBadgeFill",IconProhibitionThin:"IconSlashCircleLine",IconProhibitionRegular:"IconSlashCircleLine",IconProhibitionFill:"IconSlashCircleFill",IconPushpinThin:"IconPushpinLine",IconPushpinRegular:"IconPushpinLine",IconPushpinFill:"IconPushpinFill",IconQuestionCheckThin:"IconQuestionmarkSqaureLine",IconQuestionCheckRegular:"IconQuestionmarkSqaureLine",IconQuestionCheckFill:"IconQuestionmarkSqaureFill",IconRedoThin:"IconArrowUturnRightLine",IconRedoRegular:"IconArrowUturnRightLine",IconRedoFill:"IconArrowUturnRightFill",IconRefundThin:"IconWonArrowClockwiseCircularLine",IconRefundRegular:"IconWonArrowClockwiseCircularLine",IconRefundFill:"IconWonArrowClockwiseCircularFill",IconRemoveCircleThin:"IconXmarkCircleLine",IconRemoveCircleRegular:"IconXmarkCircleLine",IconRemoveCircleFill:"IconXmarkCircleFill",IconReplyThin:"IconHorizline2VerticalChatbubbleRightLine",IconReplyRegular:"IconHorizline2VerticalChatbubbleRightLine",IconReplyFill:"IconHorizline2VerticalChatbubbleRightFill",IconReplyMissionThin:null,IconReplyMissionRegular:null,IconReplyMissionFill:null,IconReplyReThin:"IconCornerDownLeftLine",IconReplyReRegular:"IconCornerDownLeftLine",IconReplyReFill:"IconCornerDownLeftFill",IconReportThin:"IconFlagLine",IconReportRegular:"IconFlagLine",IconReportFill:"IconFlagFill",IconReservationThin:"IconCheckCalendarLine",IconReservationRegular:"IconCheckCalendarLine",IconReservationFill:"IconCheckCalendarFill",IconRestaurantThin:"IconForkSpoonLine",IconRestaurantRegular:"IconForkSpoonLine",IconRestaurantFill:"IconForkSpoonFill",IconRetryThin:"IconArrowClockwiseCircularLine",IconRetryRegular:"IconArrowClockwiseCircularLine",IconRetryFill:"IconArrowClockwiseCircularFill",IconReviewStarThin:"IconStarLine",IconReviewStarRegular:"IconStarLine",IconReviewStarFill:"IconStarFill",IconScannerThin:"IconHorizelineViewfinderLine",IconScannerRegular:"IconHorizelineViewfinderLine",IconScannerFill:"IconHorizelineViewfinderFill",IconSearchThin:"IconMagnifyingglassLine",IconSearchRegular:"IconMagnifyingglassLine",IconSearchFill:"IconMagnifyingglassFill",IconSearchDocThin:"IconDocumentMagnifyingglassLine",IconSearchDocRegular:"IconDocumentMagnifyingglassLine",IconSearchDocFill:"IconDocumentMagnifyingglassFill",IconSellThin:"IconPlusSquareLine",IconSellRegular:"IconPlusSquareLine",IconSellFill:"IconPlusSquareFill",IconSettingThin:"IconGearLine",IconSettingRegular:"IconGearLine",IconSettingFill:"IconGearFill",IconSignoutThin:"IconBracketLeftArrowRightLine",IconSignoutRegular:"IconBracketLeftArrowRightLine",IconSignoutFill:"IconBracketLeftArrowRightFill",IconSortThin:"IconArrowUpArrowDownLine",IconSortRegular:"IconArrowUpArrowDownLine",IconSortFill:"IconArrowUpArrowDownFill",IconStoryThin:"IconTriangleRightChatbubbleLeftLine",IconStoryRegular:"IconTriangleRightChatbubbleLeftLine",IconStoryFill:"IconTriangleRightChatbubbleLeftFill",IconStoryArticleThin:"IconDocumentPenLine",IconStoryArticleRegular:"IconDocumentPenLine",IconStoryArticleFill:"IconDocumentPenFill",IconSubtractCircleThin:"IconMinusCircleLine",IconSubtractCircleRegular:"IconMinusCircleLine",IconSubtractCircleFill:"IconMinusCircleFill",IconSubtractionThin:"IconMinusLine",IconSubtractionRegular:"IconMinusLine",IconSubtractionFill:"IconMinusFill",IconSuggestThin:null,IconSuggestRegular:null,IconSuggestFill:null,IconSunThin:"IconSunLine",IconSunRegular:"IconSunLine",IconSunFill:"IconSunFill",IconTalkingdownThin:"IconQuotationmark2RightLine",IconTalkingdownRegular:"IconQuotationmark2RightLine",IconTalkingdownFill:"IconQuotationmark2RightFill",IconTalkingupThin:"IconQuotationmark2LeftLine",IconTalkingupRegular:"IconQuotationmark2LeftLine",IconTalkingupFill:"IconQuotationmark2LeftFill",IconTextThin:"IconTUppercaseSerifLine",IconTextRegular:"IconTUppercaseSerifLine",IconTextFill:"IconTUppercaseSerifFill",IconThumbDownThin:"IconThumbDownLine",IconThumbDownRegular:"IconThumbDownLine",IconThumbDownFill:"IconThumbDownFill",IconThumbUpThin:"IconThumbUpLine",IconThumbUpRegular:"IconThumbUpLine",IconThumbUpFill:"IconThumbUpFill",IconToolboxThin:"IconToolboxLine",IconToolboxRegular:"IconToolboxLine",IconToolboxFill:"IconToolboxFill",IconTranslateThin:"IconTranslationLine",IconTranslateRegular:"IconTranslationLine",IconTranslateFill:"IconTranslationFill",IconTrashThin:"IconTrashcanLine",IconTrashRegular:"IconTrashcanLine",IconTrashFill:"IconTrashcanFill",IconUndoThin:"IconArrowUturnLeftLine",IconUndoRegular:"IconArrowUturnLeftLine",IconUndoFill:"IconArrowUturnLeftFill",IconUserGroupThin:"IconPerson2Line",IconUserGroupRegular:"IconPerson2Line",IconUserGroupFill:"IconPerson2Fill",IconVideoThin:"IconCamcorderLine",IconVideoRegular:"IconCamcorderLine",IconVideoFill:"IconCamcorderFill",IconViewCountThin:"IconEyeLine",IconViewCountRegular:"IconEyeLine",IconViewCountFill:"IconEyeFill",IconViewCountOffThin:"IconEyeSlashLine",IconViewCountOffRegular:"IconEyeSlashLine",IconViewCountOffFill:"IconEyeSlashFill",IconVolumeOffThin:"IconSpeakerSlashLine",IconVolumeOffRegular:"IconSpeakerSlashLine",IconVolumeOffFill:"IconSpeakerSlashFill",IconVolumeOnThin:"IconSpeakerWave2Line",IconVolumeOnRegular:"IconSpeakerWave2Line",IconVolumeOnFill:"IconSpeakerWave2Fill",IconVoteThin:"IconCheckBallotboxLine",IconVoteRegular:"IconCheckBallotboxLine",IconVoteFill:"IconCheckBallotboxFill",IconVoucherThin:"IconGiftLine",IconVoucherRegular:"IconGiftLine",IconVoucherFill:"IconGiftFill",IconWalkThin:"IconFigureWalkLine",IconWalkRegular:"IconFigureWalkLine",IconWalkFill:"IconFigureWalkFill",IconWarningThin:"IconExclamationmarkCircleLine",IconWarningRegular:"IconExclamationmarkCircleLine",IconWarningFill:"IconExclamationmarkCircleFill",IconWriteThin:"IconPenHorizlineLine",IconWriteRegular:"IconPenHorizlineLine",IconWriteFill:"IconPenHorizlineFill",IconWriteFrequentUseThin:"IconDocumentPlusLine",IconWriteFrequentUseRegular:"IconDocumentPlusLine",IconWriteFrequentUseFill:"IconDocumentPlusFill",IconWriteStoryThin:null,IconWriteStoryRegular:null,IconWriteStoryFill:null};var D={source:[{startsWith:"@seed-design/icon",replaceWith:"@daangn/react-icon"},{startsWith:"@seed-design/react-icon",replaceWith:"@daangn/react-icon"}],identifier:b},A=(o,i,{match:c=D})=>{let e=H(f);e.debug(`${o.path}: \uD655\uC778 \uC2DC\uC791`);let r=i.jscodeshift,n=r(o.source),a=()=>n.find(r.Program).get("body",0).node,C=a(),L=n.find(r.ImportDeclaration,{source:{value:h=>typeof h!="string"?!1:c.source.some(({startsWith:p})=>h.startsWith(p))}});if(L.length===0)return e.debug(`${o.path}: \uC774 \uD30C\uC77C\uC5D0\uB294 import\uBB38 \uC5C6\uC74C`),o.source;e.debug(`${o.path}: import\uBB38 ${L.length}\uAC1C \uBC1C\uACAC`),k({importDeclarations:L,match:c,logger:e,filePath:o.path}),e.debug(`${o.path}: import\uBB38 \uBCC0\uD658 \uC644\uB8CC`),e.debug(`${o.path}: identifier \uBCC0\uD658 \uC2DC\uC791`);let s=n.find(r.Identifier,{name:h=>Object.keys(c.identifier).includes(h)});e.debug(`${o.path}: identifier ${s.length}\uAC1C \uBC1C\uACAC`),S({identifiers:s,identifierMatch:c.identifier,logger:e,filePath:o.path}),e.debug(`${o.path}: identifier \uBCC0\uD658 \uC644\uB8CC`);let R=a();return C!==R&&(R.comments=C.comments),e.debug(`${o.path}: \uD655\uC778 \uC644\uB8CC`),n.toSource()},G=A;export{G as default};