Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
d47e455
build: set up TypeScript for the UI and convert its api and hooks
blaipr Sep 11, 2026
5dd5d39
build: convert the UI components to TypeScript
blaipr Sep 11, 2026
eb0a906
fix: let a weekly schedule's weekday be unticked
blaipr Sep 11, 2026
a8fb501
fix: apply the chosen predicate when listing what cannot be disassoci…
blaipr Sep 11, 2026
0717b3f
build: type the workflow, schedule and code editor components
blaipr Sep 11, 2026
ca6fcf5
fix: compare against both values rather than the first of an or
blaipr Sep 11, 2026
48dd155
build: finish typing the UI components
blaipr Sep 11, 2026
cf6608a
build: convert the management, dashboard and approval screens
blaipr Sep 11, 2026
7d58fb2
fix: spell the topology tooltip's cypress hooks data-cy
blaipr Sep 11, 2026
ca1fa7f
build: convert the remaining UI screens to TypeScript
blaipr Sep 11, 2026
12f2b2c
build: convert the UI tests to TypeScript
blaipr Sep 11, 2026
b745e1a
build: check the UI's types in CI and document the conventions
blaipr Sep 11, 2026
eae7740
test: wait for the settings redirect rather than assume it has landed
blaipr Sep 11, 2026
5576f75
refactor: give the UI's api models and row props their real types
blaipr Sep 11, 2026
9778227
refactor: say what the UI's component state and handlers hold
blaipr Sep 11, 2026
1830412
refactor: name the UI's searchable keys, breadcrumb trail and current…
blaipr Sep 11, 2026
1916712
build: lint the UI's tests alongside its source
blaipr Sep 11, 2026
b1fe520
fix: reset a workflow node's fields in one update, not ten
blaipr Sep 11, 2026
6af4a70
refactor: type the UI's row indexes, query params and job shapes
blaipr Sep 11, 2026
18a4bd2
refactor: type the UI's launch configs, query configs and dashboard l…
blaipr Sep 11, 2026
15eba23
refactor: name the rest of the UI's api models
blaipr Sep 11, 2026
e85b3b6
refactor: type the job and workflow template forms
blaipr Sep 11, 2026
8f00cb3
fix: give the subscription usage tooltip the translator it is passed
blaipr Sep 11, 2026
9fe8016
fix: keep a workflow node's resource when its launch config arrives
blaipr Sep 11, 2026
c4f2e02
refactor: give the UI's handler props their real signatures
blaipr Sep 11, 2026
a7c9214
refactor: type the job output's event tree
blaipr Sep 11, 2026
0dd04fd
refactor: type the topology view's mesh graph
blaipr Sep 11, 2026
47f1217
refactor: type the job output screen
blaipr Sep 11, 2026
a791f32
refactor: type the workflow visualizer's save path
blaipr Sep 11, 2026
34982e7
refactor: close the workflow chart's index signatures
blaipr Sep 11, 2026
bdca3f9
refactor: type what every api endpoint answers with
blaipr Sep 11, 2026
8e45b18
refactor: type the selectors and the forms they feed
blaipr Sep 11, 2026
44ba67f
refactor: type the workflow graphs and the remaining forms
blaipr Sep 11, 2026
4bef636
refactor: type the api the shared components are handed
blaipr Sep 11, 2026
5bc2582
refactor: type the launch prompt and what it launches
blaipr Sep 11, 2026
e4f69db
refactor: type the node modal and every settings screen
blaipr Sep 11, 2026
eac9236
refactor: type the lookups and the fields around them
blaipr Sep 11, 2026
bc3e940
refactor: type the credential screens
blaipr Sep 11, 2026
f1c02c9
refactor: type the instance and instance group screens
blaipr Sep 11, 2026
b634ba2
refactor: type what the lists select and delete
blaipr Sep 11, 2026
1fd74dc
refactor: type the surveys, the toolbars and the job templates
blaipr Sep 11, 2026
daecd36
refactor: type the config context and the wizards
blaipr Sep 11, 2026
4c82026
refactor: type the job detail and the test harness
blaipr Sep 11, 2026
91c4937
refactor: type the themes, the schedule rules and the metrics delete
blaipr Sep 12, 2026
5e6113c
refactor: type the schedules, the playbooks and the notifications
blaipr Sep 12, 2026
4a0aaef
refactor: type the activity stream, the charts and the job template d…
blaipr Sep 12, 2026
f657009
refactor: type the shared buttons, selects and editors
blaipr Sep 12, 2026
a5318a1
test: name the harness types the suites share
blaipr Sep 12, 2026
b1fdd49
test: type the api client tests and the DOM queries
blaipr Sep 12, 2026
1dec01d
refactor: type the lookup handlers and the websocket hook harnesses
blaipr Sep 12, 2026
0659fa2
refactor: type the team and application screens
blaipr Sep 12, 2026
8277045
refactor: type the execution environment and credential type screens
blaipr Sep 12, 2026
b243e9f
refactor: type the dashboard, management job and instance screens
blaipr Sep 12, 2026
362752b
test: mock the api through vi.mocked rather than assignment
blaipr Sep 12, 2026
3be2fde
test: name the elements and helpers the suites pass around
blaipr Sep 12, 2026
8b53588
refactor: type the shared components' remaining props
blaipr Sep 12, 2026
ae821bd
refactor: type the toggles, chips and error sorting
blaipr Sep 12, 2026
11aa8e4
refactor: type the inventory screens' rows and helpers
blaipr Sep 12, 2026
cd32edd
refactor: type the inventory form and the source websocket hook
blaipr Sep 12, 2026
a77a871
refactor: type the constructed inventory and group forms
blaipr Sep 12, 2026
bb286fe
refactor: type the node type lists and the hook test harnesses
blaipr Sep 12, 2026
82adbf0
test: name the props the form stubs capture
blaipr Sep 12, 2026
8e6bd70
refactor: type the workflow job template form and its screens
blaipr Sep 12, 2026
4145632
refactor: type the settings screens' test helpers
blaipr Sep 12, 2026
45f5608
refactor: type the user, project and host forms
blaipr Sep 12, 2026
d3594c7
refactor: type the approval, notification and workflow output screens
blaipr Sep 12, 2026
bfb00c7
refactor: type the inventory rows, hosts and sources
blaipr Sep 12, 2026
f0be58e
refactor: drop three details the api stopped sending
blaipr Sep 12, 2026
9c384dc
test: type the patternfly stubs the node modal builds
blaipr Sep 12, 2026
b8df0a5
refactor: type the last of the screen sources
blaipr Sep 12, 2026
2638946
refactor: type the last of the list rows and detail screens
blaipr Sep 12, 2026
762966b
refactor: type the workflow output graph and the ad hoc module options
blaipr Sep 12, 2026
1d41e29
refactor: type the last of the untyped sources
blaipr Sep 12, 2026
5118cbf
test: type the shared test helpers and form stubs
blaipr Sep 12, 2026
5221f5f
refactor: finish the typescript migration, no any left
blaipr Sep 12, 2026
9b02f74
fix: restore reordering a selected list, and drop the dead source types
blaipr Sep 12, 2026
15d32b2
fix: keep the message ids this conversion had changed, and re-extract
blaipr Sep 12, 2026
9874882
build: fail the lint job when the message catalogues drift
blaipr Sep 12, 2026
5d3246b
build: say what went wrong when the string check cannot extract
blaipr Sep 12, 2026
96781f0
build: declare the node versions the UI can actually be built on
blaipr Sep 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,8 @@ jobs:
advisory: true
- name: ui-lint
command: make ui-lint
- name: ui-type-check
command: make ui-type-check
- name: ui-test-screens
command: make ui-test-screens
- name: ui-test-general
Expand Down
20 changes: 20 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -303,6 +303,21 @@ api-lint:
$(MAKE) lint
yamllint -s .

