-
-
Notifications
You must be signed in to change notification settings - Fork 180
refactor chooser to be more exacting, simplified, and maintainable #570
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
Conversation
… for later comparison tracking on choice pathway selection
|
Note: Checks will fail as the new chooser doesn't include the older workflows tied to |
|
@possumbilities this may also interest you:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
really great work, thank you!
|
@TimidRobot Oh! That's handy! |
|
It seems that this also resolved #590 (it was in the wrong repo, and applied to the Beta Chooser). |
Description
The overall goal here is to make the Chooser smaller, clearer, and more easily maintained, while allowing fresh room to implement changes as needed.
npm)README.mdwas updated to match new structure, and functionality.build-componentin package.json #480Metrics
old dependecies :
2748dependencies (179 vulnerabilities (10 low, 110 moderate, 41 high, 18 critical))32,515711839,633260,885refactor dependencies:
1(Vocabulary)6213698111801453531,894lines from core JS250,412lines from JS core + deps32,515| refactor JS: ~621| ~98.1% reduction in JavaScript39,633| refactor core: ~1801| ~95.45% reduction in core codebase260,885| refactor (core + deps): ~4535| ~98.26% reduction in core codebase + depsNote: most of the above metrics were gathered originally via the following commands in the correct directories:
Technical details
<template>elements<template>elements<template>.cssmarkup is bound to thechooser-pagecontext and intended to be utilzied as an@layer@importwithin downstream implementation alongside and dependent uponvocabularystatewhen changes happen within certain elements. When updates occur therawStatePathsare compared to the currentstateto verify if atoolhas been matched, if so the relevanttoolis recommended, if not the tool remains set tounknownfieldsetsfor those unfamiliar with the tools, which need help choosing, are now required prior to a tool recommendation; these include the checkbox fields asserting users are aware of what they are doing prior to utilizing the tool.<details>and<summary, rather than more bespoke UI/UX. This comes with a lot of given affordances that don't need to be implicitly set.helpsection has been moved to a more semantic location, that is also more visually helpful to a user during "unknown" and "default" states.helpsection has been modified to utilize<details>and<summary>elements, rather than non semantic, non accessible "links" which open popup modals.fieldshave better defaults, marking formats carry defaults over to give clearer indication of their purpose and rendering.markingsectionvocabulary-theme, which removes the need to update theglobal headerorglobal footercomponents anymore, it will instead inherit from the theme itself as changes are dynamically made within WordPressmirrors.creativecommons.orgaddress (in the old chooser some formats pull from the chooser's codebase instead)licensehas been converted more generally totoolwherever feasible, same with codebase.scss/sass, move to native non-compiled CSS and utilize more current supported featuresScreenshots
🖼 default state
🖼 license rec state - don't need help
🖼 CC0 rec state - don't need help
🖼 license rec state - need help
🖼 need help section - open
Checklist
Update index.md).mainormaster).visible errors.
Developer Certificate of Origin
For the purposes of this DCO, "license" is equivalent to "license or public domain dedication," and "open source license" is equivalent to "open content license or public domain dedication."
Developer Certificate of Origin