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

[Experimental] Improve support for swizzling theme components #351

Merged
merged 7 commits into from Dec 1, 2022

Conversation

sserrata
Copy link
Member

@sserrata sserrata commented Nov 28, 2022

Description

Addresses issue #246.

Previously, we were using relative paths to import/cross-reference theme components. Swizzling these components caused those import paths to break. The primary change is to instead import from @theme and @theme/ApiDemoPanel respectively.

Note: As of now, all OpenAPI docs theme components should be considered unsafe for ejecting and wrapping as they are subject to changes. This could involve renaming and/or eliminating some components. Swizzle at your own risk!

Note: Once the internal components are finalized we will use getSwizzleConfig.tsx to properly define/tag which components are safe and unsafe to wrap/eject.

Motivation and Context

Allow support for swizzling and overriding theme components.

How Has This Been Tested?

Tested using the demo site. Swizzled the Request component and overrode some text for testing. Will post screenshots later.

@sserrata sserrata added bug Something isn't working DO NOT MERGE labels Nov 28, 2022
@github-actions
Copy link

github-actions bot commented Nov 28, 2022

Size Change: +112 B (0%)

Total Size: 4.17 MB

ℹ️ View Unchanged
Filename Size Change
demo/.docusaurus/globalData.json 18.6 kB 0 B
demo/build/assets/css/styles.********.css 108 kB +14 B (0%)
demo/build/assets/js/006e727e.********.js 13.9 kB +1 B (0%)
demo/build/assets/js/05f64ae1.********.js 2.81 kB 0 B
demo/build/assets/js/06b64fc1.********.js 575 B 0 B
demo/build/assets/js/06e5f0f0.********.js 27.4 kB +1 B (0%)
demo/build/assets/js/081bfb0d.********.js 10 kB +1 B (0%)
demo/build/assets/js/09e07b87.********.js 2.99 kB 0 B
demo/build/assets/js/0d832478.********.js 26.5 kB +1 B (0%)
demo/build/assets/js/12693653.********.js 25.7 kB +1 B (0%)
demo/build/assets/js/14eb3368.********.js 9.26 kB 0 B
demo/build/assets/js/1639936b.********.js 7.72 kB 0 B
demo/build/assets/js/16577668.********.js 387 B 0 B
demo/build/assets/js/177e86db.********.js 11.3 kB +1 B (0%)
demo/build/assets/js/19d75775.********.js 9.33 kB +1 B (0%)
demo/build/assets/js/1a4e3797.********.js 77.6 kB 0 B
demo/build/assets/js/1a8cc2a6.********.js 12.1 kB +1 B (0%)
demo/build/assets/js/1be78505.********.js 10.6 kB 0 B
demo/build/assets/js/1c54f54e.********.js 10.8 kB +1 B (0%)
demo/build/assets/js/1e6c5cae.********.js 34.8 kB +1 B (0%)
demo/build/assets/js/1e6ff21d.********.js 10.9 kB +1 B (0%)
demo/build/assets/js/1f818248.********.js 12.3 kB +1 B (0%)
demo/build/assets/js/2c860537.********.js 7.39 kB +1 B (0%)
demo/build/assets/js/3136173c.********.js 361 B 0 B
demo/build/assets/js/326c3861.********.js 13.5 kB 0 B
demo/build/assets/js/3720c009.********.js 1.44 kB 0 B
demo/build/assets/js/3893.********.js 1.07 kB 0 B
demo/build/assets/js/3946f914.********.js 34.6 kB +1 B (0%)
demo/build/assets/js/39d00f16.********.js 19.6 kB 0 B
demo/build/assets/js/3e0d14e9.********.js 24.3 kB +1 B (0%)
demo/build/assets/js/40a238b6.********.js 25.7 kB +1 B (0%)
demo/build/assets/js/41cd56a1.********.js 10.3 kB +1 B (0%)
demo/build/assets/js/423cd203.********.js 13.9 kB +1 B (0%)
demo/build/assets/js/4261.********.js 463 B 0 B
demo/build/assets/js/466ac800.********.js 43.8 kB +1 B (0%)
demo/build/assets/js/4670.********.js 104 B 0 B
demo/build/assets/js/46afcded.********.js 8.21 kB 0 B
demo/build/assets/js/46e5c6ac.********.js 6.86 kB 0 B
demo/build/assets/js/47abaca6.********.js 2.91 kB 0 B
demo/build/assets/js/4935.********.js 1.05 kB 0 B
demo/build/assets/js/4964e910.********.js 25.2 kB +1 B (0%)
demo/build/assets/js/4965.********.js 1.33 MB 0 B
demo/build/assets/js/49bd3d39.********.js 17.4 kB +1 B (0%)
demo/build/assets/js/4b891ed6.********.js 12 kB +1 B (0%)
demo/build/assets/js/4b901b1a.********.js 350 B 0 B
demo/build/assets/js/4c5e977b.********.js 39.5 kB +25 B (0%)
demo/build/assets/js/55960ee5.********.js 383 B 0 B
demo/build/assets/js/55a6d13f.********.js 14.4 kB +1 B (0%)
demo/build/assets/js/56717cba.********.js 2.97 kB 0 B
demo/build/assets/js/57f1a671.********.js 11.4 kB +1 B (0%)
demo/build/assets/js/58ff8b1e.********.js 20.7 kB +1 B (0%)
demo/build/assets/js/597ddc40.********.js 10.5 kB +1 B (0%)
demo/build/assets/js/5fb917be.********.js 2.64 kB +1 B (0%)
demo/build/assets/js/63fc267d.********.js 11.4 kB +1 B (0%)
demo/build/assets/js/66c76a57.********.js 35.5 kB +1 B (0%)
demo/build/assets/js/68b61ac5.********.js 44.6 kB +1 B (0%)
demo/build/assets/js/69a61f78.********.js 25.5 kB +1 B (0%)
demo/build/assets/js/6a105426.********.js 354 B 0 B
demo/build/assets/js/73b594ee.********.js 35.2 kB +1 B (0%)
demo/build/assets/js/77264a1a.********.js 34.5 kB +1 B (0%)
demo/build/assets/js/7ca3ae45.********.js 17.5 kB +1 B (0%)
demo/build/assets/js/7ed7dafe.********.js 26.9 kB +1 B (0%)
demo/build/assets/js/8003.********.js 5.45 kB 0 B
demo/build/assets/js/85d3c400.********.js 2.9 kB 0 B
demo/build/assets/js/85ec4403.********.js 4.74 kB +1 B (0%)
demo/build/assets/js/86b273b1.********.js 10.6 kB +1 B (0%)
demo/build/assets/js/86c346b0.********.js 538 B 0 B
demo/build/assets/js/86c45737.********.js 26 kB +1 B (0%)
demo/build/assets/js/8777.********.js 76.5 kB 0 B
demo/build/assets/js/881db345.********.js 394 B 0 B
demo/build/assets/js/8961c7a6.********.js 24.9 kB +1 B (0%)
demo/build/assets/js/8ab9b16e.********.js 10.5 kB +1 B (0%)
demo/build/assets/js/8d4e78cd.********.js 2.83 kB 0 B
demo/build/assets/js/8f36b2a3.********.js 172 B 0 B
demo/build/assets/js/8f441c78.********.js 13.4 kB 0 B
demo/build/assets/js/9127.********.js 104 B 0 B
demo/build/assets/js/91696e06.********.js 35 kB +1 B (0%)
demo/build/assets/js/93304a97.********.js 7.85 kB 0 B
demo/build/assets/js/935f2afb.********.js 34.8 kB 0 B
demo/build/assets/js/94589c06.********.js 20.4 kB +1 B (0%)
demo/build/assets/js/967247e2.********.js 8.71 kB 0 B
demo/build/assets/js/97810f3c.********.js 25.4 kB +1 B (0%)
demo/build/assets/js/9b5caaf3.********.js 26.3 kB +1 B (0%)
demo/build/assets/js/9c42c0f3.********.js 34.5 kB +1 B (0%)
demo/build/assets/js/a40c6d71.********.js 8.69 kB +1 B (0%)
demo/build/assets/js/a476e24e.********.js 344 B 0 B
demo/build/assets/js/a5491aaa.********.js 400 B 0 B
demo/build/assets/js/a6cd895f.********.js 21.2 kB +1 B (0%)
demo/build/assets/js/a728d93a.********.js 10.1 kB +1 B (0%)
demo/build/assets/js/aa2f1ec7.********.js 25 kB +1 B (0%)
demo/build/assets/js/ab09fd5c.********.js 20.7 kB +1 B (0%)
demo/build/assets/js/ab6072f2.********.js 25.6 kB +1 B (0%)
demo/build/assets/js/ae7f40a3.********.js 44.1 kB +1 B (0%)
demo/build/assets/js/b4ebd305.********.js 18 kB +1 B (0%)
demo/build/assets/js/b5c059ef.********.js 34.1 kB +1 B (0%)
demo/build/assets/js/bead4b8e.********.js 3.04 kB 0 B
demo/build/assets/js/bf271e74.********.js 401 B 0 B
demo/build/assets/js/c5644638.********.js 337 B 0 B
demo/build/assets/js/c65697f5.********.js 26.3 kB +1 B (0%)
demo/build/assets/js/c7a5be9f.********.js 10.7 kB +1 B (0%)
demo/build/assets/js/c7ded1cb.********.js 2.95 kB 0 B
demo/build/assets/js/cef3f2e2.********.js 5.8 kB 0 B
demo/build/assets/js/cf07762b.********.js 25.6 kB +1 B (0%)
demo/build/assets/js/common.********.js 389 kB +4 B (0%)
demo/build/assets/js/d63c7029.********.js 2.92 kB 0 B
demo/build/assets/js/dd696920.********.js 25.8 kB +1 B (0%)
demo/build/assets/js/df203c0f.********.js 1.8 kB 0 B
demo/build/assets/js/e015ccf9.********.js 26.3 kB +1 B (0%)
demo/build/assets/js/e01f8d18.********.js 8.76 kB +1 B (0%)
demo/build/assets/js/e2ce9793.********.js 402 B 0 B
demo/build/assets/js/e5e5340c.********.js 2.55 kB +1 B (0%)
demo/build/assets/js/e8b309fb.********.js 577 B 0 B
demo/build/assets/js/eae14b71.********.js 33.8 kB +1 B (0%)
demo/build/assets/js/eaf4471e.********.js 12.5 kB +1 B (0%)
demo/build/assets/js/ecc39b49.********.js 172 B 0 B
demo/build/assets/js/ee308fa3.********.js 10.2 kB +1 B (0%)
demo/build/assets/js/f212caf7.********.js 25.4 kB +1 B (0%)
demo/build/assets/js/f4486b6b.********.js 12 kB +1 B (0%)
demo/build/assets/js/f65290a6.********.js 11.1 kB +1 B (0%)
demo/build/assets/js/f8409a7e.********.js 34.3 kB 0 B
demo/build/assets/js/f84e10c2.********.js 19.1 kB +1 B (0%)
demo/build/assets/js/fe97f0d1.********.js 20 kB +1 B (0%)
demo/build/assets/js/main.********.js 406 kB 0 B
demo/build/assets/js/runtime~main.********.js 8.95 kB 0 B
demo/build/index.html 89.3 kB 0 B

compressed-size-action

@github-actions
Copy link

github-actions bot commented Nov 28, 2022

Visit the preview URL for this PR (updated for commit 9ea8403):

https://docusaurus-openapi-36b86--pr351-gyq5puhh.web.app

(expires Fri, 30 Dec 2022 19:54:49 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

@sserrata
Copy link
Member Author

sserrata commented Nov 28, 2022

Steps to swizzle Request component:

Screen.Recording.2022-11-28.at.5.16.18.PM.mov

End result after inserting 🦝 after "Request":

Screen Shot 2022-11-28 at 5 18 14 PM

@sserrata
Copy link
Member Author

Test swizzling ApiItem:

Screen.Recording.2022-11-30.at.2.52.19.PM.mov

Copy link
Collaborator

@blindaa121 blindaa121 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested with the following swizzled components and ensured that build was successful and there were no breaking changes 🚀

image

image

@sserrata sserrata added enhancement New feature or request and removed DO NOT MERGE labels Dec 1, 2022
@sserrata sserrata merged commit 6339bd5 into main Dec 1, 2022
@sserrata sserrata deleted the refactor-theme-imports branch December 1, 2022 15:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants