wp-optionskit
wp-optionskit copied to clipboard
Updating wp-optionskit dependencies
Thanks for making wp-optionskit! It has saved me a lot of work and makes my WordPress plugin settings page look very professional.
I'm not able to build wp-optionskit on an M1 based Mac because Python 2.7 isn't easily available for M1 Macs. Node 12 requires Python 2.7 to build, so that means I have to use Node 14 or later. wp-optionskit then currently uses node-sass 4.7.2, which in turn requires node-gyp 3.8.0, and that version of node-gyp requires Python 2.7 in order to build. node-gyp adds for Python 3 in node-gyp 7, which then requires updating node-sass from 4.7.2 to 5.0.0, which then requires updating sass-loader from 6.0.6 to 10.0.5, which then requires webpack to be updated to 4.36.0. extract-text-webpack-plugin then won't work with webpack 4, and has been deprecated and replaced with mini-css-extract-plugin, requiring changes to the wp-optionskit build scripts. And all that is just the start.
I could get around all this by getting Python 2.7 to work on my M1 Mac, or by working with wp-optionskit in a VM, but neither of those would help wp-optionskit in the long term. So I wanted to ask,
- Do you have any plans for updating the wp-optionskit dependencies to newer versions?
- If not, are you willing to accept a pull request for that?
@markmont a PR would be most welcome thanks!
Sounds good, I'll get started on that. Because of other tasks, it may take me until mid-December to get everything upgraded and tested. Since this will be to modernize wp-optionskit rather than just get it working on M1 macs, I'll target Node 18.12.1 LTS and the latest still-supported versions of each wp-optionskit dependency, swapping out deprecated/unmaintained packages with newer replacements only when necessary.