Files
flipper/desktop/pkg
Michel Weststrate 080085e788 added simple watch mode
Summary:
Added a watch mode to the bundle command of flipper plugins. This makes it easy to test develop plugins locally, even when you are using a production build of flipper, which lowers the barrier of developing / fixing plugins.

opted for `fs.watch` over watchman to avoid some overengineering:
1. pkg / pkg-lib don't have the watchman utilities that would be needed for this. I wasn't sure if I could move those over from `static` without breaking the bootstrapping process
2. watchman is often a nuisance on non FB machines that aren't set up for it. fs.watch in contrast doesn't have any further dependencies or setup requirements, and is much more likely to work ootb.
3. since we watch only the `src` folder we don't really need the watchman optimizations. (so for a package.json change people would have to restart, but I don't think that is much of a problem).

Reviewed By: jknoxville

Differential Revision: D21523814

fbshipit-source-id: b1de72b7d01c6fc50cb8ce5709f54f8019eb89e4
2020-05-19 05:33:34 -07:00
..
2020-05-19 05:33:34 -07:00
2020-05-19 05:33:34 -07:00
2020-05-13 02:16:13 -07:00

flipper-pkg

flipper-pkg is a work-in-progress tool for bundling and publishing Flipper plugins.

Usage

$ npm install -g flipper-pkg
$ flipper-pkg COMMAND
running command...
$ flipper-pkg (-v|--version|version)
flipper-pkg/0.40.2 darwin-x64 node-v12.15.0
$ flipper-pkg --help [COMMAND]
USAGE
  $ flipper-pkg COMMAND
...

Commands

flipper-pkg bundle [DIRECTORY]

transpiles and bundles plugin

USAGE
  $ flipper-pkg bundle [DIRECTORY]

ARGUMENTS
  DIRECTORY  [default: .] Path to plugin package directory for bundling. Defaults to the current working directory.

EXAMPLE
  $ flipper-pkg bundle path/to/plugin

See code: src/commands/bundle.ts

flipper-pkg help [COMMAND]

display help for flipper-pkg

USAGE
  $ flipper-pkg help [COMMAND]

ARGUMENTS
  COMMAND  command to show help for

OPTIONS
  --all  see all commands in CLI

See code: @oclif/plugin-help

flipper-pkg init [DIRECTORY]

initializes a Flipper desktop plugin template in the provided directory

USAGE
  $ flipper-pkg init [DIRECTORY]

ARGUMENTS
  DIRECTORY  [default: .] Path to the directory where the plugin package template should be initialized. Defaults to the
             current working directory.

EXAMPLE
  $ flipper-pkg init path/to/plugin

See code: src/commands/init.ts

flipper-pkg lint [DIRECTORY]

validates a plugin package directory

USAGE
  $ flipper-pkg lint [DIRECTORY]

ARGUMENTS
  DIRECTORY  [default: .] Path to plugin package directory for linting. Defaults to the current working directory.

EXAMPLE
  $ flipper-pkg lint path/to/plugin

See code: src/commands/lint.ts

flipper-pkg migrate [DIRECTORY]

migrates a Flipper desktop plugin to the latest version of specification

USAGE
  $ flipper-pkg migrate [DIRECTORY]

ARGUMENTS
  DIRECTORY  [default: .] Path to the plugin directory. Defaults to the current working directory.

OPTIONS
  --no-dependencies  Do not add or change package dependencies during migration.
  --no-scripts       Do not add or change package scripts during migration.

EXAMPLE
  $ flipper-pkg migrate path/to/plugin

See code: src/commands/migrate.ts

flipper-pkg pack [DIRECTORY]

packs a plugin folder into a distributable archive

USAGE
  $ flipper-pkg pack [DIRECTORY]

ARGUMENTS
  DIRECTORY  [default: .] Path to plugin package directory to pack. Defaults to the current working directory.

OPTIONS
  -o, --output=output  [default: .] Where to output the package, file or directory. Defaults to the current working
                       directory.

EXAMPLE
  $ flipper-pkg pack path/to/plugin

See code: src/commands/pack.ts

License

MIT