## Regenerate the UI's API types from the serializers themselves.
## Run this after any change to a serializer, and commit the result.
##
## openapi-typescript is deliberately not a devDependency: it is a generator
## rather than part of the build, its committed output is what everything else
## consumes, and its peer range wants TypeScript 5 where this project is on 6.
## npx fetches it for the length of this command and leaves nothing behind.
ui-api-types: awx-link
@if [ "$(VENV_BASE)" ]; then \
. $(VENV_BASE)/awx/bin/activate; \
fi; \
$(MANAGEMENT_COMMAND) spectacular --format openapi-json --file awx/ui/.schema.json
$(NPM_BIN) --prefix awx/ui run generate-api-types
rm -f awx/ui/.schema.json

## Run egg_info_dev to generate awx.egg-info for development.
awx-link:
[ -d "/awx_devel/awx.egg-info" ] || $(PYTHON) /awx_devel/tools/scripts/egg_info_dev
Expand Down Expand Up @@ -424,6 +439,11 @@ ui-lint:
$(NPM_BIN) --prefix awx/ui install
$(NPM_BIN) run --prefix awx/ui lint
$(NPM_BIN) run --prefix awx/ui prettier-check
$(NPM_BIN) run --prefix awx/ui check-strings

ui-type-check:
$(NPM_BIN) --prefix awx/ui install
$(NPM_BIN) run --prefix awx/ui type-check

ui-test:
$(NPM_BIN) --prefix awx/ui install
Expand Down
1 change: 1 addition & 0 deletions awx/ui/.nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
22
Loading