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.
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
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-yamlSupport parsing YAML model files like fakeit currently doesfakeit-plugin-fakerThis would extract out faker from the base fakeit libraryfakeit-plugin-chanceThis would extract out chance from the base fakeit libraryNote: the
fakerandchanceplugins will have to support seedsfakeit-plugin-format-jsonThis would allow the ability to output files injson. 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-csonThis would allow the ability to output files incson.fakeit-plugin-format-csvThis would allow the ability to output files incsv.fakeit-plugin-format-yamlThis would allow the ability to output files inyamlfakeit-plugin-consoleThis will output the data to the console.fakeit-plugin-couchbaseThis will output the data to a Couchbase server.fakeit-plugin-sync-gatewayThis will output the data to a Couchbase Sync Gateway serverfakeit-plugin-directoryThe directory path to output the files (akapath/to/the/destination)fakeit-plugin-zipThis would add support for creating zip files of the documentsfakeit-plugin-babelThis would add support for babelMoving 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-zipbabel-corebabel-helpersbabel-runtimechancecli-tablecouchbase-promisescsoncsv-parsecsv-stringifyfakerhighlight-esrequestset-cookie-parseryamljsevents-asyncfind-root