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

fix(web): make TypeDoc works again #1832

Merged
merged 6 commits into from
Dec 16, 2024

Conversation

dgdavid
Copy link
Contributor

@dgdavid dgdavid commented Dec 12, 2024

Problem

After updating to TypeDoc 0.27, the npm run typedoc task stop working because problems when loading typedoc-plugin-external-module-map. See https://github.com/agama-project/agama/actions/runs/12302232612/job/34334622800

Solution

Open an issue in upstream and stop using the conflicting plugin, fix all TypeDoc issues (see next section), and revert commit d946480 added at #1225

Additional work

Even without the mentioned plugin, TypeDoc tasks still failing because other crash already mentioned in the commit message of 791857a

TypeError: Cannot read properties of undefined (reading 'kindOf')
at /home/runner/work/agama/agama/web/node_modules/typedoc/dist/lib/models/types.js:687:63

Migrating some components to TypeScript solved the issue. This was done at commit 34bc000, which also includes adjustments needed after these migrations.

Future work

Now all TypeDoc tasks are working again. They helped somehow to identify and fix some problems. Even to delete a no longer needed component. It still, however, work pending to do

Fix TypeDoc warnings

There are plenty of TypeDoc warning, about unknown block tags, signatures with unused params, reference props not included in documentation, etc.

Most likely, the entire TypeDoc documentation strategy needs to be reconsidered.

[warning] Found 0 errors and 100 warnings

Finish the TypeScript migration

Would be nice to finish the migration to TypeScript too, but in a separated PR in which some components should be removed instead.

Click to show/hide a list of JSX components
src/components/core/Description.jsx
src/components/core/Description.test.jsx
src/components/core/EmailInput.jsx
src/components/core/EmailInput.test.jsx
src/components/core/Em.jsx
src/components/core/Em.test.jsx
src/components/core/Fieldset.jsx
src/components/core/Fieldset.test.jsx
src/components/core/FormLabel.jsx
src/components/core/FormReadOnlyField.jsx
src/components/core/FormReadOnlyField.test.jsx
src/components/core/FormValidationError.jsx
src/components/core/FormValidationError.test.jsx
src/components/core/IssuesHint.jsx
src/components/core/IssuesHint.test.jsx
src/components/core/ListSearch.jsx
src/components/core/ListSearch.test.jsx
src/components/core/NumericTextInput.jsx
src/components/core/NumericTextInput.test.jsx
src/components/core/ProgressText.jsx
src/components/core/ProgressText.test.jsx
src/components/core/RowActions.jsx
src/components/core/SectionSkeleton.jsx
src/components/core/Tip.jsx
src/components/core/Tip.test.jsx
src/components/l10n/L10nPage.jsx
src/components/l10n/L10nPage.test.jsx
src/components/layout/Center.jsx
src/components/overview/L10nSection.jsx
src/components/overview/L10nSection.test.jsx
src/components/product/ProductSelectionProgress.jsx
src/components/storage/DevicesFormSelect.jsx
src/components/storage/DevicesFormSelect.test.jsx
src/components/storage/iscsi/AuthFields.jsx
src/components/storage/iscsi/LoginForm.jsx
src/components/storage/iscsi/NodesPresenter.jsx
src/components/users/RootPasswordPopup.jsx
src/components/users/RootPasswordPopup.test.jsx
src/components/users/RootSSHKeyPopup.jsx
src/components/users/RootSSHKeyPopup.test.jsx
src/context/app.jsx
src/context/auth.jsx
src/context/installer.jsx
src/context/installer.test.jsx
src/context/root.jsx
src/Protected.jsx

Stop using any type.

This PR has included a couple of any types in components closely related to the storage part, which is being rewritten. These any should be replaced by the right types once the storage work is finished.

Because it fails after updating to TypeDoc 0.27.4 and it was introduced
for a purpose that for now it is not currently being used. Thus, let's
postpone its usage until really needed if it is updated to work with the
lastest TypeDoc when such a moment arrive.

