diff --git a/Community/Tdarr_Plugin_ER01_Transcode audio and video with HW (PC and Mac).js b/Community/Tdarr_Plugin_ER01_Transcode audio and video with HW (PC and Mac).js index 267e22c..87de14f 100644 --- a/Community/Tdarr_Plugin_ER01_Transcode audio and video with HW (PC and Mac).js +++ b/Community/Tdarr_Plugin_ER01_Transcode audio and video with HW (PC and Mac).js @@ -4,7 +4,6 @@ /* eslint no-bitwise: 0 */ /* eslint no-mixed-operators: 0 */ -const os = require('os'); const details = () => { return { id: 'Tdarr_Plugin_ER01_Transcode audio and video with HW (PC and Mac)', @@ -73,7 +72,7 @@ const details = () => { // eslint-disable-next-line no-unused-vars const plugin = (file, librarySettings, inputs, otherArguments) => { // eslint-disable-next-line global-require - const lib = require('../methods/lib')(); + const lib = require('../methods/lib')(); const os = require('os'); // eslint-disable-next-line no-unused-vars,no-param-reassign inputs = lib.loadDefaultValues(inputs, details); const response = { diff --git a/Community/Tdarr_Plugin_NIfPZuCLU_2_Pass_Loudnorm_Audio_Normalisation.js b/Community/Tdarr_Plugin_NIfPZuCLU_2_Pass_Loudnorm_Audio_Normalisation.js index 141e07e..88e3a24 100644 --- a/Community/Tdarr_Plugin_NIfPZuCLU_2_Pass_Loudnorm_Audio_Normalisation.js +++ b/Community/Tdarr_Plugin_NIfPZuCLU_2_Pass_Loudnorm_Audio_Normalisation.js @@ -14,8 +14,6 @@ var secondPass = false; var logOutFile = ''; -var fs = require('fs'); - const details = () => { return { id: "Tdarr_Plugin_NIfPZuCLU_2_Pass_Loudnorm_Audio_Normalisation", @@ -76,7 +74,7 @@ const details = () => { // eslint-disable-next-line no-unused-vars const plugin = (file, librarySettings, inputs, otherArguments) => { // eslint-disable-next-line global-require - const lib = require('../methods/lib')(); + const lib = require('../methods/lib')(); const fs = require('fs'); // eslint-disable-next-line no-unused-vars,no-param-reassign inputs = lib.loadDefaultValues(inputs, details); @@ -188,7 +186,7 @@ module.exports.onTranscodeSuccess = function onTranscodeSuccess( librarySettings, inputs ) { - + const fs = require('fs'); var response = { file, removeFromDB: false, diff --git a/Community/Tdarr_Plugin_e5c3_CnT_Add_Subtitles.js b/Community/Tdarr_Plugin_e5c3_CnT_Add_Subtitles.js index 018da4b..dcf6385 100644 --- a/Community/Tdarr_Plugin_e5c3_CnT_Add_Subtitles.js +++ b/Community/Tdarr_Plugin_e5c3_CnT_Add_Subtitles.js @@ -1,7 +1,4 @@ /* eslint-disable */ -const fs = require("fs"); -const execSync = require("child_process").execSync; - const details = () => { return { @@ -38,8 +35,8 @@ const details = () => { // eslint-disable-next-line no-unused-vars const plugin = (file, librarySettings, inputs, otherArguments) => { - // eslint-disable-next-line global-require - const lib = require('../methods/lib')(); + // eslint-disable-next-line global-require + const lib = require('../methods/lib')(); const fs = require("fs"); const execSync = require("child_process").execSync; // eslint-disable-next-line no-unused-vars,no-param-reassign inputs = lib.loadDefaultValues(inputs, details); //default response diff --git a/Community/Tdarr_Plugin_e5c3_CnT_Keep_Preferred_Audio.js b/Community/Tdarr_Plugin_e5c3_CnT_Keep_Preferred_Audio.js index ad4f384..f581a57 100644 --- a/Community/Tdarr_Plugin_e5c3_CnT_Keep_Preferred_Audio.js +++ b/Community/Tdarr_Plugin_e5c3_CnT_Keep_Preferred_Audio.js @@ -1,7 +1,4 @@ /* eslint-disable */ -const exec = require("child_process").exec; -const fs = require("fs"); - const details = () => { return { @@ -48,8 +45,8 @@ const details = () => { // eslint-disable-next-line no-unused-vars const plugin = (file, librarySettings, inputs, otherArguments) => { - // eslint-disable-next-line global-require - const lib = require('../methods/lib')(); + // eslint-disable-next-line global-require + const lib = require('../methods/lib')(); const exec = require("child_process").exec; const fs = require("fs"); // eslint-disable-next-line no-unused-vars,no-param-reassign inputs = lib.loadDefaultValues(inputs, details); if (inputs.languages == "" || typeof inputs.special == "undefined") { diff --git a/Community/Tdarr_Plugin_e5c3_CnT_Remove_Letterbox.js b/Community/Tdarr_Plugin_e5c3_CnT_Remove_Letterbox.js index 7f0e15d..66b841e 100644 --- a/Community/Tdarr_Plugin_e5c3_CnT_Remove_Letterbox.js +++ b/Community/Tdarr_Plugin_e5c3_CnT_Remove_Letterbox.js @@ -1,7 +1,4 @@ /* eslint-disable */ -const fs = require("fs"); -const execSync = require("child_process").execSync; - const details = () => { return { @@ -39,7 +36,7 @@ const details = () => { // eslint-disable-next-line no-unused-vars const plugin = (file, librarySettings, inputs, otherArguments) => { // eslint-disable-next-line global-require - const lib = require('../methods/lib')(); + const lib = require('../methods/lib')(); const fs = require("fs"); // eslint-disable-next-line no-unused-vars,no-param-reassign inputs = lib.loadDefaultValues(inputs, details); if (inputs.bitrate == "" || inputs.bitrate == "undefined") { @@ -150,6 +147,8 @@ function highres(file) { } function generate_crop_values(file, otherArguments) { + const fs = require("fs"); + const execSync = require("child_process").execSync; var source = file.meta.SourceFile; //source file var dir = file.meta.Directory; //source directory var sourcename = file.meta.FileName.substring( @@ -283,6 +282,7 @@ function crop_decider(file, crop_height) { } function size_check(file, min_bitrate) { + const fs = require("fs"); var duration = file.meta.Duration; //duration of video in seconds var source = file.meta.SourceFile; //source file var stats = fs.statSync(source); diff --git a/Community/Tdarr_Plugin_rr01_drpeppershaker_extract_subs_to_SRT.js b/Community/Tdarr_Plugin_rr01_drpeppershaker_extract_subs_to_SRT.js index 305e15f..2ad4355 100644 --- a/Community/Tdarr_Plugin_rr01_drpeppershaker_extract_subs_to_SRT.js +++ b/Community/Tdarr_Plugin_rr01_drpeppershaker_extract_subs_to_SRT.js @@ -1,5 +1,3 @@ -const fs = require('fs'); - const details = () => ({ id: 'Tdarr_Plugin_rr01_drpeppershaker_extract_subs_to_SRT', Stage: 'Pre-processing', @@ -39,7 +37,7 @@ const details = () => ({ // eslint-disable-next-line no-unused-vars const plugin = (file, librarySettings, inputs, otherArguments) => { // eslint-disable-next-line global-require - const lib = require('../methods/lib')(); + const lib = require('../methods/lib')(); const fs = require('fs'); // eslint-disable-next-line no-unused-vars,no-param-reassign inputs = lib.loadDefaultValues(inputs, details); // Must return this object at some point in the function else plugin will fail. diff --git a/tests/checkPlugins.js b/tests/checkPlugins.js index 2070150..725531a 100644 --- a/tests/checkPlugins.js +++ b/tests/checkPlugins.js @@ -69,6 +69,23 @@ module.exports.plugin = plugin;`; process.exit(1); } + // check deps are within functions + const keyWord = 'require('; + const requires = read.split(keyWord); + + if (requires.length >= 2) { + const allBefore = []; + for (let j = 0; j < requires.length - 1; j += 1) { + allBefore.push(requires[j]); + const countOpen = allBefore.join(keyWord).split('{').length - 1; + const countClose = allBefore.join(keyWord).split('}').length - 1; + if (countOpen === countClose) { + console.log(`Plugin has requires outside of function '${folder}/${files[i]}'`); + process.exit(1); + } + } + } + let pluginDetails; try { // eslint-disable-next-line import/no-dynamic-require,global-require