From de7218cda5d587b81cc633903171f79992f42c5e Mon Sep 17 00:00:00 2001 From: HaveAGitGat <43864057+HaveAGitGat@users.noreply.github.com> Date: Fri, 31 Dec 2021 16:08:36 +0000 Subject: [PATCH] Update methods (#233) * Remove importFresh from methods * lint * Remove importFresh * Remove node_modules * Add import-fresh to community plugins download * Add import-fresh to actions and filters * Add intermediate fresh library loader --- Community/Tdarr_Plugin_Greg_MP3_FFMPEG_CPU.js | 8 +- ...O0dCTlb_Set_File_Permissions_For_UnRaid.js | 110 ++++++++---------- methods/actions.js | 13 +-- methods/filters.js | 22 ++-- methods/lib.js | 3 + methods/library.js | 15 +-- .../node_modules}/callsites/index.d.ts | 0 .../node_modules}/callsites/index.js | 0 .../node_modules}/callsites/license | 0 .../node_modules}/callsites/package.json | 2 +- .../node_modules}/callsites/readme.md | 0 .../node_modules}/import-fresh/index.d.ts | 0 .../node_modules}/import-fresh/index.js | 0 .../node_modules}/import-fresh/license | 0 .../node_modules}/import-fresh/package.json | 2 +- .../node_modules}/import-fresh/readme.md | 0 .../node_modules}/parent-module/index.js | 0 .../node_modules}/parent-module/license | 0 .../node_modules}/parent-module/package.json | 2 +- .../node_modules}/parent-module/readme.md | 0 .../node_modules}/resolve-from/index.js | 0 .../node_modules}/resolve-from/license | 0 .../node_modules}/resolve-from/package.json | 2 +- .../node_modules}/resolve-from/readme.md | 0 methods/package-lock.json | 35 ++++++ methods/package.json | 12 ++ 26 files changed, 119 insertions(+), 107 deletions(-) create mode 100644 methods/lib.js rename {node_modules => methods/node_modules}/callsites/index.d.ts (100%) rename {node_modules => methods/node_modules}/callsites/index.js (100%) rename {node_modules => methods/node_modules}/callsites/license (100%) rename {node_modules => methods/node_modules}/callsites/package.json (93%) rename {node_modules => methods/node_modules}/callsites/readme.md (100%) rename {node_modules => methods/node_modules}/import-fresh/index.d.ts (100%) rename {node_modules => methods/node_modules}/import-fresh/index.js (100%) rename {node_modules => methods/node_modules}/import-fresh/license (100%) rename {node_modules => methods/node_modules}/import-fresh/package.json (96%) rename {node_modules => methods/node_modules}/import-fresh/readme.md (100%) rename {node_modules => methods/node_modules}/parent-module/index.js (100%) rename {node_modules => methods/node_modules}/parent-module/license (100%) rename {node_modules => methods/node_modules}/parent-module/package.json (93%) rename {node_modules => methods/node_modules}/parent-module/readme.md (100%) rename {node_modules => methods/node_modules}/resolve-from/index.js (100%) rename {node_modules => methods/node_modules}/resolve-from/license (100%) rename {node_modules => methods/node_modules}/resolve-from/package.json (93%) rename {node_modules => methods/node_modules}/resolve-from/readme.md (100%) create mode 100644 methods/package-lock.json create mode 100644 methods/package.json diff --git a/Community/Tdarr_Plugin_Greg_MP3_FFMPEG_CPU.js b/Community/Tdarr_Plugin_Greg_MP3_FFMPEG_CPU.js index bf1cf85..7a293e7 100644 --- a/Community/Tdarr_Plugin_Greg_MP3_FFMPEG_CPU.js +++ b/Community/Tdarr_Plugin_Greg_MP3_FFMPEG_CPU.js @@ -1,6 +1,5 @@ -// eslint-disable-next-line import/no-extraneous-dependencies -const importFresh = require('import-fresh'); const loadDefaultValues = require('../methods/loadDefaultValues'); +const lib = require('../methods/library.js'); module.exports.dependencies = ['import-fresh']; const details = () => ({ @@ -34,7 +33,6 @@ module.exports.details = details; const plugin = (file, librarySettings, inputs, otherArguments) => { // eslint-disable-next-line no-unused-vars,no-param-reassign inputs = loadDefaultValues(inputs, details); - const library = importFresh('../methods/library.js'); const response = { // 320K selected over 384k intentionally // https://en.m.wikipedia.org/wiki/MPEG-1#Part_3:_Audio @@ -48,8 +46,8 @@ const plugin = (file, librarySettings, inputs, otherArguments) => { const { codecsToInclude } = inputs; - const filterByCodecInclude = library.filters.filterByCodec(file, 'include', codecsToInclude); - const filterByCodecExclude = library.filters.filterByCodec(file, 'exclude', 'mp3'); + const filterByCodecInclude = lib.filters.filterByCodec(file, 'include', codecsToInclude); + const filterByCodecExclude = lib.filters.filterByCodec(file, 'exclude', 'mp3'); response.infoLog += `${filterByCodecInclude.note} ${filterByCodecExclude.note}`; diff --git a/Community/Tdarr_Plugin_O8O0dCTlb_Set_File_Permissions_For_UnRaid.js b/Community/Tdarr_Plugin_O8O0dCTlb_Set_File_Permissions_For_UnRaid.js index ac21d73..a69cb2a 100644 --- a/Community/Tdarr_Plugin_O8O0dCTlb_Set_File_Permissions_For_UnRaid.js +++ b/Community/Tdarr_Plugin_O8O0dCTlb_Set_File_Permissions_For_UnRaid.js @@ -1,63 +1,53 @@ -/* eslint-disable */ -var fs = require('fs'); -var path = require('path'); -const loadDefaultValues = require('../methods/loadDefaultValues'); -if (fs.existsSync(path.join(process.cwd(), '/npm'))) { - var rootModules = path.join(process.cwd(), '/npm/node_modules/') -} else { - var rootModules = '' -} - -const importFresh = require(rootModules + 'import-fresh'); -const library = importFresh('../methods/library.js') - -const details = () => { - return { - id: "Tdarr_Plugin_O8O0dCTlb_Set_File_Permissions_For_UnRaid", - Stage: 'Pre-processing', - Name: "Set file permissions for UnRaid", - Type: "Video", - Operation: "Transcode", - Description: "Sets file permissions using chown nobody:users to prevent lock from root. Use at end of stack. ", - Version: "", - Tags: "post-processing", - Inputs:[], - } -} - -// eslint-disable-next-line no-unused-vars -const plugin = (file, librarySettings, inputs, otherArguments) => { - // eslint-disable-next-line no-unused-vars,no-param-reassign - inputs = loadDefaultValues(inputs, details); - - //Must return this object at some point - var response = { - processFile: false, - preset: '', - container: '.mkv', - handBrakeMode: false, - FFmpegMode: true, - reQueueAfter: true, - infoLog: '', - - } - - response.infoLog += "" - - if ((true) || file.forceProcessing === true) { - - require("child_process").execSync(`chown nobody:users "${file._id}"`) - response.preset = '' - response.container = '.mkv' - response.handBrakeMode = false - response.FFmpegMode = true - response.reQueueAfter = true; - response.processFile = false - response.infoLog += "File permissions set \n" - return response - } -} - +/* eslint-disable */ +const loadDefaultValues = require('../methods/loadDefaultValues'); + +const details = () => { + return { + id: "Tdarr_Plugin_O8O0dCTlb_Set_File_Permissions_For_UnRaid", + Stage: 'Pre-processing', + Name: "Set file permissions for UnRaid", + Type: "Video", + Operation: "Transcode", + Description: "Sets file permissions using chown nobody:users to prevent lock from root. Use at end of stack. ", + Version: "", + Tags: "post-processing", + Inputs:[], + } +} + +// eslint-disable-next-line no-unused-vars +const plugin = (file, librarySettings, inputs, otherArguments) => { + // eslint-disable-next-line no-unused-vars,no-param-reassign + inputs = loadDefaultValues(inputs, details); + + //Must return this object at some point + var response = { + processFile: false, + preset: '', + container: '.mkv', + handBrakeMode: false, + FFmpegMode: true, + reQueueAfter: true, + infoLog: '', + + } + + response.infoLog += "" + + if ((true) || file.forceProcessing === true) { + + require("child_process").execSync(`chown nobody:users "${file._id}"`) + response.preset = '' + response.container = '.mkv' + response.handBrakeMode = false + response.FFmpegMode = true + response.reQueueAfter = true; + response.processFile = false + response.infoLog += "File permissions set \n" + return response + } +} + module.exports.details = details; module.exports.plugin = plugin; \ No newline at end of file diff --git a/methods/actions.js b/methods/actions.js index 1fc930a..30ca937 100644 --- a/methods/actions.js +++ b/methods/actions.js @@ -1,15 +1,4 @@ -const fs = require('fs'); -const path = require('path'); - -let rootModules; -if (fs.existsSync(path.join(process.cwd(), '/npm'))) { - rootModules = path.join(process.cwd(), '/npm/node_modules/'); -} else { - rootModules = ''; -} - -// eslint-disable-next-line import/no-dynamic-require -const importFresh = require(`${rootModules}import-fresh`); +const importFresh = require('./node_modules/import-fresh'); module.exports.remuxContainer = importFresh( './library/actions/remuxContainer.js', diff --git a/methods/filters.js b/methods/filters.js index a3effa6..c1a861c 100644 --- a/methods/filters.js +++ b/methods/filters.js @@ -1,22 +1,14 @@ -/* eslint-disable */ -var fs = require("fs"); -var path = require("path"); -if (fs.existsSync(path.join(process.cwd(), "/npm"))) { - var rootModules = path.join(process.cwd(), "/npm/node_modules/"); -} else { - var rootModules = ""; -} -const importFresh = require(rootModules + "import-fresh"); +const importFresh = require('./node_modules/import-fresh'); -module.exports.filterByAge = importFresh("./library/filters/filterByAge.js"); +module.exports.filterByAge = importFresh('./library/filters/filterByAge.js'); module.exports.filterByCodec = importFresh( - "./library/filters/filterByCodec.js" + './library/filters/filterByCodec.js', ); module.exports.filterByMedium = importFresh( - "./library/filters/filterByMedium.js" + './library/filters/filterByMedium.js', ); module.exports.filterByResolution = importFresh( - "./library/filters/filterByResolution.js" + './library/filters/filterByResolution.js', ); -module.exports.filterBySize = importFresh("./library/filters/filterBySize.js"); -module.exports.filterByBitrate = importFresh("./library/filters/filterByBitrate.js"); +module.exports.filterBySize = importFresh('./library/filters/filterBySize.js'); +module.exports.filterByBitrate = importFresh('./library/filters/filterByBitrate.js'); diff --git a/methods/lib.js b/methods/lib.js new file mode 100644 index 0000000..8296b7c --- /dev/null +++ b/methods/lib.js @@ -0,0 +1,3 @@ +const importFresh = require('./node_modules/import-fresh'); +// load library modules fresh so no Tdarr Server restart required between plugin updates +module.exports = () => importFresh('./library.js'); diff --git a/methods/library.js b/methods/library.js index 0d29986..fa0f368 100644 --- a/methods/library.js +++ b/methods/library.js @@ -1,12 +1,5 @@ -/* eslint-disable */ -var fs = require("fs"); -var path = require("path"); -if (fs.existsSync(path.join(process.cwd(), "/npm"))) { - var rootModules = path.join(process.cwd(), "/npm/node_modules/"); -} else { - var rootModules = ""; -} -const importFresh = require(rootModules + "import-fresh"); +const importFresh = require('./node_modules/import-fresh'); -module.exports.filters = importFresh("./filters.js"); -module.exports.actions = importFresh("./actions.js"); +module.exports.filters = importFresh('./filters.js'); +module.exports.actions = importFresh('./actions.js'); +module.exports.loadDefaultValues = importFresh('./loadDefaultValues.js'); diff --git a/node_modules/callsites/index.d.ts b/methods/node_modules/callsites/index.d.ts similarity index 100% rename from node_modules/callsites/index.d.ts rename to methods/node_modules/callsites/index.d.ts diff --git a/node_modules/callsites/index.js b/methods/node_modules/callsites/index.js similarity index 100% rename from node_modules/callsites/index.js rename to methods/node_modules/callsites/index.js diff --git a/node_modules/callsites/license b/methods/node_modules/callsites/license similarity index 100% rename from node_modules/callsites/license rename to methods/node_modules/callsites/license diff --git a/node_modules/callsites/package.json b/methods/node_modules/callsites/package.json similarity index 93% rename from node_modules/callsites/package.json rename to methods/node_modules/callsites/package.json index 0f6defb..0a84554 100644 --- a/node_modules/callsites/package.json +++ b/methods/node_modules/callsites/package.json @@ -21,7 +21,7 @@ "_resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "_shasum": "b3630abd8943432f54b3f0519238e33cd7df2f73", "_spec": "callsites@^3.0.0", - "_where": "C:\\Users\\H\\Documents\\GitHub\\tdarr_express_node\\assets\\app\\plugins\\node_modules\\parent-module", + "_where": "C:\\Users\\H\\Documents\\GitHub\\Tdarr_Plugins\\methods\\node_modules\\parent-module", "author": { "name": "Sindre Sorhus", "email": "sindresorhus@gmail.com", diff --git a/node_modules/callsites/readme.md b/methods/node_modules/callsites/readme.md similarity index 100% rename from node_modules/callsites/readme.md rename to methods/node_modules/callsites/readme.md diff --git a/node_modules/import-fresh/index.d.ts b/methods/node_modules/import-fresh/index.d.ts similarity index 100% rename from node_modules/import-fresh/index.d.ts rename to methods/node_modules/import-fresh/index.d.ts diff --git a/node_modules/import-fresh/index.js b/methods/node_modules/import-fresh/index.js similarity index 100% rename from node_modules/import-fresh/index.js rename to methods/node_modules/import-fresh/index.js diff --git a/node_modules/import-fresh/license b/methods/node_modules/import-fresh/license similarity index 100% rename from node_modules/import-fresh/license rename to methods/node_modules/import-fresh/license diff --git a/node_modules/import-fresh/package.json b/methods/node_modules/import-fresh/package.json similarity index 96% rename from node_modules/import-fresh/package.json rename to methods/node_modules/import-fresh/package.json index 481d601..c3b900f 100644 --- a/node_modules/import-fresh/package.json +++ b/methods/node_modules/import-fresh/package.json @@ -22,7 +22,7 @@ "_resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "_shasum": "37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b", "_spec": "import-fresh", - "_where": "C:\\Users\\H\\Documents\\GitHub\\tdarr_express_node", + "_where": "C:\\Users\\H\\Documents\\GitHub\\Tdarr_Plugins\\methods", "author": { "name": "Sindre Sorhus", "email": "sindresorhus@gmail.com", diff --git a/node_modules/import-fresh/readme.md b/methods/node_modules/import-fresh/readme.md similarity index 100% rename from node_modules/import-fresh/readme.md rename to methods/node_modules/import-fresh/readme.md diff --git a/node_modules/parent-module/index.js b/methods/node_modules/parent-module/index.js similarity index 100% rename from node_modules/parent-module/index.js rename to methods/node_modules/parent-module/index.js diff --git a/node_modules/parent-module/license b/methods/node_modules/parent-module/license similarity index 100% rename from node_modules/parent-module/license rename to methods/node_modules/parent-module/license diff --git a/node_modules/parent-module/package.json b/methods/node_modules/parent-module/package.json similarity index 93% rename from node_modules/parent-module/package.json rename to methods/node_modules/parent-module/package.json index 9b1cb96..12baad5 100644 --- a/node_modules/parent-module/package.json +++ b/methods/node_modules/parent-module/package.json @@ -21,7 +21,7 @@ "_resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "_shasum": "691d2709e78c79fae3a156622452d00762caaaa2", "_spec": "parent-module@^1.0.0", - "_where": "C:\\Users\\H\\Documents\\GitHub\\tdarr_express_node\\assets\\app\\plugins\\node_modules\\import-fresh", + "_where": "C:\\Users\\H\\Documents\\GitHub\\Tdarr_Plugins\\methods\\node_modules\\import-fresh", "author": { "name": "Sindre Sorhus", "email": "sindresorhus@gmail.com", diff --git a/node_modules/parent-module/readme.md b/methods/node_modules/parent-module/readme.md similarity index 100% rename from node_modules/parent-module/readme.md rename to methods/node_modules/parent-module/readme.md diff --git a/node_modules/resolve-from/index.js b/methods/node_modules/resolve-from/index.js similarity index 100% rename from node_modules/resolve-from/index.js rename to methods/node_modules/resolve-from/index.js diff --git a/node_modules/resolve-from/license b/methods/node_modules/resolve-from/license similarity index 100% rename from node_modules/resolve-from/license rename to methods/node_modules/resolve-from/license diff --git a/node_modules/resolve-from/package.json b/methods/node_modules/resolve-from/package.json similarity index 93% rename from node_modules/resolve-from/package.json rename to methods/node_modules/resolve-from/package.json index 7749891..d201351 100644 --- a/node_modules/resolve-from/package.json +++ b/methods/node_modules/resolve-from/package.json @@ -21,7 +21,7 @@ "_resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "_shasum": "4abcd852ad32dd7baabfe9b40e00a36db5f392e6", "_spec": "resolve-from@^4.0.0", - "_where": "C:\\Users\\H\\Documents\\GitHub\\tdarr_express_node\\assets\\app\\plugins\\node_modules\\import-fresh", + "_where": "C:\\Users\\H\\Documents\\GitHub\\Tdarr_Plugins\\methods\\node_modules\\import-fresh", "author": { "name": "Sindre Sorhus", "email": "sindresorhus@gmail.com", diff --git a/node_modules/resolve-from/readme.md b/methods/node_modules/resolve-from/readme.md similarity index 100% rename from node_modules/resolve-from/readme.md rename to methods/node_modules/resolve-from/readme.md diff --git a/methods/package-lock.json b/methods/package-lock.json new file mode 100644 index 0000000..5cb175d --- /dev/null +++ b/methods/package-lock.json @@ -0,0 +1,35 @@ +{ + "name": "methods", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "requires": { + "callsites": "^3.0.0" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + } + } +} diff --git a/methods/package.json b/methods/package.json new file mode 100644 index 0000000..10c9c4b --- /dev/null +++ b/methods/package.json @@ -0,0 +1,12 @@ +{ + "name": "methods", + "version": "1.0.0", + "description": "", + "main": "library.js", + "scripts": {}, + "author": "", + "license": "ISC", + "dependencies": { + "import-fresh": "^3.3.0" + } +}