Skip to content

Add ability to use plugins #164

@tjbenton

Description

@tjbenton

This issue started in #163

Here's the list of plugins that we could write to make the main fakeit lib smaller an easier to maintain.

  • fakeit-plugin-models-yaml Support parsing YAML model files like fakeit currently does
  • fakeit-plugin-faker This would extract out faker from the base fakeit library
  • fakeit-plugin-chance This would extract out chance from the base fakeit library
    Note: the faker and chance plugins will have to support seeds
  • fakeit-plugin-format-json This would allow the ability to output files in json. This would be a separate package for consistency but I think should still be installed by default since it doesn't depend on anything.
  • fakeit-plugin-format-cson This would allow the ability to output files in cson.
  • fakeit-plugin-format-csv This would allow the ability to output files in csv.
  • fakeit-plugin-format-yaml This would allow the ability to output files in yaml
  • fakeit-plugin-console This will output the data to the console.
  • fakeit-plugin-couchbase This will output the data to a Couchbase server.
  • fakeit-plugin-sync-gateway This will output the data to a Couchbase Sync Gateway server
  • fakeit-plugin-directory The directory path to output the files (aka path/to/the/destination)
  • fakeit-plugin-zip This would add support for creating zip files of the documents
  • fakeit-plugin-babel This would add support for babel

Moving all these things out into separate packages will reduce the dependency bloat that currently exists. At a minimum we can remove 17 packages from the base libraries dependencies and they can be installed separately when they're needed for each plugin.

  • adm-zip
  • babel-core
  • babel-helpers
  • babel-runtime
  • chance
  • cli-table
  • couchbase-promises
  • cson
  • csv-parse
  • csv-stringify
  • faker
  • highlight-es
  • request
  • set-cookie-parser
  • yamljs
  • events-async
  • find-root

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions