From c876fd76f8daf7c3bd5932cdb488f17980197698 Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Wed, 24 Aug 2016 13:19:42 -0700 Subject: [PATCH] Add deprecated shims for invalid args to node path functions Signed-off-by: Nathan Sobo --- src/electron-shims.js | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/src/electron-shims.js b/src/electron-shims.js index ef625e6de..4906f19a5 100644 --- a/src/electron-shims.js +++ b/src/electron-shims.js @@ -1,5 +1,39 @@ +const path = require('path') const electron = require('electron') +const dirname = path.dirname +path.dirname = function (path) { + if (typeof path !== 'string') { + path = '' + path + const Grim = require('grim') + Grim.deprecate('Argument to `path.dirname` must be a string') + } + + return dirname(path) +} + +const extname = path.extname +path.extname = function (path) { + if (typeof path !== 'string') { + path = '' + path + const Grim = require('grim') + Grim.deprecate('Argument to `path.extname` must be a string') + } + + return extname(path) +} + +const basename = path.basename +path.basename = function (path, ext) { + if (typeof path !== 'string' || (ext !== undefined && typeof ext !== 'string')) { + path = '' + path + const Grim = require('grim') + Grim.deprecate('Arguments to `path.basename` must be strings') + } + + return basename(path, ext) +} + electron.ipcRenderer.sendChannel = function () { const Grim = require('grim') Grim.deprecate('Use `ipcRenderer.send` instead of `ipcRenderer.sendChannel`')