@seed-design/codemod 0.0.0-alpha-20241020044547 → 0.0.0-alpha-20241020052702
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/bin/index.mjs +3 -3
- package/package.json +2 -3
- package/src/index.ts +0 -36
- package/src/scripts/create-identifier-map.mjs +0 -41
- package/src/scripts/data.tsv +0 -198
- package/src/scripts/identifier-map.json.log +0 -578
- package/src/tests/migrate-icons.test.ts +0 -409
- package/src/transforms/migrate-icons.ts +0 -80
- package/src/utils/identifier-map.ts +0 -580
- package/src/utils/log.ts +0 -20
- package/src/utils/replace-node.ts +0 -147
package/bin/index.mjs
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
#!/usr/bin/env node
|
2
|
-
import{cac as s}from"cac";import{execaNode as a}from"execa";import{createRequire as c}from"module";var o=s(),
|
3
|
-
-t ${
|
2
|
+
import{cac as s}from"cac";import{execaNode as a}from"execa";import{createRequire as c}from"module";import{dirname as g,resolve as m}from"path";var o=s(),f=n=>m(g(import.meta.filename),`${n}.mjs`);l(o);o.help();o.parse();function l(n){let r=c(import.meta.url).resolve("jscodeshift/bin/jscodeshift");n.command("migrate-icons [...paths]","Migrate icons").option("--extensions <extensions>","Extensions").option("--ignore-config <ignoreConfig>","Ignore config").option("--ignore-pattern <ignorePattern>","Ignore pattern").action(async(i,e)=>{let{all:t}=await a({all:!0})`${r} ${i.join(" ")}
|
3
|
+
-t ${f("migrate-icons")}
|
4
4
|
--parser=tsx
|
5
5
|
--verbose=2
|
6
6
|
${e?.extensions?`--extensions=${e.extensions}`:""}
|
7
7
|
${e?.ignoreConfig?`--ignore-config=${e.ignoreConfig}`:""}
|
8
|
-
${e?.ignorePattern?`--ignore-pattern=${e.ignorePattern}`:""}`;console.log(
|
8
|
+
${e?.ignorePattern?`--ignore-pattern=${e.ignorePattern}`:""}`;console.log(t)})}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@seed-design/codemod",
|
3
|
-
"version": "0.0.0-alpha-
|
3
|
+
"version": "0.0.0-alpha-20241020052702",
|
4
4
|
"type": "module",
|
5
5
|
"repository": {
|
6
6
|
"type": "git",
|
@@ -12,8 +12,7 @@
|
|
12
12
|
"codemod": "./bin/index.mjs"
|
13
13
|
},
|
14
14
|
"files": [
|
15
|
-
"bin"
|
16
|
-
"src"
|
15
|
+
"bin"
|
17
16
|
],
|
18
17
|
"scripts": {
|
19
18
|
"build": "node ./build.mjs",
|
package/src/index.ts
DELETED
@@ -1,36 +0,0 @@
|
|
1
|
-
#!/usr/bin/env node
|
2
|
-
|
3
|
-
import { cac, type CAC } from "cac";
|
4
|
-
import { execaNode } from "execa";
|
5
|
-
import { createRequire } from "module";
|
6
|
-
|
7
|
-
const cli = cac();
|
8
|
-
const getTransformPath = (transformFileName: string) => `./${transformFileName}.mjs`;
|
9
|
-
|
10
|
-
migrateIconsCommand(cli);
|
11
|
-
cli.help();
|
12
|
-
cli.parse();
|
13
|
-
|
14
|
-
function migrateIconsCommand(cli: CAC) {
|
15
|
-
const require = createRequire(import.meta.url);
|
16
|
-
const jscodeshiftPath = require.resolve("jscodeshift/bin/jscodeshift");
|
17
|
-
|
18
|
-
cli
|
19
|
-
.command("migrate-icons [...paths]", "Migrate icons")
|
20
|
-
// https://jscodeshift.com/run/cli
|
21
|
-
.option("--extensions <extensions>", "Extensions")
|
22
|
-
.option("--ignore-config <ignoreConfig>", "Ignore config")
|
23
|
-
.option("--ignore-pattern <ignorePattern>", "Ignore pattern")
|
24
|
-
.action(async (paths, options) => {
|
25
|
-
// TODO: bun / deno?
|
26
|
-
const { all } = await execaNode({ all: true })`${jscodeshiftPath} ${paths.join(" ")}
|
27
|
-
-t ${getTransformPath("migrate-icons")}
|
28
|
-
--parser=tsx
|
29
|
-
--verbose=2
|
30
|
-
${options?.extensions ? `--extensions=${options.extensions}` : ""}
|
31
|
-
${options?.ignoreConfig ? `--ignore-config=${options.ignoreConfig}` : ""}
|
32
|
-
${options?.ignorePattern ? `--ignore-pattern=${options.ignorePattern}` : ""}`;
|
33
|
-
|
34
|
-
console.log(all);
|
35
|
-
});
|
36
|
-
}
|
@@ -1,41 +0,0 @@
|
|
1
|
-
import { parse } from "csv-parse";
|
2
|
-
import fs from "node:fs";
|
3
|
-
import path from "node:path";
|
4
|
-
import { fileURLToPath } from "url";
|
5
|
-
// import * as icons from "@seed-design/react-icon";
|
6
|
-
|
7
|
-
const filePath = path.join(path.dirname(fileURLToPath(import.meta.url)), "data.tsv");
|
8
|
-
const data = fs.readFileSync(filePath, "utf8");
|
9
|
-
// const availableIcons = Object.keys(icons);
|
10
|
-
|
11
|
-
parse(data, { delimiter: "\t" }, (_err, records) => {
|
12
|
-
const newEntries = [];
|
13
|
-
|
14
|
-
for (const [key, value] of records) {
|
15
|
-
if (value === "") continue;
|
16
|
-
|
17
|
-
const pascalKey = convertSnakeCaseToPascalCase(key);
|
18
|
-
const pascalValue = convertSnakeCaseToPascalCase(value);
|
19
|
-
|
20
|
-
// if (!availableIcons.includes(pascalValue)) {
|
21
|
-
// throw new Error(`Icon not found: ${pascalValue}`);
|
22
|
-
// }
|
23
|
-
|
24
|
-
newEntries.push([`${pascalKey}Thin`, `${pascalValue}Line`]);
|
25
|
-
newEntries.push([`${pascalKey}Regular`, `${pascalValue}Line`]);
|
26
|
-
newEntries.push([`${pascalKey}Fill`, `${pascalValue}Fill`]);
|
27
|
-
}
|
28
|
-
|
29
|
-
const identifierMap = Object.fromEntries(newEntries);
|
30
|
-
|
31
|
-
fs.writeFileSync(
|
32
|
-
path.join(path.dirname(filePath), "identifier-map.json.log"),
|
33
|
-
JSON.stringify(identifierMap, null, 2),
|
34
|
-
);
|
35
|
-
});
|
36
|
-
|
37
|
-
function convertSnakeCaseToPascalCase(str) {
|
38
|
-
const newStr = str.replaceAll(/_(.)/g, (_, char) => char.toUpperCase());
|
39
|
-
|
40
|
-
return newStr.charAt(0).toUpperCase() + newStr.slice(1);
|
41
|
-
}
|
package/src/scripts/data.tsv
DELETED
@@ -1,198 +0,0 @@
|
|
1
|
-
icon_add icon_plus
|
2
|
-
icon_add_circle icon_plus_circle
|
3
|
-
icon_aeb icon_car_front_upside_wave2_reversed_up
|
4
|
-
icon_ai icon_sparkle2
|
5
|
-
icon_android_share icon_androidshare
|
6
|
-
icon_arrow icon_arrow_up_right
|
7
|
-
icon_arrow_downward icon_arrow_down
|
8
|
-
icon_arrow_drop_down icon_triangle_down_small
|
9
|
-
icon_arrow_drop_up icon_triangle_up_small
|
10
|
-
icon_arrow_upward icon_arrow_up
|
11
|
-
icon_article icon_article
|
12
|
-
icon_backward icon_arrow_left
|
13
|
-
icon_bill icon_receipt
|
14
|
-
icon_bold
|
15
|
-
icon_bookmark icon_bookmark
|
16
|
-
icon_bookmark_list icon_horizline3_vertical_star
|
17
|
-
icon_calendar icon_calendar
|
18
|
-
icon_call icon_phone
|
19
|
-
icon_call_declined icon_phone_xmark
|
20
|
-
icon_camera icon_camera
|
21
|
-
icon_car icon_car_frontside
|
22
|
-
icon_car_around_view icon_arrow_clockwise_oval
|
23
|
-
icon_car_blind_spot icon_car_rear_upside_wave2_reversed_down_left
|
24
|
-
icon_car_cruise_control icon_speedometer
|
25
|
-
icon_car_epb icon_epb
|
26
|
-
icon_car_heated_seat icon_seat_left_heatwave2
|
27
|
-
icon_car_heated_steering_wheel icon_steeringwheel_heatwave2
|
28
|
-
icon_car_ldws icon_roadlane
|
29
|
-
icon_car_leather_seat icon_seat_left
|
30
|
-
icon_car_navigation icon_compass
|
31
|
-
icon_car_power_trunk icon_car_rear_trunk_open_leftside
|
32
|
-
icon_car_rear_camera icon_car_rear_upside_sector_down
|
33
|
-
icon_car_rear_sensor icon_car_rear_upside_wave2_reversed_down
|
34
|
-
icon_car_smart_key icon_smartkey
|
35
|
-
icon_car_ventilation_seat icon_seat_left_fan
|
36
|
-
icon_cart icon_cart
|
37
|
-
icon_certification icon_crosshair
|
38
|
-
icon_challenge icon_flag_hill
|
39
|
-
icon_chart icon_barchart_square
|
40
|
-
icon_chat_bubble_check icon_checkmark_chatbubble_left
|
41
|
-
icon_chatting icon_dot3_horizontal_chatbubble_left
|
42
|
-
icon_chatting_send icon_paperplane
|
43
|
-
icon_check icon_checkmark
|
44
|
-
icon_check_flower icon_checkmark_flower
|
45
|
-
icon_chevron_left icon_chevron_left
|
46
|
-
icon_chevron_right icon_chevron_right
|
47
|
-
icon_click icon_hand_point_up
|
48
|
-
icon_clock icon_clock
|
49
|
-
icon_close icon_xmark
|
50
|
-
icon_cobuying
|
51
|
-
icon_community icon_post
|
52
|
-
icon_condo icon_building2
|
53
|
-
icon_confirmation icon_check_shield
|
54
|
-
icon_confirmation_pay icon_won_shield
|
55
|
-
icon_confirmation_profile icon_person_shield
|
56
|
-
icon_contents icon_grid_heart
|
57
|
-
icon_convert icon_arrow_right_arrow_left
|
58
|
-
icon_copy icon_square2_stacked
|
59
|
-
icon_coupon icon_coupon
|
60
|
-
icon_coupon_download_done icon_checkmark_horizline
|
61
|
-
icon_coupon_used icon_check_coupon
|
62
|
-
icon_delete_keyboard icon_backspacekey
|
63
|
-
icon_delivery
|
64
|
-
icon_direction icon_arrow_right_angled
|
65
|
-
icon_download icon_arrow_down_horizline
|
66
|
-
icon_edit icon_eraser_horizline
|
67
|
-
icon_emoticon icon_face_smile_circle
|
68
|
-
icon_emoticon_bad icon_face_sad_circle
|
69
|
-
icon_expand icon_arrow_up_right_arrow_down_left
|
70
|
-
icon_expand_less icon_chevron_up
|
71
|
-
icon_expand_more icon_chevron_down
|
72
|
-
icon_file icon_paperclip
|
73
|
-
icon_filter02 icon_slider2_horizontal
|
74
|
-
icon_forward icon_arrow_right
|
75
|
-
icon_gender icon_malesymbol_femalesymbol
|
76
|
-
icon_global icon_globe
|
77
|
-
icon_gps icon_crosshair
|
78
|
-
icon_gps_enable icon_crosshair_questionmark
|
79
|
-
icon_gps_enable2 icon_crosshair_questionmark
|
80
|
-
icon_groupchat_king icon_crown
|
81
|
-
icon_handle icon_horizline3_vertical_tight
|
82
|
-
icon_hashtag icon_hash
|
83
|
-
icon_headphone icon_headset
|
84
|
-
icon_heart icon_heart
|
85
|
-
icon_help icon_questionmark_circle
|
86
|
-
icon_helpcenter icon_headset
|
87
|
-
icon_helper icon_headset
|
88
|
-
icon_home icon_house
|
89
|
-
icon_house icon_window4_house
|
90
|
-
icon_housekeeping_book icon_book
|
91
|
-
icon_import icon_document_arrow_left
|
92
|
-
icon_info icon_i_lowercase_serif_circle
|
93
|
-
icon_interest icon_horizline3_vertical_star
|
94
|
-
icon_interest_list icon_star
|
95
|
-
icon_invite icon_envelope
|
96
|
-
icon_invite_friend icon_person_plus
|
97
|
-
icon_ios_share icon_arrow_up_bracket_down
|
98
|
-
icon_jobs icon_person_magnifyingglass
|
99
|
-
icon_keyboard_hiding icon_keyboard_chevron_down
|
100
|
-
icon_keyword icon_tag
|
101
|
-
icon_laptop icon_laptop
|
102
|
-
icon_leaf icon_leaf
|
103
|
-
icon_list icon_dothorizline3_vertical
|
104
|
-
icon_list_card icon_horizrectangle_horizline2_vertical
|
105
|
-
icon_list_check icon_document_checkmark
|
106
|
-
icon_list_select icon_horizline3_vertical_checkmark
|
107
|
-
icon_list_thumbnail icon_squareline2_vertical
|
108
|
-
icon_location icon_locationpin
|
109
|
-
icon_lock icon_lock
|
110
|
-
icon_loudspeaker icon_megaphone
|
111
|
-
icon_map icon_map_locationpin
|
112
|
-
icon_market icon_store
|
113
|
-
icon_market_check icon_store_check
|
114
|
-
icon_market_write icon_store_pen
|
115
|
-
icon_mention icon_at
|
116
|
-
icon_menu icon_horizline3_vertical
|
117
|
-
icon_mic icon_microphone
|
118
|
-
icon_mic_off icon_microphone_slash
|
119
|
-
icon_mission icon_book_open
|
120
|
-
icon_mobile icon_mobile
|
121
|
-
icon_money_send icon_won_circle_arrow_right
|
122
|
-
icon_money_won icon_won_circle
|
123
|
-
icon_moon icon_moon
|
124
|
-
icon_more_horiz icon_dot3_horizontal
|
125
|
-
icon_more_vert icon_dot3_vertical
|
126
|
-
icon_my icon_person
|
127
|
-
icon_my_profile icon_person_circle
|
128
|
-
icon_near_me icon_locationpin
|
129
|
-
icon_newtopic icon_n_uppercase_circle
|
130
|
-
icon_note icon_document
|
131
|
-
icon_notification icon_bell
|
132
|
-
icon_notification_fall icon_arrow_down
|
133
|
-
icon_notification_off icon_bell_slash
|
134
|
-
icon_order icon_check_clipboard
|
135
|
-
icon_pause icon_vertrectangle2_horizontal
|
136
|
-
icon_payment icon_card
|
137
|
-
icon_percent icon_percent
|
138
|
-
icon_photo icon_picture
|
139
|
-
icon_photo_edit icon_wand
|
140
|
-
icon_photo_edit_crop icon_cropmark
|
141
|
-
icon_photo_edit_draw icon_scribble
|
142
|
-
icon_photo_edit_rotate icon_arrow2_clockwise_circular
|
143
|
-
icon_photo_several icon_picture2_stacked
|
144
|
-
icon_play icon_triangle_right
|
145
|
-
icon_poll icon_barchart_square
|
146
|
-
icon_price_won icon_won
|
147
|
-
icon_product icon_shoppingbag
|
148
|
-
icon_profile icon_person
|
149
|
-
icon_profile_badge icon_checkmark_badge
|
150
|
-
icon_prohibition icon_slash_circle
|
151
|
-
icon_pushpin icon_pushpin
|
152
|
-
icon_question_check icon_questionmark_sqaure
|
153
|
-
icon_redo icon_arrow_uturn_right
|
154
|
-
icon_refund icon_won_arrow_clockwise_circular
|
155
|
-
icon_remove_circle icon_xmark_circle
|
156
|
-
icon_reply icon_horizline2_vertical_chatbubble_right
|
157
|
-
icon_reply_mission
|
158
|
-
icon_reply_re icon_corner_down_left
|
159
|
-
icon_report icon_flag
|
160
|
-
icon_reservation icon_check_calendar
|
161
|
-
icon_restaurant icon_fork_spoon
|
162
|
-
icon_retry icon_arrow_clockwise_circular
|
163
|
-
icon_review_star icon_star
|
164
|
-
icon_scanner icon_horizeline_viewfinder
|
165
|
-
icon_search icon_magnifyingglass
|
166
|
-
icon_search_doc icon_document_magnifyingglass
|
167
|
-
icon_sell icon_plus_square
|
168
|
-
icon_setting icon_gear
|
169
|
-
icon_signout icon_bracket_left_arrow_right
|
170
|
-
icon_sort icon_arrow_up_arrow_down
|
171
|
-
icon_story icon_triangle_right_chatbubble_left
|
172
|
-
icon_story_article icon_document_pen
|
173
|
-
icon_subtract_circle icon_minus_circle
|
174
|
-
icon_subtraction icon_minus
|
175
|
-
icon_suggest
|
176
|
-
icon_sun icon_sun
|
177
|
-
icon_talkingdown icon_quotationmark2_right
|
178
|
-
icon_talkingup icon_quotationmark2_left
|
179
|
-
icon_text icon_t_uppercase_serif
|
180
|
-
icon_thumb_down icon_thumb_down
|
181
|
-
icon_thumb_up icon_thumb_up
|
182
|
-
icon_toolbox icon_toolbox
|
183
|
-
icon_translate icon_translation
|
184
|
-
icon_trash icon_trashcan
|
185
|
-
icon_undo icon_arrow_uturn_left
|
186
|
-
icon_user_group icon_person2
|
187
|
-
icon_video icon_camcorder
|
188
|
-
icon_view_count icon_eye
|
189
|
-
icon_view_count_off icon_eye_slash
|
190
|
-
icon_volume_off icon_speaker_slash
|
191
|
-
icon_volume_on icon_speaker_wave2
|
192
|
-
icon_vote icon_check_ballotbox
|
193
|
-
icon_voucher icon_gift
|
194
|
-
icon_walk icon_figure_walk
|
195
|
-
icon_warning icon_exclamationmark_circle
|
196
|
-
icon_write icon_pen_horizline
|
197
|
-
icon_write_frequent_use icon_document_plus
|
198
|
-
icon_write_story
|