Git Product home page Git Product logo

live-plugin-manager's Issues

Improper Error handling

Hello, live-plugin-manager works well. Well, except it constantly throws an error: Invalid plugin name 'undefined'.
I use node v18.3.0, and npm 8.11.0, and ES modules.

Problem inside Electron environment (res.body.pipe is not a function)

I am trying to install a package from a private registry (verdaccio) like this:

let registryHost = ...
let token = ...

let tmpDir: string;
tmpDir = await mkdirTmp();

const manager = new PluginManager({
	cwd: tmpDir,
	pluginsPath: tmpDir,
	npmRegistryUrl: registryHost,
	npmRegistryConfig: {
		auth: {
			token: token
		}
	}
});

await manager.install('mypackage');

but it throws this error:

TypeError: res.body.pipe is not a function
    at Promise (httpUtils.js:65)
    at Promise (<anonymous>)
    at Object.<anonymous> (httpUtils.js:63)
    at Generator.next (<anonymous>)
    at fulfilled (httpUtils.js:4)
    at <anonymous>

Here is the verdaccio log:

verdaccio_1        |  info <-- 172.18.0.1 requested 'GET /PACKAGE_NAME'
verdaccio_1        |  trace--- api middleware using JWT auth token
verdaccio_1        |  trace--- [middleware/allow][access] allow for ç
verdaccio_1        |  trace--- allow access for PACKAGE_NAME
verdaccio_1        |  trace--- [auth/allow_action]: user: undefined
verdaccio_1        |  trace--- [auth/allow_action]: hasPermission? true for user: undefined
verdaccio_1        |  trace--- auth/allow_action: access granted to: undefined
verdaccio_1        |  trace--- allowed access for PACKAGE_NAME
verdaccio_1        |  info --> making request: 'GET https://registry.npmjs.org/PACKAGE_NAME'
verdaccio_1        |  http --> 404, req: 'GET https://registry.npmjs.org/PACKAGE_NAME' (streaming)
verdaccio_1        |  http --> 404, req: 'GET https://registry.npmjs.org/PACKAGE_NAME', bytes: 0/21
verdaccio_1        |  http <-- 200, user: USERNAME(172.18.0.1), req: 'GET /PACKAGE_NAME', bytes: 0/882
verdaccio_1        |  info <-- 172.18.0.1 requested 'GET /PACKAGE_NAME/-/PACKAGE_NAME-0.0.0.tgz'
verdaccio_1        |  trace--- api middleware using JWT auth token
verdaccio_1        |  trace--- [middleware/allow][access] allow for USERNAME
verdaccio_1        |  trace--- allow access for PACKAGE_NAME
verdaccio_1        |  trace--- [auth/allow_action]: user: undefined
verdaccio_1        |  trace--- [auth/allow_action]: hasPermission? true for user: undefined
verdaccio_1        |  trace--- auth/allow_action: access granted to: undefined
verdaccio_1        |  trace--- allowed access for PACKAGE_NAME
verdaccio_1        |  http <-- 200, user: USERNAME(172.18.0.1), req: 'GET /PACKAGE_NAME/-/PACKAGE_NAME-0.0.0.tgz', bytes: 0/18210

Downloading the same package with npm from the cli works.
Any idea?

Handling modules with index.json entrypoints

image image

I've run into an issue with this module spdx-license-ids which is transitively brought in by one of my dependencies.

And imported like so:

'use strict'

var licenses = []
  .concat(require('spdx-license-ids'))
  .concat(require('spdx-license-ids/deprecated'))
var exceptions = require('spdx-exceptions')

