Summary:
This diff removes most deps from the root package.json, which now only contains electron and shared build / test infra structure: lint, prettier, jest, typescript.
This makes it possible to control much better which packages are used where, as all sub packages now have their deps explicitly in their package.json instead of incidentally shared. This allows for example to disable DOM types for all packages by default (flipper-plugin, ui(-core) and app still request it), and in the next diff I hope to add to this that nodeJS types are no longer shared either, so that UI oriented packages will generate compile errors when using Node built-ins
This diff removes most deps that were currently unused, and dedupes a bunch of other ones, so the build should probably be a bit smaller now as well:
{F686704253}
{F686704295}
Reviewed By: antonk52
Differential Revision: D33062859
fbshipit-source-id: 5afaa4f2103d055188382a3370c1fffa295a298a
flipper-pkg
flipper-pkg is a 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.48.0 darwin-x64 node-v12.15.0
$ flipper-pkg --help [COMMAND]
USAGE
$ flipper-pkg COMMAND
...
Commands
flipper-pkg bundle [DIRECTORY]flipper-pkg checksum [DIRECTORY]flipper-pkg help [COMMAND]flipper-pkg init [DIRECTORY]flipper-pkg lint [DIRECTORY]flipper-pkg migrate [DIRECTORY]flipper-pkg pack [DIRECTORY]
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.
OPTIONS
--production Force env.NODE_ENV=production, enable minification and disable producing source maps.
--watch Watch for plugin source code and bundle it after every change.
EXAMPLE
$ flipper-pkg bundle path/to/plugin
See code: src/commands/bundle.ts
flipper-pkg checksum [DIRECTORY]
computes the total checksum of all the package files
USAGE
$ flipper-pkg checksum [DIRECTORY]
ARGUMENTS
DIRECTORY [default: .] Path to plugin package directory. Defaults to the current working directory.
EXAMPLE
$ flipper-pkg checksum path/to/plugin
See code: src/commands/checksum.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.
--production Force env.NODE_ENV=production, enable minification and disable producing source maps.
EXAMPLE
$ flipper-pkg pack path/to/plugin
See code: src/commands/pack.ts