appmap 0.62.0 → 0.62.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/appmap/version.rb +1 -1
- data/node_modules/@appland/cli/CHANGELOG.md +96 -0
- data/node_modules/@appland/cli/package.json +49 -0
- data/node_modules/@appland/cli/src/appMapCatalog.js +39 -0
- data/node_modules/@appland/cli/src/appland/getAppMap.js +55 -0
- data/node_modules/@appland/cli/src/appland/listAppMaps.js +58 -0
- data/node_modules/@appland/cli/src/appland/settings.js +62 -0
- data/node_modules/@appland/cli/src/appland/types.d.ts +16 -0
- data/node_modules/@appland/cli/src/cli.js +576 -0
- data/node_modules/@appland/cli/src/database.js +197 -0
- data/node_modules/@appland/cli/src/depends.js +157 -0
- data/node_modules/@appland/cli/src/fingerprint/algorithms.js +71 -0
- data/node_modules/@appland/cli/src/fingerprint/canonicalize.js +70 -0
- data/node_modules/@appland/cli/src/fingerprint/canonicalize/base.js +58 -0
- data/node_modules/@appland/cli/src/fingerprint/canonicalize/classDependencies.js +36 -0
- data/node_modules/@appland/cli/src/fingerprint/canonicalize/classes.js +14 -0
- data/node_modules/@appland/cli/src/fingerprint/canonicalize/eventTree.js +19 -0
- data/node_modules/@appland/cli/src/fingerprint/canonicalize/httpClientRequests.js +18 -0
- data/node_modules/@appland/cli/src/fingerprint/canonicalize/httpServerRequests.js +18 -0
- data/node_modules/@appland/cli/src/fingerprint/canonicalize/info.js +55 -0
- data/node_modules/@appland/cli/src/fingerprint/canonicalize/labels.js +10 -0
- data/node_modules/@appland/cli/src/fingerprint/canonicalize/packageDependencies.js +36 -0
- data/node_modules/@appland/cli/src/fingerprint/canonicalize/packages.js +14 -0
- data/node_modules/@appland/cli/src/fingerprint/canonicalize/sqlNormalized.js +19 -0
- data/node_modules/@appland/cli/src/fingerprint/canonicalize/sqlTables.js +24 -0
- data/node_modules/@appland/cli/src/fingerprint/canonicalize/trace.js +57 -0
- data/node_modules/@appland/cli/src/fingerprint/canonicalize/unique.js +8 -0
- data/node_modules/@appland/cli/src/fingerprint/canonicalize/update.js +85 -0
- data/node_modules/@appland/cli/src/fingerprint/fingerprintDirectoryCommand.js +30 -0
- data/node_modules/@appland/cli/src/fingerprint/fingerprintQueue.js +30 -0
- data/node_modules/@appland/cli/src/fingerprint/fingerprintWatchCommand.js +64 -0
- data/node_modules/@appland/cli/src/fingerprint/fingerprinter.js +186 -0
- data/node_modules/@appland/cli/src/fingerprint/index.js +24 -0
- data/node_modules/@appland/cli/src/functionStats.js +168 -0
- data/node_modules/@appland/cli/src/inspect.js +7 -0
- data/node_modules/@appland/cli/src/inspect/fields.js +66 -0
- data/node_modules/@appland/cli/src/inspect/filter.js +105 -0
- data/node_modules/@appland/cli/src/inspect/home.js +64 -0
- data/node_modules/@appland/cli/src/inspect/print.js +231 -0
- data/node_modules/@appland/cli/src/inspect/reset.js +10 -0
- data/node_modules/@appland/cli/src/inspect/types.d.ts +11 -0
- data/node_modules/@appland/cli/src/inspect/undoFilter.js +10 -0
- data/node_modules/@appland/cli/src/inventoryCommand.js +59 -0
- data/node_modules/@appland/cli/src/search/codeObjectMatcher.js +75 -0
- data/node_modules/@appland/cli/src/search/constants.js +5 -0
- data/node_modules/@appland/cli/src/search/findCodeObjects.js +293 -0
- data/node_modules/@appland/cli/src/search/findEvents.js +184 -0
- data/node_modules/@appland/cli/src/search/matchFilter.js +65 -0
- data/node_modules/@appland/cli/src/search/matchSpec.js +198 -0
- data/node_modules/@appland/cli/src/search/trigram.js +107 -0
- data/node_modules/@appland/cli/src/search/types.d.ts +107 -0
- data/node_modules/@appland/cli/src/search/utils.js +4 -0
- data/node_modules/@appland/cli/src/swagger/README.md +75 -0
- data/node_modules/@appland/cli/src/swagger/command.js +42 -0
- data/node_modules/@appland/cli/src/swagger/method.js +173 -0
- data/node_modules/@appland/cli/src/swagger/model.js +54 -0
- data/node_modules/@appland/cli/src/swagger/path.js +38 -0
- data/node_modules/@appland/cli/src/swagger/response.js +34 -0
- data/node_modules/@appland/cli/src/swagger/schema.js +38 -0
- data/node_modules/@appland/cli/src/swagger/securitySchemes.js +60 -0
- data/node_modules/@appland/cli/src/swagger/settings.js +9 -0
- data/node_modules/@appland/cli/src/swagger/util.js +79 -0
- data/node_modules/@appland/cli/src/utils.js +164 -0
- data/node_modules/@appland/cli/tests/unit/depends.spec.js +55 -0
- data/node_modules/@appland/cli/tests/unit/fingerprint/canonicalize.spec.js +42 -0
- data/node_modules/@appland/cli/tests/unit/fingerprint/sql.spec.js +40 -0
- data/node_modules/@appland/cli/tests/unit/fixtures/app/controllers/organizations_controller.rb +1 -0
- data/node_modules/@appland/cli/tests/unit/fixtures/app/models/configuration.rb +1 -0
- data/node_modules/@appland/cli/tests/unit/fixtures/app/models/show.rb +1 -0
- data/node_modules/@appland/cli/tests/unit/fixtures/app/models/user.rb +1 -0
- data/node_modules/@appland/cli/tests/unit/fixtures/canonicalize/revoke_api_key.info.json +246 -0
- data/node_modules/@appland/cli/tests/unit/fixtures/canonicalize/revoke_api_key.trace.json +289 -0
- data/node_modules/@appland/cli/tests/unit/fixtures/canonicalize/revoke_api_key.update.json +78 -0
- data/node_modules/@appland/cli/tests/unit/fixtures/revoke_api_key.appmap.json +899 -0
- data/node_modules/@appland/cli/tests/unit/fixtures/user_page_scenario.appmap.json +1774 -0
- data/node_modules/@appland/cli/tests/unit/inspect.spec.js +94 -0
- data/node_modules/@appland/models/CHANGELOG.md +83 -0
- data/node_modules/@appland/models/README.md +8 -0
- data/node_modules/@appland/models/dist/index.cjs +4250 -0
- data/node_modules/@appland/models/dist/index.js +4193 -0
- data/node_modules/@appland/models/package.json +50 -0
- data/node_modules/@rollup/plugin-alias/CHANGELOG.md +92 -0
- data/node_modules/@rollup/plugin-alias/LICENSE +21 -0
- data/node_modules/@rollup/plugin-alias/README.md +174 -0
- data/node_modules/@rollup/plugin-alias/dist/index.es.js +95 -0
- data/node_modules/@rollup/plugin-alias/dist/index.js +101 -0
- data/node_modules/@rollup/plugin-alias/package.json +78 -0
- data/node_modules/@rollup/plugin-alias/types/index.d.ts +36 -0
- data/node_modules/ansi-regex/index.d.ts +37 -0
- data/node_modules/ansi-regex/index.js +10 -0
- data/node_modules/ansi-regex/license +9 -0
- data/node_modules/ansi-regex/package.json +55 -0
- data/node_modules/ansi-regex/readme.md +78 -0
- data/node_modules/ansi-styles/index.d.ts +345 -0
- data/node_modules/ansi-styles/index.js +163 -0
- data/node_modules/ansi-styles/license +9 -0
- data/node_modules/ansi-styles/package.json +56 -0
- data/node_modules/ansi-styles/readme.md +152 -0
- data/node_modules/anymatch/LICENSE +15 -0
- data/node_modules/anymatch/README.md +87 -0
- data/node_modules/anymatch/index.d.ts +19 -0
- data/node_modules/anymatch/index.js +104 -0
- data/node_modules/anymatch/package.json +48 -0
- data/node_modules/argparse/CHANGELOG.md +185 -0
- data/node_modules/argparse/LICENSE +21 -0
- data/node_modules/argparse/README.md +257 -0
- data/node_modules/argparse/index.js +3 -0
- data/node_modules/argparse/lib/action.js +146 -0
- data/node_modules/argparse/lib/action/append.js +53 -0
- data/node_modules/argparse/lib/action/append/constant.js +47 -0
- data/node_modules/argparse/lib/action/count.js +40 -0
- data/node_modules/argparse/lib/action/help.js +47 -0
- data/node_modules/argparse/lib/action/store.js +50 -0
- data/node_modules/argparse/lib/action/store/constant.js +43 -0
- data/node_modules/argparse/lib/action/store/false.js +27 -0
- data/node_modules/argparse/lib/action/store/true.js +26 -0
- data/node_modules/argparse/lib/action/subparsers.js +149 -0
- data/node_modules/argparse/lib/action/version.js +47 -0
- data/node_modules/argparse/lib/action_container.js +482 -0
- data/node_modules/argparse/lib/argparse.js +14 -0
- data/node_modules/argparse/lib/argument/error.js +50 -0
- data/node_modules/argparse/lib/argument/exclusive.js +54 -0
- data/node_modules/argparse/lib/argument/group.js +75 -0
- data/node_modules/argparse/lib/argument_parser.js +1161 -0
- data/node_modules/argparse/lib/const.js +21 -0
- data/node_modules/argparse/lib/help/added_formatters.js +87 -0
- data/node_modules/argparse/lib/help/formatter.js +795 -0
- data/node_modules/argparse/lib/namespace.js +76 -0
- data/node_modules/argparse/lib/utils.js +57 -0
- data/node_modules/argparse/package.json +34 -0
- data/node_modules/async/CHANGELOG.md +331 -0
- data/node_modules/async/LICENSE +19 -0
- data/node_modules/async/README.md +60 -0
- data/node_modules/async/all.js +54 -0
- data/node_modules/async/allLimit.js +46 -0
- data/node_modules/async/allSeries.js +45 -0
- data/node_modules/async/any.js +56 -0
- data/node_modules/async/anyLimit.js +47 -0
- data/node_modules/async/anySeries.js +46 -0
- data/node_modules/async/apply.js +55 -0
- data/node_modules/async/applyEach.js +57 -0
- data/node_modules/async/applyEachSeries.js +37 -0
- data/node_modules/async/asyncify.js +118 -0
- data/node_modules/async/auto.js +267 -0
- data/node_modules/async/autoInject.js +156 -0
- data/node_modules/async/bower.json +17 -0
- data/node_modules/async/cargo.js +63 -0
- data/node_modules/async/cargoQueue.js +71 -0
- data/node_modules/async/compose.js +55 -0
- data/node_modules/async/concat.js +47 -0
- data/node_modules/async/concatLimit.js +60 -0
- data/node_modules/async/concatSeries.js +41 -0
- data/node_modules/async/constant.js +55 -0
- data/node_modules/async/detect.js +61 -0
- data/node_modules/async/detectLimit.js +48 -0
- data/node_modules/async/detectSeries.js +47 -0
- data/node_modules/async/dir.js +43 -0
- data/node_modules/async/dist/async.js +4846 -0
- data/node_modules/async/dist/async.min.js +1 -0
- data/node_modules/async/dist/async.mjs +4734 -0
- data/node_modules/async/doDuring.js +68 -0
- data/node_modules/async/doUntil.js +46 -0
- data/node_modules/async/doWhilst.js +68 -0
- data/node_modules/async/during.js +78 -0
- data/node_modules/async/each.js +88 -0
- data/node_modules/async/eachLimit.js +50 -0
- data/node_modules/async/eachOf.js +116 -0
- data/node_modules/async/eachOfLimit.js +47 -0
- data/node_modules/async/eachOfSeries.js +39 -0
- data/node_modules/async/eachSeries.js +44 -0
- data/node_modules/async/ensureAsync.js +67 -0
- data/node_modules/async/every.js +54 -0
- data/node_modules/async/everyLimit.js +46 -0
- data/node_modules/async/everySeries.js +45 -0
- data/node_modules/async/filter.js +53 -0
- data/node_modules/async/filterLimit.js +45 -0
- data/node_modules/async/filterSeries.js +43 -0
- data/node_modules/async/find.js +61 -0
- data/node_modules/async/findLimit.js +48 -0
- data/node_modules/async/findSeries.js +47 -0
- data/node_modules/async/flatMap.js +47 -0
- data/node_modules/async/flatMapLimit.js +60 -0
- data/node_modules/async/flatMapSeries.js +41 -0
- data/node_modules/async/foldl.js +77 -0
- data/node_modules/async/foldr.js +41 -0
- data/node_modules/async/forEach.js +88 -0
- data/node_modules/async/forEachLimit.js +50 -0
- data/node_modules/async/forEachOf.js +116 -0
- data/node_modules/async/forEachOfLimit.js +47 -0
- data/node_modules/async/forEachOfSeries.js +39 -0
- data/node_modules/async/forEachSeries.js +44 -0
- data/node_modules/async/forever.js +68 -0
- data/node_modules/async/groupBy.js +54 -0
- data/node_modules/async/groupByLimit.js +71 -0
- data/node_modules/async/groupBySeries.js +36 -0
- data/node_modules/async/index.js +588 -0
- data/node_modules/async/inject.js +77 -0
- data/node_modules/async/internal/DoublyLinkedList.js +92 -0
- data/node_modules/async/internal/Heap.js +120 -0
- data/node_modules/async/internal/applyEach.js +29 -0
- data/node_modules/async/internal/asyncEachOfLimit.js +75 -0
- data/node_modules/async/internal/awaitify.js +27 -0
- data/node_modules/async/internal/breakLoop.js +10 -0
- data/node_modules/async/internal/consoleFunc.js +27 -0
- data/node_modules/async/internal/createTester.js +40 -0
- data/node_modules/async/internal/eachOfLimit.js +90 -0
- data/node_modules/async/internal/filter.js +55 -0
- data/node_modules/async/internal/getIterator.js +11 -0
- data/node_modules/async/internal/initialParams.js +14 -0
- data/node_modules/async/internal/isArrayLike.js +10 -0
- data/node_modules/async/internal/iterator.js +54 -0
- data/node_modules/async/internal/map.js +30 -0
- data/node_modules/async/internal/once.js +17 -0
- data/node_modules/async/internal/onlyOnce.js +15 -0
- data/node_modules/async/internal/parallel.js +34 -0
- data/node_modules/async/internal/promiseCallback.js +23 -0
- data/node_modules/async/internal/queue.js +291 -0
- data/node_modules/async/internal/range.js +14 -0
- data/node_modules/async/internal/reject.js +26 -0
- data/node_modules/async/internal/setImmediate.js +30 -0
- data/node_modules/async/internal/withoutIndex.js +10 -0
- data/node_modules/async/internal/wrapAsync.js +34 -0
- data/node_modules/async/log.js +41 -0
- data/node_modules/async/map.js +62 -0
- data/node_modules/async/mapLimit.js +45 -0
- data/node_modules/async/mapSeries.js +44 -0
- data/node_modules/async/mapValues.js +62 -0
- data/node_modules/async/mapValuesLimit.js +61 -0
- data/node_modules/async/mapValuesSeries.js +37 -0
- data/node_modules/async/memoize.js +91 -0
- data/node_modules/async/nextTick.js +52 -0
- data/node_modules/async/package.json +82 -0
- data/node_modules/async/parallel.js +91 -0
- data/node_modules/async/parallelLimit.js +41 -0
- data/node_modules/async/priorityQueue.js +84 -0
- data/node_modules/async/queue.js +167 -0
- data/node_modules/async/race.js +67 -0
- data/node_modules/async/reduce.js +77 -0
- data/node_modules/async/reduceRight.js +41 -0
- data/node_modules/async/reflect.js +78 -0
- data/node_modules/async/reflectAll.js +93 -0
- data/node_modules/async/reject.js +53 -0
- data/node_modules/async/rejectLimit.js +45 -0
- data/node_modules/async/rejectSeries.js +43 -0
- data/node_modules/async/retry.js +159 -0
- data/node_modules/async/retryable.js +77 -0
- data/node_modules/async/select.js +53 -0
- data/node_modules/async/selectLimit.js +45 -0
- data/node_modules/async/selectSeries.js +43 -0
- data/node_modules/async/seq.js +79 -0
- data/node_modules/async/series.js +86 -0
- data/node_modules/async/setImmediate.js +45 -0
- data/node_modules/async/some.js +56 -0
- data/node_modules/async/someLimit.js +47 -0
- data/node_modules/async/someSeries.js +46 -0
- data/node_modules/async/sortBy.js +88 -0
- data/node_modules/async/timeout.js +89 -0
- data/node_modules/async/times.js +50 -0
- data/node_modules/async/timesLimit.js +43 -0
- data/node_modules/async/timesSeries.js +32 -0
- data/node_modules/async/transform.js +81 -0
- data/node_modules/async/tryEach.js +78 -0
- data/node_modules/async/unmemoize.js +25 -0
- data/node_modules/async/until.js +61 -0
- data/node_modules/async/waterfall.js +105 -0
- data/node_modules/async/whilst.js +78 -0
- data/node_modules/async/wrapSync.js +118 -0
- data/node_modules/at-least-node/LICENSE +6 -0
- data/node_modules/at-least-node/README.md +25 -0
- data/node_modules/at-least-node/index.js +5 -0
- data/node_modules/at-least-node/package.json +32 -0
- data/node_modules/balanced-match/LICENSE.md +21 -0
- data/node_modules/balanced-match/README.md +97 -0
- data/node_modules/balanced-match/index.js +62 -0
- data/node_modules/balanced-match/package.json +48 -0
- data/node_modules/binary-extensions/binary-extensions.json +260 -0
- data/node_modules/binary-extensions/binary-extensions.json.d.ts +3 -0
- data/node_modules/binary-extensions/index.d.ts +14 -0
- data/node_modules/binary-extensions/index.js +1 -0
- data/node_modules/binary-extensions/license +9 -0
- data/node_modules/binary-extensions/package.json +38 -0
- data/node_modules/binary-extensions/readme.md +41 -0
- data/node_modules/brace-expansion/LICENSE +21 -0
- data/node_modules/brace-expansion/README.md +129 -0
- data/node_modules/brace-expansion/index.js +201 -0
- data/node_modules/brace-expansion/package.json +47 -0
- data/node_modules/braces/CHANGELOG.md +184 -0
- data/node_modules/braces/LICENSE +21 -0
- data/node_modules/braces/README.md +593 -0
- data/node_modules/braces/index.js +170 -0
- data/node_modules/braces/lib/compile.js +57 -0
- data/node_modules/braces/lib/constants.js +57 -0
- data/node_modules/braces/lib/expand.js +113 -0
- data/node_modules/braces/lib/parse.js +333 -0
- data/node_modules/braces/lib/stringify.js +32 -0
- data/node_modules/braces/lib/utils.js +112 -0
- data/node_modules/braces/package.json +77 -0
- data/node_modules/chokidar/LICENSE +21 -0
- data/node_modules/chokidar/README.md +308 -0
- data/node_modules/chokidar/index.js +973 -0
- data/node_modules/chokidar/lib/constants.js +65 -0
- data/node_modules/chokidar/lib/fsevents-handler.js +524 -0
- data/node_modules/chokidar/lib/nodefs-handler.js +646 -0
- data/node_modules/chokidar/package.json +78 -0
- data/node_modules/chokidar/types/index.d.ts +187 -0
- data/node_modules/cli-progress/CHANGES.md +169 -0
- data/node_modules/cli-progress/LICENSE.md +24 -0
- data/node_modules/cli-progress/README.md +446 -0
- data/node_modules/cli-progress/cli-progress.js +21 -0
- data/node_modules/cli-progress/lib/eta.js +73 -0
- data/node_modules/cli-progress/lib/format-bar.js +11 -0
- data/node_modules/cli-progress/lib/format-time.js +34 -0
- data/node_modules/cli-progress/lib/format-value.js +22 -0
- data/node_modules/cli-progress/lib/formatter.js +80 -0
- data/node_modules/cli-progress/lib/generic-bar.js +212 -0
- data/node_modules/cli-progress/lib/multi-bar.js +201 -0
- data/node_modules/cli-progress/lib/options.js +95 -0
- data/node_modules/cli-progress/lib/single-bar.js +124 -0
- data/node_modules/cli-progress/lib/terminal.js +159 -0
- data/node_modules/cli-progress/package.json +46 -0
- data/node_modules/cli-progress/presets/index.js +11 -0
- data/node_modules/cli-progress/presets/legacy.js +6 -0
- data/node_modules/cli-progress/presets/rect.js +5 -0
- data/node_modules/cli-progress/presets/shades-classic.js +6 -0
- data/node_modules/cli-progress/presets/shades-grey.js +8 -0
- data/node_modules/cliui/CHANGELOG.md +121 -0
- data/node_modules/cliui/LICENSE.txt +14 -0
- data/node_modules/cliui/README.md +141 -0
- data/node_modules/cliui/build/index.cjs +302 -0
- data/node_modules/cliui/build/lib/index.js +287 -0
- data/node_modules/cliui/build/lib/string-utils.js +27 -0
- data/node_modules/cliui/index.mjs +13 -0
- data/node_modules/cliui/package.json +83 -0
- data/node_modules/color-convert/CHANGELOG.md +54 -0
- data/node_modules/color-convert/LICENSE +21 -0
- data/node_modules/color-convert/README.md +68 -0
- data/node_modules/color-convert/conversions.js +839 -0
- data/node_modules/color-convert/index.js +81 -0
- data/node_modules/color-convert/package.json +48 -0
- data/node_modules/color-convert/route.js +97 -0
- data/node_modules/color-name/LICENSE +8 -0
- data/node_modules/color-name/README.md +11 -0
- data/node_modules/color-name/index.js +152 -0
- data/node_modules/color-name/package.json +28 -0
- data/node_modules/colors/LICENSE +25 -0
- data/node_modules/colors/README.md +221 -0
- data/node_modules/colors/examples/normal-usage.js +82 -0
- data/node_modules/colors/examples/safe-string.js +79 -0
- data/node_modules/colors/index.d.ts +136 -0
- data/node_modules/colors/lib/colors.js +211 -0
- data/node_modules/colors/lib/custom/trap.js +46 -0
- data/node_modules/colors/lib/custom/zalgo.js +110 -0
- data/node_modules/colors/lib/extendStringPrototype.js +110 -0
- data/node_modules/colors/lib/index.js +13 -0
- data/node_modules/colors/lib/maps/america.js +10 -0
- data/node_modules/colors/lib/maps/rainbow.js +12 -0
- data/node_modules/colors/lib/maps/random.js +11 -0
- data/node_modules/colors/lib/maps/zebra.js +5 -0
- data/node_modules/colors/lib/styles.js +95 -0
- data/node_modules/colors/lib/system/has-flag.js +35 -0
- data/node_modules/colors/lib/system/supports-colors.js +151 -0
- data/node_modules/colors/package.json +45 -0
- data/node_modules/colors/safe.d.ts +48 -0
- data/node_modules/colors/safe.js +10 -0
- data/node_modules/colors/themes/generic-logging.js +12 -0
- data/node_modules/concat-map/LICENSE +18 -0
- data/node_modules/concat-map/README.markdown +62 -0
- data/node_modules/concat-map/example/map.js +6 -0
- data/node_modules/concat-map/index.js +13 -0
- data/node_modules/concat-map/package.json +43 -0
- data/node_modules/concat-map/test/map.js +39 -0
- data/node_modules/console-table-printer/CHANGELOG.md +96 -0
- data/node_modules/console-table-printer/LICENSE +21 -0
- data/node_modules/console-table-printer/README.md +180 -0
- data/node_modules/console-table-printer/dist/index.d.ts +4 -0
- data/node_modules/console-table-printer/dist/index.js +10 -0
- data/node_modules/console-table-printer/dist/src/console-table-printer.d.ts +14 -0
- data/node_modules/console-table-printer/dist/src/console-table-printer.js +32 -0
- data/node_modules/console-table-printer/dist/src/internalTable/input-converter.d.ts +6 -0
- data/node_modules/console-table-printer/dist/src/internalTable/input-converter.js +15 -0
- data/node_modules/console-table-printer/dist/src/internalTable/internal-table-printer.d.ts +4 -0
- data/node_modules/console-table-printer/dist/src/internalTable/internal-table-printer.js +115 -0
- data/node_modules/console-table-printer/dist/src/internalTable/internal-table.d.ts +25 -0
- data/node_modules/console-table-printer/dist/src/internalTable/internal-table.js +80 -0
- data/node_modules/console-table-printer/dist/src/internalTable/table-pre-processors.d.ts +3 -0
- data/node_modules/console-table-printer/dist/src/internalTable/table-pre-processors.js +43 -0
- data/node_modules/console-table-printer/dist/src/models/common.d.ts +10 -0
- data/node_modules/console-table-printer/dist/src/models/common.js +2 -0
- data/node_modules/console-table-printer/dist/src/models/external-table.d.ts +26 -0
- data/node_modules/console-table-printer/dist/src/models/external-table.js +2 -0
- data/node_modules/console-table-printer/dist/src/models/internal-table.d.ts +21 -0
- data/node_modules/console-table-printer/dist/src/models/internal-table.js +2 -0
- data/node_modules/console-table-printer/dist/src/utils/colored-console-line.d.ts +8 -0
- data/node_modules/console-table-printer/dist/src/utils/colored-console-line.js +29 -0
- data/node_modules/console-table-printer/dist/src/utils/console-utils.d.ts +2 -0
- data/node_modules/console-table-printer/dist/src/utils/console-utils.js +8 -0
- data/node_modules/console-table-printer/dist/src/utils/string-utils.d.ts +4 -0
- data/node_modules/console-table-printer/dist/src/utils/string-utils.js +54 -0
- data/node_modules/console-table-printer/dist/src/utils/table-constants.d.ts +10 -0
- data/node_modules/console-table-printer/dist/src/utils/table-constants.js +49 -0
- data/node_modules/console-table-printer/dist/src/utils/table-helpers.d.ts +26 -0
- data/node_modules/console-table-printer/dist/src/utils/table-helpers.js +91 -0
- data/node_modules/console-table-printer/package.json +51 -0
- data/node_modules/cross-env/CHANGELOG.md +5 -0
- data/node_modules/cross-env/LICENSE +20 -0
- data/node_modules/cross-env/README.md +291 -0
- data/node_modules/cross-env/package.json +54 -0
- data/node_modules/cross-env/src/bin/cross-env-shell.js +5 -0
- data/node_modules/cross-env/src/bin/cross-env.js +5 -0
- data/node_modules/cross-env/src/command.js +32 -0
- data/node_modules/cross-env/src/index.js +95 -0
- data/node_modules/cross-env/src/is-windows.js +2 -0
- data/node_modules/cross-env/src/variable.js +69 -0
- data/node_modules/cross-spawn/CHANGELOG.md +130 -0
- data/node_modules/cross-spawn/LICENSE +21 -0
- data/node_modules/cross-spawn/README.md +96 -0
- data/node_modules/cross-spawn/index.js +39 -0
- data/node_modules/cross-spawn/lib/enoent.js +59 -0
- data/node_modules/cross-spawn/lib/parse.js +91 -0
- data/node_modules/cross-spawn/lib/util/escape.js +45 -0
- data/node_modules/cross-spawn/lib/util/readShebang.js +23 -0
- data/node_modules/cross-spawn/lib/util/resolveCommand.js +52 -0
- data/node_modules/cross-spawn/package.json +73 -0
- data/node_modules/crypto-js/CONTRIBUTING.md +28 -0
- data/node_modules/crypto-js/LICENSE +24 -0
- data/node_modules/crypto-js/README.md +249 -0
- data/node_modules/crypto-js/aes.js +234 -0
- data/node_modules/crypto-js/bower.json +35 -0
- data/node_modules/crypto-js/cipher-core.js +890 -0
- data/node_modules/crypto-js/core.js +797 -0
- data/node_modules/crypto-js/crypto-js.js +6059 -0
- data/node_modules/crypto-js/docs/QuickStartGuide.wiki +470 -0
- data/node_modules/crypto-js/enc-base64.js +136 -0
- data/node_modules/crypto-js/enc-hex.js +18 -0
- data/node_modules/crypto-js/enc-latin1.js +18 -0
- data/node_modules/crypto-js/enc-utf16.js +149 -0
- data/node_modules/crypto-js/enc-utf8.js +18 -0
- data/node_modules/crypto-js/evpkdf.js +134 -0
- data/node_modules/crypto-js/format-hex.js +66 -0
- data/node_modules/crypto-js/format-openssl.js +18 -0
- data/node_modules/crypto-js/hmac-md5.js +18 -0
- data/node_modules/crypto-js/hmac-ripemd160.js +18 -0
- data/node_modules/crypto-js/hmac-sha1.js +18 -0
- data/node_modules/crypto-js/hmac-sha224.js +18 -0
- data/node_modules/crypto-js/hmac-sha256.js +18 -0
- data/node_modules/crypto-js/hmac-sha3.js +18 -0
- data/node_modules/crypto-js/hmac-sha384.js +18 -0
- data/node_modules/crypto-js/hmac-sha512.js +18 -0
- data/node_modules/crypto-js/hmac.js +143 -0
- data/node_modules/crypto-js/index.js +18 -0
- data/node_modules/crypto-js/lib-typedarrays.js +76 -0
- data/node_modules/crypto-js/md5.js +268 -0
- data/node_modules/crypto-js/mode-cfb.js +80 -0
- data/node_modules/crypto-js/mode-ctr-gladman.js +116 -0
- data/node_modules/crypto-js/mode-ctr.js +58 -0
- data/node_modules/crypto-js/mode-ecb.js +40 -0
- data/node_modules/crypto-js/mode-ofb.js +54 -0
- data/node_modules/crypto-js/package.json +38 -0
- data/node_modules/crypto-js/pad-ansix923.js +49 -0
- data/node_modules/crypto-js/pad-iso10126.js +44 -0
- data/node_modules/crypto-js/pad-iso97971.js +40 -0
- data/node_modules/crypto-js/pad-nopadding.js +30 -0
- data/node_modules/crypto-js/pad-pkcs7.js +18 -0
- data/node_modules/crypto-js/pad-zeropadding.js +47 -0
- data/node_modules/crypto-js/pbkdf2.js +145 -0
- data/node_modules/crypto-js/rabbit-legacy.js +190 -0
- data/node_modules/crypto-js/rabbit.js +192 -0
- data/node_modules/crypto-js/rc4.js +139 -0
- data/node_modules/crypto-js/ripemd160.js +267 -0
- data/node_modules/crypto-js/sha1.js +150 -0
- data/node_modules/crypto-js/sha224.js +80 -0
- data/node_modules/crypto-js/sha256.js +199 -0
- data/node_modules/crypto-js/sha3.js +326 -0
- data/node_modules/crypto-js/sha384.js +83 -0
- data/node_modules/crypto-js/sha512.js +326 -0
- data/node_modules/crypto-js/tripledes.js +779 -0
- data/node_modules/crypto-js/x64-core.js +304 -0
- data/node_modules/diff/CONTRIBUTING.md +39 -0
- data/node_modules/diff/LICENSE +31 -0
- data/node_modules/diff/README.md +208 -0
- data/node_modules/diff/dist/diff.js +1582 -0
- data/node_modules/diff/lib/convert/dmp.js +32 -0
- data/node_modules/diff/lib/convert/xml.js +42 -0
- data/node_modules/diff/lib/diff/array.js +45 -0
- data/node_modules/diff/lib/diff/base.js +304 -0
- data/node_modules/diff/lib/diff/character.js +37 -0
- data/node_modules/diff/lib/diff/css.js +41 -0
- data/node_modules/diff/lib/diff/json.js +163 -0
- data/node_modules/diff/lib/diff/line.js +89 -0
- data/node_modules/diff/lib/diff/sentence.js +41 -0
- data/node_modules/diff/lib/diff/word.js +108 -0
- data/node_modules/diff/lib/index.es6.js +1553 -0
- data/node_modules/diff/lib/index.js +216 -0
- data/node_modules/diff/lib/index.mjs +1553 -0
- data/node_modules/diff/lib/patch/apply.js +238 -0
- data/node_modules/diff/lib/patch/create.js +267 -0
- data/node_modules/diff/lib/patch/merge.js +613 -0
- data/node_modules/diff/lib/patch/parse.js +167 -0
- data/node_modules/diff/lib/util/array.js +32 -0
- data/node_modules/diff/lib/util/distance-iterator.js +57 -0
- data/node_modules/diff/lib/util/params.js +24 -0
- data/node_modules/diff/package.json +87 -0
- data/node_modules/diff/release-notes.md +303 -0
- data/node_modules/diff/runtime.js +3 -0
- data/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
- data/node_modules/emoji-regex/README.md +73 -0
- data/node_modules/emoji-regex/es2015/index.js +6 -0
- data/node_modules/emoji-regex/es2015/text.js +6 -0
- data/node_modules/emoji-regex/index.d.ts +23 -0
- data/node_modules/emoji-regex/index.js +6 -0
- data/node_modules/emoji-regex/package.json +50 -0
- data/node_modules/emoji-regex/text.js +6 -0
- data/node_modules/escalade/dist/index.js +22 -0
- data/node_modules/escalade/dist/index.mjs +22 -0
- data/node_modules/escalade/index.d.ts +3 -0
- data/node_modules/escalade/license +9 -0
- data/node_modules/escalade/package.json +61 -0
- data/node_modules/escalade/readme.md +211 -0
- data/node_modules/escalade/sync/index.d.ts +2 -0
- data/node_modules/escalade/sync/index.js +18 -0
- data/node_modules/escalade/sync/index.mjs +18 -0
- data/node_modules/esprima/ChangeLog +235 -0
- data/node_modules/esprima/LICENSE.BSD +21 -0
- data/node_modules/esprima/README.md +46 -0
- data/node_modules/esprima/bin/esparse.js +139 -0
- data/node_modules/esprima/bin/esvalidate.js +236 -0
- data/node_modules/esprima/dist/esprima.js +6709 -0
- data/node_modules/esprima/package.json +112 -0
- data/node_modules/fill-range/LICENSE +21 -0
- data/node_modules/fill-range/README.md +237 -0
- data/node_modules/fill-range/index.js +249 -0
- data/node_modules/fill-range/package.json +69 -0
- data/node_modules/fs-extra/CHANGELOG.md +902 -0
- data/node_modules/fs-extra/LICENSE +15 -0
- data/node_modules/fs-extra/README.md +264 -0
- data/node_modules/fs-extra/lib/copy-sync/copy-sync.js +166 -0
- data/node_modules/fs-extra/lib/copy-sync/index.js +5 -0
- data/node_modules/fs-extra/lib/copy/copy.js +232 -0
- data/node_modules/fs-extra/lib/copy/index.js +6 -0
- data/node_modules/fs-extra/lib/empty/index.js +48 -0
- data/node_modules/fs-extra/lib/ensure/file.js +69 -0
- data/node_modules/fs-extra/lib/ensure/index.js +23 -0
- data/node_modules/fs-extra/lib/ensure/link.js +61 -0
- data/node_modules/fs-extra/lib/ensure/symlink-paths.js +99 -0
- data/node_modules/fs-extra/lib/ensure/symlink-type.js +31 -0
- data/node_modules/fs-extra/lib/ensure/symlink.js +63 -0
- data/node_modules/fs-extra/lib/fs/index.js +130 -0
- data/node_modules/fs-extra/lib/index.js +27 -0
- data/node_modules/fs-extra/lib/json/index.js +16 -0
- data/node_modules/fs-extra/lib/json/jsonfile.js +11 -0
- data/node_modules/fs-extra/lib/json/output-json-sync.js +12 -0
- data/node_modules/fs-extra/lib/json/output-json.js +12 -0
- data/node_modules/fs-extra/lib/mkdirs/index.js +14 -0
- data/node_modules/fs-extra/lib/mkdirs/make-dir.js +141 -0
- data/node_modules/fs-extra/lib/move-sync/index.js +5 -0
- data/node_modules/fs-extra/lib/move-sync/move-sync.js +47 -0
- data/node_modules/fs-extra/lib/move/index.js +6 -0
- data/node_modules/fs-extra/lib/move/move.js +65 -0
- data/node_modules/fs-extra/lib/output/index.js +40 -0
- data/node_modules/fs-extra/lib/path-exists/index.js +12 -0
- data/node_modules/fs-extra/lib/remove/index.js +9 -0
- data/node_modules/fs-extra/lib/remove/rimraf.js +302 -0
- data/node_modules/fs-extra/lib/util/stat.js +139 -0
- data/node_modules/fs-extra/lib/util/utimes.js +26 -0
- data/node_modules/fs-extra/package.json +70 -0
- data/node_modules/fs.realpath/LICENSE +43 -0
- data/node_modules/fs.realpath/README.md +33 -0
- data/node_modules/fs.realpath/index.js +66 -0
- data/node_modules/fs.realpath/old.js +303 -0
- data/node_modules/fs.realpath/package.json +26 -0
- data/node_modules/fsevents/LICENSE +22 -0
- data/node_modules/fsevents/README.md +83 -0
- data/node_modules/fsevents/fsevents.d.ts +46 -0
- data/node_modules/fsevents/fsevents.js +82 -0
- data/node_modules/fsevents/fsevents.node +0 -0
- data/node_modules/fsevents/package.json +62 -0
- data/node_modules/get-caller-file/LICENSE.md +6 -0
- data/node_modules/get-caller-file/README.md +41 -0
- data/node_modules/get-caller-file/index.d.ts +2 -0
- data/node_modules/get-caller-file/index.js +22 -0
- data/node_modules/get-caller-file/index.js.map +1 -0
- data/node_modules/get-caller-file/package.json +42 -0
- data/node_modules/glob-parent/CHANGELOG.md +110 -0
- data/node_modules/glob-parent/LICENSE +15 -0
- data/node_modules/glob-parent/README.md +137 -0
- data/node_modules/glob-parent/index.js +42 -0
- data/node_modules/glob-parent/package.json +48 -0
- data/node_modules/glob/LICENSE +21 -0
- data/node_modules/glob/README.md +375 -0
- data/node_modules/glob/changelog.md +67 -0
- data/node_modules/glob/common.js +234 -0
- data/node_modules/glob/glob.js +788 -0
- data/node_modules/glob/package.json +51 -0
- data/node_modules/glob/sync.js +484 -0
- data/node_modules/graceful-fs/LICENSE +15 -0
- data/node_modules/graceful-fs/README.md +133 -0
- data/node_modules/graceful-fs/clone.js +23 -0
- data/node_modules/graceful-fs/graceful-fs.js +373 -0
- data/node_modules/graceful-fs/legacy-streams.js +118 -0
- data/node_modules/graceful-fs/package.json +50 -0
- data/node_modules/graceful-fs/polyfills.js +346 -0
- data/node_modules/inflight/LICENSE +15 -0
- data/node_modules/inflight/README.md +37 -0
- data/node_modules/inflight/inflight.js +54 -0
- data/node_modules/inflight/package.json +29 -0
- data/node_modules/inherits/LICENSE +16 -0
- data/node_modules/inherits/README.md +42 -0
- data/node_modules/inherits/inherits.js +9 -0
- data/node_modules/inherits/inherits_browser.js +27 -0
- data/node_modules/inherits/package.json +29 -0
- data/node_modules/is-binary-path/index.d.ts +17 -0
- data/node_modules/is-binary-path/index.js +7 -0
- data/node_modules/is-binary-path/license +9 -0
- data/node_modules/is-binary-path/package.json +40 -0
- data/node_modules/is-binary-path/readme.md +34 -0
- data/node_modules/is-extglob/LICENSE +21 -0
- data/node_modules/is-extglob/README.md +107 -0
- data/node_modules/is-extglob/index.js +20 -0
- data/node_modules/is-extglob/package.json +69 -0
- data/node_modules/is-fullwidth-code-point/index.d.ts +17 -0
- data/node_modules/is-fullwidth-code-point/index.js +50 -0
- data/node_modules/is-fullwidth-code-point/license +9 -0
- data/node_modules/is-fullwidth-code-point/package.json +42 -0
- data/node_modules/is-fullwidth-code-point/readme.md +39 -0
- data/node_modules/is-glob/LICENSE +21 -0
- data/node_modules/is-glob/README.md +206 -0
- data/node_modules/is-glob/index.js +48 -0
- data/node_modules/is-glob/package.json +81 -0
- data/node_modules/is-number/LICENSE +21 -0
- data/node_modules/is-number/README.md +187 -0
- data/node_modules/is-number/index.js +18 -0
- data/node_modules/is-number/package.json +82 -0
- data/node_modules/isexe/LICENSE +15 -0
- data/node_modules/isexe/README.md +51 -0
- data/node_modules/isexe/index.js +57 -0
- data/node_modules/isexe/mode.js +41 -0
- data/node_modules/isexe/package.json +31 -0
- data/node_modules/isexe/test/basic.js +221 -0
- data/node_modules/isexe/windows.js +42 -0
- data/node_modules/js-yaml/CHANGELOG.md +557 -0
- data/node_modules/js-yaml/LICENSE +21 -0
- data/node_modules/js-yaml/README.md +299 -0
- data/node_modules/js-yaml/bin/js-yaml.js +132 -0
- data/node_modules/js-yaml/dist/js-yaml.js +3989 -0
- data/node_modules/js-yaml/dist/js-yaml.min.js +1 -0
- data/node_modules/js-yaml/index.js +7 -0
- data/node_modules/js-yaml/lib/js-yaml.js +39 -0
- data/node_modules/js-yaml/lib/js-yaml/common.js +59 -0
- data/node_modules/js-yaml/lib/js-yaml/dumper.js +850 -0
- data/node_modules/js-yaml/lib/js-yaml/exception.js +43 -0
- data/node_modules/js-yaml/lib/js-yaml/loader.js +1644 -0
- data/node_modules/js-yaml/lib/js-yaml/mark.js +76 -0
- data/node_modules/js-yaml/lib/js-yaml/schema.js +108 -0
- data/node_modules/js-yaml/lib/js-yaml/schema/core.js +18 -0
- data/node_modules/js-yaml/lib/js-yaml/schema/default_full.js +25 -0
- data/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js +28 -0
- data/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js +17 -0
- data/node_modules/js-yaml/lib/js-yaml/schema/json.js +25 -0
- data/node_modules/js-yaml/lib/js-yaml/type.js +61 -0
- data/node_modules/js-yaml/lib/js-yaml/type/binary.js +138 -0
- data/node_modules/js-yaml/lib/js-yaml/type/bool.js +35 -0
- data/node_modules/js-yaml/lib/js-yaml/type/float.js +116 -0
- data/node_modules/js-yaml/lib/js-yaml/type/int.js +173 -0
- data/node_modules/js-yaml/lib/js-yaml/type/js/function.js +93 -0
- data/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js +60 -0
- data/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js +28 -0
- data/node_modules/js-yaml/lib/js-yaml/type/map.js +8 -0
- data/node_modules/js-yaml/lib/js-yaml/type/merge.js +12 -0
- data/node_modules/js-yaml/lib/js-yaml/type/null.js +34 -0
- data/node_modules/js-yaml/lib/js-yaml/type/omap.js +44 -0
- data/node_modules/js-yaml/lib/js-yaml/type/pairs.js +53 -0
- data/node_modules/js-yaml/lib/js-yaml/type/seq.js +8 -0
- data/node_modules/js-yaml/lib/js-yaml/type/set.js +29 -0
- data/node_modules/js-yaml/lib/js-yaml/type/str.js +8 -0
- data/node_modules/js-yaml/lib/js-yaml/type/timestamp.js +88 -0
- data/node_modules/js-yaml/package.json +49 -0
- data/node_modules/jsonfile/CHANGELOG.md +171 -0
- data/node_modules/jsonfile/LICENSE +15 -0
- data/node_modules/jsonfile/README.md +230 -0
- data/node_modules/jsonfile/index.js +88 -0
- data/node_modules/jsonfile/package.json +40 -0
- data/node_modules/jsonfile/utils.js +14 -0
- data/node_modules/lru-cache/LICENSE +15 -0
- data/node_modules/lru-cache/README.md +166 -0
- data/node_modules/lru-cache/index.js +334 -0
- data/node_modules/lru-cache/package.json +34 -0
- data/node_modules/minimatch/LICENSE +15 -0
- data/node_modules/minimatch/README.md +209 -0
- data/node_modules/minimatch/minimatch.js +923 -0
- data/node_modules/minimatch/package.json +30 -0
- data/node_modules/normalize-path/LICENSE +21 -0
- data/node_modules/normalize-path/README.md +127 -0
- data/node_modules/normalize-path/index.js +35 -0
- data/node_modules/normalize-path/package.json +77 -0
- data/node_modules/once/LICENSE +15 -0
- data/node_modules/once/README.md +79 -0
- data/node_modules/once/once.js +42 -0
- data/node_modules/once/package.json +33 -0
- data/node_modules/path-is-absolute/index.js +20 -0
- data/node_modules/path-is-absolute/license +21 -0
- data/node_modules/path-is-absolute/package.json +43 -0
- data/node_modules/path-is-absolute/readme.md +59 -0
- data/node_modules/path-key/index.d.ts +40 -0
- data/node_modules/path-key/index.js +16 -0
- data/node_modules/path-key/license +9 -0
- data/node_modules/path-key/package.json +39 -0
- data/node_modules/path-key/readme.md +61 -0
- data/node_modules/picomatch/CHANGELOG.md +126 -0
- data/node_modules/picomatch/LICENSE +21 -0
- data/node_modules/picomatch/README.md +707 -0
- data/node_modules/picomatch/index.js +3 -0
- data/node_modules/picomatch/lib/constants.js +179 -0
- data/node_modules/picomatch/lib/parse.js +1084 -0
- data/node_modules/picomatch/lib/picomatch.js +342 -0
- data/node_modules/picomatch/lib/scan.js +391 -0
- data/node_modules/picomatch/lib/utils.js +64 -0
- data/node_modules/picomatch/package.json +81 -0
- data/node_modules/readdirp/LICENSE +21 -0
- data/node_modules/readdirp/README.md +122 -0
- data/node_modules/readdirp/index.d.ts +43 -0
- data/node_modules/readdirp/index.js +287 -0
- data/node_modules/readdirp/package.json +122 -0
- data/node_modules/require-directory/LICENSE +22 -0
- data/node_modules/require-directory/README.markdown +184 -0
- data/node_modules/require-directory/index.js +86 -0
- data/node_modules/require-directory/package.json +40 -0
- data/node_modules/semver/CHANGELOG.md +111 -0
- data/node_modules/semver/LICENSE +15 -0
- data/node_modules/semver/README.md +566 -0
- data/node_modules/semver/bin/semver.js +173 -0
- data/node_modules/semver/classes/comparator.js +135 -0
- data/node_modules/semver/classes/index.js +5 -0
- data/node_modules/semver/classes/range.js +510 -0
- data/node_modules/semver/classes/semver.js +287 -0
- data/node_modules/semver/functions/clean.js +6 -0
- data/node_modules/semver/functions/cmp.js +48 -0
- data/node_modules/semver/functions/coerce.js +51 -0
- data/node_modules/semver/functions/compare-build.js +7 -0
- data/node_modules/semver/functions/compare-loose.js +3 -0
- data/node_modules/semver/functions/compare.js +5 -0
- data/node_modules/semver/functions/diff.js +23 -0
- data/node_modules/semver/functions/eq.js +3 -0
- data/node_modules/semver/functions/gt.js +3 -0
- data/node_modules/semver/functions/gte.js +3 -0
- data/node_modules/semver/functions/inc.js +15 -0
- data/node_modules/semver/functions/lt.js +3 -0
- data/node_modules/semver/functions/lte.js +3 -0
- data/node_modules/semver/functions/major.js +3 -0
- data/node_modules/semver/functions/minor.js +3 -0
- data/node_modules/semver/functions/neq.js +3 -0
- data/node_modules/semver/functions/parse.js +33 -0
- data/node_modules/semver/functions/patch.js +3 -0
- data/node_modules/semver/functions/prerelease.js +6 -0
- data/node_modules/semver/functions/rcompare.js +3 -0
- data/node_modules/semver/functions/rsort.js +3 -0
- data/node_modules/semver/functions/satisfies.js +10 -0
- data/node_modules/semver/functions/sort.js +3 -0
- data/node_modules/semver/functions/valid.js +6 -0
- data/node_modules/semver/index.js +48 -0
- data/node_modules/semver/internal/constants.js +17 -0
- data/node_modules/semver/internal/debug.js +9 -0
- data/node_modules/semver/internal/identifiers.js +23 -0
- data/node_modules/semver/internal/parse-options.js +11 -0
- data/node_modules/semver/internal/re.js +182 -0
- data/node_modules/semver/package.json +41 -0
- data/node_modules/semver/preload.js +2 -0
- data/node_modules/semver/range.bnf +16 -0
- data/node_modules/semver/ranges/gtr.js +4 -0
- data/node_modules/semver/ranges/intersects.js +7 -0
- data/node_modules/semver/ranges/ltr.js +4 -0
- data/node_modules/semver/ranges/max-satisfying.js +25 -0
- data/node_modules/semver/ranges/min-satisfying.js +24 -0
- data/node_modules/semver/ranges/min-version.js +60 -0
- data/node_modules/semver/ranges/outside.js +80 -0
- data/node_modules/semver/ranges/simplify.js +44 -0
- data/node_modules/semver/ranges/subset.js +222 -0
- data/node_modules/semver/ranges/to-comparators.js +8 -0
- data/node_modules/semver/ranges/valid.js +11 -0
- data/node_modules/shebang-command/index.js +19 -0
- data/node_modules/shebang-command/license +9 -0
- data/node_modules/shebang-command/package.json +34 -0
- data/node_modules/shebang-command/readme.md +34 -0
- data/node_modules/shebang-regex/index.d.ts +22 -0
- data/node_modules/shebang-regex/index.js +2 -0
- data/node_modules/shebang-regex/license +9 -0
- data/node_modules/shebang-regex/package.json +35 -0
- data/node_modules/shebang-regex/readme.md +33 -0
- data/node_modules/simple-wcswidth/CHANGELOG.md +13 -0
- data/node_modules/simple-wcswidth/LICENSE +21 -0
- data/node_modules/simple-wcswidth/README.md +100 -0
- data/node_modules/simple-wcswidth/dist/index.d.ts +3 -0
- data/node_modules/simple-wcswidth/dist/index.js +10 -0
- data/node_modules/simple-wcswidth/dist/src/binary-search.d.ts +3 -0
- data/node_modules/simple-wcswidth/dist/src/binary-search.js +24 -0
- data/node_modules/simple-wcswidth/dist/src/models.d.ts +4 -0
- data/node_modules/simple-wcswidth/dist/src/models.js +2 -0
- data/node_modules/simple-wcswidth/dist/src/non-spacing-chars.d.ts +3 -0
- data/node_modules/simple-wcswidth/dist/src/non-spacing-chars.js +149 -0
- data/node_modules/simple-wcswidth/dist/src/wcswidth.d.ts +2 -0
- data/node_modules/simple-wcswidth/dist/src/wcswidth.js +20 -0
- data/node_modules/simple-wcswidth/dist/src/wcwidth.d.ts +2 -0
- data/node_modules/simple-wcswidth/dist/src/wcwidth.js +67 -0
- data/node_modules/simple-wcswidth/package.json +44 -0
- data/node_modules/slash/index.d.ts +25 -0
- data/node_modules/slash/index.js +11 -0
- data/node_modules/slash/license +9 -0
- data/node_modules/slash/package.json +35 -0
- data/node_modules/slash/readme.md +44 -0
- data/node_modules/sprintf-js/LICENSE +24 -0
- data/node_modules/sprintf-js/README.md +88 -0
- data/node_modules/sprintf-js/bower.json +14 -0
- data/node_modules/sprintf-js/demo/angular.html +20 -0
- data/node_modules/sprintf-js/dist/angular-sprintf.min.js +4 -0
- data/node_modules/sprintf-js/dist/angular-sprintf.min.js.map +1 -0
- data/node_modules/sprintf-js/dist/angular-sprintf.min.map +1 -0
- data/node_modules/sprintf-js/dist/sprintf.min.js +4 -0
- data/node_modules/sprintf-js/dist/sprintf.min.js.map +1 -0
- data/node_modules/sprintf-js/dist/sprintf.min.map +1 -0
- data/node_modules/sprintf-js/gruntfile.js +36 -0
- data/node_modules/sprintf-js/package.json +22 -0
- data/node_modules/sprintf-js/src/angular-sprintf.js +18 -0
- data/node_modules/sprintf-js/src/sprintf.js +208 -0
- data/node_modules/sprintf-js/test/test.js +82 -0
- data/node_modules/sqlite-parser/CHANGELOG.md +1263 -0
- data/node_modules/sqlite-parser/LICENSE +22 -0
- data/node_modules/sqlite-parser/README.md +187 -0
- data/node_modules/sqlite-parser/bin/sqlite-parser +7 -0
- data/node_modules/sqlite-parser/dist/sqlite-parser.js +19 -0
- data/node_modules/sqlite-parser/lib/index.js +6 -0
- data/node_modules/sqlite-parser/lib/parser.js +6 -0
- data/node_modules/sqlite-parser/lib/streaming-shim.js +6 -0
- data/node_modules/sqlite-parser/lib/streaming.js +6 -0
- data/node_modules/sqlite-parser/lib/tracer.js +6 -0
- data/node_modules/sqlite-parser/package.json +75 -0
- data/node_modules/string-width/index.d.ts +29 -0
- data/node_modules/string-width/index.js +47 -0
- data/node_modules/string-width/license +9 -0
- data/node_modules/string-width/package.json +56 -0
- data/node_modules/string-width/readme.md +50 -0
- data/node_modules/strip-ansi/index.d.ts +17 -0
- data/node_modules/strip-ansi/index.js +4 -0
- data/node_modules/strip-ansi/license +9 -0
- data/node_modules/strip-ansi/package.json +54 -0
- data/node_modules/strip-ansi/readme.md +46 -0
- data/node_modules/to-regex-range/LICENSE +21 -0
- data/node_modules/to-regex-range/README.md +305 -0
- data/node_modules/to-regex-range/index.js +288 -0
- data/node_modules/to-regex-range/package.json +88 -0
- data/node_modules/universalify/LICENSE +20 -0
- data/node_modules/universalify/README.md +76 -0
- data/node_modules/universalify/index.js +24 -0
- data/node_modules/universalify/package.json +34 -0
- data/node_modules/which/CHANGELOG.md +166 -0
- data/node_modules/which/LICENSE +15 -0
- data/node_modules/which/README.md +54 -0
- data/node_modules/which/bin/node-which +52 -0
- data/node_modules/which/package.json +43 -0
- data/node_modules/which/which.js +125 -0
- data/node_modules/wrap-ansi/index.js +216 -0
- data/node_modules/wrap-ansi/license +9 -0
- data/node_modules/wrap-ansi/package.json +62 -0
- data/node_modules/wrap-ansi/readme.md +91 -0
- data/node_modules/wrappy/LICENSE +15 -0
- data/node_modules/wrappy/README.md +36 -0
- data/node_modules/wrappy/package.json +29 -0
- data/node_modules/wrappy/wrappy.js +33 -0
- data/node_modules/y18n/CHANGELOG.md +100 -0
- data/node_modules/y18n/LICENSE +13 -0
- data/node_modules/y18n/README.md +127 -0
- data/node_modules/y18n/build/index.cjs +203 -0
- data/node_modules/y18n/build/lib/cjs.js +6 -0
- data/node_modules/y18n/build/lib/index.js +174 -0
- data/node_modules/y18n/build/lib/platform-shims/node.js +19 -0
- data/node_modules/y18n/index.mjs +8 -0
- data/node_modules/y18n/package.json +70 -0
- data/node_modules/yallist/LICENSE +15 -0
- data/node_modules/yallist/README.md +204 -0
- data/node_modules/yallist/iterator.js +8 -0
- data/node_modules/yallist/package.json +29 -0
- data/node_modules/yallist/yallist.js +426 -0
- data/node_modules/yargs-parser/CHANGELOG.md +263 -0
- data/node_modules/yargs-parser/LICENSE.txt +14 -0
- data/node_modules/yargs-parser/README.md +518 -0
- data/node_modules/yargs-parser/browser.js +29 -0
- data/node_modules/yargs-parser/build/index.cjs +1042 -0
- data/node_modules/yargs-parser/build/lib/index.js +59 -0
- data/node_modules/yargs-parser/build/lib/string-utils.js +65 -0
- data/node_modules/yargs-parser/build/lib/tokenize-arg-string.js +40 -0
- data/node_modules/yargs-parser/build/lib/yargs-parser-types.js +12 -0
- data/node_modules/yargs-parser/build/lib/yargs-parser.js +1037 -0
- data/node_modules/yargs-parser/package.json +87 -0
- data/node_modules/yargs/CHANGELOG.md +151 -0
- data/node_modules/yargs/LICENSE +21 -0
- data/node_modules/yargs/README.md +204 -0
- data/node_modules/yargs/browser.mjs +7 -0
- data/node_modules/yargs/build/index.cjs +1 -0
- data/node_modules/yargs/build/lib/argsert.js +62 -0
- data/node_modules/yargs/build/lib/command.js +436 -0
- data/node_modules/yargs/build/lib/completion-templates.js +48 -0
- data/node_modules/yargs/build/lib/completion.js +166 -0
- data/node_modules/yargs/build/lib/middleware.js +85 -0
- data/node_modules/yargs/build/lib/parse-command.js +32 -0
- data/node_modules/yargs/build/lib/typings/common-types.js +9 -0
- data/node_modules/yargs/build/lib/typings/yargs-parser-types.js +1 -0
- data/node_modules/yargs/build/lib/usage.js +567 -0
- data/node_modules/yargs/build/lib/utils/apply-extends.js +59 -0
- data/node_modules/yargs/build/lib/utils/is-promise.js +5 -0
- data/node_modules/yargs/build/lib/utils/levenshtein.js +26 -0
- data/node_modules/yargs/build/lib/utils/maybe-async-result.js +17 -0
- data/node_modules/yargs/build/lib/utils/obj-filter.js +10 -0
- data/node_modules/yargs/build/lib/utils/process-argv.js +17 -0
- data/node_modules/yargs/build/lib/utils/set-blocking.js +12 -0
- data/node_modules/yargs/build/lib/utils/which-module.js +10 -0
- data/node_modules/yargs/build/lib/validation.js +279 -0
- data/node_modules/yargs/build/lib/yargs-factory.js +1452 -0
- data/node_modules/yargs/build/lib/yerror.js +7 -0
- data/node_modules/yargs/helpers/helpers.mjs +10 -0
- data/node_modules/yargs/helpers/index.js +14 -0
- data/node_modules/yargs/helpers/package.json +3 -0
- data/node_modules/yargs/index.cjs +43 -0
- data/node_modules/yargs/index.mjs +8 -0
- data/node_modules/yargs/lib/platform-shims/browser.mjs +94 -0
- data/node_modules/yargs/lib/platform-shims/esm.mjs +67 -0
- data/node_modules/yargs/locales/be.json +46 -0
- data/node_modules/yargs/locales/de.json +46 -0
- data/node_modules/yargs/locales/en.json +51 -0
- data/node_modules/yargs/locales/es.json +46 -0
- data/node_modules/yargs/locales/fi.json +49 -0
- data/node_modules/yargs/locales/fr.json +53 -0
- data/node_modules/yargs/locales/hi.json +49 -0
- data/node_modules/yargs/locales/hu.json +46 -0
- data/node_modules/yargs/locales/id.json +50 -0
- data/node_modules/yargs/locales/it.json +46 -0
- data/node_modules/yargs/locales/ja.json +51 -0
- data/node_modules/yargs/locales/ko.json +49 -0
- data/node_modules/yargs/locales/nb.json +44 -0
- data/node_modules/yargs/locales/nl.json +49 -0
- data/node_modules/yargs/locales/nn.json +44 -0
- data/node_modules/yargs/locales/pirate.json +13 -0
- data/node_modules/yargs/locales/pl.json +49 -0
- data/node_modules/yargs/locales/pt.json +45 -0
- data/node_modules/yargs/locales/pt_BR.json +48 -0
- data/node_modules/yargs/locales/ru.json +46 -0
- data/node_modules/yargs/locales/th.json +46 -0
- data/node_modules/yargs/locales/tr.json +48 -0
- data/node_modules/yargs/locales/uk_UA.json +51 -0
- data/node_modules/yargs/locales/zh_CN.json +48 -0
- data/node_modules/yargs/locales/zh_TW.json +47 -0
- data/node_modules/yargs/package.json +116 -0
- data/node_modules/yargs/yargs +9 -0
- data/spec/fixtures/depends/revoke_api_key.appmap.json +3 -3
- data/spec/fixtures/depends/user_page_scenario.appmap.json +3 -3
- metadata +956 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8fecb692441e76ccbac48b93a85c46103a6f0a58768ab015ba4328828862b093
|
4
|
+
data.tar.gz: 5834edc795e1a0d5c627d69c9f7da81d8a4f1ab03eb51cde7b0c27c3ca686319
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8f22eb5fda7a94a2539d2810fdf871e33b71ffb1c07d93ce3f55620df175287537a4e5f66b1dec971063903c66b37fd12fefef7a83547667baaaa9437b41eb17
|
7
|
+
data.tar.gz: d56f26d16f8f2be4dcd3ec55bf2bc07f3c112a8c1e2015d4afef514c495952ef5691a9ace0c510b9961d113d87f4e811b0618c70ecd2191b04d5807c29c75e27
|
data/CHANGELOG.md
CHANGED
data/lib/appmap/version.rb
CHANGED
@@ -0,0 +1,96 @@
|
|
1
|
+
# [@appland/cli-v1.3.2](https://github.com/applandinc/appmap-js/compare/@appland/cli-v1.3.1...@appland/cli-v1.3.2) (2021-07-06)
|
2
|
+
|
3
|
+
|
4
|
+
### Bug Fixes
|
5
|
+
|
6
|
+
* Fix parent tree assignment in canonicalization ([fd54afa](https://github.com/applandinc/appmap-js/commit/fd54afa722166ce1ac022cbd649827ac2fa84b53))
|
7
|
+
|
8
|
+
# [@appland/cli-v1.3.1](https://github.com/applandinc/appmap-js/compare/@appland/cli-v1.3.0...@appland/cli-v1.3.1) (2021-07-02)
|
9
|
+
|
10
|
+
|
11
|
+
### Bug Fixes
|
12
|
+
|
13
|
+
* Find all matching events in each AppMap ([de578c7](https://github.com/applandinc/appmap-js/commit/de578c73864e10c6b815ac460fb94b8a0b4eab92))
|
14
|
+
|
15
|
+
# [@appland/cli-v1.3.0](https://github.com/applandinc/appmap-js/compare/@appland/cli-v1.2.0...@appland/cli-v1.3.0) (2021-07-02)
|
16
|
+
|
17
|
+
|
18
|
+
### Bug Fixes
|
19
|
+
|
20
|
+
* Don't emit trigrams with no caller and no callee ([65be7e5](https://github.com/applandinc/appmap-js/commit/65be7e5c03c3cd8a233c77bbb85c5ca54a563e07))
|
21
|
+
* Only show progress bars in interactive mode ([6436a3b](https://github.com/applandinc/appmap-js/commit/6436a3b7bff79eafcfef554eb27dd581113bd9a0))
|
22
|
+
* Refine JSON output of inspect command ([101e97e](https://github.com/applandinc/appmap-js/commit/101e97e3014ac41eda49b96b2f5a4a080bbf7f07))
|
23
|
+
* Remove unused functions ([fe03064](https://github.com/applandinc/appmap-js/commit/fe030646ed6e85ecf3afc7a5f36948988e37e39e))
|
24
|
+
* Update the AppMap index before the 'inspect' command runs ([1983813](https://github.com/applandinc/appmap-js/commit/19838133180ece16879af622bf3ccb576fc6de27))
|
25
|
+
|
26
|
+
|
27
|
+
### Features
|
28
|
+
|
29
|
+
* Add 'inventory' CLI command ([8175fb0](https://github.com/applandinc/appmap-js/commit/8175fb0727b40fdfc35720ead7362ae46ea2d877))
|
30
|
+
* Add database_type to CodeObjectType.QUERY ([8787b2d](https://github.com/applandinc/appmap-js/commit/8787b2de0e05bce6753c90b3b6f08115c94e8cc7))
|
31
|
+
* Add fingerprint strategies ([066bf9e](https://github.com/applandinc/appmap-js/commit/066bf9e1d2cf4767ca105d6f794daf8f82acaed5))
|
32
|
+
* App.Land client ([775abb3](https://github.com/applandinc/appmap-js/commit/775abb3ad598031d9b95f20e7b12f88bd8d8da3b))
|
33
|
+
* Fingerprint classes and packages ([7448804](https://github.com/applandinc/appmap-js/commit/74488040e804a6f57a19878980fa3ace25d6feb4))
|
34
|
+
* Store the database_type in query classMap entries ([7a44af6](https://github.com/applandinc/appmap-js/commit/7a44af6504dc78574b3ba9eb5d1edb60d3124a44))
|
35
|
+
|
36
|
+
# [@appland/cli-v1.2.0](https://github.com/applandinc/appmap-js/compare/@appland/cli-v1.1.0...@appland/cli-v1.2.0) (2021-06-29)
|
37
|
+
|
38
|
+
|
39
|
+
### Features
|
40
|
+
|
41
|
+
* Search by package and class ([0b14a27](https://github.com/applandinc/appmap-js/commit/0b14a2727f9aadbb43b69ac14d53258f45b20cf5))
|
42
|
+
* Search for database:, http:, query: ([21df198](https://github.com/applandinc/appmap-js/commit/21df1983e47f3e77c2476dcf75fa8b8ee4ca5465))
|
43
|
+
* Show progress bar while loading 'inspect' results ([2e3c410](https://github.com/applandinc/appmap-js/commit/2e3c410ea5d60b69b6f0ea5ef035f30f289088b8))
|
44
|
+
|
45
|
+
# [@appland/cli-v1.1.0](https://github.com/applandinc/appmap-js/compare/@appland/cli-v1.0.4...@appland/cli-v1.1.0) (2021-06-16)
|
46
|
+
|
47
|
+
|
48
|
+
### Bug Fixes
|
49
|
+
|
50
|
+
* Remove 'example' because it adds so much noise ([17fb066](https://github.com/applandinc/appmap-js/commit/17fb066ba0e260911d4b204f6f6b4b310a13b7e1))
|
51
|
+
|
52
|
+
|
53
|
+
### Features
|
54
|
+
|
55
|
+
* Add 'swagger' command to the CLI ([3cb4380](https://github.com/applandinc/appmap-js/commit/3cb43808918dad92766b863326f0ff500cc235b2))
|
56
|
+
* Add version file and created time to the AppMap index ([7496e3c](https://github.com/applandinc/appmap-js/commit/7496e3ceaf1dee3f96028d64246d7ea34b314386))
|
57
|
+
* Find and print info about a named function ([544db5c](https://github.com/applandinc/appmap-js/commit/544db5ca402d9e3399326f28da7d3a43a606f5c4))
|
58
|
+
* Search AppMaps for tables and routes ([e78d5b9](https://github.com/applandinc/appmap-js/commit/e78d5b91686818001a28ac6aee93ff388ec754e8))
|
59
|
+
|
60
|
+
# [@appland/cli-v1.0.4](https://github.com/applandinc/appmap-js/compare/@appland/cli-v1.0.3...@appland/cli-v1.0.4) (2021-05-28)
|
61
|
+
|
62
|
+
|
63
|
+
### Bug Fixes
|
64
|
+
|
65
|
+
* Configure src/cli.js as the bin script for packages/cli ([0de396a](https://github.com/applandinc/appmap-js/commit/0de396a030c9451ee0f930a0f4a81281305ee312))
|
66
|
+
* In dependency analysis, read the file mtime properly as the value of the file ([3700e96](https://github.com/applandinc/appmap-js/commit/3700e96caa322969d25332a613d6a6645d7d5ca5))
|
67
|
+
* Remove dependency on yargs/helpers ([5e603d5](https://github.com/applandinc/appmap-js/commit/5e603d5b2c9e606ec82ae23ba2171f0327a7b658))
|
68
|
+
|
69
|
+
# [@appland/cli-v1.0.3](https://github.com/applandinc/appmap-js/compare/@appland/cli-v1.0.2...@appland/cli-v1.0.3) (2021-05-18)
|
70
|
+
|
71
|
+
|
72
|
+
### Bug Fixes
|
73
|
+
|
74
|
+
* Update local dependencies ([f0d3281](https://github.com/applandinc/appmap-js/commit/f0d328161499999ee98fbb3aec2d438b3095bd0f))
|
75
|
+
* Update yargs to v17.0 ([278f1da](https://github.com/applandinc/appmap-js/commit/278f1daab7bb6fc8371ac80bf210a1a6fce76f79))
|
76
|
+
|
77
|
+
# [@appland/cli-v1.0.2](https://github.com/applandinc/appmap-js/compare/@appland/cli-v1.0.1...@appland/cli-v1.0.2) (2021-05-11)
|
78
|
+
|
79
|
+
|
80
|
+
### Bug Fixes
|
81
|
+
|
82
|
+
* Add publish config ([118c54f](https://github.com/applandinc/appmap-js/commit/118c54f3db08f19de39bca7d67abd36a0071a20e))
|
83
|
+
|
84
|
+
# [@appland/cli-v1.0.1](https://github.com/applandinc/appmap-js/compare/@appland/cli-v1.0.0...@appland/cli-v1.0.1) (2021-05-11)
|
85
|
+
|
86
|
+
|
87
|
+
### Bug Fixes
|
88
|
+
|
89
|
+
* Flag package as public ([67e179c](https://github.com/applandinc/appmap-js/commit/67e179cd72ba247903764de25d8c86e0dd07bf9b))
|
90
|
+
|
91
|
+
# @appland/cli-v1.0.0 (2021-05-11)
|
92
|
+
|
93
|
+
|
94
|
+
### Features
|
95
|
+
|
96
|
+
* Initial release ([#195](https://github.com/applandinc/appmap-js/issues/195)) ([c4776a0](https://github.com/applandinc/appmap-js/commit/c4776a0514c333746846b8ffca88465f8c2739ee))
|
@@ -0,0 +1,49 @@
|
|
1
|
+
{
|
2
|
+
"name": "@appland/cli",
|
3
|
+
"version": "1.3.2",
|
4
|
+
"description": "",
|
5
|
+
"main": "src/cli.js",
|
6
|
+
"bin": {
|
7
|
+
"appmap-cli": "src/cli.js"
|
8
|
+
},
|
9
|
+
"publishConfig": {
|
10
|
+
"access": "public"
|
11
|
+
},
|
12
|
+
"scripts": {
|
13
|
+
"lint": "eslint 'src/**/*.js' 'tests/**/*.js'",
|
14
|
+
"lint:fix": "eslint 'src/**/*.js' 'tests/**/*.js' --fix",
|
15
|
+
"pre-commit": "lint-staged",
|
16
|
+
"test": "jest"
|
17
|
+
},
|
18
|
+
"lint-staged": {
|
19
|
+
"*.{js,md,json}": [
|
20
|
+
"prettier --write"
|
21
|
+
]
|
22
|
+
},
|
23
|
+
"author": "",
|
24
|
+
"license": "MIT",
|
25
|
+
"devDependencies": {
|
26
|
+
"eslint": "^7.25.0",
|
27
|
+
"eslint-config-airbnb-base": "^14.2.1",
|
28
|
+
"eslint-config-prettier": "^8.3.0",
|
29
|
+
"eslint-plugin-import": "^2.22.1",
|
30
|
+
"eslint-plugin-prettier": "^3.4.0",
|
31
|
+
"jest": "^26.6.3",
|
32
|
+
"lint-staged": "^10.5.4",
|
33
|
+
"prettier": "^2.2.1"
|
34
|
+
},
|
35
|
+
"dependencies": {
|
36
|
+
"@appland/models": "1.3.0",
|
37
|
+
"async": "^3.2.0",
|
38
|
+
"chokidar": "^3.5.1",
|
39
|
+
"cli-progress": "^3.9.0",
|
40
|
+
"console-table-printer": "^2.9.0",
|
41
|
+
"crypto-js": "^4.0.0",
|
42
|
+
"diff": "^5.0.0",
|
43
|
+
"fs-extra": "^9.1.0",
|
44
|
+
"glob": "^7.1.6",
|
45
|
+
"js-yaml": "^3.14.1",
|
46
|
+
"semver": "^7.3.5",
|
47
|
+
"yargs": "^17.0.1"
|
48
|
+
}
|
49
|
+
}
|
@@ -0,0 +1,39 @@
|
|
1
|
+
const fsp = require('fs').promises;
|
2
|
+
const { baseName, listAppMapFiles } = require('./utils');
|
3
|
+
|
4
|
+
/**
|
5
|
+
* appMapCatalog creates a lookup table of all the AppMap metadata in a directory (recursively).
|
6
|
+
*
|
7
|
+
* @param {string} directory path to the directory.
|
8
|
+
* @returns {Object<String,Metadata>} Map of AppMap names to metadata objects.
|
9
|
+
*/
|
10
|
+
async function appMapCatalog(directory) {
|
11
|
+
const appMapsByName = {};
|
12
|
+
const appMapFiles = [];
|
13
|
+
await listAppMapFiles(directory, (file) => {
|
14
|
+
appMapFiles.push(file);
|
15
|
+
});
|
16
|
+
|
17
|
+
await Promise.all(
|
18
|
+
// eslint-disable-next-line prefer-arrow-callback
|
19
|
+
appMapFiles.map(async (file) => {
|
20
|
+
const data = await fsp.readFile(`${baseName(file)}.metadata.json`);
|
21
|
+
const metadata = JSON.parse(data);
|
22
|
+
const entry = {
|
23
|
+
fileName: file,
|
24
|
+
metadata,
|
25
|
+
};
|
26
|
+
if (appMapsByName[metadata.name]) {
|
27
|
+
console.warn(
|
28
|
+
`AppMap name ${metadata.name} is not unique in the mapset`
|
29
|
+
);
|
30
|
+
} else {
|
31
|
+
appMapsByName[metadata.name] = entry;
|
32
|
+
}
|
33
|
+
})
|
34
|
+
);
|
35
|
+
|
36
|
+
return appMapsByName;
|
37
|
+
}
|
38
|
+
|
39
|
+
module.exports = appMapCatalog;
|
@@ -0,0 +1,55 @@
|
|
1
|
+
// @ts-check
|
2
|
+
|
3
|
+
const { request: httpRequest } = require('http');
|
4
|
+
const { request: httpsRequest } = require('https');
|
5
|
+
const { baseURL, apiKey, exists } = require('./settings');
|
6
|
+
|
7
|
+
/**
|
8
|
+
* Loads AppMap data from UUID.
|
9
|
+
*
|
10
|
+
* @param {string} uuid
|
11
|
+
* @returns {Promise<AppMapData>}
|
12
|
+
*/
|
13
|
+
const getAppMap = async (uuid) => {
|
14
|
+
if (!exists) {
|
15
|
+
throw new Error(`AppMap client is not configured`);
|
16
|
+
}
|
17
|
+
|
18
|
+
return new Promise((resolve, reject) => {
|
19
|
+
const getScenarioURL = new URL([baseURL, 'api/appmaps', uuid].join('/'));
|
20
|
+
const requestFunction =
|
21
|
+
getScenarioURL.protocol === 'https:' ? httpsRequest : httpRequest;
|
22
|
+
const req = requestFunction(
|
23
|
+
getScenarioURL,
|
24
|
+
{
|
25
|
+
headers: {
|
26
|
+
Authorization: `Bearer ${apiKey}`,
|
27
|
+
Accept: 'application/json',
|
28
|
+
},
|
29
|
+
},
|
30
|
+
// eslint-disable-next-line consistent-return
|
31
|
+
(res) => {
|
32
|
+
if (res.statusCode >= 300) {
|
33
|
+
return reject(res.statusCode);
|
34
|
+
}
|
35
|
+
let data = '';
|
36
|
+
res.setEncoding('utf8');
|
37
|
+
res.on('data', (chunk) => {
|
38
|
+
data += chunk;
|
39
|
+
});
|
40
|
+
res.on('end', () => {
|
41
|
+
resolve(JSON.parse(data));
|
42
|
+
});
|
43
|
+
}
|
44
|
+
);
|
45
|
+
|
46
|
+
req.on('error', (e) => {
|
47
|
+
reject(e);
|
48
|
+
});
|
49
|
+
|
50
|
+
// Write data to request body
|
51
|
+
req.end();
|
52
|
+
});
|
53
|
+
};
|
54
|
+
|
55
|
+
module.exports = getAppMap;
|
@@ -0,0 +1,58 @@
|
|
1
|
+
// @ts-check
|
2
|
+
|
3
|
+
const { request: httpRequest } = require('http');
|
4
|
+
const { request: httpsRequest } = require('https');
|
5
|
+
const { baseURL, apiKey, exists } = require('./settings');
|
6
|
+
|
7
|
+
/** @typedef {import('../diff/types').AppMapListItem} AppMapListItem */
|
8
|
+
|
9
|
+
/**
|
10
|
+
* Lists AppMaps in a mapset.
|
11
|
+
*
|
12
|
+
* @param {number} mapset
|
13
|
+
* @returns {Promise<AppMapListItem[]>}
|
14
|
+
*/
|
15
|
+
const listAppMaps = async (mapset) => {
|
16
|
+
if (!exists) {
|
17
|
+
throw new Error(`AppMap client is not configured`);
|
18
|
+
}
|
19
|
+
|
20
|
+
return new Promise((resolve, reject) => {
|
21
|
+
const listAppMapsURL = new URL([baseURL, 'api/appmaps'].join('/'));
|
22
|
+
listAppMapsURL.searchParams.append('mapsets[]', mapset.toString());
|
23
|
+
const requestFunction =
|
24
|
+
listAppMapsURL.protocol === 'https:' ? httpsRequest : httpRequest;
|
25
|
+
const req = requestFunction(
|
26
|
+
listAppMapsURL,
|
27
|
+
{
|
28
|
+
headers: {
|
29
|
+
Authorization: `Bearer ${apiKey}`,
|
30
|
+
Accept: 'application/json',
|
31
|
+
},
|
32
|
+
},
|
33
|
+
// eslint-disable-next-line consistent-return
|
34
|
+
(res) => {
|
35
|
+
if (res.statusCode >= 300) {
|
36
|
+
return reject(res.statusCode);
|
37
|
+
}
|
38
|
+
let data = '';
|
39
|
+
res.setEncoding('utf8');
|
40
|
+
res.on('data', (chunk) => {
|
41
|
+
data += chunk;
|
42
|
+
});
|
43
|
+
res.on('end', () => {
|
44
|
+
resolve(JSON.parse(data));
|
45
|
+
});
|
46
|
+
}
|
47
|
+
);
|
48
|
+
|
49
|
+
req.on('error', (e) => {
|
50
|
+
reject(e);
|
51
|
+
});
|
52
|
+
|
53
|
+
// Write data to request body
|
54
|
+
req.end();
|
55
|
+
});
|
56
|
+
};
|
57
|
+
|
58
|
+
module.exports = listAppMaps;
|
@@ -0,0 +1,62 @@
|
|
1
|
+
// @ts-check
|
2
|
+
|
3
|
+
const { join } = require('path');
|
4
|
+
const { homedir } = require('os');
|
5
|
+
const { statSync, readFileSync } = require('fs');
|
6
|
+
const yaml = require('js-yaml');
|
7
|
+
|
8
|
+
/**
|
9
|
+
* @param {string} msg
|
10
|
+
* @returns {{baseURL: string, apiKey: string, exists: boolean}}
|
11
|
+
*/
|
12
|
+
const failUsage = (msg) => {
|
13
|
+
console.warn(msg);
|
14
|
+
return { baseURL: null, apiKey: null, exists: false };
|
15
|
+
};
|
16
|
+
|
17
|
+
const { baseURL, apiKey, exists } =
|
18
|
+
/**
|
19
|
+
* @returns {{baseURL, apiKey}}
|
20
|
+
*/
|
21
|
+
(() => {
|
22
|
+
const applandConfigFilePath = join(homedir(), '.appland');
|
23
|
+
const applandConfigStat = statSync(applandConfigFilePath);
|
24
|
+
if (!applandConfigStat.isFile()) {
|
25
|
+
return failUsage(
|
26
|
+
`AppMap Cloud config file ${applandConfigFilePath} does not exist`
|
27
|
+
);
|
28
|
+
}
|
29
|
+
const applandConfig = /** @type {object} */ (
|
30
|
+
yaml.load(readFileSync(applandConfigFilePath).toString())
|
31
|
+
);
|
32
|
+
const currentContext =
|
33
|
+
/** @type {string} */ applandConfig.current_context || 'default';
|
34
|
+
const contextConfig =
|
35
|
+
/** @type {import('./types').Context} */ applandConfig.contexts[
|
36
|
+
currentContext
|
37
|
+
];
|
38
|
+
if (!contextConfig) {
|
39
|
+
return failUsage(
|
40
|
+
`No context configuration '${currentContext}' in AppMap Cloud config file ${applandConfigFilePath}`
|
41
|
+
);
|
42
|
+
}
|
43
|
+
const { url: configURL, api_key: configApiKey } = contextConfig;
|
44
|
+
if (!configURL) {
|
45
|
+
return failUsage(
|
46
|
+
`No 'url' in context configuration '${currentContext}' in AppMap Cloud config file ${applandConfigFilePath}`
|
47
|
+
);
|
48
|
+
}
|
49
|
+
if (!configApiKey) {
|
50
|
+
return failUsage(
|
51
|
+
`No 'api_key' in context configuration '${currentContext}' in AppMap Cloud config file ${applandConfigFilePath}`
|
52
|
+
);
|
53
|
+
}
|
54
|
+
|
55
|
+
return { baseURL: configURL, apiKey: configApiKey, exists: true };
|
56
|
+
})();
|
57
|
+
|
58
|
+
module.exports = {
|
59
|
+
baseURL,
|
60
|
+
apiKey,
|
61
|
+
exists,
|
62
|
+
};
|
@@ -0,0 +1,16 @@
|
|
1
|
+
interface AppMapMetadata {
|
2
|
+
name: string;
|
3
|
+
fingerprints: Fingerprint[];
|
4
|
+
}
|
5
|
+
|
6
|
+
interface AppMapListItem {
|
7
|
+
scenario_uuid: string;
|
8
|
+
metadata: AppMapMetadata;
|
9
|
+
}
|
10
|
+
|
11
|
+
interface AppMapData {
|
12
|
+
version: string;
|
13
|
+
metadata: object;
|
14
|
+
classMap: object[];
|
15
|
+
events: object[];
|
16
|
+
}
|
@@ -0,0 +1,576 @@
|
|
1
|
+
#! /usr/bin/env node
|
2
|
+
/* eslint-disable no-use-before-define */
|
3
|
+
/* eslint-disable no-await-in-loop */
|
4
|
+
/* eslint-disable no-underscore-dangle */
|
5
|
+
/* eslint-disable prefer-arrow-callback */
|
6
|
+
/* eslint-disable func-names */
|
7
|
+
/* eslint-disable max-classes-per-file */
|
8
|
+
|
9
|
+
const yargs = require('yargs');
|
10
|
+
const { diffLines } = require('diff');
|
11
|
+
const yaml = require('js-yaml');
|
12
|
+
const { promises: fsp, readFileSync } = require('fs');
|
13
|
+
const { queue } = require('async');
|
14
|
+
const process = require('process');
|
15
|
+
const readline = require('readline');
|
16
|
+
const { join } = require('path');
|
17
|
+
const cliProgress = require('cli-progress');
|
18
|
+
const { algorithms, canonicalize } = require('./fingerprint');
|
19
|
+
const { verbose, loadAppMap } = require('./utils');
|
20
|
+
const appMapCatalog = require('./appMapCatalog');
|
21
|
+
const FingerprintDirectoryCommand = require('./fingerprint/fingerprintDirectoryCommand');
|
22
|
+
const FingerprintWatchCommand = require('./fingerprint/fingerprintWatchCommand');
|
23
|
+
const Depends = require('./depends');
|
24
|
+
const FindCodeObjects = require('./search/findCodeObjects');
|
25
|
+
const FindEvents = require('./search/findEvents');
|
26
|
+
const FunctionStats = require('./functionStats');
|
27
|
+
const Inspect = require('./inspect');
|
28
|
+
const SwaggerCommand = require('./swagger/command');
|
29
|
+
const InventoryCommand = require('./inventoryCommand');
|
30
|
+
|
31
|
+
class DiffCommand {
|
32
|
+
baseDir(dir) {
|
33
|
+
this.baseDir = dir;
|
34
|
+
return this;
|
35
|
+
}
|
36
|
+
|
37
|
+
workingDir(dir) {
|
38
|
+
this.workingDir = dir;
|
39
|
+
return this;
|
40
|
+
}
|
41
|
+
|
42
|
+
/**
|
43
|
+
* Limits the diff computation to a specific AppMaps.
|
44
|
+
*
|
45
|
+
* @param {string[]} names
|
46
|
+
*/
|
47
|
+
setAppMapNames(names) {
|
48
|
+
this.appMapNames = new Set(names);
|
49
|
+
return this;
|
50
|
+
}
|
51
|
+
|
52
|
+
/**
|
53
|
+
* Gets the names of all AppMaps which are added in the working set.
|
54
|
+
*/
|
55
|
+
async added() {
|
56
|
+
await this._loadCatalogs();
|
57
|
+
|
58
|
+
return [...this.workingAppMapNames].filter(
|
59
|
+
(x) => !this.baseAppMapNames.has(x)
|
60
|
+
);
|
61
|
+
}
|
62
|
+
|
63
|
+
/**
|
64
|
+
* Gets the names of all AppMaps which are present in the base set but not present
|
65
|
+
* in the working set.
|
66
|
+
*/
|
67
|
+
async removed() {
|
68
|
+
await this._loadCatalogs();
|
69
|
+
|
70
|
+
return [...this.baseAppMapNames].filter(
|
71
|
+
(x) => !this.workingAppMapNames.has(x)
|
72
|
+
);
|
73
|
+
}
|
74
|
+
|
75
|
+
/**
|
76
|
+
* Gets the names of all AppMaps which have present in both sets, but whose fingerprints
|
77
|
+
* have changed.
|
78
|
+
*
|
79
|
+
* @param {string} algorithmName Name of the canonicalization algorithm to use for the
|
80
|
+
* comparison.
|
81
|
+
*/
|
82
|
+
async changed(algorithmName) {
|
83
|
+
await this._loadCatalogs();
|
84
|
+
|
85
|
+
const result = [];
|
86
|
+
Object.keys(this.workingCatalog)
|
87
|
+
.filter((name) => this.baseCatalog[name])
|
88
|
+
.filter(this._includesAppMap.bind(this))
|
89
|
+
.forEach((name) => {
|
90
|
+
const base = this.baseCatalog[name];
|
91
|
+
const working = this.workingCatalog[name];
|
92
|
+
if (!base.metadata.fingerprints || !working.metadata.fingerprints) {
|
93
|
+
console.warn(`No metadata.fingerprints found on AppMap ${name}`);
|
94
|
+
return;
|
95
|
+
}
|
96
|
+
|
97
|
+
const baseFingerprint = base.metadata.fingerprints.find(
|
98
|
+
(fingerprint) =>
|
99
|
+
fingerprint.canonicalization_algorithm === algorithmName
|
100
|
+
);
|
101
|
+
const workingFingerprint = working.metadata.fingerprints.find(
|
102
|
+
(fingerprint) =>
|
103
|
+
fingerprint.canonicalization_algorithm === algorithmName
|
104
|
+
);
|
105
|
+
if (!baseFingerprint || !workingFingerprint) {
|
106
|
+
console.warn(
|
107
|
+
`No ${algorithmName} fingerprint found on AppMap ${name}`
|
108
|
+
);
|
109
|
+
return;
|
110
|
+
}
|
111
|
+
|
112
|
+
if (baseFingerprint.digest !== workingFingerprint.digest) {
|
113
|
+
result.push(name);
|
114
|
+
}
|
115
|
+
});
|
116
|
+
return result;
|
117
|
+
}
|
118
|
+
|
119
|
+
_includesAppMap(name) {
|
120
|
+
return !this.appMapNames || this.appMapNames.has(name);
|
121
|
+
}
|
122
|
+
|
123
|
+
// eslint-disable-next-line no-underscore-dangle
|
124
|
+
async _loadCatalogs() {
|
125
|
+
if (!this.workingDir) {
|
126
|
+
throw new Error('Working directory must be specified');
|
127
|
+
}
|
128
|
+
// TODO: Other modes of loading the base data, such as from a remote server, can be supported
|
129
|
+
// in the future.
|
130
|
+
if (!this.baseDir) {
|
131
|
+
throw new Error('Base directory must be specified');
|
132
|
+
}
|
133
|
+
|
134
|
+
this.workingCatalog = await appMapCatalog(this.workingDir);
|
135
|
+
this.baseCatalog = await appMapCatalog(this.baseDir);
|
136
|
+
|
137
|
+
this.workingAppMapNames = new Set(
|
138
|
+
Object.keys(this.workingCatalog).filter(this._includesAppMap.bind(this))
|
139
|
+
);
|
140
|
+
this.baseAppMapNames = new Set(
|
141
|
+
Object.keys(this.baseCatalog).filter(this._includesAppMap.bind(this))
|
142
|
+
);
|
143
|
+
}
|
144
|
+
}
|
145
|
+
|
146
|
+
class DetailedDiff {
|
147
|
+
constructor(algorithm, baseAppMap, workingAppMap) {
|
148
|
+
this.algorithm = algorithm;
|
149
|
+
this.baseAppMap = baseAppMap;
|
150
|
+
this.workingAppMap = workingAppMap;
|
151
|
+
}
|
152
|
+
|
153
|
+
async diff() {
|
154
|
+
const canonicalizeAppMap = (appmap) => {
|
155
|
+
const canonicalForm = canonicalize(this.algorithm, appmap);
|
156
|
+
return yaml.dump(canonicalForm);
|
157
|
+
};
|
158
|
+
const baseDoc = canonicalizeAppMap(this.baseAppMap);
|
159
|
+
const workingDoc = canonicalizeAppMap(this.workingAppMap);
|
160
|
+
return diffLines(baseDoc, workingDoc);
|
161
|
+
}
|
162
|
+
}
|
163
|
+
|
164
|
+
// eslint-disable-next-line no-unused-expressions
|
165
|
+
yargs(process.argv.slice(2))
|
166
|
+
.command(
|
167
|
+
'diff',
|
168
|
+
'Compute the difference between two mapsets',
|
169
|
+
(args) => {
|
170
|
+
args.option('name', {
|
171
|
+
describe: 'indicate a specific AppMap to of compare',
|
172
|
+
});
|
173
|
+
args.option('show-diff', {
|
174
|
+
describe:
|
175
|
+
'compute the diff of the canonicalized forms of each changed AppMap',
|
176
|
+
boolean: true,
|
177
|
+
});
|
178
|
+
args.option('base-dir', {
|
179
|
+
describe: 'directory containing base version AppMaps',
|
180
|
+
});
|
181
|
+
args.option('working-dir', {
|
182
|
+
describe: 'directory containing work-in-progress AppMaps',
|
183
|
+
});
|
184
|
+
},
|
185
|
+
async function (argv) {
|
186
|
+
verbose(argv.verbose);
|
187
|
+
|
188
|
+
let baseDir;
|
189
|
+
let workingDir;
|
190
|
+
const { showDiff } = argv;
|
191
|
+
|
192
|
+
// eslint-disable-next-line prefer-const
|
193
|
+
baseDir = argv.baseDir;
|
194
|
+
// eslint-disable-next-line prefer-const
|
195
|
+
workingDir = argv.workingDir;
|
196
|
+
|
197
|
+
if (!baseDir) {
|
198
|
+
throw new Error('Location of base version AppMaps is required');
|
199
|
+
}
|
200
|
+
if (!workingDir) {
|
201
|
+
throw new Error('Location of work-in-progress AppMaps is required');
|
202
|
+
}
|
203
|
+
|
204
|
+
const diff = new DiffCommand().baseDir(baseDir).workingDir(workingDir);
|
205
|
+
if (argv.name) {
|
206
|
+
diff.setAppMapNames([argv.name]);
|
207
|
+
}
|
208
|
+
|
209
|
+
const diffObject = {
|
210
|
+
added: [...(await diff.added())].sort(),
|
211
|
+
changed: [],
|
212
|
+
};
|
213
|
+
|
214
|
+
const cumulativeChangedAppMaps = new Set();
|
215
|
+
const changed = await Promise.all(
|
216
|
+
Object.keys(algorithms)
|
217
|
+
.map(function (algorithm) {
|
218
|
+
return async function () {
|
219
|
+
const rawList = await diff.changed(algorithm);
|
220
|
+
const changedAppMaps = rawList.filter(
|
221
|
+
(name) => !cumulativeChangedAppMaps.has(name)
|
222
|
+
);
|
223
|
+
changedAppMaps.forEach((name) =>
|
224
|
+
cumulativeChangedAppMaps.add(name)
|
225
|
+
);
|
226
|
+
const changeResult = {
|
227
|
+
algorithm,
|
228
|
+
changed: [],
|
229
|
+
};
|
230
|
+
if (changedAppMaps.length > 0) {
|
231
|
+
if (showDiff) {
|
232
|
+
changeResult.changed = await Promise.all(
|
233
|
+
changedAppMaps.map(
|
234
|
+
// eslint-disable-next-line prettier/prettier
|
235
|
+
async function (name) {
|
236
|
+
return {
|
237
|
+
name,
|
238
|
+
diff: await new DetailedDiff(
|
239
|
+
algorithm,
|
240
|
+
await loadAppMap(diff.baseCatalog[name].fileName),
|
241
|
+
await loadAppMap(diff.workingCatalog[name].fileName)
|
242
|
+
).diff(),
|
243
|
+
};
|
244
|
+
}
|
245
|
+
)
|
246
|
+
);
|
247
|
+
} else {
|
248
|
+
changeResult.changed = changedAppMaps.map((name) => ({
|
249
|
+
name,
|
250
|
+
}));
|
251
|
+
}
|
252
|
+
}
|
253
|
+
return changeResult;
|
254
|
+
};
|
255
|
+
})
|
256
|
+
.map((func) => func())
|
257
|
+
);
|
258
|
+
diffObject.changed = changed;
|
259
|
+
diffObject.removed = [...(await diff.removed())].sort();
|
260
|
+
|
261
|
+
console.log(yaml.dump(diffObject));
|
262
|
+
}
|
263
|
+
)
|
264
|
+
.command(
|
265
|
+
'depends [files]',
|
266
|
+
'Compute a list of AppMaps that are out of date',
|
267
|
+
(args) => {
|
268
|
+
args.positional('files', {
|
269
|
+
describe: 'provide an explicit list of dependency files',
|
270
|
+
});
|
271
|
+
args.option('appmap-dir', {
|
272
|
+
describe: 'directory to recursively inspect for AppMaps',
|
273
|
+
default: 'tmp/appmap',
|
274
|
+
});
|
275
|
+
args.option('base-dir', {
|
276
|
+
describe: 'directory to prepend to each dependency source file',
|
277
|
+
default: '.',
|
278
|
+
});
|
279
|
+
args.option('field', {
|
280
|
+
describe: 'print a field from each matching AppMap',
|
281
|
+
});
|
282
|
+
args.option('stdin-files', {
|
283
|
+
describe:
|
284
|
+
'read the list of changed files from stdin, one file per line',
|
285
|
+
boolean: true,
|
286
|
+
});
|
287
|
+
return args.strict();
|
288
|
+
},
|
289
|
+
async (argv) => {
|
290
|
+
verbose(argv.verbose);
|
291
|
+
|
292
|
+
let { files } = argv;
|
293
|
+
if (argv.stdinFiles) {
|
294
|
+
const stdinFileStr = readFileSync(0).toString();
|
295
|
+
const stdinFiles = stdinFileStr.split('\n');
|
296
|
+
files = (files || []).concat(stdinFiles);
|
297
|
+
if (verbose()) {
|
298
|
+
console.warn(`Computing depends on ${files.join(', ')}`);
|
299
|
+
}
|
300
|
+
}
|
301
|
+
|
302
|
+
if (verbose()) {
|
303
|
+
console.warn(`Testing AppMaps in ${argv.appmapDir}`);
|
304
|
+
}
|
305
|
+
|
306
|
+
const depends = new Depends(argv.appmapDir);
|
307
|
+
if (argv.baseDir) {
|
308
|
+
depends.baseDir = argv.baseDir;
|
309
|
+
}
|
310
|
+
if (files) {
|
311
|
+
depends.files = files;
|
312
|
+
}
|
313
|
+
|
314
|
+
const appMapNames = await depends.depends();
|
315
|
+
const values = [];
|
316
|
+
if (argv.field) {
|
317
|
+
const { field } = argv;
|
318
|
+
// eslint-disable-next-line no-inner-declarations
|
319
|
+
async function printField(appMapBaseName) {
|
320
|
+
const data = await fsp.readFile(
|
321
|
+
join(appMapBaseName, 'metadata.json')
|
322
|
+
);
|
323
|
+
const metadata = JSON.parse(data);
|
324
|
+
const value = metadata[field];
|
325
|
+
if (value) {
|
326
|
+
const tokens = value.split(':');
|
327
|
+
values.push(tokens[0]);
|
328
|
+
} else {
|
329
|
+
console.warn(`No ${field} in ${appMapBaseName}`);
|
330
|
+
}
|
331
|
+
}
|
332
|
+
const q = queue(printField, 5);
|
333
|
+
appMapNames.forEach((name) => q.push(name));
|
334
|
+
await q.drain();
|
335
|
+
} else {
|
336
|
+
appMapNames.forEach((name) => values.push(name));
|
337
|
+
}
|
338
|
+
console.log([...new Set(values)].sort().join('\n'));
|
339
|
+
}
|
340
|
+
)
|
341
|
+
.command(
|
342
|
+
'inspect <code-object>',
|
343
|
+
'Search AppMaps for references to a code object (package, function, class, query, route, etc) and print available event info',
|
344
|
+
(args) => {
|
345
|
+
args.positional('code-object', {
|
346
|
+
describe: 'identifies the code-object to inspect',
|
347
|
+
});
|
348
|
+
args.option('appmap-dir', {
|
349
|
+
describe: 'directory to recursively inspect for AppMaps',
|
350
|
+
default: 'tmp/appmap',
|
351
|
+
});
|
352
|
+
args.option('interactive', {
|
353
|
+
describe: 'interact with the output via CLI',
|
354
|
+
alias: 'i',
|
355
|
+
boolean: true,
|
356
|
+
});
|
357
|
+
return args.strict();
|
358
|
+
},
|
359
|
+
async (argv) => {
|
360
|
+
verbose(argv.verbose);
|
361
|
+
|
362
|
+
const newProgress = () => {
|
363
|
+
if (argv.interactive) {
|
364
|
+
return new cliProgress.SingleBar(
|
365
|
+
{},
|
366
|
+
cliProgress.Presets.shades_classic
|
367
|
+
);
|
368
|
+
}
|
369
|
+
|
370
|
+
return {
|
371
|
+
increment: () => {},
|
372
|
+
start: () => {},
|
373
|
+
stop: () => {},
|
374
|
+
};
|
375
|
+
};
|
376
|
+
|
377
|
+
console.warn('Indexing the AppMap database');
|
378
|
+
await new FingerprintDirectoryCommand(argv.appmapDir).execute();
|
379
|
+
|
380
|
+
console.warn('Finding matching AppMaps');
|
381
|
+
let progress = newProgress();
|
382
|
+
const codeObjectId = argv.codeObject;
|
383
|
+
const finder = new FindCodeObjects(argv.appmapDir, codeObjectId);
|
384
|
+
const codeObjectMatches = await finder.find(
|
385
|
+
(count) => progress.start(count, 0),
|
386
|
+
progress.increment.bind(progress)
|
387
|
+
);
|
388
|
+
progress.stop();
|
389
|
+
|
390
|
+
if (!codeObjectMatches) {
|
391
|
+
return;
|
392
|
+
}
|
393
|
+
|
394
|
+
const filters = [];
|
395
|
+
let stats = null;
|
396
|
+
|
397
|
+
const buildStats = async () => {
|
398
|
+
const result = [];
|
399
|
+
console.warn('Finding matching Events');
|
400
|
+
progress = newProgress();
|
401
|
+
progress.start(codeObjectMatches.length, 0);
|
402
|
+
await Promise.all(
|
403
|
+
codeObjectMatches.map(async (codeObjectMatch) => {
|
404
|
+
const findEvents = new FindEvents(
|
405
|
+
codeObjectMatch.appmap,
|
406
|
+
codeObjectMatch.codeObject
|
407
|
+
);
|
408
|
+
findEvents.filter(filters);
|
409
|
+
const events = await findEvents.matches();
|
410
|
+
result.push(...events);
|
411
|
+
progress.increment();
|
412
|
+
})
|
413
|
+
);
|
414
|
+
progress.stop();
|
415
|
+
console.warn('Collating results...');
|
416
|
+
stats = new FunctionStats(result);
|
417
|
+
};
|
418
|
+
|
419
|
+
await buildStats();
|
420
|
+
|
421
|
+
const interactive = () => {
|
422
|
+
const rl = readline.createInterface({
|
423
|
+
input: process.stdin,
|
424
|
+
output: process.stdout,
|
425
|
+
});
|
426
|
+
rl.on('close', function () {
|
427
|
+
process.exit(0);
|
428
|
+
});
|
429
|
+
|
430
|
+
const home = () => {
|
431
|
+
Inspect.home(codeObjectId, filters, stats, getCommand);
|
432
|
+
};
|
433
|
+
|
434
|
+
const filter = () => {
|
435
|
+
Inspect.filter(rl, filters, stats, buildStats, home);
|
436
|
+
};
|
437
|
+
|
438
|
+
const undoFilter = async () => {
|
439
|
+
await Inspect.undoFilter(filters, buildStats, home);
|
440
|
+
};
|
441
|
+
|
442
|
+
const reset = async () => {
|
443
|
+
await Inspect.reset(filters, buildStats, home);
|
444
|
+
};
|
445
|
+
|
446
|
+
const print = () => {
|
447
|
+
Inspect.print(stats, rl, getCommand, home);
|
448
|
+
};
|
449
|
+
|
450
|
+
const getCommand = () => {
|
451
|
+
console.log();
|
452
|
+
rl.question(
|
453
|
+
'Command (h)ome, (p)rint, (f)ilter, (u)ndo filter, (r)eset filters, (q)uit: ',
|
454
|
+
function (command) {
|
455
|
+
// eslint-disable-next-line default-case
|
456
|
+
switch (command) {
|
457
|
+
case 'h':
|
458
|
+
home();
|
459
|
+
break;
|
460
|
+
case 'p':
|
461
|
+
print();
|
462
|
+
break;
|
463
|
+
case 'f':
|
464
|
+
filter();
|
465
|
+
break;
|
466
|
+
case 'u':
|
467
|
+
undoFilter();
|
468
|
+
break;
|
469
|
+
case 'r':
|
470
|
+
reset();
|
471
|
+
break;
|
472
|
+
case 'q':
|
473
|
+
rl.close();
|
474
|
+
break;
|
475
|
+
default:
|
476
|
+
getCommand();
|
477
|
+
}
|
478
|
+
}
|
479
|
+
);
|
480
|
+
};
|
481
|
+
|
482
|
+
home();
|
483
|
+
};
|
484
|
+
if (argv.interactive) {
|
485
|
+
interactive();
|
486
|
+
} else {
|
487
|
+
console.log(JSON.stringify(stats, null, 2));
|
488
|
+
}
|
489
|
+
}
|
490
|
+
)
|
491
|
+
.command(
|
492
|
+
'index',
|
493
|
+
'Compute fingerprints and update index files for all appmaps in a directory',
|
494
|
+
(args) => {
|
495
|
+
args.option('watch', {
|
496
|
+
describe: 'watch the directory for changes to appmaps',
|
497
|
+
boolean: true,
|
498
|
+
});
|
499
|
+
args.option('appmap-dir', {
|
500
|
+
describe: 'directory to recursively inspect for AppMaps',
|
501
|
+
default: 'tmp/appmap',
|
502
|
+
});
|
503
|
+
return args.strict();
|
504
|
+
},
|
505
|
+
(argv) => {
|
506
|
+
verbose(argv.verbose);
|
507
|
+
|
508
|
+
if (argv.watch) {
|
509
|
+
const cmd = new FingerprintWatchCommand(argv.appmapDir);
|
510
|
+
cmd.execute();
|
511
|
+
|
512
|
+
// eslint-disable-next-line no-inner-declarations
|
513
|
+
function printStatus() {
|
514
|
+
process.stdout.write('\x1B[?25l');
|
515
|
+
const consoleLabel = 'AppMaps processed: 0';
|
516
|
+
process.stdout.write(consoleLabel);
|
517
|
+
setInterval(() => {
|
518
|
+
readline.cursorTo(process.stdout, consoleLabel.length - 1);
|
519
|
+
process.stdout.write(`${cmd.numProcessed}`);
|
520
|
+
}, 200);
|
521
|
+
|
522
|
+
process.on('beforeExit', (/* _code */) => {
|
523
|
+
process.stdout.write(`\x1B[?25h`);
|
524
|
+
});
|
525
|
+
}
|
526
|
+
|
527
|
+
if (!argv.verbose) {
|
528
|
+
printStatus();
|
529
|
+
}
|
530
|
+
} else {
|
531
|
+
new FingerprintDirectoryCommand(argv.appmapDir).execute();
|
532
|
+
}
|
533
|
+
}
|
534
|
+
)
|
535
|
+
.command(
|
536
|
+
'inventory',
|
537
|
+
'Generate canonical lists of the application code object inventory',
|
538
|
+
(args) => {
|
539
|
+
args.option('appmap-dir', {
|
540
|
+
describe: 'directory to recursively inspect for AppMaps',
|
541
|
+
default: 'tmp/appmap',
|
542
|
+
});
|
543
|
+
},
|
544
|
+
async (argv) => {
|
545
|
+
verbose(argv.verbose);
|
546
|
+
|
547
|
+
await new FingerprintDirectoryCommand(argv.appmapDir).execute();
|
548
|
+
|
549
|
+
const inventory = await new InventoryCommand(argv.appmapDir).execute();
|
550
|
+
console.log(yaml.dump(inventory));
|
551
|
+
}
|
552
|
+
)
|
553
|
+
.command(
|
554
|
+
'swagger',
|
555
|
+
'Generate Swagger from AppMaps in a directory',
|
556
|
+
(args) => {
|
557
|
+
args.option('appmap-dir', {
|
558
|
+
describe: 'directory to recursively inspect for AppMaps',
|
559
|
+
default: 'tmp/appmap',
|
560
|
+
});
|
561
|
+
},
|
562
|
+
async (argv) => {
|
563
|
+
verbose(argv.verbose);
|
564
|
+
|
565
|
+
const swagger = await new SwaggerCommand(argv.appmapDir).execute();
|
566
|
+
console.log(yaml.dump(swagger));
|
567
|
+
}
|
568
|
+
)
|
569
|
+
.option('verbose', {
|
570
|
+
alias: 'v',
|
571
|
+
type: 'boolean',
|
572
|
+
description: 'Run with verbose logging',
|
573
|
+
})
|
574
|
+
.strict()
|
575
|
+
.demandCommand()
|
576
|
+
.help().argv;
|