AdobeXD / xdpm

A helper CLI for XD plugin development
https://github.com/AdobeXD/xdpm/blob/master/README.md
Apache License 2.0
65 stars 15 forks source link

Request: xdpm should provide command to output installed directory #8

Open tato123 opened 6 years ago

tato123 commented 6 years ago

xdpm provides a mechanism for developers to sync their code against the development folder. However for plugins that use npm packages this means building your package with a third party tool (like rollup, webpack, or parcel) and then executing xdpm as a second command or running a second tab to run the watcher.

This effectively doubles the number of watchers (one for the package tool and one for xdpm).

I'd like to propose adding a where command that only outputs the developer install directory (which may be different than running other npm modules that expose where,which, or locate).

The command xdpm where should only output a directory:

Example: <<adobe xd install>>/develop

which can then be passed to cli commands as an output directory

OR

The command should be usable from within a script (for use with rollup, webpack, parcel, etc...) like so:

const xdWhere = require('@adobe/xdpm/commands/where');
const path = require('path');

module.exports =  {
  entry: 'main.js',
  output: path.resolve(xdWhere(), 'main.js'),
  plugins: [
    copyPlugin(['.json'])
  ]
}

This enables developers to quickly get started when using npm (or even transpiling)

kerrishotts commented 6 years ago

Thanks for the suggestion.

This makes me think that exporting most of XDPM's functionality so that it could be scripted from other modules would be a good idea. If it exported the XD develop folder location, that'd serve your particular need, but having an exported API for installation, packaging, etc., could also make integration easier with other tools.