aboutsummaryrefslogtreecommitdiffstats
path: root/build/tasks/lib/rollup-plugin-file-overrides.js
diff options
context:
space:
mode:
Diffstat (limited to 'build/tasks/lib/rollup-plugin-file-overrides.js')
-rw-r--r--build/tasks/lib/rollup-plugin-file-overrides.js24
1 files changed, 24 insertions, 0 deletions
diff --git a/build/tasks/lib/rollup-plugin-file-overrides.js b/build/tasks/lib/rollup-plugin-file-overrides.js
new file mode 100644
index 000000000..c494e4e5d
--- /dev/null
+++ b/build/tasks/lib/rollup-plugin-file-overrides.js
@@ -0,0 +1,24 @@
+"use strict";
+
+/**
+ * A Rollup plugin accepting a file overrides map and changing
+ * module sources to the overridden ones where provided. Files
+ * without overrides are loaded from disk.
+ *
+ * @param {Map<string, string>} fileOverrides
+ */
+module.exports = ( fileOverrides ) => {
+ return {
+ name: "jquery-file-overrides",
+ load( id ) {
+ if ( fileOverrides.has( id ) ) {
+
+ // Replace the module by a fake source.
+ return fileOverrides.get( id );
+ }
+
+ // Handle this module via the file system.
+ return null;
+ }
+ };
+};