foundry-ironsworn
foundry-ironsworn copied to clipboard
Migrate from LESS to SCSS for preprocessing
resolves #567
WIP -- most of the migration is done, just have to hunt down the remaining broken bits and rewire them for SCSS. the bulk of the new code is additions to package-lock.json
; the vast majority of the other file changes are renames, syntax adjustments for the new preprocessor, and some reordering by the new stylelint configuration.
no joy on running SASS through PostCSS -- i couldn't get it to work with custom function plugins. i might revisit that later. for the moment, SCSS compilation uses a more standard Vite config.
TODO
- [x] run conversion script for bulk migration of SCSS files
- [x] pick over all files for stuff that didn't migrate, or didn't migrate properly.
- [x] develop a sensible stylelint config and apply it
- [x] add some basic path aliases and auto-imports so that SFCs can import mixins with minimum grief
- [x] rewrite palettize in SCSS + JS, to take advantage of chroma-js's fancy color spaces for smarter color mixing
- had to write a custom plugin for this. which isn't just scope creep -- SCSS doesn't have a true replacement for some of the more esoteric color functions i use in
pallettize
.
- had to write a custom plugin for this. which isn't just scope creep -- SCSS doesn't have a true replacement for some of the more esoteric color functions i use in
- [x] hunt down remaining migration errors (mostly box shadows and gradients)
- [x] SF legacy tracks now show their hover effect more reliably, and will have theme-appropriate colours generated for them at build time (via a mixin)
- [x] fix progress animation
- [x] fix roll dialog buttons (and other places where there's non-vue buttons in ironsworn applications)
- ~~use custom plugin instead of manual key addition to handle icon mask generation~~ deferring to a later PR
- [x] Update CHANGELOG.md
Found a few visual bugs as I was verifying this (just clicking around using the checklist on #639)
-
The pips aren't laying out properly. I couldn't get this to recognize the right width, the browser really wanted it to lay out at 80px wide and overflow underneath the next element
-
The location sheeet lost some of our hover functionality. This might be because this PR started before the name/klass hover stuff was introduced, but it's a regression. Also the colorways for hovering have changed? Not sure if that's intentional or not.
-
The site sheet has some layout jiggling when toggling edit mode, and when a theme or domain is dropped. The heights don't seem to match between the two states. https://user-images.githubusercontent.com/39902/224092114-9263918d-4f9e-4557-a06f-9cb9214b378a.mp4
-
i18n is broken for this canvas button
-
Missing bullets in the asset-compendium browser
-
…and in the asset sheet itself
-
Challenge-resolution dialog doesn't close when you click the save button. I think this is a regression, I could swear I fixed it. https://user-images.githubusercontent.com/39902/224096225-0c3a9cad-4c92-4709-8c62-eafc73d2481a.mp4