Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate JavaScript to TypeScript checklist #25842

Closed
jychen630 opened this issue May 30, 2023 · 4 comments
Closed

Migrate JavaScript to TypeScript checklist #25842

jychen630 opened this issue May 30, 2023 · 4 comments
Labels
area: typescript migration Issues for migrating Zulip to TypeScript

Comments

@jychen630
Copy link
Collaborator

jychen630 commented May 30, 2023

This is a checklist tracking the typescript migration progress as of an ongoing GSoC 2023 project.

The .js files pending migration mainly lie in /web/src and /web/shared/src directories. The node test files (*.test.js) are not prioritized yet so not listed below.

Wether some files involve cycle is not clear to me until further research. Their corresponding "Involved Cycles" field is currently left blank. Perhaps we can use this cycle analysis tool.

I will keep updateing the list. If a file is ended with .js while there is an associated active related PRs , it probably means the migration is WIP.

Progress Stats

Ongoing/Done: 99 files, 33% of total
Not started: 198 files, 67% of total
Total: 297 files

Files under /web/src/

File Involved Cycles Related PRs
analytics/activity.ts #24484
analytics/support.ts #24484
billing/billing.js #24559
billing/event_status.js #24559
billing/helpers.js #24559
billing/upgrade.js #24559
bundles/app.ts #24486
bundles/common.ts #24486
bundles/portico.ts #24486
portico/communities.ts #24486
portico/confirm-preregistrationuser.ts #24486
portico/desktop-login.js #25864
portico/desktop-redirect.ts #24486
portico/dev-login.ts #24486
portico/email_log.js
portico/google-analytics.js #24931, #25864
portico/header.ts #24932, #24486 (Reverted in #24678)
portico/help.js #24931, #25864
portico/integrations_dev_panel.js
portico/integrations.js #25864
portico/landing-page.js #24945, #25864
portico/signup.js #25999
portico/tabbed-instructions.ts #24655
portico/team.ts #24682
portico/tippyjs.ts #24486
stats/stats.js #26140
about_zulip.js
activity.js
add_subscribers_pill.js
admin.js
alert_popup.ts #17801
alert_words.ts #26335
alert_words_ui.js
all_messages_data.js
assets.d.ts
attachments_ui.js
avatar.js
blueslip_stacktrace.ts
blueslip.ts #18840
bot_data.js #26315
browser_history.js #26497
buddy_data.js
buddy_list.js
channel.js
click_handlers.js
color_data.ts #18932
colorspace.ts #18566
common.ts #18840
components.ts #19010
compose_actions.js
compose_banner.ts
composebox_typeahead.js
compose_closed_ui.js
compose_fade_helper.js
compose_fade.js
compose_fade_users.js
compose.js
compose_pm_pill.js
compose_recipient.js
compose_state.js
compose_textarea.ts #25760
compose_ui.js
compose_validate.js
condense.js
confirm_dialog.ts #25658
copy_and_paste.js
csrf.ts #19010
css_variables.js #24630 (Reverted in #24985, need re-do)
dark_theme.ts #24870
debug.ts #24820
deprecated_feature_notice.ts #25660
desktop_integration.js
dialog_widget.ts #24909
drafts.js
dropdown_list_widget.js
dropdown_widget.js
echo.js
emoji_picker.js
emojisets.ts #25699
emoji.ts #24875
favicon.ts #24860
feedback_widget.ts #25435
fetch_status.js #25599
filter.js
flatpickr.js
fold_dict.ts
gear_menu.ts #24869
giphy.js
global.d.ts #19010
group_permission_settings.ts
hashchange.js
hash_util.js #26497
hbs.d.ts
hotkey.js
hotspots.js
huddle_data.ts #26344
i18n.ts #18840
info_overlay.js
input_pill.ts #25039
invite.js
keydown_util.ts #18595
lazy_set.ts #20691
lightbox.js
linkifiers.ts #24547
list_cursor.js
list_util.ts #18932
list_widget.ts #25326
loading.ts #19010
local_message.js
localstorage.ts #24868
markdown_config.js
markdown.js
message_edit_history.js
message_edit.js
message_events.js
message_feed_loading.ts
message_fetch.js
message_flags.js
message_helper.js
message_list_data.js
message_list.js
message_lists.js
message_list_view.js
message_live_update.js
message_parser.ts #19178
message_scroll.js
messages_overlay_ui.ts #26223
message_store.js #26333
message_user_ids.ts #18566
message_util.js
message_view_header.js
message_viewport.js
muted_topics_ui.js
muted_users.ts #23927
muted_users_ui.js
narrow_banner.js
narrow_error.ts #24759
narrow.js
narrow_state.js
navbar_alerts.js
navigate.js
notifications.js
overlays.ts #24909
padded_widget.ts #19010
page_params.ts #18840
password_quality.ts #19178
peer_data.ts #26216
people.tst #25539
pill_typeahead.js
pm_conversations.js
pm_list_data.js
pm_list_dom.js #24917
pm_list.js
poll_widget.js
popover_menus_data.js
popover_menus.js
popovers.js
presence.js
reactions.js
read_receipts.js
realm_icon.js
realm_logo.js
realm_playground.ts #26237
realm_user_settings_defaults.ts
recent_senders.js
recent_topics_data.js
recent_topics_ui.js
recent_topics_util.js
reload.js
reload_state.ts #18566
rendered_markdown.js
resize.js
rows.js
rtl.ts
scheduled_messages.js
scheduled_messages_overlay_ui.js
schema.js
scroll_bar.ts #24818
scroll_util.ts #25304
search.js
search_pill.js
search_pill_widget.js
search_suggestion.js
search_util.ts #18566
sent_messages.js
sentry.ts
server_events_dispatch.js
server_events.js
settings_account.js
settings_bots.js
settings_config.ts #19419
settings_data.ts #19419
settings_display.js
settings_emoji.js
settings_exports.js
settings_invites.js
settings.js
settings_linkifiers.js
settings_muted_users.js
settings_notifications.js
settings_org.js
settings_panel_menu.js
settings_playgrounds.js
settings_profile_fields.js
settings_realm_domains.js
settings_realm_user_settings_defaults.js
settings_sections.js
settings_streams.js
settings_toggle.js
settings_ui.js #24813
settings_user_groups_legacy.js
settings_users.js
settings_user_topics.js
setup.js #25536
spectators.js #26497
spoilers.ts #18932
starred_messages.js
starred_messages_ui.js
stream_bar.js
stream_color.js
stream_create.js
stream_create_subscribers_data.js #26417
stream_create_subscribers.js
stream_data.js
stream_edit.js
stream_edit_subscribers.js
stream_events.js
stream_list.js
stream_list_sort.js
stream_muting.js
stream_pill.js
stream_popover.js
stream_settings_containers.ts #25948
stream_settings_data.js
stream_settings_ui.js
stream_topic_history.js
stream_topic_history_util.js
stream_ui_updates.js
submessage.js
subscriber_api.js
sub_store.ts #19504
templates.js
timerender.ts #19504
tippyjs.js
todo_widget.js
topic_generator.js
topic_list_data.js
topic_list.js
topic_zoom.js
top_left_corner.js
transmit.js
tutorial.js #24764
typeahead_helper.js
types.ts #19463
typing_data.ts #24483
typing_events.js
typing.js
ui_init.js
ui_report.ts #18840
ui_util.ts #19010
unread.js
unread_ops.js
unread_ui.js
upload.js
upload_widget.ts #19178
url-template.d.ts
user_events.js
user_group_create.js
user_group_create_members_data.js #26417
user_group_create_members.js
user_group_edit.js
user_group_edit_members.js
user_group_pill.js #24793, #26215
user_groups_settings_ui.js
user_groups.ts #19463
user_group_ui_updates.js
user_pill.js
user_profile.js
user_search.js
user_settings.ts
user_status.js
user_status_ui.js
user_topics.js
util.ts #23032
vdom.ts #24917, #26272
watchdog.ts #19178
webpack_public_path.js
widgetize.js
zcommand.js
zform.js
zulip_test.js

Files under /web/shared/src/ (DONE)

File Involved Cycles Related PRs
fenced_code.ts #25029
internal_url.js #25755
poll_data.js #25874
resolved_topic.ts #25364
typeahead.ts
typing_status.js #25756
@ashutosh887
Copy link

@jychen630
I would like to get this done further

@ashutosh887
Copy link

Please onboard me for this

/assign

@laurynmm laurynmm added the area: typescript migration Issues for migrating Zulip to TypeScript label Sep 18, 2023
@timabbott
Copy link
Sponsor Member

I'm going to close this, since almost everything linked to from this issue is integrated, and I think the area label and https://chat.zulip.org/#narrow/stream/6-frontend/topic/typescript.20migration/near/1637696 are a good place to keep track of next steps for the migration. Thanks @jychen630!

@natamartins
Copy link

natamartins commented Oct 26, 2023

Hii @jychen630 , So, these tasks are just for typing ts in the files?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: typescript migration Issues for migrating Zulip to TypeScript
Projects
None yet
Development

No branches or pull requests

5 participants