Details
-
Improvement
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
3.10.4, 3.11.1, 4.0
Description
At the moment it's pretty awkward for a contributed plugin to ake use of a third-party plugin in Moodle. They'd have to modify the global .eslintignore or .stylelintignore files as appropriate, which are tracked in git.
Those files are only generated when calling grunt ignorefiles, which is because they were historically extremely slow to generate.
From MDL-67449 we refactored the way in which Grunt loads to be much faster, and to make use of our components.json file to intelligiently look for files to build. Prior to this it used a number of globstar regular expressions to find any potential plugin of any plugintype, which was inherently very slow.
Now that MDL-67449 has landed it occurs to me that we should change the grunt process to run the ignorefiles command as required (on demand) - i.e. whenever the JS, CSS, or SCSS are built.
Making this change will mean that any contributed plugin is now able to add third-party libraries to it's own thirdpartylibs.xml file and have it respected immediately. Without this change it is not possible to easily build a third-party module without modifying the core file (which can get messy), or wrapping the entire file in eslint ignore commands.
Attachments
Issue Links
- Testing discovered
-
MDLSITE-6523 Review various CI dependencies built on (es|style)lintignore files
-
- Open
-
- will help resolve
-
MDLSITE-4762 `grunt ignorefiles` check should be more explicit about what needs to be done
-
- Closed
-