See,

  * Agama commit in which it was added  5e09032
  * Issue at upstream asgerjensen/typedoc-plugin-external-module-map#27
There were few core/Section leftover in storage namespace. Since
core/Section is going to be removed, Page.Section has been used
instead.
It was no longer needed and making TypeDoc to exit with an unexpected
error.
@dgdavid dgdavid requested a review from imobachgs December 12, 2024 20:26
Those that were causing TypeDoc crashes, as described in commit
791857a.
Note that some eslint-disable @typescript-eslint/no-explicit-any has
been added. This should be temporary until the new storage part is
finished and these any can be replaced with more sensible types.
@dgdavid dgdavid marked this pull request as ready for review December 13, 2024 14:31
@dgdavid dgdavid requested a review from imobachgs December 13, 2024 14:36
@dgdavid dgdavid changed the title fix(web): make TypeDoc works againg fix(web): make TypeDoc works again Dec 13, 2024
@dgdavid dgdavid merged commit 4aee8fb into master Dec 16, 2024
5 checks passed
@dgdavid dgdavid deleted the drop-typedoc-external-module-map-plugin branch December 16, 2024 11:54
@imobachgs imobachgs mentioned this pull request Jan 10, 2025
imobachgs added a commit that referenced this pull request Jan 13, 2025
Update to release version 11.

* #1495
* #1564
* #1617
* #1618
* #1625
* #1626
* #1627
* #1628
* #1630
* #1631
* #1632
* #1633
* #1634
* #1635
* #1636
* #1639
* #1640
* #1641
* #1642
* #1643
* #1644
* #1645
* #1646
* #1647
* #1648
* #1649
* #1650
* #1651
* #1652
* #1654
* #1655
* #1656
* #1657
* #1660
* #1663
* #1666
* #1667
* #1668
* #1670
* #1671
* #1673
* #1674
* #1675
* #1676
* #1677
* #1681
* #1682
* #1683
* #1684
* #1687
* #1688
* #1689
* #1690
* #1691
* #1692
* #1693
* #1694
* #1695
* #1696
* #1698
* #1699
* #1702
* #1703
* #1704
* #1705
* #1707
* #1708
* #1709
* #1710
* #1711
* #1712
* #1713
* #1714
* #1715
* #1716
* #1717
* #1718
* #1720
* #1721
* #1722
* #1723
* #1727
* #1728
* #1729
* #1731
* #1732
* #1733
* #1734
* #1735
* #1736
* #1737
* #1740
* #1741
* #1743
* #1744
* #1745
* #1746
* #1751
* #1753
* #1754
* #1755
* #1757
* #1762
* #1763
* #1764
* #1765
* #1766
* #1767
* #1769
* #1771
* #1772
* #1773
* #1774
* #1777
* #1778
* #1785
* #1786
* #1787
* #1788
* #1789
* #1790
* #1791
* #1792
* #1793
* #1794
* #1795
* #1796
* #1797
* #1798
* #1799
* #1800
* #1802
* #1803
* #1804
* #1805
* #1807
* #1808
* #1809
* #1810
* #1811
* #1812
* #1814
* #1815
* #1821
* #1822
* #1823
* #1824
* #1825
* #1826
* #1827
* #1828
* #1830
* #1831
* #1832
* #1833
* #1834
* #1835
* #1836
* #1837
* #1838
* #1839
* #1840
* #1841
* #1842
* #1843
* #1844
* #1845
* #1847
* #1848
* #1849
* #1850
* #1851
* #1854
* #1855
* #1856
* #1857
* #1860
* #1861
* #1863
* #1864
* #1865
* #1866
* #1867
* #1871
* #1872
* #1873
* #1875
* #1876
* #1877
* #1878
* #1880
* #1881
* #1882
* #1883
* #1884
* #1885
* #1886
* #1888
* #1889
* #1890
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants