nofusscomputing / nofusscomputing/centurion_ui
Refactor from Javascript to TypeScript
@jon-nfc is already working on this.
Since May 10, 2026.
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 0
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 20
Description
Summary
Refactor codebase to be completely in Typescript.
Description
Converting the code base to Typescript will improve quality control and assist in other areas, such as:
- Enforceable rules
- Type checking
User Story
- Force requiring documentation for all objects a developer would use
Business Value
- Can enforce coding standard.
- quality control is improved as type checking is done.
- Custom rules can be written to check different things.
Acceptance Criteria
- All Code converted from JavaScript -> Typescript
- Linting CI job
- Code docs enforced
Dependencies & Impact
No response
Technical Notes
No response
Risks & Mitigations
No response
Testing Strategy
- CI liniting job that will be a dep for the unit tests
Additional Notes
ESLint will be used
Files to convert
find src/ -type f \( -name "*.js" -o -name "*.jsx" \) | sort
Required for release 0.8.0
-
src/App.js
-
src/components/ActionDialog.jsx
-
src/components/Badge.jsx
Confirm this was created as part of this release
-
src/components/Comment.jsx
-
src/components/DisplayFields.jsx
-
src/components/DisplayTable.jsx
-
src/components/form/DualFieldSelector.jsx
-
src/components/FormField.jsx
-
src/components/IconLoader.jsx
-
[ ] src/components/InlineFields.jsxremoved as no longer used -
src/components/MarkdownEditor.jsx
-
src/components/page/detail/DetailSection.jsx
-
src/components/page/detail/ModelNote.jsx
-
src/components/page/Footer.jsx
-
src/components/page/Header.jsx
-
src/components/page/Navbar.jsx
-
src/components/page/ticket/LinkedItems.jsx
-
src/components/page/ticket/RelatedTickets.jsx
-
src/components/Section.jsx
-
src/functions/FieldData.js
-
src/functions/markdown_plugins/HTMLWhitelist.js
-
src/functions/markdown_plugins/ModelLink.js
-
src/functions/markdown_plugins/TicketLink.js
-
src/functions/RenderMarkdown.js
-
src/functions/URLSanitize.js
-
src/hooks/useIsMobile.js
-
src/hooks/UserContext.jsx
-
src/hooks/useTheme.js
-
src/index.js
-
src/layout/Detail.jsx
-
src/layout/Dialog.jsx
-
src/layout/history.jsx
-
[ ] src/layout/Main.jsxwas not used so removed -
src/layout/Settings.jsx
-
src/layout/Ticket.jsx
Required for release 1.0.0
-
src/classes/Exceptions.js
-
src/components/form/Button.jsx
-
[ ] src/components/form/Menu.jsxremoved as no longer used -
[ ] src/components/form/Select.jsxremoved as no longer used -
[ ] src/components/form/Slider.jsxremoved as no longer used -
[ ] src/components/form/Textarea.jsxremoved as no longer used -
[ ] src/components/form/Textfield.jsxremoved as no longer used -
[ ] src/components/page/Card.jsxremoved when settings lay was updated -
src/functions/FormatTime.js
-
src/hooks/apiFetch.js
-
src/hooks/getCookie.js
-
src/hooks/urlBuilder.js
-
src/layout/Error.jsx
-
[ ] src/layout/ModelForm.jsxremoved as no longer used
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.