Variables no longer resolved in custom scriptHooks?

Hi All,

I was on version 2.15.0 and using…

custom:
  scriptHooks: 
    aws:deploy:deploy:updateStack: # todo: Automatically resolve the API Id's below..
      # 1) Create the necessary folder structure for the documentation
      - if not exist docs\html\${self:service} mkdir docs\html\${self:service}

…which worked fine but after updating to the latest (2.29.0) I get the following error on deploy…

 Error ---------------------------------------------------

  Error: Command failed: if not exist docs\html\${self:service} mkdir docs\html\${self:service}
      at checkExecSyncError (child_process.js:611:11)
      at Object.execSync (child_process.js:647:15)
      at childProcess.execSync (pkg/prelude/bootstrap.js:1507:30)
      at Scriptable.runCommand (J:\Dev\my-service\node_modules\serverless-scriptable-plugin\index.js:70:12)
      at J:\Dev\my-service\node_modules\serverless-scriptable-plugin\index.js:60:21
      at tryCatcher (J:\Dev\my-service\node_modules\bluebird\js\release\util.js:16:23)
      at Object.gotValue (J:\Dev\my-service\node_modules\bluebird\js\release\reduce.js:166:18)
      at Object.gotAccum (J:\Dev\my-service\node_modules\bluebird\js\release\reduce.js:155:25)
      at Object.tryCatcher (J:\Dev\my-service\node_modules\bluebird\js\release\util.js:16:23)
      at Promise._settlePromiseFromHandler (J:\Dev\my-service\node_modules\bluebird\js\release\promise.js:547:31)
      at Promise._settlePromise (J:\Dev\my-service\node_modules\bluebird\js\release\promise.js:604:18)
      at Promise._settlePromiseCtx (J:\Dev\my-service\node_modules\bluebird\js\release\promise.js:641:10)
      at _drainQueueStep (J:\Dev\my-service\node_modules\bluebird\js\release\async.js:97:12)
      at _drainQueue (J:\Dev\my-service\node_modules\bluebird\js\release\async.js:86:9)
      at Async._drainQueues (J:\Dev\my-service\node_modules\bluebird\js\release\async.js:102:5)
      at Immediate.Async.drainQueues [as _onImmediate] (J:\Dev\my-service\node_modules\bluebird\js\release\async.js:15:14)
      at processImmediate (internal/timers.js:456:21)
      at process.topLevelDomainCallback (domain.js:137:15)

     For debugging logs, run again after setting the "SLS_DEBUG=*" environment variable.

  Get Support --------------------------------------------
     Docs:          docs.serverless.com
     Bugs:          github.com/serverless/serverless/issues
     Issues:        forum.serverless.com

  Your Environment Information ---------------------------
     Operating System:          win32
     Node Version:              14.4.0
     Framework Version:         2.29.0 (standalone)
     Plugin Version:            4.5.0
     SDK Version:               n/a
     Components Version:        3.7.2

In a nutshell… ${self:service} is no longer resolving before the command there is run.

…it was really useful to resolve variable names for plugins such as serverless-scriptable-plugin, would anyone have any idea why this variable is no longer resolving prior to the plugin running?

Thanks in advance.