module.exports = function (source) {
  var index = 0

Keen to hear your thoughts on how live-plugin-manager should handle or workaround this module 🤔

Are there any reasons for PluginManager not installing plugin dependencies

Hi, thanks for the great lib.

I am having a problem that I cant seem to find an answer to. I am using this library in a cli program that I am building. So I wrapped the PluginManager class and made a library in my monorepo. Here is the npm package.

The strange thing is that I can use the library in one script, and it will download the plugin's npm package and all of it's dependencies to pluginsPath, and I when I use the same library from my cli program it only downloads the plugin and none of the dependencies.

This is some pretty weird behavior that I have spent the past 2 days debugging with no luck at all. I was hoping that maybe you could shed some light on why this issue may be occurring.

Thanks.

Problem installing mathjs with plugin-manager

First off, wow: amazing package!

Just discovered it and am testing it out to manage plugins for an electron app, but I ran into problems with one package in particular: mathjs. Here's a chunk of code:

  await manager.install('mathjs')
  const m = manager.require('mathjs')
  console.log(m.evaluate('7 + 12'))

Ther error is actually coming from dependency typed-function, which seems to provide typing for math.js:

 UnhandledPromiseRejectionWarning: .../typed-function/typed-function.js:128
        throw new TypeError('Unknown type "' + typeName + '"' +
        ^

  TypeError: Unknown type "Function". Did you mean "function"?

I looked through your known issues and checked those packages, but I'm not seeing why it wouldn't work when other packages do. Any immediate ideas or debugging tips in general? Thanks!

https://github.com/josdejong/mathjs
https://github.com/josdejong/typed-function

Literal Object prototype is not working properly inside the plugin's context

({}).constructor === Object is not working as expected, it should be true, but it's false if the code is run inside the plugin's code. As many libraries rely on that (bad practice) check, they don't fully work (such as aws sdk #56)

This is a local hack, but easy enough to reproduce. It can be tested with any plugin, as we can simply replace 2 lines (in dist if you don't want to rebuild).

this line

const iifeCode = `(function(exports){${newLine}${code}${newLine}}(module.exports));`;

replace by the following 2 lines.

  console.log('This is outside plugin:', new Object().constructor === Object, ({}).constructor === Object)
  const iifeCode = `console.log('This is inside', new Object().constructor === Object, ({}).constructor === Object)`;

The output is

This is outside plugin: true true
This is inside true false

I spent some time trying to customize the context variables with no luck. Maybe someone with more expertise, I have no clue how the constructor of {} is defined in that child context we create.

Thanks!

0.14.1 -> 0.15.1 issue on 0.15.1

Hi, 0.14.1 works fine, on 0.15.1 I have the following issue:

TypeError: console.Console is not a constructor
at PluginVm.createGlobalSandbox (PluginVm.ts:438)
at PluginVm.getPluginSandbox (PluginVm.ts:377)
at PluginVm.createModuleSandbox (PluginVm.ts:176)
at PluginVm.load (PluginVm.ts:37)
at PluginManager.load (PluginManager.ts:624)
at PluginManager.require (PluginManager.ts:188)
at Object.init (amazon_buy_from_shopify.js:34)
at async HTMLButtonElement.document.getElementById.onclick (script.js:405)

FR: Support for `"exports"` in `package.json`

Right now if (saltcorn) plugin requires (directly or indirectly), for example require("@saltcorn/db-common/internal") it raises Error: Cannot find ./internal in plugin @saltcorn/db-common, but in node code outsize live-plugin-manager's vm it works.

Docs: https://nodejs.org/api/all.html#all_packages_subpath-exports
Example: https://github.com/saltcorn/saltcorn/blob/11742abda9d6145c19d2081d492b9c1231ad61c1/packages/db-common/package.json#L14
Reference implementation: https://github.com/nodejs/node/blob/952cf0d17ae51c644a434684dabf493ccf2ebf38/lib/internal/modules/esm/resolve.js#L567

sharp lib install failed

Hello, i've try to install sharp package but its have error:

Tagspaces WS: Error:
Tagspaces WS: Something went wrong installing the "sharp" module
Tagspaces WS: Cannot find module '../build/Release/sharp.node'
Tagspaces WS: Require stack:
Tagspaces WS: - C:\Users\smari\IdeaProjects\tagspaces\app\node_modules\tagspaces-ws\node_modules\sharp\lib\constructor.js
Tagspaces WS: - C:\Users\smari\IdeaProjects\tagspaces\app\node_modules\tagspaces-ws\node_modules\sharp\lib\index.js

I have try to install sharp with npm and build folder is missing on install it with live-plugin-manager
Screenshot_23
Screenshot_24

Error: Invalid plugin github repository

Hi.

Im trying to use the live-plugin-manager library to load my custom-made module(Typescript) from a public github repo during runtime. But it errors with the following:

/Users/david/WebstormProjects/send_help/node_modules/live-plugin-manager/dist/src/GithubRegistryClient.js:67
                throw new Error("Invalid plugin github repository " + repository);
                      ^

Error: Invalid plugin github repository dnhook123/modules#25c265c
    at GithubRegistryClient.<anonymous> (/Users/david/WebstormProjects/send_help/node_modules/live-plugin-manager/dist/src/GithubRegistryClient.js:67:23)
    at Generator.next (<anonymous>)
    at fulfilled (/Users/david/WebstormProjects/send_help/node_modules/live-plugin-manager/dist/src/GithubRegistryClient.js:24:58)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
import {PluginManager} from 'live-plugin-manager';
const manager = new PluginManager();

const test = await manager.queryPackageFromGithub('dnhook123/modules#25c265c');

Index.js code

I've already found out that the github repo's like express.js works but mine do not. Do you know perhaps why?

My github error example: example error
The module i want to load in module

Plugin manager require gives module not found but passing the path directly works

Hi,

I am trying to use live-plugin-manager in my cli tool and am having a couple issues.

  1. running pluginManager.install installs the package but does not install its dependencies.
  2. running pluginManager.require gives a "module not found" error even if I cd to the module directory and install the dependencies manually.

error text:

Error: Cannot find module 'src/plugins/@myNamespace/myModule/dist/services/index.js'

I am able to successfully require the package using either await import('${pathToModuleInPluginDir') or require('$pathToModuleInPluginDir' after manually installing dependencies but running pluginManager.require('moduleName') fails with no found.

My setup is fairly simple, here is how I am initializing the plugin manager:

this.pluginManager = new PluginManager({
      pluginsPath: './src/plugins',
      // hostRequire: undefined,
    })

I tried the suggestion from another issue of using hostRequire: undefined but had the same result.

Here is the code requiring the plugin:

const installOra = ora(`Installing ${providerName} plugin`).start()
        await this.pluginManager.install(importPath)
        installOra.succeed(`${providerName} plugin installed successfully!`)
        // plugin = client
        // plugin = require('../plugins/@cloudgraph/cg-provider-aws/dist/services/index.js')
        plugin = this.pluginManager.require(importPath)

Note importPath === something like @myNamespace/myModule
Any ideas?

Thanks!

Support npm authentication

Npm registry that require authentication need to pass the params object to the npm-registry-client. Params should be:

{
auth: {
                alwaysAuth: true,
                token: "your-token"
            }
}

Provide a way to pass this, maybe using the npm config already available?

Under the hood it just add an header:
headers.authorization = 'Bearer ' + credentials.token

Regression in 0.15.1 (when used in browser context)

I triple-checked and everything else left alone 0.15.1 results in an error while 0.15.0 works, so this must be a regression.

The error happens when plugin manager is used in browser context (Electron renderer) and is thrown by this specific line:

sandbox.console = new console.Console({ stdout: process.stdout, stderr: process.stderr });

I’ll try to copy the exact error later, it’s about console.Console either missing or not being a constructor.

For now downgraded to 0.15.0.

New user here, nice work!

If a dependencies is reinstall we should reload dependant

It should already work but probably in some scenario it doesn't ...

How to reproduce:

  • moment is already installed as module in the host
  • install package A that depend on moment (it should work)
  • install a different moment version (it should work, but check if version is correct)
  • uninstall moment (now package A gives an error that can't load moment)

Dependencies resolve issue

Hi,

I have this scenario: a module/plugin with two dependencies that uses a different (major) versions are override each other and potentially throw an error if major functionality changed.

In my case is jszip (dep of selenium-webdriver) and winston-transport (that is a dep of winston) and winston itself (see below npm ls output)

When Im trying to install my plugin everything is good, but when I tried to require using live-plugin-manager I'm getting the following error:

Cannot find ./writable in plugin readable-stream

I started to debug live-plugin-manager and looks like it requires readable-stream 3.6.0 even for modules that has a different (major) version of this package and it's clear why it's broken now, in 3.6.0 they removed the writable.js file from the root of the module while others still using it.

The output of npm ls readable-stream is this:

$ npm ls readable-stream
[email protected] C:\personal\dev\github\live-plugin-manager-bug-scenario\package
+-- UNMET DEPENDENCY [email protected]
| `-- UNMET DEPENDENCY [email protected]
|   `-- UNMET DEPENDENCY [email protected]
`-- UNMET DEPENDENCY [email protected]
  +-- UNMET DEPENDENCY [email protected]
  `-- UNMET DEPENDENCY [email protected]
    `-- UNMET DEPENDENCY [email protected]

Here is a POC of my problem: https://github.com/shlomisas/live-plugin-manager-bug-scenario

It sounds quite basic to support multiple versions of the same package, so I wonder: do I do something wrong here?

TU,

Shlomi.

Tons of errors for me

I'm at esnext, "typescript": "^3.9.2", "ts-loader": "^7.0.4" - let me know if you need anything else.

WARNING in ./node_modules/live-plugin-manager/src/PluginManager.js 42:17-24
Critical dependency: require function is used in a way in which dependencies cannot be statically extracted
 @ ./node_modules/live-plugin-manager/index.js
 @ ./src/index.tsx

WARNING in ./node_modules/live-plugin-manager/src/PluginVm.js 245:19-40
Critical dependency: the request of a dependency is an expression
 @ ./node_modules/live-plugin-manager/src/PluginManager.js
 @ ./node_modules/live-plugin-manager/index.js
 @ ./src/index.tsx

WARNING in ./node_modules/live-plugin-manager/src/PluginVm.js 257:15-44
Critical dependency: the request of a dependency is an expression
 @ ./node_modules/live-plugin-manager/src/PluginManager.js
 @ ./node_modules/live-plugin-manager/index.js
 @ ./src/index.tsx

ERROR in ./node_modules/fs-extra/lib/index.js
Module not found: Error: Can't resolve 'fs' in '/Users/jordanzimmerman/dev/oss/journalator/journalator-main/node_modules/fs-extra/lib'
 @ ./node_modules/fs-extra/lib/index.js 22:11-24
 @ ./node_modules/live-plugin-manager/src/fileSystem.js
 @ ./node_modules/live-plugin-manager/src/PluginManager.js
 @ ./node_modules/live-plugin-manager/index.js
 @ ./src/index.tsx

fix: circular dependencies result in endless loop + out of memory crash

I tried installing a plugin that has es6-iterator as a dependency which has es5-ext as a dependency which has es6-iterator and so there's a cycle in the dependency graph that I think live-plugin-manager needs a circuit breaker for.
It might be that some additional things are needed to make sure it is handled correctly, if anyone has any information about how npm/yarn handle these cases (on top of having the circuit breaker) that would be great to know!

PluginManager.install is not compatible with NodeJS workers

If you use the PluginManager in a NodeJS worker, modules can no longer be downloaded because the temp folder has an undefined path.

The exception I get when I try to use the PluginManager inside a worker to install a module:

Error: ENOENT: no such file or directory, open
'D:\Projects\Example\undefined\temp\1632144135599.tgz'.

As you can see there is an 'undefined' in the path which means that a variable used to create the path is not available

Fail to compile (typescript)

There is an error small error in PluginManager.ts that prevents tsc from finishing the compile.

if (!this.isValidPluginName(registryInfo.name)) {
	throw new Error(`Invalid plugin name '${name}'`);
}

I believe the variable in the template string should be registryInfo.name

if (!this.isValidPluginName(registryInfo.name)) {
	throw new Error(`Invalid plugin name '${registryInfo.name}'`);
}

I didn't create a pull request since I'm not 100% sure what the intention was just glancing at the code.

0.13.2 - global.Date is undefined

I ran into a package that tries to use the global Date function and fails because it is undefined in the context
Package is "tedious" a dependency of "mssql", from it's code:

const globalDate = global.Date;
const YEAR_ONE = new globalDate(2000, 0, -730118);

The second line fails with TypeError: globalDate is not a constructor
I can debug and there are plenty of global variables but not Date

"Cannot require a module outside a plugin" error when adding querystring to staticDependencies

This is actually a followup of the issue #32. So far I was able to resolve most of the MODULE_NOT_FOUND issues with adding modules to the staticDependencies array when initializing the plugin manager. Sadly I hit a rock bottom when doing this for the querystring dependency. This results in an error: Cannot require a module outside a plugin when trying to use the module, which required the querystring as dependancy.

Here is the output with a DEBU=* flag set:
live-plugin-manager Acquiring lock ... +0ms
  live-plugin-manager.NpmRegistryClient Getting npm info for jsonresume-theme-mocha-responsive:latest... +0ms
  live-plugin-manager.HttpUtils Json GET https://registry.npmjs.org/jsonresume-theme-mocha-responsive ... +0ms
  live-plugin-manager.HttpUtils HEADERS {
  'accept-encoding': 'gzip',
  accept: 'application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*',
  'user-agent': 'live-plugin-manager'
} +0ms
  live-plugin-manager.HttpUtils Response HEADERS Headers {
  [Symbol(map)]: [Object: null prototype] {
    date: [ 'Mon, 02 Nov 2020 20:48:41 GMT' ],
    'content-type': [ 'application/vnd.npm.install-v1+json' ],
    'content-length': [ '1679' ],
    connection: [ 'close' ],
    'set-cookie': [
      '__cfduid=d580fdf1b13c8805f5af2d9277da76b3b1604350121; expires=Wed, 02-Dec-20 20:48:41 GMT; path=/; domain=.npmjs.org; HttpOnly; SameSite=Lax'
    ],
    'cf-ray': [ '5ec0b7c49edad11d-TXL' ],
    'accept-ranges': [ 'bytes' ],
    age: [ '2345' ],
    'cache-control': [ 'public, max-age=300' ],
    etag: [ '"4dc6c522263874c99a41e8c8ba66a68a"' ],
    'last-modified': [ 'Fri, 14 Feb 2020 18:48:59 GMT' ],
    vary: [ 'accept-encoding, accept' ],
    'cf-cache-status': [ 'HIT' ],
    'cf-request-id': [ '062c512ee10000d11d0b25f000000001' ],
    'expect-ct': [
      'max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"'
    ],
    server: [ 'cloudflare' ]
  }
} +90ms
  live-plugin-manager Installing dependencies of jsonresume-theme-mocha-responsive: address-format ... +101ms
  live-plugin-manager Installing dependencies of jsonresume-theme-mocha-responsive: base64-img ... +3ms
  live-plugin-manager Installing dependencies of base64-img: ajax-request ... +2ms
  live-plugin-manager Installing dependencies of ajax-request: file-system ... +2ms
  live-plugin-manager Installing dependencies of file-system: file-match ... +3ms
  live-plugin-manager Installing dependencies of file-match: utils-extend ... +2ms
  live-plugin-manager Installing dependencies of file-system: utils-extend is already installed +1ms
  live-plugin-manager Installing dependencies of ajax-request: utils-extend is already installed +0ms
  live-plugin-manager Installing dependencies of base64-img: file-system is already installed +1ms
  live-plugin-manager Installing dependencies of jsonresume-theme-mocha-responsive: handlebars ... +0ms
  live-plugin-manager Installing dependencies of handlebars: minimist ... +1ms
  live-plugin-manager Installing dependencies of handlebars: neo-async ... +2ms
  live-plugin-manager Installing dependencies of handlebars: source-map ... +1ms
  live-plugin-manager Installing dependencies of handlebars: wordwrap ... +2ms
  live-plugin-manager Installing dependencies of jsonresume-theme-mocha-responsive: handlebars-wax ... +1ms
  live-plugin-manager Installing dependencies of handlebars-wax: object-assign ... +2ms
  live-plugin-manager Installing dependencies of handlebars-wax: require-glob ... +1ms
  live-plugin-manager Installing dependencies of require-glob: glob-parent ... +2ms
  live-plugin-manager Installing dependencies of glob-parent: is-glob ... +1ms
  live-plugin-manager Installing dependencies of is-glob: is-extglob ... +1ms
  live-plugin-manager Installing dependencies of glob-parent: path-dirname ... +2ms
  live-plugin-manager Installing dependencies of require-glob: globby ... +1ms
  live-plugin-manager Installing dependencies of globby: array-union ... +2ms
  live-plugin-manager Installing dependencies of array-union: array-uniq ... +1ms
  live-plugin-manager Installing dependencies of globby: glob ... +2ms
  live-plugin-manager Installing dependencies of glob: fs.realpath ... +2ms
  live-plugin-manager Installing dependencies of glob: inflight ... +1ms
  live-plugin-manager Installing dependencies of inflight: once ... +2ms
  live-plugin-manager Installing dependencies of once: wrappy ... +1ms
  live-plugin-manager Installing dependencies of inflight: wrappy is already installed +1ms
  live-plugin-manager Installing dependencies of glob: inherits ... +0ms
  live-plugin-manager Installing dependencies of glob: minimatch ... +2ms
  live-plugin-manager Installing dependencies of minimatch: brace-expansion ... +1ms
  live-plugin-manager Installing dependencies of brace-expansion: balanced-match ... +1ms
  live-plugin-manager Installing dependencies of brace-expansion: concat-map ... +2ms
  live-plugin-manager Installing dependencies of glob: once is already installed +1ms
  live-plugin-manager Installing dependencies of glob: path-is-absolute ... +0ms
  live-plugin-manager Installing dependencies of globby: object-assign is already installed +2ms
  live-plugin-manager Installing dependencies of globby: pify ... +0ms
  live-plugin-manager Installing dependencies of globby: pinkie-promise ... +2ms
  live-plugin-manager Installing dependencies of pinkie-promise: pinkie ... +1ms
  live-plugin-manager Installing dependencies of require-glob: parent-module ... +1ms
  live-plugin-manager Installing dependencies of parent-module: callsites ... +2ms
  live-plugin-manager Installing dependencies of jsonresume-theme-mocha-responsive: is-url ... +1ms
  live-plugin-manager Installing dependencies of jsonresume-theme-mocha-responsive: marked ... +1ms
  live-plugin-manager Installing dependencies of jsonresume-theme-mocha-responsive: moment ... +2ms
  live-plugin-manager Installing dependencies of jsonresume-theme-mocha-responsive: promised-handlebars ... +1ms
  live-plugin-manager Installing dependencies of promised-handlebars: deep-aplus ... +2ms
  live-plugin-manager Installing dependencies of deep-aplus: lodash.isplainobject ... +2ms
  live-plugin-manager Installing dependencies of jsonresume-theme-mocha-responsive: swag ... +2ms
  live-plugin-manager Installing dependencies of swag: handlebars is already installed +2ms
  live-plugin-manager Releasing lock ... +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/jsonresume-theme-mocha-responsive/index.js of jsonresume-theme-mocha-responsive (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/jsonresume-theme-mocha-responsive/index.js)... +1ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/jsonresume-theme-mocha-responsive/index.js ... +0ms
  live-plugin-manager.PluginVm Requiring 'fs' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/jsonresume-theme-mocha-responsive/index.js... +5ms
  live-plugin-manager.PluginVm Resolved fs as static dependency +1ms
  live-plugin-manager.PluginVm Requiring 'path' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/jsonresume-theme-mocha-responsive/index.js... +0ms
  live-plugin-manager.PluginVm Resolved path as static dependency +0ms
  live-plugin-manager.PluginVm Requiring 'promised-handlebars' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/jsonresume-theme-mocha-responsive/index.js... +0ms
  live-plugin-manager.PluginVm Resolved promised-handlebars as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/promised-handlebars/index.js of promised-handlebars (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/promised-handlebars/index.js)... +6ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/promised-handlebars/index.js ... +0ms
  live-plugin-manager.PluginVm Requiring 'deep-aplus' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/promised-handlebars/index.js... +4ms
  live-plugin-manager.PluginVm Resolved deep-aplus as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/deep-aplus/index.js of deep-aplus (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/deep-aplus/index.js)... +4ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/deep-aplus/index.js ... +0ms
  live-plugin-manager.PluginVm Requiring 'lodash.isplainobject' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/deep-aplus/index.js... +4ms
  live-plugin-manager.PluginVm Resolved lodash.isplainobject as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/lodash.isplainobject/index.js of lodash.isplainobject (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/lodash.isplainobject/index.js)... +5ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/lodash.isplainobject/index.js ... +1ms
  live-plugin-manager.PluginVm Requiring './lib/markers' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/promised-handlebars/index.js... +3ms
  live-plugin-manager.PluginVm Resolved ./lib/markers as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/promised-handlebars/lib/markers.js +1ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/promised-handlebars/lib/markers.js ... +0ms
  live-plugin-manager.PluginVm Requiring './utils' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/promised-handlebars/lib/markers.js... +2ms
  live-plugin-manager.PluginVm Resolved ./utils as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/promised-handlebars/lib/utils.js +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/promised-handlebars/lib/utils.js ... +0ms
  live-plugin-manager.PluginVm Requiring './replaceP' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/promised-handlebars/lib/markers.js... +3ms
  live-plugin-manager.PluginVm Resolved ./replaceP as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/promised-handlebars/lib/replaceP.js +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/promised-handlebars/lib/replaceP.js ... +1ms
  live-plugin-manager.PluginVm Requiring './lib/utils' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/promised-handlebars/index.js... +3ms
  live-plugin-manager.PluginVm Resolved ./lib/utils as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/promised-handlebars/lib/utils.js +6ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/promised-handlebars/lib/utils.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring 'handlebars' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/jsonresume-theme-mocha-responsive/index.js... +0ms
  live-plugin-manager.PluginVm Resolved handlebars as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/lib/index.js of handlebars (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/lib/index.js)... +19ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/lib/index.js ... +0ms
  live-plugin-manager.PluginVm Requiring '../dist/cjs/handlebars' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/lib/index.js... +4ms
  live-plugin-manager.PluginVm Resolved ../dist/cjs/handlebars as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars.js +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars.js ... +0ms
  live-plugin-manager.PluginVm Requiring './handlebars.runtime' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars.js... +2ms
  live-plugin-manager.PluginVm Resolved ./handlebars.runtime as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars.runtime.js +1ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars.runtime.js ... +0ms
  live-plugin-manager.PluginVm Requiring './handlebars/base' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars.runtime.js... +2ms
  live-plugin-manager.PluginVm Resolved ./handlebars/base as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/base.js +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/base.js ... +0ms
  live-plugin-manager.PluginVm Requiring './utils' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/base.js... +3ms
  live-plugin-manager.PluginVm Resolved ./utils as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/utils.js +1ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/utils.js ... +0ms
  live-plugin-manager.PluginVm Requiring './exception' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/base.js... +2ms
  live-plugin-manager.PluginVm Resolved ./exception as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/exception.js +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/exception.js ... +0ms
  live-plugin-manager.PluginVm Requiring './helpers' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/base.js... +3ms
  live-plugin-manager.PluginVm Resolved ./helpers as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/helpers.js +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/helpers.js ... +0ms
  live-plugin-manager.PluginVm Requiring './helpers/block-helper-missing' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/helpers.js... +2ms
  live-plugin-manager.PluginVm Resolved ./helpers/block-helper-missing as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/helpers/block-helper-missing.js +1ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/helpers/block-helper-missing.js ... +0ms
  live-plugin-manager.PluginVm Requiring '../utils' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/helpers/block-helper-missing.js... +17ms
  live-plugin-manager.PluginVm Resolved ../utils as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/utils.js +0ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/utils.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring './helpers/each' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/helpers.js... +0ms
  live-plugin-manager.PluginVm Resolved ./helpers/each as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/helpers/each.js +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/helpers/each.js ... +1ms
  live-plugin-manager.PluginVm Requiring '../utils' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/helpers/each.js... +3ms
  live-plugin-manager.PluginVm Resolved ../utils as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/utils.js +0ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/utils.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring '../exception' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/helpers/each.js... +0ms
  live-plugin-manager.PluginVm Resolved ../exception as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/exception.js +0ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/exception.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring './helpers/helper-missing' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/helpers.js... +0ms
  live-plugin-manager.PluginVm Resolved ./helpers/helper-missing as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/helpers/helper-missing.js +1ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/helpers/helper-missing.js ... +0ms
  live-plugin-manager.PluginVm Requiring '../exception' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/helpers/helper-missing.js... +2ms
  live-plugin-manager.PluginVm Resolved ../exception as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/exception.js +0ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/exception.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring './helpers/if' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/helpers.js... +0ms
  live-plugin-manager.PluginVm Resolved ./helpers/if as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/helpers/if.js +1ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/helpers/if.js ... +0ms
  live-plugin-manager.PluginVm Requiring '../utils' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/helpers/if.js... +2ms
  live-plugin-manager.PluginVm Resolved ../utils as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/utils.js +0ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/utils.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring '../exception' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/helpers/if.js... +0ms
  live-plugin-manager.PluginVm Resolved ../exception as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/exception.js +1ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/exception.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring './helpers/log' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/helpers.js... +0ms
  live-plugin-manager.PluginVm Resolved ./helpers/log as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/helpers/log.js +21ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/helpers/log.js ... +0ms
  live-plugin-manager.PluginVm Requiring './helpers/lookup' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/helpers.js... +3ms
  live-plugin-manager.PluginVm Resolved ./helpers/lookup as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/helpers/lookup.js +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/helpers/lookup.js ... +0ms
  live-plugin-manager.PluginVm Requiring './helpers/with' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/helpers.js... +2ms
  live-plugin-manager.PluginVm Resolved ./helpers/with as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/helpers/with.js +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/helpers/with.js ... +0ms
  live-plugin-manager.PluginVm Requiring '../utils' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/helpers/with.js... +3ms
  live-plugin-manager.PluginVm Resolved ../utils as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/utils.js +1ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/utils.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring '../exception' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/helpers/with.js... +0ms
  live-plugin-manager.PluginVm Resolved ../exception as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/exception.js +0ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/exception.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring './decorators' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/base.js... +0ms
  live-plugin-manager.PluginVm Resolved ./decorators as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/decorators.js +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/decorators.js ... +0ms
  live-plugin-manager.PluginVm Requiring './decorators/inline' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/decorators.js... +2ms
  live-plugin-manager.PluginVm Resolved ./decorators/inline as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/decorators/inline.js +1ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/decorators/inline.js ... +0ms
  live-plugin-manager.PluginVm Requiring '../utils' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/decorators/inline.js... +2ms
  live-plugin-manager.PluginVm Resolved ../utils as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/utils.js +0ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/utils.js loaded from cache +21ms
  live-plugin-manager.PluginVm Requiring './logger' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/base.js... +0ms
  live-plugin-manager.PluginVm Resolved ./logger as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/logger.js +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/logger.js ... +0ms
  live-plugin-manager.PluginVm Requiring './utils' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/logger.js... +2ms
  live-plugin-manager.PluginVm Resolved ./utils as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/utils.js +1ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/utils.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring './internal/proto-access' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/base.js... +0ms
  live-plugin-manager.PluginVm Resolved ./internal/proto-access as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/internal/proto-access.js +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/internal/proto-access.js ... +0ms
  live-plugin-manager.PluginVm Requiring './create-new-lookup-object' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/internal/proto-access.js... +2ms
  live-plugin-manager.PluginVm Resolved ./create-new-lookup-object as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/internal/create-new-lookup-object.js +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/internal/create-new-lookup-object.js ... +0ms
  live-plugin-manager.PluginVm Requiring '../utils' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/internal/create-new-lookup-object.js... +4ms
  live-plugin-manager.PluginVm Resolved ../utils as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/utils.js +0ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/utils.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring '../logger' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/internal/proto-access.js... +0ms
  live-plugin-manager.PluginVm Resolved ../logger as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/logger.js +1ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/logger.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring './handlebars/safe-string' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars.runtime.js... +0ms
  live-plugin-manager.PluginVm Resolved ./handlebars/safe-string as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/safe-string.js +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/safe-string.js ... +0ms
  live-plugin-manager.PluginVm Requiring './handlebars/exception' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars.runtime.js... +2ms
  live-plugin-manager.PluginVm Resolved ./handlebars/exception as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/exception.js +1ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/exception.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring './handlebars/utils' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars.runtime.js... +0ms
  live-plugin-manager.PluginVm Resolved ./handlebars/utils as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/utils.js +0ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/utils.js loaded from cache +18ms
  live-plugin-manager.PluginVm Requiring './handlebars/runtime' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars.runtime.js... +0ms
  live-plugin-manager.PluginVm Resolved ./handlebars/runtime as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/runtime.js +1ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/runtime.js ... +0ms
  live-plugin-manager.PluginVm Requiring './utils' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/runtime.js... +2ms
  live-plugin-manager.PluginVm Resolved ./utils as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/utils.js +0ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/utils.js loaded from cache +1ms
  live-plugin-manager.PluginVm Requiring './exception' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/runtime.js... +0ms
  live-plugin-manager.PluginVm Resolved ./exception as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/exception.js +0ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/exception.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring './base' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/runtime.js... +0ms
  live-plugin-manager.PluginVm Resolved ./base as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/base.js +0ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/base.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring './helpers' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/runtime.js... +0ms
  live-plugin-manager.PluginVm Resolved ./helpers as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/helpers.js +0ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/helpers.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring './internal/wrapHelper' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/runtime.js... +0ms
  live-plugin-manager.PluginVm Resolved ./internal/wrapHelper as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/internal/wrapHelper.js +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/internal/wrapHelper.js ... +0ms
  live-plugin-manager.PluginVm Requiring './internal/proto-access' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/runtime.js... +3ms
  live-plugin-manager.PluginVm Resolved ./internal/proto-access as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/internal/proto-access.js +0ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/internal/proto-access.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring './handlebars/no-conflict' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars.runtime.js... +0ms
  live-plugin-manager.PluginVm Resolved ./handlebars/no-conflict as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/no-conflict.js +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/no-conflict.js ... +0ms
  live-plugin-manager.PluginVm Requiring './handlebars/compiler/ast' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars.js... +4ms
  live-plugin-manager.PluginVm Resolved ./handlebars/compiler/ast as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/ast.js +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/ast.js ... +0ms
  live-plugin-manager.PluginVm Requiring './handlebars/compiler/base' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars.js... +3ms
  live-plugin-manager.PluginVm Resolved ./handlebars/compiler/base as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/base.js +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/base.js ... +0ms
  live-plugin-manager.PluginVm Requiring './parser' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/base.js... +2ms
  live-plugin-manager.PluginVm Resolved ./parser as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/parser.js +1ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/parser.js ... +0ms
  live-plugin-manager.PluginVm Requiring './whitespace-control' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/base.js... +5ms
  live-plugin-manager.PluginVm Resolved ./whitespace-control as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/whitespace-control.js +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/whitespace-control.js ... +0ms
  live-plugin-manager.PluginVm Requiring './visitor' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/whitespace-control.js... +13ms
  live-plugin-manager.PluginVm Resolved ./visitor as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/visitor.js +2ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/visitor.js ... +0ms
  live-plugin-manager.PluginVm Requiring '../exception' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/visitor.js... +2ms
  live-plugin-manager.PluginVm Resolved ../exception as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/exception.js +0ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/exception.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring './helpers' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/base.js... +1ms
  live-plugin-manager.PluginVm Resolved ./helpers as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/helpers.js +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/helpers.js ... +0ms
  live-plugin-manager.PluginVm Requiring '../exception' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/helpers.js... +2ms
  live-plugin-manager.PluginVm Resolved ../exception as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/exception.js +0ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/exception.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring '../utils' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/base.js... +0ms
  live-plugin-manager.PluginVm Resolved ../utils as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/utils.js +1ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/utils.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring './handlebars/compiler/compiler' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars.js... +0ms
  live-plugin-manager.PluginVm Resolved ./handlebars/compiler/compiler as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/compiler.js +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/compiler.js ... +0ms
  live-plugin-manager.PluginVm Requiring '../exception' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/compiler.js... +3ms
  live-plugin-manager.PluginVm Resolved ../exception as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/exception.js +0ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/exception.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring '../utils' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/compiler.js... +20ms
  live-plugin-manager.PluginVm Resolved ../utils as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/utils.js +0ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/utils.js loaded from cache +1ms
  live-plugin-manager.PluginVm Requiring './ast' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/compiler.js... +0ms
  live-plugin-manager.PluginVm Resolved ./ast as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/ast.js +0ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/ast.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring './handlebars/compiler/javascript-compiler' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars.js... +1ms
  live-plugin-manager.PluginVm Resolved ./handlebars/compiler/javascript-compiler as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/javascript-compiler.js +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/javascript-compiler.js ... +0ms
  live-plugin-manager.PluginVm Requiring '../base' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/javascript-compiler.js... +3ms
  live-plugin-manager.PluginVm Resolved ../base as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/base.js +0ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/base.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring '../exception' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/javascript-compiler.js... +0ms
  live-plugin-manager.PluginVm Resolved ../exception as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/exception.js +0ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/exception.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring '../utils' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/javascript-compiler.js... +0ms
  live-plugin-manager.PluginVm Resolved ../utils as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/utils.js +1ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/utils.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring './code-gen' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/javascript-compiler.js... +0ms
  live-plugin-manager.PluginVm Resolved ./code-gen as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/code-gen.js +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/code-gen.js ... +0ms
  live-plugin-manager.PluginVm Requiring '../utils' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/code-gen.js... +2ms
  live-plugin-manager.PluginVm Resolved ../utils as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/utils.js +0ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/utils.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring 'source-map' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/code-gen.js... +0ms
  live-plugin-manager.PluginVm Resolved source-map as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/source-map.js of source-map (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/source-map.js)... +210ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/source-map.js ... +1ms
  live-plugin-manager.PluginVm Requiring './lib/source-map-generator' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/source-map.js... +5ms
  live-plugin-manager.PluginVm Resolved ./lib/source-map-generator as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/source-map-generator.js +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/source-map-generator.js ... +0ms
  live-plugin-manager.PluginVm Requiring './base64-vlq' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/source-map-generator.js... +2ms
  live-plugin-manager.PluginVm Resolved ./base64-vlq as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/base64-vlq.js +1ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/base64-vlq.js ... +0ms
  live-plugin-manager.PluginVm Requiring './base64' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/base64-vlq.js... +2ms
  live-plugin-manager.PluginVm Resolved ./base64 as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/base64.js +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/base64.js ... +0ms
  live-plugin-manager.PluginVm Requiring './util' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/source-map-generator.js... +2ms
  live-plugin-manager.PluginVm Resolved ./util as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/util.js +1ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/util.js ... +0ms
  live-plugin-manager.PluginVm Requiring './array-set' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/source-map-generator.js... +3ms
  live-plugin-manager.PluginVm Resolved ./array-set as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/array-set.js +9ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/array-set.js ... +0ms
  live-plugin-manager.PluginVm Requiring './util' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/array-set.js... +2ms
  live-plugin-manager.PluginVm Resolved ./util as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/util.js +0ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/util.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring './mapping-list' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/source-map-generator.js... +0ms
  live-plugin-manager.PluginVm Resolved ./mapping-list as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/mapping-list.js +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/mapping-list.js ... +1ms
  live-plugin-manager.PluginVm Requiring './util' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/mapping-list.js... +2ms
  live-plugin-manager.PluginVm Resolved ./util as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/util.js +0ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/util.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring './lib/source-map-consumer' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/source-map.js... +0ms
  live-plugin-manager.PluginVm Resolved ./lib/source-map-consumer as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/source-map-consumer.js +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/source-map-consumer.js ... +0ms
  live-plugin-manager.PluginVm Requiring './util' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/source-map-consumer.js... +3ms
  live-plugin-manager.PluginVm Resolved ./util as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/util.js +0ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/util.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring './binary-search' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/source-map-consumer.js... +0ms
  live-plugin-manager.PluginVm Resolved ./binary-search as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/binary-search.js +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/binary-search.js ... +0ms
  live-plugin-manager.PluginVm Requiring './array-set' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/source-map-consumer.js... +4ms
  live-plugin-manager.PluginVm Resolved ./array-set as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/array-set.js +0ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/array-set.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring './base64-vlq' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/source-map-consumer.js... +0ms
  live-plugin-manager.PluginVm Resolved ./base64-vlq as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/base64-vlq.js +0ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/base64-vlq.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring './quick-sort' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/source-map-consumer.js... +0ms
  live-plugin-manager.PluginVm Resolved ./quick-sort as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/quick-sort.js +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/quick-sort.js ... +0ms
  live-plugin-manager.PluginVm Requiring './lib/source-node' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/source-map.js... +3ms
  live-plugin-manager.PluginVm Resolved ./lib/source-node as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/source-node.js +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/source-node.js ... +0ms
  live-plugin-manager.PluginVm Requiring './source-map-generator' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/source-node.js... +2ms
  live-plugin-manager.PluginVm Resolved ./source-map-generator as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/source-map-generator.js +0ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/source-map-generator.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring './util' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/source-node.js... +16ms
  live-plugin-manager.PluginVm Resolved ./util as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/util.js +1ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/source-map/lib/util.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring './handlebars/compiler/visitor' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars.js... +0ms
  live-plugin-manager.PluginVm Resolved ./handlebars/compiler/visitor as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/visitor.js +0ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/visitor.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring './handlebars/no-conflict' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars.js... +0ms
  live-plugin-manager.PluginVm Resolved ./handlebars/no-conflict as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/no-conflict.js +0ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/no-conflict.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring '../dist/cjs/handlebars/compiler/printer' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/lib/index.js... +1ms
  live-plugin-manager.PluginVm Resolved ../dist/cjs/handlebars/compiler/printer as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/printer.js +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/printer.js ... +0ms
  live-plugin-manager.PluginVm Requiring './visitor' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/printer.js... +2ms
  live-plugin-manager.PluginVm Resolved ./visitor as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/visitor.js +0ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/dist/cjs/handlebars/compiler/visitor.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring 'deep-aplus' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/promised-handlebars/lib/replaceP.js... +0ms
  live-plugin-manager.PluginVm Resolved deep-aplus as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/deep-aplus/index.js of deep-aplus (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/deep-aplus/index.js)... +64ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/deep-aplus/index.js loaded from cache +1ms
  live-plugin-manager.PluginVm Requiring 'handlebars' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/jsonresume-theme-mocha-responsive/index.js... +0ms
  live-plugin-manager.PluginVm Resolved handlebars as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/lib/index.js of handlebars (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/lib/index.js)... +0ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars/lib/index.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring 'handlebars-wax' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/jsonresume-theme-mocha-responsive/index.js... +0ms
  live-plugin-manager.PluginVm Resolved handlebars-wax as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars-wax/src/handlebars-wax.js of handlebars-wax (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars-wax/src/handlebars-wax.js)... +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars-wax/src/handlebars-wax.js ... +0ms
  live-plugin-manager.PluginVm Requiring 'fs' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars-wax/src/handlebars-wax.js... +4ms
  live-plugin-manager.PluginVm Resolved fs as static dependency +0ms
  live-plugin-manager.PluginVm Requiring 'path' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars-wax/src/handlebars-wax.js... +0ms
  live-plugin-manager.PluginVm Resolved path as static dependency +0ms
  live-plugin-manager.PluginVm Requiring 'object-assign' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars-wax/src/handlebars-wax.js... +0ms
  live-plugin-manager.PluginVm Resolved object-assign as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/object-assign/index.js of object-assign (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/object-assign/index.js)... +4ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/object-assign/index.js ... +1ms
  live-plugin-manager.PluginVm Requiring 'require-glob' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/handlebars-wax/src/handlebars-wax.js... +4ms
  live-plugin-manager.PluginVm Resolved require-glob as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/require-glob/src/require-glob.js of require-glob (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/require-glob/src/require-glob.js)... +5ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/require-glob/src/require-glob.js ... +0ms
  live-plugin-manager.PluginVm Requiring 'path' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/require-glob/src/require-glob.js... +4ms
  live-plugin-manager.PluginVm Resolved path as static dependency +0ms
  live-plugin-manager.PluginVm Requiring 'glob-parent' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/require-glob/src/require-glob.js... +0ms
  live-plugin-manager.PluginVm Resolved glob-parent as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob-parent/index.js of glob-parent (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob-parent/index.js)... +4ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob-parent/index.js ... +0ms
  live-plugin-manager.PluginVm Requiring 'path' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob-parent/index.js... +5ms
  live-plugin-manager.PluginVm Resolved path as static dependency +12ms
  live-plugin-manager.PluginVm Requiring 'is-glob' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob-parent/index.js... +0ms
  live-plugin-manager.PluginVm Resolved is-glob as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/is-glob/index.js of is-glob (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/is-glob/index.js)... +17ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/is-glob/index.js ... +0ms
  live-plugin-manager.PluginVm Requiring 'is-extglob' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/is-glob/index.js... +5ms
  live-plugin-manager.PluginVm Resolved is-extglob as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/is-extglob/index.js of is-extglob (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/is-extglob/index.js)... +5ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/is-extglob/index.js ... +0ms
  live-plugin-manager.PluginVm Requiring 'path-dirname' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob-parent/index.js... +6ms
  live-plugin-manager.PluginVm Resolved path-dirname as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/path-dirname/index.js of path-dirname (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/path-dirname/index.js)... +7ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/path-dirname/index.js ... +1ms
  live-plugin-manager.PluginVm Requiring 'path' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/path-dirname/index.js... +4ms
  live-plugin-manager.PluginVm Resolved path as static dependency +1ms
  live-plugin-manager.PluginVm Requiring 'util' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/path-dirname/index.js... +0ms
  live-plugin-manager.PluginVm Resolved util as static dependency +0ms
  live-plugin-manager.PluginVm Requiring 'os' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob-parent/index.js... +0ms
  live-plugin-manager.PluginVm Resolved os as static dependency +0ms
  live-plugin-manager.PluginVm Requiring 'globby' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/require-glob/src/require-glob.js... +0ms
  live-plugin-manager.PluginVm Resolved globby as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/globby/index.js of globby (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/globby/index.js)... +5ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/globby/index.js ... +0ms
  live-plugin-manager.PluginVm Requiring 'pinkie-promise' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/globby/index.js... +5ms
  live-plugin-manager.PluginVm Resolved pinkie-promise as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/pinkie-promise/index.js of pinkie-promise (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/pinkie-promise/index.js)... +5ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/pinkie-promise/index.js ... +0ms
  live-plugin-manager.PluginVm Requiring 'array-union' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/globby/index.js... +7ms
  live-plugin-manager.PluginVm Resolved array-union as plugin +1ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/array-union/index.js of array-union (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/array-union/index.js)... +8ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/array-union/index.js ... +2ms
  live-plugin-manager.PluginVm Requiring 'array-uniq' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/array-union/index.js... +4ms
  live-plugin-manager.PluginVm Resolved array-uniq as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/array-uniq/index.js of array-uniq (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/array-uniq/index.js)... +6ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/array-uniq/index.js ... +0ms
  live-plugin-manager.PluginVm Requiring 'object-assign' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/globby/index.js... +4ms
  live-plugin-manager.PluginVm Resolved object-assign as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/object-assign/index.js of object-assign (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/object-assign/index.js)... +4ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/object-assign/index.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring 'glob' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/globby/index.js... +0ms
  live-plugin-manager.PluginVm Resolved glob as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob/glob.js of glob (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob/glob.js)... +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob/glob.js ... +0ms
  live-plugin-manager.PluginVm Requiring 'fs' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob/glob.js... +5ms
  live-plugin-manager.PluginVm Resolved fs as static dependency +0ms
  live-plugin-manager.PluginVm Requiring 'fs.realpath' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob/glob.js... +0ms
  live-plugin-manager.PluginVm Resolved fs.realpath as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/fs.realpath/index.js of fs.realpath (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/fs.realpath/index.js)... +5ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/fs.realpath/index.js ... +0ms
  live-plugin-manager.PluginVm Requiring 'fs' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/fs.realpath/index.js... +3ms
  live-plugin-manager.PluginVm Resolved fs as static dependency +1ms
  live-plugin-manager.PluginVm Requiring './old.js' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/fs.realpath/index.js... +0ms
  live-plugin-manager.PluginVm Resolved ./old.js as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/fs.realpath/old.js +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/fs.realpath/old.js ... +0ms
  live-plugin-manager.PluginVm Requiring 'path' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/fs.realpath/old.js... +2ms
  live-plugin-manager.PluginVm Resolved path as static dependency +0ms
  live-plugin-manager.PluginVm Requiring 'fs' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/fs.realpath/old.js... +12ms
  live-plugin-manager.PluginVm Resolved fs as static dependency +0ms
  live-plugin-manager.PluginVm Requiring 'minimatch' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob/glob.js... +0ms
  live-plugin-manager.PluginVm Resolved minimatch as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/minimatch/minimatch.js of minimatch (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/minimatch/minimatch.js)... +18ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/minimatch/minimatch.js ... +0ms
  live-plugin-manager.PluginVm Requiring 'path' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/minimatch/minimatch.js... +4ms
  live-plugin-manager.PluginVm Resolved path as static dependency +0ms
  live-plugin-manager.PluginVm Requiring 'brace-expansion' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/minimatch/minimatch.js... +0ms
  live-plugin-manager.PluginVm Resolved brace-expansion as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/brace-expansion/index.js of brace-expansion (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/brace-expansion/index.js)... +4ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/brace-expansion/index.js ... +0ms
  live-plugin-manager.PluginVm Requiring 'concat-map' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/brace-expansion/index.js... +4ms
  live-plugin-manager.PluginVm Resolved concat-map as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/concat-map/index.js of concat-map (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/concat-map/index.js)... +4ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/concat-map/index.js ... +0ms
  live-plugin-manager.PluginVm Requiring 'balanced-match' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/brace-expansion/index.js... +4ms
  live-plugin-manager.PluginVm Resolved balanced-match as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/balanced-match/index.js of balanced-match (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/balanced-match/index.js)... +4ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/balanced-match/index.js ... +0ms
  live-plugin-manager.PluginVm Requiring 'inherits' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob/glob.js... +4ms
  live-plugin-manager.PluginVm Resolved inherits as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/inherits/inherits.js of inherits (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/inherits/inherits.js)... +4ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/inherits/inherits.js ... +0ms
  live-plugin-manager.PluginVm Requiring 'util' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/inherits/inherits.js... +4ms
  live-plugin-manager.PluginVm Resolved util as static dependency +0ms
  live-plugin-manager.PluginVm Requiring 'events' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob/glob.js... +0ms
  live-plugin-manager.PluginVm Resolved events as static dependency +0ms
  live-plugin-manager.PluginVm Requiring 'path' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob/glob.js... +0ms
  live-plugin-manager.PluginVm Resolved path as static dependency +0ms
  live-plugin-manager.PluginVm Requiring 'assert' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob/glob.js... +0ms
  live-plugin-manager.PluginVm Resolved assert as static dependency +0ms
  live-plugin-manager.PluginVm Requiring 'path-is-absolute' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob/glob.js... +0ms
  live-plugin-manager.PluginVm Resolved path-is-absolute as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/path-is-absolute/index.js of path-is-absolute (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/path-is-absolute/index.js)... +4ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/path-is-absolute/index.js ... +13ms
  live-plugin-manager.PluginVm Requiring './sync.js' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob/glob.js... +5ms
  live-plugin-manager.PluginVm Resolved ./sync.js as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob/sync.js +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob/sync.js ... +0ms
  live-plugin-manager.PluginVm Requiring 'fs' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob/sync.js... +2ms
  live-plugin-manager.PluginVm Resolved fs as static dependency +1ms
  live-plugin-manager.PluginVm Requiring 'fs.realpath' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob/sync.js... +0ms
  live-plugin-manager.PluginVm Resolved fs.realpath as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/fs.realpath/index.js of fs.realpath (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/fs.realpath/index.js)... +21ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/fs.realpath/index.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring 'minimatch' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob/sync.js... +0ms
  live-plugin-manager.PluginVm Resolved minimatch as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/minimatch/minimatch.js of minimatch (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/minimatch/minimatch.js)... +0ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/minimatch/minimatch.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring './glob.js' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob/sync.js... +0ms
  live-plugin-manager.PluginVm Resolved ./glob.js as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob/glob.js +0ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob/glob.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring 'util' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob/sync.js... +0ms
  live-plugin-manager.PluginVm Resolved util as static dependency +0ms
  live-plugin-manager.PluginVm Requiring 'path' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob/sync.js... +0ms
  live-plugin-manager.PluginVm Resolved path as static dependency +0ms
  live-plugin-manager.PluginVm Requiring 'assert' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob/sync.js... +0ms
  live-plugin-manager.PluginVm Resolved assert as static dependency +0ms
  live-plugin-manager.PluginVm Requiring 'path-is-absolute' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob/sync.js... +0ms
  live-plugin-manager.PluginVm Resolved path-is-absolute as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/path-is-absolute/index.js of path-is-absolute (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/path-is-absolute/index.js)... +0ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/path-is-absolute/index.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring './common.js' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob/sync.js... +0ms
  live-plugin-manager.PluginVm Resolved ./common.js as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob/common.js +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob/common.js ... +0ms
  live-plugin-manager.PluginVm Requiring 'path' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob/common.js... +3ms
  live-plugin-manager.PluginVm Resolved path as static dependency +0ms
  live-plugin-manager.PluginVm Requiring 'minimatch' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob/common.js... +0ms
  live-plugin-manager.PluginVm Resolved minimatch as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/minimatch/minimatch.js of minimatch (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/minimatch/minimatch.js)... +3ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/minimatch/minimatch.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring 'path-is-absolute' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob/common.js... +0ms
  live-plugin-manager.PluginVm Resolved path-is-absolute as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/path-is-absolute/index.js of path-is-absolute (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/path-is-absolute/index.js)... +0ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/path-is-absolute/index.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring './common.js' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob/glob.js... +0ms
  live-plugin-manager.PluginVm Resolved ./common.js as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob/common.js +0ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob/common.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring 'inflight' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob/glob.js... +1ms
  live-plugin-manager.PluginVm Resolved inflight as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/inflight/inflight.js of inflight (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/inflight/inflight.js)... +1ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/inflight/inflight.js ... +0ms
  live-plugin-manager.PluginVm Requiring 'wrappy' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/inflight/inflight.js... +26ms
  live-plugin-manager.PluginVm Resolved wrappy as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/wrappy/wrappy.js of wrappy (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/wrappy/wrappy.js)... +26ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/wrappy/wrappy.js ... +0ms
  live-plugin-manager.PluginVm Requiring 'once' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/inflight/inflight.js... +4ms
  live-plugin-manager.PluginVm Resolved once as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/once/once.js of once (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/once/once.js)... +4ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/once/once.js ... +0ms
  live-plugin-manager.PluginVm Requiring 'wrappy' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/once/once.js... +5ms
  live-plugin-manager.PluginVm Resolved wrappy as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/wrappy/wrappy.js of wrappy (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/wrappy/wrappy.js)... +5ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/wrappy/wrappy.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring 'util' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob/glob.js... +0ms
  live-plugin-manager.PluginVm Resolved util as static dependency +0ms
  live-plugin-manager.PluginVm Requiring 'once' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/glob/glob.js... +0ms
  live-plugin-manager.PluginVm Resolved once as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/once/once.js of once (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/once/once.js)... +0ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/once/once.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring 'pify' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/globby/index.js... +0ms
  live-plugin-manager.PluginVm Resolved pify as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/pify/index.js of pify (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/pify/index.js)... +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/pify/index.js ... +0ms
  live-plugin-manager.PluginVm Requiring 'parent-module' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/require-glob/src/require-glob.js... +5ms
  live-plugin-manager.PluginVm Resolved parent-module as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/parent-module/index.js of parent-module (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/parent-module/index.js)... +5ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/parent-module/index.js ... +0ms
  live-plugin-manager.PluginVm Requiring 'callsites' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/parent-module/index.js... +20ms
  live-plugin-manager.PluginVm Resolved callsites as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/callsites/index.js of callsites (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/callsites/index.js)... +20ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/callsites/index.js ... +0ms
  live-plugin-manager.PluginVm Requiring 'address-format' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/jsonresume-theme-mocha-responsive/index.js... +4ms
  live-plugin-manager.PluginVm Resolved address-format as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/address-format/src/index.js of address-format (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/address-format/src/index.js)... +4ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/address-format/src/index.js ... +0ms
  live-plugin-manager.PluginVm Requiring './locales' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/address-format/src/index.js... +4ms
  live-plugin-manager.PluginVm Resolved ./locales as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/address-format/src/locales.js +1ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/address-format/src/locales.js ... +0ms
  live-plugin-manager.PluginVm Requiring './locales/dk' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/address-format/src/locales.js... +2ms
  live-plugin-manager.PluginVm Resolved ./locales/dk as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/address-format/src/locales/dk.js +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/address-format/src/locales/dk.js ... +0ms
  live-plugin-manager.PluginVm Requiring './locales/us' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/address-format/src/locales.js... +3ms
  live-plugin-manager.PluginVm Resolved ./locales/us as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/address-format/src/locales/us.js +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/address-format/src/locales/us.js ... +0ms
  live-plugin-manager.PluginVm Requiring './locales/international' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/address-format/src/locales.js... +2ms
  live-plugin-manager.PluginVm Resolved ./locales/international as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/address-format/src/locales/international.js +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/address-format/src/locales/international.js ... +0ms
  live-plugin-manager.PluginVm Requiring 'moment' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/jsonresume-theme-mocha-responsive/index.js... +3ms
  live-plugin-manager.PluginVm Resolved moment as plugin +10ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/moment/moment.js of moment (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/moment/moment.js)... +25ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/moment/moment.js ... +1ms
  live-plugin-manager.PluginVm Requiring 'swag' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/jsonresume-theme-mocha-responsive/index.js... +8ms
  live-plugin-manager.PluginVm Resolved swag as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/swag/index.js of swag (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/swag/index.js)... +9ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/swag/index.js ... +0ms
  live-plugin-manager.PluginVm Requiring './lib/swag' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/swag/index.js... +4ms
  live-plugin-manager.PluginVm Resolved ./lib/swag as file /Users/kmacha/Library/Application Support/kiss-my-resume/themes/swag/lib/swag.js +1ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/swag/lib/swag.js ... +0ms
  live-plugin-manager.PluginVm Requiring 'base64-img' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/jsonresume-theme-mocha-responsive/index.js... +3ms
  live-plugin-manager.PluginVm Resolved base64-img as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/base64-img/base64-img.js of base64-img (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/base64-img/base64-img.js)... +8ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/base64-img/base64-img.js ... +0ms
  live-plugin-manager.PluginVm Requiring 'file-system' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/base64-img/base64-img.js... +4ms
  live-plugin-manager.PluginVm Resolved file-system as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/file-system/file-system.js of file-system (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/file-system/file-system.js)... +4ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/file-system/file-system.js ... +0ms
  live-plugin-manager.PluginVm Requiring 'fs' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/file-system/file-system.js... +4ms
  live-plugin-manager.PluginVm Resolved fs as static dependency +0ms
  live-plugin-manager.PluginVm Requiring 'utils-extend' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/file-system/file-system.js... +0ms
  live-plugin-manager.PluginVm Resolved utils-extend as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/utils-extend/index.js of utils-extend (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/utils-extend/index.js)... +6ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/utils-extend/index.js ... +10ms
  live-plugin-manager.PluginVm Requiring 'util' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/utils-extend/index.js... +4ms
  live-plugin-manager.PluginVm Resolved util as static dependency +0ms
  live-plugin-manager.PluginVm Requiring 'path' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/file-system/file-system.js... +0ms
  live-plugin-manager.PluginVm Resolved path as static dependency +0ms
  live-plugin-manager.PluginVm Requiring 'file-match' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/file-system/file-system.js... +0ms
  live-plugin-manager.PluginVm Resolved file-match as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/file-match/file-match.js of file-match (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/file-match/file-match.js)... +12ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/file-match/file-match.js ... +0ms
  live-plugin-manager.PluginVm Requiring 'utils-extend' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/file-match/file-match.js... +4ms
  live-plugin-manager.PluginVm Resolved utils-extend as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/utils-extend/index.js of utils-extend (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/utils-extend/index.js)... +4ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/utils-extend/index.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring 'path' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/base64-img/base64-img.js... +0ms
  live-plugin-manager.PluginVm Resolved path as static dependency +0ms
  live-plugin-manager.PluginVm Requiring 'ajax-request' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/base64-img/base64-img.js... +0ms
  live-plugin-manager.PluginVm Resolved ajax-request as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/ajax-request/index.js of ajax-request (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/ajax-request/index.js)... +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/ajax-request/index.js ... +0ms
  live-plugin-manager.PluginVm Requiring 'http' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/ajax-request/index.js... +4ms
  live-plugin-manager.PluginVm Resolved http as static dependency +0ms
  live-plugin-manager.PluginVm Requiring 'utils-extend' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/ajax-request/index.js... +0ms
  live-plugin-manager.PluginVm Resolved utils-extend as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/utils-extend/index.js of utils-extend (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/utils-extend/index.js)... +4ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/utils-extend/index.js loaded from cache +1ms
  live-plugin-manager.PluginVm Requiring 'url' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/ajax-request/index.js... +0ms
  live-plugin-manager.PluginVm Resolved url as static dependency +0ms
  live-plugin-manager.PluginVm Requiring 'path' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/ajax-request/index.js... +0ms
  live-plugin-manager.PluginVm Resolved path as static dependency +0ms
  live-plugin-manager.PluginVm Requiring 'querystring' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/ajax-request/index.js... +0ms
  live-plugin-manager.PluginVm Resolved querystring as static dependency +0ms
  live-plugin-manager.PluginVm Requiring 'file-system' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/ajax-request/index.js... +0ms
  live-plugin-manager.PluginVm Resolved file-system as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/file-system/file-system.js of file-system (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/file-system/file-system.js)... +1ms
  live-plugin-manager.PluginVm /Users/kmacha/Library/Application Support/kiss-my-resume/themes/file-system/file-system.js loaded from cache +0ms
  live-plugin-manager.PluginVm Requiring 'is-url' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/jsonresume-theme-mocha-responsive/index.js... +0ms
  live-plugin-manager.PluginVm Resolved is-url as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/is-url/index.js of is-url (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/is-url/index.js)... +0ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/is-url/index.js ... +18ms
  live-plugin-manager.PluginVm Requiring 'marked' from /Users/kmacha/Library/Application Support/kiss-my-resume/themes/jsonresume-theme-mocha-responsive/index.js... +4ms
  live-plugin-manager.PluginVm Resolved marked as plugin +0ms
  live-plugin-manager Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/marked/lib/marked.js of marked (/Users/kmacha/Library/Application Support/kiss-my-resume/themes/marked/lib/marked.js)... +22ms
  live-plugin-manager.PluginVm Loading /Users/kmacha/Library/Application Support/kiss-my-resume/themes/marked/lib/marked.js ... +0ms
Error occurred in handler for 'process-cv': An error occurred when processing the resume: Error: Cannot require a module outside a plugin

Enhance the IPluginInfo to contain also the description

I would really appreciate, if the IPluginInfo could also include the the descritpion of the installed package. My application make a a very good use of live-plugin-manager in a way which offers users the possibility to install additional packages from NPM or local filesystem. The installable packages are shown in a list showing their name and the description.

Having the IPluginInfos location property I can parse the package.json, but this is basically the same thing live-plugin-manager is doing when creating the IPluginInfo.

So far I investigated the code a little bit an it seems, that only a small addition would be necessary to the createPluginInfo method in the PluginManager.ts file

private async createPluginInfo(name: string): Promise<IPluginInfo> {
		const location = this.getPluginLocation(name);
		const packageJson = await this.readPackageJsonFromPath(location);

		const mainFile = path.normalize(path.join(location, packageJson.main || DefaultMainFile));

		return {
			name: packageJson.name,
			description: packageJson.description,
			version: packageJson.version,
			location,
			mainFile,
			dependencies: packageJson.dependencies || {}
		};
	}

Add download progress

It could be nice to have download progress access when install package ?
And why not each other info like, download speed ?

handle peerDependencies

If when installing a package we found that there is one or more peerDependencies not available inside staticDependencies throw an error.

From #24 :

Installing peerDependencies automatically would be unexpected for people who are used to NPM/Yarn behavior.
From my understanding, it seems like staticDependencies could play well with peerDependencies. For example:

  • package A specifies peer dependency X
  • my project installs & requires package A using live-plugin-manager
  • live-plugin-manager will not install X
  • (new behavior) if my project does not pass X via staticDependencies, live-plugin-manager will error or warn
    (just my 2 cents)

Support loading plugins without FS access

Use case: install plugins in Electron’s window without nodeIntegration, and hence without filesystem access.

This use case could be addressed by allowing to install in-memory.

Which, in turn, could be supported by allowing to pass a custom conforming fs implementation to PluginManager (there’re API-compatible implementations of FS like LightningFS, for example).

I know this might be out of scope of this project, but thought I’d file this just in case.

"Cannot find ./maps/entities.json in plugin entities" when requiring Cheerio

Hi,

I am using Windows, tried with both native nodejs on Windows and using Bash for Windows.
When trying to use cheerio with the live-plugin-manager, I get this error:

    at PluginVm.sandboxResolve (/mnt/g/Code/live-plugin-manager/src/PluginVm.js:205:19)
    at PluginVm.resolve (/mnt/g/Code/live-plugin-manager/src/PluginVm.js:57:21)
    at PluginManager.load (/mnt/g/Code/live-plugin-manager/src/PluginManager.js:520:38)
    at PluginManager.require (/mnt/g/Code/live-plugin-manager/src/PluginManager.js:162:21)
    at PluginVm.sandboxRequire (/mnt/g/Code/live-plugin-manager/src/PluginVm.js:239:33)
    at Object.assign (/mnt/g/Code/live-plugin-manager/src/PluginVm.js:155:25)
    at /mnt/g/Code/live-plugin-manager/plugin_packages/htmlparser2/lib/Tokenizer.js:5:17
    at /mnt/g/Code/live-plugin-manager/plugin_packages/htmlparser2/lib/Tokenizer.js:973:2
    at Script.runInContext (vm.js:133:20)
    at PluginVm.vmRunScriptInSandbox (/mnt/g/Code/live-plugin-manager/src/PluginVm.js:113:16)

This is my basic test case to reproduce the issue:

const PluginManager = require("live-plugin-manager").PluginManager;

const manager = new PluginManager();

async function run() {
  await manager.install("cheerio");

  const cheerio = manager.require("cheerio");
  const $ = cheerio.load('<h2 class="title">Hello world</h2>')

  $('h2.title').text('Hello there!')
  $('h2').addClass('welcome')

  console.log($.html());

  await manager.uninstall("cheerio");
}

run();

I've tracked this down to cheerio's dependency on the "entities" module. Entities does a local include of a JSON file that fails because live-plugin-manager is trying to load "./maps/entities.json" relative to the root of the plugin path, rather than where the require was requested from.

I've had some luck by adding the following to PluginVM.sandboxResolve, which basically looks for the include where the main entrypoint file is, rather than the module base.

// check relative path to main entry point if plugin root fails
const subDirPath = path.resolve(path.dirname(pluginContext.mainFile), requiredName);
if (!subDirPath.startsWith(pluginContext.location)) {
    throw new Error("Cannot require a module outside a plugin");
}
const subDirFile = this.tryResolveAsFile(subDirPath);
if (subDirFile) {
    return subDirFile;
}
const isSubdirectory = this.tryResolveAsDirectory(subDirPath);
if (isSubdirectory) {
    return isSubdirectory;
}

... but am not confident in this fix as I believe pluginContext.mainFile isn't the file requesting the require, but the entrypoint to the whole plugin?

Async function

Hi,

I installed an AsyncFunction-returning package. Unfortunately, when I try to use it (via manager.require(name).default, it shows [Function], instead of [AsyncFunction].

pluginManager.require results in an immediate exception - 'MODULE_NOT_FOUND'

Hello,

I am trying to use the live-plugin-manager to allow users use different json-resume themes without needing to bundle them with my app. The themes are basically nodejs packages exposing a render method.

My code looks like this:

export const getLocalTheme = async (theme: IThemeEntry) => {
    try {
       await pluginManager.install(theme.name);
       const themePkg = await pluginManager.require(theme.name); // the NPM package name
        return themePkg;
    } catch (err) {
        console.log('Something went wrong', err)
    }
};

Calling getLocalTheme end in the catch block just after await pluginManager.require(theme.name) I get:

Error: Cannot find module 'fs'
    at Function.webpackEmptyContext [as resolve] (/Users/kmacha/Dev/kiss-my-resume/.webpack/main/index.js:23417:10)
    at PluginVm.isCoreModule (/Users/kmacha/Dev/kiss-my-resume/.webpack/main/index.js:24688:118)
    at PluginVm.sandboxResolve (/Users/kmacha/Dev/kiss-my-resume/.webpack/main/index.js:24645:18)
    at PluginVm.sandboxRequire (/Users/kmacha/Dev/kiss-my-resume/.webpack/main/index.js:24652:31)
    at Object.assign.resolve (/Users/kmacha/Dev/kiss-my-resume/.webpack/main/index.js:24596:25)
    at /Users/kmacha/Library/Application Support/kiss-my-resume/themes/jsonresume-theme-material/index.js:2:10
    at /Users/kmacha/Library/Application Support/kiss-my-resume/themes/jsonresume-theme-material/index.js:277:2
    at Script.runInContext (vm.js:127:20)
    at PluginVm.vmRunScriptInSandbox (/Users/kmacha/Dev/kiss-my-resume/.webpack/main/index.js:24554:16)
    at PluginVm.load (/Users/kmacha/Dev/kiss-my-resume/.webpack/main/index.js:24479:22) {
  code: 'MODULE_NOT_FOUND'
}

Needles to say I am in the electron environment and I build my app with the help of electron-forge. Here is the complete output, when I started my app with the DEBUG=* flag:

Support url dependencies?

Is there anyway to install url dependencies? E.g. dependencies that are specified just via a full url to their tarball? This is supported by npm natively I believe, and I can see some tgz download related code already in the repo. So if not currently supported, could be a quick win?

{
  "dependencies": {
    "foo": "https://registry.npmjs.org/foo/-/foo-1.0.0.tgz"
  }
}

Plugin manager gives an error requiring aws-sdk

I am trying to install and require the aws-sdk package at runtime and am getting the following error

UnhandledPromiseRejectionWarning: TypeError: attachOn.addNamedListener is not a function

This error does not appear when installing the aws-sdk directly and importing it. I tried with several versions of the package with the same result.

Here is some simple code to test

import {PluginManager} from "live-plugin-manager";

async function test() {
  const pluginManager = new PluginManager({
    // pluginsPath: './plugins'
  })
  await pluginManager.install('aws-sdk')
  const aws = pluginManager.require('aws-sdk')
  
  console.log(aws)
}

test()

Error when using require to load an ES6 module

Hi,

First off great NPM package by the way as well as your DI solution truly excellent work. Second, When I try to use the manager.require() method with my ES6 module I get the following error:
Cannot use import statement outside a module
If I install the package directly and use it with an import statement it works. I have check my package JSON sets the type to "module" which it does but I still get the error.
Is this intentional that import is not supported or is this a bug. Or am I doing something wrong here? Sample code block of my import attempt below

async installCustomPluginLibrary (customPackage, version) {
    await this._manager.installFromNpm(customPackage, version)
    try {
      const newPluginLib = this._manager.require(customPackage)
      const plugins = newPluginLib.libraryPlugins
      const installed = []
      for (let i = 0; i < plugins.length; i++) {
        const plugin = {
          parentPackage: customPackage,
          parentPackageVersion: version,
          key: plugins[i].pluginKey(),
          name: plugins[i].pluginName(),
          description: plugins[i].pluginDescription(),
          params: plugins[i].parameters
        }
        console.log('starting creation of plugin ' + plugins[i].pluginKey())
        console.log(plugin)
        moduleService.CreateModulePlugin(plugin)
        console.log('Plugin ' + plugins[i].pluginKey() + ' created in plugin store')

        installed.push(plugin)
      }
      return installed
    } catch (error) {
      console.log(error)
      throw error
    }
  }

The install works but the line const newPluginLib = this._manager.require(customPackage) fails with the error above. I am going to try changing my files from .js to .mjs to see if that works and will report back. I would appreciate some info though as to whether this is supposed to work or not.

Update:
I tried changing my ES6 module file types to .mjs and the live-plugin-manager failed with the following error: Invalid javascript file

Thanks!,

Make VM sandboxing optional

I know this may be controversial, but considering that VM may not be foolproof, perhaps an option to not use VM may be useful? E.g., if the host app only allows running vetted plugins.

VM causes issues with plugins intended to run in window context. I have troubles accessing setTimeout, Blob and other native window features. Also it breaks React’s useEffect, although that can be worked around by passing the plugin useEffect implementation from the host (so far I can’t find workarounds for native window features).

(Context: I’m working on a project that uses plugins in Electron, and plugins provide both components that run in Node context and components that run in browser window context.)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.