Files
flipper/desktop/pkg
Michel Weststrate 5df34a337c Unshare global types
Summary:
This diff adds `types` fields on the compiler config for every project. This way we can make sure that for example node types and packages are not available in flipper-ui-core. Without an explicit types field, all types would be shared between all packages, and implicitly included into the compilation of everything. For the same reason `types/index.d.ts` has been removed, we want to be intentional on which types are being used in which package.

This diff does most of the work, the next diff will fine tune the globals, and do some further cleanup.

As an alternative solution I first tried a `nohoist: **/node_modules/types/**` and make sure every package list explicitly the types used in package json, which works but is much more error prone, as for example two different react types versions in two packages will cause the most unreadable compiler error due to the types not being shared and not literally the same.

Reviewed By: lawrencelomax

Differential Revision: D33124441

fbshipit-source-id: c2b9d768f845ac28005d8331ef5fa1066c7e4cd7
2021-12-17 07:36:07 -08:00
..
2021-10-19 09:21:36 -07:00
2021-12-17 07:36:07 -08:00
2020-06-26 03:25:27 -07:00

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]

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

License

MIT