* chore(NA): update gitignore to include first changes from moving into a single package.json * chore(NA): update gitignore * chore(NA): move all the dependencies into the single package.json and apply changes to bootstrap * chore(NA): fix types problems after the single package json * chore(NA): include code to find the dependencies used across the code * chore(NA): introduce pure lockfile for install dependencies on build * chore(NA): update clean task to not delete anything from xpack node_modules * chore(NA): update gitignore to remove development temporary rules * chore(NA): update notice file * chore(NA): update jest snapshots * chore(NA): fix whitelisted licenses to include a new specify form of an already included one * chore(NA): remove check lockfile symlinks from child projects * chore(NA): fix eslint and add missing declared deps on single pkg json * chore(NA): correctly update notice * chore(NA): fix failing jest test for storyshots.test.tsx * chore(NA): fix cypress multi reporter path * chore(NA): fix Project tests check * chore(NA): fix problem with logic to detect used dependes on oss build * chore(NA): include correct x-pack plugins dep discovery * chore(NA): discover entries under dynamic requires on vis_type_timelion * chore(NA): remove canvas * test(NA): fix jest unit tests * chore(NA): remove double react declaration from storyshot test file * chore(NA): try removing isOSS check * chore(NA): support for plugin development * chore(NA): update logic to fix unit tests and typechecking * chore(NA): support to run npm scripts in child kbn projects across all envs * chore(NA): support github checks reporter on x-pack and remove cpy types as the package correctly provides them * chore(NA): update cpy version * chore(NA): include last kbn pm changes * chore(NA): update style on build_production_projects.ts * chore(NA): remove any cast fom telemetry opt in stats * chore(NA): remove del and re-use rm -rf again Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> # Conflicts: # package.json # packages/kbn-pm/dist/index.js # x-pack/package.json # yarn.lock
953 B
Executable file
@kbn/babel-code-parser
Simple abstraction over the @babel/parser
and the @babel/traverse
in order
to build a code parser on top.
We have two main functions parseSingleFile
(sync and sync version) and the
parseEntries
(only async version). The first one just parse one entry file
and the second one parses recursively all the files from a list of
start entry points.
Then we have visitors
and strategies
. The first ones are basically the
visitors
to use into the ast from the @babel/traverse
. They are the only
way to collect info when using the parseSingleFile
. The strategies
are
meant to be used with the parseEntries
and configures the info we want
to collect from our parsed code. After each loop, one per entry file, the
parseEntries
method will call the given strategy
expecting that
strategy
would call the desired visitors, assemble the important
information to collect and adds them to the final results.