From bbd44b527830cadf77a312eaff255e45e81cc745 Mon Sep 17 00:00:00 2001 From: shrouti1507 <60211312+shrouti1507@users.noreply.github.com> Date: Mon, 9 Jan 2023 11:26:03 +0530 Subject: [PATCH] chore(ci/cd): add GitHub workflows (#152) * feat(dcm floodlight): add iframe support (#80) * feat(dcm floodlight): add iframe support * incorporate webhook regex changes * add testcase for webhook spaced urls Co-authored-by: yashasvibajpai * merge confilicts * merge confilicts * onboarding Gainsight PX source * merge gainsight px source * merge gainsight px source * add testcase * feat: hotfix 1.0.9 (#100) * fix: singer salesforce new version (#89) * fix: singer salesforce new version * fix: new version * fix: revert version * feat: pump version * remove campaign manager from release list * feat: hotfix 1.1.1 (#124) * chore: bumps versions of a few singer source (#123) singer-salesforce: v4.0.2 singer-sendgrid: v1.4 singer-google-search-console: v2.0.3-alpha.10 * chore: bumps version * fix: add coming soon and remove from audience (#139) Co-authored-by: Anant * chore: adding github actions * chore: adding test branch * chore: deleting npm ci from test cases gactions * chore: putting npm ci back * chore: doing npm i * chore: removing npm run build --if-present * chore: edited the test cases action * chore: adding rest of the ghactions * chore: review comments addressed * chore: for QA purpose, will remove later * chore: for QA purpose * chore: review comments addressed * chore: added standard-version in dev dependencies * chore: added source api deploy file * chore: change coverage reports directory * chore: upgrade all the dependencies to the latest version * chore: relocate tests to the standard directory * chore: relocate configs to the source directory * fix: use updated paths in migration script * chore: add required repo files * chore: delete .version file * chore: remove unwanted dependency * fix: schema files path in validator * chore: rename validator file * chore: revamp exports * chore: add nvmrc file * chore: add versionrc file * chore: add several dev tools * chore: fix formatting and linting issues * chore: add lint-staged to pre-commit and fix check:lint script * refactor: revamp test script * fix: format script in package.json * chore(release): 1.3.0 * Revert "chore(release): 1.3.0" This reverts commit f74b0ab8a514438284df68efb3b8a541ac4bdd54. * fix: revamped github workflows * chore: add codeowners file * chore: add github templates * refactor: format github workflows * refactor: relocate latest configuration files * chore: merge latest changes from parent branch * fix: remove redundant case for handling errors * feat: add support for sources validation and more test cases * chore: set the coverage thresholds * fix: syntax issue in housekeeping workflow * fix: convert init method to async * chore: resolve lint issues * chore: add eslint to lint-stage config * chore: add fix option to the eslint command * chore: merge latest changes from parent branch * chore: minor edits in github actions * fix: rename files with standard naming convention * fix: workflow issues * fix: update triggers for the workflows * fix: issues in ghactions post test * chore: adding automatic versioning for the hotfix branches * chore: adding the main branch in the if condition for staging * chore: adding action to delete the hotfix base branch as well * fix: string formatting syntax * fix: remove eslint validation for now Co-authored-by: Gauravudia <60897972+Gauravudia@users.noreply.github.com> Co-authored-by: yashasvibajpai Co-authored-by: a-rampalli Co-authored-by: Anant Co-authored-by: aashishmalik Co-authored-by: Alexandros Milaios Co-authored-by: ItsSudip Co-authored-by: Sudip Paul <67197965+ItsSudip@users.noreply.github.com> Co-authored-by: Debanjan Ganguly Co-authored-by: Anant Jain <62471433+anantjain45823@users.noreply.github.com> Co-authored-by: saikumarrs Co-authored-by: Sai Kumar Battinoju <88789928+saikumarrs@users.noreply.github.com> --- .babelrc | 33 + .eslintignore | 6 + .eslintrc.json | 43 + .github/ISSUE_TEMPLATE/bug_report.md | 26 + .github/ISSUE_TEMPLATE/feature-request.md | 19 + .github/pull_request_template.md | 20 + .github/workflows/check-pr-title.yaml | 16 + .github/workflows/create-hotfix-branch.yaml | 50 + .github/workflows/deploy-to-dev.yaml | 68 + .github/workflows/deploy-to-prod.yaml | 69 + .github/workflows/deploy-to-sources-dev.yaml | 68 + .github/workflows/deploy-to-staging.yaml | 68 + .github/workflows/dev-deploy.yaml | 47 - .github/workflows/draft-new-release.yaml | 95 + .github/workflows/housekeep.yaml | 44 + .github/workflows/prod-deploy.yaml | 37 - .github/workflows/publish-new-release.yaml | 86 + .github/workflows/report-code-coverage.yaml | 20 + .github/workflows/test.yaml | 37 + .gitignore | 3 + .husky/commit-msg | 4 + .husky/pre-commit | 4 + .nvmrc | 1 + .prettierignore | 5 + .prettierrc | 7 + .version | 1 - .versionrc | 12 + .vscode/launch.json | 29 + CODEOWNERS | 1 + CONTRIBUTING.md | 36 + LICENSE | 21 + README.md | 44 +- commitlint.config.js | 3 + .../active_campaign/db_config.json | 42 - .../active_campaign/metadata.json | 34 - data/destinations/active_campaign/schema.json | 28 - data/destinations/adj/db_config.json | 56 - data/destinations/adj/metadata.json | 34 - data/destinations/adj/schema.json | 3 - data/destinations/adj/ui_config.json | 135 - .../adobe_analytics/db_config.json | 110 - .../adobe_analytics/metadata.json | 34 - data/destinations/adobe_analytics/schema.json | 378 - .../adobe_analytics/ui_config.json | 614 - data/destinations/adroll/db_config.json | 45 - data/destinations/adroll/metadata.json | 34 - data/destinations/adroll/schema.json | 73 - data/destinations/af/db_config.json | 62 - data/destinations/af/metadata.json | 34 - data/destinations/af/schema.json | 75 - data/destinations/af/ui_config.json | 143 - data/destinations/airship/db_config.json | 38 - data/destinations/airship/metadata.json | 34 - data/destinations/airship/schema.json | 3 - data/destinations/airship/ui_config.json | 36 - data/destinations/algolia/db_config.json | 38 - data/destinations/algolia/metadata.json | 34 - data/destinations/algolia/schema.json | 3 - data/destinations/algolia/ui_config.json | 43 - data/destinations/am/db_config.json | 141 - data/destinations/am/metadata.json | 34 - data/destinations/am/schema.json | 320 - data/destinations/appcenter/db_config.json | 56 - data/destinations/appcenter/metadata.json | 34 - data/destinations/appcenter/schema.json | 3 - data/destinations/appcenter/ui_config.json | 120 - data/destinations/appcues/db_config.json | 48 - data/destinations/appcues/metadata.json | 34 - data/destinations/appcues/schema.json | 3 - .../destinations/attentive_tag/db_config.json | 36 - data/destinations/attentive_tag/metadata.json | 34 - data/destinations/attentive_tag/schema.json | 19 - .../destinations/attentive_tag/ui_config.json | 31 - data/destinations/attribution/db_config.json | 40 - data/destinations/attribution/metadata.json | 34 - data/destinations/attribution/schema.json | 16 - data/destinations/attribution/ui_config.json | 18 - data/destinations/autopilot/db_config.json | 35 - data/destinations/autopilot/metadata.json | 34 - data/destinations/autopilot/schema.json | 3 - data/destinations/autopilot/ui_config.json | 27 - data/destinations/azure_blob/db_config.json | 37 - data/destinations/azure_blob/metadata.json | 34 - data/destinations/azure_blob/schema.json | 3 - data/destinations/azure_blob/ui_config.json | 75 - .../azure_datalake/db_config.json | 42 - .../destinations/azure_datalake/metadata.json | 34 - data/destinations/azure_datalake/schema.json | 65 - .../azure_datalake/ui_config.json | 136 - .../azure_event_hub/db_config.json | 31 - .../azure_event_hub/metadata.json | 34 - data/destinations/azure_event_hub/schema.json | 3 - .../azure_event_hub/ui_config.json | 36 - .../destinations/azure_synapse/db_config.json | 63 - data/destinations/azure_synapse/metadata.json | 34 - data/destinations/azure_synapse/schema.json | 278 - .../destinations/azure_synapse/ui_config.json | 547 - data/destinations/bingads/db_config.json | 35 - data/destinations/bingads/metadata.json | 34 - data/destinations/bingads/schema.json | 3 - data/destinations/blueshift/db_config.json | 32 - data/destinations/blueshift/metadata.json | 34 - data/destinations/blueshift/schema.json | 3 - data/destinations/blueshift/ui_config.json | 50 - data/destinations/bq/db_config.json | 41 - data/destinations/bq/metadata.json | 34 - data/destinations/bq/schema.json | 66 - data/destinations/bqstream/db_config.json | 39 - data/destinations/bqstream/metadata.json | 34 - data/destinations/bqstream/schema.json | 3 - data/destinations/bqstream/ui_config.json | 49 - data/destinations/branch/db_config.json | 47 - data/destinations/branch/metadata.json | 34 - data/destinations/branch/schema.json | 3 - data/destinations/branch/ui_config.json | 84 - data/destinations/braze/db_config.json | 80 - data/destinations/braze/metadata.json | 34 - data/destinations/braze/schema.json | 113 - data/destinations/bugsnag/db_config.json | 47 - data/destinations/bugsnag/metadata.json | 34 - data/destinations/bugsnag/schema.json | 3 - .../campaign_manager/metadata.json | 34 - .../destinations/campaign_manager/schema.json | 27 - .../campaign_manager/ui_config.json | 52 - data/destinations/candu/db_config.json | 37 - data/destinations/candu/metadata.json | 34 - data/destinations/candu/schema.json | 3 - data/destinations/candu/ui_config.json | 18 - data/destinations/canny/db_config.json | 39 - data/destinations/canny/metadata.json | 34 - data/destinations/canny/schema.json | 31 - data/destinations/canny/ui_config.json | 45 - data/destinations/chartbeat/db_config.json | 39 - data/destinations/chartbeat/metadata.json | 34 - data/destinations/chartbeat/schema.json | 3 - data/destinations/clevertap/db_config.json | 70 - data/destinations/clevertap/metadata.json | 34 - data/destinations/clevertap/schema.json | 3 - data/destinations/clickhouse/db_config.json | 67 - data/destinations/clickhouse/metadata.json | 34 - data/destinations/clickhouse/schema.json | 301 - data/destinations/clickhouse/ui_config.json | 552 - data/destinations/clickup/db_config.json | 42 - data/destinations/clickup/metadata.json | 34 - data/destinations/clickup/schema.json | 48 - data/destinations/clickup/ui_config.json | 68 - .../confluent_cloud/db_config.json | 34 - .../confluent_cloud/metadata.json | 34 - data/destinations/confluent_cloud/schema.json | 3 - .../confluent_cloud/ui_config.json | 46 - data/destinations/convertflow/db_config.json | 44 - data/destinations/convertflow/metadata.json | 34 - data/destinations/convertflow/schema.json | 87 - data/destinations/criteo/db_config.json | 43 - data/destinations/criteo/metadata.json | 34 - data/destinations/criteo/schema.json | 108 - data/destinations/custify/db_config.json | 37 - data/destinations/custify/metadata.json | 34 - data/destinations/custify/schema.json | 18 - data/destinations/custify/ui_config.json | 24 - data/destinations/customerio/db_config.json | 56 - data/destinations/customerio/metadata.json | 34 - data/destinations/customerio/schema.json | 80 - .../dcm_floodlight/db_config.json | 66 - .../destinations/dcm_floodlight/metadata.json | 34 - data/destinations/dcm_floodlight/schema.json | 150 - data/destinations/delighted/db_config.json | 39 - data/destinations/delighted/metadata.json | 34 - data/destinations/delighted/schema.json | 3 - data/destinations/delighted/ui_config.json | 67 - data/destinations/deltalake/db_config.json | 63 - data/destinations/deltalake/metadata.json | 34 - data/destinations/deltalake/schema.json | 248 - data/destinations/deltalake/ui_config.json | 439 - .../digital_ocean_spaces/db_config.json | 36 - .../digital_ocean_spaces/metadata.json | 34 - .../digital_ocean_spaces/schema.json | 3 - .../digital_ocean_spaces/ui_config.json | 57 - data/destinations/discord/db_config.json | 39 - data/destinations/discord/metadata.json | 34 - data/destinations/discord/schema.json | 61 - data/destinations/discord/ui_config.json | 134 - data/destinations/drip/db_config.json | 52 - data/destinations/drip/metadata.json | 34 - data/destinations/drip/schema.json | 3 - data/destinations/engage/db_config.json | 55 - data/destinations/engage/metadata.json | 34 - data/destinations/engage/schema.json | 68 - data/destinations/eventbridge/db_config.json | 44 - data/destinations/eventbridge/metadata.json | 34 - data/destinations/eventbridge/schema.json | 3 - .../metadata.json | 34 - .../facebook_pixel/db_config.json | 71 - .../destinations/facebook_pixel/metadata.json | 34 - data/destinations/facebook_pixel/schema.json | 173 - data/destinations/factorsai/db_config.json | 35 - data/destinations/factorsai/metadata.json | 34 - data/destinations/factorsai/schema.json | 15 - data/destinations/factorsai/ui_config.json | 19 - data/destinations/fb/db_config.json | 53 - data/destinations/fb/metadata.json | 34 - data/destinations/fb/schema.json | 3 - data/destinations/fb/ui_config.json | 138 - .../fb_custom_audience/db_config.json | 68 - .../fb_custom_audience/metadata.json | 34 - .../fb_custom_audience/schema.json | 3 - .../fb_custom_audience/ui_config.json | 395 - data/destinations/firebase/db_config.json | 45 - data/destinations/firebase/metadata.json | 34 - data/destinations/firebase/schema.json | 3 - data/destinations/firebase/ui_config.json | 70 - data/destinations/firehose/db_config.json | 42 - data/destinations/firehose/metadata.json | 34 - data/destinations/firehose/schema.json | 3 - data/destinations/freshmarketer/metadata.json | 34 - data/destinations/freshsales/metadata.json | 34 - data/destinations/fullstory/db_config.json | 43 - data/destinations/fullstory/metadata.json | 34 - data/destinations/fullstory/schema.json | 3 - data/destinations/ga/metadata.json | 34 - data/destinations/ga/schema.json | 228 - data/destinations/ga360/db_config.json | 92 - data/destinations/ga360/metadata.json | 34 - data/destinations/ga360/schema.json | 3 - data/destinations/ga4/metadata.json | 34 - data/destinations/gainsight/db_config.json | 46 - data/destinations/gainsight/metadata.json | 34 - data/destinations/gainsight/schema.json | 3 - data/destinations/gainsight/ui_config.json | 122 - data/destinations/gainsight_px/db_config.json | 41 - data/destinations/gainsight_px/metadata.json | 34 - data/destinations/gainsight_px/schema.json | 3 - data/destinations/gainsight_px/ui_config.json | 81 - data/destinations/gcs/db_config.json | 34 - data/destinations/gcs/metadata.json | 34 - data/destinations/gcs/schema.json | 24 - data/destinations/gcs/ui_config.json | 37 - data/destinations/gcs_datalake/db_config.json | 38 - data/destinations/gcs_datalake/metadata.json | 34 - data/destinations/gcs_datalake/schema.json | 46 - data/destinations/gcs_datalake/ui_config.json | 143 - .../metadata.json | 34 - .../schema.json | 3 - .../ui_config.json | 64 - .../metadata.json | 34 - .../schema.json | 88 - .../ui_config.json | 187 - .../metadata.json | 34 - .../schema.json | 3 - .../ui_config.json | 114 - .../google_cloud_function/db_config.json | 51 - .../google_cloud_function/metadata.json | 34 - .../google_cloud_function/schema.json | 78 - .../google_cloud_function/ui_config.json | 107 - .../google_optimize/db_config.json | 40 - .../google_optimize/metadata.json | 34 - data/destinations/google_optimize/schema.json | 3 - data/destinations/googleads/db_config.json | 49 - data/destinations/googleads/metadata.json | 34 - data/destinations/googleads/schema.json | 137 - data/destinations/googlepubsub/db_config.json | 34 - data/destinations/googlepubsub/metadata.json | 34 - data/destinations/googlepubsub/schema.json | 3 - data/destinations/googlepubsub/ui_config.json | 52 - data/destinations/googlesheets/db_config.json | 34 - data/destinations/googlesheets/metadata.json | 34 - data/destinations/googlesheets/schema.json | 3 - data/destinations/googlesheets/ui_config.json | 53 - data/destinations/gtm/db_config.json | 35 - data/destinations/gtm/metadata.json | 34 - data/destinations/gtm/schema.json | 71 - data/destinations/heap/db_config.json | 47 - data/destinations/heap/metadata.json | 34 - data/destinations/heap/schema.json | 3 - data/destinations/hotjar/db_config.json | 33 - data/destinations/hotjar/metadata.json | 34 - data/destinations/hotjar/schema.json | 3 - data/destinations/hs/db_config.json | 57 - data/destinations/hs/metadata.json | 34 - data/destinations/hs/schema.json | 117 - data/destinations/indicative/db_config.json | 36 - data/destinations/indicative/metadata.json | 34 - data/destinations/indicative/schema.json | 3 - data/destinations/indicative/ui_config.json | 19 - data/destinations/intercom/db_config.json | 59 - data/destinations/intercom/metadata.json | 34 - data/destinations/intercom/schema.json | 3 - data/destinations/iterable/db_config.json | 88 - data/destinations/iterable/metadata.json | 34 - data/destinations/iterable/schema.json | 238 - data/destinations/june/db_config.json | 49 - data/destinations/june/metadata.json | 34 - data/destinations/june/schema.json | 68 - data/destinations/kafka/metadata.json | 34 - data/destinations/kafka/schema.json | 3 - data/destinations/kafka/ui_config.json | 225 - data/destinations/keen/db_config.json | 56 - data/destinations/keen/metadata.json | 34 - data/destinations/keen/schema.json | 3 - data/destinations/kinesis/metadata.json | 34 - data/destinations/kinesis/schema.json | 3 - data/destinations/kissmetrics/db_config.json | 51 - data/destinations/kissmetrics/metadata.json | 34 - data/destinations/kissmetrics/schema.json | 3 - data/destinations/klaviyo/db_config.json | 60 - data/destinations/klaviyo/metadata.json | 34 - data/destinations/klaviyo/schema.json | 3 - data/destinations/kochava/db_config.json | 52 - data/destinations/kochava/metadata.json | 34 - data/destinations/kochava/schema.json | 3 - data/destinations/kochava/ui_config.json | 100 - data/destinations/kustomer/db_config.json | 42 - data/destinations/kustomer/metadata.json | 34 - data/destinations/kustomer/schema.json | 3 - data/destinations/kustomer/ui_config.json | 57 - data/destinations/lambda/db_config.json | 45 - data/destinations/lambda/metadata.json | 34 - data/destinations/lambda/schema.json | 40 - data/destinations/launchdarkly/db_config.json | 37 - data/destinations/launchdarkly/metadata.json | 34 - data/destinations/launchdarkly/schema.json | 3 - data/destinations/leanplum/db_config.json | 62 - data/destinations/leanplum/metadata.json | 34 - data/destinations/leanplum/schema.json | 3 - data/destinations/leanplum/ui_config.json | 111 - .../linkedin_insight_tag/db_config.json | 34 - .../linkedin_insight_tag/metadata.json | 34 - .../linkedin_insight_tag/schema.json | 3 - data/destinations/livechat/db_config.json | 46 - data/destinations/livechat/metadata.json | 34 - data/destinations/livechat/schema.json | 90 - data/destinations/lotame/db_config.json | 45 - data/destinations/lotame/metadata.json | 34 - data/destinations/lotame/schema.json | 3 - .../destinations/lotame_mobile/db_config.json | 39 - data/destinations/lotame_mobile/metadata.json | 34 - data/destinations/lotame_mobile/schema.json | 3 - .../destinations/lotame_mobile/ui_config.json | 125 - data/destinations/lytics/db_config.json | 57 - data/destinations/lytics/metadata.json | 34 - data/destinations/lytics/schema.json | 3 - data/destinations/mailchimp/db_config.json | 36 - data/destinations/mailchimp/metadata.json | 34 - data/destinations/mailchimp/schema.json | 3 - data/destinations/mailchimp/ui_config.json | 48 - data/destinations/mailjet/db_config.json | 38 - data/destinations/mailmodo/db_config.json | 39 - data/destinations/mailmodo/metadata.json | 34 - data/destinations/mailmodo/schema.json | 19 - data/destinations/mailmodo/ui_config.json | 30 - data/destinations/marketo/db_config.json | 111 - data/destinations/marketo/metadata.json | 34 - data/destinations/marketo/schema.json | 3 - data/destinations/marketo/ui_config.json | 112 - .../marketo_bulk_upload/db_config.json | 37 - .../marketo_bulk_upload/metadata.json | 34 - .../marketo_bulk_upload/schema.json | 3 - .../marketo_bulk_upload/ui_config.json | 89 - .../marketo_static_list/db_config.json | 22 - .../marketo_static_list/metadata.json | 34 - .../marketo_static_list/schema.json | 30 - data/destinations/matomo/db_config.json | 68 - data/destinations/matomo/metadata.json | 34 - data/destinations/matomo/schema.json | 114 - data/destinations/mautic/db_config.json | 40 - data/destinations/mautic/metadata.json | 34 - data/destinations/mautic/schema.json | 30 - data/destinations/mautic/ui_config.json | 43 - .../microsoft_clarity/schema.json | 63 - data/destinations/minio/db_config.json | 37 - data/destinations/minio/metadata.json | 34 - data/destinations/minio/schema.json | 3 - data/destinations/minio/ui_config.json | 62 - data/destinations/moengage/db_config.json | 62 - data/destinations/moengage/metadata.json | 34 - data/destinations/moengage/schema.json | 3 - data/destinations/monday/db_config.json | 38 - data/destinations/monday/metadata.json | 34 - data/destinations/monday/schema.json | 52 - data/destinations/monday/ui_config.json | 82 - data/destinations/monetate/db_config.json | 33 - data/destinations/monetate/metadata.json | 34 - data/destinations/monetate/schema.json | 3 - data/destinations/monetate/ui_config.json | 25 - data/destinations/mouseflow/db_config.json | 40 - data/destinations/mouseflow/metadata.json | 34 - data/destinations/mouseflow/schema.json | 64 - data/destinations/mp/db_config.json | 89 - data/destinations/mp/metadata.json | 34 - data/destinations/mp/schema.json | 161 - data/destinations/mssql/db_config.json | 63 - data/destinations/mssql/metadata.json | 34 - data/destinations/mssql/schema.json | 278 - data/destinations/mssql/ui_config.json | 547 - data/destinations/new_relic/db_config.json | 48 - data/destinations/new_relic/metadata.json | 34 - data/destinations/new_relic/schema.json | 34 - data/destinations/new_relic/ui_config.json | 74 - data/destinations/ometria/db_config.json | 38 - data/destinations/ometria/metadata.json | 34 - data/destinations/ometria/schema.json | 3 - data/destinations/ometria/ui_config.json | 65 - data/destinations/one_signal/db_config.json | 38 - data/destinations/one_signal/metadata.json | 34 - data/destinations/one_signal/schema.json | 36 - data/destinations/one_signal/ui_config.json | 60 - data/destinations/optimizely/db_config.json | 45 - data/destinations/optimizely/metadata.json | 34 - data/destinations/optimizely/schema.json | 3 - .../optimizely_fullstack/db_config.json | 39 - .../optimizely_fullstack/metadata.json | 34 - .../optimizely_fullstack/schema.json | 3 - .../optimizely_fullstack/ui_config.json | 106 - data/destinations/pagerduty/metadata.json | 34 - data/destinations/pardot/metadata.json | 34 - data/destinations/pardot/schema.json | 3 - data/destinations/pardot/ui_config.json | 26 - data/destinations/pendo/db_config.json | 33 - data/destinations/pendo/metadata.json | 34 - data/destinations/pendo/schema.json | 3 - data/destinations/persistiq/db_config.json | 36 - data/destinations/persistiq/metadata.json | 34 - data/destinations/persistiq/ui_config.json | 37 - data/destinations/personalize/metadata.json | 34 - data/destinations/personalize/schema.json | 60 - .../destinations/pinterest_tag/db_config.json | 58 - data/destinations/pinterest_tag/metadata.json | 34 - data/destinations/pinterest_tag/schema.json | 106 - .../destinations/pinterest_tag/ui_config.json | 225 - data/destinations/pipedream/db_config.json | 33 - data/destinations/pipedream/metadata.json | 34 - data/destinations/pipedream/schema.json | 35 - data/destinations/pipedream/ui_config.json | 60 - data/destinations/pipedrive/db_config.json | 36 - data/destinations/pipedrive/metadata.json | 34 - data/destinations/pipedrive/schema.json | 3 - data/destinations/pipedrive/ui_config.json | 85 - .../post_affiliate_pro/db_config.json | 62 - .../post_affiliate_pro/metadata.json | 34 - .../post_affiliate_pro/schema.json | 3 - .../post_affiliate_pro/ui_config.json | 218 - data/destinations/postgres/metadata.json | 34 - data/destinations/postgres/schema.json | 306 - data/destinations/posthog/db_config.json | 66 - data/destinations/posthog/metadata.json | 34 - data/destinations/posthog/schema.json | 3 - data/destinations/profitwell/db_config.json | 51 - data/destinations/profitwell/metadata.json | 34 - data/destinations/profitwell/schema.json | 3 - data/destinations/qualtrics/db_config.json | 47 - data/destinations/qualtrics/metadata.json | 34 - data/destinations/qualtrics/schema.json | 3 - .../destinations/quantummetric/db_config.json | 33 - data/destinations/quantummetric/metadata.json | 34 - data/destinations/quantummetric/schema.json | 3 - data/destinations/quora_pixel/db_config.json | 40 - data/destinations/quora_pixel/metadata.json | 34 - data/destinations/quora_pixel/schema.json | 84 - data/destinations/reddit_pixel/db_config.json | 37 - data/destinations/reddit_pixel/metadata.json | 34 - data/destinations/reddit_pixel/schema.json | 3 - data/destinations/redis/db_config.json | 42 - data/destinations/redis/metadata.json | 34 - data/destinations/redis/schema.json | 41 - data/destinations/redis/ui_config.json | 85 - data/destinations/revenue_cat/db_config.json | 34 - data/destinations/revenue_cat/metadata.json | 34 - data/destinations/revenue_cat/schema.json | 19 - data/destinations/revenue_cat/ui_config.json | 54 - data/destinations/rockerbox/db_config.json | 56 - data/destinations/rockerbox/metadata.json | 34 - data/destinations/rockerbox/schema.json | 116 - data/destinations/rollbar/db_config.json | 49 - data/destinations/rollbar/metadata.json | 34 - data/destinations/rollbar/schema.json | 96 - data/destinations/rs/metadata.json | 34 - data/destinations/s3/db_config.json | 39 - data/destinations/s3/metadata.json | 34 - data/destinations/s3/schema.json | 32 - data/destinations/s3/ui_config.json | 84 - data/destinations/s3_datalake/db_config.json | 46 - data/destinations/s3_datalake/metadata.json | 34 - data/destinations/s3_datalake/schema.json | 79 - data/destinations/s3_datalake/ui_config.json | 162 - data/destinations/salesforce/db_config.json | 41 - data/destinations/salesforce/metadata.json | 34 - data/destinations/salesforce/schema.json | 3 - data/destinations/salesforce/ui_config.json | 61 - data/destinations/satismeter/metadata.json | 34 - data/destinations/satismeter/schema.json | 93 - data/destinations/segment/db_config.json | 29 - data/destinations/segment/metadata.json | 34 - data/destinations/segment/schema.json | 3 - data/destinations/segment/ui_config.json | 18 - data/destinations/sendgrid/metadata.json | 34 - data/destinations/sendgrid/schema.json | 3 - data/destinations/sendinblue/schema.json | 96 - data/destinations/sentry/db_config.json | 58 - data/destinations/sentry/metadata.json | 34 - data/destinations/sentry/schema.json | 132 - data/destinations/serenytics/db_config.json | 42 - data/destinations/serenytics/metadata.json | 34 - data/destinations/serenytics/schema.json | 48 - data/destinations/serenytics/ui_config.json | 69 - data/destinations/sfmc/db_config.json | 44 - data/destinations/sfmc/metadata.json | 34 - data/destinations/sfmc/schema.json | 3 - data/destinations/sfmc/ui_config.json | 101 - data/destinations/shynet/db_config.json | 48 - data/destinations/shynet/metadata.json | 34 - data/destinations/shynet/schema.json | 72 - data/destinations/signl4/db_config.json | 46 - data/destinations/signl4/metadata.json | 34 - data/destinations/signl4/schema.json | 74 - data/destinations/signl4/ui_config.json | 205 - data/destinations/singular/db_config.json | 51 - data/destinations/singular/metadata.json | 34 - data/destinations/singular/schema.json | 68 - data/destinations/singular/ui_config.json | 109 - data/destinations/slack/db_config.json | 37 - data/destinations/slack/metadata.json | 34 - data/destinations/slack/schema.json | 65 - data/destinations/slack/ui_config.json | 122 - data/destinations/snap_pixel/db_config.json | 43 - data/destinations/snap_pixel/metadata.json | 34 - data/destinations/snap_pixel/schema.json | 3 - .../snapchat_conversion/db_config.json | 40 - .../snapchat_conversion/metadata.json | 34 - .../snapchat_conversion/schema.json | 48 - .../snapchat_conversion/ui_config.json | 215 - .../snapchat_custom_audience/db_config.json | 27 - .../snapchat_custom_audience/metadata.json | 34 - .../snapchat_custom_audience/schema.json | 22 - .../snapchat_custom_audience/ui_config.json | 56 - data/destinations/snapengage/db_config.json | 44 - data/destinations/snapengage/metadata.json | 34 - data/destinations/snapengage/schema.json | 82 - data/destinations/snowflake/db_config.json | 61 - data/destinations/snowflake/metadata.json | 34 - data/destinations/snowflake/schema.json | 249 - data/destinations/snowflake/ui_config.json | 538 - data/destinations/splitio/db_config.json | 40 - data/destinations/splitio/metadata.json | 34 - data/destinations/splitio/schema.json | 3 - data/destinations/splitio/ui_config.json | 37 - data/destinations/statsig/db_config.json | 40 - data/destinations/statsig/metadata.json | 34 - data/destinations/statsig/schema.json | 3 - data/destinations/statsig/ui_config.json | 18 - data/destinations/tiktok_ads/db_config.json | 31 - data/destinations/tiktok_ads/metadata.json | 34 - data/destinations/tiktok_ads/schema.json | 3 - data/destinations/tiktok_ads/ui_config.json | 111 - data/destinations/trengo/db_config.json | 39 - data/destinations/trengo/metadata.json | 34 - data/destinations/trengo/schema.json | 3 - data/destinations/trengo/ui_config.json | 70 - data/destinations/tvsquared/db_config.json | 41 - data/destinations/tvsquared/metadata.json | 34 - data/destinations/tvsquared/schema.json | 3 - data/destinations/user/db_config.json | 53 - data/destinations/user/metadata.json | 34 - data/destinations/user/schema.json | 83 - data/destinations/user/ui_config.json | 92 - data/destinations/userlist/db_config.json | 37 - data/destinations/userlist/metadata.json | 34 - data/destinations/userlist/schema.json | 3 - data/destinations/userlist/ui_config.json | 18 - data/destinations/variance/db_config.json | 33 - data/destinations/variance/metadata.json | 34 - data/destinations/variance/schema.json | 3 - data/destinations/variance/ui_config.json | 26 - data/destinations/vero/db_config.json | 50 - data/destinations/vero/metadata.json | 34 - data/destinations/vero/schema.json | 70 - data/destinations/vwo/db_config.json | 44 - data/destinations/vwo/metadata.json | 34 - data/destinations/vwo/schema.json | 88 - data/destinations/webengage/db_config.json | 37 - data/destinations/webengage/metadata.json | 34 - data/destinations/webengage/schema.json | 25 - data/destinations/webengage/ui_config.json | 46 - data/destinations/webhook/db_config.json | 33 - data/destinations/webhook/metadata.json | 34 - data/destinations/woopra/db_config.json | 65 - data/destinations/woopra/metadata.json | 34 - data/destinations/woopra/schema.json | 94 - data/destinations/wootric/db_config.json | 42 - data/destinations/wootric/metadata.json | 34 - data/destinations/wootric/schema.json | 25 - data/destinations/wootric/ui_config.json | 38 - data/destinations/yahoo_dsp/db_config.json | 34 - data/destinations/yahoo_dsp/metadata.json | 34 - data/destinations/yahoo_dsp/schema.json | 41 - data/destinations/yahoo_dsp/ui_config.json | 126 - data/destinations/zapier/db_config.json | 43 - data/destinations/zapier/metadata.json | 34 - data/destinations/zapier/schema.json | 47 - data/destinations/zapier/ui_config.json | 46 - data/destinations/zendesk/db_config.json | 42 - data/destinations/zendesk/metadata.json | 34 - data/destinations/zendesk/schema.json | 38 - data/destinations/zendesk/ui_config.json | 62 - data/sources/GainsightPX/metadata.json | 13 - data/sources/GainsightPX/schema.json | 3 - data/sources/GainsightPX/ui_config.json | 3 - data/sources/active_campaign/db_config.json | 5 - data/sources/active_campaign/metadata.json | 13 - data/sources/active_campaign/schema.json | 3 - data/sources/active_campaign/ui_config.json | 40 - data/sources/amp/db_config.json | 4 - data/sources/amp/metadata.json | 13 - data/sources/amp/schema.json | 3 - data/sources/amp/ui_config.json | 3 - data/sources/android/db_config.json | 4 - data/sources/android/metadata.json | 13 - data/sources/android/schema.json | 3 - data/sources/android/ui_config.json | 3 - data/sources/appcenter/db_config.json | 5 - data/sources/appcenter/metadata.json | 13 - data/sources/appcenter/schema.json | 3 - data/sources/appcenter/ui_config.json | 3 - data/sources/appsflyer/db_config.json | 5 - data/sources/appsflyer/metadata.json | 13 - data/sources/appsflyer/schema.json | 3 - data/sources/appsflyer/ui_config.json | 3 - data/sources/auth0/db_config.json | 5 - data/sources/auth0/metadata.json | 13 - data/sources/auth0/schema.json | 3 - data/sources/auth0/ui_config.json | 3 - data/sources/bigquery/db_config.json | 13 - data/sources/bigquery/metadata.json | 13 - data/sources/bigquery/schema.json | 3 - data/sources/bigquery/ui_config.json | 61 - data/sources/bing_ads/db_config.json | 5 - data/sources/bing_ads/metadata.json | 13 - data/sources/bing_ads/schema.json | 3 - data/sources/bing_ads/ui_config.json | 51 - data/sources/braze/db_config.json | 5 - data/sources/braze/metadata.json | 13 - data/sources/braze/schema.json | 3 - data/sources/braze/ui_config.json | 3 - data/sources/canny/db_config.json | 5 - data/sources/canny/metadata.json | 13 - data/sources/canny/schema.json | 3 - data/sources/canny/ui_config.json | 3 - data/sources/clickhouse/db_config.json | 8 - data/sources/clickhouse/metadata.json | 13 - data/sources/clickhouse/schema.json | 3 - data/sources/clickhouse/ui_config.json | 94 - data/sources/cordova/db_config.json | 4 - data/sources/cordova/metadata.json | 13 - data/sources/cordova/schema.json | 3 - data/sources/cordova/ui_config.json | 3 - data/sources/customerio/db_config.json | 5 - data/sources/customerio/metadata.json | 13 - data/sources/customerio/schema.json | 3 - data/sources/customerio/ui_config.json | 3 - data/sources/databricks/db_config.json | 12 - data/sources/databricks/metadata.json | 13 - data/sources/databricks/schema.json | 3 - data/sources/databricks/ui_config.json | 59 - data/sources/dotnet/db_config.json | 4 - data/sources/dotnet/metadata.json | 13 - data/sources/dotnet/schema.json | 3 - data/sources/dotnet/ui_config.json | 3 - data/sources/extole/db_config.json | 5 - data/sources/extole/metadata.json | 13 - data/sources/extole/schema.json | 3 - data/sources/extole/ui_config.json | 3 - data/sources/facebook_ads/metadata.json | 13 - data/sources/facebook_ads/schema.json | 3 - data/sources/facebook_ads/ui_config.json | 109 - data/sources/flutter/db_config.json | 4 - data/sources/flutter/metadata.json | 13 - data/sources/flutter/schema.json | 3 - data/sources/flutter/ui_config.json | 3 - data/sources/freshdesk/db_config.json | 8 - data/sources/freshdesk/metadata.json | 13 - data/sources/freshdesk/schema.json | 3 - data/sources/freshdesk/ui_config.json | 37 - data/sources/go/db_config.json | 4 - data/sources/go/metadata.json | 13 - data/sources/go/schema.json | 3 - data/sources/go/ui_config.json | 3 - data/sources/google_adwords/db_config.json | 8 - data/sources/google_adwords/metadata.json | 13 - data/sources/google_adwords/schema.json | 3 - data/sources/google_adwords/ui_config.json | 63 - data/sources/google_analytics/db_config.json | 8 - data/sources/google_analytics/metadata.json | 13 - data/sources/google_analytics/schema.json | 3 - data/sources/google_analytics/ui_config.json | 74 - .../google_search_console/db_config.json | 8 - .../google_search_console/metadata.json | 13 - .../sources/google_search_console/schema.json | 3 - .../google_search_console/ui_config.json | 48 - data/sources/google_sheets/db_config.json | 5 - data/sources/google_sheets/metadata.json | 13 - data/sources/google_sheets/schema.json | 3 - data/sources/google_sheets/ui_config.json | 66 - data/sources/http/db_config.json | 4 - data/sources/http/metadata.json | 13 - data/sources/http/schema.json | 3 - data/sources/http/ui_config.json | 3 - data/sources/hubspot/db_config.json | 8 - data/sources/hubspot/metadata.json | 13 - data/sources/hubspot/schema.json | 3 - data/sources/hubspot/ui_config.json | 33 - data/sources/hubspot_crm/db_config.json | 8 - data/sources/hubspot_crm/metadata.json | 13 - data/sources/hubspot_crm/schema.json | 3 - data/sources/hubspot_crm/ui_config.json | 3 - data/sources/intercom/db_config.json | 8 - data/sources/intercom/metadata.json | 13 - data/sources/intercom/schema.json | 3 - data/sources/intercom/ui_config.json | 7 - data/sources/ios/db_config.json | 4 - data/sources/ios/metadata.json | 13 - data/sources/ios/schema.json | 3 - data/sources/ios/ui_config.json | 3 - data/sources/iterable/db_config.json | 5 - data/sources/iterable/metadata.json | 13 - data/sources/iterable/schema.json | 3 - data/sources/iterable/ui_config.json | 3 - data/sources/java/db_config.json | 4 - data/sources/java/metadata.json | 13 - data/sources/java/schema.json | 3 - data/sources/java/ui_config.json | 3 - data/sources/javascript/db_config.json | 4 - data/sources/javascript/metadata.json | 13 - data/sources/javascript/schema.json | 3 - data/sources/javascript/ui_config.json | 3 - data/sources/looker/db_config.json | 4 - data/sources/looker/metadata.json | 13 - data/sources/looker/schema.json | 3 - data/sources/looker/ui_config.json | 3 - data/sources/mailchimp/db_config.json | 5 - data/sources/mailchimp/metadata.json | 13 - data/sources/mailchimp/schema.json | 3 - data/sources/mailchimp/ui_config.json | 56 - data/sources/mailmodo/db_config.json | 5 - data/sources/mailmodo/metadata.json | 13 - data/sources/mailmodo/schema.json | 3 - data/sources/mailmodo/ui_config.json | 3 - data/sources/marketo/db_config.json | 5 - data/sources/marketo/metadata.json | 13 - data/sources/marketo/schema.json | 3 - data/sources/marketo/ui_config.json | 69 - data/sources/mixpanel/db_config.json | 8 - data/sources/mixpanel/metadata.json | 13 - data/sources/mixpanel/schema.json | 3 - data/sources/mixpanel/ui_config.json | 466 - data/sources/monday/db_config.json | 5 - data/sources/monday/metadata.json | 13 - data/sources/monday/schema.json | 3 - data/sources/monday/ui_config.json | 3 - data/sources/mysql/db_config.json | 12 - data/sources/mysql/metadata.json | 13 - data/sources/mysql/schema.json | 3 - data/sources/mysql/ui_config.json | 79 - data/sources/netsuite/db_config.json | 5 - data/sources/netsuite/metadata.json | 13 - data/sources/netsuite/schema.json | 3 - data/sources/netsuite/ui_config.json | 91 - data/sources/node/db_config.json | 4 - data/sources/node/metadata.json | 13 - data/sources/node/schema.json | 3 - data/sources/node/ui_config.json | 3 - data/sources/pardot/db_config.json | 5 - data/sources/pardot/metadata.json | 13 - data/sources/pardot/schema.json | 3 - data/sources/pardot/ui_config.json | 43 - data/sources/php/db_config.json | 4 - data/sources/php/metadata.json | 13 - data/sources/php/schema.json | 3 - data/sources/php/ui_config.json | 3 - data/sources/pipedrive/db_config.json | 5 - data/sources/pipedrive/metadata.json | 13 - data/sources/pipedrive/schema.json | 3 - data/sources/pipedrive/ui_config.json | 34 - data/sources/postgres/db_config.json | 12 - data/sources/postgres/metadata.json | 13 - data/sources/postgres/schema.json | 3 - data/sources/postgres/ui_config.json | 86 - data/sources/posthog/db_config.json | 4 - data/sources/posthog/metadata.json | 13 - data/sources/posthog/schema.json | 3 - data/sources/posthog/ui_config.json | 3 - data/sources/python/db_config.json | 4 - data/sources/python/metadata.json | 13 - data/sources/python/schema.json | 3 - data/sources/python/ui_config.json | 3 - data/sources/quickbooks/db_config.json | 5 - data/sources/quickbooks/metadata.json | 13 - data/sources/quickbooks/schema.json | 3 - data/sources/quickbooks/ui_config.json | 7 - data/sources/react_native/db_config.json | 4 - data/sources/react_native/metadata.json | 13 - data/sources/react_native/schema.json | 3 - data/sources/react_native/ui_config.json | 3 - data/sources/reactnative/db_config.json | 4 - data/sources/reactnative/metadata.json | 1 - data/sources/redshift/db_config.json | 13 - data/sources/redshift/metadata.json | 13 - data/sources/redshift/schema.json | 3 - data/sources/redshift/ui_config.json | 86 - data/sources/ruby/db_config.json | 4 - data/sources/ruby/metadata.json | 13 - data/sources/ruby/schema.json | 3 - data/sources/ruby/ui_config.json | 3 - data/sources/rust/db_config.json | 4 - data/sources/rust/metadata.json | 13 - data/sources/rust/schema.json | 3 - data/sources/rust/ui_config.json | 3 - data/sources/s3/db_config.json | 9 - data/sources/s3/metadata.json | 13 - data/sources/s3/schema.json | 3 - data/sources/s3/ui_config.json | 88 - data/sources/salesforce/db_config.json | 8 - data/sources/salesforce/metadata.json | 13 - data/sources/salesforce/schema.json | 3 - data/sources/salesforce/ui_config.json | 7 - data/sources/segment/db_config.json | 5 - data/sources/segment/metadata.json | 13 - data/sources/segment/schema.json | 3 - data/sources/segment/ui_config.json | 3 - data/sources/sendgrid/db_config.json | 8 - data/sources/sendgrid/metadata.json | 13 - data/sources/sendgrid/schema.json | 3 - data/sources/sendgrid/ui_config.json | 33 - data/sources/shopify/db_config.json | 8 - data/sources/shopify/metadata.json | 13 - data/sources/shopify/schema.json | 3 - data/sources/shopify/ui_config.json | 3 - data/sources/signl4/db_config.json | 5 - data/sources/signl4/metadata.json | 13 - data/sources/signl4/schema.json | 3 - data/sources/signl4/ui_config.json | 3 - data/sources/singer-recurly/db_config.json | 10 - data/sources/singer-recurly/metadata.json | 13 - data/sources/singer-recurly/schema.json | 3 - data/sources/singer-recurly/ui_config.json | 3 - data/sources/singer_amplitude/metadata.json | 13 - data/sources/singer_amplitude/schema.json | 3 - data/sources/singer_amplitude/ui_config.json | 3 - data/sources/singer_bing_ads/db_config.json | 12 - data/sources/singer_bing_ads/metadata.json | 13 - data/sources/singer_bing_ads/schema.json | 3 - data/sources/singer_bing_ads/ui_config.json | 3 - data/sources/singer_chargebee/db_config.json | 9 - data/sources/singer_chargebee/metadata.json | 13 - data/sources/singer_chargebee/schema.json | 3 - data/sources/singer_chargebee/ui_config.json | 3 - .../sources/singer_customer_io/db_config.json | 9 - data/sources/singer_customer_io/metadata.json | 13 - data/sources/singer_customer_io/schema.json | 3 - .../sources/singer_customer_io/ui_config.json | 3 - .../singer_facebook_marketing/db_config.json | 10 - .../singer_facebook_marketing/metadata.json | 13 - .../singer_facebook_marketing/schema.json | 3 - .../singer_facebook_marketing/ui_config.json | 3 - data/sources/singer_freshdesk/db_config.json | 8 - data/sources/singer_freshdesk/metadata.json | 13 - data/sources/singer_freshdesk/schema.json | 3 - data/sources/singer_freshdesk/ui_config.json | 3 - data/sources/singer_google_ads/db_config.json | 13 - data/sources/singer_google_ads/metadata.json | 13 - data/sources/singer_google_ads/schema.json | 3 - data/sources/singer_google_ads/ui_config.json | 3 - .../singer_google_analytics/db_config.json | 12 - .../singer_google_analytics/metadata.json | 13 - .../singer_google_analytics/schema.json | 3 - .../singer_google_analytics/ui_config.json | 3 - .../singer_google_analytics_v4/db_config.json | 13 - .../singer_google_analytics_v4/metadata.json | 13 - .../singer_google_analytics_v4/schema.json | 3 - .../singer_google_analytics_v4/ui_config.json | 3 - .../metadata.json | 13 - .../singer_google_search_console/schema.json | 3 - .../ui_config.json | 3 - .../singer_google_sheets/db_config.json | 12 - .../singer_google_sheets/metadata.json | 13 - data/sources/singer_google_sheets/schema.json | 3 - .../singer_google_sheets/ui_config.json | 3 - data/sources/singer_hubspot/db_config.json | 12 - data/sources/singer_hubspot/metadata.json | 13 - data/sources/singer_hubspot/schema.json | 3 - data/sources/singer_hubspot/ui_config.json | 3 - data/sources/singer_intercom/metadata.json | 13 - data/sources/singer_intercom/schema.json | 3 - data/sources/singer_intercom/ui_config.json | 3 - data/sources/singer_iterable/metadata.json | 13 - data/sources/singer_iterable/schema.json | 3 - data/sources/singer_iterable/ui_config.json | 3 - data/sources/singer_klaviyo/db_config.json | 9 - data/sources/singer_klaviyo/metadata.json | 13 - data/sources/singer_klaviyo/schema.json | 3 - data/sources/singer_klaviyo/ui_config.json | 3 - data/sources/singer_mailchimp/db_config.json | 13 - data/sources/singer_mailchimp/metadata.json | 13 - data/sources/singer_mailchimp/schema.json | 3 - data/sources/singer_mailchimp/ui_config.json | 3 - data/sources/singer_mixpanel/db_config.json | 8 - data/sources/singer_mixpanel/metadata.json | 13 - data/sources/singer_mixpanel/schema.json | 3 - data/sources/singer_mixpanel/ui_config.json | 3 - data/sources/singer_pardot/db_config.json | 13 - data/sources/singer_pardot/metadata.json | 13 - data/sources/singer_pardot/schema.json | 3 - data/sources/singer_pardot/ui_config.json | 3 - data/sources/singer_pipedrive/db_config.json | 13 - data/sources/singer_pipedrive/metadata.json | 13 - data/sources/singer_pipedrive/schema.json | 3 - data/sources/singer_pipedrive/ui_config.json | 3 - data/sources/singer_quickbooks/db_config.json | 13 - data/sources/singer_quickbooks/metadata.json | 13 - data/sources/singer_quickbooks/schema.json | 3 - data/sources/singer_quickbooks/ui_config.json | 3 - data/sources/singer_salesforce/metadata.json | 13 - data/sources/singer_salesforce/schema.json | 3 - data/sources/singer_salesforce/ui_config.json | 3 - data/sources/singer_sendgrid/metadata.json | 13 - data/sources/singer_sendgrid/schema.json | 3 - data/sources/singer_sendgrid/ui_config.json | 3 - data/sources/singer_stripe/db_config.json | 10 - data/sources/singer_stripe/metadata.json | 13 - data/sources/singer_stripe/schema.json | 3 - data/sources/singer_stripe/ui_config.json | 3 - .../singer_zendesk_chat/db_config.json | 11 - .../sources/singer_zendesk_chat/metadata.json | 13 - data/sources/singer_zendesk_chat/schema.json | 3 - .../singer_zendesk_chat/ui_config.json | 3 - .../singer_zendesk_support/db_config.json | 8 - .../singer_zendesk_support/metadata.json | 13 - .../singer_zendesk_support/schema.json | 3 - .../singer_zendesk_support/ui_config.json | 3 - data/sources/snowflake/db_config.json | 13 - data/sources/snowflake/metadata.json | 13 - data/sources/snowflake/schema.json | 3 - data/sources/snowflake/ui_config.json | 91 - data/sources/stripe/db_config.json | 5 - data/sources/stripe/metadata.json | 13 - data/sources/stripe/schema.json | 3 - data/sources/stripe/ui_config.json | 130 - data/sources/unity/db_config.json | 4 - data/sources/unity/metadata.json | 13 - data/sources/unity/schema.json | 3 - data/sources/unity/ui_config.json | 3 - data/sources/webhook/db_config.json | 5 - data/sources/webhook/metadata.json | 13 - data/sources/webhook/schema.json | 3 - data/sources/webhook/ui_config.json | 3 - data/sources/xero/db_config.json | 11 - data/sources/xero/metadata.json | 13 - data/sources/xero/schema.json | 3 - data/sources/xero/ui_config.json | 53 - data/sources/zendesk/db_config.json | 8 - data/sources/zendesk/metadata.json | 13 - data/sources/zendesk/schema.json | 3 - data/sources/zendesk/ui_config.json | 41 - data/sources/zendesk_chat/db_config.json | 8 - data/sources/zendesk_chat/metadata.json | 13 - data/sources/zendesk_chat/schema.json | 3 - data/sources/zendesk_chat/ui_config.json | 22 - jest.config.js | 49 +- migration/dest_meta_template.json | 2 - migration/migrate.py | 18 +- migration/source_meta_template.json | 1 - package-lock.json | 24979 ++++++++++++++++ package.json | 90 +- scripts/action.py | 151 - scripts/deployToDB.py | 152 + server.ts | 11 - .../active_campaign/db-config.json | 28 + .../active_campaign}/metadata.json | 0 .../destinations/active_campaign/schema.json | 25 + .../active_campaign/ui-config.json | 0 .../destinations/adj/db-config.json | 46 + .../destinations/adj}/metadata.json | 0 .../destinations/adj}/schema.json | 0 .../destinations/adj/ui-config.json | 135 + .../adobe_analytics/db-config.json | 103 + .../adobe_analytics}/metadata.json | 0 .../destinations/adobe_analytics/schema.json | 376 + .../adobe_analytics/ui-config.json | 613 + .../destinations/adroll/db-config.json | 36 + .../destinations/adroll}/metadata.json | 0 .../destinations/adroll/schema.json | 70 + .../destinations/adroll/ui-config.json | 0 .../destinations/af/db-config.json | 50 + .../destinations/af}/metadata.json | 0 .../destinations/af/schema.json | 73 + .../destinations/af/ui-config.json | 143 + .../destinations/airship/db-config.json | 28 + .../destinations/airship}/metadata.json | 0 .../destinations/airship}/schema.json | 0 .../destinations/airship/ui-config.json | 36 + .../destinations/algolia/db-config.json | 29 + .../destinations/algolia}/metadata.json | 0 .../destinations/algolia}/schema.json | 0 .../destinations/algolia/ui-config.json | 43 + .../destinations/am/db-config.json | 131 + .../destinations/am}/metadata.json | 0 .../destinations/am/schema.json | 318 + .../destinations/am/ui-config.json | 0 .../destinations/appcenter/db-config.json | 36 + .../destinations/appcenter}/metadata.json | 0 .../destinations/appcenter}/schema.json | 0 .../destinations/appcenter/ui-config.json | 120 + .../destinations/appcues/db-config.json | 40 + .../destinations/appcues/metadata.json | 25 + .../destinations/appcues}/schema.json | 0 .../destinations/appcues/ui-config.json | 0 .../destinations/attentive_tag/db-config.json | 28 + .../destinations/attentive_tag/metadata.json | 25 + .../destinations/attentive_tag/schema.json | 17 + .../destinations/attentive_tag/ui-config.json | 31 + .../destinations/attribution/db-config.json | 29 + .../destinations/attribution/metadata.json | 25 + .../destinations/attribution/schema.json | 14 + .../destinations/attribution/ui-config.json | 18 + .../destinations/autopilot/db-config.json | 29 + .../destinations/autopilot/metadata.json | 25 + .../destinations/autopilot}/schema.json | 0 .../destinations/autopilot/ui-config.json | 27 + .../destinations/awin/db-config.json | 0 .../destinations/awin/metadata.json | 25 + .../destinations/awin/schema.json | 0 .../destinations/awin/ui-config.json | 0 .../destinations/axeptio/db-config.json | 0 .../destinations/axeptio/metadata.json | 25 + .../destinations/axeptio/schema.json | 0 .../destinations/axeptio/ui-config.json | 0 .../destinations/azure_blob/db-config.json | 34 + .../destinations/azure_blob/metadata.json | 25 + .../destinations/azure_blob}/schema.json | 0 .../destinations/azure_blob/ui-config.json | 75 + .../azure_datalake/db-config.json | 39 + .../destinations/azure_datalake/metadata.json | 25 + .../destinations/azure_datalake/schema.json | 57 + .../azure_datalake/ui-config.json | 136 + .../azure_event_hub/db-config.json | 27 + .../azure_event_hub/metadata.json | 25 + .../destinations/azure_event_hub/schema.json | 3 + .../azure_event_hub/ui-config.json | 36 + .../destinations/azure_synapse/db-config.json | 63 + .../destinations/azure_synapse/metadata.json | 25 + .../destinations/azure_synapse/schema.json | 238 + .../destinations/azure_synapse/ui-config.json | 547 + .../destinations/bingads/db-config.json | 23 + .../destinations/bingads/metadata.json | 25 + .../destinations/bingads/schema.json | 3 + .../destinations/bingads/ui-config.json | 0 .../destinations/blueshift/db-config.json | 17 + .../destinations/blueshift/metadata.json | 25 + .../destinations/blueshift/schema.json | 3 + .../destinations/blueshift/ui-config.json | 50 + .../destinations/bq/db-config.json | 39 + .../destinations/bq/metadata.json | 25 + .../destinations/bq/schema.json | 58 + .../destinations/bq/ui-config.json | 0 .../destinations/bqstream/db-config.json | 29 + .../destinations/bqstream/metadata.json | 25 + .../destinations/bqstream/schema.json | 3 + .../destinations/bqstream/ui-config.json | 49 + .../destinations/branch/db-config.json | 35 + .../destinations/branch/metadata.json | 25 + .../destinations/branch/schema.json | 3 + .../destinations/branch/ui-config.json | 84 + .../destinations/braze/db-config.json | 58 + .../destinations/braze/metadata.json | 25 + .../destinations/braze/schema.json | 109 + .../destinations/braze/ui-config.json | 0 .../destinations/bugsnag/db-config.json | 27 + .../destinations/bugsnag/metadata.json | 25 + .../destinations/bugsnag/schema.json | 3 + .../destinations/bugsnag/ui-config.json | 0 .../campaign_manager/db-config.json | 0 .../campaign_manager/metadata.json | 25 + .../destinations/campaign_manager/schema.json | 25 + .../campaign_manager/ui-config.json | 52 + .../destinations/candu/db-config.json | 28 + .../destinations/candu/metadata.json | 25 + .../destinations/candu/schema.json | 3 + .../destinations/candu/ui-config.json | 18 + .../destinations/canny/db-config.json | 28 + .../destinations/canny/metadata.json | 25 + .../destinations/canny/schema.json | 29 + .../destinations/canny/ui-config.json | 45 + .../destinations/chartbeat/db-config.json | 34 + .../destinations/chartbeat/metadata.json | 25 + .../destinations/chartbeat/schema.json | 3 + .../destinations/chartbeat/ui-config.json | 0 .../destinations/clevertap/db-config.json | 53 + .../destinations/clevertap/metadata.json | 25 + .../destinations/clevertap/schema.json | 3 + .../destinations/clevertap/ui-config.json | 0 .../destinations/clickhouse/db-config.json | 67 + .../destinations/clickhouse/metadata.json | 25 + .../destinations/clickhouse/schema.json | 249 + .../destinations/clickhouse/ui-config.json | 552 + .../destinations/clickup/db-config.json | 28 + .../destinations/clickup/metadata.json | 25 + .../destinations/clickup/schema.json | 45 + .../destinations/clickup/ui-config.json | 68 + .../confluent_cloud/db-config.json | 27 + .../confluent_cloud/metadata.json | 25 + .../destinations/confluent_cloud/schema.json | 3 + .../confluent_cloud/ui-config.json | 46 + .../destinations/convertflow/db-config.json | 35 + .../destinations/convertflow/metadata.json | 25 + .../destinations/convertflow/schema.json | 85 + .../destinations/convertflow/ui-config.json | 0 .../destinations/criteo/db-config.json | 36 + .../destinations/criteo/metadata.json | 25 + .../destinations/criteo/schema.json | 106 + .../destinations/criteo/ui-config.json | 0 .../destinations/custify/db-config.json | 27 + .../destinations/custify/metadata.json | 25 + .../destinations/custify/schema.json | 16 + .../destinations/custify/ui-config.json | 24 + .../destinations/customerio/db-config.json | 47 + .../destinations/customerio/metadata.json | 25 + .../destinations/customerio/schema.json | 77 + .../destinations/customerio/ui-config.json | 0 .../dcm_floodlight/db-config.json | 61 + .../destinations/dcm_floodlight/metadata.json | 25 + .../destinations/dcm_floodlight/schema.json | 150 + .../dcm_floodlight/ui-config.json | 0 .../destinations/delighted/db-config.json | 28 + .../destinations/delighted/metadata.json | 25 + .../destinations/delighted/schema.json | 3 + .../destinations/delighted/ui-config.json | 67 + .../destinations/deltalake/db-config.json | 63 + .../destinations/deltalake/metadata.json | 25 + .../destinations/deltalake/schema.json | 208 + .../destinations/deltalake/ui-config.json | 439 + .../digital_ocean_spaces/db-config.json | 27 + .../digital_ocean_spaces/metadata.json | 25 + .../digital_ocean_spaces/schema.json | 3 + .../digital_ocean_spaces/ui-config.json | 57 + .../destinations/discord/db-config.json | 36 + .../destinations/discord/metadata.json | 25 + .../destinations/discord/schema.json | 59 + .../destinations/discord/ui-config.json | 134 + .../destinations/drip/db-config.json | 44 + .../destinations/drip/metadata.json | 25 + .../destinations/drip/schema.json | 3 + .../destinations/drip/ui-config.json | 0 .../destinations/engage/db-config.json | 45 + .../destinations/engage/metadata.json | 25 + .../destinations/engage/schema.json | 65 + .../destinations/engage/ui-config.json | 0 .../destinations/eventbridge/db-config.json | 37 + .../destinations/eventbridge/metadata.json | 25 + .../destinations/eventbridge/schema.json | 3 + .../destinations/eventbridge/ui-config.json | 0 .../db-config.json | 0 .../metadata.json | 25 + .../facebook_offline_conversions/schema.json | 0 .../ui-config.json | 0 .../facebook_pixel/db-config.json | 62 + .../destinations/facebook_pixel/metadata.json | 25 + .../destinations/facebook_pixel/schema.json | 171 + .../facebook_pixel/ui-config.json | 0 .../destinations/factorsai/db-config.json | 28 + .../destinations/factorsai/metadata.json | 25 + .../destinations/factorsai/schema.json | 13 + .../destinations/factorsai/ui-config.json | 19 + .../destinations/fb/db-config.json | 45 + .../destinations/fb/metadata.json | 25 + .../destinations/fb/schema.json | 3 + .../destinations/fb/ui-config.json | 138 + .../fb_custom_audience/db-config.json | 59 + .../fb_custom_audience/metadata.json | 25 + .../fb_custom_audience/schema.json | 3 + .../fb_custom_audience/ui-config.json | 393 + .../destinations/firebase/db-config.json | 21 + .../destinations/firebase/metadata.json | 25 + .../destinations/firebase/schema.json | 3 + .../destinations/firebase/ui-config.json | 70 + .../destinations/firehose/db-config.json | 35 + .../destinations/firehose/metadata.json | 25 + .../destinations/firehose/schema.json | 3 + .../destinations/firehose/ui-config.json | 0 .../destinations/freshmarketer/db-config.json | 0 .../destinations/freshmarketer/metadata.json | 25 + .../destinations/freshmarketer/schema.json | 0 .../destinations/freshmarketer/ui-config.json | 0 .../destinations/freshsales/db-config.json | 0 .../destinations/freshsales/metadata.json | 25 + .../destinations/freshsales/schema.json | 0 .../destinations/freshsales/ui-config.json | 0 .../destinations/fullstory/db-config.json | 32 + .../destinations/fullstory/metadata.json | 25 + .../destinations/fullstory/schema.json | 3 + .../destinations/fullstory/ui-config.json | 0 .../destinations/ga/db-config.json | 0 .../destinations/ga/metadata.json | 25 + .../destinations/ga/schema.json | 226 + .../destinations/ga/ui-config.json | 0 .../destinations/ga360/db-config.json | 87 + .../destinations/ga360/metadata.json | 25 + .../destinations/ga360/schema.json | 3 + .../destinations/ga360/ui-config.json | 0 .../destinations/ga4/db-config.json | 0 .../destinations/ga4/metadata.json | 25 + .../destinations/ga4/schema.json | 0 .../destinations/ga4/ui-config.json | 0 .../destinations/gainsight/db-config.json | 39 + .../destinations/gainsight/metadata.json | 25 + .../destinations/gainsight/schema.json | 3 + .../destinations/gainsight/ui-config.json | 122 + .../destinations/gainsight_px/db-config.json | 34 + .../destinations/gainsight_px/metadata.json | 25 + .../destinations/gainsight_px/schema.json | 3 + .../destinations/gainsight_px/ui-config.json | 81 + .../destinations/gcs/db-config.json | 28 + .../destinations/gcs/metadata.json | 25 + .../destinations/gcs/schema.json | 22 + .../destinations/gcs/ui-config.json | 37 + .../destinations/gcs_datalake/db-config.json | 38 + .../destinations/gcs_datalake/metadata.json | 25 + .../destinations/gcs_datalake/schema.json | 43 + .../destinations/gcs_datalake/ui-config.json | 143 + .../db-config.json | 0 .../metadata.json | 25 + .../schema.json | 3 + .../ui-config.json | 64 + .../db-config.json | 0 .../metadata.json | 25 + .../schema.json | 86 + .../ui-config.json | 187 + .../db-config.json | 0 .../metadata.json | 25 + .../schema.json | 3 + .../ui-config.json | 112 + .../google_cloud_function/db-config.json | 41 + .../google_cloud_function/metadata.json | 25 + .../google_cloud_function/schema.json | 67 + .../google_cloud_function/ui-config.json | 107 + .../google_optimize/db-config.json | 34 + .../google_optimize/metadata.json | 25 + .../destinations/google_optimize/schema.json | 3 + .../google_optimize/ui-config.json | 0 .../destinations/googleads/db-config.json | 43 + .../destinations/googleads/metadata.json | 25 + .../destinations/googleads/schema.json | 135 + .../destinations/googleads/ui-config.json | 0 .../destinations/googlepubsub/db-config.json | 27 + .../destinations/googlepubsub/metadata.json | 25 + .../destinations/googlepubsub/schema.json | 3 + .../destinations/googlepubsub/ui-config.json | 52 + .../destinations/googlesheets/db-config.json | 27 + .../destinations/googlesheets/metadata.json | 25 + .../destinations/googlesheets/schema.json | 3 + .../destinations/googlesheets/ui-config.json | 53 + .../destinations/gtm/db-config.json | 30 + .../destinations/gtm/metadata.json | 25 + .../destinations/gtm/schema.json | 70 + .../destinations/gtm/ui-config.json | 0 .../destinations/heap/db-config.json | 36 + .../destinations/heap/metadata.json | 25 + .../destinations/heap/schema.json | 3 + .../destinations/heap/ui-config.json | 0 .../destinations/hotjar/db-config.json | 23 + .../destinations/hotjar/metadata.json | 25 + .../destinations/hotjar/schema.json | 3 + .../destinations/hotjar/ui-config.json | 0 .../destinations/hs/db-config.json | 51 + .../destinations/hs/metadata.json | 25 + .../destinations/hs/schema.json | 117 + .../destinations/hs/ui-config.json | 0 .../destinations/indicative/db-config.json | 28 + .../destinations/indicative/metadata.json | 25 + .../destinations/indicative/schema.json | 3 + .../destinations/indicative/ui-config.json | 19 + .../destinations/intercom/db-config.json | 47 + .../destinations/intercom/metadata.json | 25 + .../destinations/intercom/schema.json | 3 + .../destinations/intercom/ui-config.json | 0 .../destinations/iterable/db-config.json | 82 + .../destinations/iterable/metadata.json | 25 + .../destinations/iterable/schema.json | 236 + .../destinations/iterable/ui-config.json | 0 .../destinations/june/db-config.json | 29 + .../destinations/june/metadata.json | 25 + .../destinations/june/schema.json | 66 + .../destinations/june/ui-config.json | 0 .../destinations/kafka/db-config.json | 0 .../destinations/kafka/metadata.json | 25 + .../destinations/kafka/schema.json | 3 + .../destinations/kafka/ui-config.json | 225 + .../destinations/keen/db-config.json | 50 + .../destinations/keen/metadata.json | 25 + .../destinations/keen/schema.json | 3 + .../destinations/keen/ui-config.json | 0 .../destinations/kinesis/db-config.json | 0 .../destinations/kinesis/metadata.json | 25 + .../destinations/kinesis/schema.json | 3 + .../destinations/kinesis/ui-config.json | 0 .../destinations/kissmetrics/db-config.json | 42 + .../destinations/kissmetrics/metadata.json | 25 + .../destinations/kissmetrics/schema.json | 3 + .../destinations/kissmetrics/ui-config.json | 0 .../destinations/klaviyo/db-config.json | 50 + .../destinations/klaviyo/metadata.json | 25 + .../destinations/klaviyo/schema.json | 3 + .../destinations/klaviyo/ui-config.json | 0 .../destinations/kochava/db-config.json | 38 + .../destinations/kochava/metadata.json | 25 + .../destinations/kochava/schema.json | 3 + .../destinations/kochava/ui-config.json | 100 + .../destinations/kustomer/db-config.json | 35 + .../destinations/kustomer/metadata.json | 25 + .../destinations/kustomer/schema.json | 3 + .../destinations/kustomer/ui-config.json | 57 + .../destinations/lambda/db-config.json | 38 + .../destinations/lambda/metadata.json | 25 + .../destinations/lambda/schema.json | 37 + .../destinations/lambda/ui-config.json | 0 .../destinations/launchdarkly/db-config.json | 28 + .../destinations/launchdarkly/metadata.json | 25 + .../destinations/launchdarkly/schema.json | 3 + .../destinations/launchdarkly/ui-config.json | 0 .../destinations/leanplum/db-config.json | 46 + .../destinations/leanplum/metadata.json | 25 + .../destinations/leanplum/schema.json | 3 + .../destinations/leanplum/ui-config.json | 111 + .../linkedin_insight_tag/db-config.json | 29 + .../linkedin_insight_tag/metadata.json | 25 + .../linkedin_insight_tag/schema.json | 3 + .../linkedin_insight_tag/ui-config.json | 0 .../destinations/livechat/db-config.json | 36 + .../destinations/livechat/metadata.json | 25 + .../destinations/livechat/schema.json | 88 + .../destinations/livechat/ui-config.json | 0 .../destinations/lotame/db-config.json | 37 + .../destinations/lotame/metadata.json | 25 + .../destinations/lotame/schema.json | 3 + .../destinations/lotame/ui-config.json | 0 .../destinations/lotame_mobile/db-config.json | 32 + .../destinations/lotame_mobile/metadata.json | 25 + .../destinations/lotame_mobile/schema.json | 3 + .../destinations/lotame_mobile/ui-config.json | 125 + .../destinations/lytics/db-config.json | 46 + .../destinations/lytics/metadata.json | 25 + .../destinations/lytics/schema.json | 3 + .../destinations/lytics/ui-config.json | 0 .../destinations/mailchimp/db-config.json | 29 + .../destinations/mailchimp/metadata.json | 25 + .../destinations/mailchimp/schema.json | 3 + .../destinations/mailchimp/ui-config.json | 48 + .../destinations/mailjet/db-config.json | 28 + .../destinations/mailjet/metadata.json | 25 + .../destinations/mailjet/schema.json | 0 .../destinations/mailjet/ui-config.json | 0 .../destinations/mailmodo/db-config.json | 28 + .../destinations/mailmodo/metadata.json | 25 + .../destinations/mailmodo/schema.json | 17 + .../destinations/mailmodo/ui-config.json | 30 + .../destinations/marketo/db-config.json | 106 + .../destinations/marketo/metadata.json | 25 + .../destinations/marketo/schema.json | 3 + .../destinations/marketo/ui-config.json | 112 + .../marketo_bulk_upload/db-config.json | 34 + .../marketo_bulk_upload/metadata.json | 25 + .../marketo_bulk_upload/schema.json | 3 + .../marketo_bulk_upload/ui-config.json | 89 + .../marketo_static_list/db-config.json | 17 + .../marketo_static_list/metadata.json | 25 + .../marketo_static_list/schema.json | 25 + .../marketo_static_list/ui-config.json | 0 .../destinations/matomo/db-config.json | 56 + .../destinations/matomo/metadata.json | 25 + .../destinations/matomo/schema.json | 111 + .../destinations/matomo/ui-config.json | 0 .../destinations/mautic/db-config.json | 27 + .../destinations/mautic/metadata.json | 25 + .../destinations/mautic/schema.json | 25 + .../destinations/mautic/ui-config.json | 43 + .../microsoft_clarity/db-config.json | 0 .../microsoft_clarity/metadata.json | 25 + .../microsoft_clarity/schema.json | 65 + .../microsoft_clarity/ui-config.json | 0 .../destinations/minio/db-config.json | 34 + .../destinations/minio/metadata.json | 25 + .../destinations/minio/schema.json | 3 + .../destinations/minio/ui-config.json | 62 + .../destinations/moengage/db-config.json | 47 + .../destinations/moengage/metadata.json | 25 + .../destinations/moengage/schema.json | 3 + .../destinations/moengage/ui-config.json | 0 .../destinations/monday/db-config.json | 34 + .../destinations/monday/metadata.json | 25 + .../destinations/monday/schema.json | 49 + .../destinations/monday/ui-config.json | 82 + .../destinations/monetate/db-config.json | 26 + .../destinations/monetate/metadata.json | 25 + .../destinations/monetate/schema.json | 3 + .../destinations/monetate/ui-config.json | 25 + .../destinations/mouseflow/db-config.json | 29 + .../destinations/mouseflow/metadata.json | 25 + .../destinations/mouseflow/schema.json | 62 + .../destinations/mouseflow/ui-config.json | 0 .../destinations/mp/db-config.json | 77 + .../destinations/mp/metadata.json | 25 + .../destinations/mp/schema.json | 159 + .../destinations/mp/ui-config.json | 0 .../destinations/mssql/db-config.json | 63 + .../destinations/mssql/metadata.json | 25 + .../destinations/mssql/schema.json | 238 + .../destinations/mssql/ui-config.json | 547 + .../destinations/new_relic/db-config.json | 43 + .../destinations/new_relic/metadata.json | 25 + .../destinations/new_relic/schema.json | 31 + .../destinations/new_relic/ui-config.json | 74 + .../destinations/olark/db-config.json | 0 .../destinations/olark/metadata.json | 25 + .../destinations/olark/schema.json | 0 .../destinations/olark/ui-config.json | 0 .../destinations/ometria/db-config.json | 28 + .../destinations/ometria/metadata.json | 25 + .../destinations/ometria/schema.json | 3 + .../destinations/ometria/ui-config.json | 65 + .../destinations/one_signal/db-config.json | 34 + .../destinations/one_signal/metadata.json | 25 + .../destinations/one_signal/schema.json | 38 + .../destinations/one_signal/ui-config.json | 60 + .../destinations/optimizely/db-config.json | 40 + .../destinations/optimizely/metadata.json | 25 + .../destinations/optimizely/schema.json | 3 + .../destinations/optimizely/ui-config.json | 0 .../optimizely_fullstack/db-config.json | 32 + .../optimizely_fullstack/metadata.json | 25 + .../optimizely_fullstack/schema.json | 3 + .../optimizely_fullstack/ui-config.json | 106 + .../destinations/pagerduty/db-config.json | 0 .../destinations/pagerduty/metadata.json | 25 + .../destinations/pagerduty/schema.json | 0 .../destinations/pagerduty/ui-config.json | 0 .../destinations/pardot/db-config.json | 0 .../destinations/pardot/metadata.json | 25 + .../destinations/pardot/schema.json | 3 + .../destinations/pardot/ui-config.json | 26 + .../destinations/pendo/db-config.json | 23 + .../destinations/pendo/metadata.json | 25 + .../destinations/pendo/schema.json | 3 + .../destinations/pendo/ui-config.json | 0 .../destinations/persistiq/db-config.json | 29 + .../destinations/persistiq/metadata.json | 25 + .../destinations/persistiq/schema.json | 0 .../destinations/persistiq/ui-config.json | 36 + .../destinations/personalize/db-config.json | 0 .../destinations/personalize/metadata.json | 25 + .../destinations/personalize/schema.json | 58 + .../destinations/personalize/ui-config.json | 0 .../destinations/pinterest_tag/db-config.json | 55 + .../destinations/pinterest_tag/metadata.json | 25 + .../destinations/pinterest_tag/schema.json | 106 + .../destinations/pinterest_tag/ui-config.json | 225 + .../destinations/pipedream/db-config.json | 27 + .../destinations/pipedream/metadata.json | 25 + .../destinations/pipedream/schema.json | 33 + .../destinations/pipedream/ui-config.json | 60 + .../destinations/pipedrive/db-config.json | 34 + .../destinations/pipedrive/metadata.json | 25 + .../destinations/pipedrive/schema.json | 3 + .../destinations/pipedrive/ui-config.json | 85 + .../destinations/podsights/db-config.json | 0 .../destinations/podsights/metadata.json | 0 .../destinations/podsights/schema.json | 0 .../destinations/podsights/ui-config.json | 0 .../post_affiliate_pro/db-config.json | 55 + .../post_affiliate_pro/metadata.json | 25 + .../post_affiliate_pro/schema.json | 3 + .../post_affiliate_pro/ui-config.json | 218 + .../destinations/postgres/db-config.json | 0 .../destinations/postgres/metadata.json | 25 + .../destinations/postgres/schema.json | 300 + .../destinations/postgres/ui-config.json | 0 .../destinations/posthog/db-config.json | 59 + .../destinations/posthog/metadata.json | 25 + .../destinations/posthog/schema.json | 3 + .../destinations/posthog/ui-config.json | 0 .../destinations/profitwell/db-config.json | 41 + .../destinations/profitwell/metadata.json | 25 + .../destinations/profitwell/schema.json | 3 + .../destinations/profitwell/ui-config.json | 0 .../destinations/qualaroo/db-config.json | 0 .../destinations/qualaroo/metadata.json | 25 + .../destinations/qualaroo/schema.json | 0 .../destinations/qualaroo/ui-config.json | 0 .../destinations/qualtrics/db-config.json | 33 + .../destinations/qualtrics/metadata.json | 25 + .../destinations/qualtrics/schema.json | 3 + .../destinations/qualtrics/ui-config.json | 0 .../destinations/quantummetric/db-config.json | 23 + .../destinations/quantummetric/metadata.json | 25 + .../destinations/quantummetric/schema.json | 3 + .../destinations/quantummetric/ui-config.json | 0 .../destinations/quora_pixel/db-config.json | 31 + .../destinations/quora_pixel/metadata.json | 25 + .../destinations/quora_pixel/schema.json | 82 + .../destinations/quora_pixel/ui-config.json | 0 .../destinations/reddit_pixel/db-config.json | 30 + .../destinations/reddit_pixel/metadata.json | 25 + .../destinations/reddit_pixel/schema.json | 3 + .../destinations/reddit_pixel/ui-config.json | 0 .../destinations/redis/db-config.json | 37 + .../destinations/redis/metadata.json | 25 + .../destinations/redis/schema.json | 39 + .../destinations/redis/ui-config.json | 85 + .../destinations/refiner/db-config.json | 0 .../destinations/refiner/metadata.json | 25 + .../destinations/refiner/schema.json | 0 .../destinations/refiner/ui-config.json | 0 .../destinations/revenue_cat/db-config.json | 28 + .../destinations/revenue_cat/metadata.json | 25 + .../destinations/revenue_cat/schema.json | 17 + .../destinations/revenue_cat/ui-config.json | 54 + .../destinations/rockerbox/db-config.json | 52 + .../destinations/rockerbox/metadata.json | 25 + .../destinations/rockerbox/schema.json | 114 + .../destinations/rockerbox/ui-config.json | 0 .../destinations/rollbar/db-config.json | 40 + .../destinations/rollbar/metadata.json | 25 + .../destinations/rollbar/schema.json | 94 + .../destinations/rollbar/ui-config.json | 0 .../destinations/rs/db-config.json | 0 .../destinations/rs/metadata.json | 25 + .../destinations/rs/schema.json | 0 .../destinations/rs/ui-config.json | 0 .../destinations/s3/db-config.json | 36 + .../destinations/s3/metadata.json | 25 + .../destinations/s3/schema.json | 30 + .../destinations/s3/ui-config.json | 84 + .../destinations/s3_datalake/db-config.json | 42 + .../destinations/s3_datalake/metadata.json | 25 + .../destinations/s3_datalake/schema.json | 71 + .../destinations/s3_datalake/ui-config.json | 162 + .../destinations/salesforce/db-config.json | 36 + .../destinations/salesforce/metadata.json | 25 + .../destinations/salesforce/schema.json | 3 + .../destinations/salesforce/ui-config.json | 61 + .../destinations/satismeter/db-config.json | 0 .../destinations/satismeter/metadata.json | 25 + .../destinations/satismeter/schema.json | 91 + .../destinations/satismeter/ui-config.json | 0 .../destinations/segment/db-config.json | 27 + .../destinations/segment/metadata.json | 25 + .../destinations/segment/schema.json | 3 + .../destinations/segment/ui-config.json | 18 + .../destinations/sendgrid/db-config.json | 0 .../destinations/sendgrid/metadata.json | 25 + .../destinations/sendgrid/schema.json | 3 + .../destinations/sendgrid/ui-config.json | 0 .../destinations/sendinblue/db-config.json | 0 .../destinations/sendinblue/metadata.json | 25 + .../destinations/sendinblue/schema.json | 96 + .../destinations/sendinblue/ui-config.json | 0 .../destinations/sentry/db-config.json | 49 + .../destinations/sentry/metadata.json | 25 + .../destinations/sentry/schema.json | 130 + .../destinations/sentry/ui-config.json | 0 .../destinations/serenytics/db-config.json | 35 + .../destinations/serenytics/metadata.json | 25 + .../destinations/serenytics/schema.json | 48 + .../destinations/serenytics/ui-config.json | 69 + .../destinations/sfmc/db-config.json | 37 + .../destinations/sfmc/metadata.json | 25 + .../destinations/sfmc/schema.json | 3 + .../destinations/sfmc/ui-config.json | 101 + .../destinations/shynet/db-config.json | 43 + .../destinations/shynet/metadata.json | 25 + .../destinations/shynet/schema.json | 70 + .../destinations/shynet/ui-config.json | 0 .../destinations/signl4/db-config.json | 42 + .../destinations/signl4/metadata.json | 25 + .../destinations/signl4/schema.json | 72 + .../destinations/signl4/ui-config.json | 205 + .../destinations/singular/db-config.json | 43 + .../destinations/singular/metadata.json | 25 + .../destinations/singular/schema.json | 66 + .../destinations/singular/ui-config.json | 109 + .../destinations/slack/db-config.json | 34 + .../destinations/slack/metadata.json | 25 + .../destinations/slack/schema.json | 65 + .../destinations/slack/ui-config.json | 122 + .../destinations/snap_pixel/db-config.json | 36 + .../destinations/snap_pixel/metadata.json | 25 + .../destinations/snap_pixel/schema.json | 3 + .../destinations/snap_pixel/ui-config.json | 0 .../snapchat_conversion/db-config.json | 36 + .../snapchat_conversion/metadata.json | 25 + .../snapchat_conversion/schema.json | 46 + .../snapchat_conversion/ui-config.json | 215 + .../snapchat_custom_audience/db-config.json | 22 + .../snapchat_custom_audience/metadata.json | 25 + .../snapchat_custom_audience/schema.json | 20 + .../snapchat_custom_audience/ui-config.json | 56 + .../destinations/snapengage/db-config.json | 34 + .../destinations/snapengage/metadata.json | 25 + .../destinations/snapengage/schema.json | 80 + .../destinations/snapengage/ui-config.json | 0 .../destinations/snowflake/db-config.json | 55 + .../destinations/snowflake/metadata.json | 25 + .../destinations/snowflake/schema.json | 226 + .../destinations/snowflake/ui-config.json | 538 + .../destinations/splitio/db-config.json | 28 + .../destinations/splitio/metadata.json | 25 + .../destinations/splitio/schema.json | 3 + .../destinations/splitio/ui-config.json | 37 + .../destinations/statsig/db-config.json | 29 + .../destinations/statsig/metadata.json | 25 + .../destinations/statsig/schema.json | 3 + .../destinations/statsig/ui-config.json | 18 + .../destinations/tiktok_ads/db-config.json | 17 + .../destinations/tiktok_ads/metadata.json | 25 + .../destinations/tiktok_ads/schema.json | 3 + .../destinations/tiktok_ads/ui-config.json | 111 + .../destinations/trengo/db-config.json | 34 + .../destinations/trengo/metadata.json | 25 + .../destinations/trengo/schema.json | 3 + .../destinations/trengo/ui-config.json | 70 + .../destinations/tvsquared/db-config.json | 34 + .../destinations/tvsquared/metadata.json | 25 + .../destinations/tvsquared/schema.json | 3 + .../destinations/tvsquared/ui-config.json | 0 .../destinations/user/db-config.json | 46 + .../destinations/user/metadata.json | 25 + .../destinations/user/schema.json | 81 + .../destinations/user/ui-config.json | 92 + .../destinations/userlist/db-config.json | 29 + .../destinations/userlist/metadata.json | 25 + .../destinations/userlist/schema.json | 3 + .../destinations/userlist/ui-config.json | 18 + .../destinations/variance/db-config.json | 28 + .../destinations/variance/metadata.json | 25 + .../destinations/variance/schema.json | 3 + .../destinations/variance/ui-config.json | 26 + .../destinations/vero/db-config.json | 40 + .../destinations/vero/metadata.json | 25 + .../destinations/vero/schema.json | 70 + .../destinations/vero/ui-config.json | 0 .../destinations/vwo/db-config.json | 39 + .../destinations/vwo/metadata.json | 25 + .../destinations/vwo/schema.json | 86 + .../destinations/vwo/ui-config.json | 0 .../destinations/webengage/db-config.json | 28 + .../destinations/webengage/metadata.json | 25 + .../destinations/webengage/schema.json | 21 + .../destinations/webengage/ui-config.json | 46 + .../destinations/webhook/db-config.json | 27 + .../destinations/webhook/metadata.json | 25 + .../destinations/webhook/schema.json | 0 .../destinations/webhook/ui-config.json | 0 .../destinations/woopra/db-config.json | 58 + .../destinations/woopra/metadata.json | 25 + .../destinations/woopra/schema.json | 92 + .../destinations/woopra/ui-config.json | 0 .../destinations/wootric/db-config.json | 28 + .../destinations/wootric/metadata.json | 25 + .../destinations/wootric/schema.json | 21 + .../destinations/wootric/ui-config.json | 38 + .../destinations/yahoo_dsp/db-config.json | 26 + .../destinations/yahoo_dsp/metadata.json | 25 + .../destinations/yahoo_dsp/schema.json | 36 + .../destinations/yahoo_dsp/ui-config.json | 126 + .../yandex_metrica/db-config.json | 0 .../destinations/yandex_metrica/metadata.json | 25 + .../destinations/yandex_metrica/schema.json | 0 .../yandex_metrica/ui-config.json | 0 .../destinations/zapier/db-config.json | 29 + .../destinations/zapier/metadata.json | 25 + .../destinations/zapier/schema.json | 45 + .../destinations/zapier/ui-config.json | 46 + .../destinations/zendesk/db-config.json | 36 + .../destinations/zendesk/metadata.json | 25 + .../destinations/zendesk/schema.json | 34 + .../destinations/zendesk/ui-config.json | 62 + .../sources/GainsightPX/db-config.json | 0 .../sources/GainsightPX}/metadata.json | 0 .../sources/GainsightPX/schema.json | 3 + .../sources/GainsightPX/ui-config.json | 0 .../sources/active_campaign/db-config.json | 5 + .../sources/active_campaign}/metadata.json | 0 .../sources/active_campaign/schema.json | 3 + .../sources/active_campaign/ui-config.json | 38 + src/configurations/sources/amp/db-config.json | 4 + .../configurations/sources/amp}/metadata.json | 0 src/configurations/sources/amp/schema.json | 3 + .../configurations/sources/amp/ui-config.json | 0 .../sources/android/db-config.json | 4 + .../sources/android}/metadata.json | 0 .../sources/android/schema.json | 3 + .../sources/android/ui-config.json | 0 .../sources/appcenter/db-config.json | 5 + .../sources/appcenter}/metadata.json | 0 .../sources/appcenter/schema.json | 3 + .../sources/appcenter/ui-config.json | 0 .../sources/appsflyer/db-config.json | 5 + .../sources/appsflyer}/metadata.json | 0 .../sources/appsflyer/schema.json | 3 + .../sources/appsflyer/ui-config.json | 0 .../sources/auth0/db-config.json | 5 + .../sources/auth0}/metadata.json | 0 src/configurations/sources/auth0/schema.json | 3 + .../sources/auth0/ui-config.json | 0 .../sources/bigquery/db-config.json | 10 + .../sources/bigquery/metadata.json | 13 + .../sources/bigquery/schema.json | 3 + .../sources/bigquery/ui-config.json | 59 + .../sources/bing_ads/db-config.json | 5 + .../sources/bing_ads/metadata.json | 13 + .../sources/bing_ads/schema.json | 3 + .../sources/bing_ads/ui-config.json | 51 + .../sources/braze/db-config.json | 5 + .../sources/braze/metadata.json | 13 + src/configurations/sources/braze/schema.json | 3 + .../sources/braze/ui-config.json | 0 .../sources/canny/db-config.json | 5 + .../sources/canny/metadata.json | 13 + src/configurations/sources/canny/schema.json | 3 + .../sources/canny/ui-config.json | 3 + .../sources/clickhouse/db-config.json | 8 + .../sources/clickhouse/metadata.json | 13 + .../sources/clickhouse/schema.json | 3 + .../sources/clickhouse/ui-config.json | 92 + .../sources/cordova/db-config.json | 4 + .../sources/cordova/metadata.json | 13 + .../sources/cordova/schema.json | 3 + .../sources/cordova/ui-config.json | 3 + .../sources/customerio/db-config.json | 5 + .../sources/customerio/metadata.json | 13 + .../sources/customerio/schema.json | 3 + .../sources/customerio/ui-config.json | 3 + .../sources/databricks/db-config.json | 10 + .../sources/databricks/metadata.json | 13 + .../sources/databricks/schema.json | 3 + .../sources/databricks/ui-config.json | 57 + .../sources/dotnet/db-config.json | 4 + .../sources/dotnet/metadata.json | 13 + src/configurations/sources/dotnet/schema.json | 3 + .../sources/dotnet/ui-config.json | 3 + .../sources/extole/db-config.json | 5 + .../sources/extole/metadata.json | 13 + src/configurations/sources/extole/schema.json | 3 + .../sources/extole/ui-config.json | 3 + .../sources/facebook_ads/db-config.json | 0 .../sources/facebook_ads/metadata.json | 13 + .../sources/facebook_ads/schema.json | 3 + .../sources/facebook_ads/ui-config.json | 109 + .../sources/flutter/db-config.json | 4 + .../sources/flutter/metadata.json | 13 + .../sources/flutter/schema.json | 3 + .../sources/flutter/ui-config.json | 3 + .../sources/freshdesk/db-config.json | 8 + .../sources/freshdesk/metadata.json | 13 + .../sources/freshdesk/schema.json | 3 + .../sources/freshdesk/ui-config.json | 35 + src/configurations/sources/go/db-config.json | 4 + src/configurations/sources/go/metadata.json | 13 + src/configurations/sources/go/schema.json | 3 + src/configurations/sources/go/ui-config.json | 3 + .../sources/google_adwords/db-config.json | 8 + .../sources/google_adwords/metadata.json | 13 + .../sources/google_adwords/schema.json | 3 + .../sources/google_adwords/ui-config.json | 63 + .../sources/google_analytics/db-config.json | 8 + .../sources/google_analytics/metadata.json | 13 + .../sources/google_analytics/schema.json | 3 + .../sources/google_analytics/ui-config.json | 74 + .../google_search_console/db-config.json | 8 + .../google_search_console/metadata.json | 13 + .../sources/google_search_console/schema.json | 3 + .../google_search_console/ui-config.json | 48 + .../sources/google_sheets/db-config.json | 5 + .../sources/google_sheets/metadata.json | 13 + .../sources/google_sheets/schema.json | 3 + .../sources/google_sheets/ui-config.json | 66 + .../sources/http/db-config.json | 4 + src/configurations/sources/http/metadata.json | 13 + src/configurations/sources/http/schema.json | 3 + .../sources/http/ui-config.json | 3 + .../sources/hubspot/db-config.json | 8 + .../sources/hubspot/metadata.json | 13 + .../sources/hubspot/schema.json | 3 + .../sources/hubspot/ui-config.json | 33 + .../sources/hubspot_crm/db-config.json | 8 + .../sources/hubspot_crm/metadata.json | 13 + .../sources/hubspot_crm/schema.json | 3 + .../sources/hubspot_crm/ui-config.json | 3 + .../sources/intercom/db-config.json | 8 + .../sources/intercom/metadata.json | 13 + .../sources/intercom/schema.json | 3 + .../sources/intercom/ui-config.json | 7 + src/configurations/sources/ios/db-config.json | 4 + src/configurations/sources/ios/metadata.json | 13 + src/configurations/sources/ios/schema.json | 3 + src/configurations/sources/ios/ui-config.json | 3 + .../sources/iterable/db-config.json | 5 + .../sources/iterable/metadata.json | 13 + .../sources/iterable/schema.json | 3 + .../sources/iterable/ui-config.json | 3 + .../sources/java/db-config.json | 4 + src/configurations/sources/java/metadata.json | 13 + src/configurations/sources/java/schema.json | 3 + .../sources/java/ui-config.json | 3 + .../sources/javascript/db-config.json | 4 + .../sources/javascript/metadata.json | 13 + .../sources/javascript/schema.json | 3 + .../sources/javascript/ui-config.json | 3 + .../sources/looker/db-config.json | 4 + .../sources/looker/metadata.json | 13 + src/configurations/sources/looker/schema.json | 3 + .../sources/looker/ui-config.json | 3 + .../sources/mailchimp/db-config.json | 5 + .../sources/mailchimp/metadata.json | 13 + .../sources/mailchimp/schema.json | 3 + .../sources/mailchimp/ui-config.json | 49 + .../sources/mailjet/db-config.json | 0 .../sources/mailjet/metadata.json | 13 + .../sources/mailjet/schema.json | 3 + .../sources/mailjet/ui-config.json | 3 + .../sources/mailmodo/db-config.json | 5 + .../sources/mailmodo/metadata.json | 13 + .../sources/mailmodo/schema.json | 3 + .../sources/mailmodo/ui-config.json | 3 + .../sources/marketo/db-config.json | 5 + .../sources/marketo/metadata.json | 13 + .../sources/marketo/schema.json | 3 + .../sources/marketo/ui-config.json | 67 + .../sources/mixpanel/db-config.json | 8 + .../sources/mixpanel/metadata.json | 13 + .../sources/mixpanel/schema.json | 3 + .../sources/mixpanel/ui-config.json | 464 + .../sources/moengage/db-config.json | 0 .../sources/moengage/metadata.json | 13 + .../sources/moengage/schema.json | 3 + .../sources/moengage/ui-config.json | 3 + .../sources/monday/db-config.json | 5 + .../sources/monday/metadata.json | 13 + src/configurations/sources/monday/schema.json | 3 + .../sources/monday/ui-config.json | 3 + .../sources/mysql/db-config.json | 9 + .../sources/mysql/metadata.json | 13 + src/configurations/sources/mysql/schema.json | 3 + .../sources/mysql/ui-config.json | 77 + .../sources/netsuite/db-config.json | 5 + .../sources/netsuite/metadata.json | 13 + .../sources/netsuite/schema.json | 3 + .../sources/netsuite/ui-config.json | 86 + .../sources/node/db-config.json | 4 + src/configurations/sources/node/metadata.json | 13 + src/configurations/sources/node/schema.json | 3 + .../sources/node/ui-config.json | 3 + .../sources/olark/db-config.json | 0 .../sources/olark/metadata.json | 13 + src/configurations/sources/olark/schema.json | 3 + .../sources/olark/ui-config.json | 3 + .../sources/pagerduty/db-config.json | 0 .../sources/pagerduty/metadata.json | 13 + .../sources/pagerduty/schema.json | 3 + .../sources/pagerduty/ui-config.json | 3 + .../sources/pardot/db-config.json | 5 + .../sources/pardot/metadata.json | 13 + src/configurations/sources/pardot/schema.json | 3 + .../sources/pardot/ui-config.json | 41 + src/configurations/sources/php/db-config.json | 4 + src/configurations/sources/php/metadata.json | 13 + src/configurations/sources/php/schema.json | 3 + src/configurations/sources/php/ui-config.json | 3 + .../sources/pipedream/db-config.json | 0 .../sources/pipedream/metadata.json | 13 + .../sources/pipedream/schema.json | 3 + .../sources/pipedream/ui-config.json | 3 + .../sources/pipedrive/db-config.json | 5 + .../sources/pipedrive/metadata.json | 13 + .../sources/pipedrive/schema.json | 3 + .../sources/pipedrive/ui-config.json | 32 + .../sources/postgres/db-config.json | 9 + .../sources/postgres/metadata.json | 13 + .../sources/postgres/schema.json | 3 + .../sources/postgres/ui-config.json | 84 + .../sources/posthog/db-config.json | 4 + .../sources/posthog/metadata.json | 13 + .../sources/posthog/schema.json | 3 + .../sources/posthog/ui-config.json | 3 + .../sources/python/db-config.json | 4 + .../sources/python/metadata.json | 13 + src/configurations/sources/python/schema.json | 3 + .../sources/python/ui-config.json | 3 + .../sources/quickbooks/db-config.json | 5 + .../sources/quickbooks/metadata.json | 13 + .../sources/quickbooks/schema.json | 3 + .../sources/quickbooks/ui-config.json | 7 + .../sources/react_native/db-config.json | 4 + .../sources/react_native/metadata.json | 13 + .../sources/react_native/schema.json | 3 + .../sources/react_native/ui-config.json | 3 + .../sources/reactnative/db-config.json | 4 + .../sources/reactnative/metadata.json | 1 + .../sources/redshift/db-config.json | 10 + .../sources/redshift/metadata.json | 13 + .../sources/redshift/schema.json | 3 + .../sources/redshift/ui-config.json | 84 + .../sources/refiner/db-config.json | 0 .../sources/refiner/metadata.json | 13 + .../sources/refiner/schema.json | 3 + .../sources/refiner/ui-config.json | 3 + .../sources/ruby/db-config.json | 4 + src/configurations/sources/ruby/metadata.json | 13 + src/configurations/sources/ruby/schema.json | 3 + .../sources/ruby/ui-config.json | 3 + .../sources/rust/db-config.json | 4 + src/configurations/sources/rust/metadata.json | 13 + src/configurations/sources/rust/schema.json | 3 + .../sources/rust/ui-config.json | 3 + src/configurations/sources/s3/db-config.json | 9 + src/configurations/sources/s3/metadata.json | 13 + src/configurations/sources/s3/schema.json | 3 + src/configurations/sources/s3/ui-config.json | 86 + .../sources/salesforce/db-config.json | 8 + .../sources/salesforce/metadata.json | 13 + .../sources/salesforce/schema.json | 3 + .../sources/salesforce/ui-config.json | 7 + .../sources/satismeter/db-config.json | 0 .../sources/satismeter/metadata.json | 13 + .../sources/satismeter/schema.json | 3 + .../sources/satismeter/ui-config.json | 3 + .../sources/segment/db-config.json | 5 + .../sources/segment/metadata.json | 13 + .../sources/segment/schema.json | 3 + .../sources/segment/ui-config.json | 3 + .../sources/sendgrid/db-config.json | 8 + .../sources/sendgrid/metadata.json | 13 + .../sources/sendgrid/schema.json | 3 + .../sources/sendgrid/ui-config.json | 31 + .../sources/shopify/db-config.json | 8 + .../sources/shopify/metadata.json | 13 + .../sources/shopify/schema.json | 3 + .../sources/shopify/ui-config.json | 3 + .../sources/signl4/db-config.json | 5 + .../sources/signl4/metadata.json | 13 + src/configurations/sources/signl4/schema.json | 3 + .../sources/signl4/ui-config.json | 3 + .../sources/singer-recurly/db-config.json | 10 + .../sources/singer-recurly/metadata.json | 13 + .../sources/singer-recurly/schema.json | 3 + .../sources/singer-recurly/ui-config.json | 3 + .../sources/singer_amplitude/db-config.json | 0 .../sources/singer_amplitude/metadata.json | 13 + .../sources/singer_amplitude/schema.json | 3 + .../sources/singer_amplitude/ui-config.json | 3 + .../sources/singer_bing_ads/db-config.json | 12 + .../sources/singer_bing_ads/metadata.json | 13 + .../sources/singer_bing_ads/schema.json | 3 + .../sources/singer_bing_ads/ui-config.json | 3 + .../sources/singer_chargebee/db-config.json | 9 + .../sources/singer_chargebee/metadata.json | 13 + .../sources/singer_chargebee/schema.json | 3 + .../sources/singer_chargebee/ui-config.json | 3 + .../sources/singer_customer_io/db-config.json | 9 + .../sources/singer_customer_io/metadata.json | 13 + .../sources/singer_customer_io/schema.json | 3 + .../sources/singer_customer_io/ui-config.json | 3 + .../singer_facebook_marketing/db-config.json | 10 + .../singer_facebook_marketing/metadata.json | 13 + .../singer_facebook_marketing/schema.json | 3 + .../singer_facebook_marketing/ui-config.json | 3 + .../sources/singer_freshdesk/db-config.json | 8 + .../sources/singer_freshdesk/metadata.json | 13 + .../sources/singer_freshdesk/schema.json | 3 + .../sources/singer_freshdesk/ui-config.json | 3 + .../sources/singer_google_ads/db-config.json | 13 + .../sources/singer_google_ads/metadata.json | 13 + .../sources/singer_google_ads/schema.json | 3 + .../sources/singer_google_ads/ui-config.json | 3 + .../singer_google_analytics/db-config.json | 12 + .../singer_google_analytics/metadata.json | 13 + .../singer_google_analytics/schema.json | 3 + .../singer_google_analytics/ui-config.json | 3 + .../singer_google_analytics_v4/db-config.json | 13 + .../singer_google_analytics_v4/metadata.json | 13 + .../singer_google_analytics_v4/schema.json | 3 + .../singer_google_analytics_v4/ui-config.json | 3 + .../db-config.json | 0 .../metadata.json | 13 + .../singer_google_search_console/schema.json | 3 + .../ui-config.json | 3 + .../singer_google_sheets/db-config.json | 12 + .../singer_google_sheets/metadata.json | 13 + .../sources/singer_google_sheets/schema.json | 3 + .../singer_google_sheets/ui-config.json | 3 + .../sources/singer_hubspot/db-config.json | 12 + .../sources/singer_hubspot/metadata.json | 13 + .../sources/singer_hubspot/schema.json | 3 + .../sources/singer_hubspot/ui-config.json | 3 + .../sources/singer_intercom/db-config.json | 0 .../sources/singer_intercom/metadata.json | 13 + .../sources/singer_intercom/schema.json | 3 + .../sources/singer_intercom/ui-config.json | 3 + .../sources/singer_iterable/db-config.json | 0 .../sources/singer_iterable/metadata.json | 13 + .../sources/singer_iterable/schema.json | 3 + .../sources/singer_iterable/ui-config.json | 3 + .../sources/singer_klaviyo/db-config.json | 9 + .../sources/singer_klaviyo/metadata.json | 13 + .../sources/singer_klaviyo/schema.json | 3 + .../sources/singer_klaviyo/ui-config.json | 3 + .../sources/singer_mailchimp/db-config.json | 13 + .../sources/singer_mailchimp/metadata.json | 13 + .../sources/singer_mailchimp/schema.json | 3 + .../sources/singer_mailchimp/ui-config.json | 3 + .../sources/singer_mixpanel/db-config.json | 8 + .../sources/singer_mixpanel/metadata.json | 13 + .../sources/singer_mixpanel/schema.json | 3 + .../sources/singer_mixpanel/ui-config.json | 3 + .../sources/singer_pardot/db-config.json | 13 + .../sources/singer_pardot/metadata.json | 13 + .../sources/singer_pardot/schema.json | 3 + .../sources/singer_pardot/ui-config.json | 3 + .../sources/singer_pipedrive/db-config.json | 13 + .../sources/singer_pipedrive/metadata.json | 13 + .../sources/singer_pipedrive/schema.json | 3 + .../sources/singer_pipedrive/ui-config.json | 3 + .../sources/singer_quickbooks/db-config.json | 13 + .../sources/singer_quickbooks/metadata.json | 13 + .../sources/singer_quickbooks/schema.json | 3 + .../sources/singer_quickbooks/ui-config.json | 3 + .../sources/singer_salesforce/db-config.json | 0 .../sources/singer_salesforce/metadata.json | 13 + .../sources/singer_salesforce/schema.json | 3 + .../sources/singer_salesforce/ui-config.json | 3 + .../sources/singer_sendgrid/db-config.json | 0 .../sources/singer_sendgrid/metadata.json | 13 + .../sources/singer_sendgrid/schema.json | 3 + .../sources/singer_sendgrid/ui-config.json | 3 + .../sources/singer_stripe/db-config.json | 10 + .../sources/singer_stripe/metadata.json | 13 + .../sources/singer_stripe/schema.json | 3 + .../sources/singer_stripe/ui-config.json | 3 + .../singer_zendesk_chat/db-config.json | 11 + .../sources/singer_zendesk_chat/metadata.json | 13 + .../sources/singer_zendesk_chat/schema.json | 3 + .../singer_zendesk_chat/ui-config.json | 3 + .../singer_zendesk_support/db-config.json | 8 + .../singer_zendesk_support/metadata.json | 13 + .../singer_zendesk_support/schema.json | 3 + .../singer_zendesk_support/ui-config.json | 3 + .../sources/snowflake/db-config.json | 10 + .../sources/snowflake/metadata.json | 13 + .../sources/snowflake/schema.json | 3 + .../sources/snowflake/ui-config.json | 89 + .../sources/stripe/db-config.json | 5 + .../sources/stripe/metadata.json | 13 + src/configurations/sources/stripe/schema.json | 3 + .../sources/stripe/ui-config.json | 130 + .../sources/unity/db-config.json | 4 + .../sources/unity/metadata.json | 13 + src/configurations/sources/unity/schema.json | 3 + .../sources/unity/ui-config.json | 3 + .../sources/webhook/db-config.json | 5 + .../sources/webhook/metadata.json | 13 + .../sources/webhook/schema.json | 3 + .../sources/webhook/ui-config.json | 3 + .../sources/xero/db-config.json | 11 + src/configurations/sources/xero/metadata.json | 13 + src/configurations/sources/xero/schema.json | 3 + .../sources/xero/ui-config.json | 42 + .../sources/zendesk/db-config.json | 8 + .../sources/zendesk/metadata.json | 13 + .../sources/zendesk/schema.json | 3 + .../sources/zendesk/ui-config.json | 39 + .../sources/zendesk_chat/db-config.json | 8 + .../sources/zendesk_chat/metadata.json | 13 + .../sources/zendesk_chat/schema.json | 3 + .../sources/zendesk_chat/ui-config.json | 22 + src/index.ts | 1 + src/validations/__tests__/validation.test.ts | 68 - .../adobe_analytics_test.json | 409 - .../validation_test_data/adroll_test.json | 189 - .../validation_test_data/af_test.json | 109 - .../validation_test_data/am_test.json | 448 - .../attentive_tag_test.json | 25 - .../validation_test_data/axeptio_test.json | 48 - .../azure_datalake_test.json | 179 - .../azure_synapse_test.json | 276 - .../validation_test_data/canny_test.json | 49 - .../validation_test_data/clickhouse_test.json | 276 - .../validation_test_data/clickup_test.json | 105 - .../convertflow_test.json | 72 - .../validation_test_data/criteo_test.json | 131 - .../validation_test_data/custify_test.json | 32 - .../validation_test_data/customerio_test.json | 167 - .../dcm_floodlight_test.json | 266 - .../validation_test_data/deltalake_test.json | 226 - .../validation_test_data/discord_test.json | 80 - .../facebook_pixel_test.json | 202 - .../freshmarketer_test.json | 43 - .../validation_test_data/freshsales_test.json | 43 - .../validation_test_data/ga4_test.json | 167 - .../validation_test_data/ga_test.json | 302 - .../validation_test_data/gcs_test.json | 46 - .../google_cloud_function_test.json | 21 - .../validation_test_data/googleads_test.json | 209 - .../validation_test_data/gtm_test.json | 75 - .../validation_test_data/iterable_test.json | 93 - .../validation_test_data/lambda_test.json | 67 - .../marketo_static_list_test.json | 31 - .../validation_test_data/matomo_test.json | 189 - .../validation_test_data/mautic_test.json | 59 - .../microsoft_clarity_test.json | 78 - .../validation_test_data/monday_test.json | 75 - .../validation_test_data/mp_test.json | 169 - .../validation_test_data/mssql_test.json | 276 - .../validation_test_data/one_signal_test.json | 36 - .../validation_test_data/persistIq_test.json | 28 - .../pinterest_tag_test.json | 142 - .../validation_test_data/pipedream_test.json | 90 - .../validation_test_data/podsights_test.json | 68 - .../validation_test_data/refiner_test.json | 98 - .../revenue_cat_test.json | 19 - .../validation_test_data/rockerbox_test.json | 139 - .../s3_datalake_test.json | 108 - .../validation_test_data/s3_test.json | 70 - .../validation_test_data/satismeter_test.json | 65 - .../validation_test_data/sendinblue_test.json | 113 - .../validation_test_data/sentry_test.json | 73 - .../validation_test_data/shynet_test.json | 35 - .../validation_test_data/singular_test.json | 85 - .../validation_test_data/slack_test.json | 57 - .../snapchat_conversion_test.json | 35 - .../validation_test_data/snapengage_test.json | 63 - .../validation_test_data/vero_test.json | 103 - .../validation_test_data/vwo_test.json | 109 - .../validation_test_data/webengage_test.json | 32 - .../validation_test_data/woopra_test.json | 37 - .../validation_test_data/wootric_test.json | 43 - .../validation_test_data/yahoo_dsp_test.json | 107 - .../yandex_metrica_test.json | 381 - src/validations/validator.ts | 68 - src/validator/index.ts | 72 + .../destinations/active_campaign.json | 0 .../destinations/adobe_analytics.json | 408 + test/data/validation/destinations/adroll.json | 183 + test/data/validation/destinations/af.json | 111 + test/data/validation/destinations/am.json | 448 + .../destinations/attentive_tag.json | 27 + .../validation/destinations/attribution.json | 0 .../data/validation/destinations/awin.json | 0 .../data/validation/destinations/axeptio.json | 46 + .../destinations/azure_datalake.json | 165 + .../destinations/azure_synapse.json | 276 + .../data/validation/destinations/bq.json | 0 .../data/validation/destinations/braze.json | 0 test/data/validation/destinations/canny.json | 47 + .../validation/destinations/clickhouse.json | 276 + .../data/validation/destinations/clickup.json | 98 + .../validation/destinations/convertflow.json | 67 + test/data/validation/destinations/criteo.json | 129 + .../data/validation/destinations/custify.json | 32 + .../validation/destinations/customerio.json | 166 + .../destinations/dcm_floodlight.json | 266 + .../validation/destinations/deltalake.json | 226 + .../data/validation/destinations/discord.json | 80 + .../destinations/facebook_pixel.json | 204 + .../destinations/freshmarketer.json | 39 + .../validation/destinations/freshsales.json | 39 + test/data/validation/destinations/ga.json | 304 + test/data/validation/destinations/ga4.json | 167 + test/data/validation/destinations/gcs.json | 46 + .../validation/destinations/gcs_datalake.json | 0 .../google_ads_offline_conversions.json | 0 .../google_adwords_offline_conversions.json | 0 .../destinations/google_cloud_function.json | 22 + .../validation/destinations/googleads.json | 209 + test/data/validation/destinations/gtm.json | 77 + .../data/validation/destinations/hs.json | 0 .../validation/destinations/iterable.json | 93 + test/data/validation/destinations/lambda.json | 53 + .../validation/destinations/livechat.json | 0 .../data/validation/destinations/mailjet.json | 0 .../validation/destinations/mailjet.test.json | 0 .../destinations/marketo_static_list.json | 32 + test/data/validation/destinations/matomo.json | 187 + test/data/validation/destinations/mautic.json | 55 + .../destinations/microsoft_clarity.json | 60 + test/data/validation/destinations/monday.json | 71 + .../validation/destinations/mouseflow.json | 0 test/data/validation/destinations/mp.json | 171 + test/data/validation/destinations/mssql.json | 276 + .../validation/destinations/new_relic.json | 0 .../validation/destinations/one_signal.json | 34 + .../validation/destinations/pagerduty.json | 0 .../validation/destinations/persistIq.json | 27 + .../validation/destinations/personalize.json | 0 .../destinations/pinterest_tag.json | 136 + .../validation/destinations/pipedream.json | 90 + .../validation/destinations/podsights.json | 66 + .../validation/destinations/postgres.json | 0 .../validation/destinations/qualaroo.json | 0 .../validation/destinations/quora_pixel.json | 0 .../data/validation/destinations/redis.json | 0 .../data/validation/destinations/refiner.json | 96 + .../validation/destinations/revenue_cat.json | 17 + .../validation/destinations/rockerbox.json | 137 + .../data/validation/destinations/rollbar.json | 0 .../data/validation/destinations/rs.json | 0 test/data/validation/destinations/s3.json | 67 + .../validation/destinations/s3_datalake.json | 108 + .../validation/destinations/satismeter.json | 63 + .../validation/destinations/sendinblue.json | 114 + test/data/validation/destinations/sentry.json | 67 + test/data/validation/destinations/shynet.json | 35 + .../validation/destinations/singular.json | 83 + test/data/validation/destinations/slack.json | 53 + .../destinations/snapchat_conversion.json | 34 + .../validation/destinations/snapengage.json | 61 + .../validation/destinations/snowflake.json | 0 test/data/validation/destinations/vero.json | 103 + test/data/validation/destinations/vwo.json | 109 + .../validation/destinations/webengage.json | 30 + .../data/validation/destinations/webhook.json | 0 test/data/validation/destinations/woopra.json | 35 + .../data/validation/destinations/wootric.json | 37 + .../validation/destinations/yahoo_dsp.json | 101 + .../destinations/yandex_metrica.json | 377 + .../data/validation/destinations/zapier.json | 0 .../data/validation/destinations/zendesk.json | 0 test/validation.test.ts | 131 + tsconfig.json | 11 +- tsconfig.paths.json | 7 - 2235 files changed, 65827 insertions(+), 43223 deletions(-) create mode 100644 .babelrc create mode 100644 .eslintignore create mode 100644 .eslintrc.json create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/feature-request.md create mode 100644 .github/pull_request_template.md create mode 100644 .github/workflows/check-pr-title.yaml create mode 100644 .github/workflows/create-hotfix-branch.yaml create mode 100644 .github/workflows/deploy-to-dev.yaml create mode 100644 .github/workflows/deploy-to-prod.yaml create mode 100644 .github/workflows/deploy-to-sources-dev.yaml create mode 100644 .github/workflows/deploy-to-staging.yaml delete mode 100644 .github/workflows/dev-deploy.yaml create mode 100644 .github/workflows/draft-new-release.yaml create mode 100644 .github/workflows/housekeep.yaml delete mode 100644 .github/workflows/prod-deploy.yaml create mode 100644 .github/workflows/publish-new-release.yaml create mode 100644 .github/workflows/report-code-coverage.yaml create mode 100644 .github/workflows/test.yaml create mode 100755 .husky/commit-msg create mode 100755 .husky/pre-commit create mode 100644 .nvmrc create mode 100644 .prettierignore create mode 100644 .prettierrc delete mode 100644 .version create mode 100644 .versionrc create mode 100644 .vscode/launch.json create mode 100644 CODEOWNERS create mode 100644 CONTRIBUTING.md create mode 100644 LICENSE create mode 100644 commitlint.config.js delete mode 100644 data/destinations/active_campaign/db_config.json delete mode 100644 data/destinations/active_campaign/metadata.json delete mode 100644 data/destinations/active_campaign/schema.json delete mode 100644 data/destinations/adj/db_config.json delete mode 100644 data/destinations/adj/metadata.json delete mode 100644 data/destinations/adj/schema.json delete mode 100644 data/destinations/adj/ui_config.json delete mode 100644 data/destinations/adobe_analytics/db_config.json delete mode 100644 data/destinations/adobe_analytics/metadata.json delete mode 100644 data/destinations/adobe_analytics/schema.json delete mode 100644 data/destinations/adobe_analytics/ui_config.json delete mode 100644 data/destinations/adroll/db_config.json delete mode 100644 data/destinations/adroll/metadata.json delete mode 100644 data/destinations/adroll/schema.json delete mode 100644 data/destinations/af/db_config.json delete mode 100644 data/destinations/af/metadata.json delete mode 100644 data/destinations/af/schema.json delete mode 100644 data/destinations/af/ui_config.json delete mode 100644 data/destinations/airship/db_config.json delete mode 100644 data/destinations/airship/metadata.json delete mode 100644 data/destinations/airship/schema.json delete mode 100644 data/destinations/airship/ui_config.json delete mode 100644 data/destinations/algolia/db_config.json delete mode 100644 data/destinations/algolia/metadata.json delete mode 100644 data/destinations/algolia/schema.json delete mode 100644 data/destinations/algolia/ui_config.json delete mode 100644 data/destinations/am/db_config.json delete mode 100644 data/destinations/am/metadata.json delete mode 100644 data/destinations/am/schema.json delete mode 100644 data/destinations/appcenter/db_config.json delete mode 100644 data/destinations/appcenter/metadata.json delete mode 100644 data/destinations/appcenter/schema.json delete mode 100644 data/destinations/appcenter/ui_config.json delete mode 100644 data/destinations/appcues/db_config.json delete mode 100644 data/destinations/appcues/metadata.json delete mode 100644 data/destinations/appcues/schema.json delete mode 100644 data/destinations/attentive_tag/db_config.json delete mode 100644 data/destinations/attentive_tag/metadata.json delete mode 100644 data/destinations/attentive_tag/schema.json delete mode 100644 data/destinations/attentive_tag/ui_config.json delete mode 100644 data/destinations/attribution/db_config.json delete mode 100644 data/destinations/attribution/metadata.json delete mode 100644 data/destinations/attribution/schema.json delete mode 100644 data/destinations/attribution/ui_config.json delete mode 100644 data/destinations/autopilot/db_config.json delete mode 100644 data/destinations/autopilot/metadata.json delete mode 100644 data/destinations/autopilot/schema.json delete mode 100644 data/destinations/autopilot/ui_config.json delete mode 100644 data/destinations/azure_blob/db_config.json delete mode 100644 data/destinations/azure_blob/metadata.json delete mode 100644 data/destinations/azure_blob/schema.json delete mode 100644 data/destinations/azure_blob/ui_config.json delete mode 100644 data/destinations/azure_datalake/db_config.json delete mode 100644 data/destinations/azure_datalake/metadata.json delete mode 100644 data/destinations/azure_datalake/schema.json delete mode 100644 data/destinations/azure_datalake/ui_config.json delete mode 100644 data/destinations/azure_event_hub/db_config.json delete mode 100644 data/destinations/azure_event_hub/metadata.json delete mode 100644 data/destinations/azure_event_hub/schema.json delete mode 100644 data/destinations/azure_event_hub/ui_config.json delete mode 100644 data/destinations/azure_synapse/db_config.json delete mode 100644 data/destinations/azure_synapse/metadata.json delete mode 100644 data/destinations/azure_synapse/schema.json delete mode 100644 data/destinations/azure_synapse/ui_config.json delete mode 100644 data/destinations/bingads/db_config.json delete mode 100644 data/destinations/bingads/metadata.json delete mode 100644 data/destinations/bingads/schema.json delete mode 100644 data/destinations/blueshift/db_config.json delete mode 100644 data/destinations/blueshift/metadata.json delete mode 100644 data/destinations/blueshift/schema.json delete mode 100644 data/destinations/blueshift/ui_config.json delete mode 100644 data/destinations/bq/db_config.json delete mode 100644 data/destinations/bq/metadata.json delete mode 100644 data/destinations/bq/schema.json delete mode 100644 data/destinations/bqstream/db_config.json delete mode 100644 data/destinations/bqstream/metadata.json delete mode 100644 data/destinations/bqstream/schema.json delete mode 100644 data/destinations/bqstream/ui_config.json delete mode 100644 data/destinations/branch/db_config.json delete mode 100644 data/destinations/branch/metadata.json delete mode 100644 data/destinations/branch/schema.json delete mode 100644 data/destinations/branch/ui_config.json delete mode 100644 data/destinations/braze/db_config.json delete mode 100644 data/destinations/braze/metadata.json delete mode 100644 data/destinations/braze/schema.json delete mode 100644 data/destinations/bugsnag/db_config.json delete mode 100644 data/destinations/bugsnag/metadata.json delete mode 100644 data/destinations/bugsnag/schema.json delete mode 100644 data/destinations/campaign_manager/metadata.json delete mode 100644 data/destinations/campaign_manager/schema.json delete mode 100644 data/destinations/campaign_manager/ui_config.json delete mode 100644 data/destinations/candu/db_config.json delete mode 100644 data/destinations/candu/metadata.json delete mode 100644 data/destinations/candu/schema.json delete mode 100644 data/destinations/candu/ui_config.json delete mode 100644 data/destinations/canny/db_config.json delete mode 100644 data/destinations/canny/metadata.json delete mode 100644 data/destinations/canny/schema.json delete mode 100644 data/destinations/canny/ui_config.json delete mode 100644 data/destinations/chartbeat/db_config.json delete mode 100644 data/destinations/chartbeat/metadata.json delete mode 100644 data/destinations/chartbeat/schema.json delete mode 100644 data/destinations/clevertap/db_config.json delete mode 100644 data/destinations/clevertap/metadata.json delete mode 100644 data/destinations/clevertap/schema.json delete mode 100644 data/destinations/clickhouse/db_config.json delete mode 100644 data/destinations/clickhouse/metadata.json delete mode 100644 data/destinations/clickhouse/schema.json delete mode 100644 data/destinations/clickhouse/ui_config.json delete mode 100644 data/destinations/clickup/db_config.json delete mode 100644 data/destinations/clickup/metadata.json delete mode 100644 data/destinations/clickup/schema.json delete mode 100644 data/destinations/clickup/ui_config.json delete mode 100644 data/destinations/confluent_cloud/db_config.json delete mode 100644 data/destinations/confluent_cloud/metadata.json delete mode 100644 data/destinations/confluent_cloud/schema.json delete mode 100644 data/destinations/confluent_cloud/ui_config.json delete mode 100644 data/destinations/convertflow/db_config.json delete mode 100644 data/destinations/convertflow/metadata.json delete mode 100644 data/destinations/convertflow/schema.json delete mode 100644 data/destinations/criteo/db_config.json delete mode 100644 data/destinations/criteo/metadata.json delete mode 100644 data/destinations/criteo/schema.json delete mode 100644 data/destinations/custify/db_config.json delete mode 100644 data/destinations/custify/metadata.json delete mode 100644 data/destinations/custify/schema.json delete mode 100644 data/destinations/custify/ui_config.json delete mode 100644 data/destinations/customerio/db_config.json delete mode 100644 data/destinations/customerio/metadata.json delete mode 100644 data/destinations/customerio/schema.json delete mode 100644 data/destinations/dcm_floodlight/db_config.json delete mode 100644 data/destinations/dcm_floodlight/metadata.json delete mode 100644 data/destinations/dcm_floodlight/schema.json delete mode 100644 data/destinations/delighted/db_config.json delete mode 100644 data/destinations/delighted/metadata.json delete mode 100644 data/destinations/delighted/schema.json delete mode 100644 data/destinations/delighted/ui_config.json delete mode 100644 data/destinations/deltalake/db_config.json delete mode 100644 data/destinations/deltalake/metadata.json delete mode 100644 data/destinations/deltalake/schema.json delete mode 100644 data/destinations/deltalake/ui_config.json delete mode 100644 data/destinations/digital_ocean_spaces/db_config.json delete mode 100644 data/destinations/digital_ocean_spaces/metadata.json delete mode 100644 data/destinations/digital_ocean_spaces/schema.json delete mode 100644 data/destinations/digital_ocean_spaces/ui_config.json delete mode 100644 data/destinations/discord/db_config.json delete mode 100644 data/destinations/discord/metadata.json delete mode 100644 data/destinations/discord/schema.json delete mode 100644 data/destinations/discord/ui_config.json delete mode 100644 data/destinations/drip/db_config.json delete mode 100644 data/destinations/drip/metadata.json delete mode 100644 data/destinations/drip/schema.json delete mode 100644 data/destinations/engage/db_config.json delete mode 100644 data/destinations/engage/metadata.json delete mode 100644 data/destinations/engage/schema.json delete mode 100644 data/destinations/eventbridge/db_config.json delete mode 100644 data/destinations/eventbridge/metadata.json delete mode 100644 data/destinations/eventbridge/schema.json delete mode 100644 data/destinations/facebook_offline_conversions/metadata.json delete mode 100644 data/destinations/facebook_pixel/db_config.json delete mode 100644 data/destinations/facebook_pixel/metadata.json delete mode 100644 data/destinations/facebook_pixel/schema.json delete mode 100644 data/destinations/factorsai/db_config.json delete mode 100644 data/destinations/factorsai/metadata.json delete mode 100644 data/destinations/factorsai/schema.json delete mode 100644 data/destinations/factorsai/ui_config.json delete mode 100644 data/destinations/fb/db_config.json delete mode 100644 data/destinations/fb/metadata.json delete mode 100644 data/destinations/fb/schema.json delete mode 100644 data/destinations/fb/ui_config.json delete mode 100644 data/destinations/fb_custom_audience/db_config.json delete mode 100644 data/destinations/fb_custom_audience/metadata.json delete mode 100644 data/destinations/fb_custom_audience/schema.json delete mode 100644 data/destinations/fb_custom_audience/ui_config.json delete mode 100644 data/destinations/firebase/db_config.json delete mode 100644 data/destinations/firebase/metadata.json delete mode 100644 data/destinations/firebase/schema.json delete mode 100644 data/destinations/firebase/ui_config.json delete mode 100644 data/destinations/firehose/db_config.json delete mode 100644 data/destinations/firehose/metadata.json delete mode 100644 data/destinations/firehose/schema.json delete mode 100644 data/destinations/freshmarketer/metadata.json delete mode 100644 data/destinations/freshsales/metadata.json delete mode 100644 data/destinations/fullstory/db_config.json delete mode 100644 data/destinations/fullstory/metadata.json delete mode 100644 data/destinations/fullstory/schema.json delete mode 100644 data/destinations/ga/metadata.json delete mode 100644 data/destinations/ga/schema.json delete mode 100644 data/destinations/ga360/db_config.json delete mode 100644 data/destinations/ga360/metadata.json delete mode 100644 data/destinations/ga360/schema.json delete mode 100644 data/destinations/ga4/metadata.json delete mode 100644 data/destinations/gainsight/db_config.json delete mode 100644 data/destinations/gainsight/metadata.json delete mode 100644 data/destinations/gainsight/schema.json delete mode 100644 data/destinations/gainsight/ui_config.json delete mode 100644 data/destinations/gainsight_px/db_config.json delete mode 100644 data/destinations/gainsight_px/metadata.json delete mode 100644 data/destinations/gainsight_px/schema.json delete mode 100644 data/destinations/gainsight_px/ui_config.json delete mode 100644 data/destinations/gcs/db_config.json delete mode 100644 data/destinations/gcs/metadata.json delete mode 100644 data/destinations/gcs/schema.json delete mode 100644 data/destinations/gcs/ui_config.json delete mode 100644 data/destinations/gcs_datalake/db_config.json delete mode 100644 data/destinations/gcs_datalake/metadata.json delete mode 100644 data/destinations/gcs_datalake/schema.json delete mode 100644 data/destinations/gcs_datalake/ui_config.json delete mode 100644 data/destinations/google_adwords_enhanced_conversions/metadata.json delete mode 100644 data/destinations/google_adwords_enhanced_conversions/schema.json delete mode 100644 data/destinations/google_adwords_enhanced_conversions/ui_config.json delete mode 100644 data/destinations/google_adwords_offline_conversions/metadata.json delete mode 100644 data/destinations/google_adwords_offline_conversions/schema.json delete mode 100644 data/destinations/google_adwords_offline_conversions/ui_config.json delete mode 100644 data/destinations/google_adwords_remarketing_lists/metadata.json delete mode 100644 data/destinations/google_adwords_remarketing_lists/schema.json delete mode 100644 data/destinations/google_adwords_remarketing_lists/ui_config.json delete mode 100644 data/destinations/google_cloud_function/db_config.json delete mode 100644 data/destinations/google_cloud_function/metadata.json delete mode 100644 data/destinations/google_cloud_function/schema.json delete mode 100644 data/destinations/google_cloud_function/ui_config.json delete mode 100644 data/destinations/google_optimize/db_config.json delete mode 100644 data/destinations/google_optimize/metadata.json delete mode 100644 data/destinations/google_optimize/schema.json delete mode 100644 data/destinations/googleads/db_config.json delete mode 100644 data/destinations/googleads/metadata.json delete mode 100644 data/destinations/googleads/schema.json delete mode 100644 data/destinations/googlepubsub/db_config.json delete mode 100644 data/destinations/googlepubsub/metadata.json delete mode 100644 data/destinations/googlepubsub/schema.json delete mode 100644 data/destinations/googlepubsub/ui_config.json delete mode 100644 data/destinations/googlesheets/db_config.json delete mode 100644 data/destinations/googlesheets/metadata.json delete mode 100644 data/destinations/googlesheets/schema.json delete mode 100644 data/destinations/googlesheets/ui_config.json delete mode 100644 data/destinations/gtm/db_config.json delete mode 100644 data/destinations/gtm/metadata.json delete mode 100644 data/destinations/gtm/schema.json delete mode 100644 data/destinations/heap/db_config.json delete mode 100644 data/destinations/heap/metadata.json delete mode 100644 data/destinations/heap/schema.json delete mode 100644 data/destinations/hotjar/db_config.json delete mode 100644 data/destinations/hotjar/metadata.json delete mode 100644 data/destinations/hotjar/schema.json delete mode 100644 data/destinations/hs/db_config.json delete mode 100644 data/destinations/hs/metadata.json delete mode 100644 data/destinations/hs/schema.json delete mode 100644 data/destinations/indicative/db_config.json delete mode 100644 data/destinations/indicative/metadata.json delete mode 100644 data/destinations/indicative/schema.json delete mode 100644 data/destinations/indicative/ui_config.json delete mode 100644 data/destinations/intercom/db_config.json delete mode 100644 data/destinations/intercom/metadata.json delete mode 100644 data/destinations/intercom/schema.json delete mode 100644 data/destinations/iterable/db_config.json delete mode 100644 data/destinations/iterable/metadata.json delete mode 100644 data/destinations/iterable/schema.json delete mode 100644 data/destinations/june/db_config.json delete mode 100644 data/destinations/june/metadata.json delete mode 100644 data/destinations/june/schema.json delete mode 100644 data/destinations/kafka/metadata.json delete mode 100644 data/destinations/kafka/schema.json delete mode 100644 data/destinations/kafka/ui_config.json delete mode 100644 data/destinations/keen/db_config.json delete mode 100644 data/destinations/keen/metadata.json delete mode 100644 data/destinations/keen/schema.json delete mode 100644 data/destinations/kinesis/metadata.json delete mode 100644 data/destinations/kinesis/schema.json delete mode 100644 data/destinations/kissmetrics/db_config.json delete mode 100644 data/destinations/kissmetrics/metadata.json delete mode 100644 data/destinations/kissmetrics/schema.json delete mode 100644 data/destinations/klaviyo/db_config.json delete mode 100644 data/destinations/klaviyo/metadata.json delete mode 100644 data/destinations/klaviyo/schema.json delete mode 100644 data/destinations/kochava/db_config.json delete mode 100644 data/destinations/kochava/metadata.json delete mode 100644 data/destinations/kochava/schema.json delete mode 100644 data/destinations/kochava/ui_config.json delete mode 100644 data/destinations/kustomer/db_config.json delete mode 100644 data/destinations/kustomer/metadata.json delete mode 100644 data/destinations/kustomer/schema.json delete mode 100644 data/destinations/kustomer/ui_config.json delete mode 100644 data/destinations/lambda/db_config.json delete mode 100644 data/destinations/lambda/metadata.json delete mode 100644 data/destinations/lambda/schema.json delete mode 100644 data/destinations/launchdarkly/db_config.json delete mode 100644 data/destinations/launchdarkly/metadata.json delete mode 100644 data/destinations/launchdarkly/schema.json delete mode 100644 data/destinations/leanplum/db_config.json delete mode 100644 data/destinations/leanplum/metadata.json delete mode 100644 data/destinations/leanplum/schema.json delete mode 100644 data/destinations/leanplum/ui_config.json delete mode 100644 data/destinations/linkedin_insight_tag/db_config.json delete mode 100644 data/destinations/linkedin_insight_tag/metadata.json delete mode 100644 data/destinations/linkedin_insight_tag/schema.json delete mode 100644 data/destinations/livechat/db_config.json delete mode 100644 data/destinations/livechat/metadata.json delete mode 100644 data/destinations/livechat/schema.json delete mode 100644 data/destinations/lotame/db_config.json delete mode 100644 data/destinations/lotame/metadata.json delete mode 100644 data/destinations/lotame/schema.json delete mode 100644 data/destinations/lotame_mobile/db_config.json delete mode 100644 data/destinations/lotame_mobile/metadata.json delete mode 100644 data/destinations/lotame_mobile/schema.json delete mode 100644 data/destinations/lotame_mobile/ui_config.json delete mode 100644 data/destinations/lytics/db_config.json delete mode 100644 data/destinations/lytics/metadata.json delete mode 100644 data/destinations/lytics/schema.json delete mode 100644 data/destinations/mailchimp/db_config.json delete mode 100644 data/destinations/mailchimp/metadata.json delete mode 100644 data/destinations/mailchimp/schema.json delete mode 100644 data/destinations/mailchimp/ui_config.json delete mode 100644 data/destinations/mailjet/db_config.json delete mode 100644 data/destinations/mailmodo/db_config.json delete mode 100644 data/destinations/mailmodo/metadata.json delete mode 100644 data/destinations/mailmodo/schema.json delete mode 100644 data/destinations/mailmodo/ui_config.json delete mode 100644 data/destinations/marketo/db_config.json delete mode 100644 data/destinations/marketo/metadata.json delete mode 100644 data/destinations/marketo/schema.json delete mode 100644 data/destinations/marketo/ui_config.json delete mode 100644 data/destinations/marketo_bulk_upload/db_config.json delete mode 100644 data/destinations/marketo_bulk_upload/metadata.json delete mode 100644 data/destinations/marketo_bulk_upload/schema.json delete mode 100644 data/destinations/marketo_bulk_upload/ui_config.json delete mode 100644 data/destinations/marketo_static_list/db_config.json delete mode 100644 data/destinations/marketo_static_list/metadata.json delete mode 100644 data/destinations/marketo_static_list/schema.json delete mode 100644 data/destinations/matomo/db_config.json delete mode 100644 data/destinations/matomo/metadata.json delete mode 100644 data/destinations/matomo/schema.json delete mode 100644 data/destinations/mautic/db_config.json delete mode 100644 data/destinations/mautic/metadata.json delete mode 100644 data/destinations/mautic/schema.json delete mode 100644 data/destinations/mautic/ui_config.json delete mode 100644 data/destinations/microsoft_clarity/schema.json delete mode 100644 data/destinations/minio/db_config.json delete mode 100644 data/destinations/minio/metadata.json delete mode 100644 data/destinations/minio/schema.json delete mode 100644 data/destinations/minio/ui_config.json delete mode 100644 data/destinations/moengage/db_config.json delete mode 100644 data/destinations/moengage/metadata.json delete mode 100644 data/destinations/moengage/schema.json delete mode 100644 data/destinations/monday/db_config.json delete mode 100644 data/destinations/monday/metadata.json delete mode 100644 data/destinations/monday/schema.json delete mode 100644 data/destinations/monday/ui_config.json delete mode 100644 data/destinations/monetate/db_config.json delete mode 100644 data/destinations/monetate/metadata.json delete mode 100644 data/destinations/monetate/schema.json delete mode 100644 data/destinations/monetate/ui_config.json delete mode 100644 data/destinations/mouseflow/db_config.json delete mode 100644 data/destinations/mouseflow/metadata.json delete mode 100644 data/destinations/mouseflow/schema.json delete mode 100644 data/destinations/mp/db_config.json delete mode 100644 data/destinations/mp/metadata.json delete mode 100644 data/destinations/mp/schema.json delete mode 100644 data/destinations/mssql/db_config.json delete mode 100644 data/destinations/mssql/metadata.json delete mode 100644 data/destinations/mssql/schema.json delete mode 100644 data/destinations/mssql/ui_config.json delete mode 100644 data/destinations/new_relic/db_config.json delete mode 100644 data/destinations/new_relic/metadata.json delete mode 100644 data/destinations/new_relic/schema.json delete mode 100644 data/destinations/new_relic/ui_config.json delete mode 100644 data/destinations/ometria/db_config.json delete mode 100644 data/destinations/ometria/metadata.json delete mode 100644 data/destinations/ometria/schema.json delete mode 100644 data/destinations/ometria/ui_config.json delete mode 100644 data/destinations/one_signal/db_config.json delete mode 100644 data/destinations/one_signal/metadata.json delete mode 100644 data/destinations/one_signal/schema.json delete mode 100644 data/destinations/one_signal/ui_config.json delete mode 100644 data/destinations/optimizely/db_config.json delete mode 100644 data/destinations/optimizely/metadata.json delete mode 100644 data/destinations/optimizely/schema.json delete mode 100644 data/destinations/optimizely_fullstack/db_config.json delete mode 100644 data/destinations/optimizely_fullstack/metadata.json delete mode 100644 data/destinations/optimizely_fullstack/schema.json delete mode 100644 data/destinations/optimizely_fullstack/ui_config.json delete mode 100644 data/destinations/pagerduty/metadata.json delete mode 100644 data/destinations/pardot/metadata.json delete mode 100644 data/destinations/pardot/schema.json delete mode 100644 data/destinations/pardot/ui_config.json delete mode 100644 data/destinations/pendo/db_config.json delete mode 100644 data/destinations/pendo/metadata.json delete mode 100644 data/destinations/pendo/schema.json delete mode 100644 data/destinations/persistiq/db_config.json delete mode 100644 data/destinations/persistiq/metadata.json delete mode 100644 data/destinations/persistiq/ui_config.json delete mode 100644 data/destinations/personalize/metadata.json delete mode 100644 data/destinations/personalize/schema.json delete mode 100644 data/destinations/pinterest_tag/db_config.json delete mode 100644 data/destinations/pinterest_tag/metadata.json delete mode 100644 data/destinations/pinterest_tag/schema.json delete mode 100644 data/destinations/pinterest_tag/ui_config.json delete mode 100644 data/destinations/pipedream/db_config.json delete mode 100644 data/destinations/pipedream/metadata.json delete mode 100644 data/destinations/pipedream/schema.json delete mode 100644 data/destinations/pipedream/ui_config.json delete mode 100644 data/destinations/pipedrive/db_config.json delete mode 100644 data/destinations/pipedrive/metadata.json delete mode 100644 data/destinations/pipedrive/schema.json delete mode 100644 data/destinations/pipedrive/ui_config.json delete mode 100644 data/destinations/post_affiliate_pro/db_config.json delete mode 100644 data/destinations/post_affiliate_pro/metadata.json delete mode 100644 data/destinations/post_affiliate_pro/schema.json delete mode 100644 data/destinations/post_affiliate_pro/ui_config.json delete mode 100644 data/destinations/postgres/metadata.json delete mode 100644 data/destinations/postgres/schema.json delete mode 100644 data/destinations/posthog/db_config.json delete mode 100644 data/destinations/posthog/metadata.json delete mode 100644 data/destinations/posthog/schema.json delete mode 100644 data/destinations/profitwell/db_config.json delete mode 100644 data/destinations/profitwell/metadata.json delete mode 100644 data/destinations/profitwell/schema.json delete mode 100644 data/destinations/qualtrics/db_config.json delete mode 100644 data/destinations/qualtrics/metadata.json delete mode 100644 data/destinations/qualtrics/schema.json delete mode 100644 data/destinations/quantummetric/db_config.json delete mode 100644 data/destinations/quantummetric/metadata.json delete mode 100644 data/destinations/quantummetric/schema.json delete mode 100644 data/destinations/quora_pixel/db_config.json delete mode 100644 data/destinations/quora_pixel/metadata.json delete mode 100644 data/destinations/quora_pixel/schema.json delete mode 100644 data/destinations/reddit_pixel/db_config.json delete mode 100644 data/destinations/reddit_pixel/metadata.json delete mode 100644 data/destinations/reddit_pixel/schema.json delete mode 100644 data/destinations/redis/db_config.json delete mode 100644 data/destinations/redis/metadata.json delete mode 100644 data/destinations/redis/schema.json delete mode 100644 data/destinations/redis/ui_config.json delete mode 100644 data/destinations/revenue_cat/db_config.json delete mode 100644 data/destinations/revenue_cat/metadata.json delete mode 100644 data/destinations/revenue_cat/schema.json delete mode 100644 data/destinations/revenue_cat/ui_config.json delete mode 100644 data/destinations/rockerbox/db_config.json delete mode 100644 data/destinations/rockerbox/metadata.json delete mode 100644 data/destinations/rockerbox/schema.json delete mode 100644 data/destinations/rollbar/db_config.json delete mode 100644 data/destinations/rollbar/metadata.json delete mode 100644 data/destinations/rollbar/schema.json delete mode 100644 data/destinations/rs/metadata.json delete mode 100644 data/destinations/s3/db_config.json delete mode 100644 data/destinations/s3/metadata.json delete mode 100644 data/destinations/s3/schema.json delete mode 100644 data/destinations/s3/ui_config.json delete mode 100644 data/destinations/s3_datalake/db_config.json delete mode 100644 data/destinations/s3_datalake/metadata.json delete mode 100644 data/destinations/s3_datalake/schema.json delete mode 100644 data/destinations/s3_datalake/ui_config.json delete mode 100644 data/destinations/salesforce/db_config.json delete mode 100644 data/destinations/salesforce/metadata.json delete mode 100644 data/destinations/salesforce/schema.json delete mode 100644 data/destinations/salesforce/ui_config.json delete mode 100644 data/destinations/satismeter/metadata.json delete mode 100644 data/destinations/satismeter/schema.json delete mode 100644 data/destinations/segment/db_config.json delete mode 100644 data/destinations/segment/metadata.json delete mode 100644 data/destinations/segment/schema.json delete mode 100644 data/destinations/segment/ui_config.json delete mode 100644 data/destinations/sendgrid/metadata.json delete mode 100644 data/destinations/sendgrid/schema.json delete mode 100644 data/destinations/sendinblue/schema.json delete mode 100644 data/destinations/sentry/db_config.json delete mode 100644 data/destinations/sentry/metadata.json delete mode 100644 data/destinations/sentry/schema.json delete mode 100644 data/destinations/serenytics/db_config.json delete mode 100644 data/destinations/serenytics/metadata.json delete mode 100644 data/destinations/serenytics/schema.json delete mode 100644 data/destinations/serenytics/ui_config.json delete mode 100644 data/destinations/sfmc/db_config.json delete mode 100644 data/destinations/sfmc/metadata.json delete mode 100644 data/destinations/sfmc/schema.json delete mode 100644 data/destinations/sfmc/ui_config.json delete mode 100644 data/destinations/shynet/db_config.json delete mode 100644 data/destinations/shynet/metadata.json delete mode 100644 data/destinations/shynet/schema.json delete mode 100644 data/destinations/signl4/db_config.json delete mode 100644 data/destinations/signl4/metadata.json delete mode 100644 data/destinations/signl4/schema.json delete mode 100644 data/destinations/signl4/ui_config.json delete mode 100644 data/destinations/singular/db_config.json delete mode 100644 data/destinations/singular/metadata.json delete mode 100644 data/destinations/singular/schema.json delete mode 100644 data/destinations/singular/ui_config.json delete mode 100644 data/destinations/slack/db_config.json delete mode 100644 data/destinations/slack/metadata.json delete mode 100644 data/destinations/slack/schema.json delete mode 100644 data/destinations/slack/ui_config.json delete mode 100644 data/destinations/snap_pixel/db_config.json delete mode 100644 data/destinations/snap_pixel/metadata.json delete mode 100644 data/destinations/snap_pixel/schema.json delete mode 100644 data/destinations/snapchat_conversion/db_config.json delete mode 100644 data/destinations/snapchat_conversion/metadata.json delete mode 100644 data/destinations/snapchat_conversion/schema.json delete mode 100644 data/destinations/snapchat_conversion/ui_config.json delete mode 100644 data/destinations/snapchat_custom_audience/db_config.json delete mode 100644 data/destinations/snapchat_custom_audience/metadata.json delete mode 100644 data/destinations/snapchat_custom_audience/schema.json delete mode 100644 data/destinations/snapchat_custom_audience/ui_config.json delete mode 100644 data/destinations/snapengage/db_config.json delete mode 100644 data/destinations/snapengage/metadata.json delete mode 100644 data/destinations/snapengage/schema.json delete mode 100644 data/destinations/snowflake/db_config.json delete mode 100644 data/destinations/snowflake/metadata.json delete mode 100644 data/destinations/snowflake/schema.json delete mode 100644 data/destinations/snowflake/ui_config.json delete mode 100644 data/destinations/splitio/db_config.json delete mode 100644 data/destinations/splitio/metadata.json delete mode 100644 data/destinations/splitio/schema.json delete mode 100644 data/destinations/splitio/ui_config.json delete mode 100644 data/destinations/statsig/db_config.json delete mode 100644 data/destinations/statsig/metadata.json delete mode 100644 data/destinations/statsig/schema.json delete mode 100644 data/destinations/statsig/ui_config.json delete mode 100644 data/destinations/tiktok_ads/db_config.json delete mode 100644 data/destinations/tiktok_ads/metadata.json delete mode 100644 data/destinations/tiktok_ads/schema.json delete mode 100644 data/destinations/tiktok_ads/ui_config.json delete mode 100644 data/destinations/trengo/db_config.json delete mode 100644 data/destinations/trengo/metadata.json delete mode 100644 data/destinations/trengo/schema.json delete mode 100644 data/destinations/trengo/ui_config.json delete mode 100644 data/destinations/tvsquared/db_config.json delete mode 100644 data/destinations/tvsquared/metadata.json delete mode 100644 data/destinations/tvsquared/schema.json delete mode 100644 data/destinations/user/db_config.json delete mode 100644 data/destinations/user/metadata.json delete mode 100644 data/destinations/user/schema.json delete mode 100644 data/destinations/user/ui_config.json delete mode 100644 data/destinations/userlist/db_config.json delete mode 100644 data/destinations/userlist/metadata.json delete mode 100644 data/destinations/userlist/schema.json delete mode 100644 data/destinations/userlist/ui_config.json delete mode 100644 data/destinations/variance/db_config.json delete mode 100644 data/destinations/variance/metadata.json delete mode 100644 data/destinations/variance/schema.json delete mode 100644 data/destinations/variance/ui_config.json delete mode 100644 data/destinations/vero/db_config.json delete mode 100644 data/destinations/vero/metadata.json delete mode 100644 data/destinations/vero/schema.json delete mode 100644 data/destinations/vwo/db_config.json delete mode 100644 data/destinations/vwo/metadata.json delete mode 100644 data/destinations/vwo/schema.json delete mode 100644 data/destinations/webengage/db_config.json delete mode 100644 data/destinations/webengage/metadata.json delete mode 100644 data/destinations/webengage/schema.json delete mode 100644 data/destinations/webengage/ui_config.json delete mode 100644 data/destinations/webhook/db_config.json delete mode 100644 data/destinations/webhook/metadata.json delete mode 100644 data/destinations/woopra/db_config.json delete mode 100644 data/destinations/woopra/metadata.json delete mode 100644 data/destinations/woopra/schema.json delete mode 100644 data/destinations/wootric/db_config.json delete mode 100644 data/destinations/wootric/metadata.json delete mode 100644 data/destinations/wootric/schema.json delete mode 100644 data/destinations/wootric/ui_config.json delete mode 100644 data/destinations/yahoo_dsp/db_config.json delete mode 100644 data/destinations/yahoo_dsp/metadata.json delete mode 100644 data/destinations/yahoo_dsp/schema.json delete mode 100644 data/destinations/yahoo_dsp/ui_config.json delete mode 100644 data/destinations/zapier/db_config.json delete mode 100644 data/destinations/zapier/metadata.json delete mode 100644 data/destinations/zapier/schema.json delete mode 100644 data/destinations/zapier/ui_config.json delete mode 100644 data/destinations/zendesk/db_config.json delete mode 100644 data/destinations/zendesk/metadata.json delete mode 100644 data/destinations/zendesk/schema.json delete mode 100644 data/destinations/zendesk/ui_config.json delete mode 100644 data/sources/GainsightPX/metadata.json delete mode 100644 data/sources/GainsightPX/schema.json delete mode 100644 data/sources/GainsightPX/ui_config.json delete mode 100644 data/sources/active_campaign/db_config.json delete mode 100644 data/sources/active_campaign/metadata.json delete mode 100644 data/sources/active_campaign/schema.json delete mode 100644 data/sources/active_campaign/ui_config.json delete mode 100644 data/sources/amp/db_config.json delete mode 100644 data/sources/amp/metadata.json delete mode 100644 data/sources/amp/schema.json delete mode 100644 data/sources/amp/ui_config.json delete mode 100644 data/sources/android/db_config.json delete mode 100644 data/sources/android/metadata.json delete mode 100644 data/sources/android/schema.json delete mode 100644 data/sources/android/ui_config.json delete mode 100644 data/sources/appcenter/db_config.json delete mode 100644 data/sources/appcenter/metadata.json delete mode 100644 data/sources/appcenter/schema.json delete mode 100644 data/sources/appcenter/ui_config.json delete mode 100644 data/sources/appsflyer/db_config.json delete mode 100644 data/sources/appsflyer/metadata.json delete mode 100644 data/sources/appsflyer/schema.json delete mode 100644 data/sources/appsflyer/ui_config.json delete mode 100644 data/sources/auth0/db_config.json delete mode 100644 data/sources/auth0/metadata.json delete mode 100644 data/sources/auth0/schema.json delete mode 100644 data/sources/auth0/ui_config.json delete mode 100644 data/sources/bigquery/db_config.json delete mode 100644 data/sources/bigquery/metadata.json delete mode 100644 data/sources/bigquery/schema.json delete mode 100644 data/sources/bigquery/ui_config.json delete mode 100644 data/sources/bing_ads/db_config.json delete mode 100644 data/sources/bing_ads/metadata.json delete mode 100644 data/sources/bing_ads/schema.json delete mode 100644 data/sources/bing_ads/ui_config.json delete mode 100644 data/sources/braze/db_config.json delete mode 100644 data/sources/braze/metadata.json delete mode 100644 data/sources/braze/schema.json delete mode 100644 data/sources/braze/ui_config.json delete mode 100644 data/sources/canny/db_config.json delete mode 100644 data/sources/canny/metadata.json delete mode 100644 data/sources/canny/schema.json delete mode 100644 data/sources/canny/ui_config.json delete mode 100644 data/sources/clickhouse/db_config.json delete mode 100644 data/sources/clickhouse/metadata.json delete mode 100644 data/sources/clickhouse/schema.json delete mode 100644 data/sources/clickhouse/ui_config.json delete mode 100644 data/sources/cordova/db_config.json delete mode 100644 data/sources/cordova/metadata.json delete mode 100644 data/sources/cordova/schema.json delete mode 100644 data/sources/cordova/ui_config.json delete mode 100644 data/sources/customerio/db_config.json delete mode 100644 data/sources/customerio/metadata.json delete mode 100644 data/sources/customerio/schema.json delete mode 100644 data/sources/customerio/ui_config.json delete mode 100644 data/sources/databricks/db_config.json delete mode 100644 data/sources/databricks/metadata.json delete mode 100644 data/sources/databricks/schema.json delete mode 100644 data/sources/databricks/ui_config.json delete mode 100644 data/sources/dotnet/db_config.json delete mode 100644 data/sources/dotnet/metadata.json delete mode 100644 data/sources/dotnet/schema.json delete mode 100644 data/sources/dotnet/ui_config.json delete mode 100644 data/sources/extole/db_config.json delete mode 100644 data/sources/extole/metadata.json delete mode 100644 data/sources/extole/schema.json delete mode 100644 data/sources/extole/ui_config.json delete mode 100644 data/sources/facebook_ads/metadata.json delete mode 100644 data/sources/facebook_ads/schema.json delete mode 100644 data/sources/facebook_ads/ui_config.json delete mode 100644 data/sources/flutter/db_config.json delete mode 100644 data/sources/flutter/metadata.json delete mode 100644 data/sources/flutter/schema.json delete mode 100644 data/sources/flutter/ui_config.json delete mode 100644 data/sources/freshdesk/db_config.json delete mode 100644 data/sources/freshdesk/metadata.json delete mode 100644 data/sources/freshdesk/schema.json delete mode 100644 data/sources/freshdesk/ui_config.json delete mode 100644 data/sources/go/db_config.json delete mode 100644 data/sources/go/metadata.json delete mode 100644 data/sources/go/schema.json delete mode 100644 data/sources/go/ui_config.json delete mode 100644 data/sources/google_adwords/db_config.json delete mode 100644 data/sources/google_adwords/metadata.json delete mode 100644 data/sources/google_adwords/schema.json delete mode 100644 data/sources/google_adwords/ui_config.json delete mode 100644 data/sources/google_analytics/db_config.json delete mode 100644 data/sources/google_analytics/metadata.json delete mode 100644 data/sources/google_analytics/schema.json delete mode 100644 data/sources/google_analytics/ui_config.json delete mode 100644 data/sources/google_search_console/db_config.json delete mode 100644 data/sources/google_search_console/metadata.json delete mode 100644 data/sources/google_search_console/schema.json delete mode 100644 data/sources/google_search_console/ui_config.json delete mode 100644 data/sources/google_sheets/db_config.json delete mode 100644 data/sources/google_sheets/metadata.json delete mode 100644 data/sources/google_sheets/schema.json delete mode 100644 data/sources/google_sheets/ui_config.json delete mode 100644 data/sources/http/db_config.json delete mode 100644 data/sources/http/metadata.json delete mode 100644 data/sources/http/schema.json delete mode 100644 data/sources/http/ui_config.json delete mode 100644 data/sources/hubspot/db_config.json delete mode 100644 data/sources/hubspot/metadata.json delete mode 100644 data/sources/hubspot/schema.json delete mode 100644 data/sources/hubspot/ui_config.json delete mode 100644 data/sources/hubspot_crm/db_config.json delete mode 100644 data/sources/hubspot_crm/metadata.json delete mode 100644 data/sources/hubspot_crm/schema.json delete mode 100644 data/sources/hubspot_crm/ui_config.json delete mode 100644 data/sources/intercom/db_config.json delete mode 100644 data/sources/intercom/metadata.json delete mode 100644 data/sources/intercom/schema.json delete mode 100644 data/sources/intercom/ui_config.json delete mode 100644 data/sources/ios/db_config.json delete mode 100644 data/sources/ios/metadata.json delete mode 100644 data/sources/ios/schema.json delete mode 100644 data/sources/ios/ui_config.json delete mode 100644 data/sources/iterable/db_config.json delete mode 100644 data/sources/iterable/metadata.json delete mode 100644 data/sources/iterable/schema.json delete mode 100644 data/sources/iterable/ui_config.json delete mode 100644 data/sources/java/db_config.json delete mode 100644 data/sources/java/metadata.json delete mode 100644 data/sources/java/schema.json delete mode 100644 data/sources/java/ui_config.json delete mode 100644 data/sources/javascript/db_config.json delete mode 100644 data/sources/javascript/metadata.json delete mode 100644 data/sources/javascript/schema.json delete mode 100644 data/sources/javascript/ui_config.json delete mode 100644 data/sources/looker/db_config.json delete mode 100644 data/sources/looker/metadata.json delete mode 100644 data/sources/looker/schema.json delete mode 100644 data/sources/looker/ui_config.json delete mode 100644 data/sources/mailchimp/db_config.json delete mode 100644 data/sources/mailchimp/metadata.json delete mode 100644 data/sources/mailchimp/schema.json delete mode 100644 data/sources/mailchimp/ui_config.json delete mode 100644 data/sources/mailmodo/db_config.json delete mode 100644 data/sources/mailmodo/metadata.json delete mode 100644 data/sources/mailmodo/schema.json delete mode 100644 data/sources/mailmodo/ui_config.json delete mode 100644 data/sources/marketo/db_config.json delete mode 100644 data/sources/marketo/metadata.json delete mode 100644 data/sources/marketo/schema.json delete mode 100644 data/sources/marketo/ui_config.json delete mode 100644 data/sources/mixpanel/db_config.json delete mode 100644 data/sources/mixpanel/metadata.json delete mode 100644 data/sources/mixpanel/schema.json delete mode 100644 data/sources/mixpanel/ui_config.json delete mode 100644 data/sources/monday/db_config.json delete mode 100644 data/sources/monday/metadata.json delete mode 100644 data/sources/monday/schema.json delete mode 100644 data/sources/monday/ui_config.json delete mode 100644 data/sources/mysql/db_config.json delete mode 100644 data/sources/mysql/metadata.json delete mode 100644 data/sources/mysql/schema.json delete mode 100644 data/sources/mysql/ui_config.json delete mode 100644 data/sources/netsuite/db_config.json delete mode 100644 data/sources/netsuite/metadata.json delete mode 100644 data/sources/netsuite/schema.json delete mode 100644 data/sources/netsuite/ui_config.json delete mode 100644 data/sources/node/db_config.json delete mode 100644 data/sources/node/metadata.json delete mode 100644 data/sources/node/schema.json delete mode 100644 data/sources/node/ui_config.json delete mode 100644 data/sources/pardot/db_config.json delete mode 100644 data/sources/pardot/metadata.json delete mode 100644 data/sources/pardot/schema.json delete mode 100644 data/sources/pardot/ui_config.json delete mode 100644 data/sources/php/db_config.json delete mode 100644 data/sources/php/metadata.json delete mode 100644 data/sources/php/schema.json delete mode 100644 data/sources/php/ui_config.json delete mode 100644 data/sources/pipedrive/db_config.json delete mode 100644 data/sources/pipedrive/metadata.json delete mode 100644 data/sources/pipedrive/schema.json delete mode 100644 data/sources/pipedrive/ui_config.json delete mode 100644 data/sources/postgres/db_config.json delete mode 100644 data/sources/postgres/metadata.json delete mode 100644 data/sources/postgres/schema.json delete mode 100644 data/sources/postgres/ui_config.json delete mode 100644 data/sources/posthog/db_config.json delete mode 100644 data/sources/posthog/metadata.json delete mode 100644 data/sources/posthog/schema.json delete mode 100644 data/sources/posthog/ui_config.json delete mode 100644 data/sources/python/db_config.json delete mode 100644 data/sources/python/metadata.json delete mode 100644 data/sources/python/schema.json delete mode 100644 data/sources/python/ui_config.json delete mode 100644 data/sources/quickbooks/db_config.json delete mode 100644 data/sources/quickbooks/metadata.json delete mode 100644 data/sources/quickbooks/schema.json delete mode 100644 data/sources/quickbooks/ui_config.json delete mode 100644 data/sources/react_native/db_config.json delete mode 100644 data/sources/react_native/metadata.json delete mode 100644 data/sources/react_native/schema.json delete mode 100644 data/sources/react_native/ui_config.json delete mode 100644 data/sources/reactnative/db_config.json delete mode 100644 data/sources/reactnative/metadata.json delete mode 100644 data/sources/redshift/db_config.json delete mode 100644 data/sources/redshift/metadata.json delete mode 100644 data/sources/redshift/schema.json delete mode 100644 data/sources/redshift/ui_config.json delete mode 100644 data/sources/ruby/db_config.json delete mode 100644 data/sources/ruby/metadata.json delete mode 100644 data/sources/ruby/schema.json delete mode 100644 data/sources/ruby/ui_config.json delete mode 100644 data/sources/rust/db_config.json delete mode 100644 data/sources/rust/metadata.json delete mode 100644 data/sources/rust/schema.json delete mode 100644 data/sources/rust/ui_config.json delete mode 100644 data/sources/s3/db_config.json delete mode 100644 data/sources/s3/metadata.json delete mode 100644 data/sources/s3/schema.json delete mode 100644 data/sources/s3/ui_config.json delete mode 100644 data/sources/salesforce/db_config.json delete mode 100644 data/sources/salesforce/metadata.json delete mode 100644 data/sources/salesforce/schema.json delete mode 100644 data/sources/salesforce/ui_config.json delete mode 100644 data/sources/segment/db_config.json delete mode 100644 data/sources/segment/metadata.json delete mode 100644 data/sources/segment/schema.json delete mode 100644 data/sources/segment/ui_config.json delete mode 100644 data/sources/sendgrid/db_config.json delete mode 100644 data/sources/sendgrid/metadata.json delete mode 100644 data/sources/sendgrid/schema.json delete mode 100644 data/sources/sendgrid/ui_config.json delete mode 100644 data/sources/shopify/db_config.json delete mode 100644 data/sources/shopify/metadata.json delete mode 100644 data/sources/shopify/schema.json delete mode 100644 data/sources/shopify/ui_config.json delete mode 100644 data/sources/signl4/db_config.json delete mode 100644 data/sources/signl4/metadata.json delete mode 100644 data/sources/signl4/schema.json delete mode 100644 data/sources/signl4/ui_config.json delete mode 100644 data/sources/singer-recurly/db_config.json delete mode 100644 data/sources/singer-recurly/metadata.json delete mode 100644 data/sources/singer-recurly/schema.json delete mode 100644 data/sources/singer-recurly/ui_config.json delete mode 100644 data/sources/singer_amplitude/metadata.json delete mode 100644 data/sources/singer_amplitude/schema.json delete mode 100644 data/sources/singer_amplitude/ui_config.json delete mode 100644 data/sources/singer_bing_ads/db_config.json delete mode 100644 data/sources/singer_bing_ads/metadata.json delete mode 100644 data/sources/singer_bing_ads/schema.json delete mode 100644 data/sources/singer_bing_ads/ui_config.json delete mode 100644 data/sources/singer_chargebee/db_config.json delete mode 100644 data/sources/singer_chargebee/metadata.json delete mode 100644 data/sources/singer_chargebee/schema.json delete mode 100644 data/sources/singer_chargebee/ui_config.json delete mode 100644 data/sources/singer_customer_io/db_config.json delete mode 100644 data/sources/singer_customer_io/metadata.json delete mode 100644 data/sources/singer_customer_io/schema.json delete mode 100644 data/sources/singer_customer_io/ui_config.json delete mode 100644 data/sources/singer_facebook_marketing/db_config.json delete mode 100644 data/sources/singer_facebook_marketing/metadata.json delete mode 100644 data/sources/singer_facebook_marketing/schema.json delete mode 100644 data/sources/singer_facebook_marketing/ui_config.json delete mode 100644 data/sources/singer_freshdesk/db_config.json delete mode 100644 data/sources/singer_freshdesk/metadata.json delete mode 100644 data/sources/singer_freshdesk/schema.json delete mode 100644 data/sources/singer_freshdesk/ui_config.json delete mode 100644 data/sources/singer_google_ads/db_config.json delete mode 100644 data/sources/singer_google_ads/metadata.json delete mode 100644 data/sources/singer_google_ads/schema.json delete mode 100644 data/sources/singer_google_ads/ui_config.json delete mode 100644 data/sources/singer_google_analytics/db_config.json delete mode 100644 data/sources/singer_google_analytics/metadata.json delete mode 100644 data/sources/singer_google_analytics/schema.json delete mode 100644 data/sources/singer_google_analytics/ui_config.json delete mode 100644 data/sources/singer_google_analytics_v4/db_config.json delete mode 100644 data/sources/singer_google_analytics_v4/metadata.json delete mode 100644 data/sources/singer_google_analytics_v4/schema.json delete mode 100644 data/sources/singer_google_analytics_v4/ui_config.json delete mode 100644 data/sources/singer_google_search_console/metadata.json delete mode 100644 data/sources/singer_google_search_console/schema.json delete mode 100644 data/sources/singer_google_search_console/ui_config.json delete mode 100644 data/sources/singer_google_sheets/db_config.json delete mode 100644 data/sources/singer_google_sheets/metadata.json delete mode 100644 data/sources/singer_google_sheets/schema.json delete mode 100644 data/sources/singer_google_sheets/ui_config.json delete mode 100644 data/sources/singer_hubspot/db_config.json delete mode 100644 data/sources/singer_hubspot/metadata.json delete mode 100644 data/sources/singer_hubspot/schema.json delete mode 100644 data/sources/singer_hubspot/ui_config.json delete mode 100644 data/sources/singer_intercom/metadata.json delete mode 100644 data/sources/singer_intercom/schema.json delete mode 100644 data/sources/singer_intercom/ui_config.json delete mode 100644 data/sources/singer_iterable/metadata.json delete mode 100644 data/sources/singer_iterable/schema.json delete mode 100644 data/sources/singer_iterable/ui_config.json delete mode 100644 data/sources/singer_klaviyo/db_config.json delete mode 100644 data/sources/singer_klaviyo/metadata.json delete mode 100644 data/sources/singer_klaviyo/schema.json delete mode 100644 data/sources/singer_klaviyo/ui_config.json delete mode 100644 data/sources/singer_mailchimp/db_config.json delete mode 100644 data/sources/singer_mailchimp/metadata.json delete mode 100644 data/sources/singer_mailchimp/schema.json delete mode 100644 data/sources/singer_mailchimp/ui_config.json delete mode 100644 data/sources/singer_mixpanel/db_config.json delete mode 100644 data/sources/singer_mixpanel/metadata.json delete mode 100644 data/sources/singer_mixpanel/schema.json delete mode 100644 data/sources/singer_mixpanel/ui_config.json delete mode 100644 data/sources/singer_pardot/db_config.json delete mode 100644 data/sources/singer_pardot/metadata.json delete mode 100644 data/sources/singer_pardot/schema.json delete mode 100644 data/sources/singer_pardot/ui_config.json delete mode 100644 data/sources/singer_pipedrive/db_config.json delete mode 100644 data/sources/singer_pipedrive/metadata.json delete mode 100644 data/sources/singer_pipedrive/schema.json delete mode 100644 data/sources/singer_pipedrive/ui_config.json delete mode 100644 data/sources/singer_quickbooks/db_config.json delete mode 100644 data/sources/singer_quickbooks/metadata.json delete mode 100644 data/sources/singer_quickbooks/schema.json delete mode 100644 data/sources/singer_quickbooks/ui_config.json delete mode 100644 data/sources/singer_salesforce/metadata.json delete mode 100644 data/sources/singer_salesforce/schema.json delete mode 100644 data/sources/singer_salesforce/ui_config.json delete mode 100644 data/sources/singer_sendgrid/metadata.json delete mode 100644 data/sources/singer_sendgrid/schema.json delete mode 100644 data/sources/singer_sendgrid/ui_config.json delete mode 100644 data/sources/singer_stripe/db_config.json delete mode 100644 data/sources/singer_stripe/metadata.json delete mode 100644 data/sources/singer_stripe/schema.json delete mode 100644 data/sources/singer_stripe/ui_config.json delete mode 100644 data/sources/singer_zendesk_chat/db_config.json delete mode 100644 data/sources/singer_zendesk_chat/metadata.json delete mode 100644 data/sources/singer_zendesk_chat/schema.json delete mode 100644 data/sources/singer_zendesk_chat/ui_config.json delete mode 100644 data/sources/singer_zendesk_support/db_config.json delete mode 100644 data/sources/singer_zendesk_support/metadata.json delete mode 100644 data/sources/singer_zendesk_support/schema.json delete mode 100644 data/sources/singer_zendesk_support/ui_config.json delete mode 100644 data/sources/snowflake/db_config.json delete mode 100644 data/sources/snowflake/metadata.json delete mode 100644 data/sources/snowflake/schema.json delete mode 100644 data/sources/snowflake/ui_config.json delete mode 100644 data/sources/stripe/db_config.json delete mode 100644 data/sources/stripe/metadata.json delete mode 100644 data/sources/stripe/schema.json delete mode 100644 data/sources/stripe/ui_config.json delete mode 100644 data/sources/unity/db_config.json delete mode 100644 data/sources/unity/metadata.json delete mode 100644 data/sources/unity/schema.json delete mode 100644 data/sources/unity/ui_config.json delete mode 100644 data/sources/webhook/db_config.json delete mode 100644 data/sources/webhook/metadata.json delete mode 100644 data/sources/webhook/schema.json delete mode 100644 data/sources/webhook/ui_config.json delete mode 100644 data/sources/xero/db_config.json delete mode 100644 data/sources/xero/metadata.json delete mode 100644 data/sources/xero/schema.json delete mode 100644 data/sources/xero/ui_config.json delete mode 100644 data/sources/zendesk/db_config.json delete mode 100644 data/sources/zendesk/metadata.json delete mode 100644 data/sources/zendesk/schema.json delete mode 100644 data/sources/zendesk/ui_config.json delete mode 100644 data/sources/zendesk_chat/db_config.json delete mode 100644 data/sources/zendesk_chat/metadata.json delete mode 100644 data/sources/zendesk_chat/schema.json delete mode 100644 data/sources/zendesk_chat/ui_config.json create mode 100644 package-lock.json delete mode 100644 scripts/action.py create mode 100644 scripts/deployToDB.py delete mode 100644 server.ts create mode 100644 src/configurations/destinations/active_campaign/db-config.json rename {data/destinations/awin => src/configurations/destinations/active_campaign}/metadata.json (100%) create mode 100644 src/configurations/destinations/active_campaign/schema.json rename data/destinations/active_campaign/ui_config.json => src/configurations/destinations/active_campaign/ui-config.json (100%) create mode 100644 src/configurations/destinations/adj/db-config.json rename {data/destinations/axeptio => src/configurations/destinations/adj}/metadata.json (100%) rename {data/sources/mailjet => src/configurations/destinations/adj}/schema.json (100%) create mode 100644 src/configurations/destinations/adj/ui-config.json create mode 100644 src/configurations/destinations/adobe_analytics/db-config.json rename {data/destinations/mailjet => src/configurations/destinations/adobe_analytics}/metadata.json (100%) create mode 100644 src/configurations/destinations/adobe_analytics/schema.json create mode 100644 src/configurations/destinations/adobe_analytics/ui-config.json create mode 100644 src/configurations/destinations/adroll/db-config.json rename {data/destinations/microsoft_clarity => src/configurations/destinations/adroll}/metadata.json (100%) create mode 100644 src/configurations/destinations/adroll/schema.json rename data/destinations/adroll/ui_config.json => src/configurations/destinations/adroll/ui-config.json (100%) create mode 100644 src/configurations/destinations/af/db-config.json rename {data/destinations/olark => src/configurations/destinations/af}/metadata.json (100%) create mode 100644 src/configurations/destinations/af/schema.json create mode 100644 src/configurations/destinations/af/ui-config.json create mode 100644 src/configurations/destinations/airship/db-config.json rename {data/destinations/qualaroo => src/configurations/destinations/airship}/metadata.json (100%) rename {data/sources/moengage => src/configurations/destinations/airship}/schema.json (100%) create mode 100644 src/configurations/destinations/airship/ui-config.json create mode 100644 src/configurations/destinations/algolia/db-config.json rename {data/destinations/refiner => src/configurations/destinations/algolia}/metadata.json (100%) rename {data/sources/olark => src/configurations/destinations/algolia}/schema.json (100%) create mode 100644 src/configurations/destinations/algolia/ui-config.json create mode 100644 src/configurations/destinations/am/db-config.json rename {data/destinations/sendinblue => src/configurations/destinations/am}/metadata.json (100%) create mode 100644 src/configurations/destinations/am/schema.json rename data/destinations/am/ui_config.json => src/configurations/destinations/am/ui-config.json (100%) create mode 100644 src/configurations/destinations/appcenter/db-config.json rename {data/destinations/yandex_metrica => src/configurations/destinations/appcenter}/metadata.json (100%) rename {data/sources/pagerduty => src/configurations/destinations/appcenter}/schema.json (100%) create mode 100644 src/configurations/destinations/appcenter/ui-config.json create mode 100644 src/configurations/destinations/appcues/db-config.json create mode 100644 src/configurations/destinations/appcues/metadata.json rename {data/sources/pipedream => src/configurations/destinations/appcues}/schema.json (100%) rename data/destinations/appcues/ui_config.json => src/configurations/destinations/appcues/ui-config.json (100%) create mode 100644 src/configurations/destinations/attentive_tag/db-config.json create mode 100644 src/configurations/destinations/attentive_tag/metadata.json create mode 100644 src/configurations/destinations/attentive_tag/schema.json create mode 100644 src/configurations/destinations/attentive_tag/ui-config.json create mode 100644 src/configurations/destinations/attribution/db-config.json create mode 100644 src/configurations/destinations/attribution/metadata.json create mode 100644 src/configurations/destinations/attribution/schema.json create mode 100644 src/configurations/destinations/attribution/ui-config.json create mode 100644 src/configurations/destinations/autopilot/db-config.json create mode 100644 src/configurations/destinations/autopilot/metadata.json rename {data/sources/refiner => src/configurations/destinations/autopilot}/schema.json (100%) create mode 100644 src/configurations/destinations/autopilot/ui-config.json rename data/destinations/awin/db_config.json => src/configurations/destinations/awin/db-config.json (100%) create mode 100644 src/configurations/destinations/awin/metadata.json rename {data => src/configurations}/destinations/awin/schema.json (100%) rename data/destinations/awin/ui_config.json => src/configurations/destinations/awin/ui-config.json (100%) rename data/destinations/axeptio/db_config.json => src/configurations/destinations/axeptio/db-config.json (100%) create mode 100644 src/configurations/destinations/axeptio/metadata.json rename {data => src/configurations}/destinations/axeptio/schema.json (100%) rename data/destinations/axeptio/ui_config.json => src/configurations/destinations/axeptio/ui-config.json (100%) create mode 100644 src/configurations/destinations/azure_blob/db-config.json create mode 100644 src/configurations/destinations/azure_blob/metadata.json rename {data/sources/satismeter => src/configurations/destinations/azure_blob}/schema.json (100%) create mode 100644 src/configurations/destinations/azure_blob/ui-config.json create mode 100644 src/configurations/destinations/azure_datalake/db-config.json create mode 100644 src/configurations/destinations/azure_datalake/metadata.json create mode 100644 src/configurations/destinations/azure_datalake/schema.json create mode 100644 src/configurations/destinations/azure_datalake/ui-config.json create mode 100644 src/configurations/destinations/azure_event_hub/db-config.json create mode 100644 src/configurations/destinations/azure_event_hub/metadata.json create mode 100644 src/configurations/destinations/azure_event_hub/schema.json create mode 100644 src/configurations/destinations/azure_event_hub/ui-config.json create mode 100644 src/configurations/destinations/azure_synapse/db-config.json create mode 100644 src/configurations/destinations/azure_synapse/metadata.json create mode 100644 src/configurations/destinations/azure_synapse/schema.json create mode 100644 src/configurations/destinations/azure_synapse/ui-config.json create mode 100644 src/configurations/destinations/bingads/db-config.json create mode 100644 src/configurations/destinations/bingads/metadata.json create mode 100644 src/configurations/destinations/bingads/schema.json rename data/destinations/bingads/ui_config.json => src/configurations/destinations/bingads/ui-config.json (100%) create mode 100644 src/configurations/destinations/blueshift/db-config.json create mode 100644 src/configurations/destinations/blueshift/metadata.json create mode 100644 src/configurations/destinations/blueshift/schema.json create mode 100644 src/configurations/destinations/blueshift/ui-config.json create mode 100644 src/configurations/destinations/bq/db-config.json create mode 100644 src/configurations/destinations/bq/metadata.json create mode 100644 src/configurations/destinations/bq/schema.json rename data/destinations/bq/ui_config.json => src/configurations/destinations/bq/ui-config.json (100%) create mode 100644 src/configurations/destinations/bqstream/db-config.json create mode 100644 src/configurations/destinations/bqstream/metadata.json create mode 100644 src/configurations/destinations/bqstream/schema.json create mode 100644 src/configurations/destinations/bqstream/ui-config.json create mode 100644 src/configurations/destinations/branch/db-config.json create mode 100644 src/configurations/destinations/branch/metadata.json create mode 100644 src/configurations/destinations/branch/schema.json create mode 100644 src/configurations/destinations/branch/ui-config.json create mode 100644 src/configurations/destinations/braze/db-config.json create mode 100644 src/configurations/destinations/braze/metadata.json create mode 100644 src/configurations/destinations/braze/schema.json rename data/destinations/braze/ui_config.json => src/configurations/destinations/braze/ui-config.json (100%) create mode 100644 src/configurations/destinations/bugsnag/db-config.json create mode 100644 src/configurations/destinations/bugsnag/metadata.json create mode 100644 src/configurations/destinations/bugsnag/schema.json rename data/destinations/bugsnag/ui_config.json => src/configurations/destinations/bugsnag/ui-config.json (100%) rename data/destinations/campaign_manager/db_config.json => src/configurations/destinations/campaign_manager/db-config.json (100%) create mode 100644 src/configurations/destinations/campaign_manager/metadata.json create mode 100644 src/configurations/destinations/campaign_manager/schema.json create mode 100644 src/configurations/destinations/campaign_manager/ui-config.json create mode 100644 src/configurations/destinations/candu/db-config.json create mode 100644 src/configurations/destinations/candu/metadata.json create mode 100644 src/configurations/destinations/candu/schema.json create mode 100644 src/configurations/destinations/candu/ui-config.json create mode 100644 src/configurations/destinations/canny/db-config.json create mode 100644 src/configurations/destinations/canny/metadata.json create mode 100644 src/configurations/destinations/canny/schema.json create mode 100644 src/configurations/destinations/canny/ui-config.json create mode 100644 src/configurations/destinations/chartbeat/db-config.json create mode 100644 src/configurations/destinations/chartbeat/metadata.json create mode 100644 src/configurations/destinations/chartbeat/schema.json rename data/destinations/chartbeat/ui_config.json => src/configurations/destinations/chartbeat/ui-config.json (100%) create mode 100644 src/configurations/destinations/clevertap/db-config.json create mode 100644 src/configurations/destinations/clevertap/metadata.json create mode 100644 src/configurations/destinations/clevertap/schema.json rename data/destinations/clevertap/ui_config.json => src/configurations/destinations/clevertap/ui-config.json (100%) create mode 100644 src/configurations/destinations/clickhouse/db-config.json create mode 100644 src/configurations/destinations/clickhouse/metadata.json create mode 100644 src/configurations/destinations/clickhouse/schema.json create mode 100644 src/configurations/destinations/clickhouse/ui-config.json create mode 100644 src/configurations/destinations/clickup/db-config.json create mode 100644 src/configurations/destinations/clickup/metadata.json create mode 100644 src/configurations/destinations/clickup/schema.json create mode 100644 src/configurations/destinations/clickup/ui-config.json create mode 100644 src/configurations/destinations/confluent_cloud/db-config.json create mode 100644 src/configurations/destinations/confluent_cloud/metadata.json create mode 100644 src/configurations/destinations/confluent_cloud/schema.json create mode 100644 src/configurations/destinations/confluent_cloud/ui-config.json create mode 100644 src/configurations/destinations/convertflow/db-config.json create mode 100644 src/configurations/destinations/convertflow/metadata.json create mode 100644 src/configurations/destinations/convertflow/schema.json rename data/destinations/convertflow/ui_config.json => src/configurations/destinations/convertflow/ui-config.json (100%) create mode 100644 src/configurations/destinations/criteo/db-config.json create mode 100644 src/configurations/destinations/criteo/metadata.json create mode 100644 src/configurations/destinations/criteo/schema.json rename data/destinations/criteo/ui_config.json => src/configurations/destinations/criteo/ui-config.json (100%) create mode 100644 src/configurations/destinations/custify/db-config.json create mode 100644 src/configurations/destinations/custify/metadata.json create mode 100644 src/configurations/destinations/custify/schema.json create mode 100644 src/configurations/destinations/custify/ui-config.json create mode 100644 src/configurations/destinations/customerio/db-config.json create mode 100644 src/configurations/destinations/customerio/metadata.json create mode 100644 src/configurations/destinations/customerio/schema.json rename data/destinations/customerio/ui_config.json => src/configurations/destinations/customerio/ui-config.json (100%) create mode 100644 src/configurations/destinations/dcm_floodlight/db-config.json create mode 100644 src/configurations/destinations/dcm_floodlight/metadata.json create mode 100644 src/configurations/destinations/dcm_floodlight/schema.json rename data/destinations/dcm_floodlight/ui_config.json => src/configurations/destinations/dcm_floodlight/ui-config.json (100%) create mode 100644 src/configurations/destinations/delighted/db-config.json create mode 100644 src/configurations/destinations/delighted/metadata.json create mode 100644 src/configurations/destinations/delighted/schema.json create mode 100644 src/configurations/destinations/delighted/ui-config.json create mode 100644 src/configurations/destinations/deltalake/db-config.json create mode 100644 src/configurations/destinations/deltalake/metadata.json create mode 100644 src/configurations/destinations/deltalake/schema.json create mode 100644 src/configurations/destinations/deltalake/ui-config.json create mode 100644 src/configurations/destinations/digital_ocean_spaces/db-config.json create mode 100644 src/configurations/destinations/digital_ocean_spaces/metadata.json create mode 100644 src/configurations/destinations/digital_ocean_spaces/schema.json create mode 100644 src/configurations/destinations/digital_ocean_spaces/ui-config.json create mode 100644 src/configurations/destinations/discord/db-config.json create mode 100644 src/configurations/destinations/discord/metadata.json create mode 100644 src/configurations/destinations/discord/schema.json create mode 100644 src/configurations/destinations/discord/ui-config.json create mode 100644 src/configurations/destinations/drip/db-config.json create mode 100644 src/configurations/destinations/drip/metadata.json create mode 100644 src/configurations/destinations/drip/schema.json rename data/destinations/drip/ui_config.json => src/configurations/destinations/drip/ui-config.json (100%) create mode 100644 src/configurations/destinations/engage/db-config.json create mode 100644 src/configurations/destinations/engage/metadata.json create mode 100644 src/configurations/destinations/engage/schema.json rename data/destinations/engage/ui_config.json => src/configurations/destinations/engage/ui-config.json (100%) create mode 100644 src/configurations/destinations/eventbridge/db-config.json create mode 100644 src/configurations/destinations/eventbridge/metadata.json create mode 100644 src/configurations/destinations/eventbridge/schema.json rename data/destinations/eventbridge/ui_config.json => src/configurations/destinations/eventbridge/ui-config.json (100%) rename data/destinations/facebook_offline_conversions/db_config.json => src/configurations/destinations/facebook_offline_conversions/db-config.json (100%) create mode 100644 src/configurations/destinations/facebook_offline_conversions/metadata.json rename {data => src/configurations}/destinations/facebook_offline_conversions/schema.json (100%) rename data/destinations/facebook_offline_conversions/ui_config.json => src/configurations/destinations/facebook_offline_conversions/ui-config.json (100%) create mode 100644 src/configurations/destinations/facebook_pixel/db-config.json create mode 100644 src/configurations/destinations/facebook_pixel/metadata.json create mode 100644 src/configurations/destinations/facebook_pixel/schema.json rename data/destinations/facebook_pixel/ui_config.json => src/configurations/destinations/facebook_pixel/ui-config.json (100%) create mode 100644 src/configurations/destinations/factorsai/db-config.json create mode 100644 src/configurations/destinations/factorsai/metadata.json create mode 100644 src/configurations/destinations/factorsai/schema.json create mode 100644 src/configurations/destinations/factorsai/ui-config.json create mode 100644 src/configurations/destinations/fb/db-config.json create mode 100644 src/configurations/destinations/fb/metadata.json create mode 100644 src/configurations/destinations/fb/schema.json create mode 100644 src/configurations/destinations/fb/ui-config.json create mode 100644 src/configurations/destinations/fb_custom_audience/db-config.json create mode 100644 src/configurations/destinations/fb_custom_audience/metadata.json create mode 100644 src/configurations/destinations/fb_custom_audience/schema.json create mode 100644 src/configurations/destinations/fb_custom_audience/ui-config.json create mode 100644 src/configurations/destinations/firebase/db-config.json create mode 100644 src/configurations/destinations/firebase/metadata.json create mode 100644 src/configurations/destinations/firebase/schema.json create mode 100644 src/configurations/destinations/firebase/ui-config.json create mode 100644 src/configurations/destinations/firehose/db-config.json create mode 100644 src/configurations/destinations/firehose/metadata.json create mode 100644 src/configurations/destinations/firehose/schema.json rename data/destinations/firehose/ui_config.json => src/configurations/destinations/firehose/ui-config.json (100%) rename data/destinations/freshmarketer/db_config.json => src/configurations/destinations/freshmarketer/db-config.json (100%) create mode 100644 src/configurations/destinations/freshmarketer/metadata.json rename {data => src/configurations}/destinations/freshmarketer/schema.json (100%) rename data/destinations/freshmarketer/ui_config.json => src/configurations/destinations/freshmarketer/ui-config.json (100%) rename data/destinations/freshsales/db_config.json => src/configurations/destinations/freshsales/db-config.json (100%) create mode 100644 src/configurations/destinations/freshsales/metadata.json rename {data => src/configurations}/destinations/freshsales/schema.json (100%) rename data/destinations/freshsales/ui_config.json => src/configurations/destinations/freshsales/ui-config.json (100%) create mode 100644 src/configurations/destinations/fullstory/db-config.json create mode 100644 src/configurations/destinations/fullstory/metadata.json create mode 100644 src/configurations/destinations/fullstory/schema.json rename data/destinations/fullstory/ui_config.json => src/configurations/destinations/fullstory/ui-config.json (100%) rename data/destinations/ga/db_config.json => src/configurations/destinations/ga/db-config.json (100%) create mode 100644 src/configurations/destinations/ga/metadata.json create mode 100644 src/configurations/destinations/ga/schema.json rename data/destinations/ga/ui_config.json => src/configurations/destinations/ga/ui-config.json (100%) create mode 100644 src/configurations/destinations/ga360/db-config.json create mode 100644 src/configurations/destinations/ga360/metadata.json create mode 100644 src/configurations/destinations/ga360/schema.json rename data/destinations/ga360/ui_config.json => src/configurations/destinations/ga360/ui-config.json (100%) rename data/destinations/ga4/db_config.json => src/configurations/destinations/ga4/db-config.json (100%) create mode 100644 src/configurations/destinations/ga4/metadata.json rename {data => src/configurations}/destinations/ga4/schema.json (100%) rename data/destinations/ga4/ui_config.json => src/configurations/destinations/ga4/ui-config.json (100%) create mode 100644 src/configurations/destinations/gainsight/db-config.json create mode 100644 src/configurations/destinations/gainsight/metadata.json create mode 100644 src/configurations/destinations/gainsight/schema.json create mode 100644 src/configurations/destinations/gainsight/ui-config.json create mode 100644 src/configurations/destinations/gainsight_px/db-config.json create mode 100644 src/configurations/destinations/gainsight_px/metadata.json create mode 100644 src/configurations/destinations/gainsight_px/schema.json create mode 100644 src/configurations/destinations/gainsight_px/ui-config.json create mode 100644 src/configurations/destinations/gcs/db-config.json create mode 100644 src/configurations/destinations/gcs/metadata.json create mode 100644 src/configurations/destinations/gcs/schema.json create mode 100644 src/configurations/destinations/gcs/ui-config.json create mode 100644 src/configurations/destinations/gcs_datalake/db-config.json create mode 100644 src/configurations/destinations/gcs_datalake/metadata.json create mode 100644 src/configurations/destinations/gcs_datalake/schema.json create mode 100644 src/configurations/destinations/gcs_datalake/ui-config.json rename data/destinations/google_adwords_enhanced_conversions/db_config.json => src/configurations/destinations/google_adwords_enhanced_conversions/db-config.json (100%) create mode 100644 src/configurations/destinations/google_adwords_enhanced_conversions/metadata.json create mode 100644 src/configurations/destinations/google_adwords_enhanced_conversions/schema.json create mode 100644 src/configurations/destinations/google_adwords_enhanced_conversions/ui-config.json rename data/destinations/google_adwords_offline_conversions/db_config.json => src/configurations/destinations/google_adwords_offline_conversions/db-config.json (100%) create mode 100644 src/configurations/destinations/google_adwords_offline_conversions/metadata.json create mode 100644 src/configurations/destinations/google_adwords_offline_conversions/schema.json create mode 100644 src/configurations/destinations/google_adwords_offline_conversions/ui-config.json rename data/destinations/google_adwords_remarketing_lists/db_config.json => src/configurations/destinations/google_adwords_remarketing_lists/db-config.json (100%) create mode 100644 src/configurations/destinations/google_adwords_remarketing_lists/metadata.json create mode 100644 src/configurations/destinations/google_adwords_remarketing_lists/schema.json create mode 100644 src/configurations/destinations/google_adwords_remarketing_lists/ui-config.json create mode 100644 src/configurations/destinations/google_cloud_function/db-config.json create mode 100644 src/configurations/destinations/google_cloud_function/metadata.json create mode 100644 src/configurations/destinations/google_cloud_function/schema.json create mode 100644 src/configurations/destinations/google_cloud_function/ui-config.json create mode 100644 src/configurations/destinations/google_optimize/db-config.json create mode 100644 src/configurations/destinations/google_optimize/metadata.json create mode 100644 src/configurations/destinations/google_optimize/schema.json rename data/destinations/google_optimize/ui_config.json => src/configurations/destinations/google_optimize/ui-config.json (100%) create mode 100644 src/configurations/destinations/googleads/db-config.json create mode 100644 src/configurations/destinations/googleads/metadata.json create mode 100644 src/configurations/destinations/googleads/schema.json rename data/destinations/googleads/ui_config.json => src/configurations/destinations/googleads/ui-config.json (100%) create mode 100644 src/configurations/destinations/googlepubsub/db-config.json create mode 100644 src/configurations/destinations/googlepubsub/metadata.json create mode 100644 src/configurations/destinations/googlepubsub/schema.json create mode 100644 src/configurations/destinations/googlepubsub/ui-config.json create mode 100644 src/configurations/destinations/googlesheets/db-config.json create mode 100644 src/configurations/destinations/googlesheets/metadata.json create mode 100644 src/configurations/destinations/googlesheets/schema.json create mode 100644 src/configurations/destinations/googlesheets/ui-config.json create mode 100644 src/configurations/destinations/gtm/db-config.json create mode 100644 src/configurations/destinations/gtm/metadata.json create mode 100644 src/configurations/destinations/gtm/schema.json rename data/destinations/gtm/ui_config.json => src/configurations/destinations/gtm/ui-config.json (100%) create mode 100644 src/configurations/destinations/heap/db-config.json create mode 100644 src/configurations/destinations/heap/metadata.json create mode 100644 src/configurations/destinations/heap/schema.json rename data/destinations/heap/ui_config.json => src/configurations/destinations/heap/ui-config.json (100%) create mode 100644 src/configurations/destinations/hotjar/db-config.json create mode 100644 src/configurations/destinations/hotjar/metadata.json create mode 100644 src/configurations/destinations/hotjar/schema.json rename data/destinations/hotjar/ui_config.json => src/configurations/destinations/hotjar/ui-config.json (100%) create mode 100644 src/configurations/destinations/hs/db-config.json create mode 100644 src/configurations/destinations/hs/metadata.json create mode 100644 src/configurations/destinations/hs/schema.json rename data/destinations/hs/ui_config.json => src/configurations/destinations/hs/ui-config.json (100%) create mode 100644 src/configurations/destinations/indicative/db-config.json create mode 100644 src/configurations/destinations/indicative/metadata.json create mode 100644 src/configurations/destinations/indicative/schema.json create mode 100644 src/configurations/destinations/indicative/ui-config.json create mode 100644 src/configurations/destinations/intercom/db-config.json create mode 100644 src/configurations/destinations/intercom/metadata.json create mode 100644 src/configurations/destinations/intercom/schema.json rename data/destinations/intercom/ui_config.json => src/configurations/destinations/intercom/ui-config.json (100%) create mode 100644 src/configurations/destinations/iterable/db-config.json create mode 100644 src/configurations/destinations/iterable/metadata.json create mode 100644 src/configurations/destinations/iterable/schema.json rename data/destinations/iterable/ui_config.json => src/configurations/destinations/iterable/ui-config.json (100%) create mode 100644 src/configurations/destinations/june/db-config.json create mode 100644 src/configurations/destinations/june/metadata.json create mode 100644 src/configurations/destinations/june/schema.json rename data/destinations/june/ui_config.json => src/configurations/destinations/june/ui-config.json (100%) rename data/destinations/kafka/db_config.json => src/configurations/destinations/kafka/db-config.json (100%) create mode 100644 src/configurations/destinations/kafka/metadata.json create mode 100644 src/configurations/destinations/kafka/schema.json create mode 100644 src/configurations/destinations/kafka/ui-config.json create mode 100644 src/configurations/destinations/keen/db-config.json create mode 100644 src/configurations/destinations/keen/metadata.json create mode 100644 src/configurations/destinations/keen/schema.json rename data/destinations/keen/ui_config.json => src/configurations/destinations/keen/ui-config.json (100%) rename data/destinations/kinesis/db_config.json => src/configurations/destinations/kinesis/db-config.json (100%) create mode 100644 src/configurations/destinations/kinesis/metadata.json create mode 100644 src/configurations/destinations/kinesis/schema.json rename data/destinations/kinesis/ui_config.json => src/configurations/destinations/kinesis/ui-config.json (100%) create mode 100644 src/configurations/destinations/kissmetrics/db-config.json create mode 100644 src/configurations/destinations/kissmetrics/metadata.json create mode 100644 src/configurations/destinations/kissmetrics/schema.json rename data/destinations/kissmetrics/ui_config.json => src/configurations/destinations/kissmetrics/ui-config.json (100%) create mode 100644 src/configurations/destinations/klaviyo/db-config.json create mode 100644 src/configurations/destinations/klaviyo/metadata.json create mode 100644 src/configurations/destinations/klaviyo/schema.json rename data/destinations/klaviyo/ui_config.json => src/configurations/destinations/klaviyo/ui-config.json (100%) create mode 100644 src/configurations/destinations/kochava/db-config.json create mode 100644 src/configurations/destinations/kochava/metadata.json create mode 100644 src/configurations/destinations/kochava/schema.json create mode 100644 src/configurations/destinations/kochava/ui-config.json create mode 100644 src/configurations/destinations/kustomer/db-config.json create mode 100644 src/configurations/destinations/kustomer/metadata.json create mode 100644 src/configurations/destinations/kustomer/schema.json create mode 100644 src/configurations/destinations/kustomer/ui-config.json create mode 100644 src/configurations/destinations/lambda/db-config.json create mode 100644 src/configurations/destinations/lambda/metadata.json create mode 100644 src/configurations/destinations/lambda/schema.json rename data/destinations/lambda/ui_config.json => src/configurations/destinations/lambda/ui-config.json (100%) create mode 100644 src/configurations/destinations/launchdarkly/db-config.json create mode 100644 src/configurations/destinations/launchdarkly/metadata.json create mode 100644 src/configurations/destinations/launchdarkly/schema.json rename data/destinations/launchdarkly/ui_config.json => src/configurations/destinations/launchdarkly/ui-config.json (100%) create mode 100644 src/configurations/destinations/leanplum/db-config.json create mode 100644 src/configurations/destinations/leanplum/metadata.json create mode 100644 src/configurations/destinations/leanplum/schema.json create mode 100644 src/configurations/destinations/leanplum/ui-config.json create mode 100644 src/configurations/destinations/linkedin_insight_tag/db-config.json create mode 100644 src/configurations/destinations/linkedin_insight_tag/metadata.json create mode 100644 src/configurations/destinations/linkedin_insight_tag/schema.json rename data/destinations/linkedin_insight_tag/ui_config.json => src/configurations/destinations/linkedin_insight_tag/ui-config.json (100%) create mode 100644 src/configurations/destinations/livechat/db-config.json create mode 100644 src/configurations/destinations/livechat/metadata.json create mode 100644 src/configurations/destinations/livechat/schema.json rename data/destinations/livechat/ui_config.json => src/configurations/destinations/livechat/ui-config.json (100%) create mode 100644 src/configurations/destinations/lotame/db-config.json create mode 100644 src/configurations/destinations/lotame/metadata.json create mode 100644 src/configurations/destinations/lotame/schema.json rename data/destinations/lotame/ui_config.json => src/configurations/destinations/lotame/ui-config.json (100%) create mode 100644 src/configurations/destinations/lotame_mobile/db-config.json create mode 100644 src/configurations/destinations/lotame_mobile/metadata.json create mode 100644 src/configurations/destinations/lotame_mobile/schema.json create mode 100644 src/configurations/destinations/lotame_mobile/ui-config.json create mode 100644 src/configurations/destinations/lytics/db-config.json create mode 100644 src/configurations/destinations/lytics/metadata.json create mode 100644 src/configurations/destinations/lytics/schema.json rename data/destinations/lytics/ui_config.json => src/configurations/destinations/lytics/ui-config.json (100%) create mode 100644 src/configurations/destinations/mailchimp/db-config.json create mode 100644 src/configurations/destinations/mailchimp/metadata.json create mode 100644 src/configurations/destinations/mailchimp/schema.json create mode 100644 src/configurations/destinations/mailchimp/ui-config.json create mode 100644 src/configurations/destinations/mailjet/db-config.json create mode 100644 src/configurations/destinations/mailjet/metadata.json rename {data => src/configurations}/destinations/mailjet/schema.json (100%) rename data/destinations/mailjet/ui_config.json => src/configurations/destinations/mailjet/ui-config.json (100%) create mode 100644 src/configurations/destinations/mailmodo/db-config.json create mode 100644 src/configurations/destinations/mailmodo/metadata.json create mode 100644 src/configurations/destinations/mailmodo/schema.json create mode 100644 src/configurations/destinations/mailmodo/ui-config.json create mode 100644 src/configurations/destinations/marketo/db-config.json create mode 100644 src/configurations/destinations/marketo/metadata.json create mode 100644 src/configurations/destinations/marketo/schema.json create mode 100644 src/configurations/destinations/marketo/ui-config.json create mode 100644 src/configurations/destinations/marketo_bulk_upload/db-config.json create mode 100644 src/configurations/destinations/marketo_bulk_upload/metadata.json create mode 100644 src/configurations/destinations/marketo_bulk_upload/schema.json create mode 100644 src/configurations/destinations/marketo_bulk_upload/ui-config.json create mode 100644 src/configurations/destinations/marketo_static_list/db-config.json create mode 100644 src/configurations/destinations/marketo_static_list/metadata.json create mode 100644 src/configurations/destinations/marketo_static_list/schema.json rename data/destinations/marketo_static_list/ui_config.json => src/configurations/destinations/marketo_static_list/ui-config.json (100%) create mode 100644 src/configurations/destinations/matomo/db-config.json create mode 100644 src/configurations/destinations/matomo/metadata.json create mode 100644 src/configurations/destinations/matomo/schema.json rename data/destinations/matomo/ui_config.json => src/configurations/destinations/matomo/ui-config.json (100%) create mode 100644 src/configurations/destinations/mautic/db-config.json create mode 100644 src/configurations/destinations/mautic/metadata.json create mode 100644 src/configurations/destinations/mautic/schema.json create mode 100644 src/configurations/destinations/mautic/ui-config.json rename data/destinations/microsoft_clarity/db_config.json => src/configurations/destinations/microsoft_clarity/db-config.json (100%) create mode 100644 src/configurations/destinations/microsoft_clarity/metadata.json create mode 100644 src/configurations/destinations/microsoft_clarity/schema.json rename data/destinations/microsoft_clarity/ui_config.json => src/configurations/destinations/microsoft_clarity/ui-config.json (100%) create mode 100644 src/configurations/destinations/minio/db-config.json create mode 100644 src/configurations/destinations/minio/metadata.json create mode 100644 src/configurations/destinations/minio/schema.json create mode 100644 src/configurations/destinations/minio/ui-config.json create mode 100644 src/configurations/destinations/moengage/db-config.json create mode 100644 src/configurations/destinations/moengage/metadata.json create mode 100644 src/configurations/destinations/moengage/schema.json rename data/destinations/moengage/ui_config.json => src/configurations/destinations/moengage/ui-config.json (100%) create mode 100644 src/configurations/destinations/monday/db-config.json create mode 100644 src/configurations/destinations/monday/metadata.json create mode 100644 src/configurations/destinations/monday/schema.json create mode 100644 src/configurations/destinations/monday/ui-config.json create mode 100644 src/configurations/destinations/monetate/db-config.json create mode 100644 src/configurations/destinations/monetate/metadata.json create mode 100644 src/configurations/destinations/monetate/schema.json create mode 100644 src/configurations/destinations/monetate/ui-config.json create mode 100644 src/configurations/destinations/mouseflow/db-config.json create mode 100644 src/configurations/destinations/mouseflow/metadata.json create mode 100644 src/configurations/destinations/mouseflow/schema.json rename data/destinations/mouseflow/ui_config.json => src/configurations/destinations/mouseflow/ui-config.json (100%) create mode 100644 src/configurations/destinations/mp/db-config.json create mode 100644 src/configurations/destinations/mp/metadata.json create mode 100644 src/configurations/destinations/mp/schema.json rename data/destinations/mp/ui_config.json => src/configurations/destinations/mp/ui-config.json (100%) create mode 100644 src/configurations/destinations/mssql/db-config.json create mode 100644 src/configurations/destinations/mssql/metadata.json create mode 100644 src/configurations/destinations/mssql/schema.json create mode 100644 src/configurations/destinations/mssql/ui-config.json create mode 100644 src/configurations/destinations/new_relic/db-config.json create mode 100644 src/configurations/destinations/new_relic/metadata.json create mode 100644 src/configurations/destinations/new_relic/schema.json create mode 100644 src/configurations/destinations/new_relic/ui-config.json rename data/destinations/olark/db_config.json => src/configurations/destinations/olark/db-config.json (100%) create mode 100644 src/configurations/destinations/olark/metadata.json rename {data => src/configurations}/destinations/olark/schema.json (100%) rename data/destinations/olark/ui_config.json => src/configurations/destinations/olark/ui-config.json (100%) create mode 100644 src/configurations/destinations/ometria/db-config.json create mode 100644 src/configurations/destinations/ometria/metadata.json create mode 100644 src/configurations/destinations/ometria/schema.json create mode 100644 src/configurations/destinations/ometria/ui-config.json create mode 100644 src/configurations/destinations/one_signal/db-config.json create mode 100644 src/configurations/destinations/one_signal/metadata.json create mode 100644 src/configurations/destinations/one_signal/schema.json create mode 100644 src/configurations/destinations/one_signal/ui-config.json create mode 100644 src/configurations/destinations/optimizely/db-config.json create mode 100644 src/configurations/destinations/optimizely/metadata.json create mode 100644 src/configurations/destinations/optimizely/schema.json rename data/destinations/optimizely/ui_config.json => src/configurations/destinations/optimizely/ui-config.json (100%) create mode 100644 src/configurations/destinations/optimizely_fullstack/db-config.json create mode 100644 src/configurations/destinations/optimizely_fullstack/metadata.json create mode 100644 src/configurations/destinations/optimizely_fullstack/schema.json create mode 100644 src/configurations/destinations/optimizely_fullstack/ui-config.json rename data/destinations/pagerduty/db_config.json => src/configurations/destinations/pagerduty/db-config.json (100%) create mode 100644 src/configurations/destinations/pagerduty/metadata.json rename {data => src/configurations}/destinations/pagerduty/schema.json (100%) rename data/destinations/pagerduty/ui_config.json => src/configurations/destinations/pagerduty/ui-config.json (100%) rename data/destinations/pardot/db_config.json => src/configurations/destinations/pardot/db-config.json (100%) create mode 100644 src/configurations/destinations/pardot/metadata.json create mode 100644 src/configurations/destinations/pardot/schema.json create mode 100644 src/configurations/destinations/pardot/ui-config.json create mode 100644 src/configurations/destinations/pendo/db-config.json create mode 100644 src/configurations/destinations/pendo/metadata.json create mode 100644 src/configurations/destinations/pendo/schema.json rename data/destinations/pendo/ui_config.json => src/configurations/destinations/pendo/ui-config.json (100%) create mode 100644 src/configurations/destinations/persistiq/db-config.json create mode 100644 src/configurations/destinations/persistiq/metadata.json rename {data => src/configurations}/destinations/persistiq/schema.json (100%) create mode 100644 src/configurations/destinations/persistiq/ui-config.json rename data/destinations/personalize/db_config.json => src/configurations/destinations/personalize/db-config.json (100%) create mode 100644 src/configurations/destinations/personalize/metadata.json create mode 100644 src/configurations/destinations/personalize/schema.json rename data/destinations/personalize/ui_config.json => src/configurations/destinations/personalize/ui-config.json (100%) create mode 100644 src/configurations/destinations/pinterest_tag/db-config.json create mode 100644 src/configurations/destinations/pinterest_tag/metadata.json create mode 100644 src/configurations/destinations/pinterest_tag/schema.json create mode 100644 src/configurations/destinations/pinterest_tag/ui-config.json create mode 100644 src/configurations/destinations/pipedream/db-config.json create mode 100644 src/configurations/destinations/pipedream/metadata.json create mode 100644 src/configurations/destinations/pipedream/schema.json create mode 100644 src/configurations/destinations/pipedream/ui-config.json create mode 100644 src/configurations/destinations/pipedrive/db-config.json create mode 100644 src/configurations/destinations/pipedrive/metadata.json create mode 100644 src/configurations/destinations/pipedrive/schema.json create mode 100644 src/configurations/destinations/pipedrive/ui-config.json rename data/destinations/podsights/db_config.json => src/configurations/destinations/podsights/db-config.json (100%) rename {data => src/configurations}/destinations/podsights/metadata.json (100%) rename {data => src/configurations}/destinations/podsights/schema.json (100%) rename data/destinations/podsights/ui_config.json => src/configurations/destinations/podsights/ui-config.json (100%) create mode 100644 src/configurations/destinations/post_affiliate_pro/db-config.json create mode 100644 src/configurations/destinations/post_affiliate_pro/metadata.json create mode 100644 src/configurations/destinations/post_affiliate_pro/schema.json create mode 100644 src/configurations/destinations/post_affiliate_pro/ui-config.json rename data/destinations/postgres/db_config.json => src/configurations/destinations/postgres/db-config.json (100%) create mode 100644 src/configurations/destinations/postgres/metadata.json create mode 100644 src/configurations/destinations/postgres/schema.json rename data/destinations/postgres/ui_config.json => src/configurations/destinations/postgres/ui-config.json (100%) create mode 100644 src/configurations/destinations/posthog/db-config.json create mode 100644 src/configurations/destinations/posthog/metadata.json create mode 100644 src/configurations/destinations/posthog/schema.json rename data/destinations/posthog/ui_config.json => src/configurations/destinations/posthog/ui-config.json (100%) create mode 100644 src/configurations/destinations/profitwell/db-config.json create mode 100644 src/configurations/destinations/profitwell/metadata.json create mode 100644 src/configurations/destinations/profitwell/schema.json rename data/destinations/profitwell/ui_config.json => src/configurations/destinations/profitwell/ui-config.json (100%) rename data/destinations/qualaroo/db_config.json => src/configurations/destinations/qualaroo/db-config.json (100%) create mode 100644 src/configurations/destinations/qualaroo/metadata.json rename {data => src/configurations}/destinations/qualaroo/schema.json (100%) rename data/destinations/qualaroo/ui_config.json => src/configurations/destinations/qualaroo/ui-config.json (100%) create mode 100644 src/configurations/destinations/qualtrics/db-config.json create mode 100644 src/configurations/destinations/qualtrics/metadata.json create mode 100644 src/configurations/destinations/qualtrics/schema.json rename data/destinations/qualtrics/ui_config.json => src/configurations/destinations/qualtrics/ui-config.json (100%) create mode 100644 src/configurations/destinations/quantummetric/db-config.json create mode 100644 src/configurations/destinations/quantummetric/metadata.json create mode 100644 src/configurations/destinations/quantummetric/schema.json rename data/destinations/quantummetric/ui_config.json => src/configurations/destinations/quantummetric/ui-config.json (100%) create mode 100644 src/configurations/destinations/quora_pixel/db-config.json create mode 100644 src/configurations/destinations/quora_pixel/metadata.json create mode 100644 src/configurations/destinations/quora_pixel/schema.json rename data/destinations/quora_pixel/ui_config.json => src/configurations/destinations/quora_pixel/ui-config.json (100%) create mode 100644 src/configurations/destinations/reddit_pixel/db-config.json create mode 100644 src/configurations/destinations/reddit_pixel/metadata.json create mode 100644 src/configurations/destinations/reddit_pixel/schema.json rename data/destinations/reddit_pixel/ui_config.json => src/configurations/destinations/reddit_pixel/ui-config.json (100%) create mode 100644 src/configurations/destinations/redis/db-config.json create mode 100644 src/configurations/destinations/redis/metadata.json create mode 100644 src/configurations/destinations/redis/schema.json create mode 100644 src/configurations/destinations/redis/ui-config.json rename data/destinations/refiner/db_config.json => src/configurations/destinations/refiner/db-config.json (100%) create mode 100644 src/configurations/destinations/refiner/metadata.json rename {data => src/configurations}/destinations/refiner/schema.json (100%) rename data/destinations/refiner/ui_config.json => src/configurations/destinations/refiner/ui-config.json (100%) create mode 100644 src/configurations/destinations/revenue_cat/db-config.json create mode 100644 src/configurations/destinations/revenue_cat/metadata.json create mode 100644 src/configurations/destinations/revenue_cat/schema.json create mode 100644 src/configurations/destinations/revenue_cat/ui-config.json create mode 100644 src/configurations/destinations/rockerbox/db-config.json create mode 100644 src/configurations/destinations/rockerbox/metadata.json create mode 100644 src/configurations/destinations/rockerbox/schema.json rename data/destinations/rockerbox/ui_config.json => src/configurations/destinations/rockerbox/ui-config.json (100%) create mode 100644 src/configurations/destinations/rollbar/db-config.json create mode 100644 src/configurations/destinations/rollbar/metadata.json create mode 100644 src/configurations/destinations/rollbar/schema.json rename data/destinations/rollbar/ui_config.json => src/configurations/destinations/rollbar/ui-config.json (100%) rename data/destinations/rs/db_config.json => src/configurations/destinations/rs/db-config.json (100%) create mode 100644 src/configurations/destinations/rs/metadata.json rename {data => src/configurations}/destinations/rs/schema.json (100%) rename data/destinations/rs/ui_config.json => src/configurations/destinations/rs/ui-config.json (100%) create mode 100644 src/configurations/destinations/s3/db-config.json create mode 100644 src/configurations/destinations/s3/metadata.json create mode 100644 src/configurations/destinations/s3/schema.json create mode 100644 src/configurations/destinations/s3/ui-config.json create mode 100644 src/configurations/destinations/s3_datalake/db-config.json create mode 100644 src/configurations/destinations/s3_datalake/metadata.json create mode 100644 src/configurations/destinations/s3_datalake/schema.json create mode 100644 src/configurations/destinations/s3_datalake/ui-config.json create mode 100644 src/configurations/destinations/salesforce/db-config.json create mode 100644 src/configurations/destinations/salesforce/metadata.json create mode 100644 src/configurations/destinations/salesforce/schema.json create mode 100644 src/configurations/destinations/salesforce/ui-config.json rename data/destinations/satismeter/db_config.json => src/configurations/destinations/satismeter/db-config.json (100%) create mode 100644 src/configurations/destinations/satismeter/metadata.json create mode 100644 src/configurations/destinations/satismeter/schema.json rename data/destinations/satismeter/ui_config.json => src/configurations/destinations/satismeter/ui-config.json (100%) create mode 100644 src/configurations/destinations/segment/db-config.json create mode 100644 src/configurations/destinations/segment/metadata.json create mode 100644 src/configurations/destinations/segment/schema.json create mode 100644 src/configurations/destinations/segment/ui-config.json rename data/destinations/sendgrid/db_config.json => src/configurations/destinations/sendgrid/db-config.json (100%) create mode 100644 src/configurations/destinations/sendgrid/metadata.json create mode 100644 src/configurations/destinations/sendgrid/schema.json rename data/destinations/sendgrid/ui_config.json => src/configurations/destinations/sendgrid/ui-config.json (100%) rename data/destinations/sendinblue/db_config.json => src/configurations/destinations/sendinblue/db-config.json (100%) create mode 100644 src/configurations/destinations/sendinblue/metadata.json create mode 100644 src/configurations/destinations/sendinblue/schema.json rename data/destinations/sendinblue/ui_config.json => src/configurations/destinations/sendinblue/ui-config.json (100%) create mode 100644 src/configurations/destinations/sentry/db-config.json create mode 100644 src/configurations/destinations/sentry/metadata.json create mode 100644 src/configurations/destinations/sentry/schema.json rename data/destinations/sentry/ui_config.json => src/configurations/destinations/sentry/ui-config.json (100%) create mode 100644 src/configurations/destinations/serenytics/db-config.json create mode 100644 src/configurations/destinations/serenytics/metadata.json create mode 100644 src/configurations/destinations/serenytics/schema.json create mode 100644 src/configurations/destinations/serenytics/ui-config.json create mode 100644 src/configurations/destinations/sfmc/db-config.json create mode 100644 src/configurations/destinations/sfmc/metadata.json create mode 100644 src/configurations/destinations/sfmc/schema.json create mode 100644 src/configurations/destinations/sfmc/ui-config.json create mode 100644 src/configurations/destinations/shynet/db-config.json create mode 100644 src/configurations/destinations/shynet/metadata.json create mode 100644 src/configurations/destinations/shynet/schema.json rename data/destinations/shynet/ui_config.json => src/configurations/destinations/shynet/ui-config.json (100%) create mode 100644 src/configurations/destinations/signl4/db-config.json create mode 100644 src/configurations/destinations/signl4/metadata.json create mode 100644 src/configurations/destinations/signl4/schema.json create mode 100644 src/configurations/destinations/signl4/ui-config.json create mode 100644 src/configurations/destinations/singular/db-config.json create mode 100644 src/configurations/destinations/singular/metadata.json create mode 100644 src/configurations/destinations/singular/schema.json create mode 100644 src/configurations/destinations/singular/ui-config.json create mode 100644 src/configurations/destinations/slack/db-config.json create mode 100644 src/configurations/destinations/slack/metadata.json create mode 100644 src/configurations/destinations/slack/schema.json create mode 100644 src/configurations/destinations/slack/ui-config.json create mode 100644 src/configurations/destinations/snap_pixel/db-config.json create mode 100644 src/configurations/destinations/snap_pixel/metadata.json create mode 100644 src/configurations/destinations/snap_pixel/schema.json rename data/destinations/snap_pixel/ui_config.json => src/configurations/destinations/snap_pixel/ui-config.json (100%) create mode 100644 src/configurations/destinations/snapchat_conversion/db-config.json create mode 100644 src/configurations/destinations/snapchat_conversion/metadata.json create mode 100644 src/configurations/destinations/snapchat_conversion/schema.json create mode 100644 src/configurations/destinations/snapchat_conversion/ui-config.json create mode 100644 src/configurations/destinations/snapchat_custom_audience/db-config.json create mode 100644 src/configurations/destinations/snapchat_custom_audience/metadata.json create mode 100644 src/configurations/destinations/snapchat_custom_audience/schema.json create mode 100644 src/configurations/destinations/snapchat_custom_audience/ui-config.json create mode 100644 src/configurations/destinations/snapengage/db-config.json create mode 100644 src/configurations/destinations/snapengage/metadata.json create mode 100644 src/configurations/destinations/snapengage/schema.json rename data/destinations/snapengage/ui_config.json => src/configurations/destinations/snapengage/ui-config.json (100%) create mode 100644 src/configurations/destinations/snowflake/db-config.json create mode 100644 src/configurations/destinations/snowflake/metadata.json create mode 100644 src/configurations/destinations/snowflake/schema.json create mode 100644 src/configurations/destinations/snowflake/ui-config.json create mode 100644 src/configurations/destinations/splitio/db-config.json create mode 100644 src/configurations/destinations/splitio/metadata.json create mode 100644 src/configurations/destinations/splitio/schema.json create mode 100644 src/configurations/destinations/splitio/ui-config.json create mode 100644 src/configurations/destinations/statsig/db-config.json create mode 100644 src/configurations/destinations/statsig/metadata.json create mode 100644 src/configurations/destinations/statsig/schema.json create mode 100644 src/configurations/destinations/statsig/ui-config.json create mode 100644 src/configurations/destinations/tiktok_ads/db-config.json create mode 100644 src/configurations/destinations/tiktok_ads/metadata.json create mode 100644 src/configurations/destinations/tiktok_ads/schema.json create mode 100644 src/configurations/destinations/tiktok_ads/ui-config.json create mode 100644 src/configurations/destinations/trengo/db-config.json create mode 100644 src/configurations/destinations/trengo/metadata.json create mode 100644 src/configurations/destinations/trengo/schema.json create mode 100644 src/configurations/destinations/trengo/ui-config.json create mode 100644 src/configurations/destinations/tvsquared/db-config.json create mode 100644 src/configurations/destinations/tvsquared/metadata.json create mode 100644 src/configurations/destinations/tvsquared/schema.json rename data/destinations/tvsquared/ui_config.json => src/configurations/destinations/tvsquared/ui-config.json (100%) create mode 100644 src/configurations/destinations/user/db-config.json create mode 100644 src/configurations/destinations/user/metadata.json create mode 100644 src/configurations/destinations/user/schema.json create mode 100644 src/configurations/destinations/user/ui-config.json create mode 100644 src/configurations/destinations/userlist/db-config.json create mode 100644 src/configurations/destinations/userlist/metadata.json create mode 100644 src/configurations/destinations/userlist/schema.json create mode 100644 src/configurations/destinations/userlist/ui-config.json create mode 100644 src/configurations/destinations/variance/db-config.json create mode 100644 src/configurations/destinations/variance/metadata.json create mode 100644 src/configurations/destinations/variance/schema.json create mode 100644 src/configurations/destinations/variance/ui-config.json create mode 100644 src/configurations/destinations/vero/db-config.json create mode 100644 src/configurations/destinations/vero/metadata.json create mode 100644 src/configurations/destinations/vero/schema.json rename data/destinations/vero/ui_config.json => src/configurations/destinations/vero/ui-config.json (100%) create mode 100644 src/configurations/destinations/vwo/db-config.json create mode 100644 src/configurations/destinations/vwo/metadata.json create mode 100644 src/configurations/destinations/vwo/schema.json rename data/destinations/vwo/ui_config.json => src/configurations/destinations/vwo/ui-config.json (100%) create mode 100644 src/configurations/destinations/webengage/db-config.json create mode 100644 src/configurations/destinations/webengage/metadata.json create mode 100644 src/configurations/destinations/webengage/schema.json create mode 100644 src/configurations/destinations/webengage/ui-config.json create mode 100644 src/configurations/destinations/webhook/db-config.json create mode 100644 src/configurations/destinations/webhook/metadata.json rename {data => src/configurations}/destinations/webhook/schema.json (100%) rename data/destinations/webhook/ui_config.json => src/configurations/destinations/webhook/ui-config.json (100%) create mode 100644 src/configurations/destinations/woopra/db-config.json create mode 100644 src/configurations/destinations/woopra/metadata.json create mode 100644 src/configurations/destinations/woopra/schema.json rename data/destinations/woopra/ui_config.json => src/configurations/destinations/woopra/ui-config.json (100%) create mode 100644 src/configurations/destinations/wootric/db-config.json create mode 100644 src/configurations/destinations/wootric/metadata.json create mode 100644 src/configurations/destinations/wootric/schema.json create mode 100644 src/configurations/destinations/wootric/ui-config.json create mode 100644 src/configurations/destinations/yahoo_dsp/db-config.json create mode 100644 src/configurations/destinations/yahoo_dsp/metadata.json create mode 100644 src/configurations/destinations/yahoo_dsp/schema.json create mode 100644 src/configurations/destinations/yahoo_dsp/ui-config.json rename data/destinations/yandex_metrica/db_config.json => src/configurations/destinations/yandex_metrica/db-config.json (100%) create mode 100644 src/configurations/destinations/yandex_metrica/metadata.json rename {data => src/configurations}/destinations/yandex_metrica/schema.json (100%) rename data/destinations/yandex_metrica/ui_config.json => src/configurations/destinations/yandex_metrica/ui-config.json (100%) create mode 100644 src/configurations/destinations/zapier/db-config.json create mode 100644 src/configurations/destinations/zapier/metadata.json create mode 100644 src/configurations/destinations/zapier/schema.json create mode 100644 src/configurations/destinations/zapier/ui-config.json create mode 100644 src/configurations/destinations/zendesk/db-config.json create mode 100644 src/configurations/destinations/zendesk/metadata.json create mode 100644 src/configurations/destinations/zendesk/schema.json create mode 100644 src/configurations/destinations/zendesk/ui-config.json rename data/sources/GainsightPX/db_config.json => src/configurations/sources/GainsightPX/db-config.json (100%) rename {data/sources/mailjet => src/configurations/sources/GainsightPX}/metadata.json (100%) create mode 100644 src/configurations/sources/GainsightPX/schema.json rename data/sources/mailjet/ui_config.json => src/configurations/sources/GainsightPX/ui-config.json (100%) create mode 100644 src/configurations/sources/active_campaign/db-config.json rename {data/sources/moengage => src/configurations/sources/active_campaign}/metadata.json (100%) create mode 100644 src/configurations/sources/active_campaign/schema.json create mode 100644 src/configurations/sources/active_campaign/ui-config.json create mode 100644 src/configurations/sources/amp/db-config.json rename {data/sources/olark => src/configurations/sources/amp}/metadata.json (100%) create mode 100644 src/configurations/sources/amp/schema.json rename data/sources/moengage/ui_config.json => src/configurations/sources/amp/ui-config.json (100%) create mode 100644 src/configurations/sources/android/db-config.json rename {data/sources/pagerduty => src/configurations/sources/android}/metadata.json (100%) create mode 100644 src/configurations/sources/android/schema.json rename data/sources/olark/ui_config.json => src/configurations/sources/android/ui-config.json (100%) create mode 100644 src/configurations/sources/appcenter/db-config.json rename {data/sources/pipedream => src/configurations/sources/appcenter}/metadata.json (100%) create mode 100644 src/configurations/sources/appcenter/schema.json rename data/sources/pagerduty/ui_config.json => src/configurations/sources/appcenter/ui-config.json (100%) create mode 100644 src/configurations/sources/appsflyer/db-config.json rename {data/sources/refiner => src/configurations/sources/appsflyer}/metadata.json (100%) create mode 100644 src/configurations/sources/appsflyer/schema.json rename data/sources/pipedream/ui_config.json => src/configurations/sources/appsflyer/ui-config.json (100%) create mode 100644 src/configurations/sources/auth0/db-config.json rename {data/sources/satismeter => src/configurations/sources/auth0}/metadata.json (100%) create mode 100644 src/configurations/sources/auth0/schema.json rename data/sources/refiner/ui_config.json => src/configurations/sources/auth0/ui-config.json (100%) create mode 100644 src/configurations/sources/bigquery/db-config.json create mode 100644 src/configurations/sources/bigquery/metadata.json create mode 100644 src/configurations/sources/bigquery/schema.json create mode 100644 src/configurations/sources/bigquery/ui-config.json create mode 100644 src/configurations/sources/bing_ads/db-config.json create mode 100644 src/configurations/sources/bing_ads/metadata.json create mode 100644 src/configurations/sources/bing_ads/schema.json create mode 100644 src/configurations/sources/bing_ads/ui-config.json create mode 100644 src/configurations/sources/braze/db-config.json create mode 100644 src/configurations/sources/braze/metadata.json create mode 100644 src/configurations/sources/braze/schema.json rename data/sources/satismeter/ui_config.json => src/configurations/sources/braze/ui-config.json (100%) create mode 100644 src/configurations/sources/canny/db-config.json create mode 100644 src/configurations/sources/canny/metadata.json create mode 100644 src/configurations/sources/canny/schema.json create mode 100644 src/configurations/sources/canny/ui-config.json create mode 100644 src/configurations/sources/clickhouse/db-config.json create mode 100644 src/configurations/sources/clickhouse/metadata.json create mode 100644 src/configurations/sources/clickhouse/schema.json create mode 100644 src/configurations/sources/clickhouse/ui-config.json create mode 100644 src/configurations/sources/cordova/db-config.json create mode 100644 src/configurations/sources/cordova/metadata.json create mode 100644 src/configurations/sources/cordova/schema.json create mode 100644 src/configurations/sources/cordova/ui-config.json create mode 100644 src/configurations/sources/customerio/db-config.json create mode 100644 src/configurations/sources/customerio/metadata.json create mode 100644 src/configurations/sources/customerio/schema.json create mode 100644 src/configurations/sources/customerio/ui-config.json create mode 100644 src/configurations/sources/databricks/db-config.json create mode 100644 src/configurations/sources/databricks/metadata.json create mode 100644 src/configurations/sources/databricks/schema.json create mode 100644 src/configurations/sources/databricks/ui-config.json create mode 100644 src/configurations/sources/dotnet/db-config.json create mode 100644 src/configurations/sources/dotnet/metadata.json create mode 100644 src/configurations/sources/dotnet/schema.json create mode 100644 src/configurations/sources/dotnet/ui-config.json create mode 100644 src/configurations/sources/extole/db-config.json create mode 100644 src/configurations/sources/extole/metadata.json create mode 100644 src/configurations/sources/extole/schema.json create mode 100644 src/configurations/sources/extole/ui-config.json rename data/sources/facebook_ads/db_config.json => src/configurations/sources/facebook_ads/db-config.json (100%) create mode 100644 src/configurations/sources/facebook_ads/metadata.json create mode 100644 src/configurations/sources/facebook_ads/schema.json create mode 100644 src/configurations/sources/facebook_ads/ui-config.json create mode 100644 src/configurations/sources/flutter/db-config.json create mode 100644 src/configurations/sources/flutter/metadata.json create mode 100644 src/configurations/sources/flutter/schema.json create mode 100644 src/configurations/sources/flutter/ui-config.json create mode 100644 src/configurations/sources/freshdesk/db-config.json create mode 100644 src/configurations/sources/freshdesk/metadata.json create mode 100644 src/configurations/sources/freshdesk/schema.json create mode 100644 src/configurations/sources/freshdesk/ui-config.json create mode 100644 src/configurations/sources/go/db-config.json create mode 100644 src/configurations/sources/go/metadata.json create mode 100644 src/configurations/sources/go/schema.json create mode 100644 src/configurations/sources/go/ui-config.json create mode 100644 src/configurations/sources/google_adwords/db-config.json create mode 100644 src/configurations/sources/google_adwords/metadata.json create mode 100644 src/configurations/sources/google_adwords/schema.json create mode 100644 src/configurations/sources/google_adwords/ui-config.json create mode 100644 src/configurations/sources/google_analytics/db-config.json create mode 100644 src/configurations/sources/google_analytics/metadata.json create mode 100644 src/configurations/sources/google_analytics/schema.json create mode 100644 src/configurations/sources/google_analytics/ui-config.json create mode 100644 src/configurations/sources/google_search_console/db-config.json create mode 100644 src/configurations/sources/google_search_console/metadata.json create mode 100644 src/configurations/sources/google_search_console/schema.json create mode 100644 src/configurations/sources/google_search_console/ui-config.json create mode 100644 src/configurations/sources/google_sheets/db-config.json create mode 100644 src/configurations/sources/google_sheets/metadata.json create mode 100644 src/configurations/sources/google_sheets/schema.json create mode 100644 src/configurations/sources/google_sheets/ui-config.json create mode 100644 src/configurations/sources/http/db-config.json create mode 100644 src/configurations/sources/http/metadata.json create mode 100644 src/configurations/sources/http/schema.json create mode 100644 src/configurations/sources/http/ui-config.json create mode 100644 src/configurations/sources/hubspot/db-config.json create mode 100644 src/configurations/sources/hubspot/metadata.json create mode 100644 src/configurations/sources/hubspot/schema.json create mode 100644 src/configurations/sources/hubspot/ui-config.json create mode 100644 src/configurations/sources/hubspot_crm/db-config.json create mode 100644 src/configurations/sources/hubspot_crm/metadata.json create mode 100644 src/configurations/sources/hubspot_crm/schema.json create mode 100644 src/configurations/sources/hubspot_crm/ui-config.json create mode 100644 src/configurations/sources/intercom/db-config.json create mode 100644 src/configurations/sources/intercom/metadata.json create mode 100644 src/configurations/sources/intercom/schema.json create mode 100644 src/configurations/sources/intercom/ui-config.json create mode 100644 src/configurations/sources/ios/db-config.json create mode 100644 src/configurations/sources/ios/metadata.json create mode 100644 src/configurations/sources/ios/schema.json create mode 100644 src/configurations/sources/ios/ui-config.json create mode 100644 src/configurations/sources/iterable/db-config.json create mode 100644 src/configurations/sources/iterable/metadata.json create mode 100644 src/configurations/sources/iterable/schema.json create mode 100644 src/configurations/sources/iterable/ui-config.json create mode 100644 src/configurations/sources/java/db-config.json create mode 100644 src/configurations/sources/java/metadata.json create mode 100644 src/configurations/sources/java/schema.json create mode 100644 src/configurations/sources/java/ui-config.json create mode 100644 src/configurations/sources/javascript/db-config.json create mode 100644 src/configurations/sources/javascript/metadata.json create mode 100644 src/configurations/sources/javascript/schema.json create mode 100644 src/configurations/sources/javascript/ui-config.json create mode 100644 src/configurations/sources/looker/db-config.json create mode 100644 src/configurations/sources/looker/metadata.json create mode 100644 src/configurations/sources/looker/schema.json create mode 100644 src/configurations/sources/looker/ui-config.json create mode 100644 src/configurations/sources/mailchimp/db-config.json create mode 100644 src/configurations/sources/mailchimp/metadata.json create mode 100644 src/configurations/sources/mailchimp/schema.json create mode 100644 src/configurations/sources/mailchimp/ui-config.json rename data/sources/mailjet/db_config.json => src/configurations/sources/mailjet/db-config.json (100%) create mode 100644 src/configurations/sources/mailjet/metadata.json create mode 100644 src/configurations/sources/mailjet/schema.json create mode 100644 src/configurations/sources/mailjet/ui-config.json create mode 100644 src/configurations/sources/mailmodo/db-config.json create mode 100644 src/configurations/sources/mailmodo/metadata.json create mode 100644 src/configurations/sources/mailmodo/schema.json create mode 100644 src/configurations/sources/mailmodo/ui-config.json create mode 100644 src/configurations/sources/marketo/db-config.json create mode 100644 src/configurations/sources/marketo/metadata.json create mode 100644 src/configurations/sources/marketo/schema.json create mode 100644 src/configurations/sources/marketo/ui-config.json create mode 100644 src/configurations/sources/mixpanel/db-config.json create mode 100644 src/configurations/sources/mixpanel/metadata.json create mode 100644 src/configurations/sources/mixpanel/schema.json create mode 100644 src/configurations/sources/mixpanel/ui-config.json rename data/sources/moengage/db_config.json => src/configurations/sources/moengage/db-config.json (100%) create mode 100644 src/configurations/sources/moengage/metadata.json create mode 100644 src/configurations/sources/moengage/schema.json create mode 100644 src/configurations/sources/moengage/ui-config.json create mode 100644 src/configurations/sources/monday/db-config.json create mode 100644 src/configurations/sources/monday/metadata.json create mode 100644 src/configurations/sources/monday/schema.json create mode 100644 src/configurations/sources/monday/ui-config.json create mode 100644 src/configurations/sources/mysql/db-config.json create mode 100644 src/configurations/sources/mysql/metadata.json create mode 100644 src/configurations/sources/mysql/schema.json create mode 100644 src/configurations/sources/mysql/ui-config.json create mode 100644 src/configurations/sources/netsuite/db-config.json create mode 100644 src/configurations/sources/netsuite/metadata.json create mode 100644 src/configurations/sources/netsuite/schema.json create mode 100644 src/configurations/sources/netsuite/ui-config.json create mode 100644 src/configurations/sources/node/db-config.json create mode 100644 src/configurations/sources/node/metadata.json create mode 100644 src/configurations/sources/node/schema.json create mode 100644 src/configurations/sources/node/ui-config.json rename data/sources/olark/db_config.json => src/configurations/sources/olark/db-config.json (100%) create mode 100644 src/configurations/sources/olark/metadata.json create mode 100644 src/configurations/sources/olark/schema.json create mode 100644 src/configurations/sources/olark/ui-config.json rename data/sources/pagerduty/db_config.json => src/configurations/sources/pagerduty/db-config.json (100%) create mode 100644 src/configurations/sources/pagerduty/metadata.json create mode 100644 src/configurations/sources/pagerduty/schema.json create mode 100644 src/configurations/sources/pagerduty/ui-config.json create mode 100644 src/configurations/sources/pardot/db-config.json create mode 100644 src/configurations/sources/pardot/metadata.json create mode 100644 src/configurations/sources/pardot/schema.json create mode 100644 src/configurations/sources/pardot/ui-config.json create mode 100644 src/configurations/sources/php/db-config.json create mode 100644 src/configurations/sources/php/metadata.json create mode 100644 src/configurations/sources/php/schema.json create mode 100644 src/configurations/sources/php/ui-config.json rename data/sources/pipedream/db_config.json => src/configurations/sources/pipedream/db-config.json (100%) create mode 100644 src/configurations/sources/pipedream/metadata.json create mode 100644 src/configurations/sources/pipedream/schema.json create mode 100644 src/configurations/sources/pipedream/ui-config.json create mode 100644 src/configurations/sources/pipedrive/db-config.json create mode 100644 src/configurations/sources/pipedrive/metadata.json create mode 100644 src/configurations/sources/pipedrive/schema.json create mode 100644 src/configurations/sources/pipedrive/ui-config.json create mode 100644 src/configurations/sources/postgres/db-config.json create mode 100644 src/configurations/sources/postgres/metadata.json create mode 100644 src/configurations/sources/postgres/schema.json create mode 100644 src/configurations/sources/postgres/ui-config.json create mode 100644 src/configurations/sources/posthog/db-config.json create mode 100644 src/configurations/sources/posthog/metadata.json create mode 100644 src/configurations/sources/posthog/schema.json create mode 100644 src/configurations/sources/posthog/ui-config.json create mode 100644 src/configurations/sources/python/db-config.json create mode 100644 src/configurations/sources/python/metadata.json create mode 100644 src/configurations/sources/python/schema.json create mode 100644 src/configurations/sources/python/ui-config.json create mode 100644 src/configurations/sources/quickbooks/db-config.json create mode 100644 src/configurations/sources/quickbooks/metadata.json create mode 100644 src/configurations/sources/quickbooks/schema.json create mode 100644 src/configurations/sources/quickbooks/ui-config.json create mode 100644 src/configurations/sources/react_native/db-config.json create mode 100644 src/configurations/sources/react_native/metadata.json create mode 100644 src/configurations/sources/react_native/schema.json create mode 100644 src/configurations/sources/react_native/ui-config.json create mode 100644 src/configurations/sources/reactnative/db-config.json create mode 100644 src/configurations/sources/reactnative/metadata.json create mode 100644 src/configurations/sources/redshift/db-config.json create mode 100644 src/configurations/sources/redshift/metadata.json create mode 100644 src/configurations/sources/redshift/schema.json create mode 100644 src/configurations/sources/redshift/ui-config.json rename data/sources/refiner/db_config.json => src/configurations/sources/refiner/db-config.json (100%) create mode 100644 src/configurations/sources/refiner/metadata.json create mode 100644 src/configurations/sources/refiner/schema.json create mode 100644 src/configurations/sources/refiner/ui-config.json create mode 100644 src/configurations/sources/ruby/db-config.json create mode 100644 src/configurations/sources/ruby/metadata.json create mode 100644 src/configurations/sources/ruby/schema.json create mode 100644 src/configurations/sources/ruby/ui-config.json create mode 100644 src/configurations/sources/rust/db-config.json create mode 100644 src/configurations/sources/rust/metadata.json create mode 100644 src/configurations/sources/rust/schema.json create mode 100644 src/configurations/sources/rust/ui-config.json create mode 100644 src/configurations/sources/s3/db-config.json create mode 100644 src/configurations/sources/s3/metadata.json create mode 100644 src/configurations/sources/s3/schema.json create mode 100644 src/configurations/sources/s3/ui-config.json create mode 100644 src/configurations/sources/salesforce/db-config.json create mode 100644 src/configurations/sources/salesforce/metadata.json create mode 100644 src/configurations/sources/salesforce/schema.json create mode 100644 src/configurations/sources/salesforce/ui-config.json rename data/sources/satismeter/db_config.json => src/configurations/sources/satismeter/db-config.json (100%) create mode 100644 src/configurations/sources/satismeter/metadata.json create mode 100644 src/configurations/sources/satismeter/schema.json create mode 100644 src/configurations/sources/satismeter/ui-config.json create mode 100644 src/configurations/sources/segment/db-config.json create mode 100644 src/configurations/sources/segment/metadata.json create mode 100644 src/configurations/sources/segment/schema.json create mode 100644 src/configurations/sources/segment/ui-config.json create mode 100644 src/configurations/sources/sendgrid/db-config.json create mode 100644 src/configurations/sources/sendgrid/metadata.json create mode 100644 src/configurations/sources/sendgrid/schema.json create mode 100644 src/configurations/sources/sendgrid/ui-config.json create mode 100644 src/configurations/sources/shopify/db-config.json create mode 100644 src/configurations/sources/shopify/metadata.json create mode 100644 src/configurations/sources/shopify/schema.json create mode 100644 src/configurations/sources/shopify/ui-config.json create mode 100644 src/configurations/sources/signl4/db-config.json create mode 100644 src/configurations/sources/signl4/metadata.json create mode 100644 src/configurations/sources/signl4/schema.json create mode 100644 src/configurations/sources/signl4/ui-config.json create mode 100644 src/configurations/sources/singer-recurly/db-config.json create mode 100644 src/configurations/sources/singer-recurly/metadata.json create mode 100644 src/configurations/sources/singer-recurly/schema.json create mode 100644 src/configurations/sources/singer-recurly/ui-config.json rename data/sources/singer_amplitude/db_config.json => src/configurations/sources/singer_amplitude/db-config.json (100%) create mode 100644 src/configurations/sources/singer_amplitude/metadata.json create mode 100644 src/configurations/sources/singer_amplitude/schema.json create mode 100644 src/configurations/sources/singer_amplitude/ui-config.json create mode 100644 src/configurations/sources/singer_bing_ads/db-config.json create mode 100644 src/configurations/sources/singer_bing_ads/metadata.json create mode 100644 src/configurations/sources/singer_bing_ads/schema.json create mode 100644 src/configurations/sources/singer_bing_ads/ui-config.json create mode 100644 src/configurations/sources/singer_chargebee/db-config.json create mode 100644 src/configurations/sources/singer_chargebee/metadata.json create mode 100644 src/configurations/sources/singer_chargebee/schema.json create mode 100644 src/configurations/sources/singer_chargebee/ui-config.json create mode 100644 src/configurations/sources/singer_customer_io/db-config.json create mode 100644 src/configurations/sources/singer_customer_io/metadata.json create mode 100644 src/configurations/sources/singer_customer_io/schema.json create mode 100644 src/configurations/sources/singer_customer_io/ui-config.json create mode 100644 src/configurations/sources/singer_facebook_marketing/db-config.json create mode 100644 src/configurations/sources/singer_facebook_marketing/metadata.json create mode 100644 src/configurations/sources/singer_facebook_marketing/schema.json create mode 100644 src/configurations/sources/singer_facebook_marketing/ui-config.json create mode 100644 src/configurations/sources/singer_freshdesk/db-config.json create mode 100644 src/configurations/sources/singer_freshdesk/metadata.json create mode 100644 src/configurations/sources/singer_freshdesk/schema.json create mode 100644 src/configurations/sources/singer_freshdesk/ui-config.json create mode 100644 src/configurations/sources/singer_google_ads/db-config.json create mode 100644 src/configurations/sources/singer_google_ads/metadata.json create mode 100644 src/configurations/sources/singer_google_ads/schema.json create mode 100644 src/configurations/sources/singer_google_ads/ui-config.json create mode 100644 src/configurations/sources/singer_google_analytics/db-config.json create mode 100644 src/configurations/sources/singer_google_analytics/metadata.json create mode 100644 src/configurations/sources/singer_google_analytics/schema.json create mode 100644 src/configurations/sources/singer_google_analytics/ui-config.json create mode 100644 src/configurations/sources/singer_google_analytics_v4/db-config.json create mode 100644 src/configurations/sources/singer_google_analytics_v4/metadata.json create mode 100644 src/configurations/sources/singer_google_analytics_v4/schema.json create mode 100644 src/configurations/sources/singer_google_analytics_v4/ui-config.json rename data/sources/singer_google_search_console/db_config.json => src/configurations/sources/singer_google_search_console/db-config.json (100%) create mode 100644 src/configurations/sources/singer_google_search_console/metadata.json create mode 100644 src/configurations/sources/singer_google_search_console/schema.json create mode 100644 src/configurations/sources/singer_google_search_console/ui-config.json create mode 100644 src/configurations/sources/singer_google_sheets/db-config.json create mode 100644 src/configurations/sources/singer_google_sheets/metadata.json create mode 100644 src/configurations/sources/singer_google_sheets/schema.json create mode 100644 src/configurations/sources/singer_google_sheets/ui-config.json create mode 100644 src/configurations/sources/singer_hubspot/db-config.json create mode 100644 src/configurations/sources/singer_hubspot/metadata.json create mode 100644 src/configurations/sources/singer_hubspot/schema.json create mode 100644 src/configurations/sources/singer_hubspot/ui-config.json rename data/sources/singer_intercom/db_config.json => src/configurations/sources/singer_intercom/db-config.json (100%) create mode 100644 src/configurations/sources/singer_intercom/metadata.json create mode 100644 src/configurations/sources/singer_intercom/schema.json create mode 100644 src/configurations/sources/singer_intercom/ui-config.json rename data/sources/singer_iterable/db_config.json => src/configurations/sources/singer_iterable/db-config.json (100%) create mode 100644 src/configurations/sources/singer_iterable/metadata.json create mode 100644 src/configurations/sources/singer_iterable/schema.json create mode 100644 src/configurations/sources/singer_iterable/ui-config.json create mode 100644 src/configurations/sources/singer_klaviyo/db-config.json create mode 100644 src/configurations/sources/singer_klaviyo/metadata.json create mode 100644 src/configurations/sources/singer_klaviyo/schema.json create mode 100644 src/configurations/sources/singer_klaviyo/ui-config.json create mode 100644 src/configurations/sources/singer_mailchimp/db-config.json create mode 100644 src/configurations/sources/singer_mailchimp/metadata.json create mode 100644 src/configurations/sources/singer_mailchimp/schema.json create mode 100644 src/configurations/sources/singer_mailchimp/ui-config.json create mode 100644 src/configurations/sources/singer_mixpanel/db-config.json create mode 100644 src/configurations/sources/singer_mixpanel/metadata.json create mode 100644 src/configurations/sources/singer_mixpanel/schema.json create mode 100644 src/configurations/sources/singer_mixpanel/ui-config.json create mode 100644 src/configurations/sources/singer_pardot/db-config.json create mode 100644 src/configurations/sources/singer_pardot/metadata.json create mode 100644 src/configurations/sources/singer_pardot/schema.json create mode 100644 src/configurations/sources/singer_pardot/ui-config.json create mode 100644 src/configurations/sources/singer_pipedrive/db-config.json create mode 100644 src/configurations/sources/singer_pipedrive/metadata.json create mode 100644 src/configurations/sources/singer_pipedrive/schema.json create mode 100644 src/configurations/sources/singer_pipedrive/ui-config.json create mode 100644 src/configurations/sources/singer_quickbooks/db-config.json create mode 100644 src/configurations/sources/singer_quickbooks/metadata.json create mode 100644 src/configurations/sources/singer_quickbooks/schema.json create mode 100644 src/configurations/sources/singer_quickbooks/ui-config.json rename data/sources/singer_salesforce/db_config.json => src/configurations/sources/singer_salesforce/db-config.json (100%) create mode 100644 src/configurations/sources/singer_salesforce/metadata.json create mode 100644 src/configurations/sources/singer_salesforce/schema.json create mode 100644 src/configurations/sources/singer_salesforce/ui-config.json rename data/sources/singer_sendgrid/db_config.json => src/configurations/sources/singer_sendgrid/db-config.json (100%) create mode 100644 src/configurations/sources/singer_sendgrid/metadata.json create mode 100644 src/configurations/sources/singer_sendgrid/schema.json create mode 100644 src/configurations/sources/singer_sendgrid/ui-config.json create mode 100644 src/configurations/sources/singer_stripe/db-config.json create mode 100644 src/configurations/sources/singer_stripe/metadata.json create mode 100644 src/configurations/sources/singer_stripe/schema.json create mode 100644 src/configurations/sources/singer_stripe/ui-config.json create mode 100644 src/configurations/sources/singer_zendesk_chat/db-config.json create mode 100644 src/configurations/sources/singer_zendesk_chat/metadata.json create mode 100644 src/configurations/sources/singer_zendesk_chat/schema.json create mode 100644 src/configurations/sources/singer_zendesk_chat/ui-config.json create mode 100644 src/configurations/sources/singer_zendesk_support/db-config.json create mode 100644 src/configurations/sources/singer_zendesk_support/metadata.json create mode 100644 src/configurations/sources/singer_zendesk_support/schema.json create mode 100644 src/configurations/sources/singer_zendesk_support/ui-config.json create mode 100644 src/configurations/sources/snowflake/db-config.json create mode 100644 src/configurations/sources/snowflake/metadata.json create mode 100644 src/configurations/sources/snowflake/schema.json create mode 100644 src/configurations/sources/snowflake/ui-config.json create mode 100644 src/configurations/sources/stripe/db-config.json create mode 100644 src/configurations/sources/stripe/metadata.json create mode 100644 src/configurations/sources/stripe/schema.json create mode 100644 src/configurations/sources/stripe/ui-config.json create mode 100644 src/configurations/sources/unity/db-config.json create mode 100644 src/configurations/sources/unity/metadata.json create mode 100644 src/configurations/sources/unity/schema.json create mode 100644 src/configurations/sources/unity/ui-config.json create mode 100644 src/configurations/sources/webhook/db-config.json create mode 100644 src/configurations/sources/webhook/metadata.json create mode 100644 src/configurations/sources/webhook/schema.json create mode 100644 src/configurations/sources/webhook/ui-config.json create mode 100644 src/configurations/sources/xero/db-config.json create mode 100644 src/configurations/sources/xero/metadata.json create mode 100644 src/configurations/sources/xero/schema.json create mode 100644 src/configurations/sources/xero/ui-config.json create mode 100644 src/configurations/sources/zendesk/db-config.json create mode 100644 src/configurations/sources/zendesk/metadata.json create mode 100644 src/configurations/sources/zendesk/schema.json create mode 100644 src/configurations/sources/zendesk/ui-config.json create mode 100644 src/configurations/sources/zendesk_chat/db-config.json create mode 100644 src/configurations/sources/zendesk_chat/metadata.json create mode 100644 src/configurations/sources/zendesk_chat/schema.json create mode 100644 src/configurations/sources/zendesk_chat/ui-config.json create mode 100644 src/index.ts delete mode 100644 src/validations/__tests__/validation.test.ts delete mode 100644 src/validations/__tests__/validation_test_data/adobe_analytics_test.json delete mode 100644 src/validations/__tests__/validation_test_data/adroll_test.json delete mode 100644 src/validations/__tests__/validation_test_data/af_test.json delete mode 100644 src/validations/__tests__/validation_test_data/am_test.json delete mode 100644 src/validations/__tests__/validation_test_data/attentive_tag_test.json delete mode 100644 src/validations/__tests__/validation_test_data/axeptio_test.json delete mode 100644 src/validations/__tests__/validation_test_data/azure_datalake_test.json delete mode 100644 src/validations/__tests__/validation_test_data/azure_synapse_test.json delete mode 100644 src/validations/__tests__/validation_test_data/canny_test.json delete mode 100644 src/validations/__tests__/validation_test_data/clickhouse_test.json delete mode 100644 src/validations/__tests__/validation_test_data/clickup_test.json delete mode 100644 src/validations/__tests__/validation_test_data/convertflow_test.json delete mode 100644 src/validations/__tests__/validation_test_data/criteo_test.json delete mode 100644 src/validations/__tests__/validation_test_data/custify_test.json delete mode 100644 src/validations/__tests__/validation_test_data/customerio_test.json delete mode 100644 src/validations/__tests__/validation_test_data/dcm_floodlight_test.json delete mode 100644 src/validations/__tests__/validation_test_data/deltalake_test.json delete mode 100644 src/validations/__tests__/validation_test_data/discord_test.json delete mode 100644 src/validations/__tests__/validation_test_data/facebook_pixel_test.json delete mode 100644 src/validations/__tests__/validation_test_data/freshmarketer_test.json delete mode 100644 src/validations/__tests__/validation_test_data/freshsales_test.json delete mode 100644 src/validations/__tests__/validation_test_data/ga4_test.json delete mode 100644 src/validations/__tests__/validation_test_data/ga_test.json delete mode 100644 src/validations/__tests__/validation_test_data/gcs_test.json delete mode 100644 src/validations/__tests__/validation_test_data/google_cloud_function_test.json delete mode 100644 src/validations/__tests__/validation_test_data/googleads_test.json delete mode 100644 src/validations/__tests__/validation_test_data/gtm_test.json delete mode 100644 src/validations/__tests__/validation_test_data/iterable_test.json delete mode 100644 src/validations/__tests__/validation_test_data/lambda_test.json delete mode 100644 src/validations/__tests__/validation_test_data/marketo_static_list_test.json delete mode 100644 src/validations/__tests__/validation_test_data/matomo_test.json delete mode 100644 src/validations/__tests__/validation_test_data/mautic_test.json delete mode 100644 src/validations/__tests__/validation_test_data/microsoft_clarity_test.json delete mode 100644 src/validations/__tests__/validation_test_data/monday_test.json delete mode 100644 src/validations/__tests__/validation_test_data/mp_test.json delete mode 100644 src/validations/__tests__/validation_test_data/mssql_test.json delete mode 100644 src/validations/__tests__/validation_test_data/one_signal_test.json delete mode 100644 src/validations/__tests__/validation_test_data/persistIq_test.json delete mode 100644 src/validations/__tests__/validation_test_data/pinterest_tag_test.json delete mode 100644 src/validations/__tests__/validation_test_data/pipedream_test.json delete mode 100644 src/validations/__tests__/validation_test_data/podsights_test.json delete mode 100644 src/validations/__tests__/validation_test_data/refiner_test.json delete mode 100644 src/validations/__tests__/validation_test_data/revenue_cat_test.json delete mode 100644 src/validations/__tests__/validation_test_data/rockerbox_test.json delete mode 100644 src/validations/__tests__/validation_test_data/s3_datalake_test.json delete mode 100644 src/validations/__tests__/validation_test_data/s3_test.json delete mode 100644 src/validations/__tests__/validation_test_data/satismeter_test.json delete mode 100644 src/validations/__tests__/validation_test_data/sendinblue_test.json delete mode 100644 src/validations/__tests__/validation_test_data/sentry_test.json delete mode 100644 src/validations/__tests__/validation_test_data/shynet_test.json delete mode 100644 src/validations/__tests__/validation_test_data/singular_test.json delete mode 100644 src/validations/__tests__/validation_test_data/slack_test.json delete mode 100644 src/validations/__tests__/validation_test_data/snapchat_conversion_test.json delete mode 100644 src/validations/__tests__/validation_test_data/snapengage_test.json delete mode 100644 src/validations/__tests__/validation_test_data/vero_test.json delete mode 100644 src/validations/__tests__/validation_test_data/vwo_test.json delete mode 100644 src/validations/__tests__/validation_test_data/webengage_test.json delete mode 100644 src/validations/__tests__/validation_test_data/woopra_test.json delete mode 100644 src/validations/__tests__/validation_test_data/wootric_test.json delete mode 100644 src/validations/__tests__/validation_test_data/yahoo_dsp_test.json delete mode 100644 src/validations/__tests__/validation_test_data/yandex_metrica_test.json delete mode 100644 src/validations/validator.ts create mode 100644 src/validator/index.ts rename src/validations/__tests__/validation_test_data/active_campaign_test.json => test/data/validation/destinations/active_campaign.json (100%) create mode 100644 test/data/validation/destinations/adobe_analytics.json create mode 100644 test/data/validation/destinations/adroll.json create mode 100644 test/data/validation/destinations/af.json create mode 100644 test/data/validation/destinations/am.json create mode 100644 test/data/validation/destinations/attentive_tag.json rename src/validations/__tests__/validation_test_data/attribution_test.json => test/data/validation/destinations/attribution.json (100%) rename src/validations/__tests__/validation_test_data/awin_test.json => test/data/validation/destinations/awin.json (100%) create mode 100644 test/data/validation/destinations/axeptio.json create mode 100644 test/data/validation/destinations/azure_datalake.json create mode 100644 test/data/validation/destinations/azure_synapse.json rename src/validations/__tests__/validation_test_data/bq_test.json => test/data/validation/destinations/bq.json (100%) rename src/validations/__tests__/validation_test_data/braze_test.json => test/data/validation/destinations/braze.json (100%) create mode 100644 test/data/validation/destinations/canny.json create mode 100644 test/data/validation/destinations/clickhouse.json create mode 100644 test/data/validation/destinations/clickup.json create mode 100644 test/data/validation/destinations/convertflow.json create mode 100644 test/data/validation/destinations/criteo.json create mode 100644 test/data/validation/destinations/custify.json create mode 100644 test/data/validation/destinations/customerio.json create mode 100644 test/data/validation/destinations/dcm_floodlight.json create mode 100644 test/data/validation/destinations/deltalake.json create mode 100644 test/data/validation/destinations/discord.json create mode 100644 test/data/validation/destinations/facebook_pixel.json create mode 100644 test/data/validation/destinations/freshmarketer.json create mode 100644 test/data/validation/destinations/freshsales.json create mode 100644 test/data/validation/destinations/ga.json create mode 100644 test/data/validation/destinations/ga4.json create mode 100644 test/data/validation/destinations/gcs.json rename src/validations/__tests__/validation_test_data/gcs_datalake_test.json => test/data/validation/destinations/gcs_datalake.json (100%) rename src/validations/__tests__/validation_test_data/google_ads_offline_conversions_test.json => test/data/validation/destinations/google_ads_offline_conversions.json (100%) rename src/validations/__tests__/validation_test_data/google_adwords_offline_conversions_test.json => test/data/validation/destinations/google_adwords_offline_conversions.json (100%) create mode 100644 test/data/validation/destinations/google_cloud_function.json create mode 100644 test/data/validation/destinations/googleads.json create mode 100644 test/data/validation/destinations/gtm.json rename src/validations/__tests__/validation_test_data/hs_test.json => test/data/validation/destinations/hs.json (100%) create mode 100644 test/data/validation/destinations/iterable.json create mode 100644 test/data/validation/destinations/lambda.json rename src/validations/__tests__/validation_test_data/livechat_test.json => test/data/validation/destinations/livechat.json (100%) rename src/validations/__tests__/validation_test_data/mailjet.test.json => test/data/validation/destinations/mailjet.json (100%) rename src/validations/__tests__/validation_test_data/mailjet_test.json => test/data/validation/destinations/mailjet.test.json (100%) create mode 100644 test/data/validation/destinations/marketo_static_list.json create mode 100644 test/data/validation/destinations/matomo.json create mode 100644 test/data/validation/destinations/mautic.json create mode 100644 test/data/validation/destinations/microsoft_clarity.json create mode 100644 test/data/validation/destinations/monday.json rename src/validations/__tests__/validation_test_data/mouseflow_test.json => test/data/validation/destinations/mouseflow.json (100%) create mode 100644 test/data/validation/destinations/mp.json create mode 100644 test/data/validation/destinations/mssql.json rename src/validations/__tests__/validation_test_data/new_relic_test.json => test/data/validation/destinations/new_relic.json (100%) create mode 100644 test/data/validation/destinations/one_signal.json rename src/validations/__tests__/validation_test_data/pagerduty_test.json => test/data/validation/destinations/pagerduty.json (100%) create mode 100644 test/data/validation/destinations/persistIq.json rename src/validations/__tests__/validation_test_data/personalize_test.json => test/data/validation/destinations/personalize.json (100%) create mode 100644 test/data/validation/destinations/pinterest_tag.json create mode 100644 test/data/validation/destinations/pipedream.json create mode 100644 test/data/validation/destinations/podsights.json rename src/validations/__tests__/validation_test_data/postgres_test.json => test/data/validation/destinations/postgres.json (100%) rename src/validations/__tests__/validation_test_data/qualaroo_test.json => test/data/validation/destinations/qualaroo.json (100%) rename src/validations/__tests__/validation_test_data/quora_pixel_test.json => test/data/validation/destinations/quora_pixel.json (100%) rename src/validations/__tests__/validation_test_data/redis_test.json => test/data/validation/destinations/redis.json (100%) create mode 100644 test/data/validation/destinations/refiner.json create mode 100644 test/data/validation/destinations/revenue_cat.json create mode 100644 test/data/validation/destinations/rockerbox.json rename src/validations/__tests__/validation_test_data/rollbar_test.json => test/data/validation/destinations/rollbar.json (100%) rename src/validations/__tests__/validation_test_data/rs_test.json => test/data/validation/destinations/rs.json (100%) create mode 100644 test/data/validation/destinations/s3.json create mode 100644 test/data/validation/destinations/s3_datalake.json create mode 100644 test/data/validation/destinations/satismeter.json create mode 100644 test/data/validation/destinations/sendinblue.json create mode 100644 test/data/validation/destinations/sentry.json create mode 100644 test/data/validation/destinations/shynet.json create mode 100644 test/data/validation/destinations/singular.json create mode 100644 test/data/validation/destinations/slack.json create mode 100644 test/data/validation/destinations/snapchat_conversion.json create mode 100644 test/data/validation/destinations/snapengage.json rename src/validations/__tests__/validation_test_data/snowflake_test.json => test/data/validation/destinations/snowflake.json (100%) create mode 100644 test/data/validation/destinations/vero.json create mode 100644 test/data/validation/destinations/vwo.json create mode 100644 test/data/validation/destinations/webengage.json rename src/validations/__tests__/validation_test_data/webhook_test.json => test/data/validation/destinations/webhook.json (100%) create mode 100644 test/data/validation/destinations/woopra.json create mode 100644 test/data/validation/destinations/wootric.json create mode 100644 test/data/validation/destinations/yahoo_dsp.json create mode 100644 test/data/validation/destinations/yandex_metrica.json rename src/validations/__tests__/validation_test_data/zapier_test.json => test/data/validation/destinations/zapier.json (100%) rename src/validations/__tests__/validation_test_data/zendesk_test.json => test/data/validation/destinations/zendesk.json (100%) create mode 100644 test/validation.test.ts delete mode 100644 tsconfig.paths.json diff --git a/.babelrc b/.babelrc new file mode 100644 index 000000000..556bf555f --- /dev/null +++ b/.babelrc @@ -0,0 +1,33 @@ +{ + "presets": [ + [ + "@babel/env", + { + "corejs": "3.6", + "useBuiltIns": "entry" + } + ] + ], + "plugins": [ + [ + "@babel/plugin-proposal-class-properties", + { + "loose": true + } + ], + [ + "@babel/plugin-proposal-private-property-in-object", + { + "loose": true + } + ], + [ + "@babel/plugin-proposal-private-methods", + { + "loose": true + } + ], + ["@babel/plugin-transform-arrow-functions"], + ["@babel/plugin-transform-object-assign"] + ] +} diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 000000000..5f8e362b4 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,6 @@ +.husky/ +dist/ +node_modules/ +reports/ +*.md +*.d.ts diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 000000000..ab9cc70e5 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,43 @@ +{ + "env": { + "node": true, + "es2021": true, + "jest": true + }, + "extends": [ + "airbnb-base", + "prettier", + "plugin:json/recommended", + "plugin:@typescript-eslint/recommended" + ], + "plugins": ["@typescript-eslint", "unicorn"], + "parser": "@typescript-eslint/parser", + "globals": {}, + "parserOptions": { + "ecmaVersion": 12, + "sourceType": "module" + }, + "rules": { + "import/prefer-default-export": "off", + "unicorn/filename-case": [ + "error", + { "cases": { "camelCase": true, "pascalCase": true, "kebabCase": true } } + ], + "unicorn/no-instanceof-array": "error", + "unicorn/no-static-only-class": "error", + "unicorn/consistent-destructuring": "error", + "unicorn/better-regex": "error", + "unicorn/no-for-loop": "error", + "unicorn/prefer-array-some": "error", + "unicorn/explicit-length-check": "error", + "unicorn/prefer-array-find": "error", + "unicorn/no-lonely-if": "error", + "unicorn/prefer-includes": "error", + "unicorn/prefer-array-flat-map": "error", + "unicorn/no-useless-spread": "error", + "unicorn/no-useless-length-check": "error", + "unicorn/prefer-export-from": "error", + "import/no-unresolved": "off", + "import/extensions": "off" + } +} diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 000000000..a484c8097 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,26 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '[ISSUE]' +labels: bug +assignees: '' +--- + +**Describe the issue** +Enter a clear and concise description of what the bug/issue is. + +**To Reproduce** +Mention the steps to reproduce the behavior that causes the bug/issue: + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Required information (please complete the following information):** + +- Package version: [e.g., v0.1.1] + +**Additional context** +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/feature-request.md b/.github/ISSUE_TEMPLATE/feature-request.md new file mode 100644 index 000000000..250e51b38 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature-request.md @@ -0,0 +1,19 @@ +--- +name: Feature Request +about: Suggest an idea for this project +title: '[ENHANCEMENT]' +labels: enhancement +assignees: '' +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 000000000..f5c84544e --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,20 @@ +## Description of the change + +< Description > + +## Checklists + +### Development + +- [ ] My code follows the style guidelines of this project +- [ ] I have performed a self-review of my own code +- [ ] I have commented my code, particularly in hard-to-understand areas +- [ ] I have made corresponding changes to the documentation +- [ ] The code changed/added as part of this pull request has been covered with tests +- [ ] All tests related to the changed code pass in development + +### Code review + +- [ ] This pull request has a descriptive title and information useful to a reviewer. There may be a screenshot or screencast attached +- [ ] Changes have been reviewed by at least one other engineer +- [ ] Issue from task tracker has a link to this pull request diff --git a/.github/workflows/check-pr-title.yaml b/.github/workflows/check-pr-title.yaml new file mode 100644 index 000000000..2651d9efa --- /dev/null +++ b/.github/workflows/check-pr-title.yaml @@ -0,0 +1,16 @@ +name: Check PR Title + +on: + pull_request: + types: ['opened', 'reopened', 'edited', 'synchronize'] + +jobs: + check_pr_title: + name: Check PR Title + runs-on: ubuntu-latest + steps: + - name: Checkout Source Branch + uses: actions/checkout@v3 + + - name: Check PR Title + uses: rudderlabs/github-action-check-pr-title@v1.0.7 diff --git a/.github/workflows/create-hotfix-branch.yaml b/.github/workflows/create-hotfix-branch.yaml new file mode 100644 index 000000000..6edbfc011 --- /dev/null +++ b/.github/workflows/create-hotfix-branch.yaml @@ -0,0 +1,50 @@ +name: Create New Hotfix Branch + +on: + workflow_dispatch: + +jobs: + create-branch: + name: Create New Branch + runs-on: ubuntu-latest + + if: github.ref == 'refs/heads/main' + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version-file: '.nvmrc' + cache: 'npm' + + # In order to make a commit, we need to initialize a user. + # You may choose to write something less generic here if you want, it doesn't matter functionality wise. + - name: Initialize Mandatory Git Config + run: | + git config user.name "GitHub Actions" + git config user.email noreply@github.com + - name: Create hotfix Branch + id: create-hotfix-branch + env: + HUSKY: 0 + run: | + source_branch_name=${GITHUB_REF##*/} + git fetch origin main --depth=1 + git merge origin/main + current_version=$(jq -r .version package.json) + + npm version patch --no-git-tag-version + new_version=$(jq -r .version package.json) + git reset --hard + + branch_name="hotfix/${new_version}" + + echo "New hotfix branch name is $branch_name" + git checkout -b "$branch_name" + git push --set-upstream origin "$branch_name" + echo "::set-output name=source_branch_name::$source_branch_name" + echo "::set-output name=branch_name::$branch_name" diff --git a/.github/workflows/deploy-to-dev.yaml b/.github/workflows/deploy-to-dev.yaml new file mode 100644 index 000000000..e08b45015 --- /dev/null +++ b/.github/workflows/deploy-to-dev.yaml @@ -0,0 +1,68 @@ +name: Deploy Configurations To Development DB + +on: + workflow_dispatch: + pull_request: + types: + - closed + branches: + - develop + +jobs: + deploy: + runs-on: ubuntu-latest + + # Either triggered from develop branch or merged pull requests + if: github.event.pull_request.merged == true || github.ref == 'refs/heads/develop' + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version-file: '.nvmrc' + cache: 'npm' + + - name: Install Dependencies + env: + HUSKY: 0 + run: | + npm ci + + - name: Execute Unit Tests + env: + HUSKY: 0 + run: | + npm run test + + - name: Install Python + uses: actions/setup-python@v4 + with: + python-version: '3.9.13' + + - name: Display Python Version + run: | + which python + python -c "import sys; print(sys.version)" + + - name: Install Python Dependencies + run: python -m pip install --upgrade pip requests jsondiff + + - name: Display Working Directory Files + run: | + echo current directory + pwd + ls -a + + - name: Display Current Package Version + run: echo $(jq -r .version package.json) + + - name: Deploy To Development DB + env: + API_USER: ${{secrets.DEV_USERNAME}} + API_PASSWORD: ${{secrets.DEV_PASSWORD}} + run: | + python scripts/deployToDB.py https://api.dev.rudderlabs.com diff --git a/.github/workflows/deploy-to-prod.yaml b/.github/workflows/deploy-to-prod.yaml new file mode 100644 index 000000000..97f256a8a --- /dev/null +++ b/.github/workflows/deploy-to-prod.yaml @@ -0,0 +1,69 @@ +name: Deploy Configurations To Production DB + +on: + workflow_dispatch: + pull_request: + types: + - closed + branches: + - main + +jobs: + deploy: + runs-on: ubuntu-latest + + # Either trigger from main or merged pull requests + if: ((startsWith(github.event.pull_request.head.ref, 'release/') || startsWith(github.event.pull_request.head.ref, 'hotfix-release/')) && github.event.pull_request.merged == true) || github.ref == 'refs/heads/main' + + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version-file: '.nvmrc' + cache: 'npm' + + - name: Install Dependencies + env: + HUSKY: 0 + run: | + npm ci + + - name: Execute Unit Tests + env: + HUSKY: 0 + run: | + npm run test + + - name: Install Python + uses: actions/setup-python@v4 + with: + python-version: '3.9.13' + + - name: Display Python Version + run: | + which python + python -c "import sys; print(sys.version)" + + - name: Install Python Dependencies + run: python -m pip install --upgrade pip requests jsondiff + + - name: Display Working Directory Files + run: | + echo current directory + pwd + ls -a + + - name: Display Current Package Version + run: echo $(jq -r .version package.json) + + - name: Deploy To Production DB + env: + API_USER: ${{secrets.PROD_USERNAME}} + API_PASSWORD: ${{secrets.PROD_PASSWORD}} + run: | + python scripts/deployToDB.py https://api.rudderstack.com diff --git a/.github/workflows/deploy-to-sources-dev.yaml b/.github/workflows/deploy-to-sources-dev.yaml new file mode 100644 index 000000000..e9f3a804d --- /dev/null +++ b/.github/workflows/deploy-to-sources-dev.yaml @@ -0,0 +1,68 @@ +name: Deploy Configurations To Sources Development DB + +on: + workflow_dispatch: + pull_request: + types: + - closed + branches: + - develop + +jobs: + deploy: + runs-on: ubuntu-latest + + # Either triggered from develop branch or merged pull requests + if: github.event.pull_request.merged == true || github.ref == 'refs/heads/develop' + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version-file: '.nvmrc' + cache: 'npm' + + - name: Install Dependencies + env: + HUSKY: 0 + run: | + npm ci + + - name: Execute Unit Tests + env: + HUSKY: 0 + run: | + npm run test + + - name: Install Python + uses: actions/setup-python@v4 + with: + python-version: '3.9.13' + + - name: Display Python Version + run: | + which python + python -c "import sys; print(sys.version)" + + - name: Install Python Dependencies + run: python -m pip install --upgrade pip requests jsondiff + + - name: Display Working Directory Files + run: | + echo current directory + pwd + ls -a + + - name: Display Current Package Version + run: echo $(jq -r .version package.json) + + - name: Deploy To Sources Development DB + env: + API_USER: ${{secrets.DEV_USERNAME}} + API_PASSWORD: ${{secrets.DEV_PASSWORD}} + run: | + python scripts/deployToDB.py https://sources-api.dev.rudderlabs.com diff --git a/.github/workflows/deploy-to-staging.yaml b/.github/workflows/deploy-to-staging.yaml new file mode 100644 index 000000000..d8825ed90 --- /dev/null +++ b/.github/workflows/deploy-to-staging.yaml @@ -0,0 +1,68 @@ +name: Deploy Configurations To Staging DB + +on: + workflow_dispatch: + pull_request: + types: + - opened + branches: + - main + +jobs: + deploy: + runs-on: ubuntu-latest + + # Either from release candidate branches or pull requests must trigger + if: (startsWith(github.ref, 'refs/heads/hotfix-release/') || startsWith(github.ref, 'refs/heads/release/') || startsWith(github.ref, 'refs/heads/main/')) || (startsWith(github.event.pull_request.head.ref, 'release/') || startsWith(github.event.pull_request.head.ref, 'hotfix-release/')) + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version-file: '.nvmrc' + cache: 'npm' + + - name: Install Dependencies + env: + HUSKY: 0 + run: | + npm ci + + - name: Execute Unit Tests + env: + HUSKY: 0 + run: | + npm run test + + - name: Install Python + uses: actions/setup-python@v4 + with: + python-version: '3.9.13' + + - name: Display Python Version + run: | + which python + python -c "import sys; print(sys.version)" + + - name: Install Python Dependencies + run: python -m pip install --upgrade pip requests jsondiff + + - name: Display Working Directory Files + run: | + echo current directory + pwd + ls -a + + - name: Display Current Package Version + run: echo $(jq -r .version package.json) + + - name: Deploy To Staging DB + env: + API_USER: ${{secrets.DEV_USERNAME}} + API_PASSWORD: ${{secrets.DEV_PASSWORD}} + run: | + python scripts/deployToDB.py https://api.staging.rudderlabs.com diff --git a/.github/workflows/dev-deploy.yaml b/.github/workflows/dev-deploy.yaml deleted file mode 100644 index 1a3d994e3..000000000 --- a/.github/workflows/dev-deploy.yaml +++ /dev/null @@ -1,47 +0,0 @@ -name: Deploy config to DB - -on: - push: - branches: - - develop - -jobs: - deploy: - runs-on: ubuntu-latest - steps: - - name: Checkout current develop - uses: actions/checkout@v3 - with: - ref: develop - - name: Set Node 16 - uses: actions/setup-node@v3 - with: - node-version: 16 - - name: Install dependencies - run: npm install - - name: Run tests - run: npm run test - - name: Install python - uses: actions/setup-python@v4 - with: - python-version: '3.9.13' - - name: Setup Python - run: python -m pip install --upgrade pip requests jsondiff - - name: Display Python version - run: python -c "import sys; print(sys.version)" - - name: Display current location files - run: | - echo current directory - ls -a - pwd - which python - - name: Display current Version of Config-Schema - run: echo $(head -1 .version) - - name: Execute script - env: - API_USER: ${{secrets.DEV_USERNAME}} - API_PASSWORD: ${{secrets.DEV_PASSWORD}} - run: | - python scripts/action.py https://api.dev.rudderlabs.com - python scripts/action.py https://api.staging.rudderlabs.com - python scripts/action.py https://sources-api.dev.rudderlabs.com diff --git a/.github/workflows/draft-new-release.yaml b/.github/workflows/draft-new-release.yaml new file mode 100644 index 000000000..be035cdf7 --- /dev/null +++ b/.github/workflows/draft-new-release.yaml @@ -0,0 +1,95 @@ +name: Draft New Release + +on: workflow_dispatch + +jobs: + draft-new-release: + name: Draft New Release + runs-on: ubuntu-latest + + if: github.ref == 'refs/heads/develop' || startsWith(github.ref, 'refs/heads/hotfix/') + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version-file: '.nvmrc' + cache: 'npm' + + - name: Install Dependencies + env: + HUSKY: 0 + run: | + npm ci + + # In order to make a commit, we need to initialize a user. + # You may choose to write something less generic here if you want, it doesn't matter functionality wise. + - name: Initialize Mandatory Git Config + run: | + git config user.name "GitHub Actions" + git config user.email noreply@github.com + + # Calculate the next release version based on conventional semantic release + - name: Create Release Branch + id: create-release + env: + HUSKY: 0 + run: | + source_branch_name=${GITHUB_REF##*/} + release_type=release + grep -q "hotfix/" <<< "${GITHUB_REF}" && release_type=hotfix-release + git fetch origin main --depth=1 + git merge origin/main + current_version=$(jq -r .version package.json) + + npm run release -- --skip.commit --skip.tag --skip.changelog + new_version=$(jq -r .version package.json) + git reset --hard + + branch_name="${release_type}/${new_version}" + + echo "Source branch for new release is $source_branch_name" + echo "Current version is $current_version" + echo "Release type is $release_type" + echo "New version is $new_version" + echo "New release branch name is $branch_name" + git checkout -b "$branch_name" + git push --set-upstream origin "$branch_name" + + echo "source_branch_name=$source_branch_name" >> $GITHUB_OUTPUT + echo "branch_name=$branch_name" >> $GITHUB_OUTPUT + echo "new_version=$new_version" >> $GITHUB_OUTPUT + echo "CURRENT_VERSION_VALUE=$current_version" >> $GITHUB_ENV + echo "NEW_VERSION_VALUE=$new_version" >> $GITHUB_ENV + + - name: Update Changelog & Bump Version + id: finish-release + env: + HUSKY: 0 + run: | + echo "Current version: $CURRENT_VERSION_VALUE" + echo "New version: $NEW_VERSION_VALUE" + npm run release -- -a --skip.tag + git push + + - name: Create Pull Request + uses: repo-sync/pull-request@v2 + with: + source_branch: ${{ steps.create-release.outputs.branch_name }} + destination_branch: 'main' + github_token: ${{ secrets.PAT }} + pr_title: 'chore(release): pull ${{ steps.create-release.outputs.branch_name }} into main' + pr_body: ':crown: *An automated PR*' + + - name: Delete Hotfix Base Branch + uses: dawidd6/action-delete-branch@v3 + if: startsWith(github.ref, 'refs/heads/hotfix/') + with: + branches: '${{ steps.create-release.outputs.new_version }}' + prefix: 'hotfix/' + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/housekeep.yaml b/.github/workflows/housekeep.yaml new file mode 100644 index 000000000..247f5b666 --- /dev/null +++ b/.github/workflows/housekeep.yaml @@ -0,0 +1,44 @@ +name: Handle Stale Items + +on: + schedule: + # Run everyday at 1 AM + - cron: '0 1 * * *' + +jobs: + prs: + name: Clean Up Stale PRs + runs-on: ubuntu-latest + + permissions: + pull-requests: write + + steps: + - name: Clean Up Stale PRs + uses: actions/stale@v7 + with: + repo-token: ${{ github.token }} + operations-per-run: 200 + stale-pr-message: 'This PR is considered to be stale. It has been open 20 days with no further activity thus it is going to be closed in 7 days. To avoid such a case please consider removing the stale label manually or add a comment to the PR.' + close-pr-message: 'This PR is stale. Hence, closing it.' + days-before-pr-stale: 20 + days-before-pr-close: 7 + stale-pr-label: 'Stale' + + branches: + name: Clean Up Stale Branches + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Delete Stale Branches + uses: beatlabs/delete-old-branches-action@v0.0.9 + with: + repo_token: ${{ github.token }} + date: '6 months ago' + dry_run: false + delete_tags: false + extra_protected_branch_regex: ^(develop|main|release.*|hotfix/.*|hotfix-release/.*)$ + exclude_open_pr_branches: true diff --git a/.github/workflows/prod-deploy.yaml b/.github/workflows/prod-deploy.yaml deleted file mode 100644 index 6fc8c764d..000000000 --- a/.github/workflows/prod-deploy.yaml +++ /dev/null @@ -1,37 +0,0 @@ -name: Deploy config to DB - -on: - push: - branches: - - master - -jobs: - deploy: - runs-on: ubuntu-latest - steps: - - name: Checkout current master - uses: actions/checkout@v3 - - name: Set Node 16 - uses: actions/setup-node@v3 - with: - node-version: 16 - - name: Install dependencies - run: npm install - - name: Run Tests - run: npm run test - - name: Install python - uses: actions/setup-python@v4 - with: - python-version: '3.x' - - name: Setup Python - run: python -m pip install --upgrade pip requests jsondiff - - name: Display Python version - run: python -c "import sys; print(sys.version)" - - name: Display current Version of Config-Schema - run: echo $(head -1 .version) - - name: Execute script - env: - API_USER: ${{secrets.PROD_USERNAME}} - API_PASSWORD: ${{secrets.PROD_PASSWORD}} - run: | - python scripts/action.py https://api.rudderstack.com diff --git a/.github/workflows/publish-new-release.yaml b/.github/workflows/publish-new-release.yaml new file mode 100644 index 000000000..a19b5cc8a --- /dev/null +++ b/.github/workflows/publish-new-release.yaml @@ -0,0 +1,86 @@ +name: Publish New Release + +on: + pull_request: + types: + - closed + branches: + - main + +jobs: + release: + name: Publish New Release + runs-on: ubuntu-latest + + if: (startsWith(github.event.pull_request.head.ref, 'release/') || startsWith(github.event.pull_request.head.ref, 'hotfix-release/')) && github.event.pull_request.merged == true # only merged pull requests must trigger this job + + steps: + - name: Extract Version + id: extract-version + run: | + BRANCH_NAME="${{ github.event.pull_request.head.ref }}" + VERSION=${BRANCH_NAME#hotfix-} + VERSION=${VERSION#release/} + + echo "release_version=$VERSION" >> $GITHUB_OUTPUT + + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version-file: '.nvmrc' + cache: 'npm' + + - name: Install Dependencies + env: + HUSKY: 0 + run: | + npm ci + + # In order to make a commit, we need to initialize a user. + # You may choose to write something less generic here if you want, it doesn't matter functionality wise. + - name: Initialize Mandatory Git Config + run: | + git config user.name "GitHub Actions" + git config user.email noreply@github.com + + - name: Tag & Create GitHub Release + id: create_release + env: + HUSKY: 0 + GITHUB_TOKEN: ${{ secrets.PAT }} + CONVENTIONAL_GITHUB_RELEASER_TOKEN: ${{ secrets.PAT }} + run: | + git tag -a ${{ steps.extract-version.outputs.release_version }} -m "chore: release v${{ steps.extract-version.outputs.release_version }}" + git push origin refs/tags/${{ steps.extract-version.outputs.release_version }} + npm run release:github + echo "DATE=$(date)" >> $GITHUB_ENV + + - name: Pull Changes Into develop Branch + uses: repo-sync/pull-request@v2 + with: + source_branch: 'main' + destination_branch: 'develop' + github_token: ${{ secrets.PAT }} + pr_title: 'chore(release): pull main into develop post release v${{ steps.extract-version.outputs.release_version }}' + pr_body: ':crown: *An automated PR*' + + - name: Delete Hotfix Release Branch + uses: koj-co/delete-merged-action@master + if: startsWith(github.event.pull_request.head.ref, 'hotfix-release/') + with: + branches: 'hotfix-release/*' + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Delete Release Branch + uses: koj-co/delete-merged-action@master + if: startsWith(github.event.pull_request.head.ref, 'release/') + with: + branches: 'release/*' + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/report-code-coverage.yaml b/.github/workflows/report-code-coverage.yaml new file mode 100644 index 000000000..a58a2d238 --- /dev/null +++ b/.github/workflows/report-code-coverage.yaml @@ -0,0 +1,20 @@ +# https://github.com/marketplace/actions/jest-coverage-report +name: 'Code Coverage' +on: + pull_request: + branches: + - '*' + +jobs: + coverage: + name: Code Coverage + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Coverage Report + uses: ArtiomTr/jest-coverage-report-action@v2 diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml new file mode 100644 index 000000000..31608000c --- /dev/null +++ b/.github/workflows/test.yaml @@ -0,0 +1,37 @@ +name: Unit Tests + +on: + workflow_dispatch: + pull_request: + types: ['opened', 'reopened', 'synchronize'] + push: + branches: ['main', 'develop'] + +jobs: + test: + name: Unit Tests + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version-file: '.nvmrc' + cache: 'npm' + + - name: Install Dependencies + env: + HUSKY: 0 + run: | + npm ci + + - name: Execute Unit Tests + env: + HUSKY: 0 + run: | + npm run test diff --git a/.gitignore b/.gitignore index 5f13d9b06..82cbe9ecc 100644 --- a/.gitignore +++ b/.gitignore @@ -26,3 +26,6 @@ heapdump-* # Ignore git files git + +reports +.eslintcache diff --git a/.husky/commit-msg b/.husky/commit-msg new file mode 100755 index 000000000..9db017095 --- /dev/null +++ b/.husky/commit-msg @@ -0,0 +1,4 @@ +#!/usr/bin/env sh +. "$(dirname -- "$0")/_/husky.sh" + +npm run commit-msg diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100755 index 000000000..d4a43dd13 --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,4 @@ +#!/usr/bin/env sh +. "$(dirname -- "$0")/_/husky.sh" + +npm run pre-commit diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 000000000..b8c9fdcbe --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +16.15.1 \ No newline at end of file diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 000000000..3ff90506c --- /dev/null +++ b/.prettierignore @@ -0,0 +1,5 @@ +node_modules/ +reports/ +CHANGELOG.md +CONTRIBUTING.md +LICENSE diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 000000000..09dcf1c1e --- /dev/null +++ b/.prettierrc @@ -0,0 +1,7 @@ +{ + "trailingComma": "all", + "tabWidth": 2, + "semi": true, + "singleQuote": true, + "printWidth": 100 +} diff --git a/.version b/.version deleted file mode 100644 index 18efdb9ae..000000000 --- a/.version +++ /dev/null @@ -1 +0,0 @@ -1.1.8 diff --git a/.versionrc b/.versionrc new file mode 100644 index 000000000..e24769222 --- /dev/null +++ b/.versionrc @@ -0,0 +1,12 @@ +{ + "bumpFiles": [ + { + "filename": "package.json", + "type": "json" + }, + { + "filename": "package-lock.json", + "type": "json" + } + ] +} diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 000000000..87ac3b99a --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,29 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "Run Validations Test", + "type": "node", + "request": "launch", + "args": ["--destinations=${input:destinations}", "--sources=${input:sources}"], + "program": "${workspaceFolder}/test/validation.test.ts" + } + ], + "inputs": [ + { + "id": "destinations", + "type": "promptString", + "description": "Enter destinations separated by comma", + "default": "all" + }, + { + "id": "sources", + "type": "promptString", + "description": "Enter sources separated by comma", + "default": "all" + } + ] +} diff --git a/CODEOWNERS b/CODEOWNERS new file mode 100644 index 000000000..c265a5560 --- /dev/null +++ b/CODEOWNERS @@ -0,0 +1 @@ +* @ItsSudip @shrouti1507 @sandeepdsvs @krishna2020 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..6c6fff30e --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,36 @@ +# Contributing to RudderStack + +Thanks for taking the time and for your help in improving this project! + +## Table of contents + +- [**RudderStack Contributor Agreement**](#rudderstack-contributor-agreement) +- [**How you can contribute to RudderStack**](#how-you-can-contribute-to-rudderstack) +- [**Committing**](#committing) +- [**Getting help**](#getting-help) + +## RudderStack Contributor Agreement + +To contribute to this project, we need you to sign the [**Contributor License Agreement (“CLA”)**][CLA] for the first commit you make. By agreeing to the [**CLA**][CLA], we can add you to list of approved contributors and review the changes proposed by you. + +## How you can contribute to RudderStack + +If you come across any issues or bugs, or have any suggestions for improvement, you can navigate to the specific file in the [**repo**](https://github.com/rudderlabs/rudder-config-schema), make the change, and raise a PR. + +You can also contribute to any open-source RudderStack project. View our [**GitHub page**](https://github.com/rudderlabs) to see all the different projects. + +## Committing + +We prefer squash or rebase commits so that all changes from a branch are committed to master as a single commit. All pull requests are squashed when merged, but rebasing prior to merge gives you better control over the commit message. + +## Getting help + +For any questions, concerns, or queries, you can start by asking a question in our [**Slack**](https://rudderstack.com/join-rudderstack-slack-community/) community. + +### We look forward to your feedback on improving this project! + + + + +[issue]: https://github.com/rudderlabs/rudder-config-schema/issues/new +[CLA]: https://rudderlabs.wufoo.com/forms/rudderlabs-contributor-license-agreement diff --git a/LICENSE b/LICENSE new file mode 100644 index 000000000..6792ccbfc --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 RudderStack + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index c7174441e..829c2ad3f 100644 --- a/README.md +++ b/README.md @@ -1 +1,43 @@ -# rudder-config-schema \ No newline at end of file +

+ + + +

+ +

The Customer Data Platform for Developers

+ +

+ + Website + · + Documentation + · + Community Slack + +

+ +--- + +# \*\*rudder-config-schema\*\* + +\*\*Repo description\*\* + +## Overview + +\*\*Describe what the software does.\*\* + +## Features + +\*\*Describe the key features, if necessary.\*\* + +## Getting started + +\*\*Describe how to use the software.\*\* + +## Contribute + +We would love to see you contribute to RudderStack. Get more information on how to contribute [**here**](CONTRIBUTING.md). + +## License + +The RudderStack \*\*software name\*\* is released under the [**MIT License**](https://opensource.org/licenses/MIT). diff --git a/commitlint.config.js b/commitlint.config.js new file mode 100644 index 000000000..84dcb122a --- /dev/null +++ b/commitlint.config.js @@ -0,0 +1,3 @@ +module.exports = { + extends: ['@commitlint/config-conventional'], +}; diff --git a/data/destinations/active_campaign/db_config.json b/data/destinations/active_campaign/db_config.json deleted file mode 100644 index 82013fa06..000000000 --- a/data/destinations/active_campaign/db_config.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "ACTIVE_CAMPAIGN", - "displayName": "ActiveCampaign", - "config": { - "transformAt": "router", - "transformAtV1": "router", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "identify", - "page", - "screen", - "track" - ], - "destConfig": { - "defaultConfig": [ - "apiUrl", - "apiKey", - "eventKey", - "actid" - ] - }, - "secretKeys": [ - "apiKey", - "eventKey", - "actid" - ] - } -} \ No newline at end of file diff --git a/data/destinations/active_campaign/metadata.json b/data/destinations/active_campaign/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/active_campaign/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/active_campaign/schema.json b/data/destinations/active_campaign/schema.json deleted file mode 100644 index f7c4ca5b4..000000000 --- a/data/destinations/active_campaign/schema.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "apiUrl", - "apiKey" - ], - "properties": { - "apiUrl": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$" - }, - "apiKey": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*" - }, - "actid": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "eventKey": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/adj/db_config.json b/data/destinations/adj/db_config.json deleted file mode 100644 index 2805d3812..000000000 --- a/data/destinations/adj/db_config.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "name": "ADJ", - "displayName": "Adjust", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "appToken", - "customMappings", - "delay", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "unity", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "track" - ], - "destConfig": { - "defaultConfig": [ - "appToken", - "customMappings", - "delay", - "environment", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption", - "partnerParamsKeys" - ], - "android": [ - "useNativeSDK" - ], - "ios": [ - "useNativeSDK" - ], - "flutter": [ - "useNativeSDK" - ], - "unity": [ - "useNativeSDK" - ] - }, - "secretKeys": [] - } -} \ No newline at end of file diff --git a/data/destinations/adj/metadata.json b/data/destinations/adj/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/adj/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/adj/schema.json b/data/destinations/adj/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/adj/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/adj/ui_config.json b/data/destinations/adj/ui_config.json deleted file mode 100644 index 6067d9a64..000000000 --- a/data/destinations/adj/ui_config.json +++ /dev/null @@ -1,135 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "APP Token", - "value": "appToken", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid App Token", - "required": true, - "placeholder": "e.g: bSjsdGYsOo9sasdjw23Shj" - }, - { - "type": "checkbox", - "label": "Send to Production Environment on Adjust", - "value": "environment", - "default": false - } - ] - }, - { - "title": "Native SDK", - "fields": [ - { - "type": "checkbox", - "label": "Use device-mode to send events", - "value": "useNativeSDK", - "default": false - } - ] - }, - { - "title": "Client-side Events Filtering", - "sectionNote": "Applicable only for device-mode integrations. If enabled, it works only with either allowlisted or denylisted events", - "fields": [ - { - "type": "singleSelect", - "value": "eventFilteringOption", - "required": false, - "options": [ - { - "name": "Disable", - "value": "disable" - }, - { - "name": "Allowlist", - "value": "whitelistedEvents" - }, - { - "name": "Denylist", - "value": "blacklistedEvents" - } - ], - "defaultOption": { - "name": "Disable", - "value": "disable" - } - }, - { - "type": "dynamicCustomForm", - "value": "whitelistedEvents", - "label": "Allowlist", - "customFields": [ - { - "type": "textInput", - "value": "eventName", - "required": false, - "placeholder": "e.g: Anonymous Page Visit" - } - ] - }, - { - "type": "dynamicCustomForm", - "value": "blacklistedEvents", - "label": "Denylist", - "customFields": [ - { - "type": "textInput", - "value": "eventName", - "required": false, - "placeholder": "e.g: Credit Card Added" - } - ] - } - ] - }, - { - "title": "Map Events to Adjust Event Tokens", - "fields": [ - { - "type": "dynamicForm", - "labelLeft": "Event Name", - "labelRight": "Event Token", - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g: product_purchased", - "placeholderRight": "e.g: xcdrf5", - "value": "customMappings" - } - ] - }, - { - "title": "Rudderstack Parameters to Partner Parameters", - "fields": [ - { - "type": "dynamicForm", - "labelLeft": "Rudderstack Properties", - "labelRight": "Adjust Partner Parameters", - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g: revenue", - "placeholderRight": "e.g: value", - "value": "partnerParamsKeys", - "footerNote": "RudderStack will take the values for these properties from the track call and map them to the corresponding Adjust Partner Parameter keys." - } - ] - }, - { - "title": "Delay Time before SDK initialization", - "fields": [ - { - "type": "textInput", - "label": "Delay Time (in seconds)", - "value": "delay", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": false, - "placeholder": "7" - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/adobe_analytics/db_config.json b/data/destinations/adobe_analytics/db_config.json deleted file mode 100644 index f1af7c688..000000000 --- a/data/destinations/adobe_analytics/db_config.json +++ /dev/null @@ -1,110 +0,0 @@ -{ - "name": "ADOBE_ANALYTICS", - "displayName": "Adobe Analytics", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "trackingServerUrl", - "reportSuiteIds", - "sslHeartbeat", - "heartbeatTrackingServerUrl", - "eventsToTypes", - "marketingCloudOrgId", - "dropVisitorId", - "trackingServerSecureUrl", - "timestampOption", - "preferVisitorId", - "rudderEventsToAdobeEvents", - "trackPageName", - "contextDataMapping", - "contextDataPrefix", - "eVarMapping", - "hierMapping", - "listMapping", - "listDelimiter", - "customPropsMapping", - "propsDelimiter", - "eventMerchEventToAdobeEvent", - "eventMerchProperties", - "productMerchEventToAdobeEvent", - "productMerchProperties", - "productMerchEvarsMap", - "productIdentifier", - "proxyNormalUrl", - "proxyHeartbeatUrl", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "cloudSource", - "flutter", - "cordova" - ], - "destConfig": { - "defaultConfig": [ - "trackingServerUrl", - "reportSuiteIds", - "sslHeartbeat", - "heartbeatTrackingServerUrl", - "useUtf8Charset", - "useSecureServerSide", - "eventsToTypes", - "marketingCloudOrgId", - "dropVisitorId", - "trackingServerSecureUrl", - "timestampOption", - "preferVisitorId", - "noFallbackVisitorId", - "timestampOptionalReporting", - "rudderEventsToAdobeEvents", - "trackPageName", - "contextDataMapping", - "contextDataPrefix", - "useLegacyLinkName", - "pageNameFallbackTostring", - "mobileEventMapping", - "sendFalseValues", - "eVarMapping", - "hierMapping", - "listMapping", - "listDelimiter", - "customPropsMapping", - "propsDelimiter", - "eventMerchEventToAdobeEvent", - "eventMerchProperties", - "productMerchEventToAdobeEvent", - "productMerchProperties", - "productMerchEvarsMap", - "productIdentifier", - "proxyNormalUrl", - "proxyHeartbeatUrl", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ], - "android": [ - "useNativeSDK" - ], - "ios": [ - "useNativeSDK" - ] - } - } -} \ No newline at end of file diff --git a/data/destinations/adobe_analytics/metadata.json b/data/destinations/adobe_analytics/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/adobe_analytics/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/adobe_analytics/schema.json b/data/destinations/adobe_analytics/schema.json deleted file mode 100644 index 5fcd300d2..000000000 --- a/data/destinations/adobe_analytics/schema.json +++ /dev/null @@ -1,378 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "required": [ - "reportSuiteIds" - ], - "type": "object", - "properties": { - "trackingServerUrl": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,100})$" - }, - "trackingServerSecureUrl": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,100})$" - }, - "reportSuiteIds": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,300})$" - }, - "sslHeartbeat": { - "type": "boolean" - }, - "heartbeatTrackingServerUrl": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,100})$" - }, - "useUtf8Charset": { - "type": "boolean" - }, - - "useSecureServerSide": { - "type": "boolean" - }, - - "proxyNormalUrl": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,100})$" - }, - - "proxyHeartbeatUrl": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,100})$" - }, - "eventsToTypes": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(initHeartbeat|heartbeatPlaybackStarted|heartbeatPlaybackPaused|heartbeatPlaybackResumed|heartbeatPlaybackCompleted|heartbeatPlaybackInterrupted|heartbeatContentStarted|heartbeatContentComplete|heartbeatAdBreakStarted|heartbeatAdBreakCompleted|heartbeatAdStarted|heartbeatAdCompleted|heartbeatAdSkipped|heartbeatSeekStarted|heartbeatSeekCompleted|heartbeatBufferStarted|heartbeatBufferCompleted|heartbeatQualityUpdated|heartbeatUpdatePlayhead)$" - } - } - } - }, - "marketingCloudOrgId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "dropVisitorId": { - "type": "boolean" - }, - "timestampOption": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(disabled|hybrid|optional|enabled)$" - }, - "timestampOptionalReporting": { - "type": "boolean" - }, - "noFallbackVisitorId": { - "type": "boolean" - }, - "preferVisitorId": { - "type": "boolean" - }, - "rudderEventsToAdobeEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "trackPageName": { - "type": "boolean" - }, - "contextDataMapping": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "contextDataPrefix": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "useLegacyLinkName": { - "type": "boolean" - }, - "pageNameFallbackTostring": { - "type": "boolean" - }, - "mobileEventMapping": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "sendFalseValues": { - "type": "boolean" - }, - "eVarMapping": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "hierMapping": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "listMapping": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "listDelimiter": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "^$|(^env[.].+)|^(\\||:|,|;|\/)$" - } - } - } - }, - "customPropsMapping": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "propsDelimiter": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "^$|(^env[.].+)|^(\\||:|,|;|\/)$" - } - } - } - }, - "eventMerchEventToAdobeEvent": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "eventMerchProperties": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventMerchProperties": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "productMerchEventToAdobeEvent": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "productMerchProperties": { - "type": "array", - "items": { - "type": "object", - "properties": { - "productMerchProperties": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "productMerchEvarsMap": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "productIdentifier": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(name|id|sku)$" - }, - "useNativeSDK": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - }, - "ios": { - "type": "boolean" - }, - "android": { - "type": "boolean" - } - } - }, - "eventFilteringOption": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" - }, - "whitelistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "blacklistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "oneTrustCookieCategories": { - "type": "object", - "properties": { - "web": { - "type": "array", - "items": { - "type": "object", - "properties": { - "oneTrustCookieCategory": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/adobe_analytics/ui_config.json b/data/destinations/adobe_analytics/ui_config.json deleted file mode 100644 index 35145b54e..000000000 --- a/data/destinations/adobe_analytics/ui_config.json +++ /dev/null @@ -1,614 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Tracking Server URL", - "value": "trackingServerUrl", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,100})$", - "regexErrorMessage": "Please put a valid url" - - }, - { - "type": "textInput", - "label": "Tracking Server Secure URL", - "value": "trackingServerSecureUrl", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,100})$", - "regexErrorMessage": "Please put a valid url" - }, - { - "type": "textInput", - "label": "Report Suite ID(s)", - "value": "reportSuiteIds", - "required": true, - "footerNote": "You can add multiple report suite ids by separated by commas." - }, - { - "type": "checkbox", - "label": "Check for Heartbeat calls to be made over https", - "value": "sslHeartbeat", - "default": true - }, - { - "type": "textInput", - "label": "Heartbeat Tracking Server URL", - "value": "heartbeatTrackingServerUrl", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,100})$", - "regexErrorMessage": "Please put a valid url" - }, - { - "type": "checkbox", - "label": "Use UTF-8 charset", - "value": "useUtf8Charset", - "default": true - }, - { - "type": "checkbox", - "label": "Use Secure URL for Server-side", - "value": "useSecureServerSide", - "default": true - }, - { - "type": "textInput", - "label": "Adobe Analytics Javascript SDK URL", - "value": "proxyNormalUrl", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,100})$", - "regexErrorMessage": "Please put a valid url" - }, - { - "type": "textInput", - "label": "Adobe Analytics Hearbeat SDK URL", - "value": "proxyHeartbeatUrl", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,100})$", - "regexErrorMessage": "Please put a valid url" - } - ] - }, - { - "title": "Adobe Heartbeat Settings", - "fields": [ - { - "type": "dynamicSelectForm", - "label": "Map your Rudder video events with types of Video Events", - "labelLeft": "Video Event Name", - "labelRight": "Type of Video Event", - "value": "eventsToTypes", - "keyLeft": "from", - "keyRight": "to", - "required": false, - "placeholderLeft": "e.g. video playback started", - "options": [ - { - "name": "Initialise Heartbeat", - "value": "initHeartbeat" - }, - { - "name": "Heartbeat Playback Started", - "value": "heartbeatPlaybackStarted" - }, - { - "name": "Heartbeat Playback Paused", - "value": "heartbeatPlaybackPaused" - }, - { - "name": "Heartbeat Playback Resumed", - "value": "heartbeatPlaybackResumed" - }, - { - "name": "Heartbeat Playback Completed", - "value": "heartbeatPlaybackCompleted" - }, - { - "name": "Heartbeat Playback Interrupted", - "value": "heartbeatPlaybackInterrupted" - }, - { - "name": "Heartbeat Content Start", - "value": "heartbeatContentStarted" - }, - { - "name": "Heartbeat Content Complete", - "value": "heartbeatContentComplete" - }, - { - "name": "Heartbeat Ad BreakStarted", - "value": "heartbeatAdBreakStarted" - }, - { - "name": "Heartbeat Ad Break Completed", - "value": "heartbeatAdBreakCompleted" - }, - { - "name": "Heartbeat Ad Start", - "value": "heartbeatAdStarted" - }, - { - "name": "Heartbeat Ad Completed", - "value": "heartbeatAdCompleted" - }, - { - "name": "Heartbeat Ad Skipped", - "value": "heartbeatAdSkipped" - }, - { - "name": "Heartbeat Seek Started", - "value": "heartbeatSeekStarted" - }, - { - "name": "Heartbeat Seek Completed", - "value": "heartbeatSeekCompleted" - }, - { - "name": "Heartbeat Buffer Started", - "value": "heartbeatBufferStarted" - }, - { - "name": "Heartbeat Buffer Completed", - "value": "heartbeatBufferCompleted" - }, - { - "name": "Heartbeat Quality Updated", - "value": "heartbeatQualityUpdated" - }, - { - "name": "Heartbeat Playhead Update", - "value": "heartbeatUpdatePlayhead" - } - ] - } - ] - }, - { - "title": "Identity Resolution", - "fields": [ - { - "type": "textInput", - "label": "Marketing Cloud Organization Id", - "value": "marketingCloudOrgId" - }, - { - "type": "checkbox", - "label": "Drop Visitor Id", - "value": "dropVisitorId", - "default": true - } - ] - }, - { - "title": "Timestamps", - "fields": [ - { - "type": "singleSelect", - "label": "Timestamp Option", - "value": "timestampOption", - "required": false, - "options": [ - { - "name": "Timestamp Hybrid", - "value": "hybrid" - }, - { - "name": "Timestamp Optional", - "value": "optional" - }, - { - "name": "Timestamp Enabled", - "value": "enabled" - }, - { - "name": "Timestamp Disabled", - "value": "disabled" - } - ], - "defaultOption": { - "name": "Timestamp Disabled", - "value": "disabled" - } - }, - { - "type": "checkbox", - "label": "Send Both Timestamp and VisitorID for Timestamp Optional Reporting Suites", - "value": "timestampOptionalReporting", - "default": false - }, - { - "type": "checkbox", - "label": "No Fallbacks for Visitor ID", - "value": "noFallbackVisitorId", - "default": false - }, - { - "type": "checkbox", - "label": "Prefer Visitor Id", - "value": "preferVisitorId", - "default": false - } - ] - }, - { - "title": "Event and Property Mappings", - "fields": [ - { - "type": "dynamicForm", - "label": "Map Rudder Events to Adobe Custom Events", - "value": "rudderEventsToAdobeEvents", - "required": false, - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g. Product Searched", - "placeholderRight": "event1,event2", - "labelLeft": "Event Name", - "labelRight": "Adobe Custom Event", - "footerNote": "Add one event or many events for adobe custom events separated by comma" - }, - { - "type": "checkbox", - "label": "Enable pageName for Track Events", - "value": "trackPageName", - "default": true - }, - { - "type": "dynamicForm", - "label": "Map Rudder Context data to Adobe Context Data", - "value": "contextDataMapping", - "required": false, - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g. page.name", - "placeholderRight": "pName", - "labelLeft": "Context Data path", - "labelRight": "Adobe Context Data property name", - "footerNote": "Add properties under context key in rudder payload" - }, - { - "type": "textInput", - "placeholder": "eg: rudder-", - "value": "contextDataPrefix", - "label": "Prefix to add before all contextData property.", - "required": false - }, - { - "type": "checkbox", - "label": "Use Legacy LinkName", - "value": "useLegacyLinkName", - "default": true - }, - { - "type": "checkbox", - "label": "Page Name Fallback to Screen", - "value": "pageNameFallbackTostring", - "default": true - }, - { - "type": "dynamicForm", - "label": "Map Rudder Mobile events", - "value": "mobileEventMapping", - "required": false, - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g. page.name", - "placeholderRight": "pName", - "labelLeft": "Context Data path", - "labelRight": "Adobe Context Data property name", - "footerNote": "Add properties under context key in rudder payload" - }, - { - "type": "checkbox", - "label": "Send false value from properties ", - "value": "sendFalseValues", - "default": true - }, - { - "type": "dynamicForm", - "label": "Map Rudder Properties to Adobe eVars", - "value": "eVarMapping", - "required": false, - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g. phone", - "placeholderRight": "2", - "labelLeft": "Rudder Property", - "labelRight": "eVar Index", - "footerNote": "Only give the index of the eVar" - }, - { - "type": "dynamicForm", - "label": "Map Rudder Properties to Adobe Hierarchy properties", - "value": "hierMapping", - "required": false, - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g. phone", - "placeholderRight": "2", - "labelLeft": "Rudder Property", - "labelRight": "hier Index", - "footerNote": "Only give the index of the hier" - }, - { - "type": "dynamicForm", - "label": "Map Rudder Properties to Adobe list properties", - "value": "listMapping", - "required": false, - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g. listProp", - "placeholderRight": "2", - "labelLeft": "Rudder Property", - "labelRight": "list Index", - "footerNote": "The list properties should be an array/string separated by commas" - }, - { - "type": "dynamicSelectForm", - "label": "Map your Rudder Property with Delimiters for list properties", - "labelLeft": "Rudder Property", - "labelRight": "List Delimiter", - "value": "listDelimiter", - "keyLeft": "from", - "keyRight": "to", - "required": false, - "placeholderLeft": "e.g. prop", - "options": [ - { - "name": "|", - "value": "|" - }, - { - "name": ":", - "value": ":" - }, - { - "name": ",", - "value": "," - }, - { - "name": ";", - "value": ";" - }, - { - "name": "/", - "value": "/" - } - ], - "defaultOption": { - "name": ",", - "value": "," - } - }, - { - "type": "dynamicForm", - "label": "Map Rudder Properties to Adobe Custom properties", - "value": "customPropsMapping", - "required": false, - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g phone", - "placeholderRight": "2", - "labelLeft": "Rudder Property", - "labelRight": "prop Index", - "footerNote": "Only give the index of the prop" - }, - { - "type": "dynamicSelectForm", - "label": "Map your Rudder Property with Delimiters for Adobe Custom properties", - "labelLeft": "Rudder Property", - "labelRight": "List Delimiter", - "value": "propsDelimiter", - "keyLeft": "from", - "keyRight": "to", - "required": false, - "placeholderLeft": "e.g. phone", - "options": [ - { - "name": "|", - "value": "|" - }, - { - "name": ":", - "value": ":" - }, - { - "name": ",", - "value": "," - }, - { - "name": ";", - "value": ";" - }, - { - "name": "/", - "value": "/" - } - ], - "defaultOption": { - "name": ",", - "value": "," - } - } - ] - }, - { - "title": "Merchandise Event Level Settings", - "fields": [ - { - "type": "dynamicForm", - "label": "Map Rudder Events to Adobe Merchandise events", - "value": "eventMerchEventToAdobeEvent", - "required": false, - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g Order Completed", - "placeholderRight": "event1", - "labelLeft": "Rudder Event", - "labelRight": "Adobe Event" - }, - { - "type": "dynamicCustomForm", - "value": "eventMerchProperties", - "customFields": [ - { - "type": "textInput", - "placeholder": "e.g. currency", - "value": "eventMerchProperties", - "label": "Currency/Incremental properties to add to merchandise events at event level", - "required": false - } - ] - } - ] - }, - { - "title": "Merchandise Product Level Settings", - "fields": [ - { - "type": "dynamicForm", - "label": "Map Rudder Events to Adobe Merchandise events", - "value": "productMerchEventToAdobeEvent", - "required": false, - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g Order Completed", - "placeholderRight": "event1", - "labelLeft": "Rudder Event", - "labelRight": "Adobe Event" - }, - { - "type": "dynamicCustomForm", - "value": "productMerchProperties", - "customFields": [ - { - "type": "textInput", - "placeholder": "e.g. currency", - "value": "productMerchProperties", - "label": "Currency/Incremental properties to add to merchandise events at product level", - "required": false - } - ] - }, - { - "type": "dynamicForm", - "label": "Map Rudder Properties to eVars at product level", - "value": "productMerchEvarsMap", - "required": false, - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g. product_id", - "placeholderRight": "2", - "labelLeft": "Rudder Property", - "labelRight": "eVar Index" - }, - { - "type": "singleSelect", - "label": "Product Identifier", - "value": "productIdentifier", - "required": false, - "footerNote": "Adobe Analytics only accepts a single product identifier. Use this option to choose whether we send product name, id, or sku.", - "options": [ - { - "name": "Product Name", - "value": "name" - }, - { - "name": "ID", - "value": "id" - }, - { - "name": "SKU", - "value": "sku" - } - ], - "defaultOption": { - "name": "Product Name", - "value": "name" - } - } - ] - }, - { - "title": "Native SDK", - "fields": [ - { - "type": "checkbox", - "label": "Use device-mode to send events", - "value": "useNativeSDK", - "default": true - } - ] - }, - { - "title": "Client-side Events Filtering", - "sectionNote": "Applicable only for device-mode integrations. If enabled, it works only with either allowlisted or denylisted events", - "fields": [ - { - "type": "singleSelect", - "value": "eventFilteringOption", - "required": false, - "options": [ - { - "name": "Disable", - "value": "disable" - }, - { - "name": "Allowlist", - "value": "whitelistedEvents" - }, - { - "name": "Denylist", - "value": "blacklistedEvents" - } - ], - "defaultOption": { - "name": "Disable", - "value": "disable" - } - }, - { - "type": "dynamicCustomForm", - "value": "whitelistedEvents", - "label": "Allowlist", - "customFields": [ - { - "type": "textInput", - "value": "eventName", - "required": false, - "placeholder": "e.g: Anonymous Page Visit" - } - ] - }, - { - "type": "dynamicCustomForm", - "value": "blacklistedEvents", - "label": "Denylist", - "customFields": [ - { - "type": "textInput", - "value": "eventName", - "required": false, - "placeholder": "e.g: Credit Card Added" - } - ] - } - ] - }, - { - "title": "Consent Settings", - "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Cookie Categories", - "customFields": [ - { - "type": "textInput", - "placeholder": "Marketing", - "value": "oneTrustCookieCategory", - "label": "Category Name/ID", - "required": false - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/adroll/db_config.json b/data/destinations/adroll/db_config.json deleted file mode 100644 index d50439d64..000000000 --- a/data/destinations/adroll/db_config.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "name": "ADROLL", - "displayName": "Adroll", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "advId", - "pixId", - "eventsMap", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "web" - ], - "supportedMessageTypes": [ - "identify", - "track", - "page" - ], - "destConfig": { - "defaultConfig": [ - "advId", - "pixId", - "eventsMap", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [] - }, - "options": { - "isBeta": true - } -} \ No newline at end of file diff --git a/data/destinations/adroll/metadata.json b/data/destinations/adroll/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/adroll/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/adroll/schema.json b/data/destinations/adroll/schema.json deleted file mode 100644 index 941c8bdeb..000000000 --- a/data/destinations/adroll/schema.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "required": [ - "advId", - "pixId" - ], - "type": "object", - "properties": { - "advId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "pixId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "useNativeSDK": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "eventFilteringOption": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" - }, - "whitelistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "blacklistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "oneTrustCookieCategories": { - "type": "object", - "properties": { - "web": { - "type": "array", - "items": { - "type": "object", - "properties": { - "oneTrustCookieCategory": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/af/db_config.json b/data/destinations/af/db_config.json deleted file mode 100644 index de38f1521..000000000 --- a/data/destinations/af/db_config.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "name": "AF", - "displayName": "AppsFlyer", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "devKey", - "appleAppId", - "useRichEventName", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "track", - "screen", - "page" - ], - "destConfig": { - "defaultConfig": [ - "devKey", - "sharingFilter", - "useRichEventName", - "androidAppId", - "appleAppId", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption", - "statusCallbackUrls", - "apiToken" - ], - "android": [ - "useNativeSDK" - ], - "ios": [ - "useNativeSDK" - ], - "reactnative": [ - "useNativeSDK" - ], - "cordova": [ - "useNativeSDK" - ] - }, - "secretKeys": [] - } -} \ No newline at end of file diff --git a/data/destinations/af/metadata.json b/data/destinations/af/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/af/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/af/schema.json b/data/destinations/af/schema.json deleted file mode 100644 index 7b7476c19..000000000 --- a/data/destinations/af/schema.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "devKey" - ], - "properties": { - "devKey": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "androidAppId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "appleAppId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "useRichEventName": { - "type": "boolean" - }, - "sharingFilter": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "useNativeSDK": { - "type": "object", - "properties": { - "android": { - "type": "boolean" - }, - "ios": { - "type": "boolean" - }, - "reactnative": { - "type": "boolean" - }, - "cordova": { - "type": "boolean" - } - } - }, - "eventFilteringOption": { - "type": "string", - "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" - }, - "whitelistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "blacklistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/af/ui_config.json b/data/destinations/af/ui_config.json deleted file mode 100644 index 4c4e4edf3..000000000 --- a/data/destinations/af/ui_config.json +++ /dev/null @@ -1,143 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "AppsFlyer Dev Key", - "value": "devKey", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid AppsFlyer Dev Key", - "required": true, - "placeholder": "e.g: bSjsdGYsOo9sjw23Shj" - }, - { - "type": "textInput", - "label": "Android App ID", - "value": "androidAppId", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Android App ID", - "required": false, - "placeholder": "com.mypackage.example", - "footerNote": "Field is required if os.name is set to android" - }, - { - "type": "textInput", - "label": "Apple App ID", - "value": "appleAppId", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Apple App ID", - "required": false, - "placeholder": "123456789", - "footerNote": "Field is required if os.name is set to any of the Apple OS names (ios, ipados, watchos, tvos etc.)" - }, - { - "type": "checkbox", - "label": "Use Rich Event Names", - "value": "useRichEventName", - "footerNote": "To include screen/page name in Screen/Page event names (ex: Viewed Contacts Page)", - "default": false - }, - { - "type": "textInput", - "label": "Sharing Filter", - "value": "sharingFilter", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid sharing filter. Default value is used", - "required": false, - "placeholder": "['googleadwords_int', 'adcolony_int']", - "default": "all", - "footerNote": "Use the filter to fulfill regulatory requirements like GDPR and CCPA, to comply with user opt-out mechanisms, and for other business logic reasons. " - } - ] - }, - { - "title": "Native SDK", - "fields": [ - { - "type": "checkbox", - "label": "Use device-mode to send events", - "value": "useNativeSDK", - "default": true - } - ] - }, - { - "title": "Client-side Events Filtering", - "sectionNote": "Applicable only for device-mode integrations. If enabled, it works only with either allowlisted or denylisted events", - "fields": [ - { - "type": "singleSelect", - "value": "eventFilteringOption", - "required": false, - "options": [ - { - "name": "Disable", - "value": "disable" - }, - { - "name": "Allowlist", - "value": "whitelistedEvents" - }, - { - "name": "Denylist", - "value": "blacklistedEvents" - } - ], - "defaultOption": { - "name": "Disable", - "value": "disable" - } - }, - { - "type": "dynamicCustomForm", - "value": "whitelistedEvents", - "label": "Allowlist", - "customFields": [ - { - "type": "textInput", - "value": "eventName", - "required": false, - "placeholder": "e.g: Anonymous Page Visit" - } - ] - }, - { - "type": "dynamicCustomForm", - "value": "blacklistedEvents", - "label": "Denylist", - "customFields": [ - { - "type": "textInput", - "value": "eventName", - "required": false, - "placeholder": "e.g: Credit Card Added" - } - ] - } - ] - }, - { - "title": "User Deletion", - "fields": [ - { - "type": "textInput", - "label": "Status Callback Urls", - "value": "statusCallbackUrls", - "regex": "^(?!.*\\.ngrok\\.io).*$", - "placeholder": "https://examplecontroller.com/opengdpr_callbacks", - "footerNote": "Endpoint for status callbacks to be sent with the deletion request status changes. If you want to provide more than one callbacks, provide them as comma separated strings." - }, - { - "type": "textInput", - "label": "API Token", - "value": "apiToken", - "placeholder": "c81aaf36-8323-4bb6-b5a8-asdfasdfas4f3c", - "secret": true, - "footerNote": "Provide your V1.0 API Token." - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/airship/db_config.json b/data/destinations/airship/db_config.json deleted file mode 100644 index 2d3dac61a..000000000 --- a/data/destinations/airship/db_config.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "name": "AIRSHIP", - "displayName": "Airship", - "config": { - "transformAt": "router", - "transformAtV1": "router", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "reactnative", - "flutter", - "cordova", - "warehouse" - ], - "supportedMessageTypes": [ - "identify", - "track", - "group" - ], - "destConfig": { - "defaultConfig": [ - "apiKey", - "appKey", - "dataCenter" - ] - }, - "secretKeys": [ - "apiKey" - ] - } -} \ No newline at end of file diff --git a/data/destinations/airship/metadata.json b/data/destinations/airship/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/airship/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/airship/schema.json b/data/destinations/airship/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/airship/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/airship/ui_config.json b/data/destinations/airship/ui_config.json deleted file mode 100644 index 9fcc49e63..000000000 --- a/data/destinations/airship/ui_config.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "API Key", - "value": "apiKey", - "regex": ".*", - "required": true, - "placeholder": "e.g. MTp6WHZyNbJXZVNMMm11AlJ1R1BXeVVBOkk0dFk5dkEybUVEWAw5NHk5dXBYUjBIdWp6QzZCNC1TMEFGU9QwYVdnUjg", - "secret": true, - "footerNote": "API Key from Settings > Tokens > Create Token" - }, - { - "type": "textInput", - "label": "App Key", - "value": "appKey", - "regex": ".*", - "required": false, - "placeholder": "e.g. zXvp6bWcSL3muCRuGrWyUA", - "secret": true, - "footerNote": "App Key from Settings > Project Details > App Key" - }, - { - "type": "checkbox", - "label": "EU data center", - "value": "dataCenter", - "default": false, - "footerNote": "Toggle on to send data to EU server" - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/algolia/db_config.json b/data/destinations/algolia/db_config.json deleted file mode 100644 index 9f14eef5e..000000000 --- a/data/destinations/algolia/db_config.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "name": "ALGOLIA", - "displayName": "Algolia", - "config": { - "cdkV2TestThreshold": 1, - "transformAt": "router", - "transformAtV1": "router", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "reactnative", - "flutter", - "cordova", - "warehouse" - ], - "supportedMessageTypes": [ - "track" - ], - "destConfig": { - "defaultConfig": [ - "apiKey", - "applicationId", - "eventTypeSettings" - ] - }, - "secretKeys": [ - "apiKey", - "applicationId" - ] - } -} diff --git a/data/destinations/algolia/metadata.json b/data/destinations/algolia/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/algolia/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/algolia/schema.json b/data/destinations/algolia/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/algolia/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/algolia/ui_config.json b/data/destinations/algolia/ui_config.json deleted file mode 100644 index 39f770e4d..000000000 --- a/data/destinations/algolia/ui_config.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "API Token", - "value": "apiKey", - "regex": ".*", - "required": true, - "placeholder": "e.g. tZrPAgHyn2jMWOVGKrS6gBGLYT8v9kJE", - "secret": true - }, - { - "type": "textInput", - "label": "Application ID", - "value": "applicationId", - "regex": ".*", - "required": true, - "placeholder": "e.g. O2YAMMI15I", - "secret": true - } - ] - }, - { - "title": "Event Settings", - "fields": [ - { - "type": "dynamicForm", - "label": "Event Name to Event Type Mapping", - "labelLeft": "Event Name", - "labelRight": "Event Type", - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "item clicked", - "placeholderRight": "click", - "value": "eventTypeSettings" - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/am/db_config.json b/data/destinations/am/db_config.json deleted file mode 100644 index cc01f3396..000000000 --- a/data/destinations/am/db_config.json +++ /dev/null @@ -1,141 +0,0 @@ -{ - "name": "AM", - "displayName": "Amplitude", - "config": { - "supportsVisualMapper": true, - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "apiKey", - "groupTypeTrait", - "groupValueTrait", - "trackAllPages", - "trackCategorizedPages", - "trackNamedPages", - "traitsToIncrement", - "traitsToSetOnce", - "traitsToAppend", - "traitsToPrepend", - "trackProductsOnce", - "trackRevenuePerProduct", - "preferAnonymousIdForDeviceId", - "deviceIdFromUrlParam", - "forceHttps", - "trackGclid", - "trackReferrer", - "saveParamsReferrerOncePerSession", - "trackUtmProperties", - "unsetParamsReferrerOnNewSession", - "batchEvents", - "eventUploadPeriodMillis", - "eventUploadThreshold", - "versionName", - "enableLocationListening", - "useAdvertisingIdForDeviceId", - "trackSessionEvents", - "useIdfaAsDeviceId", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption", - "mapDeviceBrand" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "alias", - "group", - "identify", - "page", - "screen", - "track" - ], - "destConfig": { - "defaultConfig": [ - "apiKey", - "groupTypeTrait", - "groupValueTrait", - "trackAllPages", - "trackCategorizedPages", - "trackNamedPages", - "traitsToIncrement", - "traitsToSetOnce", - "traitsToAppend", - "traitsToPrepend", - "trackProductsOnce", - "trackRevenuePerProduct", - "versionName", - "apiSecret", - "residencyServer", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption", - "mapDeviceBrand" - ], - "web": [ - "useNativeSDK", - "preferAnonymousIdForDeviceId", - "deviceIdFromUrlParam", - "forceHttps", - "trackGclid", - "trackReferrer", - "saveParamsReferrerOncePerSession", - "trackUtmProperties", - "unsetParamsReferrerOnNewSession", - "batchEvents", - "eventUploadPeriodMillis", - "eventUploadThreshold", - "oneTrustCookieCategories" - ], - "android": [ - "eventUploadPeriodMillis", - "eventUploadThreshold", - "useNativeSDK", - "enableLocationListening", - "trackSessionEvents", - "useAdvertisingIdForDeviceId" - ], - "ios": [ - "eventUploadPeriodMillis", - "eventUploadThreshold", - "useNativeSDK", - "trackSessionEvents", - "useIdfaAsDeviceId" - ], - "reactnative": [ - "eventUploadPeriodMillis", - "eventUploadThreshold", - "useNativeSDK", - "enableLocationListening", - "trackSessionEvents", - "useAdvertisingIdForDeviceId", - "useIdfaAsDeviceId" - ], - "flutter": [ - "eventUploadPeriodMillis", - "eventUploadThreshold", - "useNativeSDK", - "enableLocationListening", - "trackSessionEvents", - "useAdvertisingIdForDeviceId", - "useIdfaAsDeviceId" - ] - }, - "secretKeys": [ - "apiKey", - "apiSecret" - ] - } -} \ No newline at end of file diff --git a/data/destinations/am/metadata.json b/data/destinations/am/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/am/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/am/schema.json b/data/destinations/am/schema.json deleted file mode 100644 index 04a618a14..000000000 --- a/data/destinations/am/schema.json +++ /dev/null @@ -1,320 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "apiKey" - ], - "properties": { - "apiKey": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "apiSecret": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "groupTypeTrait": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "groupValueTrait": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "trackAllPages": { - "type": "boolean" - }, - "trackCategorizedPages": { - "type": "boolean" - }, - "trackNamedPages": { - "type": "boolean" - }, - "trackProductsOnce": { - "type": "boolean" - }, - "trackRevenuePerProduct": { - "type": "boolean" - }, - "versionName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "residencyServer": { - "type": "string", - "pattern": "(^env[.].*)|^(standard|EU)$" - }, - "traitsToIncrement": { - "type": "array", - "items": { - "type": "object", - "properties": { - "traits": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "traitsToSetOnce": { - "type": "array", - "items": { - "type": "object", - "properties": { - "traits": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "traitsToAppend": { - "type": "array", - "items": { - "type": "object", - "properties": { - "traits": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "traitsToPrepend": { - "type": "array", - "items": { - "type": "object", - "properties": { - "traits": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "useNativeSDK": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - }, - "ios": { - "type": "boolean" - }, - "android": { - "type": "boolean" - }, - "reactnative": { - "type": "boolean" - } - } - }, - "preferAnonymousIdForDeviceId": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "deviceIdFromUrlParam": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "forceHttps": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "trackGclid": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "trackReferrer": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "saveParamsReferrerOncePerSession": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "trackUtmProperties": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "unsetParamsReferrerOnNewSession": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "batchEvents": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "whitelistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "blacklistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "eventUploadPeriodMillis": { - "type": "object", - "properties": { - "web": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^([0-9]{0,100})$" - }, - "android": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^([0-9]{0,100})$" - }, - "ios": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^([0-9]{0,100})$" - }, - "reactnative": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^([0-9]{0,100})$" - } - } - }, - "eventUploadThreshold": { - "type": "object", - "properties": { - "web": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^([0-9]{0,100})$" - }, - "android": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^([0-9]{0,100})$" - }, - "ios": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^([0-9]{0,100})$" - }, - "reactnative": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^([0-9]{0,100})$" - } - } - }, - "mapDeviceBrand": { - "type": "boolean" - }, - "enableLocationListening": { - "type": "object", - "properties": { - "android": { - "type": "boolean" - }, - "reactnative": { - "type": "boolean" - } - } - }, - "trackSessionEvents": { - "type": "object", - "properties": { - "android": { - "type": "boolean" - }, - "ios": { - "type": "boolean" - }, - "reactnative": { - "type": "boolean" - } - } - }, - "useAdvertisingIdForDeviceId": { - "type": "object", - "properties": { - "android": { - "type": "boolean" - }, - "reactnative": { - "type": "boolean" - } - } - }, - "useIdfaAsDeviceId": { - "type": "object", - "properties": { - "ios": { - "type": "boolean" - }, - "reactnative": { - "type": "boolean" - } - } - }, - "oneTrustCookieCategories": { - "type": "object", - "properties": { - "web": { - "type": "array", - "items": { - "type": "object", - "properties": { - "oneTrustCookieCategory": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/appcenter/db_config.json b/data/destinations/appcenter/db_config.json deleted file mode 100644 index b58346ba7..000000000 --- a/data/destinations/appcenter/db_config.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "name": "APPCENTER", - "displayName": "App Center", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "appSecret", - "eventPriorityMap", - "transmissionLevel", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "reactnative", - "cordova", - "flutter" - ], - "supportedMessageTypes": [ - "track" - ], - "destConfig": { - "defaultConfig": [ - "appSecret", - "eventPriorityMap", - "transmissionLevel", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "android": [ - "useNativeSDK" - ], - "ios": [ - "useNativeSDK" - ], - "reactnative": [ - "useNativeSDK" - ], - "flutter": [ - "useNativeSDK" - ], - "cordova": [ - "useNativeSDK" - ] - }, - "secretKeys": [ - "appSecret" - ] - } -} \ No newline at end of file diff --git a/data/destinations/appcenter/metadata.json b/data/destinations/appcenter/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/appcenter/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/appcenter/schema.json b/data/destinations/appcenter/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/appcenter/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/appcenter/ui_config.json b/data/destinations/appcenter/ui_config.json deleted file mode 100644 index 89f256dd5..000000000 --- a/data/destinations/appcenter/ui_config.json +++ /dev/null @@ -1,120 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "AppCenter App Secret Key", - "value": "appSecret", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid AppCenter App Secret Key", - "required": true, - "placeholder": "e.g: \u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u20225c0d", - "secret": true - } - ] - }, - { - "title": "Other Settings", - "fields": [ - { - "type": "dynamicSelectForm", - "label": "Map your Events Name with Priority", - "labelLeft": "Event Name", - "labelRight": "Priority", - "value": "eventPriorityMap", - "keyLeft": "from", - "keyRight": "to", - "required": false, - "placeholderLeft": "your event", - "options": [ - { - "name": "Normal", - "value": "Normal" - }, - { - "name": "Critical", - "value": "Critical" - } - ] - }, - { - "type": "textInput", - "label": "Set the transmission interval in minutes", - "value": "transmissionLevel", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Transmission Level", - "required": false, - "placeholder": "10" - } - ] - }, - { - "title": "Native SDK", - "fields": [ - { - "type": "defaultCheckbox", - "label": "Use device-mode to send events", - "value": "useNativeSDK", - "default": true - } - ] - }, - { - "title": "Client-side Events Filtering", - "sectionNote": "Applicable only for device-mode integrations. If enabled, it works only with either allowlisted or denylisted events", - "fields": [ - { - "type": "singleSelect", - "value": "eventFilteringOption", - "required": false, - "options": [ - { - "name": "Disable", - "value": "disable" - }, - { - "name": "Allowlist", - "value": "whitelistedEvents" - }, - { - "name": "Denylist", - "value": "blacklistedEvents" - } - ], - "defaultOption": { - "name": "Disable", - "value": "disable" - } - }, - { - "type": "dynamicCustomForm", - "value": "whitelistedEvents", - "label": "Allowlist", - "customFields": [ - { - "type": "textInput", - "value": "eventName", - "required": false, - "placeholder": "e.g: Anonymous Page Visit" - } - ] - }, - { - "type": "dynamicCustomForm", - "value": "blacklistedEvents", - "label": "Denylist", - "customFields": [ - { - "type": "textInput", - "value": "eventName", - "required": false, - "placeholder": "e.g: Credit Card Added" - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/appcues/db_config.json b/data/destinations/appcues/db_config.json deleted file mode 100644 index 2337cd9f6..000000000 --- a/data/destinations/appcues/db_config.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "name": "APPCUES", - "displayName": "Appcues", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "accountId", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "identify", - "page", - "screen", - "track" - ], - "destConfig": { - "defaultConfig": [ - "accountId", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [] - } -} \ No newline at end of file diff --git a/data/destinations/appcues/metadata.json b/data/destinations/appcues/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/appcues/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/appcues/schema.json b/data/destinations/appcues/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/appcues/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/attentive_tag/db_config.json b/data/destinations/attentive_tag/db_config.json deleted file mode 100644 index 0f9c7611d..000000000 --- a/data/destinations/attentive_tag/db_config.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "ATTENTIVE_TAG", - "displayName": "Attentive Tag", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "identify", - "track" - ], - "destConfig": { - "defaultConfig": [ - "apiKey", - "signUpSourceId" - ] - }, - "secretKeys": [ - "apiKey" - ] - } -} \ No newline at end of file diff --git a/data/destinations/attentive_tag/metadata.json b/data/destinations/attentive_tag/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/attentive_tag/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/attentive_tag/schema.json b/data/destinations/attentive_tag/schema.json deleted file mode 100644 index 1dd88502c..000000000 --- a/data/destinations/attentive_tag/schema.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "apiKey" - ], - "properties": { - "apiKey": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "signUpSourceId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/attentive_tag/ui_config.json b/data/destinations/attentive_tag/ui_config.json deleted file mode 100644 index 08998d059..000000000 --- a/data/destinations/attentive_tag/ui_config.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "API Key", - "value": "apiKey", - "regex": "^(.{1,100})$", - "regexErrorMessage": "Invalid API Key", - "required": true, - "placeholder": "e.g. saDbFeVZicnpPeGJ6M0JOTXFxTVN2QkdpWTJ3NENpNUlZ", - "secret": true, - "footerNote": "Your API Key" - }, - { - "type": "textInput", - "label": "Sign Up Source Id", - "value": "signUpSourceId", - "regex": "^[0-9]+$", - "regexErrorMessage": "Invalid Sign Up Source Id", - "required": false, - "placeholder": "e.g: 123456", - "secret": false, - "footerNote": "Your Sign Up Source Id" - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/attribution/db_config.json b/data/destinations/attribution/db_config.json deleted file mode 100644 index f9746edd1..000000000 --- a/data/destinations/attribution/db_config.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "ATTRIBUTION", - "displayName": "Attribution", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": false, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "reactnative", - "warehouse", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "alias", - "group", - "identify", - "page", - "screen", - "track" - ], - "destConfig": { - "defaultConfig": [ - "writeKey" - ], - "web": [] - }, - "secretKeys": [ - "writeKey" - ] - } -} \ No newline at end of file diff --git a/data/destinations/attribution/metadata.json b/data/destinations/attribution/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/attribution/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/attribution/schema.json b/data/destinations/attribution/schema.json deleted file mode 100644 index 7b26cfd76..000000000 --- a/data/destinations/attribution/schema.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema", - "type": "object", - "required": [ - "writeKey" - ], - "properties": { - "writeKey": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - } - }, - "additionalProperties": true - } -} \ No newline at end of file diff --git a/data/destinations/attribution/ui_config.json b/data/destinations/attribution/ui_config.json deleted file mode 100644 index 05800f1b2..000000000 --- a/data/destinations/attribution/ui_config.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Attribution Project Key", - "value": "writeKey", - "regex": "^(.{1,100})$", - "regexErrorMessage": "Invalid Attribution Project Key", - "required": true, - "placeholder": "e.g: AGzp7K9cBV" - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/autopilot/db_config.json b/data/destinations/autopilot/db_config.json deleted file mode 100644 index c0c094ce2..000000000 --- a/data/destinations/autopilot/db_config.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "AUTOPILOT", - "displayName": "Autopilot", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "cdkEnabled": true, - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "identify", - "track" - ], - "destConfig": { - "defaultConfig": [ - "apiKey", - "triggerId" - ] - }, - "secretKeys": [] - } -} \ No newline at end of file diff --git a/data/destinations/autopilot/metadata.json b/data/destinations/autopilot/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/autopilot/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/autopilot/schema.json b/data/destinations/autopilot/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/autopilot/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/autopilot/ui_config.json b/data/destinations/autopilot/ui_config.json deleted file mode 100644 index 86d499cdc..000000000 --- a/data/destinations/autopilot/ui_config.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "API Key", - "value": "apiKey", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid API Key", - "required": true, - "placeholder": "e.g: 1d6583b196d34de28a3g19ahadde4b0z" - }, - { - "type": "textInput", - "label": "Trigger Id", - "value": "triggerId", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Trigger Id", - "required": true, - "placeholder": "e.g: 00XX" - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/azure_blob/db_config.json b/data/destinations/azure_blob/db_config.json deleted file mode 100644 index 36e423b5f..000000000 --- a/data/destinations/azure_blob/db_config.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "AZURE_BLOB", - "displayName": "Azure Blob Storage", - "config": { - "transformAt": "none", - "transformAtV1": "none", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "destConfig": { - "defaultConfig": [ - "containerName", - "prefix", - "accountName", - "accountKey", - "useSASTokens", - "sasToken" - ] - }, - "secretKeys": [ - "accountKey", - "sasToken" - ] - } -} \ No newline at end of file diff --git a/data/destinations/azure_blob/metadata.json b/data/destinations/azure_blob/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/azure_blob/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/azure_blob/schema.json b/data/destinations/azure_blob/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/azure_blob/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/azure_blob/ui_config.json b/data/destinations/azure_blob/ui_config.json deleted file mode 100644 index 1882fa985..000000000 --- a/data/destinations/azure_blob/ui_config.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Azure Blob Storage Container Name", - "value": "containerName", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Azure Blob Storage Container Name", - "required": true, - "placeholder": "e.g: azure-blob-event-logs" - }, - { - "type": "textInput", - "label": "Prefix", - "value": "prefix", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Prefix", - "required": false, - "placeholder": "e.g: rudder" - }, - { - "type": "textInput", - "label": "Azure Blob Storage Account Name", - "value": "accountName", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Azure Blob Storage Account Name", - "required": true, - "placeholder": "e.g: account-name" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "useSASTokens", - "selectedValue": false - } - ], - "label": "Azure Blob Storage Account Key", - "value": "accountKey", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Azure Blob Storage Account Key", - "required": true, - "placeholder": "e.g: account-key", - "secret": true - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "useSASTokens", - "selectedValue": true - } - ], - "label": "Azure Blob Storage SAS Token", - "value": "sasToken", - "regex": "^(.+)$", - "regexErrorMessage": "Invalid Azure Blob Storage SAS Token", - "required": true, - "placeholder": "e.g: sas-token", - "secret": true - }, - { - "type": "checkbox", - "label": "Use shared access signature (SAS) Tokens", - "value": "useSASTokens", - "default": false, - "footerNote": "Use this to Grant limited access to Azure Storage resources using shared access signatures (SAS)" - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/azure_datalake/db_config.json b/data/destinations/azure_datalake/db_config.json deleted file mode 100644 index f4bcfc5da..000000000 --- a/data/destinations/azure_datalake/db_config.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "AZURE_DATALAKE", - "displayName": "Azure Datalake", - "category": "warehouse", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "cloudSource", - "flutter", - "cordova" - ], - "destConfig": { - "defaultConfig": [ - "containerName", - "prefix", - "namespace", - "accountName", - "accountKey", - "useSASTokens", - "sasToken", - "syncFrequency", - "syncStartAt" - ] - }, - "secretKeys": [ - "accountKey", - "sasToken" - ] - } -} \ No newline at end of file diff --git a/data/destinations/azure_datalake/metadata.json b/data/destinations/azure_datalake/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/azure_datalake/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/azure_datalake/schema.json b/data/destinations/azure_datalake/schema.json deleted file mode 100644 index e5172afd2..000000000 --- a/data/destinations/azure_datalake/schema.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema", - "type": "object", - "required": [ - "containerName", - "accountName" - ], - "properties": { - "containerName": { - "type": "string", - "pattern": "(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$" - }, - "prefix": { - "type": "string", - "pattern": "(^env[.].*)|^(.{0,100})$" - }, - "namespace": { - "type": "string", - "pattern": "(^env[.].*)|^((?!pg_|PG_|pG_|Pg_).{0,64})$" - }, - "accountName": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - }, - "syncFrequency": { - "type": "string", - "pattern": "^(30|60|180|360|720|1440)$", - "default": "30" - }, - "syncStartAt": { - "type": "string" - } - }, - "anyOf": [ - { - "properties": { - "accountKey": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - } - }, - "required": [ - "accountKey" - ] - }, - { - "properties": { - "sasToken": { - "type": "string", - "pattern": "(^env[.].+)|^(.+)$" - }, - "useSASTokens": { - "const": true - } - }, - "required": [ - "useSASTokens", - "sasToken" - ] - } - ], - "additionalProperties": true - } -} \ No newline at end of file diff --git a/data/destinations/azure_datalake/ui_config.json b/data/destinations/azure_datalake/ui_config.json deleted file mode 100644 index 1e5ab247c..000000000 --- a/data/destinations/azure_datalake/ui_config.json +++ /dev/null @@ -1,136 +0,0 @@ -{ - "uiConfig": [ - { - "title": "1. Connection Credentials", - "fields": [ - { - "type": "textInput", - "label": "Azure Blob Storage Container Name", - "labelNote": "Container to store your event data", - "value": "containerName", - "regex": "^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$", - "regexErrorMessage": "Invalid Staging Azure Blob Storage Container Name", - "required": true, - "placeholder": "e.g: azure-event-logs", - "footerNote": "Please make sure the container exists in your Azure Blob Storage" - }, - { - "type": "textInput", - "label": "Prefix", - "value": "prefix", - "labelNote": "If configured, all data pushed by rudderstack will be at https://.blob.core.windows.net///", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Prefix", - "required": false, - "placeholder": "e.g: rudder" - }, - { - "type": "textInput", - "label": "Namespace", - "labelNote": "Schema name for the warehouse where the tables are created", - "value": "namespace", - "regex": "^((?!pg_|PG_|pG_|Pg_).{0,64})$", - "regexErrorMessage": "Invalid Namespace", - "required": false, - "placeholder": "e.g: RUDDER_NAMESPACE", - "footerNote": "All data for the destination would be pushed to https://.blob.core.windows.net///rudder-datalake/." - }, - { - "type": "textInput", - "label": "Azure Blob Storage Account Name", - "value": "accountName", - "regex": "^(.{1,100})$", - "regexErrorMessage": "Invalid Azure Blob Storage Account Name", - "required": true, - "placeholder": "e.g: account-name" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "useSASTokens", - "selectedValue": false - } - ], - "label": "Azure Blob Storage Account Key", - "value": "accountKey", - "regex": "^(.{1,100})$", - "regexErrorMessage": "Invalid Azure Blob Storage Account Key", - "required": true, - "secret": true, - "placeholder": "e.g: account-key" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "useSASTokens", - "selectedValue": true - } - ], - "label": "Azure Blob Storage SAS Token", - "value": "sasToken", - "regex": "^(.+)$", - "regexErrorMessage": "Invalid Azure Blob Storage SAS Token", - "required": true, - "placeholder": "e.g: sas-token", - "secret": true - }, - { - "type": "checkbox", - "label": "Use shared access signature (SAS) Tokens", - "value": "useSASTokens", - "default": false, - "footerNote": "Use this to Grant limited access to Azure Storage resources using shared access signatures (SAS)" - }, - { - "type": "singleSelect", - "label": "Sync Frequency", - "value": "syncFrequency", - "options": [ - { - "name": "Every 30 minutes", - "value": "30" - }, - { - "name": "Every 1 hour", - "value": "60" - }, - { - "name": "Every 3 hours", - "value": "180" - }, - { - "name": "Every 6 hours", - "value": "360" - }, - { - "name": "Every 12 hours", - "value": "720" - }, - { - "name": "Every 24 hours", - "value": "1440" - } - ], - "defaultOption": { - "name": "Every 30 minutes", - "value": "30" - }, - "required": false - }, - { - "type": "timePicker", - "label": "Sync Starting At (Optional)", - "value": "syncStartAt", - "options": { - "omitSeconds": true, - "minuteStep": 15 - }, - "required": false, - "footerNote": "Note: Please specify time in UTC" - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/azure_event_hub/db_config.json b/data/destinations/azure_event_hub/db_config.json deleted file mode 100644 index c50768e5a..000000000 --- a/data/destinations/azure_event_hub/db_config.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "name": "AZURE_EVENT_HUB", - "displayName": "Azure Event Hubs", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "destConfig": { - "defaultConfig": [ - "bootstrapServer", - "topic", - "eventHubsConnectionString" - ] - }, - "secretKeys": [] - } -} \ No newline at end of file diff --git a/data/destinations/azure_event_hub/metadata.json b/data/destinations/azure_event_hub/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/azure_event_hub/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/azure_event_hub/schema.json b/data/destinations/azure_event_hub/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/azure_event_hub/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/azure_event_hub/ui_config.json b/data/destinations/azure_event_hub/ui_config.json deleted file mode 100644 index 1691dcde1..000000000 --- a/data/destinations/azure_event_hub/ui_config.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Bootstrap server", - "value": "bootstrapServer", - "regex": "^.*:[0-9]{1,5}$", - "regexErrorMessage": "Invalid Bootstrap server", - "required": true, - "placeholder": "e.g: NAMESPACENAME.servicebus.windows.net:9093" - }, - { - "type": "textInput", - "label": "Topic Name", - "value": "topic", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Topic Name", - "required": true, - "placeholder": "e.g: test-topic" - }, - { - "type": "textInput", - "label": "Event Hubs ConnectionString", - "value": "eventHubsConnectionString", - "regex": "^(.{0,300})$", - "regexErrorMessage": "Invalid Event Hubs ConnectionString", - "required": true, - "placeholder": "e.g: Endpoint=sb://..." - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/azure_synapse/db_config.json b/data/destinations/azure_synapse/db_config.json deleted file mode 100644 index a0b91e032..000000000 --- a/data/destinations/azure_synapse/db_config.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "name": "AZURE_SYNAPSE", - "displayName": "Azure Synapse", - "category": "warehouse", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "reactnative", - "cloudSource", - "flutter", - "cordova" - ], - "destConfig": { - "defaultConfig": [ - "host", - "database", - "user", - "password", - "port", - "sslMode", - "namespace", - "bucketProvider", - "bucketName", - "iamRoleARN", - "roleBasedAuth", - "accessKeyID", - "accessKey", - "accountName", - "accountKey", - "useSASTokens", - "sasToken", - "credentials", - "secretAccessKey", - "useSSL", - "containerName", - "endPoint", - "syncFrequency", - "syncStartAt", - "excludeWindow", - "useRudderStorage" - ] - }, - "secretKeys": [ - "password", - "accessKeyID", - "accessKey", - "accountKey", - "sasToken", - "secretAccessKey", - "credentials" - ] - } -} \ No newline at end of file diff --git a/data/destinations/azure_synapse/metadata.json b/data/destinations/azure_synapse/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/azure_synapse/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/azure_synapse/schema.json b/data/destinations/azure_synapse/schema.json deleted file mode 100644 index 13cffd737..000000000 --- a/data/destinations/azure_synapse/schema.json +++ /dev/null @@ -1,278 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema", - "type": "object", - "required": [ - "host", - "database", - "user", - "password", - "port", - "sslMode", - "syncFrequency", - "useRudderStorage" - ], - "properties": { - "host": { - "type": "string", - "pattern": "(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,100})$" - }, - "database": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - }, - "user": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - }, - "password": { - "type": "string", - "pattern": "(^env[.].+)|.+" - }, - "port": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - }, - "namespace": { - "type": "string", - "pattern": "(^env[.].*)|^((?!pg_|PG_|pG_|Pg_).{0,64})$" - }, - "sslMode": { - "type": "string", - "pattern": "^(disable|true|false)$" - }, - "syncFrequency": { - "type": "string", - "pattern": "^(30|60|180|360|720|1440)$", - "default": "30" - }, - "syncStartAt": { - "type": "string" - }, - "excludeWindow": { - "type": "object", - "required": [ - "excludeWindowStartTime", - "excludeWindowEndTime" - ], - "properties": { - "excludeWindowStartTime": { - "type": "string" - }, - "excludeWindowEndTime": { - "type": "string" - } - } - }, - "useRudderStorage": { - "type": "boolean", - "default": false - }, - "bucketProvider": { - "type": "string", - "pattern": "^(S3|GCS|AZURE_BLOB|MINIO)$" - } - }, - "allOf": [ - { - "if": { - "properties": { - "useRudderStorage": { - "const": false - } - }, - "required": [ - "useRudderStorage" - ] - }, - "then": { - "required": [ - "bucketProvider" - ] - } - }, - { - "if": { - "properties": { - "bucketProvider": { - "const": "S3" - }, - "useRudderStorage": { - "const": false - } - }, - "required": [ - "bucketProvider", - "useRudderStorage" - ] - }, - "then": { - "properties": { - "iamRoleARN": { - "type": "string" - }, - "roleBasedAuth": { - "type": "boolean" - }, - "bucketName": { - "type": "string", - "pattern": "(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$" - }, - "accessKeyID": { - "type": "string", - "pattern": "(^env[.].+)|^(.{0,100})$" - }, - "accessKey": { - "type": "string", - "pattern": "(^env[.].+)|^(.{0,100})$" - } - }, - "required": [ - "bucketName", - "accessKeyID", - "accessKey" - ] - } - }, - { - "if": { - "properties": { - "bucketProvider": { - "const": "GCS" - }, - "useRudderStorage": { - "const": false - } - }, - "required": [ - "bucketProvider", - "useRudderStorage" - ] - }, - "then": { - "properties": { - "bucketName": { - "type": "string", - "pattern": "(^env[.].+)|^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$" - }, - "credentials": { - "type": "string", - "pattern": "(^env[.].+)|.+" - } - }, - "required": [ - "bucketName", - "credentials" - ] - } - }, - { - "if": { - "properties": { - "bucketProvider": { - "const": "AZURE_BLOB" - }, - "useRudderStorage": { - "const": false - } - }, - "required": [ - "bucketProvider", - "useRudderStorage" - ] - }, - "then": { - "properties": { - "containerName": { - "type": "string", - "pattern": "(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$" - }, - "accountName": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - } - }, - "required": [ - "containerName", - "accountName" - ], - "anyOf": [ - { - "properties": { - "accountKey": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - } - }, - "required": [ - "accountKey" - ] - }, - { - "properties": { - "sasToken": { - "type": "string", - "pattern": "(^env[.].+)|^(.+)$" - }, - "useSASTokens": { - "const": true - } - }, - "required": [ - "useSASTokens", - "sasToken" - ] - } - ] - } - }, - { - "if": { - "properties": { - "bucketProvider": { - "const": "MINIO" - }, - "useRudderStorage": { - "const": false - } - }, - "required": [ - "bucketProvider", - "useRudderStorage" - ] - }, - "then": { - "properties": { - "bucketName": { - "type": "string", - "pattern": "(^env[.].+)|^((?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$" - }, - "accessKeyID": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - }, - "endPoint": { - "type": "string", - "pattern": "(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,100})$" - }, - "secretAccessKey": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - }, - "useSSL": { - "type": "boolean" - } - }, - "required": [ - "bucketName", - "endPoint", - "accessKeyID", - "secretAccessKey", - "useSSL" - ] - } - } - ], - "additionalProperties": true - } -} \ No newline at end of file diff --git a/data/destinations/azure_synapse/ui_config.json b/data/destinations/azure_synapse/ui_config.json deleted file mode 100644 index d11866654..000000000 --- a/data/destinations/azure_synapse/ui_config.json +++ /dev/null @@ -1,547 +0,0 @@ -{ - "uiConfig": [ - { - "title": "1. Connection Credentials", - "fields": [ - { - "type": "textInput", - "label": "Host", - "value": "host", - "regex": "(?!.*\\.ngrok\\.io)^(.{0,100})$", - "regexErrorMessage": "Invalid Host", - "placeholder": "e.g: azure-synapse.mydomain.com", - "required": true - }, - { - "type": "textInput", - "label": "Database", - "value": "database", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Database", - "placeholder": "e.g: rudderdb", - "required": true - }, - { - "type": "textInput", - "label": "User", - "value": "user", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid User", - "placeholder": "e.g: rudder", - "required": true - }, - { - "type": "textInput", - "label": "Password", - "value": "password", - "placeholder": "e.g: rudder-password", - "regex": ".*", - "required": true - }, - { - "type": "textInput", - "label": "Port", - "value": "port", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Port", - "placeholder": "1433", - "required": true - }, - { - "type": "textInput", - "label": "Namespace", - "labelNote": "Schema name for the warehouse where the tables are created", - "value": "namespace", - "regex": "^((?!pg_|PG_|pG_|Pg_).{0,64})$", - "regexErrorMessage": "Invalid Namespace", - "required": false, - "placeholder": "e.g: rudder-schema", - "footerNote": "Default will be the source name" - }, - { - "type": "singleSelect", - "label": "SSL Mode", - "value": "sslMode", - "options": [ - { - "name": "disable", - "value": "disable" - }, - { - "name": "true", - "value": "true" - }, - { - "name": "false", - "value": "false" - } - ], - "defaultOption": { - "name": "disable", - "value": "disable" - }, - "required": true - }, - { - "type": "singleSelect", - "label": "Sync Frequency", - "value": "syncFrequency", - "options": [ - { - "name": "Every 30 minutes", - "value": "30" - }, - { - "name": "Every 1 hour", - "value": "60" - }, - { - "name": "Every 3 hours", - "value": "180" - }, - { - "name": "Every 6 hours", - "value": "360" - }, - { - "name": "Every 12 hours", - "value": "720" - }, - { - "name": "Every 24 hours", - "value": "1440" - } - ], - "defaultOption": { - "name": "Every 30 minutes", - "value": "30" - }, - "required": false - }, - { - "type": "timePicker", - "label": "Sync Starting At (Optional)", - "value": "syncStartAt", - "options": { - "omitSeconds": true, - "minuteStep": 15 - }, - "required": false, - "footerNote": "Note: Please specify time in UTC" - }, - { - "type": "timeRangePicker", - "label": "Exclude window (Optional)", - "value": "excludeWindow", - "startTime": { - "label": "start time", - "value": "excludeWindowStartTime" - }, - "endTime": { - "label": "end time", - "value": "excludeWindowEndTime" - }, - "options": { - "omitSeconds": true, - "minuteStep": 1 - }, - "required": false, - "footerNote": "Note: Please specify time in UTC" - } - ] - }, - { - "title": "Object Storage Configuration", - "fields": [ - { - "type": "checkbox", - "label": "Use RudderStack managed object storage", - "value": "useRudderStorage", - "default": false, - "footerNote": "Note: Only available for RudderStack managed data planes" - }, - { - "type": "singleSelect", - "label": "Choose your Storage Provider", - "value": "bucketProvider", - "options": [ - { - "name": "S3", - "value": "S3" - }, - { - "name": "GCS", - "value": "GCS" - }, - { - "name": "AZURE_BLOB", - "value": "AZURE_BLOB" - }, - { - "name": "MINIO", - "value": "MINIO" - } - ], - "defaultOption": { - "name": "MINIO", - "value": "MINIO" - }, - "required": true, - "preRequisiteField": { - "name": "useRudderStorage", - "selectedValue": false - } - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "S3" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "Staging S3 Storage Bucket Name", - "labelNote": "S3 Bucket to store data before loading into AzureSynapse", - "value": "bucketName", - "regex": "^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$", - "regexErrorMessage": "Invalid Staging S3 Storage Bucket Name", - "placeholder": "e.g: s3-event-logs", - "required": true, - "footerNote": "Please make sure the bucket exists in your S3" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "GCS" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "Staging GCS Object Storage Bucket Name", - "labelNote": "GCS Bucket to store data before loading into AzureSynapse", - "value": "bucketName", - "regex": "^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$", - "regexErrorMessage": "Invalid Staging GCS Object Storage Bucket Name", - "placeholder": "e.g: gcs-event-logs", - "required": true, - "footerNote": "Please make sure the bucket exists in your GCS" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "AZURE_BLOB" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "Staging Azure Blob Storage Container Name", - "labelNote": "Container to store data before loading into AzureSynapse", - "value": "containerName", - "regex": "^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$", - "regexErrorMessage": "Invalid Staging Azure Blob Storage Container Name", - "required": true, - "placeholder": "e.g: azure-event-logs", - "footerNote": "Please make sure the container exists in your Azure Blob Storage" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "MINIO" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "Staging MINIO Storage Bucket Name", - "labelNote": "MINIO Bucket to store data before loading into AzureSynapse", - "value": "bucketName", - "regex": "^((?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$", - "regexErrorMessage": "Invalid Staging MINIO Storage Bucket Name", - "required": true, - "placeholder": "e.g: minio-event-logs", - "footerNote": "Please make sure the bucket exists in your MINIO" - }, - { - "type": "checkbox", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "S3" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "Role Based Authentication", - "value": "roleBasedAuth", - "default": false - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "S3" - }, - { - "name": "useRudderStorage", - "selectedValue": false - }, - { - "name": "roleBasedAuth", - "selectedValue": true - } - ], - "label": "IAM Role ARN", - "value": "iamRoleARN", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Role ARN", - "required": true, - "placeholder": "e.g: arn:aws:iam::123456789012:role/S3Access", - "footerURL": { - "link": "https://www.rudderstack.com/docs/destinations/aws-iam-role-for-rudderstack/", - "text": "Instructions for creating IAM Role" - } - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "S3" - }, - { - "name": "useRudderStorage", - "selectedValue": false - }, - { - "name": "roleBasedAuth", - "selectedValue": false - } - ], - "label": "AWS Access Key ID", - "value": "accessKeyID", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid AWS Access Key ID", - "required": true, - "placeholder": "e.g: access-key-id" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "S3" - }, - { - "name": "useRudderStorage", - "selectedValue": false - }, - { - "name": "roleBasedAuth", - "selectedValue": false - } - ], - "label": "AWS Secret Access Key", - "value": "accessKey", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid AWS Secret Access Key", - "required": true, - "placeholder": "e.g: secret-access-key" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "AZURE_BLOB" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "Azure Blob Storage Account Name", - "value": "accountName", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Azure Blob Storage Account Name", - "required": true, - "placeholder": "e.g: account-name" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "AZURE_BLOB" - }, - { - "name": "useRudderStorage", - "selectedValue": false - }, - { - "name": "useSASTokens", - "selectedValue": false - } - ], - "label": "Azure Blob Storage Account Key", - "value": "accountKey", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Azure Blob Storage Account Key", - "required": true, - "secret": true, - "placeholder": "e.g: account-key" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "AZURE_BLOB" - }, - { - "name": "useRudderStorage", - "selectedValue": false - }, - { - "name": "useSASTokens", - "selectedValue": true - } - ], - "label": "Azure Blob Storage SAS Token", - "value": "sasToken", - "regex": "^(.+)$", - "regexErrorMessage": "Invalid Azure Blob Storage SAS Token", - "required": true, - "placeholder": "e.g: sas-token", - "secret": true - }, - { - "type": "checkbox", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "AZURE_BLOB" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "Use shared access signature (SAS) Tokens", - "value": "useSASTokens", - "default": false, - "footerNote": "Use this to Grant limited access to Azure Storage resources using shared access signatures (SAS)" - }, - { - "type": "textareaInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "GCS" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "Credentials", - "labelNote": "GCP Service Account credentials JSON for RudderStack to use in loading data into your Google Cloud Storage", - "value": "credentials", - "regex": ".*", - "required": true, - "footerNote": "Create a service account in your GCP Project for RudderStack with roles of 'storage.objectCreator'" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "MINIO" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "MinIO Endpoint", - "value": "endPoint", - "regex": "(?!.*\\.ngrok\\.io)^(.{0,100})$", - "regexErrorMessage": "Invalid MinIO Endpoint", - "required": true, - "placeholder": "e.g: play.min.io:9000" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "MINIO" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "MINIO Access Key ID", - "value": "accessKeyID", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid MinIO Access Key ID", - "required": true, - "placeholder": "e.g: access-key-id" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "MINIO" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "MINIO Secret Access Key", - "value": "secretAccessKey", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid MinIO Secret Access Key", - "required": true, - "placeholder": "e.g: secret-access-key" - }, - { - "type": "checkbox", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "MINIO" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "Use SSL for connection", - "value": "useSSL", - "default": true - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/bingads/db_config.json b/data/destinations/bingads/db_config.json deleted file mode 100644 index 720d5a29a..000000000 --- a/data/destinations/bingads/db_config.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "BINGADS", - "displayName": "Bing Ads", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": false, - "includeKeys": [ - "tagID", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "web" - ], - "destConfig": { - "defaultConfig": [ - "tagID", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [ - "tagID" - ] - } -} \ No newline at end of file diff --git a/data/destinations/bingads/metadata.json b/data/destinations/bingads/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/bingads/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/bingads/schema.json b/data/destinations/bingads/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/bingads/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/blueshift/db_config.json b/data/destinations/blueshift/db_config.json deleted file mode 100644 index 6b42bfc75..000000000 --- a/data/destinations/blueshift/db_config.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "BLUESHIFT", - "displayName": "Blueshift", - "config": { - "transformAt": "router", - "transformAtV1": "router", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "web", - "cloud", - "mobile" - ], - "supportedMessageTypes": [ - "identify", - "track", - "group" - ], - "destConfig": { - "defaultConfig": [ - "eventApiKey", - "usersApiKey", - "dataCenter" - ] - }, - "secretKeys": [ - "eventApiKey", - "usersApiKey" - ] - } -} \ No newline at end of file diff --git a/data/destinations/blueshift/metadata.json b/data/destinations/blueshift/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/blueshift/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/blueshift/schema.json b/data/destinations/blueshift/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/blueshift/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/blueshift/ui_config.json b/data/destinations/blueshift/ui_config.json deleted file mode 100644 index 70f992545..000000000 --- a/data/destinations/blueshift/ui_config.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Event API Key", - "value": "eventApiKey", - "regex": ".*", - "required": false, - "placeholder": "e.g. b4a29aba5e75dkjc8a18acd920ec1e2e", - "secret": true, - "footerNote": "Event API Key from Account Settings > API Keys" - }, - { - "type": "textInput", - "label": "Users API Key", - "value": "usersApiKey", - "regex": ".*", - "required": false, - "placeholder": "e.g. lko89aba5e75d99c8a18acd920ec1e2e", - "secret": true, - "footerNote": "Users API Key from Account Settings > API Keys" - }, - { - "type": "singleSelect", - "label": "Data Center", - "value": "dataCenter", - "mode": "single", - "options": [ - { - "name": "Standard", - "value": "standard" - }, - { - "name": "EU", - "value": "eu" - } - ], - "defaultOption": { - "name": "Standard", - "value": "standard" - }, - "footerNote": "Select your Blueshift Data Center" - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/bq/db_config.json b/data/destinations/bq/db_config.json deleted file mode 100644 index d0f48852e..000000000 --- a/data/destinations/bq/db_config.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name": "BQ", - "displayName": "BigQuery", - "category": "warehouse", - "config": { - "transformAt": "router", - "transformAtV1": "router", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "reactnative", - "cloudSource", - "flutter", - "cordova" - ], - "destConfig": { - "defaultConfig": [ - "project", - "location", - "bucketName", - "credentials", - "prefix", - "namespace", - "syncFrequency", - "syncStartAt", - "excludeWindow", - "jsonPaths" - ] - }, - "secretKeys": [ - "credentials" - ] - } -} \ No newline at end of file diff --git a/data/destinations/bq/metadata.json b/data/destinations/bq/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/bq/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/bq/schema.json b/data/destinations/bq/schema.json deleted file mode 100644 index 654ea931d..000000000 --- a/data/destinations/bq/schema.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema", - "type": "object", - "required": [ - "project", - "bucketName", - "credentials", - "syncFrequency" - ], - "properties": { - "project": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - }, - "location": { - "type": "string", - "pattern": "(^env[.].*)|^(.{0,100})$" - }, - "bucketName": { - "type": "string", - "pattern": "(^env[.].+)|^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$" - }, - "prefix": { - "type": "string", - "pattern": "(^env[.].*)|^(.{0,100})$" - }, - "namespace": { - "type": "string", - "pattern": "(^env[.].*)|^((?!pg_|PG_|pG_|Pg_).{0,64})$" - }, - "credentials": { - "type": "string", - "pattern": "(^env[.].+)|.+" - }, - "syncFrequency": { - "type": "string", - "pattern": "^(30|60|180|360|720|1440)$", - "default": "30" - }, - "syncStartAt": { - "type": "string" - }, - "excludeWindow": { - "type": "object", - "required": [ - "excludeWindowStartTime", - "excludeWindowEndTime" - ], - "properties": { - "excludeWindowStartTime": { - "type": "string" - }, - "excludeWindowEndTime": { - "type": "string" - } - } - }, - "jsonPaths": { - "type": "string", - "pattern": "(^env[.].*)|.*" - } - }, - "additionalProperties": true - } -} \ No newline at end of file diff --git a/data/destinations/bqstream/db_config.json b/data/destinations/bqstream/db_config.json deleted file mode 100644 index a298e494e..000000000 --- a/data/destinations/bqstream/db_config.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "BQSTREAM", - "displayName": "BigQuery Stream", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedMessageTypes": [ - "track" - ], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "reactnative", - "cloudSource", - "flutter", - "cordova", - "warehouse" - ], - "destConfig": { - "defaultConfig": [ - "datasetId", - "tableId", - "projectId", - "credentials", - "insertId" - ] - }, - "secretKeys": [ - "credentials" - ] - } -} \ No newline at end of file diff --git a/data/destinations/bqstream/metadata.json b/data/destinations/bqstream/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/bqstream/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/bqstream/schema.json b/data/destinations/bqstream/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/bqstream/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/bqstream/ui_config.json b/data/destinations/bqstream/ui_config.json deleted file mode 100644 index 91b3611e6..000000000 --- a/data/destinations/bqstream/ui_config.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Project Id", - "value": "projectId", - "required": true, - "placeholder": "my-project-id" - }, - { - "type": "textInput", - "label": "Dataset Id", - "value": "datasetId", - "required": true, - "placeholder": "my-dataset-id" - }, - { - "type": "textInput", - "label": "Table Id", - "value": "tableId", - "required": true, - "placeholder": "my-table-id" - }, - { - "type": "textInput", - "label": "Insert Id", - "labelNote": "Map a column from your payload to enable best effort de-duplication by Google", - "value": "insertId", - "required": false, - "placeholder": "mapped-column-name" - }, - { - "type": "textareaInput", - "subType": "JSON", - "label": "Credentials", - "labelNote": "GCP Service Account credentials JSON for RudderStack to use in loading data into your BigQuery database", - "value": "credentials", - "regex": ".*", - "required": true, - "footerNote": "Create a service account in your GCP Project for RudderStack with roles of 'BigQuery User'", - "secret": true - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/branch/db_config.json b/data/destinations/branch/db_config.json deleted file mode 100644 index 2587ef9ab..000000000 --- a/data/destinations/branch/db_config.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "name": "BRANCH", - "displayName": "Branch Metrics", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "branchKey", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "identify", - "track" - ], - "destConfig": { - "defaultConfig": [ - "branchKey", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "android": [ - "useNativeSDK" - ], - "ios": [ - "useNativeSDK" - ] - }, - "secretKeys": [] - } -} \ No newline at end of file diff --git a/data/destinations/branch/metadata.json b/data/destinations/branch/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/branch/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/branch/schema.json b/data/destinations/branch/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/branch/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/branch/ui_config.json b/data/destinations/branch/ui_config.json deleted file mode 100644 index 7b75240dc..000000000 --- a/data/destinations/branch/ui_config.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "uiConfig": [ - { - "title": "1. Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Branch Key", - "value": "branchKey", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Branch Key", - "required": true, - "placeholder": "e.g: key_live_mfMJCn7WLNeXte2aZIDOeobdrvmbZpgD" - } - ] - }, - { - "title": "2. Native SDK", - "fields": [ - { - "type": "checkbox", - "label": "Use device-mode to send events", - "value": "useNativeSDK", - "default": false - } - ] - }, - { - "title": "3. Client-side Events Filtering", - "sectionNote": "Applicable only for device-mode integrations. If enabled, it works only with either allowlisted or denylisted events", - "fields": [ - { - "type": "singleSelect", - "value": "eventFilteringOption", - "required": false, - "options": [ - { - "name": "Disable", - "value": "disable" - }, - { - "name": "Allowlist", - "value": "whitelistedEvents" - }, - { - "name": "Denylist", - "value": "blacklistedEvents" - } - ], - "defaultOption": { - "name": "Disable", - "value": "disable" - } - }, - { - "type": "dynamicCustomForm", - "value": "whitelistedEvents", - "label": "Allowlist", - "customFields": [ - { - "type": "textInput", - "value": "eventName", - "required": false, - "placeholder": "e.g: Anonymous Page Visit" - } - ] - }, - { - "type": "dynamicCustomForm", - "value": "blacklistedEvents", - "label": "Denylist", - "customFields": [ - { - "type": "textInput", - "value": "eventName", - "required": false, - "placeholder": "e.g: Credit Card Added" - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/braze/db_config.json b/data/destinations/braze/db_config.json deleted file mode 100644 index 0bac3783d..000000000 --- a/data/destinations/braze/db_config.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "name": "BRAZE", - "displayName": "Braze", - "config": { - "isAudienceSupported": true, - "supportsVisualMapper": true, - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "appKey", - "dataCenter", - "trackAnonymousUser", - "enableSubscriptionGroupInGroupCall", - "enableLoggingToConsole", - "enableNestedArrayOperations", - "supportDedup", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "group", - "identify", - "page", - "screen", - "track" - ], - "destConfig": { - "defaultConfig": [ - "appKey", - "dataCenter", - "restApiKey", - "trackAnonymousUser", - "enableSubscriptionGroupInGroupCall", - "enableNestedArrayOperations", - "blacklistedEvents", - "trackAnonymousUser", - "whitelistedEvents", - "eventFilteringOption" - ], - "android": [ - "useNativeSDK", - "supportDedup" - ], - "ios": [ - "useNativeSDK", - "supportDedup" - ], - "reactnative": [ - "useNativeSDK" - ], - "flutter": [ - "useNativeSDK" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories", - "supportDedup" - ] - }, - "secretKeys": [ - "restApiKey" - ] - } -} \ No newline at end of file diff --git a/data/destinations/braze/metadata.json b/data/destinations/braze/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/braze/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/braze/schema.json b/data/destinations/braze/schema.json deleted file mode 100644 index b7c89f021..000000000 --- a/data/destinations/braze/schema.json +++ /dev/null @@ -1,113 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "required": [ - "appKey", - "restApiKey", - "dataCenter" - ], - "type": "object", - "properties": { - "appKey": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "restApiKey": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "dataCenter": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "trackAnonymousUser": { - "type": "boolean" - }, - "enableSubscriptionGroupInGroupCall": { - "type": "boolean" - }, - "enableLoggingToConsole": { - "type": "boolean" - }, - "enableNestedArrayOperations": { - "type": "boolean" - }, - "useNativeSDK": { - "type": "object", - "properties": { - "android": { - "type": "boolean" - }, - "ios": { - "type": "boolean" - }, - "reactnative": { - "type": "boolean" - }, - "web": { - "type": "boolean" - } - } - }, - "supportDedup": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - }, - "android": { - "type": "boolean" - }, - "ios": { - "type": "boolean" - } - } - }, - "eventFilteringOption": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" - }, - "whitelistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "blacklistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,300})$" - } - } - } - }, - "oneTrustCookieCategories": { - "type": "object", - "properties": { - "web": { - "type": "array", - "items": { - "type": "object", - "properties": { - "oneTrustCookieCategory": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } - } - } -} diff --git a/data/destinations/bugsnag/db_config.json b/data/destinations/bugsnag/db_config.json deleted file mode 100644 index db4b57609..000000000 --- a/data/destinations/bugsnag/db_config.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "name": "BUGSNAG", - "displayName": "Bugsnag", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "apiKey", - "releaseStage", - "ssl", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web" - ], - "destConfig": { - "defaultConfig": [ - "apiKey", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "android": [ - "useNativeSDK" - ], - "ios": [ - "useNativeSDK" - ], - "web": [ - "useNativeSDK", - "releaseStage", - "ssl", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [ - "apiKey" - ] - } -} \ No newline at end of file diff --git a/data/destinations/bugsnag/metadata.json b/data/destinations/bugsnag/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/bugsnag/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/bugsnag/schema.json b/data/destinations/bugsnag/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/bugsnag/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/campaign_manager/metadata.json b/data/destinations/campaign_manager/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/campaign_manager/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/campaign_manager/schema.json b/data/destinations/campaign_manager/schema.json deleted file mode 100644 index 7c65e2b4e..000000000 --- a/data/destinations/campaign_manager/schema.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "profileId" - ], - "properties": { - "profileId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,50})$" - }, - "limitAdTracking": { - "type": "boolean" - }, - "childDirectedTreatment": { - "type": "boolean" - }, - "nonPersonalizedAd": { - "type": "boolean" - }, - "treatmentForUnderage": { - "type": "boolean" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/campaign_manager/ui_config.json b/data/destinations/campaign_manager/ui_config.json deleted file mode 100644 index 664ac6f65..000000000 --- a/data/destinations/campaign_manager/ui_config.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Profile ID", - "value": "profileId", - "regex": "^(.{1,50})$", - "regexErrorMessage": "Length of Profile ID must be below 50 characters.", - "required": true, - "secret": false, - "placeholder": "e.g: 641234", - "footerNote": "User profile ID associated with request." - }, - { - "type": "checkbox", - "label": "Limit ad tracking", - "value": "limitAdTracking", - "required": false, - "default": false, - "footerNote": "When set to true, the conversion will be used for reporting but not targeting. This will prevent remarketing." - }, - { - "type": "checkbox", - "label": "Child directed treatment", - "value": "childDirectedTreatment", - "required": false, - "default": false, - "footerNote": "Whether this particular request may come from a user under the age of 13, under COPPA compliance." - }, - { - "type": "checkbox", - "label": "Non personalized ad", - "value": "nonPersonalizedAd", - "required": false, - "default": false, - "footerNote": "Whether the conversion was for a non personalized ad." - }, - { - "type": "checkbox", - "label": "Treatment for underage", - "value": "treatmentForUnderage", - "required": false, - "default": false, - "footerNote": "Whether this particular request may come from a user under the age of 16 (may differ by country), under compliance with the European Union's General Data Protection Regulation (GDPR)." - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/candu/db_config.json b/data/destinations/candu/db_config.json deleted file mode 100644 index 20d5d5583..000000000 --- a/data/destinations/candu/db_config.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "CANDU", - "displayName": "Candu", - "config": { - "transformAt": "router", - "transformAtV1": "router", - "saveDestinationResponse": true, - "includeKeys": [ - "apiKey" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "reactnative", - "flutter", - "cordova", - "warehouse" - ], - "supportedMessageTypes": [ - "identify", - "track" - ], - "destConfig": { - "defaultConfig": [ - "apiKey" - ] - }, - "secretKeys": [ - "apiKey" - ] - } -} \ No newline at end of file diff --git a/data/destinations/candu/metadata.json b/data/destinations/candu/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/candu/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/candu/schema.json b/data/destinations/candu/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/candu/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/candu/ui_config.json b/data/destinations/candu/ui_config.json deleted file mode 100644 index 9253e7aff..000000000 --- a/data/destinations/candu/ui_config.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "API Key", - "value": "apiKey", - "regex": ".*", - "required": true, - "placeholder": "e.g: FXLkULEhGJyvmZ4", - "secret": true - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/canny/db_config.json b/data/destinations/canny/db_config.json deleted file mode 100644 index a61875a4d..000000000 --- a/data/destinations/canny/db_config.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "CANNY", - "displayName": "Canny", - "config": { - "transformAt": "router", - "transformAtV1": "router", - "saveDestinationResponse": true, - "includeKeys": [ - "apiKey", - "eventsToEvents" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "reactnative", - "flutter", - "cordova", - "warehouse" - ], - "supportedMessageTypes": [ - "identify", - "track" - ], - "destConfig": { - "defaultConfig": [ - "apiKey", - "eventsToEvents" - ] - }, - "secretKeys": [ - "apiKey" - ] - } -} \ No newline at end of file diff --git a/data/destinations/canny/metadata.json b/data/destinations/canny/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/canny/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/canny/schema.json b/data/destinations/canny/schema.json deleted file mode 100644 index 6b1acb8ca..000000000 --- a/data/destinations/canny/schema.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "apiKey" - ], - "properties": { - "apiKey": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "eventsToEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/canny/ui_config.json b/data/destinations/canny/ui_config.json deleted file mode 100644 index cdbe42f61..000000000 --- a/data/destinations/canny/ui_config.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "API Key", - "value": "apiKey", - "regex": "^(.{1,100})$", - "regexErrorMessage": "API Key should be less than 100 characters", - "required": true, - "placeholder": "e.g. 4ac23-drfgbef-hb233j-9034-7dgfeb6y", - "secret": true - } - ] - }, - { - "title": "Event Settings", - "fields": [ - { - "type": "dynamicSelectForm", - "label": "Mapping to trigger Canny Events for the respective Event", - "labelLeft": "Event Name", - "labelRight": "Canny Events", - "value": "eventsToEvents", - "keyLeft": "from", - "keyRight": "to", - "required": false, - "placeholderLeft": "e.g: Submit", - "options": [ - { - "name": "Create Post", - "value": "createPost" - }, - { - "name": "Create Vote", - "value": "createVote" - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/chartbeat/db_config.json b/data/destinations/chartbeat/db_config.json deleted file mode 100644 index 528ba0db1..000000000 --- a/data/destinations/chartbeat/db_config.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "CHARTBEAT", - "displayName": "Chartbeat", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "domain", - "uid", - "sendNameAndCategoryAsTitle", - "video", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "web" - ], - "destConfig": { - "defaultConfig": [ - "domain", - "uid", - "sendNameAndCategoryAsTitle", - "video", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [] - } -} \ No newline at end of file diff --git a/data/destinations/chartbeat/metadata.json b/data/destinations/chartbeat/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/chartbeat/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/chartbeat/schema.json b/data/destinations/chartbeat/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/chartbeat/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/clevertap/db_config.json b/data/destinations/clevertap/db_config.json deleted file mode 100644 index 9efeb06ec..000000000 --- a/data/destinations/clevertap/db_config.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "name": "CLEVERTAP", - "displayName": "CleverTap", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "accountId", - "accountToken", - "passcode", - "region", - "trackAnonymous", - "enableObjectIdMapping", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "identify", - "page", - "screen", - "track", - "alias" - ], - "destConfig": { - "defaultConfig": [ - "accountId", - "accountToken", - "passcode", - "region", - "trackAnonymous", - "enableObjectIdMapping", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ], - "android": [ - "useNativeSDK" - ], - "ios": [ - "useNativeSDK" - ], - "reactnative": [ - "useNativeSDK" - ] - }, - "secretKeys": [ - "passcode" - ] - } -} \ No newline at end of file diff --git a/data/destinations/clevertap/metadata.json b/data/destinations/clevertap/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/clevertap/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/clevertap/schema.json b/data/destinations/clevertap/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/clevertap/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/clickhouse/db_config.json b/data/destinations/clickhouse/db_config.json deleted file mode 100644 index ff9cfce38..000000000 --- a/data/destinations/clickhouse/db_config.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "name": "CLICKHOUSE", - "displayName": "ClickHouse", - "category": "warehouse", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "excludeKeys": [], - "includeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "reactnative", - "cloudSource", - "flutter", - "cordova" - ], - "destConfig": { - "defaultConfig": [ - "host", - "database", - "cluster", - "user", - "password", - "port", - "bucketName", - "bucketProvider", - "containerName", - "iamRoleARN", - "roleBasedAuth", - "accessKeyID", - "accessKey", - "accountKey", - "useSASTokens", - "sasToken", - "accountName", - "credentials", - "secretAccessKey", - "useSSL", - "endPoint", - "prefix", - "syncFrequency", - "syncStartAt", - "enableSSE", - "secure", - "skipVerify", - "caCertificate", - "excludeWindow", - "useRudderStorage" - ] - }, - "secretKeys": [ - "password", - "accessKeyID", - "accessKey", - "accountKey", - "sasToken", - "secretAccessKey", - "credentials" - ] - } -} \ No newline at end of file diff --git a/data/destinations/clickhouse/metadata.json b/data/destinations/clickhouse/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/clickhouse/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/clickhouse/schema.json b/data/destinations/clickhouse/schema.json deleted file mode 100644 index f1e901b16..000000000 --- a/data/destinations/clickhouse/schema.json +++ /dev/null @@ -1,301 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema", - "type": "object", - "required": [ - "host", - "port", - "database", - "user", - "secure", - "syncFrequency", - "useRudderStorage" - ], - "properties": { - "host": { - "type": "string", - "pattern": "(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,100})$" - }, - "port": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - }, - "database": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - }, - "cluster": { - "type": "string", - "pattern": "(^env[.].*)|^(.{0,100})$" - }, - "user": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - }, - "password": { - "type": "string", - "pattern": "(^env[.].*)|.*" - }, - "secure": { - "type": "boolean", - "default": false - }, - "skipVerify": { - "type": "boolean" - }, - "caCertificate": { - "type": "string", - "pattern": "(^env[.].*)|.*" - }, - "syncFrequency": { - "type": "string", - "pattern": "^(30|60|180|360|720|1440)$", - "default": "30" - }, - "syncStartAt": { - "type": "string" - }, - "excludeWindow": { - "type": "object", - "required": [ - "excludeWindowStartTime", - "excludeWindowEndTime" - ], - "properties": { - "excludeWindowStartTime": { - "type": "string" - }, - "excludeWindowEndTime": { - "type": "string" - } - } - }, - "useRudderStorage": { - "type": "boolean", - "default": false - }, - "bucketProvider": { - "type": "string", - "pattern": "^(S3|GCS|AZURE_BLOB|MINIO)$" - } - }, - "allOf": [ - { - "if": { - "properties": { - "secure": { - "const": true - } - }, - "required": [ - "secure" - ] - }, - "then": { - "required": [ - "skipVerify" - ] - } - }, - { - "if": { - "properties": { - "useRudderStorage": { - "const": false - } - }, - "required": [ - "useRudderStorage" - ] - }, - "then": { - "required": [ - "bucketProvider" - ] - } - }, - { - "if": { - "properties": { - "bucketProvider": { - "const": "S3" - }, - "useRudderStorage": { - "const": false - } - }, - "required": [ - "bucketProvider", - "useRudderStorage" - ] - }, - "then": { - "properties": { - "iamRoleARN": { - "type": "string" - }, - "roleBasedAuth": { - "type": "boolean" - }, - "bucketName": { - "type": "string", - "pattern": "(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$" - }, - "accessKeyID": { - "type": "string", - "pattern": "(^env[.].+)|^(.{0,100})$" - }, - "accessKey": { - "type": "string", - "pattern": "(^env[.].+)|^(.{0,100})$" - } - }, - "required": [ - "bucketName", - "accessKeyID", - "accessKey" - ] - } - }, - { - "if": { - "properties": { - "bucketProvider": { - "const": "GCS" - }, - "useRudderStorage": { - "const": false - } - }, - "required": [ - "bucketProvider", - "useRudderStorage" - ] - }, - "then": { - "properties": { - "bucketName": { - "type": "string", - "pattern": "(^env[.].+)|^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$" - }, - "credentials": { - "type": "string", - "pattern": "(^env[.].+)|.+" - } - }, - "required": [ - "bucketName", - "credentials" - ] - } - }, - { - "if": { - "properties": { - "bucketProvider": { - "const": "AZURE_BLOB" - }, - "useRudderStorage": { - "const": false - } - }, - "required": [ - "bucketProvider", - "useRudderStorage" - ] - }, - "then": { - "properties": { - "containerName": { - "type": "string", - "pattern": "(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$" - }, - "accountName": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - } - }, - "required": [ - "containerName", - "accountName" - ], - "anyOf": [ - { - "properties": { - "accountKey": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - } - }, - "required": [ - "accountKey" - ] - }, - { - "properties": { - "sasToken": { - "type": "string", - "pattern": "(^env[.].+)|^(.+)$" - }, - "useSASTokens": { - "const": true - } - }, - "required": [ - "useSASTokens", - "sasToken" - ] - } - ] - } - }, - { - "if": { - "properties": { - "bucketProvider": { - "const": "MINIO" - }, - "useRudderStorage": { - "const": false - } - }, - "required": [ - "bucketProvider", - "useRudderStorage" - ] - }, - "then": { - "properties": { - "bucketName": { - "type": "string", - "pattern": "(^env[.].+)|^((?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$" - }, - "accessKeyID": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - }, - "endPoint": { - "type": "string", - "pattern": "(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,100})$" - }, - "secretAccessKey": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - }, - "useSSL": { - "type": "boolean" - } - }, - "required": [ - "bucketName", - "endPoint", - "accessKeyID", - "secretAccessKey", - "useSSL" - ] - } - } - ], - "additionalProperties": true - } -} \ No newline at end of file diff --git a/data/destinations/clickhouse/ui_config.json b/data/destinations/clickhouse/ui_config.json deleted file mode 100644 index 1aad03815..000000000 --- a/data/destinations/clickhouse/ui_config.json +++ /dev/null @@ -1,552 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Credentials", - "fields": [ - { - "type": "textInput", - "label": "Host", - "value": "host", - "regex": "(?!.*\\.ngrok\\.io)^(.{0,100})$$", - "regexErrorMessage": "Invalid Host", - "placeholder": "e.g: clickhouse.mydomain.com", - "required": true - }, - { - "type": "textInput", - "label": "Port", - "value": "port", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Port", - "placeholder": "9000", - "required": true - }, - { - "type": "textInput", - "label": "Database", - "value": "database", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Database", - "placeholder": "e.g: default", - "required": true - }, - { - "type": "textInput", - "label": "Cluster", - "value": "cluster", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Cluster", - "placeholder": "e.g: cluster_name", - "required": false - }, - { - "type": "textInput", - "label": "User", - "value": "user", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid User", - "placeholder": "e.g: default", - "required": true - }, - { - "type": "textInput", - "label": "Password", - "value": "password", - "regex": ".*", - "placeholder": "e.g: rudder-pasword", - "required": false, - "secret": true - }, - { - "type": "checkbox", - "label": "Secure", - "value": "secure", - "default": false - }, - { - "type": "checkbox", - "preRequisiteField": { - "name": "secure", - "selectedValue": true - }, - "label": "Skip verify", - "value": "skipVerify", - "default": false, - "footerNote": "If you are using self signed certificates set this field to true" - }, - { - "type": "textareaInput", - "preRequisiteField": { - "name": "secure", - "selectedValue": true - }, - "label": "CA certificate", - "value": "caCertificate", - "regex": ".*", - "required": false, - "placeholder": "CA Certificate" - }, - { - "type": "singleSelect", - "label": "Sync Frequency", - "value": "syncFrequency", - "options": [ - { - "name": "Every 30 minutes", - "value": "30" - }, - { - "name": "Every 1 hour", - "value": "60" - }, - { - "name": "Every 3 hours", - "value": "180" - }, - { - "name": "Every 6 hours", - "value": "360" - }, - { - "name": "Every 12 hours", - "value": "720" - }, - { - "name": "Every 24 hours", - "value": "1440" - } - ], - "defaultOption": { - "name": "Every 30 minutes", - "value": "30" - }, - "required": false - }, - { - "type": "timePicker", - "label": "Sync Starting At (Optional)", - "value": "syncStartAt", - "options": { - "omitSeconds": true, - "minuteStep": 15 - }, - "required": false, - "footerNote": "Note: Please specify time in UTC" - }, - { - "type": "timeRangePicker", - "label": "Exclude window (Optional)", - "value": "excludeWindow", - "startTime": { - "label": "start time", - "value": "excludeWindowStartTime" - }, - "endTime": { - "label": "end time", - "value": "excludeWindowEndTime" - }, - "options": { - "omitSeconds": true, - "minuteStep": 1 - }, - "required": false, - "footerNote": "Note: Please specify time in UTC" - } - ] - }, - { - "title": "Object Storage Configuration", - "fields": [ - { - "type": "checkbox", - "label": "Use RudderStack managed object storage", - "value": "useRudderStorage", - "default": false, - "footerNote": "Note: Only available for RudderStack managed data planes" - }, - { - "type": "singleSelect", - "label": "Choose your Storage Provider", - "value": "bucketProvider", - "options": [ - { - "name": "S3", - "value": "S3" - }, - { - "name": "GCS", - "value": "GCS" - }, - { - "name": "AZURE_BLOB", - "value": "AZURE_BLOB" - }, - { - "name": "MINIO", - "value": "MINIO" - } - ], - "defaultOption": { - "name": "S3", - "value": "S3" - }, - "required": true, - "preRequisiteField": { - "name": "useRudderStorage", - "selectedValue": false - } - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "S3" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "Staging S3 Storage Bucket Name", - "labelNote": "S3 Bucket to store data before loading into ClickHouse", - "value": "bucketName", - "regex": "^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$", - "regexErrorMessage": "Invalid Staging S3 Storage Bucket Name", - "required": true, - "placeholder": "e.g: s3-event-logs", - "footerNote": "Please make sure the bucket exists in your S3" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "GCS" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "Staging GCS Object Storage Bucket Name", - "labelNote": "GCS Bucket to store data before loading into ClickHouse", - "value": "bucketName", - "regex": "^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$", - "regexErrorMessage": "Invalid Staging GCS Object Storage Bucket Name", - "required": true, - "placeholder": "e.g: gcs-event-logs", - "footerNote": "Please make sure the bucket exists in your GCS" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "AZURE_BLOB" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "Staging Azure Blob Storage Container Name", - "labelNote": "Container to store data before loading into ClickHouse", - "value": "containerName", - "regex": "^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$", - "regexErrorMessage": "Invalid Staging Azure Blob Storage Container Name", - "required": true, - "placeholder": "e.g: azure-event-logs", - "footerNote": "Please make sure the container exists in your Azure Blob Storage" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "MINIO" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "Staging MINIO Storage Bucket Name", - "labelNote": "MINIO Bucket to store data before loading into ClickHouse", - "value": "bucketName", - "regex": "^((?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$", - "regexErrorMessage": "Invalid Staging MINIO Storage Bucket Name", - "required": true, - "placeholder": "e.g: minio-event-logs", - "footerNote": "Please make sure the bucket exists in your MINIO" - }, - { - "type": "checkbox", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "S3" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "Role Based Authentication", - "value": "roleBasedAuth", - "default": false - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "S3" - }, - { - "name": "useRudderStorage", - "selectedValue": false - }, - { - "name": "roleBasedAuth", - "selectedValue": true - } - ], - "label": "IAM Role ARN", - "value": "iamRoleARN", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Role ARN", - "required": true, - "placeholder": "e.g: arn:aws:iam::123456789012:role/S3Access", - "footerURL": { - "link": "https://www.rudderstack.com/docs/destinations/aws-iam-role-for-rudderstack/", - "text": "Instructions for creating IAM Role" - } - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "S3" - }, - { - "name": "useRudderStorage", - "selectedValue": false - }, - { - "name": "roleBasedAuth", - "selectedValue": false - } - ], - "label": "AWS Access Key ID", - "value": "accessKeyID", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid AWS Access Key ID", - "required": true, - "placeholder": "e.g: access-key-id" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "S3" - }, - { - "name": "useRudderStorage", - "selectedValue": false - }, - { - "name": "roleBasedAuth", - "selectedValue": false - } - ], - "label": "AWS Secret Access Key", - "value": "accessKey", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid AWS Secret Access Key", - "required": true, - "placeholder": "e.g: secret-access-key" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "AZURE_BLOB" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "Azure Blob Storage Account Name", - "value": "accountName", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Azure Blob Storage Account Name", - "required": true, - "placeholder": "e.g: account-name" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "AZURE_BLOB" - }, - { - "name": "useRudderStorage", - "selectedValue": false - }, - { - "name": "useSASTokens", - "selectedValue": false - } - ], - "label": "Azure Blob Storage Account Key", - "value": "accountKey", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Azure Blob Storage Account Key", - "required": true, - "secret": true, - "placeholder": "e.g: account-key" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "AZURE_BLOB" - }, - { - "name": "useRudderStorage", - "selectedValue": false - }, - { - "name": "useSASTokens", - "selectedValue": true - } - ], - "label": "Azure Blob Storage SAS Token", - "value": "sasToken", - "regex": "^(.+)$", - "regexErrorMessage": "Invalid Azure Blob Storage SAS Token", - "required": true, - "placeholder": "e.g: sas-token", - "secret": true - }, - { - "type": "checkbox", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "AZURE_BLOB" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "Use shared access signature (SAS) Tokens", - "value": "useSASTokens", - "default": false, - "footerNote": "Use this to Grant limited access to Azure Storage resources using shared access signatures (SAS)" - }, - { - "type": "textareaInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "GCS" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "Credentials", - "labelNote": "GCP Service Account credentials JSON for RudderStack to use in loading data into your Google Cloud Storage", - "value": "credentials", - "regex": ".*", - "regexErrorMessage": "Invalid Credentials", - "required": true, - "footerNote": "Create a service account in your GCP Project for RudderStack with roles of 'storage.objectCreator'" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "MINIO" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "MinIO Endpoint", - "value": "endPoint", - "regex": "(?!.*\\.ngrok\\.io)^(.{0,100})$", - "regexErrorMessage": "Invalid MinIO Endpoint", - "required": true, - "placeholder": "e.g: play.min.io:9000" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "MINIO" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "MINIO Access Key ID", - "value": "accessKeyID", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid MINIO Access Key ID", - "required": true, - "placeholder": "e.g: access-key-id" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "MINIO" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "MINIO Secret Access Key", - "value": "secretAccessKey", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid MINIO Secret Access Key", - "required": true, - "placeholder": "e.g: secret-access-key" - }, - { - "type": "checkbox", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "MINIO" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "Use SSL for connection", - "value": "useSSL", - "default": true - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/clickup/db_config.json b/data/destinations/clickup/db_config.json deleted file mode 100644 index 4eb465111..000000000 --- a/data/destinations/clickup/db_config.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "CLICKUP", - "displayName": "ClickUp", - "config": { - "transformAt": "router", - "transformAtV1": "router", - "saveDestinationResponse": true, - "includeKeys": [ - "apiToken", - "listId", - "keyToCustomFieldName", - "whitelistedEvents" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "reactnative", - "flutter", - "cordova", - "warehouse" - ], - "supportedMessageTypes": [ - "track" - ], - "destConfig": { - "defaultConfig": [ - "apiToken", - "listId", - "keyToCustomFieldName", - "whitelistedEvents" - ] - }, - "secretKeys": [ - "apiToken" - ] - } -} \ No newline at end of file diff --git a/data/destinations/clickup/metadata.json b/data/destinations/clickup/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/clickup/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/clickup/schema.json b/data/destinations/clickup/schema.json deleted file mode 100644 index 676391a1a..000000000 --- a/data/destinations/clickup/schema.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "apiToken", - "listId" - ], - "properties": { - "apiToken": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "listId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "keyToCustomFieldName": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "whitelistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/clickup/ui_config.json b/data/destinations/clickup/ui_config.json deleted file mode 100644 index 70cb9a9ea..000000000 --- a/data/destinations/clickup/ui_config.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "API Token", - "value": "apiToken", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid API Token", - "required": true, - "placeholder": "e.g. pk_880343042_1W64ZBPLP71H5YAYAUEJHSRL", - "secret": true, - "footerNote": "Your API Token" - }, - { - "type": "textInput", - "label": "List ID", - "value": "listId", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid List ID", - "required": true, - "placeholder": "e.g. 175496000", - "secret": false, - "footerNote": "Default List To Create New Task" - } - ] - }, - { - "title": "Custom Fields", - "fields": [ - { - "type": "dynamicForm", - "label": "Mapping to add custom fields while creating a task", - "value": "keyToCustomFieldName", - "required": false, - "labelRight": "ClickUp Custom Field Name", - "labelLeft": "Rudder Payload Property", - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g: abc", - "placeholderRight": "e.g: Industry", - "footerNote": "Map Rudder Properties to ClickUp Custom Fields. Here, properties will be fetched from properties object(message.properties). You can provide multiple Custom Fields of different Lists. Custom field name must be unique within a list to create a task successfully." - } - ] - }, - { - "title": "Client-side Events Filtering", - "fields": [ - { - "type": "dynamicCustomForm", - "value": "whitelistedEvents", - "label": "Allowlist", - "footerNote": "Events not included in the Allowlist will be discarded.", - "customFields": [ - { - "type": "textInput", - "value": "eventName", - "required": false, - "placeholder": "e.g: Anonymous Page Visit" - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/confluent_cloud/db_config.json b/data/destinations/confluent_cloud/db_config.json deleted file mode 100644 index 305983f64..000000000 --- a/data/destinations/confluent_cloud/db_config.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "CONFLUENT_CLOUD", - "displayName": "Confluent Cloud", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "destConfig": { - "defaultConfig": [ - "bootstrapServer", - "topic", - "apiKey", - "apiSecret" - ] - }, - "secretKeys": [ - "apiSecret" - ] - } -} \ No newline at end of file diff --git a/data/destinations/confluent_cloud/metadata.json b/data/destinations/confluent_cloud/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/confluent_cloud/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/confluent_cloud/schema.json b/data/destinations/confluent_cloud/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/confluent_cloud/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/confluent_cloud/ui_config.json b/data/destinations/confluent_cloud/ui_config.json deleted file mode 100644 index b4919e58b..000000000 --- a/data/destinations/confluent_cloud/ui_config.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Bootstrap server", - "value": "bootstrapServer", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Bootstrap server", - "required": true, - "placeholder": "e.g: test.region.provider.confluent.cloud:9092" - }, - { - "type": "textInput", - "label": "Topic Name", - "value": "topic", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Topic Name", - "required": true, - "placeholder": "e.g: test-topic" - }, - { - "type": "textInput", - "label": "API Key", - "value": "apiKey", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid API Key", - "required": true, - "placeholder": "PHGHQ3SPPQXAX9GC" - }, - { - "type": "textInput", - "label": "API Secret", - "value": "apiSecret", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid API Secret", - "required": true, - "placeholder": "xN9LCvHf5gX6lcifpDQPH7Hjx8RgQjO2PCqkZqAy//TAYQXYd4YxXWsxCtMKDmVm", - "secret": true - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/convertflow/db_config.json b/data/destinations/convertflow/db_config.json deleted file mode 100644 index 043e6f573..000000000 --- a/data/destinations/convertflow/db_config.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "name": "CONVERTFLOW", - "displayName": "Convertflow", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "websiteId", - "toggleToSendData", - "eventsList", - "eventsMappping", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "web" - ], - "supportedMessageTypes": [ - "identify" - ], - "destConfig": { - "defaultConfig": [ - "websiteId", - "toggleToSendData", - "eventsList", - "eventsMappping", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [ - "websiteId" - ] - } -} \ No newline at end of file diff --git a/data/destinations/convertflow/metadata.json b/data/destinations/convertflow/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/convertflow/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/convertflow/schema.json b/data/destinations/convertflow/schema.json deleted file mode 100644 index cbeccbc03..000000000 --- a/data/destinations/convertflow/schema.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "websiteId" - ], - "properties": { - "websiteId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,10})$" - }, - "toggleToSendData": { - "type": "boolean" - }, - "eventsList": { - "type": "string", - "pattern": "^(cfReady|cfView|cfConversion|cfCompletion|cfAddToCart|cfSubmit|cfClose)$" - }, - "eventsMappping": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "whitelistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "blacklistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "useNativeSDK": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "oneTrustCookieCategories": { - "type": "object", - "properties": { - "web": { - "type": "array", - "items": { - "type": "object", - "properties": { - "oneTrustCookieCategory": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/criteo/db_config.json b/data/destinations/criteo/db_config.json deleted file mode 100644 index 90674b6e4..000000000 --- a/data/destinations/criteo/db_config.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "name": "CRITEO", - "displayName": "Criteo", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "accountId", - "homePageUrl", - "hashMethod", - "fieldMapping", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption", - "eventsToStandard" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "web" - ], - "destConfig": { - "defaultConfig": [ - "accountId", - "homePageUrl", - "hashMethod", - "fieldMapping", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption", - "eventsToStandard" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [ - "accountId" - ] - } -} \ No newline at end of file diff --git a/data/destinations/criteo/metadata.json b/data/destinations/criteo/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/criteo/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/criteo/schema.json b/data/destinations/criteo/schema.json deleted file mode 100644 index b57d76a57..000000000 --- a/data/destinations/criteo/schema.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "required": [ - "accountId" - ], - "type": "object", - "properties": { - "accountId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[1-9]+$" - }, - "homePageUrl": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,100})$" - }, - "hashMethod": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "fieldMapping": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "whitelistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "blacklistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "oneTrustCookieCategories": { - "type": "object", - "properties": { - "web": { - "type": "array", - "items": { - "type": "object", - "properties": { - "oneTrustCookieCategory": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - }, - "eventFilteringOption": { - "type": "string", - "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" - }, - "eventsToStandard": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "useNativeSDK": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/custify/db_config.json b/data/destinations/custify/db_config.json deleted file mode 100644 index 90e7609ed..000000000 --- a/data/destinations/custify/db_config.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "CUSTIFY", - "displayName": "Custify", - "config": { - "transformAt": "router", - "transformAtV1": "router", - "saveDestinationResponse": true, - "includeKeys": [ - "apiKey", - "sendAnonymousId" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "identify", - "group", - "track" - ], - "destConfig": { - "defaultConfig": [ - "apiKey", - "sendAnonymousId" - ] - } - } -} \ No newline at end of file diff --git a/data/destinations/custify/metadata.json b/data/destinations/custify/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/custify/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/custify/schema.json b/data/destinations/custify/schema.json deleted file mode 100644 index e3f0de4ef..000000000 --- a/data/destinations/custify/schema.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "apiKey" - ], - "properties": { - "apiKey": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,61})$" - }, - "sendAnonymousId": { - "type": "boolean" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/custify/ui_config.json b/data/destinations/custify/ui_config.json deleted file mode 100644 index d12c9a99d..000000000 --- a/data/destinations/custify/ui_config.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "API Key", - "value": "apiKey", - "regex": "^(.{0,61})$", - "regexErrorMessage": "Invalid API Key", - "required": true, - "placeholder": "e.g: Tudc...5G4z" - }, - { - "type": "checkbox", - "label": "Fall back to anonymousId if userId is not present", - "value": "sendAnonymousId", - "default": false - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/customerio/db_config.json b/data/destinations/customerio/db_config.json deleted file mode 100644 index bcc2bffe3..000000000 --- a/data/destinations/customerio/db_config.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "name": "CUSTOMERIO", - "displayName": "Customer IO", - "config": { - "supportsVisualMapper": true, - "isAudienceSupported": true, - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "apiKey", - "siteID", - "datacenterEU", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "identify", - "page", - "screen", - "track", - "alias" - ], - "destConfig": { - "defaultConfig": [ - "apiKey", - "siteID", - "datacenterEU", - "deviceTokenEventName", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [] - } -} \ No newline at end of file diff --git a/data/destinations/customerio/metadata.json b/data/destinations/customerio/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/customerio/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/customerio/schema.json b/data/destinations/customerio/schema.json deleted file mode 100644 index dd619330c..000000000 --- a/data/destinations/customerio/schema.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "siteID", - "apiKey" - ], - "properties": { - "siteID": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "apiKey": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "deviceTokenEventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "datacenterEU": { - "type": "boolean" - }, - "useNativeSDK": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "eventFilteringOption": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(^(disable|whitelistedEvents|blacklistedEvents)$)" - }, - "whitelistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "blacklistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "oneTrustCookieCategories": { - "type": "object", - "properties": { - "web": { - "type": "array", - "items": { - "type": "object", - "properties": { - "oneTrustCookieCategory": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/dcm_floodlight/db_config.json b/data/destinations/dcm_floodlight/db_config.json deleted file mode 100644 index fd2c1ce31..000000000 --- a/data/destinations/dcm_floodlight/db_config.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "name": "DCM_FLOODLIGHT", - "displayName": "DCM Floodlight", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "cdkEnabled": true, - "saveDestinationResponse": true, - "includeKeys": [ - "advertiserId", - "activityTag", - "groupTag", - "conversionEvents", - "conversionLinker", - "allowAdPersonalizationSignals", - "tagFormat", - "doubleclickId", - "googleNetworkId", - "eventFilteringOption", - "whitelistedEvents", - "blacklistedEvents", - "oneTrustCookieCategories" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "reactnative", - "flutter", - "cordova", - "warehouse", - "web" - ], - "supportedMessageTypes": [ - "track", - "page" - ], - "destConfig": { - "defaultConfig": [ - "advertiserId", - "activityTag", - "groupTag", - "conversionEvents", - "eventFilteringOption", - "whitelistedEvents", - "blacklistedEvents" - ], - "web": [ - "useNativeSDK", - "conversionLinker", - "allowAdPersonalizationSignals", - "tagFormat", - "doubleclickId", - "googleNetworkId", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [ - "advertiserId" - ] - } -} \ No newline at end of file diff --git a/data/destinations/dcm_floodlight/metadata.json b/data/destinations/dcm_floodlight/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/dcm_floodlight/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/dcm_floodlight/schema.json b/data/destinations/dcm_floodlight/schema.json deleted file mode 100644 index 4bc791e08..000000000 --- a/data/destinations/dcm_floodlight/schema.json +++ /dev/null @@ -1,150 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": ["advertiserId"], - "properties": { - "advertiserId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^([0-9]{0,100})$" - }, - "activityTag": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "groupTag": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "conversionEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "floodlightActivityTag": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "floodlightGroupTag": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "salesTag": { - "type": "boolean" - }, - "customVariables": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^([0-9]{0,100})$" - } - } - } - } - } - } - }, - "eventFilteringOption": { - "type": "string", - "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" - }, - "whitelistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "blacklistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "useNativeSDK": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "tagFormat": { - "type": "string", - "pattern": "(^env[.].+)|^(globalSiteTag|iframeTag)$" - }, - "conversionLinker": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "allowAdPersonalizationSignals": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "doubleclickId": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "googleNetworkId": { - "type": "object", - "properties": { - "web": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - }, - "oneTrustCookieCategories": { - "type": "object", - "properties": { - "web": { - "type": "array", - "items": { - "type": "object", - "properties": { - "oneTrustCookieCategory": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/delighted/db_config.json b/data/destinations/delighted/db_config.json deleted file mode 100644 index 790e17d44..000000000 --- a/data/destinations/delighted/db_config.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "DELIGHTED", - "displayName": "Delighted", - "config": { - "transformAt": "router", - "transformAtV1": "router", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "reactnative", - "flutter", - "cordova", - "warehouse" - ], - "supportedMessageTypes": [ - "alias", - "identify", - "track" - ], - "destConfig": { - "defaultConfig": [ - "apiKey", - "channel", - "delay", - "eventNamesSettings" - ] - }, - "secretKeys": [ - "apiKey" - ] - } -} \ No newline at end of file diff --git a/data/destinations/delighted/metadata.json b/data/destinations/delighted/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/delighted/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/delighted/schema.json b/data/destinations/delighted/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/delighted/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/delighted/ui_config.json b/data/destinations/delighted/ui_config.json deleted file mode 100644 index 97c58bb83..000000000 --- a/data/destinations/delighted/ui_config.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "API Key", - "value": "apiKey", - "regex": ".*", - "required": true, - "placeholder": "e.g. tZrPAgHyn2jMWOVGKrS6gBGLYT8v9kJE", - "secret": true, - "footerNote": "Your API Key" - }, - { - "type": "singleSelect", - "label": "Channel", - "value": "channel", - "required": true, - "placeholder": "Email", - "options": [ - { - "name": "Email", - "value": "email" - }, - { - "name": "SMS", - "value": "sms" - } - ], - "defaultOption": { - "name": "Email", - "value": "email" - } - }, - { - "type": "textInput", - "label": "Delay", - "value": "delay", - "required": false, - "placeholder": "e.g. 60", - "default": "0", - "footerNote": "The amount of seconds to wait before sending the survey email." - } - ] - }, - { - "title": "Event Names", - "fields": [ - { - "type": "dynamicCustomForm", - "value": "eventNamesSettings", - "customFields": [ - { - "type": "textInput", - "label": "Event", - "value": "event", - "required": false, - "placeholder": "e.g: Product Reviewed" - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/deltalake/db_config.json b/data/destinations/deltalake/db_config.json deleted file mode 100644 index dacd60f05..000000000 --- a/data/destinations/deltalake/db_config.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "name": "DELTALAKE", - "displayName": "Databricks (Delta Lake)", - "category": "warehouse", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "cloudSource", - "flutter", - "cordova" - ], - "destConfig": { - "defaultConfig": [ - "host", - "port", - "path", - "token", - "namespace", - "bucketProvider", - "bucketName", - "containerName", - "prefix", - "useSTSTokens", - "iamRoleARN", - "roleBasedAuth", - "accessKeyID", - "accessKey", - "enableSSE", - "accountName", - "accountKey", - "useSASTokens", - "sasToken", - "credentials", - "syncFrequency", - "syncStartAt", - "excludeWindow", - "enableExternalLocation", - "externalLocation" - ] - }, - "secretKeys": [ - "accessKeyID", - "accessKey", - "accountName", - "accountKey", - "sasToken", - "credentials", - "token" - ] - } -} \ No newline at end of file diff --git a/data/destinations/deltalake/metadata.json b/data/destinations/deltalake/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/deltalake/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/deltalake/schema.json b/data/destinations/deltalake/schema.json deleted file mode 100644 index cbe4ad6f3..000000000 --- a/data/destinations/deltalake/schema.json +++ /dev/null @@ -1,248 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema", - "type": "object", - "required": [ - "host", - "port", - "path", - "token", - "syncFrequency", - "bucketProvider" - ], - "properties": { - "host": { - "type": "string", - "pattern": "(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,100})$" - }, - "port": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - }, - "path": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - }, - "token": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - }, - "namespace": { - "type": "string", - "pattern": "(^env[.].*)|^((?!pg_|PG_|pG_|Pg_).{0,64})$" - }, - "syncFrequency": { - "type": "string", - "pattern": "^(30|60|180|360|720|1440)$", - "default": "30" - }, - "syncStartAt": { - "type": "string" - }, - "excludeWindow": { - "type": "object", - "required": [ - "excludeWindowStartTime", - "excludeWindowEndTime" - ], - "properties": { - "excludeWindowStartTime": { - "type": "string" - }, - "excludeWindowEndTime": { - "type": "string" - } - } - }, - "prefix": { - "type": "string", - "pattern": "(^env[.].*)|^(.{0,100})$" - }, - "bucketProvider": { - "type": "string", - "pattern": "^(S3|GCS|AZURE_BLOB)$" - }, - "enableExternalLocation": { - "type": "boolean", - "default": false - } - }, - "allOf": [ - { - "if": { - "properties": { - "enableExternalLocation": { - "const": "true" - } - }, - "required": [ - "enableExternalLocation" - ] - }, - "then": { - "properties": { - "externalLocation": { - "type": "string", - "pattern": "(^env[.].*)|.*" - } - }, - "required": [ - "externalLocation" - ] - } - }, - { - "if": { - "properties": { - "bucketProvider": { - "const": "S3" - } - }, - "required": [ - "bucketProvider" - ] - }, - "then": { - "properties": { - "bucketName": { - "type": "string", - "pattern": "(^env[.].*)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$" - }, - "enableSSE": { - "type": "boolean" - }, - "useSTSTokens": { - "type": "boolean" - } - }, - "required": [ - "bucketName", - "enableSSE", - "useSTSTokens" - ] - }, - "allOf": [ - { - "if": { - "properties": { - "useSTSTokens": { - "const": true - } - }, - "required": [ - "useSTSTokens" - ] - }, - "then": { - "properties": { - "iamRoleARN": { - "type": "string" - }, - "roleBasedAuth": { - "type": "boolean" - }, - "accessKeyID": { - "type": "string", - "pattern": "(^env[.].*)|^(.{0,100})$" - }, - "accessKey": { - "type": "string", - "pattern": "(^env[.].*)|^(.{0,100})$" - } - }, - "required": [ - "accessKeyID", - "accessKey" - ] - } - } - ] - }, - { - "if": { - "properties": { - "bucketProvider": { - "const": "GCS" - } - }, - "required": [ - "bucketProvider" - ] - }, - "then": { - "properties": { - "bucketName": { - "type": "string", - "pattern": "(^env[.].*)|^((?!goog)(?!.*google.*)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$" - }, - "credentials": { - "type": "string", - "pattern": "(^env[.].+)|.+" - } - }, - "required": [ - "bucketName", - "credentials" - ] - } - }, - { - "if": { - "properties": { - "bucketProvider": { - "const": "AZURE_BLOB" - } - }, - "required": [ - "bucketProvider" - ] - }, - "then": { - "properties": { - "containerName": { - "type": "string", - "pattern": "(^env[.].*)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$" - }, - "accountName": { - "type": "string", - "pattern": "(^env[.].*)|^(.{1,100})$" - } - }, - "required": [ - "containerName", - "accountName" - ], - "anyOf": [ - { - "properties": { - "accountKey": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - } - }, - "required": [ - "accountKey" - ] - }, - { - "properties": { - "sasToken": { - "type": "string", - "pattern": "(^env[.].+)|^(.+)$" - }, - "useSASTokens": { - "const": true - } - }, - "required": [ - "useSASTokens", - "sasToken" - ] - } - ] - } - } - ], - "additionalProperties": true - } -} \ No newline at end of file diff --git a/data/destinations/deltalake/ui_config.json b/data/destinations/deltalake/ui_config.json deleted file mode 100644 index a344479ae..000000000 --- a/data/destinations/deltalake/ui_config.json +++ /dev/null @@ -1,439 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Credentials", - "fields": [ - { - "type": "textInput", - "label": "Host", - "value": "host", - "regex": "(?!.*\\.ngrok\\.io)^(.{1,100})$", - "regexErrorMessage": "Invalid Host", - "placeholder": "xxx.cloud.databricks.com", - "required": true - }, - { - "type": "textInput", - "label": "Port", - "value": "port", - "regex": "^(.{1,100})$", - "regexErrorMessage": "Invalid Port", - "placeholder": "443", - "required": true - }, - { - "type": "textInput", - "label": "HTTP Path", - "value": "path", - "regex": "^(.{1,100})$", - "regexErrorMessage": "Invalid HTTP Path", - "placeholder": "sql/protocolv1/o// or /sql/1.0/endpoints/", - "required": true - }, - { - "type": "textInput", - "label": "Personal Access Token", - "value": "token", - "regex": "^(.{1,100})$", - "regexErrorMessage": "Invalid Access Token", - "placeholder": "e.g: ", - "required": true, - "secret": true - }, - { - "type": "checkbox", - "label": "Enable delta tables creation in an external location", - "value": "enableExternalLocation", - "default": false - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "enableExternalLocation", - "selectedValue": true - } - ], - "label": "External delta table location", - "value": "externalLocation", - "regex": "^(.{1,100})$", - "regexErrorMessage": "Invalid External Delta Table Location", - "placeholder": "/path/to/delta/table", - "required": true, - "footerNote": "This can only be applied to the new delta tables created by RudderStack. For already existing tables, RudderStack do not recreate the tables again.", - "footerURL": { - "link": "https://www.rudderstack.com/docs/data-warehouse-integrations/delta-lake/#faqs", - "text": "Please refer to the FAQs section, before you wanted to make any changes around managed and unmanaged tables provided by the Databricks." - } - }, - { - "type": "textInput", - "label": "Namespace", - "labelNote": "Schema name for the warehouse where the tables are created", - "value": "namespace", - "regex": "^((?!pg_|PG_|pG_|Pg_).{0,64})$", - "regexErrorMessage": "Invalid Namespace", - "required": false, - "placeholder": "e.g: iosSource", - "footerNote": "Default will be the source name" - }, - { - "type": "singleSelect", - "label": "Sync Frequency", - "value": "syncFrequency", - "options": [ - { - "name": "Every 30 minutes", - "value": "30" - }, - { - "name": "Every 1 hour", - "value": "60" - }, - { - "name": "Every 3 hours", - "value": "180" - }, - { - "name": "Every 6 hours", - "value": "360" - }, - { - "name": "Every 12 hours", - "value": "720" - }, - { - "name": "Every 24 hours", - "value": "1440" - } - ], - "defaultOption": { - "name": "Every 30 minutes", - "value": "30" - }, - "required": false - }, - { - "type": "timePicker", - "label": "Sync Starting At (Optional)", - "value": "syncStartAt", - "options": { - "omitSeconds": true, - "minuteStep": 15 - }, - "required": false, - "footerNote": "Note: Please specify time in UTC" - }, - { - "type": "timeRangePicker", - "label": "Exclude window (Optional)", - "value": "excludeWindow", - "startTime": { - "label": "start time", - "value": "excludeWindowStartTime" - }, - "endTime": { - "label": "end time", - "value": "excludeWindowEndTime" - }, - "options": { - "omitSeconds": true, - "minuteStep": 1 - }, - "required": false, - "footerNote": "Note: Please specify time in UTC" - } - ] - }, - { - "title": "Object Storage Configuration", - "fields": [ - { - "type": "singleSelect", - "label": "Choose your Storage Provider", - "value": "bucketProvider", - "options": [ - { - "name": "S3", - "value": "S3" - }, - { - "name": "GCS", - "value": "GCS" - }, - { - "name": "AZURE_BLOB", - "value": "AZURE_BLOB" - } - ], - "defaultOption": { - "name": "S3", - "value": "S3" - }, - "required": true - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "S3" - } - ], - "label": "Staging S3 Storage Bucket Name", - "labelNote": "S3 Bucket to store data before loading into DeltaLake", - "value": "bucketName", - "regex": "^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$", - "regexErrorMessage": "Invalid Staging S3 Storage Bucket Name", - "required": true, - "placeholder": "e.g: s3-event-logs", - "footerNote": "Please make sure the bucket exists in your S3" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "GCS" - } - ], - "label": "Staging GCS Object Storage Bucket Name", - "labelNote": "GCS Bucket to store data before loading into DeltaLake", - "value": "bucketName", - "regex": "^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$", - "regexErrorMessage": "Invalid Staging GCS Object Storage Bucket Name", - "required": true, - "placeholder": "e.g: gcs-event-logs", - "footerNote": "Please make sure the bucket exists in your GCS" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "AZURE_BLOB" - } - ], - "label": "Staging Azure Blob Storage Container Name", - "labelNote": "Container to store data before loading into DeltaLake", - "value": "containerName", - "regex": "^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$", - "regexErrorMessage": "Invalid Staging Azure Blob Storage Container Name", - "required": true, - "placeholder": "e.g: azure-event-logs", - "footerNote": "Please make sure the container exists in your Azure Blob Storage" - }, - { - "type": "textInput", - "label": "Prefix", - "value": "prefix", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Prefix", - "required": false, - "placeholder": "e.g: rudder" - }, - { - "type": "checkbox", - "label": "Use STS Tokens to copy staging files", - "value": "useSTSTokens", - "default": false, - "footerNote": "Note: This feature is only supported with databricks S3A client.", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "S3" - } - ] - }, - { - "type": "checkbox", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "S3" - }, - { - "name": "useSTSTokens", - "selectedValue": true - } - ], - "label": "Role Based Authentication", - "value": "roleBasedAuth", - "default": false - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "S3" - }, - { - "name": "useSTSTokens", - "selectedValue": true - }, - { - "name": "roleBasedAuth", - "selectedValue": true - } - ], - "label": "IAM Role ARN", - "value": "iamRoleARN", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Role ARN", - "required": true, - "placeholder": "e.g: arn:aws:iam::123456789012:role/S3Access", - "footerURL": { - "link": "https://www.rudderstack.com/docs/destinations/aws-iam-role-for-rudderstack/", - "text": "Instructions for creating IAM Role" - } - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "S3" - }, - { - "name": "useSTSTokens", - "selectedValue": true - }, - { - "name": "roleBasedAuth", - "selectedValue": false - } - ], - "label": "AWS Access Key ID", - "value": "accessKeyID", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid AWS Access Key ID", - "required": true, - "placeholder": "e.g: access-key-id", - "secret": true - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "S3" - }, - { - "name": "useSTSTokens", - "selectedValue": true - }, - { - "name": "roleBasedAuth", - "selectedValue": false - } - ], - "label": "AWS Secret Access Key", - "value": "accessKey", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid AWS Secret Access Key", - "required": true, - "placeholder": "e.g: secret-access-key", - "secret": true - }, - { - "type": "checkbox", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "S3" - } - ], - "label": "Enable Server Side Encryption For S3?", - "value": "enableSSE", - "default": false - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "AZURE_BLOB" - } - ], - "label": "Azure Blob Storage Account Name", - "value": "accountName", - "regex": "^(.{1,100})$", - "regexErrorMessage": "Invalid Azure Blob Storage Account Name", - "required": true, - "secret": true, - "placeholder": "e.g: account-name" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "AZURE_BLOB" - }, - { - "name": "useSASTokens", - "selectedValue": false - } - ], - "label": "Azure Blob Storage Account Key", - "value": "accountKey", - "regex": "^(.{1,100})$", - "regexErrorMessage": "Invalid Azure Blob Storage Account Key", - "required": true, - "secret": true, - "placeholder": "e.g: account-key" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "AZURE_BLOB" - }, - { - "name": "useSASTokens", - "selectedValue": true - } - ], - "label": "Azure Blob Storage SAS Token", - "value": "sasToken", - "regex": "^(.+)$", - "regexErrorMessage": "Invalid Azure Blob Storage SAS Token", - "required": true, - "placeholder": "e.g: sas-token", - "secret": true - }, - { - "type": "checkbox", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "AZURE_BLOB" - } - ], - "label": "Use shared access signature (SAS) Tokens", - "value": "useSASTokens", - "default": false, - "footerNote": "Use this to Grant limited access to Azure Storage resources using shared access signatures (SAS)" - }, - { - "type": "textareaInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "GCS" - } - ], - "label": "Credentials", - "labelNote": "GCP Service Account credentials JSON for RudderStack to use in loading data into your Google Cloud Storage", - "value": "credentials", - "regex": ".*", - "required": true, - "secret": true, - "footerNote": "Create a service account in your GCP Project for RudderStack with roles of 'storage.objectCreator'" - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/digital_ocean_spaces/db_config.json b/data/destinations/digital_ocean_spaces/db_config.json deleted file mode 100644 index 3640054df..000000000 --- a/data/destinations/digital_ocean_spaces/db_config.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "DIGITAL_OCEAN_SPACES", - "displayName": "DigitalOcean Spaces", - "config": { - "transformAt": "none", - "transformAtV1": "none", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "cordova", - "warehouse", - "reactnative", - "flutter" - ], - "destConfig": { - "defaultConfig": [ - "endPoint", - "accessKeyID", - "accessKey", - "bucketName", - "prefix" - ] - }, - "secretKeys": [ - "accessKeyID", - "secretAccessKey" - ] - } -} \ No newline at end of file diff --git a/data/destinations/digital_ocean_spaces/metadata.json b/data/destinations/digital_ocean_spaces/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/digital_ocean_spaces/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/digital_ocean_spaces/schema.json b/data/destinations/digital_ocean_spaces/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/digital_ocean_spaces/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/digital_ocean_spaces/ui_config.json b/data/destinations/digital_ocean_spaces/ui_config.json deleted file mode 100644 index 4ad8ad1f7..000000000 --- a/data/destinations/digital_ocean_spaces/ui_config.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "uiConfig": [ - { - "title": "1. Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "DigitalOcean Spaces Endpoint", - "value": "endPoint", - "regex": "(?!.*\\.ngrok\\.io)^(.{0,100})$", - "regexErrorMessage": "Invalid DigitalOcean Spaces Endpoint", - "required": true, - "placeholder": "e.g: sgp1.digitaloceanspaces.com", - "footerNote": "Please make sure to include region in endpoint" - }, - { - "type": "textInput", - "label": "Spaces Access Key ID", - "value": "accessKeyID", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Spaces Access Key ID", - "required": true, - "placeholder": "e.g: CYKPHWDRAFHTHABAVGF6", - "secret": true - }, - { - "type": "textInput", - "label": "Spaces Access Key Secret", - "value": "accessKey", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Spaces Access Key Secret", - "required": true, - "placeholder": "e.g: zuftfteSlswRu7BJ86wekitnifILbZam1KYY3TG", - "secret": true - }, - { - "type": "textInput", - "label": "Spaces Bucket Name", - "value": "bucketName", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Spaces Bucket Name", - "required": true, - "placeholder": "e.g: event-bucket" - }, - { - "type": "textInput", - "label": "Prefix", - "value": "prefix", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Prefix", - "required": false, - "placeholder": "rudder" - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/discord/db_config.json b/data/destinations/discord/db_config.json deleted file mode 100644 index b6f7b6783..000000000 --- a/data/destinations/discord/db_config.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "DISCORD", - "displayName": "Discord", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "identify", - "track" - ], - "destConfig": { - "defaultConfig": [ - "identifyTemplate", - "embedTitleTemplate", - "embedDescriptionTemplate", - "embedFlag", - "eventTemplateSettings", - "webhookUrl", - "whitelistedTraitsSettings" - ] - }, - "secretKeys": [] - } -} diff --git a/data/destinations/discord/metadata.json b/data/destinations/discord/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/discord/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/discord/schema.json b/data/destinations/discord/schema.json deleted file mode 100644 index 6b861550b..000000000 --- a/data/destinations/discord/schema.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "webhookUrl" - ], - "properties": { - "webhookUrl": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(https?|ftp)://[^\\s/$.?#].[^\\s]*$" - }, - "identifyTemplate": { - "type": "string", - "pattern": "^(.{0,1000})$" - }, - "embedFlag": { - "type": "boolean" - }, - "embedTitleTemplate": { - "type": "string", - "pattern": "^(.{0,1000})$" - }, - "embedDescriptionTemplate": { - "type": "string", - "pattern": "^(.{0,1000})$" - }, - "eventTemplateSettings": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "^(.{0,100})$" - }, - "eventTemplate": { - "type": "string", - "pattern": "^(.{0,100})$" - }, - "eventRegex": { - "type": "boolean" - } - } - } - }, - "whitelistedTraitsSettings": { - "type": "array", - "items": { - "type": "object", - "properties": { - "trait": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})" - } - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/discord/ui_config.json b/data/destinations/discord/ui_config.json deleted file mode 100644 index d7c777e64..000000000 --- a/data/destinations/discord/ui_config.json +++ /dev/null @@ -1,134 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Identify Template", - "fields": [ - { - "type": "textInput", - "label": "Identify Template", - "value": "identifyTemplate", - "regex": "^(.{0,1000})$", - "regexErrorMessage": "Invalid Identify Template", - "required": false, - "placeholder": "e.g: User {{name}} with {{traits}} is identified", - "footerNote": "This template will be used to build text message for identify Call" - } - ] - }, - { - "title": "Event Template", - "fields": [ - { - "type": "dynamicCustomForm", - "value": "eventTemplateSettings", - "customFields": [ - { - "type": "textInput", - "label": "Event Name", - "value": "eventName", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Event Name", - "required": false, - "placeholder": "e.g: Product Viewed", - "footerNote": "For this event below template would be used to build message for track call" - }, - { - "type": "textInput", - "label": "Event Template", - "value": "eventTemplate", - "regex": "^(.{0,1000})$", - "regexErrorMessage": "Invalid Event Template", - "required": false, - "placeholder": "e.g: User {{name}} did {{event}} with {{properties}}", - "footerNote": "This template will be used to build text message for track Call for above event name" - }, - { - "type": "checkbox", - "label": "Regex Matching", - "value": "eventRegex", - "footerNote": "If true, this matches the event name with above mentioned event.", - "default": false - } - ] - } - ] - }, - { - "title": "Embed Message Settings", - "fields": [ - { - "type": "checkbox", - "label": "Embed Flag", - "value": "embedFlag", - "required": false, - "default": false, - "footerNote": "Toggle it on if you want a embed message on the discord. Refer To docs for more details" - }, - { - "preRequisiteField": { - "name": "embedFlag", - "selectedValue": true - }, - "type": "textInput", - "label": "Title Template", - "value": "embedTitleTemplate", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid template", - "required": false, - "placeholder": "e.g: {{name}} ", - "footerNote": "This template will be used to build title for embed message" - }, - { - "preRequisiteField": { - "name": "embedFlag", - "selectedValue": true - }, - "type": "textInput", - "label": "Description Template", - "value": "embedDescriptionTemplate", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid template", - "required": false, - "placeholder": "e.g: {{traits}}", - "footerNote": "This template will be used to build description for embed message" - } - ] - }, - { - "title": "Incoming Webhook Url", - "fields": [ - { - "type": "textInput", - "label": "Webhook Url", - "value": "webhookUrl", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(https?|ftp)://[^\\s/$.?#].[^\\s]*$", - "regexErrorMessage": "Invalid Webhook Url", - "required": true, - "placeholder": "e.g: https://discord.com/api/webhooks/12rf2v29038y3234gr34/78319yrgfb284q3130", - "footerNote": "The url mapped to discord channel where you want to send the message. Refer to docs for more." - } - ] - }, - { - "title": "Whitelisted Traits", - "fields": [ - { - "type": "dynamicCustomForm", - "value": "whitelistedTraitsSettings", - "customFields": [ - { - "type": "textInput", - "label": "Trait", - "value": "trait", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})", - "regexErrorMessage": "Invalid Trait", - "required": false, - "footerNote": "Mention the traits which you want to display in the message through templates, if not provided, we take all the traits in the message.", - "placeholder": "e.g: firstName" - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/drip/db_config.json b/data/destinations/drip/db_config.json deleted file mode 100644 index 8555295d7..000000000 --- a/data/destinations/drip/db_config.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "name": "DRIP", - "displayName": "Drip", - "config": { - "transformAt": "router", - "transformAtV1": "router", - "saveDestinationResponse": true, - "includeKeys": [ - "accountId", - "campaignId", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "reactnative", - "flutter", - "cordova", - "warehouse" - ], - "supportedMessageTypes": [ - "identify", - "track" - ], - "destConfig": { - "defaultConfig": [ - "accountId", - "apiKey", - "campaignId", - "enableUserCreation", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [ - "apiKey" - ] - } -} \ No newline at end of file diff --git a/data/destinations/drip/metadata.json b/data/destinations/drip/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/drip/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/drip/schema.json b/data/destinations/drip/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/drip/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/engage/db_config.json b/data/destinations/engage/db_config.json deleted file mode 100644 index 4afe8260d..000000000 --- a/data/destinations/engage/db_config.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "name": "ENGAGE", - "displayName": "Engage", - "config": { - "transformAt": "roouter", - "transformAtV1": "router", - "saveDestinationResponse": true, - "includeKeys": [ - "publicKey", - "privateKey", - "listIds", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "cloudSource", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "identify", - "track", - "page", - "group" - ], - "destConfig": { - "defaultConfig": [ - "publicKey", - "privateKey", - "listIds", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [ - "privateKey" - ] - } -} \ No newline at end of file diff --git a/data/destinations/engage/metadata.json b/data/destinations/engage/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/engage/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/engage/schema.json b/data/destinations/engage/schema.json deleted file mode 100644 index 904aac847..000000000 --- a/data/destinations/engage/schema.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "publicKey", - "privateKey" - ], - "properties": { - "publicKey": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "privateKey": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "listIds": { - "type": "array", - "items": { - "type": "object", - "properties": { - "listID": { - "type": "string" - } - } - } - }, - "blacklistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "useNativeSDK": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "oneTrustCookieCategories": { - "type": "object", - "properties": { - "web": { - "type": "array", - "items": { - "type": "object", - "properties": { - "oneTrustCookieCategory": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/eventbridge/db_config.json b/data/destinations/eventbridge/db_config.json deleted file mode 100644 index 76ab31fe1..000000000 --- a/data/destinations/eventbridge/db_config.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "name": "EVENTBRIDGE", - "displayName": "AWS EventBridge", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedMessageTypes": [ - "identify", - "page", - "screen", - "track", - "alias", - "group" - ], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "destConfig": { - "defaultConfig": [ - "iamRoleARN", - "roleBasedAuth", - "region", - "accessKeyID", - "accessKey", - "detailType", - "eventBusName", - "resourceID" - ] - }, - "secretKeys": ["accessKeyID", "accessKey"] - } -} diff --git a/data/destinations/eventbridge/metadata.json b/data/destinations/eventbridge/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/eventbridge/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/eventbridge/schema.json b/data/destinations/eventbridge/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/eventbridge/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/facebook_offline_conversions/metadata.json b/data/destinations/facebook_offline_conversions/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/facebook_offline_conversions/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/facebook_pixel/db_config.json b/data/destinations/facebook_pixel/db_config.json deleted file mode 100644 index e97c18ac5..000000000 --- a/data/destinations/facebook_pixel/db_config.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "name": "FACEBOOK_PIXEL", - "displayName": "Facebook Pixel", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "blacklistPiiProperties", - "categoryToContent", - "pixelId", - "eventsToEvents", - "eventCustomProperties", - "valueFieldIdentifier", - "advancedMapping", - "legacyConversionPixelId", - "whitelistPiiProperties", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption", - "useUpdatedMapping" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "identify", - "page", - "screen", - "track" - ], - "destConfig": { - "defaultConfig": [ - "blacklistPiiProperties", - "categoryToContent", - "pixelId", - "eventsToEvents", - "eventCustomProperties", - "valueFieldIdentifier", - "advancedMapping", - "whitelistPiiProperties", - "limitedDataUSage", - "accessToken", - "testDestination", - "testEventCode", - "standardPageCall", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption", - "useUpdatedMapping" - ], - "web": [ - "useNativeSDK", - "legacyConversionPixelId", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [] - } -} \ No newline at end of file diff --git a/data/destinations/facebook_pixel/metadata.json b/data/destinations/facebook_pixel/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/facebook_pixel/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/facebook_pixel/schema.json b/data/destinations/facebook_pixel/schema.json deleted file mode 100644 index e1c17e6fe..000000000 --- a/data/destinations/facebook_pixel/schema.json +++ /dev/null @@ -1,173 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "required": [ - "pixelId" - ], - "type": "object", - "properties": { - "pixelId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "accessToken": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,208})$" - }, - "standardPageCall": { - "type": "boolean" - }, - "valueFieldIdentifier": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(properties.value|properties.price)$" - }, - "advancedMapping": { - "type": "boolean" - }, - "testDestination": { - "type": "boolean" - }, - "testEventCode": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "eventsToEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "eventCustomProperties": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventCustomProperties": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "blacklistPiiProperties": { - "type": "array", - "items": { - "type": "object", - "properties": { - "blacklistPiiProperties": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "blacklistPiiHash": { - "type": "boolean" - } - } - } - }, - "whitelistPiiProperties": { - "type": "array", - "items": { - "type": "object", - "properties": { - "whitelistPiiProperties": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "categoryToContent": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "useNativeSDK": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "legacyConversionPixelId": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - }, - "eventFilteringOption": { - "type": "string", - "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" - }, - "whitelistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "blacklistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "oneTrustCookieCategories": { - "type": "object", - "properties": { - "web": { - "type": "array", - "items": { - "type": "object", - "properties": { - "oneTrustCookieCategory": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/factorsai/db_config.json b/data/destinations/factorsai/db_config.json deleted file mode 100644 index 219121562..000000000 --- a/data/destinations/factorsai/db_config.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "FACTORSAI", - "displayName": "Factors AI", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "identify", - "track" - ], - "destConfig": { - "defaultConfig": [ - "factorsAIApiKey" - ] - }, - "secretKeys": [ - "factorsAIApiKey" - ] - } -} \ No newline at end of file diff --git a/data/destinations/factorsai/metadata.json b/data/destinations/factorsai/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/factorsai/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/factorsai/schema.json b/data/destinations/factorsai/schema.json deleted file mode 100644 index 8a089c0ee..000000000 --- a/data/destinations/factorsai/schema.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "required": [ - "factorsAIApiKey" - ], - "type": "object", - "properties": { - "factorsAIApiKey": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/factorsai/ui_config.json b/data/destinations/factorsai/ui_config.json deleted file mode 100644 index 5184f494e..000000000 --- a/data/destinations/factorsai/ui_config.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "API KEY", - "value": "factorsAIApiKey", - "regex": "^(.{1,100})$", - "regexErrorMessage": "Length of API KEY must be below 100 characters.", - "required": true, - "secret": true, - "placeholder": "e.g: ABC1231RDG" - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/fb/db_config.json b/data/destinations/fb/db_config.json deleted file mode 100644 index 533c55648..000000000 --- a/data/destinations/fb/db_config.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "name": "FB", - "displayName": "Facebook App Events", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "appID", - "limitedDataUse", - "dpoCountry", - "dpoState", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "page", - "screen", - "track" - ], - "destConfig": { - "defaultConfig": [ - "appID", - "limitedDataUse", - "dpoCountry", - "dpoState", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "android": [ - "useNativeSDK" - ], - "ios": [ - "useNativeSDK" - ] - }, - "secretKeys": [] - } -} \ No newline at end of file diff --git a/data/destinations/fb/metadata.json b/data/destinations/fb/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/fb/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/fb/schema.json b/data/destinations/fb/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/fb/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/fb/ui_config.json b/data/destinations/fb/ui_config.json deleted file mode 100644 index f65457f8f..000000000 --- a/data/destinations/fb/ui_config.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "APP ID", - "value": "appID", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid APP ID", - "required": true, - "placeholder": "e.g: bSjsdGYsOo9sjw23Shj" - } - ] - }, - { - "title": "Data Processing Options", - "sectionNote": "These settings are applicable only for Mobile Device Mode", - "fields": [ - { - "type": "checkbox", - "label": "Limited Data use", - "value": "limitedDataUse", - "default": false - }, - { - "type": "singleSelect", - "label": "State", - "value": "dpoState", - "options": [ - { - "name": "Use Facebook to detect Automatically", - "value": "0" - }, - { - "name": "California", - "value": "1000" - } - ], - "defaultOption": { - "name": "Use Facebook to detect Automatically", - "value": "0" - }, - "required": false, - "footerNote": "Note: State will be sent as a Data Processing Option to Facebook only if you enable Limited Data Use. Valid values are 0, 1000." - }, - { - "type": "singleSelect", - "label": "Country", - "value": "dpoCountry", - "options": [ - { - "name": "Use Facebook to detect Automatically", - "value": "0" - }, - { - "name": "United States of America", - "value": "1" - } - ], - "defaultOption": { - "name": "Use Facebook to detect Automatically", - "value": "0" - }, - "required": false, - "footerNote": "Note: Country will be sent as a Data Processing Option to Facebook only if you enable Limited Data Use. Valid values are 0, 1." - } - ] - }, - { - "title": "Native SDK", - "fields": [ - { - "type": "checkbox", - "label": "Use device-mode to send events", - "value": "useNativeSDK", - "default": false - } - ] - }, - { - "title": "Client-side Events Filtering", - "sectionNote": "Applicable only for device-mode integrations. If enabled, it works only with either allowlisted or denylisted events", - "fields": [ - { - "type": "singleSelect", - "value": "eventFilteringOption", - "required": false, - "options": [ - { - "name": "Disable", - "value": "disable" - }, - { - "name": "Allowlist", - "value": "whitelistedEvents" - }, - { - "name": "Denylist", - "value": "blacklistedEvents" - } - ], - "defaultOption": { - "name": "Disable", - "value": "disable" - } - }, - { - "type": "dynamicCustomForm", - "value": "whitelistedEvents", - "label": "Allowlist", - "customFields": [ - { - "type": "textInput", - "value": "eventName", - "required": false, - "placeholder": "e.g: Anonymous Page Visit" - } - ] - }, - { - "type": "dynamicCustomForm", - "value": "blacklistedEvents", - "label": "Denylist", - "customFields": [ - { - "type": "textInput", - "value": "eventName", - "required": false, - "placeholder": "e.g: Credit Card Added" - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/fb_custom_audience/db_config.json b/data/destinations/fb_custom_audience/db_config.json deleted file mode 100644 index d6c39ec9b..000000000 --- a/data/destinations/fb_custom_audience/db_config.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "name": "FB_CUSTOM_AUDIENCE", - "displayName": "Facebook Custom Audience", - "config": { - "supportsVisualMapper": true, - "syncBehaviours": [ - "mirror" - ], - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "cloud", - "warehouse" - ], - "supportedMessageTypes": [ - "audiencelist" - ], - "isAudienceSupported": true, - "destConfig": { - "defaultConfig": [ - "accessToken", - "audienceId", - "maxUserCount", - "userSchema", - "isHashRequired", - "isRaw", - "disableFormat", - "skipVerify", - "type", - "subType" - ] - }, - "secretKeys": [ - "accessToken" - ] - }, - "responseRules": { - "responseType": "JSON", - "rules": { - "abortable": [ - { - "errors.0.code": 200 - }, - { - "errors.0.code": 100 - }, - { - "errors.0.code": 2650 - }, - { - "errors.0.code": 368 - }, - { - "errors.0.code": 105 - }, - { - "errors.0.code": 294 - }, - { - "errors.0.code": 190 - } - ] - } - } -} \ No newline at end of file diff --git a/data/destinations/fb_custom_audience/metadata.json b/data/destinations/fb_custom_audience/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/fb_custom_audience/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/fb_custom_audience/schema.json b/data/destinations/fb_custom_audience/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/fb_custom_audience/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/fb_custom_audience/ui_config.json b/data/destinations/fb_custom_audience/ui_config.json deleted file mode 100644 index 177d8dc8b..000000000 --- a/data/destinations/fb_custom_audience/ui_config.json +++ /dev/null @@ -1,395 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Access Token", - "value": "accessToken", - "required": true, - "placeholder": "EAALmZAOFOFpcPcBAEdZCPl4uSHPxQDZCrU6KbZB1gICD9y1ZBNpevRSPPiIZBO06WZCUuySAX7vw2Re7vmZAHo6OFFZA4vsCUqq2XqBQgkbbgRKLy4mXQ4wJFJ2GXGe69qaOXgugjkdjfgRjkknkfOUUTJfmGnzShZCp2jJKBf1kDX7xZB8IX9vdfEIZBZBhHQo4ZD" - }, - { - "type": "textInput", - "label": "Audience Id", - "value": "audienceId", - "required": true, - "placeholder": "23847675445910030" - }, - { - "type": "textInput", - "label": "Audience Batch Size", - "value": "maxUserCount", - "required": true, - "placeholder": "50" - }, - { - "type": "singleSelect", - "label": "Schema Fields", - "value": "userSchema", - "placeholder": "EMAIL", - "mode": "multiple", - "options": [ - { - "name": "EMAIL", - "value": "EMAIL" - }, - { - "name": "PHONE", - "value": "PHONE" - }, - { - "name": "GENDER", - "value": "GEN" - }, - { - "name": "MADID", - "value": "MADID" - }, - { - "name": "EXTERN_ID", - "value": "EXTERN_ID" - }, - { - "name": "DOB YEAR (YYYY)", - "value": "DOBY" - }, - { - "name": "DOB MONTH (MM)", - "value": "DOBM" - }, - { - "name": "DOB DATE (DD)", - "value": "DOBD" - }, - { - "name": "LAST NAME", - "value": "LN" - }, - { - "name": "FIRST NAME", - "value": "FN" - }, - { - "name": "FIRST NAME INITIAL", - "value": "FI" - }, - { - "name": "CITY", - "value": "CT" - }, - { - "name": "US STATES", - "value": "ST" - }, - { - "name": "ZIP", - "value": "ZIP" - }, - { - "name": "COUNTRY", - "value": "COUNTRY" - } - ], - "defaultOption": { - "value": [ - "EMAIL" - ] - }, - "footerNote": "The Allowed Parameter List : https://developers.facebook.com/docs/marketing-api/audiences/guides/custom-audiences/#hash" - }, - { - "type": "checkbox", - "label": "Enable Hashing", - "value": "isHashRequired", - "default": true - }, - { - "type": "checkbox", - "label": "Is The Data Raw", - "value": "isRaw", - "default": false - }, - { - "type": "checkbox", - "label": "Disable Formatting", - "value": "disableFormat", - "default": false - }, - { - "type": "checkbox", - "label": "Skip verify", - "value": "skipVerify", - "default": false - }, - { - "type": "singleSelect", - "label": "Type", - "value": "type", - "placeholder": "NA", - "mode": "single", - "options": [ - { - "name": "UNKNOWN", - "value": "UNKNOWN" - }, - { - "name": "FILE_IMPORTED", - "value": "FILE_IMPORTED" - }, - { - "name": "EVENT_BASED", - "value": "EVENT_BASED" - }, - { - "name": "SEED_BASED", - "value": "SEED_BASED" - }, - { - "name": "THIRD_PARTY_IMPORTED", - "value": "THIRD_PARTY_IMPORTED" - }, - { - "name": "COPY_PASTE", - "value": "COPY_PASTE" - }, - { - "name": "CONTACT_IMPORTER", - "value": "CONTACT_IMPORTER" - }, - { - "name": "HOUSEHOLD_AUDIENCE", - "value": "HOUSEHOLD_AUDIENCE" - }, - { - "name": "NA", - "value": "NA" - } - ], - "defaultOption": { - "name": "NA", - "value": "NA" - } - }, - { - "type": "singleSelect", - "label": "Sub Type", - "value": "subType", - "placeholder": "NA", - "mode": "single", - "options": [ - { - "name": "ANYTHING", - "value": "ANYTHING" - }, - { - "name": "NOTHING", - "value": "NOTHING" - }, - { - "name": "HASHES", - "value": "HASHES" - }, - { - "name": "USER_IDS", - "value": "USER_IDS" - }, - { - "name": "HASHES_OR_USER_IDS", - "value": "HASHES_OR_USER_IDS" - }, - { - "name": "MOBILE_ADVERTISER_IDS", - "value": "MOBILE_ADVERTISER_IDS" - }, - { - "name": "FB_EVENT_SIGNALS", - "value": "FB_EVENT_SIGNALS" - }, - { - "name": "EXTERNAL_IDS", - "value": "EXTERNAL_IDS" - }, - { - "name": "MULTI_HASHES", - "value": "MULTI_HASHES" - }, - { - "name": "TOKENS", - "value": "TOKENS" - }, - { - "name": "EXTERNAL_IDS_MIX", - "value": "EXTERNAL_IDS_MIX" - }, - { - "name": "WEB_PIXEL_HITS", - "value": "WEB_PIXEL_HITS" - }, - { - "name": "MOBILE_APP_EVENTS", - "value": "MOBILE_APP_EVENTS" - }, - { - "name": "MOBILE_APP_COMBINATION_EVENTS", - "value": "MOBILE_APP_COMBINATION_EVENTS" - }, - { - "name": "VIDEO_EVENTS", - "value": "VIDEO_EVENTS" - }, - { - "name": "WEB_PIXEL_COMBINATION_EVENTS", - "value": "WEB_PIXEL_COMBINATION_EVENTS" - }, - { - "name": "IG_BUSINESS_EVENTS", - "value": "IG_BUSINESS_EVENTS" - }, - { - "name": "MULTI_DATA_EVENTS", - "value": "MULTI_DATA_EVENTS" - }, - { - "name": "STORE_VISIT_EVENTS", - "value": "STORE_VISIT_EVENTS" - }, - { - "name": "INSTANT_ARTICLE_EVENTS", - "value": "INSTANT_ARTICLE_EVENTS" - }, - { - "name": "ENGAGEMENT_EVENT_USERS", - "value": "ENGAGEMENT_EVENT_USERS" - }, - { - "name": "FACEBOOK_WIFI_EVENTS", - "value": "FACEBOOK_WIFI_EVENTS" - }, - { - "name": "CUSTOM_AUDIENCE_USERS", - "value": "CUSTOM_AUDIENCE_USERS" - }, - { - "name": "S_EXPR", - "value": "S_EXPR" - }, - { - "name": "DYNAMIC_RULE", - "value": "DYNAMIC_RULE" - }, - { - "name": "CONVERSION_PIXEL_HITS", - "value": "CONVERSION_PIXEL_HITS" - }, - { - "name": "APP_USERS", - "value": "APP_USERS" - }, - { - "name": "CAMPAIGN_CONVERSIONS", - "value": "CAMPAIGN_CONVERSIONS" - }, - { - "name": "WEB_PIXEL_HITS_CUSTOM_AUDIENCE_USERS", - "value": "WEB_PIXEL_HITS_CUSTOM_AUDIENCE_USERS" - }, - { - "name": "MOBILE_APP_CUSTOM_AUDIENCE_USERS", - "value": "MOBILE_APP_CUSTOM_AUDIENCE_USERS" - }, - { - "name": "VIDEO_EVENT_USERS", - "value": "VIDEO_EVENT_USERS" - }, - { - "name": "FB_PIXEL_HITS", - "value": "FB_PIXEL_HITS" - }, - { - "name": "IG_PROMOTED_POST", - "value": "IG_PROMOTED_POST" - }, - { - "name": "PLACE_VISITS", - "value": "PLACE_VISITS" - }, - { - "name": "OFFLINE_EVENT_USERS", - "value": "OFFLINE_EVENT_USERS" - }, - { - "name": "EXPANDED_AUDIENCE", - "value": "EXPANDED_AUDIENCE" - }, - { - "name": "SEED_LIST", - "value": "SEED_LIST" - }, - { - "name": "PARTNER_CATEGORY_USERS", - "value": "PARTNER_CATEGORY_USERS" - }, - { - "name": "PAGE_SMART_AUDIENCE", - "value": "PAGE_SMART_AUDIENCE" - }, - { - "name": "MULTICOUNTRY_COMBINATION", - "value": "MULTICOUNTRY_COMBINATION" - }, - { - "name": "PLATFORM_USERS", - "value": "PLATFORM_USERS" - }, - { - "name": "MULTI_EVENT_SOURCE", - "value": "MULTI_EVENT_SOURCE" - }, - { - "name": "SMART_AUDIENCE", - "value": "SMART_AUDIENCE" - }, - { - "name": "LOOKALIKE_PLATFORM", - "value": "LOOKALIKE_PLATFORM" - }, - { - "name": "SIGNAL_SOURCE", - "value": "SIGNAL_SOURCE" - }, - { - "name": "MAIL_CHIMP_EMAIL_HASHES", - "value": "MAIL_CHIMP_EMAIL_HASHES" - }, - { - "name": "CONSTANT_CONTACTS_EMAIL_HASHES", - "value": "CONSTANT_CONTACTS_EMAIL_HASHES" - }, - { - "name": "COPY_PASTE_EMAIL_HASHES", - "value": "COPY_PASTE_EMAIL_HASHES" - }, - { - "name": "CONTACT_IMPORTER", - "value": "CONTACT_IMPORTER" - }, - { - "name": "DATA_FILE", - "value": "DATA_FILE" - }, - { - "name": "NA", - "value": "NA" - } - ], - "defaultOption": { - "name": "NA", - "value": "NA" - } - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/firebase/db_config.json b/data/destinations/firebase/db_config.json deleted file mode 100644 index d6b913ebb..000000000 --- a/data/destinations/firebase/db_config.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "name": "FIREBASE", - "displayName": "Firebase", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": false, - "includeKeys": [ - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "unity", - "reactnative", - "flutter" - ], - "destConfig": { - "defaultConfig": [ - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "android": [ - "useNativeSDK" - ], - "ios": [ - "useNativeSDK" - ], - "unity": [ - "useNativeSDK" - ], - "reactnative": [ - "useNativeSDK" - ], - "flutter": [ - "useNativeSDK" - ] - }, - "secretKeys": [] - } -} \ No newline at end of file diff --git a/data/destinations/firebase/metadata.json b/data/destinations/firebase/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/firebase/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/firebase/schema.json b/data/destinations/firebase/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/firebase/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/firebase/ui_config.json b/data/destinations/firebase/ui_config.json deleted file mode 100644 index 84e1610fc..000000000 --- a/data/destinations/firebase/ui_config.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "uiConfig": [ - { - "title": "1. Native SDK", - "fields": [ - { - "type": "defaultCheckbox", - "label": "Use device-mode to send events", - "value": "useNativeSDK", - "default": true - } - ] - }, - { - "title": "Client-side Events Filtering", - "sectionNote": "Applicable only for device-mode integrations. If enabled, it works only with either allowlisted or denylisted events", - "fields": [ - { - "type": "singleSelect", - "value": "eventFilteringOption", - "required": false, - "options": [ - { - "name": "Disable", - "value": "disable" - }, - { - "name": "Allowlist", - "value": "whitelistedEvents" - }, - { - "name": "Denylist", - "value": "blacklistedEvents" - } - ], - "defaultOption": { - "name": "Disable", - "value": "disable" - } - }, - { - "type": "dynamicCustomForm", - "value": "whitelistedEvents", - "label": "Allowlist", - "customFields": [ - { - "type": "textInput", - "value": "eventName", - "required": false, - "placeholder": "e.g: Anonymous Page Visit" - } - ] - }, - { - "type": "dynamicCustomForm", - "value": "blacklistedEvents", - "label": "Denylist", - "customFields": [ - { - "type": "textInput", - "value": "eventName", - "required": false, - "placeholder": "e.g: Credit Card Added" - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/firehose/db_config.json b/data/destinations/firehose/db_config.json deleted file mode 100644 index cb1c1f3a4..000000000 --- a/data/destinations/firehose/db_config.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "FIREHOSE", - "displayName": "Amazon Kinesis Firehose", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedMessageTypes": [ - "identify", - "page", - "screen", - "track", - "alias", - "group" - ], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "destConfig": { - "defaultConfig": [ - "iamRoleARN", - "roleBasedAuth", - "mapEvents", - "region", - "accessKeyID", - "accessKey" - ] - }, - "secretKeys": ["accessKeyID", "accessKey"] - } -} diff --git a/data/destinations/firehose/metadata.json b/data/destinations/firehose/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/firehose/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/firehose/schema.json b/data/destinations/firehose/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/firehose/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/freshmarketer/metadata.json b/data/destinations/freshmarketer/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/freshmarketer/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/freshsales/metadata.json b/data/destinations/freshsales/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/freshsales/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/fullstory/db_config.json b/data/destinations/fullstory/db_config.json deleted file mode 100644 index 41194ca8c..000000000 --- a/data/destinations/fullstory/db_config.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "name": "FULLSTORY", - "displayName": "Fullstory", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "fs_debug_mode", - "fs_org", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "web", - "android", - "ios" - ], - "destConfig": { - "defaultConfig": [ - "fs_org", - "fs_debug_mode", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ], - "android": [ - "useNativeSDK" - ], - "ios": [ - "useNativeSDK" - ] - }, - "secretKeys": [] - } -} \ No newline at end of file diff --git a/data/destinations/fullstory/metadata.json b/data/destinations/fullstory/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/fullstory/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/fullstory/schema.json b/data/destinations/fullstory/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/fullstory/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/ga/metadata.json b/data/destinations/ga/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/ga/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/ga/schema.json b/data/destinations/ga/schema.json deleted file mode 100644 index 982c05620..000000000 --- a/data/destinations/ga/schema.json +++ /dev/null @@ -1,228 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "trackingID" - ], - "properties": { - "trackingID": { - "type": "string", - "pattern": "(^env[.].+)|(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^(UA|YT|MO)-\\d+-\\d{0,100}$)" - }, - "eventFilteringOption": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" - }, - "doubleClick": { - "type": "boolean" - }, - "enhancedLinkAttribution": { - "type": "boolean" - }, - "includeSearch": { - "type": "boolean" - }, - "enableServerSideIdentify": { - "type": "boolean" - }, - "serverSideIdentifyEventCategory": { - "type": "string", - "pattern": "(^env[.].+)|(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^(.{0,100})$)" - }, - "serverSideIdentifyEventAction": { - "type": "string", - "pattern": "(^env[.].+)|(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^(.{0,100})$)" - }, - "disableMd5": { - "type": "boolean" - }, - "anonymizeIp": { - "type": "boolean" - }, - "enhancedEcommerce": { - "type": "boolean" - }, - "nonInteraction": { - "type": "boolean" - }, - "sendUserId": { - "type": "boolean" - }, - "whitelistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "blacklistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "useNativeSDK": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "trackCategorizedPages": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "trackNamedPages": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "sampleRate": { - "type": "object", - "properties": { - "web": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - }, - "siteSpeedSampleRate": { - "type": "object", - "properties": { - "web": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - }, - "resetCustomDimensionsOnPage": { - "type": "object", - "properties": { - "web": { - "type": "array", - "items": { - "type": "object", - "properties": { - "resetCustomDimensionsOnPage": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - }, - "setAllMappedProps": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "domain": { - "type": "object", - "properties": { - "web": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^(.{0,100})$)" - } - } - }, - "optimize": { - "type": "object", - "properties": { - "web": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^(.{0,100})$)" - } - } - }, - "useGoogleAmpClientId": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "namedTracker": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "contentGroupings": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "dimensions": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "oneTrustCookieCategories": { - "type": "object", - "properties": { - "web": { - "type": "array", - "items": { - "type": "object", - "properties": { - "oneTrustCookieCategory": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/ga360/db_config.json b/data/destinations/ga360/db_config.json deleted file mode 100644 index 65c37a9c9..000000000 --- a/data/destinations/ga360/db_config.json +++ /dev/null @@ -1,92 +0,0 @@ -{ - "name": "GA360", - "displayName": "Google Analytics 360", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": false, - "includeKeys": [ - "trackingID", - "doubleClick", - "enhancedLinkAttribution", - "includeSearch", - "trackCategorizedPages", - "trackNamedPages", - "sampleRate", - "siteSpeedSampleRate", - "dimensions", - "metrics", - "resetCustomDimensionsOnPage", - "setAllMappedProps", - "contentGroupings", - "anonymizeIp", - "domain", - "enhancedEcommerce", - "nonInteraction", - "optimize", - "sendUserId", - "useGoogleAmpClientId", - "namedTracker", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "identify", - "page", - "screen", - "track" - ], - "destConfig": { - "defaultConfig": [ - "trackingID", - "customMappings", - "doubleClick", - "enhancedLinkAttribution", - "includeSearch", - "dimensions", - "metrics", - "contentGroupings", - "enableServerSideIdentify", - "serverSideIdentifyEventCategory", - "serverSideIdentifyEventAction", - "anonymizeIp", - "enhancedEcommerce", - "nonInteraction", - "sendUserId", - "disableMd5", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "web": [ - "useNativeSDK", - "trackCategorizedPages", - "trackNamedPages", - "sampleRate", - "siteSpeedSampleRate", - "resetCustomDimensionsOnPage", - "setAllMappedProps", - "domain", - "optimize", - "useGoogleAmpClientId", - "namedTracker", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [] - } -} \ No newline at end of file diff --git a/data/destinations/ga360/metadata.json b/data/destinations/ga360/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/ga360/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/ga360/schema.json b/data/destinations/ga360/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/ga360/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/ga4/metadata.json b/data/destinations/ga4/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/ga4/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/gainsight/db_config.json b/data/destinations/gainsight/db_config.json deleted file mode 100644 index ed88242d8..000000000 --- a/data/destinations/gainsight/db_config.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "name": "GAINSIGHT", - "displayName": "Gainsight", - "config": { - "transformAt": "router", - "transformAtV1": "router", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "reactnative", - "flutter", - "cordova", - "warehouse" - ], - "supportedMessageTypes": [ - "group", - "identify", - "track" - ], - "destConfig": { - "defaultConfig": [ - "accessKey", - "sharedSecret", - "tenantId", - "domain", - "personMap", - "companyMap", - "topicName", - "eventNameMap", - "eventVersionMap", - "contractId" - ] - }, - "secretKeys": [ - "accessKey", - "sharedSecret" - ] - } -} \ No newline at end of file diff --git a/data/destinations/gainsight/metadata.json b/data/destinations/gainsight/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/gainsight/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/gainsight/schema.json b/data/destinations/gainsight/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/gainsight/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/gainsight/ui_config.json b/data/destinations/gainsight/ui_config.json deleted file mode 100644 index 8445b3c9b..000000000 --- a/data/destinations/gainsight/ui_config.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Gainsight Accesskey", - "value": "accessKey", - "regex": ".*", - "footerNote": "Required for identify and group calls", - "required": false, - "placeholder": "e.g: 94f71917dald93k90caa4c-us20" - }, - { - "type": "textInput", - "label": "Gainsight Custom Domain or Subdomain", - "value": "domain", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Domain or Subdomain name", - "required": true, - "placeholder": "e.g: example-domain.gainsightcloud.com" - } - ] - }, - { - "title": "Person Field Mapping", - "fields": [ - { - "type": "dynamicForm", - "label": "Map Rudder payload property to Custom Gainsight Field", - "labelLeft": "Rudder Payload Field", - "labelRight": "Gainsight Payload Field", - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g: rating", - "placeholderRight": "e.g: rating__gc", - "value": "personMap" - } - ] - }, - { - "title": "Company Field Mapping", - "fields": [ - { - "type": "dynamicForm", - "label": "Map Rudder payload property to Custom Gainsight Field", - "labelLeft": "Rudder Payload Field", - "labelRight": "Gainsight Payload Field", - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g: rating", - "placeholderRight": "e.g: rating__gc", - "value": "companyMap" - } - ] - }, - { - "title": "Gainsight Event Settings", - "fields": [ - { - "type": "textInput", - "label": "Events Shared Secret", - "value": "sharedSecret", - "regex": ".*", - "required": false, - "placeholder": "e.g: 7869235jafasqpzxu-f71917dald93k90caa4c", - "footerNote": "Required to work with Gainsight Events Framework" - }, - { - "type": "textInput", - "label": "Tenant ID", - "value": "tenantId", - "regex": ".*", - "required": false, - "placeholder": "e.g: jafasqpzxu-f71917dald93k90caa4c", - "footerNote": "Required to work with Gainsight Events Framework" - }, - { - "type": "textInput", - "label": "Contract ID", - "value": "contractId", - "regex": ".*", - "required": false, - "placeholder": "e.g: event contract ID" - }, - { - "type": "textInput", - "label": "Topic Name", - "value": "topicName", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Topic Name", - "required": false, - "placeholder": "e.g: Zendesk Tickets", - "footerNote": "Required to work with Gainsight Events Framework" - }, - { - "type": "dynamicForm", - "label": "Map RudderStack Event to Gainsight Event", - "labelLeft": "Rudder Event Name", - "labelRight": "Gainsight Event Name", - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g: Product Clicked", - "placeholderRight": "e.g: GS Product Clicked", - "value": "eventNameMap" - }, - { - "type": "dynamicForm", - "label": "Map RudderStack Event to Gainsight Event Version", - "labelLeft": "Rudder Event Name", - "labelRight": "Gainsight Event Version", - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g: Product Clicked", - "placeholderRight": "e.g: 1.0.0", - "value": "eventVersionMap" - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/gainsight_px/db_config.json b/data/destinations/gainsight_px/db_config.json deleted file mode 100644 index 979ddc75f..000000000 --- a/data/destinations/gainsight_px/db_config.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name": "GAINSIGHT_PX", - "displayName": "Gainsight PX", - "config": { - "transformAt": "router", - "transformAtV1": "router", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "reactnative", - "flutter", - "cordova", - "warehouse" - ], - "supportedMessageTypes": [ - "group", - "identify", - "track" - ], - "destConfig": { - "defaultConfig": [ - "apiKey", - "productTagKey", - "userAttributeMap", - "accountAttributeMap", - "globalContextMap" - ] - }, - "secretKeys": [ - "apiKey", - "productTagKey" - ] - } -} \ No newline at end of file diff --git a/data/destinations/gainsight_px/metadata.json b/data/destinations/gainsight_px/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/gainsight_px/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/gainsight_px/schema.json b/data/destinations/gainsight_px/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/gainsight_px/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/gainsight_px/ui_config.json b/data/destinations/gainsight_px/ui_config.json deleted file mode 100644 index 1bc0cf695..000000000 --- a/data/destinations/gainsight_px/ui_config.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "API Key", - "value": "apiKey", - "regex": ".*", - "footerNote": "Your Gainsight PX API Key", - "required": true, - "placeholder": "e.g: 94f71917dald93k90caa4c-us20143", - "secret": true - }, - { - "type": "textInput", - "label": "Product Tag Key", - "value": "productTagKey", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Product Tag Key", - "required": true, - "placeholder": "e.g: AP-XXXXXX-1", - "footerNote": "Your Webapp Product Tag Key", - "secret": true - } - ] - }, - { - "title": "User Attribute Mapping", - "fields": [ - { - "type": "dynamicForm", - "label": "Map Rudder payload property to Custom User Attribute", - "labelLeft": "Rudder Payload Field", - "labelRight": "Custom Attribute", - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g: rating", - "placeholderRight": "e.g: Rating", - "footerNote": "Provide the Custom Attribute API Name", - "value": "userAttributeMap" - } - ] - }, - { - "title": "Account Attribute Mapping", - "fields": [ - { - "type": "dynamicForm", - "label": "Map Rudder payload property to Custom Account Attribute", - "labelLeft": "Rudder Payload Field", - "labelRight": "Custom Attribute", - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g: revenue", - "placeholderRight": "e.g: annualRevenue", - "footerNote": "Provide the Custom Attribute API Name", - "value": "accountAttributeMap" - } - ] - }, - { - "title": "Global Context Mapping", - "fields": [ - { - "type": "dynamicForm", - "label": "Provide Key Value pairs for Global Context Object", - "labelLeft": "Key", - "labelRight": "Value", - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g: projectId", - "placeholderRight": "e.g: p-123", - "footerNote": "Used with Custom Events", - "value": "globalContextMap" - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/gcs/db_config.json b/data/destinations/gcs/db_config.json deleted file mode 100644 index 85e754ecc..000000000 --- a/data/destinations/gcs/db_config.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "GCS", - "displayName": "Google Cloud Storage", - "config": { - "transformAt": "none", - "transformAtV1": "none", - "saveDestinationResponse": false, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "reactnative", - "cloudSource", - "flutter", - "cordova", - "warehouse" - ], - "destConfig": { - "defaultConfig": [ - "bucketName", - "prefix", - "credentials" - ] - }, - "secretKeys": [ - "credentials" - ] - } -} \ No newline at end of file diff --git a/data/destinations/gcs/metadata.json b/data/destinations/gcs/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/gcs/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/gcs/schema.json b/data/destinations/gcs/schema.json deleted file mode 100644 index f0a5f634c..000000000 --- a/data/destinations/gcs/schema.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": true, - "required": [ - "bucketName" - ], - "properties": { - "bucketName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "credentials": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*" - }, - "prefix": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/gcs/ui_config.json b/data/destinations/gcs/ui_config.json deleted file mode 100644 index bdad82328..000000000 --- a/data/destinations/gcs/ui_config.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "uiConfig": [ - { - "title": "1. Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Google Cloud Storage Bucket Name", - "value": "bucketName", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Google Cloud Storage Bucket Name", - "required": true, - "placeholder": "e.g: gcs-event-logs" - }, - { - "type": "textInput", - "label": "Prefix", - "value": "prefix", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Prefix", - "required": false, - "placeholder": "e.g: rudder" - }, - { - "type": "textareaInput", - "label": "Credentials", - "labelNote": "GCP Service Account credentials JSON for RudderStack to use in loading data into your Google Cloud Storage", - "value": "credentials", - "regex": ".*", - "required": false, - "footerNote": "Create a service account in your GCP Project for RudderStack with roles of 'storage.objectCreator'", - "secret": true - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/gcs_datalake/db_config.json b/data/destinations/gcs_datalake/db_config.json deleted file mode 100644 index 323687c25..000000000 --- a/data/destinations/gcs_datalake/db_config.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "name": "GCS_DATALAKE", - "displayName": "Google Cloud Storage Datalake", - "category": "warehouse", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "cloudSource", - "flutter", - "cordova" - ], - "destConfig": { - "defaultConfig": [ - "bucketName", - "prefix", - "namespace", - "tableSuffix", - "timeWindowLayout", - "credentials", - "syncFrequency", - "syncStartAt" - ] - }, - "secretKeys": [] - } -} \ No newline at end of file diff --git a/data/destinations/gcs_datalake/metadata.json b/data/destinations/gcs_datalake/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/gcs_datalake/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/gcs_datalake/schema.json b/data/destinations/gcs_datalake/schema.json deleted file mode 100644 index b3a695cfe..000000000 --- a/data/destinations/gcs_datalake/schema.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema", - "type": "object", - "required": [ - "bucketName", - "credentials" - ], - "properties": { - "bucketName": { - "type": "string", - "pattern": "(^env[.].+)|^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$" - }, - "prefix": { - "type": "string", - "pattern": "(^env[.].*)|^(.{0,100})$" - }, - "namespace": { - "type": "string", - "pattern": "(^env[.].*)|^((?!pg_|PG_|pG_|Pg_).{0,64})$" - }, - "tableSuffix": { - "type": "string", - "pattern": "(^env[.].*)|.*" - }, - "timeWindowLayout": { - "type": "string", - "pattern": "^(2006/01/02/15|dt=2006-01-02|year=2006|year=2006/month=01|year=2006/month=01/day=02|year=2006/month=01/day=02/hour=15)$", - "default": "2006/01/02/15" - }, - "credentials": { - "type": "string", - "pattern": "(^env[.].+)|.+" - }, - "syncFrequency": { - "type": "string", - "pattern": "^(30|60|180|360|720|1440)$", - "default": "30" - }, - "syncStartAt": { - "type": "string" - } - }, - "additionalProperties": true - } -} \ No newline at end of file diff --git a/data/destinations/gcs_datalake/ui_config.json b/data/destinations/gcs_datalake/ui_config.json deleted file mode 100644 index 00ab6942f..000000000 --- a/data/destinations/gcs_datalake/ui_config.json +++ /dev/null @@ -1,143 +0,0 @@ -{ - "uiConfig": [ - { - "title": "1. Connection Credentials", - "fields": [ - { - "type": "textInput", - "label": "GCS Storage Bucket Name", - "labelNote": "GCS Bucket to store your event data", - "value": "bucketName", - "regex": "^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$", - "regexErrorMessage": "Invalid Staging GCS Object Storage Bucket Name", - "required": true, - "placeholder": "e.g: gcs-event-logs", - "footerNote": "Please make sure the bucket exists in your GCS" - }, - { - "type": "textInput", - "label": "Prefix", - "value": "prefix", - "labelNote": "If configured, all data pushed by rudderstack will be at https://storage.googleapis.com///", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Prefix", - "required": false, - "placeholder": "e.g: rudder" - }, - { - "type": "textInput", - "label": "Namespace", - "labelNote": "Schema name for the warehouse where the tables are created", - "value": "namespace", - "regex": "^((?!pg_|PG_|pG_|Pg_).{0,64})$", - "regexErrorMessage": "Invalid Namespace", - "required": false, - "placeholder": "e.g: RUDDER_NAMESPACE", - "footerNote": "All data for the destination would be pushed to https://storage.googleapis.com///rudder-datalake/." - }, - { - "type": "textInput", - "label": "Table suffix (optional)", - "labelNote": "If configured, table data would be pushed to /", - "value": "tableSuffix", - "regex": ".*", - "regexErrorMessage": "Invalid Table suffix path", - "required": false, - "placeholder": "e.g: TABLE_SUFFIX_PATH" - }, - { - "type": "singleSelect", - "label": "Choose time window layout", - "value": "timeWindowLayout", - "options": [ - { - "name": "Default (YYYY/MM/DD/HH)", - "value": "2006/01/02/15" - }, - { - "name": "Upto Date (dt=YYYY-MM-DD)", - "value": "dt=2006-01-02" - }, - { - "name": "Upto Year (year=YYYY)", - "value": "year=2006" - }, - { - "name": "Upto Month (year=YYYY/month=MM)", - "value": "year=2006/month=01" - }, - { - "name": "Upto Day (year=YYYY/month=MM/day=DD)", - "value": "year=2006/month=01/day=02" - }, - { - "name": "Upto Hour (year=YYYY/month=MM/day=DD/hour=HH)", - "value": "year=2006/month=01/day=02/hour=15" - } - ], - "defaultOption": { - "name": "Default (YYYY/MM/DD/HH)", - "value": "2006/01/02/15" - }, - "required": false - }, - { - "type": "textareaInput", - "label": "Credentials", - "labelNote": "GCP Service Account credentials JSON for RudderStack to use in loading data into your Google Cloud Storage", - "value": "credentials", - "regex": ".*", - "required": true, - "footerNote": "Create a service account in your GCP Project for RudderStack with roles of 'storage.objectCreator'" - }, - { - "type": "singleSelect", - "label": "Sync Frequency", - "value": "syncFrequency", - "options": [ - { - "name": "Every 30 minutes", - "value": "30" - }, - { - "name": "Every 1 hour", - "value": "60" - }, - { - "name": "Every 3 hours", - "value": "180" - }, - { - "name": "Every 6 hours", - "value": "360" - }, - { - "name": "Every 12 hours", - "value": "720" - }, - { - "name": "Every 24 hours", - "value": "1440" - } - ], - "defaultOption": { - "name": "Every 30 minutes", - "value": "30" - }, - "required": false - }, - { - "type": "timePicker", - "label": "Sync Starting At (Optional)", - "value": "syncStartAt", - "options": { - "omitSeconds": true, - "minuteStep": 15 - }, - "required": false, - "footerNote": "Note: Please specify time in UTC" - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/google_adwords_enhanced_conversions/metadata.json b/data/destinations/google_adwords_enhanced_conversions/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/google_adwords_enhanced_conversions/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/google_adwords_enhanced_conversions/schema.json b/data/destinations/google_adwords_enhanced_conversions/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/google_adwords_enhanced_conversions/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/google_adwords_enhanced_conversions/ui_config.json b/data/destinations/google_adwords_enhanced_conversions/ui_config.json deleted file mode 100644 index 3fac63fdf..000000000 --- a/data/destinations/google_adwords_enhanced_conversions/ui_config.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Customer ID", - "value": "customerId", - "regex": "^(.{1,100})$", - "regexErrorMessage": "Invalid Customer Id", - "required": true, - "placeholder": "e.g: 9693429833" - }, - { - "type": "checkbox", - "label": "Sub Account", - "value": "subAccount", - "required": false, - "default": false - }, - { - "type": "textInput", - "label": "Login Customer ID", - "preRequisiteField": [ - { - "name": "subAccount", - "selectedValue": true - } - ], - "value": "loginCustomerId", - "regex": "^(.{1,100})$", - "required": true, - "footerNote": "If Customer-Id is from a sub account then provide customerId of manager account" - } - ] - }, - { - "title": "Event Settings", - "fields": [ - { - "type": "dynamicCustomForm", - "value": "listOfConversions", - "label": "List of Conversion", - "customFields": [ - { - "type": "textInput", - "value": "conversions", - "required": false, - "placeholder": "e.g: Credit Card Added" - } - ] - }, - { - "type": "checkbox", - "label": "Hashing required", - "value": "requireHash", - "default": true, - "footerNote": "If this option is set to on we will encrypt mail, phoneNumber, firstName, lastName and streetAddress" - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/google_adwords_offline_conversions/metadata.json b/data/destinations/google_adwords_offline_conversions/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/google_adwords_offline_conversions/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/google_adwords_offline_conversions/schema.json b/data/destinations/google_adwords_offline_conversions/schema.json deleted file mode 100644 index 1027d3e3f..000000000 --- a/data/destinations/google_adwords_offline_conversions/schema.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "customerId" - ], - "properties": { - "customerId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "subAccount": { - "type": "boolean" - }, - "loginCustomerId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "eventsToOfflineConversionsTypeMapping": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "eventsToConversionsNamesMapping": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "customVariables": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "UserIdentifierSource": { - "type": "string", - "pattern": "(^env[.].*)|^(none|UNSPECIFIED|UNKNOWN|FIRST_PARTY|THIRD_PARTY)$" - }, - "conversionEnvironment": { - "type": "string", - "pattern": "(^env[.].*)|^(none|UNSPECIFIED|UNKNOWN|APP|WEB)$" - }, - "defaultUserIdentifier": { - "type": "string", - "pattern": "(^env[.].*)|^(email|phone)$" - }, - "enableServerSideIdentify": { - "type": "boolean" - }, - "validateOnly": { - "type": "boolean" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/google_adwords_offline_conversions/ui_config.json b/data/destinations/google_adwords_offline_conversions/ui_config.json deleted file mode 100644 index 532840f61..000000000 --- a/data/destinations/google_adwords_offline_conversions/ui_config.json +++ /dev/null @@ -1,187 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Customer ID", - "value": "customerId", - "regex": "^(.{1,100})$", - "regexErrorMessage": "Invalid Customer Id", - "required": true, - "placeholder": "e.g: 6293429833" - }, - { - "type": "checkbox", - "label": "Sub Account", - "value": "subAccount", - "required": false, - "default": false - }, - { - "type": "textInput", - "label": "Login Customer ID", - "preRequisiteField": [ - { - "name": "subAccount", - "selectedValue": true - } - ], - "value": "loginCustomerId", - "regex": "^(.{1,100})$", - "required": true, - "footerNote": "If Customer-Id is from a sub account then provide customerId of manager account" - } - ] - }, - { - "title": "Event Settings", - "fields": [ - { - "type": "dynamicSelectForm", - "label": "Map your events with Google Ads Offline Conversions", - "labelLeft": "RudderStack event names", - "labelRight": "Google ads offline conversions", - "value": "eventsToOfflineConversionsTypeMapping", - "keyLeft": "from", - "keyRight": "to", - "required": false, - "placeholderLeft": "e.g: Sign up completed", - "options": [ - { - "name": "Click", - "value": "click" - }, - { - "name": "Call", - "value": "call" - } - ] - }, - { - "type": "dynamicForm", - "label": "Map your Google Ads Conversions Names", - "labelLeft": "RudderStack event names", - "labelRight": "Google Ads conversion names", - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g: Sign up completed", - "placeholderRight": "e.g: App Sign-up", - "value": "eventsToConversionsNamesMapping" - }, - { - "type": "dynamicForm", - "label": "Map your variable names to custom Google Ads variables.", - "labelLeft": "custom variable names", - "labelRight": "Google Ads custom variables", - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g. value", - "placeholderRight": "eg: revenue", - "value": "customVariables" - }, - { - "type": "singleSelect", - "label": "User Identifier Source", - "value": "UserIdentifierSource", - "required": false, - "footerNote": "Source of the user identifier", - "options": [ - { - "name": "None", - "value": "none" - }, - { - "name": "UNSPECIFIED", - "value": "UNSPECIFIED" - }, - { - "name": "UNKNOWN", - "value": "UNKNOWN" - }, - { - "name": "FIRST_PARTY", - "value": "FIRST_PARTY" - }, - { - "name": "THIRD_PARTY", - "value": "THIRD_PARTY" - } - ], - "defaultOption": { - "name": "None", - "value": "none" - } - }, - { - "type": "singleSelect", - "label": "Conversion Environment", - "value": "conversionEnvironment", - "required": false, - "footerNote": "The environment this conversion was recorded on. e.g. App or Web.", - "options": [ - { - "name": "None", - "value": "none" - }, - { - "name": "UNSPECIFIED", - "value": "UNSPECIFIED" - }, - { - "name": "UNKNOWN", - "value": "UNKNOWN" - }, - { - "name": "APP", - "value": "APP" - }, - { - "name": "WEB", - "value": "WEB" - } - ], - "defaultOption": { - "name": "None", - "value": "none" - } - }, - { - "type": "singleSelect", - "label": "Default user identifier for click conversions", - "value": "defaultUserIdentifier", - "footerNote": "The user identifier for click conversions matching", - "options": [ - { - "name": "Email", - "value": "email" - }, - { - "name": "Phone number", - "value": "phone" - } - ], - "defaultOption": { - "name": "Email", - "value": "email" - } - }, - { - "type": "checkbox", - "label": "Hash User Identifying Information (SHA-256)", - "value": "hashUserIdentifier", - "default": true, - "footerNote": "To hash User identifying information like email, phone number, first name, last name and address using SHA-256." - }, - { - "type": "checkbox", - "label": "Validate Only", - "value": "validateOnly", - "default": false, - "footerNote": "Enable this option to only validate the request" - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/google_adwords_remarketing_lists/metadata.json b/data/destinations/google_adwords_remarketing_lists/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/google_adwords_remarketing_lists/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/google_adwords_remarketing_lists/schema.json b/data/destinations/google_adwords_remarketing_lists/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/google_adwords_remarketing_lists/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/google_adwords_remarketing_lists/ui_config.json b/data/destinations/google_adwords_remarketing_lists/ui_config.json deleted file mode 100644 index 559467c0d..000000000 --- a/data/destinations/google_adwords_remarketing_lists/ui_config.json +++ /dev/null @@ -1,114 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "List ID", - "value": "listId", - "regex": "^(.{1,100})$", - "regexErrorMessage": "Invalid Google remarketing list ID", - "required": true, - "placeholder": "e.g: 7692349833" - }, - { - "type": "textInput", - "label": "Customer ID", - "value": "customerId", - "regex": "^(.{1,100})$", - "regexErrorMessage": "Invalid Customer ID", - "required": true, - "placeholder": "e.g: 9693429833" - }, - { - "type": "checkbox", - "label": "Sub Account", - "value": "subAccount", - "required": false, - "default": false - }, - { - "type": "textInput", - "label": "Login Customer ID", - "preRequisiteField": [ - { - "name": "subAccount", - "selectedValue": true - } - ], - "value": "loginCustomerId", - "regex": "^(.{0,100})$", - "required": true, - "footerNote": "If customer ID is from a sub account, then provide the customer ID of manager account" - } - ] - }, - { - "title": "Event Settings", - "fields": [ - { - "type": "singleSelect", - "label": "List Type", - "value": "typeOfList", - "mode": "single", - "options": [ - { - "name": "General", - "value": "General" - }, - { - "name": "User ID", - "value": "userID" - }, - { - "name": "Mobile Device ID", - "value": "mobileDeviceID" - } - ], - "defaultOption": { - "value": "General" - } - }, - { - "type": "checkbox", - "label": "Hash Required", - "value": "isHashRequired", - "default": true - }, - { - "type": "singleSelect", - "label": "Schema Fields", - "preRequisiteField": [ - { - "name": "typeOfList", - "selectedValue": "General" - } - ], - "value": "userSchema", - "mode": "multiple", - "options": [ - { - "name": "Email", - "value": "email" - }, - { - "name": "Phone Number", - "value": "phone" - }, - { - "name": "Address Info", - "value": "addressInfo" - } - ], - "defaultOption": { - "name": "Email", - "value": [ - "email" - ] - } - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/google_cloud_function/db_config.json b/data/destinations/google_cloud_function/db_config.json deleted file mode 100644 index 911df86ae..000000000 --- a/data/destinations/google_cloud_function/db_config.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "GOOGLE_CLOUD_FUNCTION", - "displayName": "Google Cloud Function", - "config": { - "transformAt": "router", - "transformAtV1": "router", - "saveDestinationResponse": true, - "includeKeys": [ - "triggerType", - "googleCloudFunctionUrl", - "gcloudAuthorization", - "apiKeyId", - "enableBatchInput" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "amp", - "android", - "cordova", - "cloud", - "flutter", - "ios", - "reactnative", - "unity", - "warehouse", - "web" - ], - "supportedMessageTypes": [ - "identify", - "page", - "screen", - "track", - "alias", - "group" - ], - "destConfig": { - "defaultConfig": [ - "triggerType", - "googleCloudFunctionUrl", - "gcloudAuthorization", - "apiKeyId", - "enableBatchInput", - "maxBatchSize" - ] - }, - "secretKeys": [ - "apiKeyId", - "gcloudAuthorization" - ] - } -} \ No newline at end of file diff --git a/data/destinations/google_cloud_function/metadata.json b/data/destinations/google_cloud_function/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/google_cloud_function/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/google_cloud_function/schema.json b/data/destinations/google_cloud_function/schema.json deleted file mode 100644 index 8186c10ac..000000000 --- a/data/destinations/google_cloud_function/schema.json +++ /dev/null @@ -1,78 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "triggerType" - ], - "properties": { - "apiKeyId": { - "type": "string" - }, - "enableBatchInput": { - "type": "boolean" - }, - "maxBatchSize": { - "type": "string", - "pattern": "^[1-9]\\d*$" - }, - "triggerType": { - "type": "string", - "pattern": "^(Http|Https)$" - } - }, - "allOf": [ - { - "if": { - "properties": { - "triggerType": { - "const": "Http" - } - }, - "required": [ - "triggerType" - ] - }, - "then": { - "properties": { - "googleCloudFunctionUrl": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$" - } - }, - "required": [ - "googleCloudFunctionUrl" - ] - } - }, - { - "if": { - "properties": { - "triggerType": { - "const": "Https" - } - }, - "required": [ - "triggerType" - ] - }, - "then": { - "properties": { - "googleCloudFunctionUrl": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$" - }, - "gcloudAuthorization": { - "type": "string", - "pattern": "(^env[.].+)|.+" - } - }, - "required": [ - "googleCloudFunctionUrl", - "gcloudAuthorization" - ] - } - } - ] - } -} \ No newline at end of file diff --git a/data/destinations/google_cloud_function/ui_config.json b/data/destinations/google_cloud_function/ui_config.json deleted file mode 100644 index 366c47977..000000000 --- a/data/destinations/google_cloud_function/ui_config.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "singleSelect", - "label": "Choose your Trigger Type ", - "value": "triggerType", - "options": [ - { - "name": "HTTP", - "value": "Http" - }, - { - "name": "HTTPS", - "value": "Https" - } - ], - "required": true - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "triggerType", - "selectedValue": "Http" - } - ], - "label": "URL", - "value": "googleCloudFunctionUrl", - "required": true, - "placeholder": "http://www.abcd.com", - "regex": "(?!.*\\.ngrok\\.io)^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$", - "footerNote": "The Url given under Trigger section when you create Google Cloud Function" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "triggerType", - "selectedValue": "Https" - } - ], - "label": "URL", - "value": "googleCloudFunctionUrl", - "required": true, - "placeholder": "http://www.abcd.com", - "regex": "(?!.*\\.ngrok\\.io)^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$", - "footerNote": "The Url given under Trigger section when you create Google Cloud Function" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "triggerType", - "selectedValue": "Https" - } - ], - "label": "Gcloud Authorization", - "value": "gcloudAuthorization", - "regex": ".*", - "required": true, - "placeholder": "e.g. tZrPAgHyn2jMWOVGKrS6gBGLYT8v9kJE", - "secret": true, - "footerNote": "Your private Gcloud Authorization Token" - }, - { - "type": "textInput", - "label": "Api Key Id", - "value": "apiKeyId", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Api Key Id", - "required": false, - "placeholder": "e.g: bSjsdGYsOo9sjw23Shj", - "secret": true, - "footerNote": "Your API Key" - } - ] - }, - { - "title": "Optional Settings", - "fields": [ - { - "type": "checkbox", - "label": "Enable Batch Input", - "value": "enableBatchInput", - "default": false, - "footerNote": "While this is checked, Events are sent in Batch." - }, - { - "type": "textInput", - "preRequisiteField": { - "name": "enableBatchInput", - "selectedValue": true - }, - "label": "Max Batch Size", - "value": "maxBatchSize", - "regex": "^[1-9]\\d*$", - "regexErrorMessage": "Invalid batch size", - "placeholder": "e.g: 100", - "required": false - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/google_optimize/db_config.json b/data/destinations/google_optimize/db_config.json deleted file mode 100644 index 033bd9ddc..000000000 --- a/data/destinations/google_optimize/db_config.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "GOOGLE_OPTIMIZE", - "displayName": "Google Optimize", - "config": { - "transformAt": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "ga", - "trackingId", - "containerId", - "async", - "aflicker", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption" - ], - "excludeKeys": [], - "secretKeys": [], - "supportedSourceTypes": [ - "web" - ], - "destConfig": { - "defaultConfig": [ - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "web": [ - "ga", - "trackingId", - "containerId", - "async", - "aflicker", - "useNativeSDK", - "oneTrustCookieCategories" - ] - } - } -} \ No newline at end of file diff --git a/data/destinations/google_optimize/metadata.json b/data/destinations/google_optimize/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/google_optimize/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/google_optimize/schema.json b/data/destinations/google_optimize/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/google_optimize/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/googleads/db_config.json b/data/destinations/googleads/db_config.json deleted file mode 100644 index 4114c997e..000000000 --- a/data/destinations/googleads/db_config.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "name": "GOOGLEADS", - "displayName": "Google Ads", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": false, - "includeKeys": [ - "conversionID", - "eventMappingFromConfig", - "pageLoadConversions", - "clickEventConversions", - "defaultPageConversion", - "dynamicRemarketing", - "sendPageView", - "conversionLinker", - "disableAdPersonalization", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "web" - ], - "destConfig": { - "defaultConfig": [ - "conversionID", - "eventMappingFromConfig", - "pageLoadConversions", - "clickEventConversions", - "defaultPageConversion", - "sendPageView", - "conversionLinker", - "disableAdPersonalization", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "web": [ - "useNativeSDK", - "dynamicRemarketing", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [] - } -} \ No newline at end of file diff --git a/data/destinations/googleads/metadata.json b/data/destinations/googleads/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/googleads/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/googleads/schema.json b/data/destinations/googleads/schema.json deleted file mode 100644 index 5e961e378..000000000 --- a/data/destinations/googleads/schema.json +++ /dev/null @@ -1,137 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "conversionID" - ], - "properties": { - "conversionID": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^AW-(.{0,100})$" - }, - "eventMappingFromConfig": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "pageLoadConversions": { - "type": "array", - "items": { - "type": "object", - "properties": { - "conversionLabel": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "name": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "clickEventConversions": { - "type": "array", - "items": { - "type": "object", - "properties": { - "conversionLabel": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "name": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "defaultPageConversion": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "dynamicRemarketing": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "conversionLinker": { - "type": "boolean" - }, - "sendPageView": { - "type": "boolean" - }, - "disableAdPersonalization": { - "type": "boolean" - }, - "eventFilteringOption": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(^(disable|whitelistedEvents|blacklistedEvents)$)" - }, - "whitelistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "blacklistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "useNativeSDK": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "oneTrustCookieCategories": { - "type": "object", - "properties": { - "web": { - "type": "array", - "items": { - "type": "object", - "properties": { - "oneTrustCookieCategory": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/googlepubsub/db_config.json b/data/destinations/googlepubsub/db_config.json deleted file mode 100644 index 776225fa8..000000000 --- a/data/destinations/googlepubsub/db_config.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "GOOGLEPUBSUB", - "displayName": "Google Pub/Sub", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "destConfig": { - "defaultConfig": [ - "eventToTopicMap", - "credentials", - "projectId", - "eventToAttributesMap" - ] - }, - "secretKeys": [ - "credentials" - ] - } -} \ No newline at end of file diff --git a/data/destinations/googlepubsub/metadata.json b/data/destinations/googlepubsub/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/googlepubsub/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/googlepubsub/schema.json b/data/destinations/googlepubsub/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/googlepubsub/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/googlepubsub/ui_config.json b/data/destinations/googlepubsub/ui_config.json deleted file mode 100644 index fc2ddf94b..000000000 --- a/data/destinations/googlepubsub/ui_config.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "uiConfig": [ - { - "title": "1. Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Project ID", - "value": "projectId", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Project ID", - "required": true, - "placeholder": "" - }, - { - "type": "textareaInput", - "label": "Credentials", - "labelNote": "GCP Service Account credentials JSON for RudderStack to use in publishing data into your Google Pub/Sub", - "value": "credentials", - "regex": ".*", - "required": true, - "footerNote": "The credentials JSON is used by the client library to access the Pub/Sub API", - "secret": true - }, - { - "type": "dynamicForm", - "label": "Send RudderStack events to Google pub/sub topics", - "footerNote": "Use asterics (*) to send all events to the particular topic.", - "labelLeft": "Event", - "labelRight": "Topic ID", - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g: page", - "placeholderRight": "e.g: topic_id", - "value": "eventToTopicMap" - }, - { - "type": "dynamicForm", - "label": "Map message properties to Google pub/sub message Attribute Key", - "footerNote": "Use asterics (*) to map for all events.", - "labelLeft": "Event", - "labelRight": "Field", - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g: event", - "placeholderRight": "e.g: key", - "value": "eventToAttributesMap" - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/googlesheets/db_config.json b/data/destinations/googlesheets/db_config.json deleted file mode 100644 index 4c158c978..000000000 --- a/data/destinations/googlesheets/db_config.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "GOOGLESHEETS", - "displayName": "Google Sheets", - "config": { - "transformAt": "router", - "transformAtV1": "router", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "destConfig": { - "defaultConfig": [ - "sheetName", - "eventKeyMap", - "sheetId", - "credentials" - ] - }, - "secretKeys": [ - "credentials" - ] - } -} \ No newline at end of file diff --git a/data/destinations/googlesheets/metadata.json b/data/destinations/googlesheets/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/googlesheets/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/googlesheets/schema.json b/data/destinations/googlesheets/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/googlesheets/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/googlesheets/ui_config.json b/data/destinations/googlesheets/ui_config.json deleted file mode 100644 index e2e95aa55..000000000 --- a/data/destinations/googlesheets/ui_config.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textareaInput", - "label": "Credentials", - "labelNote": "Google Cloud Service Account credentials JSON for RudderStack to use in publishing data into Google Sheets", - "value": "credentials", - "regex": ".*", - "required": true, - "footerNote": "The credentials JSON is used by the client library to access the Google Sheets API", - "secret": true - }, - { - "type": "textInput", - "label": "Sheet Id", - "value": "sheetId", - "regex": ".*", - "required": true, - "placeholder": "e.g. 13N0gkA9Be_2gR2afax2G4j6h4MoCOgmDcCRgopTc905", - "footerNote": "Your Google Sheet Id" - }, - { - "type": "textInput", - "label": "Sheet Name", - "value": "sheetName", - "regex": ".*", - "required": true, - "placeholder": "e.g. Sheet1", - "footerNote": "The spread-sheet to which you want to send data" - }, - { - "type": "dynamicForm", - "label": "Map Event to Google-Sheets", - "footerNote": "Add Event Properties to map to Google-Sheets Column", - "labelLeft": "Event Properties", - "labelRight": "Column Name", - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g: addedToCart", - "placeholderRight": "e.g: Added To Cart", - "value": "eventKeyMap", - "disableInputLeft": true, - "disableInputRight": false, - "disableDelete": true, - "required": true - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/gtm/db_config.json b/data/destinations/gtm/db_config.json deleted file mode 100644 index b980fcae3..000000000 --- a/data/destinations/gtm/db_config.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "GTM", - "displayName": "Google Tag Manager", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": false, - "includeKeys": [ - "containerID", - "serverUrl", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "web" - ], - "destConfig": { - "defaultConfig": [ - "containerID", - "serverUrl", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [] - } -} \ No newline at end of file diff --git a/data/destinations/gtm/metadata.json b/data/destinations/gtm/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/gtm/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/gtm/schema.json b/data/destinations/gtm/schema.json deleted file mode 100644 index 8e105ba42..000000000 --- a/data/destinations/gtm/schema.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "containerID" - ], - "properties": { - "containerID": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "serverUrl": { - "type": "string" - }, - "eventFilteringOption": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(^(disable|whitelistedEvents|blacklistedEvents)$)" - }, - "whitelistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "blacklistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "useNativeSDK": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "oneTrustCookieCategories": { - "type": "object", - "properties": { - "web": { - "type": "array", - "items": { - "type": "object", - "properties": { - "oneTrustCookieCategory": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/heap/db_config.json b/data/destinations/heap/db_config.json deleted file mode 100644 index dd6257e7f..000000000 --- a/data/destinations/heap/db_config.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "name": "HEAP", - "displayName": "Heap.io", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "cdkEnabled": true, - "saveDestinationResponse": true, - "includeKeys": [ - "appId", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "identify", - "track" - ], - "destConfig": { - "defaultConfig": [ - "appId", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [] - } -} \ No newline at end of file diff --git a/data/destinations/heap/metadata.json b/data/destinations/heap/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/heap/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/heap/schema.json b/data/destinations/heap/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/heap/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/hotjar/db_config.json b/data/destinations/hotjar/db_config.json deleted file mode 100644 index f2e1e6eb9..000000000 --- a/data/destinations/hotjar/db_config.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "HOTJAR", - "displayName": "Hotjar", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "siteID", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "web" - ], - "destConfig": { - "defaultConfig": [ - "siteID", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [] - } -} \ No newline at end of file diff --git a/data/destinations/hotjar/metadata.json b/data/destinations/hotjar/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/hotjar/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/hotjar/schema.json b/data/destinations/hotjar/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/hotjar/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/hs/db_config.json b/data/destinations/hs/db_config.json deleted file mode 100644 index e183de407..000000000 --- a/data/destinations/hs/db_config.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "name": "HS", - "displayName": "HubSpot", - "config": { - "supportsVisualMapper": true, - "transformAt": "router", - "transformAtV1": "router", - "saveDestinationResponse": true, - "includeKeys": [ - "hubID", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "identify", - "track" - ], - "destConfig": { - "defaultConfig": [ - "authorizationType", - "hubID", - "apiKey", - "accessToken", - "apiVersion", - "lookupField", - "hubspotEvents", - "rsEventName", - "hubspotEventName", - "eventProperties", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption", - "doAssociation" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [] - } -} \ No newline at end of file diff --git a/data/destinations/hs/metadata.json b/data/destinations/hs/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/hs/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/hs/schema.json b/data/destinations/hs/schema.json deleted file mode 100644 index 12586cac1..000000000 --- a/data/destinations/hs/schema.json +++ /dev/null @@ -1,117 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "authorizationType": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(legacyApiKey|newPrivateAppApi)$" - }, - "hubID": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "apiKey": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "accessToken": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "apiVersion": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(legacyApi|newApi)$" - }, - "lookupField": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "hubspotEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "rsEventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "hubspotEventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "eventProperties": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } - }, - "useNativeSDK": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "eventFilteringOption": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" - }, - "whitelistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "blacklistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "oneTrustCookieCategories": { - "type": "object", - "properties": { - "web": { - "type": "array", - "items": { - "type": "object", - "properties": { - "oneTrustCookieCategory": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/indicative/db_config.json b/data/destinations/indicative/db_config.json deleted file mode 100644 index 838f094be..000000000 --- a/data/destinations/indicative/db_config.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "INDICATIVE", - "displayName": "Indicative", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "alias", - "identify", - "page", - "screen", - "track" - ], - "destConfig": { - "defaultConfig": [ - "apiKey" - ] - }, - "secretKeys": [] - } -} \ No newline at end of file diff --git a/data/destinations/indicative/metadata.json b/data/destinations/indicative/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/indicative/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/indicative/schema.json b/data/destinations/indicative/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/indicative/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/indicative/ui_config.json b/data/destinations/indicative/ui_config.json deleted file mode 100644 index 60a8491df..000000000 --- a/data/destinations/indicative/ui_config.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "API Key", - "value": "apiKey", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid API Key", - "required": true, - "placeholder": "e.g: 99ba062d-22de-4dd0-a65f-0b064495f74f", - "secret": true - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/intercom/db_config.json b/data/destinations/intercom/db_config.json deleted file mode 100644 index 80902d835..000000000 --- a/data/destinations/intercom/db_config.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "name": "INTERCOM", - "displayName": "Intercom", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "appId", - "mobileApiKeyAndroid", - "mobileApiKeyIOS", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "identify", - "track" - ], - "destConfig": { - "defaultConfig": [ - "apiKey", - "appId", - "collectContext", - "sendAnonymousId", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "android": [ - "useNativeSDK", - "mobileApiKeyAndroid" - ], - "ios": [ - "useNativeSDK", - "mobileApiKeyIOS" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [] - } -} \ No newline at end of file diff --git a/data/destinations/intercom/metadata.json b/data/destinations/intercom/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/intercom/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/intercom/schema.json b/data/destinations/intercom/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/intercom/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/iterable/db_config.json b/data/destinations/iterable/db_config.json deleted file mode 100644 index 8cb33f257..000000000 --- a/data/destinations/iterable/db_config.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "name": "ITERABLE", - "displayName": "Iterable", - "config": { - "isAudienceSupported": true, - "supportsVisualMapper": true, - "transformAt": "router", - "transformAtV1": "router", - "saveDestinationResponse": true, - "includeKeys": [ - "apiKey", - "initialisationIdentifier", - "getInAppEventMapping", - "purchaseEventMapping", - "sendTrackForInapp", - "animationDuration", - "displayInterval", - "onOpenScreenReaderMessage", - "onOpenNodeToTakeFocus", - "packageName", - "rightOffset", - "topOffset", - "bottomOffset", - "handleLinks", - "closeButtonColor", - "closeButtonSize", - "closeButtonColorTopOffset", - "closeButtonColorSideOffset", - "iconPath", - "isRequiredToDismissMessage", - "closeButtonPosition" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "identify", - "page", - "screen", - "track", - "alias" - ], - "destConfig": { - "defaultConfig": [ - "apiKey", - "mapToSingleEvent", - "trackAllPages", - "trackCategorisedPages", - "trackNamedPages" - ], - "web": [ - "useNativeSDK", - "initialisationIdentifier", - "getInAppEventMapping", - "purchaseEventMapping", - "sendTrackForInapp", - "animationDuration", - "displayInterval", - "onOpenScreenReaderMessage", - "onOpenNodeToTakeFocus", - "packageName", - "rightOffset", - "topOffset", - "bottomOffset", - "handleLinks", - "closeButtonColor", - "closeButtonSize", - "closeButtonColorTopOffset", - "closeButtonColorSideOffset", - "iconPath", - "isRequiredToDismissMessage", - "closeButtonPosition", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [] - } -} \ No newline at end of file diff --git a/data/destinations/iterable/metadata.json b/data/destinations/iterable/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/iterable/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/iterable/schema.json b/data/destinations/iterable/schema.json deleted file mode 100644 index 280fbe35e..000000000 --- a/data/destinations/iterable/schema.json +++ /dev/null @@ -1,238 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "apiKey" - ], - "properties": { - "apiKey": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "mapToSingleEvent": { - "type": "boolean" - }, - "trackAllPages": { - "type": "boolean" - }, - "trackCategorisedPages": { - "type": "boolean" - }, - "trackNamedPages": { - "type": "boolean" - }, - "oneTrustCookieCategories": { - "type": "object", - "properties": { - "web": { - "type": "array", - "items": { - "type": "object", - "properties": { - "oneTrustCookieCategory": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - }, - "useNativeSDK": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "getInAppEventMapping": { - "type": "object", - "properties": { - "web": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - }, - "purchaseEventMapping": { - "type": "object", - "properties": { - "web": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - }, - "apiSecret": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "initialisationIdentifier": { - "type": "object", - "properties": { - "web": { - "type": "string" - } - } - }, - "animationDuration": { - "type": "object", - "properties": { - "web": { - "type": "string" - } - } - }, - "displayInterval": { - "type": "object", - "properties": { - "web": { - "type": "string" - } - } - }, - "onOpenScreenReaderMessage": { - "type": "object", - "properties": { - "web": { - "type": "string" - } - } - }, - "onOpenNodeToTakeFocus": { - "type": "object", - "properties": { - "web": { - "type": "string" - } - } - }, - "packageName": { - "type": "object", - "properties": { - "web": { - "type": "string" - } - } - }, - "rightOffset": { - "type": "object", - "properties": { - "web": { - "type": "string" - } - } - }, - "topOffset": { - "type": "object", - "properties": { - "web": { - "type": "string" - } - } - }, - "bottomOffset": { - "type": "object", - "properties": { - "web": { - "type": "string" - } - } - }, - "closeButtonColor": { - "type": "object", - "properties": { - "web": { - "type": "string" - } - } - }, - "closeButtonSize": { - "type": "object", - "properties": { - "web": { - "type": "string" - } - } - }, - "closeButtonColorTopOffset": { - "type": "object", - "properties": { - "web": { - "type": "string" - } - } - }, - "closeButtonColorSideOffset": { - "type": "object", - "properties": { - "web": { - "type": "string" - } - } - }, - "iconPath": { - "type": "object", - "properties": { - "web": { - "type": "string" - } - } - }, - "isRequiredToDismissMessage": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "closeButtonPosition": { - "type": "object", - "properties": { - "web": { - "type": "string" - } - } - }, - "sendTrackForInapp": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "handleLinks": { - "type": "object", - "properties": { - "web": { - "type": "string" - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/june/db_config.json b/data/destinations/june/db_config.json deleted file mode 100644 index 6819aba0c..000000000 --- a/data/destinations/june/db_config.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "name": "JUNE", - "displayName": "JUNE", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "apiKey", - "whitelistedEvents", - "blacklistedEvents", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "reactnative", - "flutter", - "cordova", - "warehouse" - ], - "supportedMessageTypes": [ - "page", - "identify", - "track", - "group" - ], - "destConfig": { - "defaultConfig": [ - "apiKey", - "whitelistedEvents", - "blacklistedEvents", - "eventFilteringOption" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [ - "apiKey" - ] - } -} \ No newline at end of file diff --git a/data/destinations/june/metadata.json b/data/destinations/june/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/june/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/june/schema.json b/data/destinations/june/schema.json deleted file mode 100644 index 911baedbe..000000000 --- a/data/destinations/june/schema.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "apiKey" - ], - "properties": { - "apiKey": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "eventFilteringOption": { - "type": "string", - "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" - }, - "whitelistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "blacklistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "useNativeSDK": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "oneTrustCookieCategories": { - "type": "object", - "properties": { - "web": { - "type": "array", - "items": { - "type": "object", - "properties": { - "oneTrustCookieCategory": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/kafka/metadata.json b/data/destinations/kafka/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/kafka/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/kafka/schema.json b/data/destinations/kafka/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/kafka/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/kafka/ui_config.json b/data/destinations/kafka/ui_config.json deleted file mode 100644 index 64fb98ca3..000000000 --- a/data/destinations/kafka/ui_config.json +++ /dev/null @@ -1,225 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Host Name(s)", - "value": "hostName", - "regex": "^((,|^)[^\\s]*)*$", - "regexErrorMessage": "Invalid Host Name(s)", - "required": true, - "placeholder": "e.g: localhost", - "footerNote": "For multiple host names, provide them in comma separated string format" - }, - { - "type": "textInput", - "label": "Port", - "value": "port", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Port", - "required": true, - "placeholder": "e.g: 9092" - }, - { - "type": "textInput", - "label": "Topic Name", - "value": "topic", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Topic Name", - "required": true, - "placeholder": "e.g: test-topic" - }, - { - "type": "checkbox", - "label": "SSL Enabled", - "value": "sslEnabled", - "default": true - }, - { - "type": "textareaInput", - "preRequisiteField": { - "name": "sslEnabled", - "selectedValue": true - }, - "label": "CA certificate", - "value": "caCertificate", - "regex": ".*", - "required": false, - "placeholder": "CA Certificate" - } - ] - }, - { - "title": "SASL Authentication", - "fields": [ - { - "type": "checkbox", - "label": "Enable SASL with SSL", - "value": "useSASL", - "default": false - }, - { - "type": "singleSelect", - "preRequisiteField": { - "name": "useSASL", - "selectedValue": true - }, - "label": "SASL Type", - "value": "saslType", - "options": [ - { - "name": "Plain", - "value": "plain" - }, - { - "name": "SCRAM SHA-512", - "value": "sha512" - }, - { - "name": "SCRAM SHA-256", - "value": "sha256" - } - ], - "defaultOption": { - "name": "Plain", - "value": "plain" - }, - "required": true - }, - { - "type": "textInput", - "preRequisiteField": { - "name": "useSASL", - "selectedValue": true - }, - "label": "Username", - "value": "username", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid User Name", - "required": true, - "placeholder": "e.g: userjohn" - }, - { - "type": "textInput", - "preRequisiteField": { - "name": "useSASL", - "selectedValue": true - }, - "label": "Password", - "value": "password", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Password", - "required": true, - "placeholder": "e.g: 1jdu234nasfa", - "secret": true - } - ] - }, - { - "title": "Event Settings", - "fields": [ - { - "type": "checkbox", - "label": "Convert Data to AVRO format", - "value": "convertToAvro", - "default": false, - "footerNote": "If this option is turned on we will convert the data to avro" - }, - { - "preRequisiteField": { - "name": "convertToAvro", - "selectedValue": true - }, - "label": "AVRO Schema Lists", - "value": "avroSchemas", - "required": true, - "type": "dynamicCustomForm", - "customFields": [ - { - "type": "textInput", - "value": "schemaId", - "required": true, - "label": "Schema Id", - "placeholder": "e.g: schema-id" - }, - { - "type": "textareaInput", - "value": "schema", - "label": "Schema", - "required": true, - "placeholder": "schema object" - } - ] - } - ] - }, - { - "title": "Topic Settings", - "fields": [ - { - "type": "checkbox", - "label": "Enable multiple topic support for event types and event names", - "value": "enableMultiTopic", - "default": false, - "footerNote": "Enable this option to deliver events to multiple topics" - }, - { - "preRequisiteField": { - "name": "enableMultiTopic", - "selectedValue": true - }, - "type": "dynamicSelectForm", - "label": "Map event type to topic", - "labelLeft": "Event Type", - "labelRight": "Topic", - "value": "eventTypeToTopicMap", - "keyLeft": "from", - "keyRight": "to", - "reverse": true, - "required": true, - "placeholderRight": "e.g. Sample-topic", - "options": [ - { - "name": "Identify", - "value": "identify" - }, - { - "name": "Page", - "value": "page" - }, - { - "name": "Screen", - "value": "screen" - }, - { - "name": "Group", - "value": "group" - }, - { - "name": "Alias", - "value": "alias" - } - ] - }, - { - "preRequisiteField": { - "name": "enableMultiTopic", - "selectedValue": true - }, - "type": "dynamicForm", - "label": "Map Track events to topic", - "required": true, - "placeholderLeft": "e.g. Product Searched", - "placeholderRight": "Sample-topic", - "labelLeft": "Event Name", - "labelRight": "Topic", - "keyLeft": "from", - "keyRight": "to", - "value": "eventToTopicMap" - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/keen/db_config.json b/data/destinations/keen/db_config.json deleted file mode 100644 index ec99353df..000000000 --- a/data/destinations/keen/db_config.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "name": "KEEN", - "displayName": "Keen", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "projectID", - "writeKey", - "ipAddon", - "uaAddon", - "urlAddon", - "referrerAddon", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "page", - "track" - ], - "destConfig": { - "defaultConfig": [ - "projectID", - "writeKey", - "ipAddon", - "uaAddon", - "urlAddon", - "referrerAddon", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [] - } -} \ No newline at end of file diff --git a/data/destinations/keen/metadata.json b/data/destinations/keen/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/keen/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/keen/schema.json b/data/destinations/keen/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/keen/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/kinesis/metadata.json b/data/destinations/kinesis/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/kinesis/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/kinesis/schema.json b/data/destinations/kinesis/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/kinesis/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/kissmetrics/db_config.json b/data/destinations/kissmetrics/db_config.json deleted file mode 100644 index e2ab51f90..000000000 --- a/data/destinations/kissmetrics/db_config.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "KISSMETRICS", - "displayName": "Kiss Metrics", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "apiKey", - "prefixProperties", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "alias", - "identify", - "page", - "screen", - "track" - ], - "destConfig": { - "defaultConfig": [ - "apiKey", - "prefixProperties", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [] - } -} \ No newline at end of file diff --git a/data/destinations/kissmetrics/metadata.json b/data/destinations/kissmetrics/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/kissmetrics/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/kissmetrics/schema.json b/data/destinations/kissmetrics/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/kissmetrics/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/klaviyo/db_config.json b/data/destinations/klaviyo/db_config.json deleted file mode 100644 index eb783dede..000000000 --- a/data/destinations/klaviyo/db_config.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "name": "KLAVIYO", - "displayName": "Klaviyo", - "config": { - "transformAt": "router", - "transformAtV1": "router", - "saveDestinationResponse": true, - "includeKeys": [ - "publicApiKey", - "sendPageAsTrack", - "additionalPageInfo", - "enforceEmailAsPrimary", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "group", - "identify", - "screen", - "track" - ], - "destConfig": { - "defaultConfig": [ - "publicApiKey", - "privateApiKey", - "consent", - "smsConsent", - "listId", - "sendPageAsTrack", - "additionalPageInfo", - "enforceEmailAsPrimary", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [ - "privateApiKey" - ] - } -} \ No newline at end of file diff --git a/data/destinations/klaviyo/metadata.json b/data/destinations/klaviyo/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/klaviyo/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/klaviyo/schema.json b/data/destinations/klaviyo/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/klaviyo/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/kochava/db_config.json b/data/destinations/kochava/db_config.json deleted file mode 100644 index da6655e4e..000000000 --- a/data/destinations/kochava/db_config.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "name": "KOCHAVA", - "displayName": "Kochava", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "cdkEnabled": true, - "saveDestinationResponse": true, - "includeKeys": [ - "apiKey", - "appTrackingTransparency", - "skAdNetwork", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "screen", - "track" - ], - "destConfig": { - "defaultConfig": [ - "apiKey", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "android": [ - "useNativeSDK" - ], - "ios": [ - "useNativeSDK", - "appTrackingTransparency", - "skAdNetwork" - ] - }, - "secretKeys": [] - } -} \ No newline at end of file diff --git a/data/destinations/kochava/metadata.json b/data/destinations/kochava/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/kochava/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/kochava/schema.json b/data/destinations/kochava/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/kochava/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/kochava/ui_config.json b/data/destinations/kochava/ui_config.json deleted file mode 100644 index 44f28df05..000000000 --- a/data/destinations/kochava/ui_config.json +++ /dev/null @@ -1,100 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Kochava App GUID", - "value": "apiKey", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Kochava App GUID", - "required": true, - "placeholder": "e.g: kotestapplication-xxxxxxxx" - }, - { - "type": "checkbox", - "label": "Enable AppTrackingTransparency (ATT)", - "value": "appTrackingTransparency", - "required": false, - "default": false, - "footerNote": "This setting is applicable for iOS device mode only and it would not work as expected if you disable AppTrackingTransparency (ATT) for your app on Kochava dashboard." - }, - { - "type": "checkbox", - "label": "Enable skAdNetwork", - "value": "skAdNetwork", - "required": false, - "default": false, - "footerNote": "This setting is applicable for iOS device mode only and it requires you to configure skAdNetwork settings for your app on Kochava dashboard to work as expected." - } - ] - }, - { - "title": "Native SDK", - "fields": [ - { - "type": "checkbox", - "label": "Use device-mode to send events", - "value": "useNativeSDK", - "default": false - } - ] - }, - { - "title": "Client-side Events Filtering", - "sectionNote": "Applicable only for device-mode integrations. If enabled, it works only with either allowlisted or denylisted events", - "fields": [ - { - "type": "singleSelect", - "value": "eventFilteringOption", - "required": false, - "options": [ - { - "name": "Disable", - "value": "disable" - }, - { - "name": "Allowlist", - "value": "whitelistedEvents" - }, - { - "name": "Denylist", - "value": "blacklistedEvents" - } - ], - "defaultOption": { - "name": "Disable", - "value": "disable" - } - }, - { - "type": "dynamicCustomForm", - "value": "whitelistedEvents", - "label": "Allowlist", - "customFields": [ - { - "type": "textInput", - "value": "eventName", - "required": false, - "placeholder": "e.g: Anonymous Page Visit" - } - ] - }, - { - "type": "dynamicCustomForm", - "value": "blacklistedEvents", - "label": "Denylist", - "customFields": [ - { - "type": "textInput", - "value": "eventName", - "required": false, - "placeholder": "e.g: Credit Card Added" - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/kustomer/db_config.json b/data/destinations/kustomer/db_config.json deleted file mode 100644 index 6a489e3f8..000000000 --- a/data/destinations/kustomer/db_config.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "KUSTOMER", - "displayName": "Kustomer", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "identify", - "page", - "screen", - "track" - ], - "destConfig": { - "defaultConfig": [ - "apiKey", - "advancedTransform", - "setIdentityEmail", - "disableEmailAsTrackingProperty", - "genericPage", - "genericScreen" - ] - }, - "secretKeys": [ - "apiKey" - ] - } -} \ No newline at end of file diff --git a/data/destinations/kustomer/metadata.json b/data/destinations/kustomer/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/kustomer/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/kustomer/schema.json b/data/destinations/kustomer/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/kustomer/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/kustomer/ui_config.json b/data/destinations/kustomer/ui_config.json deleted file mode 100644 index 68e19b7ba..000000000 --- a/data/destinations/kustomer/ui_config.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "API Key", - "value": "apiKey", - "regex": ".*", - "required": true, - "placeholder": "e.g. c59e3838caa934b535c1fd342dfds23452dfcccf95c16787304e7a0c0e8051b326451bb2", - "secret": true, - "footerNote": "API key required to authenticate requests." - } - ] - }, - { - "title": "Tracking Events Settings", - "fields": [ - { - "type": "checkbox", - "label": "Enable advanced Kustomer transformations", - "value": "advancedTransform", - "default": true, - "footerNote": "When advanced transformation is enabled, Rudderstack will handle Kustomer Tracking API nuances on top of Vanilla transformation. Please check Docs for more information" - }, - { - "type": "checkbox", - "label": "Add email as tracking identity", - "value": "setIdentityEmail", - "default": false, - "footerNote": "When this option is enabled, Rudderstack will add email as a tracking identity for Kustomer track call" - }, - { - "type": "checkbox", - "label": "Disable email as a tracking property", - "value": "disableEmailAsTrackingProperty", - "default": false, - "footerNote": "When this option is enabled, Rudderstack will NOT add email as a tracking property for Kustomer track call" - }, - { - "type": "checkbox", - "label": "Enable generic title for Page events", - "value": "genericPage", - "default": false - }, - { - "type": "checkbox", - "label": "Enable generic title for Screen events", - "value": "genericScreen", - "default": false - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/lambda/db_config.json b/data/destinations/lambda/db_config.json deleted file mode 100644 index 207a4a6d4..000000000 --- a/data/destinations/lambda/db_config.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "name": "LAMBDA", - "displayName": "AWS Lambda", - "config": { - "transformAt": "router", - "transformAtV1": "router", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "amp", - "android", - "cordova", - "cloud", - "flutter", - "ios", - "reactnative", - "unity", - "warehouse", - "web" - ], - "supportedMessageTypes": [ - "identify", - "page", - "screen", - "track", - "alias", - "group" - ], - "destConfig": { - "defaultConfig": [ - "region", - "iamRoleARN", - "accessKeyId", - "accessKey", - "lambda", - "enableBatchInput", - "clientContext", - "roleBasedAuth", - "maxBatchSize" - ] - }, - "secretKeys": ["accessKeyId", "accessKey"] - } -} diff --git a/data/destinations/lambda/metadata.json b/data/destinations/lambda/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/lambda/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/lambda/schema.json b/data/destinations/lambda/schema.json deleted file mode 100644 index 8594e2f0b..000000000 --- a/data/destinations/lambda/schema.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "region", - "lambda" - ], - "properties": { - "accessKeyId": { - "type": "string" - }, - "accessKey": { - "type": "string" - }, - "iamRoleARN": { - "type": "string" - }, - "roleBasedAuth": { - "type": "boolean" - }, - "region": { - "type": "string" - }, - "lambda": { - "type": "string" - }, - "enableBatchInput": { - "type": "boolean" - }, - "maxBatchSize": { - "type": "string", - "pattern": "^$|^[1-9]\\d*$" - }, - "clientContext": { - "type": "string" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/launchdarkly/db_config.json b/data/destinations/launchdarkly/db_config.json deleted file mode 100644 index 43d6eaa95..000000000 --- a/data/destinations/launchdarkly/db_config.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "LAUNCHDARKLY", - "displayName": "LaunchDarkly", - "config": { - "saveDestinationResponse": true, - "includeKeys": [ - "clientSideId", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption", - "anonymousUsersSharedKey" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "web" - ], - "supportedMessageTypes": [ - "identify", - "track", - "alias" - ], - "destConfig": { - "defaultConfig": [ - "clientSideId", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption", - "anonymousUsersSharedKey" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ] - } - } -} \ No newline at end of file diff --git a/data/destinations/launchdarkly/metadata.json b/data/destinations/launchdarkly/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/launchdarkly/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/launchdarkly/schema.json b/data/destinations/launchdarkly/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/launchdarkly/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/leanplum/db_config.json b/data/destinations/leanplum/db_config.json deleted file mode 100644 index 498c39ada..000000000 --- a/data/destinations/leanplum/db_config.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "name": "LEANPLUM", - "displayName": "Leanplum", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "applicationId", - "clientKey", - "isDevelop", - "useNativeSDKToSend", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "identify", - "page", - "screen", - "track" - ], - "destConfig": { - "defaultConfig": [ - "applicationId", - "clientKey", - "isDevelop", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "android": [ - "useNativeSDK", - "useNativeSDKToSend" - ], - "ios": [ - "useNativeSDK", - "useNativeSDKToSend" - ], - "flutter": [ - "useNativeSDK", - "useNativeSDKToSend" - ] - }, - "secretKeys": [ - "clientKey" - ] - } -} \ No newline at end of file diff --git a/data/destinations/leanplum/metadata.json b/data/destinations/leanplum/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/leanplum/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/leanplum/schema.json b/data/destinations/leanplum/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/leanplum/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/leanplum/ui_config.json b/data/destinations/leanplum/ui_config.json deleted file mode 100644 index 68a3f29b6..000000000 --- a/data/destinations/leanplum/ui_config.json +++ /dev/null @@ -1,111 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Application ID", - "value": "applicationId", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Application ID", - "required": true, - "placeholder": "e.g: ABCDEFG" - }, - { - "type": "textInput", - "label": "Client Key", - "value": "clientKey", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Client Key", - "required": true, - "placeholder": "e.g: ABCDEFG", - "secret": true - } - ] - }, - { - "title": "Native SDK", - "fields": [ - { - "type": "checkbox", - "label": "Initialize Native SDK to send automated events", - "value": "useNativeSDK", - "default": true - }, - { - "type": "checkbox", - "label": "Use device-mode to send user generated events", - "value": "useNativeSDKToSend", - "default": false - } - ] - }, - { - "title": "Development Mode", - "fields": [ - { - "type": "checkbox", - "label": "Use in Development Environment", - "value": "isDevelop", - "default": false - } - ] - }, - { - "title": "Client-side Events Filtering", - "sectionNote": "Applicable only for device-mode integrations. If enabled, it works only with either allowlisted or denylisted events", - "fields": [ - { - "type": "singleSelect", - "value": "eventFilteringOption", - "required": false, - "options": [ - { - "name": "Disable", - "value": "disable" - }, - { - "name": "Allowlist", - "value": "whitelistedEvents" - }, - { - "name": "Denylist", - "value": "blacklistedEvents" - } - ], - "defaultOption": { - "name": "Disable", - "value": "disable" - } - }, - { - "type": "dynamicCustomForm", - "value": "whitelistedEvents", - "label": "Allowlist", - "customFields": [ - { - "type": "textInput", - "value": "eventName", - "required": false, - "placeholder": "e.g: Anonymous Page Visit" - } - ] - }, - { - "type": "dynamicCustomForm", - "value": "blacklistedEvents", - "label": "Denylist", - "customFields": [ - { - "type": "textInput", - "value": "eventName", - "required": false, - "placeholder": "e.g: Credit Card Added" - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/linkedin_insight_tag/db_config.json b/data/destinations/linkedin_insight_tag/db_config.json deleted file mode 100644 index 1e76de37a..000000000 --- a/data/destinations/linkedin_insight_tag/db_config.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "LINKEDIN_INSIGHT_TAG", - "displayName": "Linkedin Insight Tag", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "partnerId", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption", - "eventToConversionIdMap" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "web" - ], - "destConfig": { - "defaultConfig": [ - "partnerId", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption", - "eventToConversionIdMap" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ] - } - } -} \ No newline at end of file diff --git a/data/destinations/linkedin_insight_tag/metadata.json b/data/destinations/linkedin_insight_tag/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/linkedin_insight_tag/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/linkedin_insight_tag/schema.json b/data/destinations/linkedin_insight_tag/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/linkedin_insight_tag/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/livechat/db_config.json b/data/destinations/livechat/db_config.json deleted file mode 100644 index 87b548795..000000000 --- a/data/destinations/livechat/db_config.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "name": "LIVECHAT", - "displayName": "livechat", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "licenseId", - "recordLiveChatEvents", - "updateEventNames", - "eventsToStandard", - "eventsList", - "eventFilteringOption", - "blacklistedEvents", - "whitelistedEvents" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "web" - ], - "supportedMessageTypes": [ - "identify", - "track" - ], - "destConfig": { - "defaultConfig": [ - "licenseId", - "recordLiveChatEvents", - "updateEventNames", - "eventsToStandard", - "eventFilteringOption", - "eventsList", - "blacklistedEvents", - "whitelistedEvents" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [ - "licenseId" - ] - } -} \ No newline at end of file diff --git a/data/destinations/livechat/metadata.json b/data/destinations/livechat/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/livechat/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/livechat/schema.json b/data/destinations/livechat/schema.json deleted file mode 100644 index 62744490a..000000000 --- a/data/destinations/livechat/schema.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "required": [ - "licenseId" - ], - "type": "object", - "properties": { - "licenseId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "recordLiveChatEvents": { - "type": "boolean" - }, - "eventsList": { - "type": "string", - "pattern": "^(onReady|onAvailabilityChanged|onVisibilityChanged|onCustomerStatusChanged|onNewEvent|onFormSubmitted|onRatingSubmitted|onGreetingDisplayed|onGreetingHidden|onRichMessageButtonClicked)$" - }, - "updateEventNames": { - "type": "boolean" - }, - "eventsToStandard": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "whitelistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "blacklistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "useNativeSDK": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "oneTrustCookieCategories": { - "type": "object", - "properties": { - "web": { - "type": "array", - "items": { - "type": "object", - "properties": { - "oneTrustCookieCategory": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/lotame/db_config.json b/data/destinations/lotame/db_config.json deleted file mode 100644 index 8a7af0c64..000000000 --- a/data/destinations/lotame/db_config.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "name": "LOTAME", - "displayName": "Lotame", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "bcpUrlSettingsPixel", - "bcpUrlSettingsIframe", - "dspUrlSettingsPixel", - "dspUrlSettingsIframe", - "mappings", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "web", - "amp" - ], - "destConfig": { - "defaultConfig": [ - "bcpUrlSettingsPixel", - "bcpUrlSettingsIframe", - "dspUrlSettingsPixel", - "dspUrlSettingsIframe", - "mappings", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ], - "amp": [ - "useNativeSDK" - ] - }, - "secretKeys": [] - } -} \ No newline at end of file diff --git a/data/destinations/lotame/metadata.json b/data/destinations/lotame/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/lotame/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/lotame/schema.json b/data/destinations/lotame/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/lotame/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/lotame_mobile/db_config.json b/data/destinations/lotame_mobile/db_config.json deleted file mode 100644 index d04faee83..000000000 --- a/data/destinations/lotame_mobile/db_config.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "LOTAME_MOBILE", - "displayName": "Lotame Mobile", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "bcpUrlSettingsPixel", - "dspUrlSettingsPixel", - "mappings", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios" - ], - "destConfig": { - "defaultConfig": [ - "bcpUrlSettingsPixel", - "dspUrlSettingsPixel", - "mappings", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "android": [ - "useNativeSDK" - ], - "ios": [ - "useNativeSDK" - ] - }, - "secretKeys": [] - } -} \ No newline at end of file diff --git a/data/destinations/lotame_mobile/metadata.json b/data/destinations/lotame_mobile/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/lotame_mobile/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/lotame_mobile/schema.json b/data/destinations/lotame_mobile/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/lotame_mobile/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/lotame_mobile/ui_config.json b/data/destinations/lotame_mobile/ui_config.json deleted file mode 100644 index fb99ff3a4..000000000 --- a/data/destinations/lotame_mobile/ui_config.json +++ /dev/null @@ -1,125 +0,0 @@ -{ - "uiConfig": [ - { - "title": "BCP Url Settings", - "fields": [ - { - "type": "dynamicCustomForm", - "value": "bcpUrlSettingsPixel", - "customFields": [ - { - "type": "textInput", - "label": "BCP Url Template (Pixel)", - "value": "bcpUrlTemplate", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid BCP Url Template (Pixel)", - "required": false, - "placeholder": "e.g: ABCDEFG" - } - ] - } - ] - }, - { - "title": "DSP Url Settings", - "fields": [ - { - "type": "dynamicCustomForm", - "value": "dspUrlSettingsPixel", - "customFields": [ - { - "type": "textInput", - "label": "DSP Url Template (Pixel)", - "value": "dspUrlTemplate", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid DSP Url Template (Pixel)", - "required": false, - "placeholder": "e.g: ABCDEFG" - } - ] - } - ] - }, - { - "title": "Map all the fields: ", - "fields": [ - { - "type": "dynamicForm", - "labelLeft": "Placeholder", - "labelRight": "Value", - "keyLeft": "key", - "keyRight": "value", - "placeholderLeft": "e.g: Client ID", - "placeholderRight": "e.g: 123456", - "value": "mappings" - } - ] - }, - { - "title": "Native SDK", - "fields": [ - { - "type": "defaultCheckbox", - "label": "Use device-mode to send events", - "value": "useNativeSDK", - "default": true - } - ] - }, - { - "title": "Client-side Events Filtering", - "sectionNote": "Applicable only for device-mode integrations. If enabled, it works only with either allowlisted or denylisted events", - "fields": [ - { - "type": "singleSelect", - "value": "eventFilteringOption", - "required": false, - "options": [ - { - "name": "Disable", - "value": "disable" - }, - { - "name": "Allowlist", - "value": "whitelistedEvents" - }, - { - "name": "Denylist", - "value": "blacklistedEvents" - } - ], - "defaultOption": { - "name": "Disable", - "value": "disable" - } - }, - { - "type": "dynamicCustomForm", - "value": "whitelistedEvents", - "label": "Allowlist", - "customFields": [ - { - "type": "textInput", - "value": "eventName", - "required": false, - "placeholder": "e.g: Anonymous Page Visit" - } - ] - }, - { - "type": "dynamicCustomForm", - "value": "blacklistedEvents", - "label": "Denylist", - "customFields": [ - { - "type": "textInput", - "value": "eventName", - "required": false, - "placeholder": "e.g: Credit Card Added" - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/lytics/db_config.json b/data/destinations/lytics/db_config.json deleted file mode 100644 index f1b427d84..000000000 --- a/data/destinations/lytics/db_config.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "name": "LYTICS", - "displayName": "Lytics", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "cdkEnabled": true, - "saveDestinationResponse": true, - "includeKeys": [ - "accountId", - "apiKey", - "stream", - "blockload", - "loadid", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "identify", - "page", - "screen", - "track" - ], - "destConfig": { - "defaultConfig": [ - "apiKey", - "stream", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "web": [ - "useNativeSDK", - "accountId", - "blockload", - "loadid", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [] - } -} \ No newline at end of file diff --git a/data/destinations/lytics/metadata.json b/data/destinations/lytics/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/lytics/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/lytics/schema.json b/data/destinations/lytics/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/lytics/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/mailchimp/db_config.json b/data/destinations/mailchimp/db_config.json deleted file mode 100644 index f008653b3..000000000 --- a/data/destinations/mailchimp/db_config.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "MAILCHIMP", - "displayName": "Mailchimp", - "config": { - "supportsVisualMapper": true, - "transformAt": "router", - "transformAtV1": "router", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "identify" - ], - "destConfig": { - "defaultConfig": [ - "apiKey", - "audienceId", - "datacenterId", - "enableMergeFields" - ] - }, - "secretKeys": [] - } -} \ No newline at end of file diff --git a/data/destinations/mailchimp/metadata.json b/data/destinations/mailchimp/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/mailchimp/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/mailchimp/schema.json b/data/destinations/mailchimp/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/mailchimp/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/mailchimp/ui_config.json b/data/destinations/mailchimp/ui_config.json deleted file mode 100644 index 5aaf6fc91..000000000 --- a/data/destinations/mailchimp/ui_config.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "uiConfig": [ - { - "title": "1. Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Mailchimp Api Key", - "value": "apiKey", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Mailchimp Api Key", - "required": true, - "placeholder": "e.g: 94f71917dald93kf897449b0c90caa4c-us20" - }, - { - "type": "textInput", - "label": "Mailchimp Audience Id", - "value": "audienceId", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Mailchimp Audience Id", - "required": true, - "placeholder": "e.g: dn42a32d30" - }, - { - "type": "textInput", - "label": "Mailchimp DataCenter Id", - "value": "datacenterId", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Mailchimp DataCenter Id", - "required": true, - "placeholder": "e.g: us20" - } - ] - }, - { - "title": "2. Event Map Setting", - "fields": [ - { - "type": "checkbox", - "label": "Enable merge fields", - "value": "enableMergeFields", - "default": false, - "footerNote": "It is recomended to set this to on as it will help to add merge_fields while updating a subscriber." - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/mailjet/db_config.json b/data/destinations/mailjet/db_config.json deleted file mode 100644 index 346614d2f..000000000 --- a/data/destinations/mailjet/db_config.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "name": "MAILJET", - "displayName": "Mailjet", - "config": { - "transformAt": "router", - "transformAtV1": "router", - "saveDestinationResponse": true, - "includeKeys": [ - "apiKey", - "apiSecret", - "listId", - "contactPropertiesMapping" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": ["identify"], - "destConfig": { - "defaultConfig": [ - "apiKey", - "apiSecret", - "listId", - "contactPropertiesMapping" - ] - }, - "secretKeys": ["apiSecret"] - } -} diff --git a/data/destinations/mailmodo/db_config.json b/data/destinations/mailmodo/db_config.json deleted file mode 100644 index 2f77a7a92..000000000 --- a/data/destinations/mailmodo/db_config.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "MAILMODO", - "displayName": "Mailmodo", - "config": { - "transformAt": "router", - "transformAtV1": "router", - "saveDestinationResponse": true, - "includeKeys": [ - "apiKey", - "listName" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "reactnative", - "flutter", - "cordova", - "warehouse" - ], - "supportedMessageTypes": [ - "identify", - "track" - ], - "destConfig": { - "defaultConfig": [ - "apiKey", - "listName" - ] - }, - "secretKeys": [ - "apiKey" - ] - } -} \ No newline at end of file diff --git a/data/destinations/mailmodo/metadata.json b/data/destinations/mailmodo/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/mailmodo/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/mailmodo/schema.json b/data/destinations/mailmodo/schema.json deleted file mode 100644 index af7b86b98..000000000 --- a/data/destinations/mailmodo/schema.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "apiKey" - ], - "properties": { - "apiKey": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "listName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/mailmodo/ui_config.json b/data/destinations/mailmodo/ui_config.json deleted file mode 100644 index 7b8d90490..000000000 --- a/data/destinations/mailmodo/ui_config.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "API Key", - "value": "apiKey", - "regex": "^(.{1,100})$", - "regexErrorMessage": "Invalid MailModo API Key", - "required": true, - "placeholder": "e.g. L9DFHY-PTF4B4Q-PH3NY7E-LPYBX0Q", - "secret": true - }, - { - "type": "textInput", - "label": "List Name", - "value": "listName", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid List Name", - "required": false, - "placeholder": "e.g. rudderstack", - "secret": false, - "footerNote": "Name of the list where contacts should be added. If not provided, \u201cRudderstack\u201d is taken as the default name. Only applicable for the identify call" - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/marketo/db_config.json b/data/destinations/marketo/db_config.json deleted file mode 100644 index 9a5bf35c6..000000000 --- a/data/destinations/marketo/db_config.json +++ /dev/null @@ -1,111 +0,0 @@ -{ - "name": "MARKETO", - "displayName": "Marketo", - "config": { - "supportsVisualMapper": true, - "transformAt": "router", - "transformAtV1": "router", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "identify", - "track" - ], - "destConfig": { - "defaultConfig": [ - "accountId", - "clientId", - "clientSecret", - "trackAnonymousEvents", - "createIfNotExist", - "customActivityEventMap", - "customActivityPropertyMap", - "customActivityPrimaryKeyMap", - "leadTraitMapping" - ] - }, - "secretKeys": [ - "clientSecret" - ] - }, - "responseRules": { - "responseType": "JSON", - "rules": { - "retryable": [ - { - "success": "false", - "errors.0.code": 600 - }, - { - "success": "false", - "errors.0.code": 601 - }, - { - "success": "false", - "errors.0.code": 602 - }, - { - "success": "false", - "errors.0.code": 604 - }, - { - "success": "false", - "errors.0.code": 611 - } - ], - "abortable": [ - { - "success": "false", - "errors.0.code": 603 - }, - { - "success": "false", - "errors.0.code": 605 - }, - { - "success": "false", - "errors.0.code": 609 - }, - { - "success": "false", - "errors.0.code": 610 - } - ], - "throttled": [ - { - "success": "false", - "errors.0.code": 502 - }, - { - "success": "false", - "errors.0.code": 606 - }, - { - "success": "false", - "errors.0.code": 607 - }, - { - "success": "false", - "errors.0.code": 608 - }, - { - "success": "false", - "errors.0.code": 615 - } - ] - } - } -} \ No newline at end of file diff --git a/data/destinations/marketo/metadata.json b/data/destinations/marketo/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/marketo/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/marketo/schema.json b/data/destinations/marketo/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/marketo/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/marketo/ui_config.json b/data/destinations/marketo/ui_config.json deleted file mode 100644 index ba1f32c70..000000000 --- a/data/destinations/marketo/ui_config.json +++ /dev/null @@ -1,112 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Munchkin Account Id", - "value": "accountId", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Munchkin Account Id", - "required": true, - "footerNote": "Your Marketo Accound ID from Admin settings section", - "placeholder": "e.g: 585-AXP-446" - }, - { - "type": "textInput", - "label": "Client ID", - "value": "clientId", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Client ID", - "required": true, - "placeholder": "e.g: 53b1934e-51dd-4599-b24b-92612c71515f", - "footerNote": "Your REST API Client ID" - }, - { - "type": "textInput", - "label": "Client Secret", - "value": "clientSecret", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Client Secret", - "required": true, - "placeholder": "e.g: oxzXtNhcuw9YGsdhplKUeEMi8765dsfw", - "secret": true, - "footerNote": "Your REST API Client Secret" - } - ] - }, - { - "title": "Custom Activity Settings", - "fields": [ - { - "type": "checkbox", - "label": "Track anonymous events", - "value": "trackAnonymousEvents", - "default": false, - "footerNote": "If turned on, you need to send userId with every track call" - }, - { - "type": "checkbox", - "label": "Create Lead if it does not exist", - "value": "createIfNotExist", - "default": true, - "footerNote": "If turned on, we will create a new lead if the user is not present" - }, - { - "type": "dynamicForm", - "label": "Map events to Marketo Activity ID", - "labelLeft": "Event Name", - "labelRight": "Activity ID", - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g: Product Clicked", - "placeholderRight": "e.g: 100001", - "value": "customActivityEventMap", - "footerNote": "You can find the Activity ID in your Admin section under Custom Activity on your Marketo dashboard" - }, - { - "type": "dynamicForm", - "label": "Map your event properties to Marketo custom activity's field", - "labelLeft": "Event Property", - "labelRight": "Marketo Custom Activity field", - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g: name", - "placeholderRight": "e.g: productName", - "value": "customActivityPropertyMap", - "footerNote": "The value passed in Event Property name here will be sent in the corresponding mapped field." - }, - { - "type": "dynamicForm", - "label": "Map event name to Marketo primary key", - "labelLeft": "Event Name", - "labelRight": "Marketo Primary Key", - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g: Product Clicked", - "placeholderRight": "e.g: name", - "value": "customActivityPrimaryKeyMap", - "footerNote": "Map your event name to the desired primary key field." - } - ] - }, - { - "title": "Lead Mapping", - "fields": [ - { - "type": "dynamicForm", - "label": "Map your traits to Marketo custom fields", - "labelLeft": "Traits name", - "labelRight": "Custom field api name", - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g: leadScore", - "placeholderRight": "e.g: customLeadScore", - "value": "leadTraitMapping", - "footerNote": "Map your user traits to your desired custom field's api name." - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/marketo_bulk_upload/db_config.json b/data/destinations/marketo_bulk_upload/db_config.json deleted file mode 100644 index 0a0b9bf52..000000000 --- a/data/destinations/marketo_bulk_upload/db_config.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "MARKETO_BULK_UPLOAD", - "displayName": "Marketo Lead Import", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "reactnative", - "flutter", - "cordova", - "warehouse" - ], - "destConfig": { - "defaultConfig": [ - "clientId", - "clientSecret", - "munchkinId", - "deDuplicationField", - "columnFieldsMapping", - "uploadInterval" - ] - }, - "secretKeys": [ - "clientId", - "clientSecret" - ] - } -} \ No newline at end of file diff --git a/data/destinations/marketo_bulk_upload/metadata.json b/data/destinations/marketo_bulk_upload/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/marketo_bulk_upload/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/marketo_bulk_upload/schema.json b/data/destinations/marketo_bulk_upload/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/marketo_bulk_upload/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/marketo_bulk_upload/ui_config.json b/data/destinations/marketo_bulk_upload/ui_config.json deleted file mode 100644 index d5e372987..000000000 --- a/data/destinations/marketo_bulk_upload/ui_config.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Munchkin Account Id", - "value": "munchkinId", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Munchkin Account Id", - "required": true, - "footerNote": "Your Marketo Accound ID from Admin settings section", - "placeholder": "e.g: 585-AXP-446" - }, - { - "type": "textInput", - "label": "Client ID", - "value": "clientId", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Client ID", - "required": true, - "placeholder": "e.g: 53b1934e-51dd-4599-b24b-92612c71515f", - "footerNote": "Your REST API Client ID" - }, - { - "type": "textInput", - "label": "Client Secret", - "value": "clientSecret", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Client Secret", - "required": true, - "placeholder": "e.g: oxzXtNhcuw9YGsdhplKUeEMi8765dsfw", - "secret": true, - "footerNote": "Your REST API Client Secret" - }, - { - "type": "textInput", - "label": "De-duplication Field", - "value": "deDuplicationField", - "required": false, - "placeholder": "e.g: email", - "secret": false, - "footerNote": "RudderStack will use this Marketo field name for de-duplication & this field should be present in column field mapping." - }, - { - "type": "singleSelect", - "label": "Upload Interval", - "value": "uploadInterval", - "options": [ - { - "name": "Every 10 minutes", - "value": "10" - }, - { - "name": "Every 20 minutes", - "value": "20" - }, - { - "name": "Every 30 minutes", - "value": "30" - } - ], - "defaultOption": { - "name": "Every 10 minutes", - "value": "10" - } - } - ] - }, - { - "title": "Column Fields Mapping", - "fields": [ - { - "type": "dynamicForm", - "label": "Map your traits to Marketo column fields", - "labelRight": "Marketo field name", - "labelLeft": "RudderStack trait name", - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g: leadScore", - "placeholderRight": "e.g: customLeadScore", - "value": "columnFieldsMapping", - "footerNote": "Map your user's traits to the allowed standard fields in Marketo" - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/marketo_static_list/db_config.json b/data/destinations/marketo_static_list/db_config.json deleted file mode 100644 index 0c5b3fafb..000000000 --- a/data/destinations/marketo_static_list/db_config.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "MARKETO_STATIC_LIST", - "displayName": "Marketo Static List", - "config": { - "transformAt": "router", - "transformAtV1": "router", - "saveDestinationResponse": true, - "includeKeys": ["clientId", "clientSecret", "accountId", "staticListId"], - "excludeKeys": [], - "supportedSourceTypes": [ - "cloud", - "warehouse" - ], - "supportedMessageTypes": [ - "audiencelist" - ], - "destConfig": { - "defaultConfig": ["clientId", "clientSecret", "accountId", "staticListId"] - }, - "secretKeys": ["clientId", "clientSecret", "accountId"] - } -} \ No newline at end of file diff --git a/data/destinations/marketo_static_list/metadata.json b/data/destinations/marketo_static_list/metadata.json deleted file mode 100644 index d771a284b..000000000 --- a/data/destinations/marketo_static_list/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} diff --git a/data/destinations/marketo_static_list/schema.json b/data/destinations/marketo_static_list/schema.json deleted file mode 100644 index f72a23202..000000000 --- a/data/destinations/marketo_static_list/schema.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "clientId", - "clientSecret", - "accountId", - "staticListId" - ], - "properties": { - "clientId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "clientSecret": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "accountId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "staticListId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - } - } - } -} diff --git a/data/destinations/matomo/db_config.json b/data/destinations/matomo/db_config.json deleted file mode 100644 index e5e8f7dfa..000000000 --- a/data/destinations/matomo/db_config.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "name": "MATOMO", - "displayName": "Matomo", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "serverUrl", - "siteId", - "eventsMapToGoalId", - "eventsToStandard", - "trackAllContentImpressions", - "trackVisibleContentImpressions", - "checkOnScroll", - "timeIntervalInMs", - "logAllContentBlocksOnPage", - "enableHeartBeatTimer", - "activeTimeInseconds", - "enableLinkTracking", - "disablePerformanceTracking", - "enableCrossDomainLinking", - "setCrossDomainLinkingTimeout", - "timeout", - "getCrossDomainLinkingUrlParameter", - "disableBrowserFeatureDetection" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "web" - ], - "supportedMessageTypes": [ - "identify", - "track", - "page" - ], - "destConfig": { - "defaultConfig": [ - "serverUrl", - "siteId", - "eventsMapToGoalId", - "eventsToStandard", - "trackAllContentImpressions", - "trackVisibleContentImpressions", - "checkOnScroll", - "timeIntervalInMs", - "logAllContentBlocksOnPage", - "enableHeartBeatTimer", - "activeTimeInseconds", - "enableLinkTracking", - "disablePerformanceTracking", - "enableCrossDomainLinking", - "setCrossDomainLinkingTimeout", - "timeout", - "getCrossDomainLinkingUrlParameter", - "disableBrowserFeatureDetection" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [ - "serverUrl", - "siteId" - ] - } -} \ No newline at end of file diff --git a/data/destinations/matomo/metadata.json b/data/destinations/matomo/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/matomo/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/matomo/schema.json b/data/destinations/matomo/schema.json deleted file mode 100644 index 4885a4aa8..000000000 --- a/data/destinations/matomo/schema.json +++ /dev/null @@ -1,114 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "required": [ - "siteId", - "serverUrl" - ], - "type": "object", - "properties": { - "serverUrl": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,100})$" - }, - "siteId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,10})$" - }, - "eventsMapToGoalId": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "eventsToStandard": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "trackAllContentImpressions": { - "type": "boolean" - }, - "trackVisibleContentImpressions": { - "type": "boolean" - }, - "checkOnScroll": { - "type": "boolean" - }, - "timeIntervalInMs": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$" - }, - "logAllContentBlocksOnPage": { - "type": "boolean" - }, - "enableHeartBeatTimer": { - "type": "boolean" - }, - "activeTimeInseconds": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$" - }, - "enableLinkTracking": { - "type": "boolean" - }, - "disablePerformanceTracking": { - "type": "boolean" - }, - "enableCrossDomainLinking": { - "type": "boolean" - }, - "setCrossDomainLinkingTimeout": { - "type": "boolean" - }, - "timeout": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$" - }, - "getCrossDomainLinkingUrlParameter": { - "type": "boolean" - }, - "disableBrowserFeatureDetection": { - "type": "boolean" - }, - "oneTrustCookieCategories": { - "type": "object", - "properties": { - "web": { - "type": "array", - "items": { - "type": "object", - "properties": { - "oneTrustCookieCategory": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/mautic/db_config.json b/data/destinations/mautic/db_config.json deleted file mode 100644 index ad16c5cd2..000000000 --- a/data/destinations/mautic/db_config.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "MAUTIC", - "displayName": "Mautic", - "config": { - "transformAt": "router", - "transformAtV1": "router", - "saveDestinationResponse": true, - "includeKeys": [ - "userName", - "password", - "subDomainName", - "lookUpField" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "reactnative", - "flutter", - "cordova", - "warehouse" - ], - "supportedMessageTypes": [ - "identify", - "group" - ], - "destConfig": { - "defaultConfig": [ - "userName", - "password", - "subDomainName", - "lookUpField" - ] - } - } -} \ No newline at end of file diff --git a/data/destinations/mautic/metadata.json b/data/destinations/mautic/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/mautic/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/mautic/schema.json b/data/destinations/mautic/schema.json deleted file mode 100644 index 3ee0be140..000000000 --- a/data/destinations/mautic/schema.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "userName", - "password", - "subDomainName", - "lookUpField" - ], - "properties": { - "userName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "password": { - "type": "string", - "pattern": "(^env[.].+)|.+" - }, - "subDomainName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "lookupField": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/mautic/ui_config.json b/data/destinations/mautic/ui_config.json deleted file mode 100644 index 36b26f2fa..000000000 --- a/data/destinations/mautic/ui_config.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Username", - "value": "userName", - "required": true, - "placeholder": "e.g: abc@test.com", - "footerNote": "Enter the Mautic username used for authentication." - }, - { - "type": "textInput", - "label": "Password", - "value": "password", - "required": true, - "secret": true, - "placeholder": "123fgh678", - "footerNote": "Enter the password associated with the above username." - }, - { - "type": "textInput", - "label": "Sub-Domain Name", - "value": "subDomainName", - "required": true, - "secret": true, - "placeholder": "e.g: testdomain", - "footerNote": "Enter the subdomain name of your Mautic instance." - }, - { - "type": "textInput", - "label": "Mautic property name to be used as lookup field", - "value": "lookUpField", - "required": true, - "placeholder": "e.g: email", - "footerNote": "Enter a unique Mautic user property to be used for contact lookup. The provided lookup field key will be retrieved from the traits." - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/microsoft_clarity/schema.json b/data/destinations/microsoft_clarity/schema.json deleted file mode 100644 index 540896c88..000000000 --- a/data/destinations/microsoft_clarity/schema.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": ["projectId"], - "properties": { - "projectId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "cookieConsent": { - "type": "boolean" - }, - "whitelistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "blacklistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "useNativeSDK": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "oneTrustCookieCategories": { - "type": "object", - "properties": { - "web": { - "type": "array", - "items": { - "type": "object", - "properties": { - "oneTrustCookieCategory": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } - } -} diff --git a/data/destinations/minio/db_config.json b/data/destinations/minio/db_config.json deleted file mode 100644 index 8ec86ee63..000000000 --- a/data/destinations/minio/db_config.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "MINIO", - "displayName": "MinIO", - "config": { - "transformAt": "none", - "transformAtV1": "none", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "destConfig": { - "defaultConfig": [ - "endPoint", - "accessKeyID", - "secretAccessKey", - "bucketName", - "prefix", - "useSSL" - ] - }, - "secretKeys": [ - "accessKeyID", - "secretAccessKey" - ] - } -} \ No newline at end of file diff --git a/data/destinations/minio/metadata.json b/data/destinations/minio/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/minio/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/minio/schema.json b/data/destinations/minio/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/minio/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/minio/ui_config.json b/data/destinations/minio/ui_config.json deleted file mode 100644 index 2a831d7d8..000000000 --- a/data/destinations/minio/ui_config.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "uiConfig": [ - { - "title": "1. Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "MinIO Endpoint", - "value": "endPoint", - "regex": "(?!.*\\.ngrok\\.io)^(.{0,100})$", - "regexErrorMessage": "Invalid MinIO Endpoint", - "required": true, - "placeholder": "e.g: play.min.io:9000" - }, - { - "type": "textInput", - "label": "MinIO Access Key ID", - "value": "accessKeyID", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid MinIO Access Key ID", - "required": true, - "placeholder": "e.g: Q3AM3UQ867SPQQA43P2F", - "secret": true - }, - { - "type": "textInput", - "label": "MinIO Secret Access Key", - "value": "secretAccessKey", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid MinIO Secret Access Key", - "required": true, - "placeholder": "e.g: zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG", - "secret": true - }, - { - "type": "textInput", - "label": "MINIO Bucket Name", - "value": "bucketName", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid MINIO Bucket Name", - "required": true, - "placeholder": "e.g: minio-event-logs" - }, - { - "type": "textInput", - "label": "Prefix", - "value": "prefix", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Prefix", - "required": false, - "placeholder": "e.g: rudder" - }, - { - "type": "checkbox", - "label": "Use SSL for connection", - "value": "useSSL", - "default": true - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/moengage/db_config.json b/data/destinations/moengage/db_config.json deleted file mode 100644 index 53c8625c5..000000000 --- a/data/destinations/moengage/db_config.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "name": "MOENGAGE", - "displayName": "MoEngage", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "apiId", - "region", - "debug", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "identify", - "track" - ], - "destConfig": { - "defaultConfig": [ - "apiId", - "apiKey", - "region", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "web": [ - "useNativeSDK", - "debug", - "oneTrustCookieCategories" - ], - "android": [ - "useNativeSDK" - ], - "ios": [ - "useNativeSDK" - ], - "reactnative": [ - "useNativeSDK" - ] - }, - "secretKeys": [ - "apiKey" - ] - } -} \ No newline at end of file diff --git a/data/destinations/moengage/metadata.json b/data/destinations/moengage/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/moengage/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/moengage/schema.json b/data/destinations/moengage/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/moengage/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/monday/db_config.json b/data/destinations/monday/db_config.json deleted file mode 100644 index 2a6537671..000000000 --- a/data/destinations/monday/db_config.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "name": "MONDAY", - "displayName": "Monday", - "config": { - "transformAt": "router", - "transformAtV1": "router", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "track" - ], - "destConfig": { - "defaultConfig": [ - "apiToken", - "boardId", - "groupTitle", - "columnToPropertyMapping", - "whitelistedEvents" - ] - }, - "secretKeys": [ - "apiToken" - ] - } -} \ No newline at end of file diff --git a/data/destinations/monday/metadata.json b/data/destinations/monday/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/monday/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/monday/schema.json b/data/destinations/monday/schema.json deleted file mode 100644 index d684a77fa..000000000 --- a/data/destinations/monday/schema.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "apiToken", - "boardId" - ], - "properties": { - "apiToken": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,300})$" - }, - "boardId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "groupTitle": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "columnToPropertyMapping": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "whitelistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/monday/ui_config.json b/data/destinations/monday/ui_config.json deleted file mode 100644 index 484286133..000000000 --- a/data/destinations/monday/ui_config.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "API Token", - "value": "apiToken", - "regex": "^(.{1,300})$", - "regexErrorMessage": "Invalid API Token", - "required": true, - "placeholder": "e.g. eywwakzdjiksjhriherniSFsjhnskdojsSDFhsdns.sSRSSREWdnfnsjshfjsjskshfiskskdS__Fskilhih", - "secret": true, - "footerNote": "Your API Token" - } - ] - }, - { - "title": "Board details", - "fields": [ - { - "type": "textInput", - "label": "Board ID", - "value": "boardId", - "regex": "^(.{1,100})$", - "regexErrorMessage": "Invalid Board Id", - "required": true, - "placeholder": "e.g. 3121222335", - "secret": false, - "footerNote": "Your Board Id" - }, - { - "type": "textInput", - "label": "Group Title", - "value": "groupTitle", - "regex": "^(.{1,100})$", - "regexErrorMessage": "Invalid Group Title", - "required": false, - "placeholder": "e.g. Active Deals", - "secret": false, - "footerNote": "Group name of the board in which item will be created" - } - ] - }, - { - "title": "Column to property mapping", - "fields": [ - { - "type": "dynamicForm", - "label": "Mapping the column name with property name", - "labelLeft": "Monday Column Name", - "labelRight": "RudderStack Property Name", - "value": "columnToPropertyMapping", - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g: Deal Length", - "placeholderRight": "e.g: days" - } - ] - }, - { - "title": "Client side events filtering", - "fields": [ - { - "type": "dynamicCustomForm", - "value": "whitelistedEvents", - "label": "Allowlist", - "footerNote": "Events not included in the Allowlist will be discarded.", - "customFields": [ - { - "type": "textInput", - "value": "eventName", - "required": false, - "placeholder": "e.g: Anonymous Page Visit" - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/monetate/db_config.json b/data/destinations/monetate/db_config.json deleted file mode 100644 index 2008f1293..000000000 --- a/data/destinations/monetate/db_config.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "MONETATE", - "displayName": "Monetate", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "supportedSourceTypes": [ - "android", - "ios", - "web", - "cloud", - "warehouse", - "reactnative", - "unity", - "amp", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "page", - "screen", - "track" - ], - "destConfig": { - "defaultConfig": [ - "monetateChannel", - "retailerShortName" - ] - }, - "secretKeys": [] - } -} \ No newline at end of file diff --git a/data/destinations/monetate/metadata.json b/data/destinations/monetate/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/monetate/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/monetate/schema.json b/data/destinations/monetate/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/monetate/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/monetate/ui_config.json b/data/destinations/monetate/ui_config.json deleted file mode 100644 index 4c367c9d7..000000000 --- a/data/destinations/monetate/ui_config.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Monetate Channel", - "value": "monetateChannel", - "required": true, - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Monetate Channel" - }, - { - "type": "textInput", - "label": "Retailer Short Name", - "value": "retailerShortName", - "required": true, - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Retailer Short Name" - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/mouseflow/db_config.json b/data/destinations/mouseflow/db_config.json deleted file mode 100644 index 6527a2f1d..000000000 --- a/data/destinations/mouseflow/db_config.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "MOUSEFLOW", - "displayName": "Mouseflow", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "websiteId", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "web" - ], - "supportedMessageTypes": [ - "identify", - "track", - "page" - ], - "destConfig": { - "defaultConfig": [ - "websiteId", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [ - "websiteId" - ] - } -} \ No newline at end of file diff --git a/data/destinations/mouseflow/metadata.json b/data/destinations/mouseflow/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/mouseflow/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/mouseflow/schema.json b/data/destinations/mouseflow/schema.json deleted file mode 100644 index c7bca20af..000000000 --- a/data/destinations/mouseflow/schema.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "websiteId" - ], - "properties": { - "websiteId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "whitelistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "blacklistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "useNativeSDK": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "oneTrustCookieCategories": { - "type": "object", - "properties": { - "web": { - "type": "array", - "items": { - "type": "object", - "properties": { - "oneTrustCookieCategory": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/mp/db_config.json b/data/destinations/mp/db_config.json deleted file mode 100644 index ef822d6dd..000000000 --- a/data/destinations/mp/db_config.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "name": "MP", - "displayName": "Mixpanel", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "token", - "groupKeySettings", - "apiSecret", - "dataResidency", - "people", - "setAllTraitsByDefault", - "superProperties", - "peopleProperties", - "eventIncrements", - "propIncrements", - "consolidatedPageCalls", - "trackCategorizedPages", - "trackNamedPages", - "sourceName", - "crossSubdomainCookie", - "persistence", - "secureCookie", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption", - "useNewMapping" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "alias", - "group", - "identify", - "page", - "screen", - "track" - ], - "destConfig": { - "defaultConfig": [ - "token", - "groupKeySettings", - "apiSecret", - "dataResidency", - "people", - "setAllTraitsByDefault", - "superProperties", - "peopleProperties", - "eventIncrements", - "propIncrements", - "consolidatedPageCalls", - "trackCategorizedPages", - "trackNamedPages", - "sourceName", - "crossSubdomainCookie", - "persistence", - "secureCookie", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption", - "useNewMapping", - "serviceAccountUserName", - "serviceAccountSecret", - "projectId" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [ - "token" - ] - } -} \ No newline at end of file diff --git a/data/destinations/mp/metadata.json b/data/destinations/mp/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/mp/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/mp/schema.json b/data/destinations/mp/schema.json deleted file mode 100644 index e25348676..000000000 --- a/data/destinations/mp/schema.json +++ /dev/null @@ -1,161 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "token" - ], - "properties": { - "token": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "apiSecret": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "dataResidency": { - "type": "string", - "pattern": "^(us|eu)$" - }, - "people": { - "type": "boolean" - }, - "setAllTraitsByDefault": { - "type": "boolean" - }, - "consolidatedPageCalls": { - "type": "boolean" - }, - "trackCategorizedPages": { - "type": "boolean" - }, - "trackNamedPages": { - "type": "boolean" - }, - "sourceName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "crossSubdomainCookie": { - "type": "boolean" - }, - "persistence": { - "type": "string", - "pattern": "^(none|cookie|localStorage)$" - }, - "secureCookie": { - "type": "boolean" - }, - "superProperties": { - "type": "array", - "items": { - "type": "object", - "properties": { - "property": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "peopleProperties": { - "type": "array", - "items": { - "type": "object", - "properties": { - "property": { - "type": "string", - "pattern": "(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "eventIncrements": { - "type": "array", - "items": { - "type": "object", - "properties": { - "property": { - "type": "string", - "pattern": "(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "propIncrements": { - "type": "array", - "items": { - "type": "object", - "properties": { - "property": { - "type": "string", - "pattern": "(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "groupKeySettings": { - "type": "array", - "items": { - "type": "object", - "properties": { - "groupKey": { - "type": "string", - "pattern": "(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "useNativeSDK": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "whitelistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "blacklistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "oneTrustCookieCategories": { - "type": "object", - "properties": { - "web": { - "type": "array", - "items": { - "type": "object", - "properties": { - "oneTrustCookieCategory": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/mssql/db_config.json b/data/destinations/mssql/db_config.json deleted file mode 100644 index 0963a45cf..000000000 --- a/data/destinations/mssql/db_config.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "name": "MSSQL", - "displayName": "Microsoft SQL Server", - "category": "warehouse", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "reactnative", - "cloudSource", - "flutter", - "cordova" - ], - "destConfig": { - "defaultConfig": [ - "host", - "database", - "user", - "password", - "port", - "sslMode", - "namespace", - "bucketProvider", - "bucketName", - "iamRoleARN", - "roleBasedAuth", - "accessKeyID", - "accessKey", - "accountName", - "accountKey", - "useSASTokens", - "sasToken", - "credentials", - "secretAccessKey", - "useSSL", - "containerName", - "endPoint", - "syncFrequency", - "syncStartAt", - "excludeWindow", - "useRudderStorage" - ] - }, - "secretKeys": [ - "password", - "accessKeyID", - "accessKey", - "accountKey", - "sasToken", - "secretAccessKey", - "credentials" - ] - } -} \ No newline at end of file diff --git a/data/destinations/mssql/metadata.json b/data/destinations/mssql/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/mssql/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/mssql/schema.json b/data/destinations/mssql/schema.json deleted file mode 100644 index 13cffd737..000000000 --- a/data/destinations/mssql/schema.json +++ /dev/null @@ -1,278 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema", - "type": "object", - "required": [ - "host", - "database", - "user", - "password", - "port", - "sslMode", - "syncFrequency", - "useRudderStorage" - ], - "properties": { - "host": { - "type": "string", - "pattern": "(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,100})$" - }, - "database": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - }, - "user": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - }, - "password": { - "type": "string", - "pattern": "(^env[.].+)|.+" - }, - "port": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - }, - "namespace": { - "type": "string", - "pattern": "(^env[.].*)|^((?!pg_|PG_|pG_|Pg_).{0,64})$" - }, - "sslMode": { - "type": "string", - "pattern": "^(disable|true|false)$" - }, - "syncFrequency": { - "type": "string", - "pattern": "^(30|60|180|360|720|1440)$", - "default": "30" - }, - "syncStartAt": { - "type": "string" - }, - "excludeWindow": { - "type": "object", - "required": [ - "excludeWindowStartTime", - "excludeWindowEndTime" - ], - "properties": { - "excludeWindowStartTime": { - "type": "string" - }, - "excludeWindowEndTime": { - "type": "string" - } - } - }, - "useRudderStorage": { - "type": "boolean", - "default": false - }, - "bucketProvider": { - "type": "string", - "pattern": "^(S3|GCS|AZURE_BLOB|MINIO)$" - } - }, - "allOf": [ - { - "if": { - "properties": { - "useRudderStorage": { - "const": false - } - }, - "required": [ - "useRudderStorage" - ] - }, - "then": { - "required": [ - "bucketProvider" - ] - } - }, - { - "if": { - "properties": { - "bucketProvider": { - "const": "S3" - }, - "useRudderStorage": { - "const": false - } - }, - "required": [ - "bucketProvider", - "useRudderStorage" - ] - }, - "then": { - "properties": { - "iamRoleARN": { - "type": "string" - }, - "roleBasedAuth": { - "type": "boolean" - }, - "bucketName": { - "type": "string", - "pattern": "(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$" - }, - "accessKeyID": { - "type": "string", - "pattern": "(^env[.].+)|^(.{0,100})$" - }, - "accessKey": { - "type": "string", - "pattern": "(^env[.].+)|^(.{0,100})$" - } - }, - "required": [ - "bucketName", - "accessKeyID", - "accessKey" - ] - } - }, - { - "if": { - "properties": { - "bucketProvider": { - "const": "GCS" - }, - "useRudderStorage": { - "const": false - } - }, - "required": [ - "bucketProvider", - "useRudderStorage" - ] - }, - "then": { - "properties": { - "bucketName": { - "type": "string", - "pattern": "(^env[.].+)|^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$" - }, - "credentials": { - "type": "string", - "pattern": "(^env[.].+)|.+" - } - }, - "required": [ - "bucketName", - "credentials" - ] - } - }, - { - "if": { - "properties": { - "bucketProvider": { - "const": "AZURE_BLOB" - }, - "useRudderStorage": { - "const": false - } - }, - "required": [ - "bucketProvider", - "useRudderStorage" - ] - }, - "then": { - "properties": { - "containerName": { - "type": "string", - "pattern": "(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$" - }, - "accountName": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - } - }, - "required": [ - "containerName", - "accountName" - ], - "anyOf": [ - { - "properties": { - "accountKey": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - } - }, - "required": [ - "accountKey" - ] - }, - { - "properties": { - "sasToken": { - "type": "string", - "pattern": "(^env[.].+)|^(.+)$" - }, - "useSASTokens": { - "const": true - } - }, - "required": [ - "useSASTokens", - "sasToken" - ] - } - ] - } - }, - { - "if": { - "properties": { - "bucketProvider": { - "const": "MINIO" - }, - "useRudderStorage": { - "const": false - } - }, - "required": [ - "bucketProvider", - "useRudderStorage" - ] - }, - "then": { - "properties": { - "bucketName": { - "type": "string", - "pattern": "(^env[.].+)|^((?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$" - }, - "accessKeyID": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - }, - "endPoint": { - "type": "string", - "pattern": "(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,100})$" - }, - "secretAccessKey": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - }, - "useSSL": { - "type": "boolean" - } - }, - "required": [ - "bucketName", - "endPoint", - "accessKeyID", - "secretAccessKey", - "useSSL" - ] - } - } - ], - "additionalProperties": true - } -} \ No newline at end of file diff --git a/data/destinations/mssql/ui_config.json b/data/destinations/mssql/ui_config.json deleted file mode 100644 index d12fa6c6f..000000000 --- a/data/destinations/mssql/ui_config.json +++ /dev/null @@ -1,547 +0,0 @@ -{ - "uiConfig": [ - { - "title": "1. Connection Credentials", - "fields": [ - { - "type": "textInput", - "label": "Host", - "value": "host", - "regex": "(?!.*\\.ngrok\\.io)^(.{0,100})$", - "regexErrorMessage": "Invalid Host", - "placeholder": "e.g: mssql.mydomain.com", - "required": true - }, - { - "type": "textInput", - "label": "Database", - "value": "database", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Database", - "placeholder": "e.g: rudderdb", - "required": true - }, - { - "type": "textInput", - "label": "User", - "value": "user", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid User", - "placeholder": "e.g: rudder", - "required": true - }, - { - "type": "textInput", - "label": "Password", - "value": "password", - "placeholder": "e.g: rudder-password", - "regex": ".*", - "required": true - }, - { - "type": "textInput", - "label": "Port", - "value": "port", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Port", - "placeholder": "1433", - "required": true - }, - { - "type": "textInput", - "label": "Namespace", - "labelNote": "Schema name for the warehouse where the tables are created", - "value": "namespace", - "regex": "^((?!pg_|PG_|pG_|Pg_).{0,64})$", - "regexErrorMessage": "Invalid Namespace", - "required": false, - "placeholder": "e.g: rudder-schema", - "footerNote": "Default will be the source name" - }, - { - "type": "singleSelect", - "label": "SSL Mode", - "value": "sslMode", - "options": [ - { - "name": "disable", - "value": "disable" - }, - { - "name": "true", - "value": "true" - }, - { - "name": "false", - "value": "false" - } - ], - "defaultOption": { - "name": "disable", - "value": "disable" - }, - "required": true - }, - { - "type": "singleSelect", - "label": "Sync Frequency", - "value": "syncFrequency", - "options": [ - { - "name": "Every 30 minutes", - "value": "30" - }, - { - "name": "Every 1 hour", - "value": "60" - }, - { - "name": "Every 3 hours", - "value": "180" - }, - { - "name": "Every 6 hours", - "value": "360" - }, - { - "name": "Every 12 hours", - "value": "720" - }, - { - "name": "Every 24 hours", - "value": "1440" - } - ], - "defaultOption": { - "name": "Every 30 minutes", - "value": "30" - }, - "required": false - }, - { - "type": "timePicker", - "label": "Sync Starting At (Optional)", - "value": "syncStartAt", - "options": { - "omitSeconds": true, - "minuteStep": 15 - }, - "required": false, - "footerNote": "Note: Please specify time in UTC" - }, - { - "type": "timeRangePicker", - "label": "Exclude window (Optional)", - "value": "excludeWindow", - "startTime": { - "label": "start time", - "value": "excludeWindowStartTime" - }, - "endTime": { - "label": "end time", - "value": "excludeWindowEndTime" - }, - "options": { - "omitSeconds": true, - "minuteStep": 1 - }, - "required": false, - "footerNote": "Note: Please specify time in UTC" - } - ] - }, - { - "title": "Object Storage Configuration", - "fields": [ - { - "type": "checkbox", - "label": "Use RudderStack managed object storage", - "value": "useRudderStorage", - "default": false, - "footerNote": "Note: Only available for RudderStack managed data planes" - }, - { - "type": "singleSelect", - "label": "Choose your Storage Provider", - "value": "bucketProvider", - "options": [ - { - "name": "S3", - "value": "S3" - }, - { - "name": "GCS", - "value": "GCS" - }, - { - "name": "AZURE_BLOB", - "value": "AZURE_BLOB" - }, - { - "name": "MINIO", - "value": "MINIO" - } - ], - "defaultOption": { - "name": "MINIO", - "value": "MINIO" - }, - "required": true, - "preRequisiteField": { - "name": "useRudderStorage", - "selectedValue": false - } - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "S3" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "Staging S3 Storage Bucket Name", - "labelNote": "S3 Bucket to store data before loading into Mssql", - "value": "bucketName", - "regex": "^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$", - "regexErrorMessage": "Invalid Staging S3 Storage Bucket Name", - "placeholder": "e.g: s3-event-logs", - "required": true, - "footerNote": "Please make sure the bucket exists in your S3" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "GCS" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "Staging GCS Object Storage Bucket Name", - "labelNote": "GCS Bucket to store data before loading into Mssql", - "value": "bucketName", - "regex": "^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$", - "regexErrorMessage": "Invalid Staging GCS Object Storage Bucket Name", - "placeholder": "e.g: gcs-event-logs", - "required": true, - "footerNote": "Please make sure the bucket exists in your GCS" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "AZURE_BLOB" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "Staging Azure Blob Storage Container Name", - "labelNote": "Container to store data before loading into Mssql", - "value": "containerName", - "regex": "^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$", - "regexErrorMessage": "Invalid Staging Azure Blob Storage Container Name", - "required": true, - "placeholder": "e.g: azure-event-logs", - "footerNote": "Please make sure the container exists in your Azure Blob Storage" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "MINIO" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "Staging MINIO Storage Bucket Name", - "labelNote": "MINIO Bucket to store data before loading into Mssql", - "value": "bucketName", - "regex": "^((?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$", - "regexErrorMessage": "Invalid Staging MINIO Storage Bucket Name", - "required": true, - "placeholder": "e.g: minio-event-logs", - "footerNote": "Please make sure the bucket exists in your MINIO" - }, - { - "type": "checkbox", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "S3" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "Role Based Authentication", - "value": "roleBasedAuth", - "default": false - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "S3" - }, - { - "name": "useRudderStorage", - "selectedValue": false - }, - { - "name": "roleBasedAuth", - "selectedValue": true - } - ], - "label": "IAM Role ARN", - "value": "iamRoleARN", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Role ARN", - "required": true, - "placeholder": "e.g: arn:aws:iam::123456789012:role/S3Access", - "footerURL": { - "link": "https://www.rudderstack.com/docs/destinations/aws-iam-role-for-rudderstack/", - "text": "Instructions for creating IAM Role" - } - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "S3" - }, - { - "name": "useRudderStorage", - "selectedValue": false - }, - { - "name": "roleBasedAuth", - "selectedValue": false - } - ], - "label": "AWS Access Key ID", - "value": "accessKeyID", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid AWS Access Key ID", - "required": true, - "placeholder": "e.g: access-key-id" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "S3" - }, - { - "name": "useRudderStorage", - "selectedValue": false - }, - { - "name": "roleBasedAuth", - "selectedValue": false - } - ], - "label": "AWS Secret Access Key", - "value": "accessKey", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid AWS Secret Access Key", - "required": true, - "placeholder": "e.g: secret-access-key" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "AZURE_BLOB" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "Azure Blob Storage Account Name", - "value": "accountName", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Azure Blob Storage Account Name", - "required": true, - "placeholder": "e.g: account-name" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "AZURE_BLOB" - }, - { - "name": "useRudderStorage", - "selectedValue": false - }, - { - "name": "useSASTokens", - "selectedValue": false - } - ], - "label": "Azure Blob Storage Account Key", - "value": "accountKey", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Azure Blob Storage Account Key", - "required": true, - "secret": true, - "placeholder": "e.g: account-key" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "AZURE_BLOB" - }, - { - "name": "useRudderStorage", - "selectedValue": false - }, - { - "name": "useSASTokens", - "selectedValue": true - } - ], - "label": "Azure Blob Storage SAS Token", - "value": "sasToken", - "regex": "^(.+)$", - "regexErrorMessage": "Invalid Azure Blob Storage SAS Token", - "required": true, - "placeholder": "e.g: sas-token", - "secret": true - }, - { - "type": "checkbox", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "AZURE_BLOB" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "Use shared access signature (SAS) Tokens", - "value": "useSASTokens", - "default": false, - "footerNote": "Use this to Grant limited access to Azure Storage resources using shared access signatures (SAS)" - }, - { - "type": "textareaInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "GCS" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "Credentials", - "labelNote": "GCP Service Account credentials JSON for RudderStack to use in loading data into your Google Cloud Storage", - "value": "credentials", - "regex": ".*", - "required": true, - "footerNote": "Create a service account in your GCP Project for RudderStack with roles of 'storage.objectCreator'" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "MINIO" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "MinIO Endpoint", - "value": "endPoint", - "regex": "(?!.*\\.ngrok\\.io)^(.{0,100})$", - "regexErrorMessage": "Invalid MinIO Endpoint", - "required": true, - "placeholder": "e.g: play.min.io:9000" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "MINIO" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "MINIO Access Key ID", - "value": "accessKeyID", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid MinIO Access Key ID", - "required": true, - "placeholder": "e.g: access-key-id" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "MINIO" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "MINIO Secret Access Key", - "value": "secretAccessKey", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid MinIO Secret Access Key", - "required": true, - "placeholder": "e.g: secret-access-key" - }, - { - "type": "checkbox", - "preRequisiteField": [ - { - "name": "bucketProvider", - "selectedValue": "MINIO" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "Use SSL for connection", - "value": "useSSL", - "default": true - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/new_relic/db_config.json b/data/destinations/new_relic/db_config.json deleted file mode 100644 index 05f8bb438..000000000 --- a/data/destinations/new_relic/db_config.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "name": "NEW_RELIC", - "displayName": "New Relic", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "cdkEnabled": true, - "includeKeys": [ - "accountId", - "insertKey", - "dataCenter", - "customEventType", - "sendDeviceContext", - "sendUserIdanonymousId" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "reactnative", - "flutter", - "cordova", - "warehouse" - ], - "supportedMessageTypes": [ - "track" - ], - "destConfig": { - "defaultConfig": [ - "accountId", - "insertKey", - "dataCenter", - "customEventType", - "sendDeviceContext", - "sendUserIdanonymousId" - ] - }, - "secretKeys": [ - "accountId", - "insertKey" - ] - } -} \ No newline at end of file diff --git a/data/destinations/new_relic/metadata.json b/data/destinations/new_relic/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/new_relic/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/new_relic/schema.json b/data/destinations/new_relic/schema.json deleted file mode 100644 index 9465a3c24..000000000 --- a/data/destinations/new_relic/schema.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "accountId", - "insertKey" - ], - "properties": { - "accountId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "insertKey": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "dataCenter": { - "type": "string", - "pattern": "^(us|eu)$" - }, - "customEventType": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "sendDeviceContext": { - "type": "boolean" - }, - "sendUserIdanonymousId": { - "type": "boolean" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/new_relic/ui_config.json b/data/destinations/new_relic/ui_config.json deleted file mode 100644 index 45e95980e..000000000 --- a/data/destinations/new_relic/ui_config.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Account ID", - "value": "accountId", - "regex": "^(.{1,100})$", - "regexErrorMessage": "Invalid Account ID", - "required": true, - "placeholder": "e.g. 1234567", - "secret": true - }, - { - "type": "textInput", - "label": "Insert Key", - "value": "insertKey", - "regex": "^(.{1,100})$", - "regexErrorMessage": "Invalid Insert Key", - "required": true, - "placeholder": "e.g. zXvp6bWcSL3muCRuGrWyUA", - "secret": true - }, - { - "type": "singleSelect", - "label": "Data Center", - "value": "dataCenter", - "mode": "single", - "options": [ - { - "name": "US(standard)", - "value": "us" - }, - { - "name": "EU", - "value": "eu" - } - ], - "defaultOption": { - "name": "US(standard)", - "value": "us" - } - } - ] - }, - { - "title": "Other Settings", - "fields": [ - { - "type": "textInput", - "label": "Custom Default Event Type", - "value": "customEventType", - "regex": ".*", - "required": false, - "placeholder": "e.g. abcdef" - }, - { - "type": "checkbox", - "label": "Send Device Context", - "value": "sendDeviceContext", - "default": false - }, - { - "type": "checkbox", - "label": "Send UserId and AnonymousId", - "value": "sendUserIdanonymousId", - "default": false - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/ometria/db_config.json b/data/destinations/ometria/db_config.json deleted file mode 100644 index e7a1bea7d..000000000 --- a/data/destinations/ometria/db_config.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "name": "OMETRIA", - "displayName": "Ometria", - "config": { - "transformAt": "router", - "transformAtV1": "router", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "reactnative", - "flutter", - "cordova", - "warehouse" - ], - "supportedMessageTypes": [ - "identify", - "track" - ], - "destConfig": { - "defaultConfig": [ - "apiKey", - "marketingOptin", - "allowMarketing", - "allowTransactional" - ] - }, - "secretKeys": [ - "apiKey" - ] - } -} \ No newline at end of file diff --git a/data/destinations/ometria/metadata.json b/data/destinations/ometria/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/ometria/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/ometria/schema.json b/data/destinations/ometria/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/ometria/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/ometria/ui_config.json b/data/destinations/ometria/ui_config.json deleted file mode 100644 index 5bd7e2fb2..000000000 --- a/data/destinations/ometria/ui_config.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "API Token", - "value": "apiKey", - "regex": ".*", - "required": true, - "placeholder": "e.g. tZrPAgHyn2jMWOVGKrS6gBGLYT8v9kJE", - "secret": true - } - ] - }, - { - "title": "Contact Settings", - "fields": [ - { - "type": "singleSelect", - "label": "Marketing Optin", - "value": "marketingOptin", - "required": false, - "placeholder": "Explicitly Opted Out", - "options": [ - { - "name": "Explicitly Opted Out", - "value": "EXPLICITLY_OPTEDOUT" - }, - { - "name": "Not Specified", - "value": "NOT_SPECIFIED" - }, - { - "name": "Explicitly Opted In", - "value": "EXPLICITLY_OPTEDIN" - } - ], - "defaultOption": { - "name": "Explicitly Opted Out", - "value": "EXPLICITLY_OPTEDOUT" - } - } - ] - }, - { - "title": "SMS Channel Settings", - "fields": [ - { - "type": "checkbox", - "label": "Allow Transactional", - "value": "allowTransactional", - "default": false - }, - { - "type": "checkbox", - "label": "Allow Marketing", - "value": "allowMarketing", - "default": false - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/one_signal/db_config.json b/data/destinations/one_signal/db_config.json deleted file mode 100644 index e7712a501..000000000 --- a/data/destinations/one_signal/db_config.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "name": "ONE_SIGNAL", - "displayName": "OneSignal", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "identify", - "track", - "group" - ], - "destConfig": { - "defaultConfig": [ - "appId", - "emailDeviceType", - "smsDeviceType", - "eventAsTags", - "allowedProperties" - ] - }, - "secretKeys": [] - } -} \ No newline at end of file diff --git a/data/destinations/one_signal/metadata.json b/data/destinations/one_signal/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/one_signal/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/one_signal/schema.json b/data/destinations/one_signal/schema.json deleted file mode 100644 index 11ca9cdb8..000000000 --- a/data/destinations/one_signal/schema.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "appId" - ], - "properties": { - "apiKey": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "emailDeviceType": { - "type": "boolean" - }, - "smsDeviceType": { - "type": "boolean" - }, - "eventAsTags": { - "type": "boolean" - }, - "allowedProperties": { - "type": "array", - "items": { - "type": "object", - "properties": { - "propertyName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/one_signal/ui_config.json b/data/destinations/one_signal/ui_config.json deleted file mode 100644 index 2864a68d9..000000000 --- a/data/destinations/one_signal/ui_config.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "App Id", - "value": "appId", - "regex": "^(.{1,100})$", - "regexErrorMessage": "Invalid App Id", - "required": true, - "placeholder": "e.g. 7acc2c99-818c-4a28-b98e-6cd8a994da65", - "secret": true, - "footerNote": "Your OneSignal App Id" - } - ] - }, - { - "title": "Device Type", - "fields": [ - { - "type": "checkbox", - "label": "Toggle on to add a device using email", - "value": "emailDeviceType", - "default": false - }, - { - "type": "checkbox", - "label": "Toggle on to add a device using phone number", - "value": "smsDeviceType", - "default": false - } - ] - }, - { - "title": "Property Settings", - "fields": [ - { - "type": "checkbox", - "label": "Toggle on to concatenate event name with properties", - "value": "eventAsTags", - "default": false - }, - { - "type": "dynamicCustomForm", - "value": "allowedProperties", - "label": "Allowed Property List", - "customFields": [ - { - "type": "textInput", - "value": "propertyName", - "required": false - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/optimizely/db_config.json b/data/destinations/optimizely/db_config.json deleted file mode 100644 index 5bd8c4d76..000000000 --- a/data/destinations/optimizely/db_config.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "name": "OPTIMIZELY", - "displayName": "Optimizely Web", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "sendExperimentTrack", - "sendExperimentTrackAsNonInteractive", - "revenueOnlyOnOrderCompleted", - "trackCategorizedPages", - "trackNamedPages", - "sendExperimentIdentify", - "customCampaignProperties", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "web" - ], - "destConfig": { - "defaultConfig": [ - "sendExperimentTrack", - "sendExperimentTrackAsNonInteractive", - "revenueOnlyOnOrderCompleted", - "trackCategorizedPages", - "trackNamedPages", - "sendExperimentIdentify", - "customCampaignProperties", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [] - } -} \ No newline at end of file diff --git a/data/destinations/optimizely/metadata.json b/data/destinations/optimizely/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/optimizely/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/optimizely/schema.json b/data/destinations/optimizely/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/optimizely/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/optimizely_fullstack/db_config.json b/data/destinations/optimizely_fullstack/db_config.json deleted file mode 100644 index b79adaadc..000000000 --- a/data/destinations/optimizely_fullstack/db_config.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "OPTIMIZELY_FULLSTACK", - "displayName": "Optimizely Fullstack", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "trackKnownUsers", - "nonInteraction", - "listen", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios" - ], - "destConfig": { - "defaultConfig": [ - "trackKnownUsers", - "nonInteraction", - "listen", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "android": [ - "useNativeSDK" - ], - "ios": [ - "useNativeSDK" - ] - }, - "secretKeys": [] - } -} \ No newline at end of file diff --git a/data/destinations/optimizely_fullstack/metadata.json b/data/destinations/optimizely_fullstack/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/optimizely_fullstack/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/optimizely_fullstack/schema.json b/data/destinations/optimizely_fullstack/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/optimizely_fullstack/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/optimizely_fullstack/ui_config.json b/data/destinations/optimizely_fullstack/ui_config.json deleted file mode 100644 index 305090b34..000000000 --- a/data/destinations/optimizely_fullstack/ui_config.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Only Track known users", - "fields": [ - { - "type": "checkbox", - "label": "Track Known Users", - "value": "trackKnownUsers", - "required": false, - "default": true - } - ] - }, - { - "title": "Sends the experiment and variation information", - "fields": [ - { - "type": "checkbox", - "label": "Sends the experiment and variation information as properties on a track call", - "value": "listen", - "required": false, - "default": true - } - ] - }, - { - "title": "Non-Interaction Event", - "fields": [ - { - "type": "checkbox", - "label": "Specifies the Experiment Viewed as a non-interaction event for Google Analytics", - "value": "nonInteraction", - "required": false, - "default": true - } - ] - }, - { - "title": "Native SDK", - "fields": [ - { - "type": "defaultCheckbox", - "label": "Use device-mode to send events", - "value": "useNativeSDK", - "default": true - } - ] - }, - { - "title": "Client-side Events Filtering", - "sectionNote": "Applicable only for device-mode integrations. If enabled, it works only with either allowlisted or denylisted events", - "fields": [ - { - "type": "singleSelect", - "value": "eventFilteringOption", - "required": false, - "options": [ - { - "name": "Disable", - "value": "disable" - }, - { - "name": "Allowlist", - "value": "whitelistedEvents" - }, - { - "name": "Denylist", - "value": "blacklistedEvents" - } - ], - "defaultOption": { - "name": "Disable", - "value": "disable" - } - }, - { - "type": "dynamicCustomForm", - "value": "whitelistedEvents", - "label": "Allowlist", - "customFields": [ - { - "type": "textInput", - "value": "eventName", - "required": false, - "placeholder": "e.g: Anonymous Page Visit" - } - ] - }, - { - "type": "dynamicCustomForm", - "value": "blacklistedEvents", - "label": "Denylist", - "customFields": [ - { - "type": "textInput", - "value": "eventName", - "required": false, - "placeholder": "e.g: Credit Card Added" - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/pagerduty/metadata.json b/data/destinations/pagerduty/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/pagerduty/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/pardot/metadata.json b/data/destinations/pardot/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/pardot/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/pardot/schema.json b/data/destinations/pardot/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/pardot/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/pardot/ui_config.json b/data/destinations/pardot/ui_config.json deleted file mode 100644 index af655bdd2..000000000 --- a/data/destinations/pardot/ui_config.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Business Unit Id", - "value": "businessUnitId", - "regex": ".*", - "required": true, - "placeholder": "0Uv2b000000k9tHUHT", - "secret": true - }, - { - "type": "textInput", - "label": "Campaign Id", - "value": "campaignId", - "regex": ".*", - "required": true, - "placeholder": "12345" - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/pendo/db_config.json b/data/destinations/pendo/db_config.json deleted file mode 100644 index b659c7b81..000000000 --- a/data/destinations/pendo/db_config.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "PENDO", - "displayName": "Pendo", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "apiKey", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "web" - ], - "destConfig": { - "defaultConfig": [ - "apiKey", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [] - } -} \ No newline at end of file diff --git a/data/destinations/pendo/metadata.json b/data/destinations/pendo/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/pendo/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/pendo/schema.json b/data/destinations/pendo/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/pendo/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/persistiq/db_config.json b/data/destinations/persistiq/db_config.json deleted file mode 100644 index e341b1d71..000000000 --- a/data/destinations/persistiq/db_config.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "PERSISTIQ", - "displayName": "PersistIQ", - "config": { - "transformAt": "router", - "transformAtV1": "router", - "saveDestinationResponse": true, - "includeKeys": [ - "apiKey" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "web", - "cloud", - "mobile", - "android", - "ios", - "unity", - "amp", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": ["identify", "group"], - "destConfig": { - "defaultConfig": [ - "apiKey", - "persistIqAttributesMapping" - ] - }, - "secretKeys": [ - "apiKey" - ] - } -} diff --git a/data/destinations/persistiq/metadata.json b/data/destinations/persistiq/metadata.json deleted file mode 100644 index e217109c8..000000000 --- a/data/destinations/persistiq/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "group", - "identify" - ], - "device-mode": { - "web": [ - "group", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/persistiq/ui_config.json b/data/destinations/persistiq/ui_config.json deleted file mode 100644 index 93e58494a..000000000 --- a/data/destinations/persistiq/ui_config.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "PersistIQ REST API Key", - "value": "apiKey", - "regex": "^(.{1,100})$", - "required": true, - "placeholder": "e.g. 2c646069c3ery92322cc0dab36cd060ad", - "secret": true, - "footerNote": "Enter the API Key from PersistIQ Settings for Authentication" - } - ] - }, - { - "title": "Mapping Configurations", - "fields": [ - { - "type": "dynamicForm", - "label": "Map Rudder user attributes to Persist IQ Lead attributes", - "value": "persistIqAttributesMapping", - "required": false, - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g. Industry Name", - "placeholderRight": "e.g. industry", - "labelLeft": "Rudder Property", - "labelRight": "PersistIQ Lead attribute" - } - - ] - } - ] -} diff --git a/data/destinations/personalize/metadata.json b/data/destinations/personalize/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/personalize/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/personalize/schema.json b/data/destinations/personalize/schema.json deleted file mode 100644 index 52fca91a9..000000000 --- a/data/destinations/personalize/schema.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "region" - ], - "properties": { - "iamRoleARN": { - "type": "string" - }, - "roleBasedAuth": { - "type": "boolean" - }, - "accessKeyId": { - "type": "string", - "pattern": "^(.{0,100})$" - }, - "secretAccessKey": { - "type": "string", - "pattern": "^(.{0,100})$" - }, - "region": { - "type": "string", - "pattern": "^(.{0,100})$" - }, - "trackingId": { - "type": "string", - "pattern": "^(.{0,100})$" - }, - "datasetARN": { - "type": "string", - "pattern": "arn:([a-z/d-]+):personalize:.*:.*:.+" - }, - "eventChoice": { - "type": "string", - "pattern": "(^env[.].*)|^(PutEvents|PutUsers|PutItems)$" - }, - "customMappings": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "disableStringify": { - "type": "boolean" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/pinterest_tag/db_config.json b/data/destinations/pinterest_tag/db_config.json deleted file mode 100644 index 204f1ff02..000000000 --- a/data/destinations/pinterest_tag/db_config.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "name": "PINTEREST_TAG", - "displayName": "Pinterest Tag", - "config": { - "cdkV2TestThreshold": 1, - "transformAt": "router", - "transformAtV1": "router", - "saveDestinationResponse": false, - "includeKeys": [ - "tagId", - "advertiserId", - "appId", - "customProperties", - "eventsMapping", - "enhancedMatch", - "enableDeduplication", - "deduplicationKey", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "destConfig": { - "defaultConfig": [ - "tagId", - "appId", - "advertiserId", - "sendingUnHashedData", - "enableDeduplication", - "deduplicationKey", - "customProperties", - "eventsMapping", - "enhancedMatch", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [] - } -} diff --git a/data/destinations/pinterest_tag/metadata.json b/data/destinations/pinterest_tag/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/pinterest_tag/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/pinterest_tag/schema.json b/data/destinations/pinterest_tag/schema.json deleted file mode 100644 index 23304ec93..000000000 --- a/data/destinations/pinterest_tag/schema.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "tagId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "advertiserId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "appId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "sendingUnHashedData": { - "type": "boolean" - }, - "enableDeduplication": { - "type": "boolean" - }, - "deduplicationKey": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "enhancedMatch": { - "type": "boolean" - }, - "eventsMapping": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "customProperties": { - "type": "array", - "items": { - "type": "object", - "properties": { - "properties": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "eventFilteringOption": { - "type": "string", - "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" - }, - "whitelistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "blacklistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "oneTrustCookieCategories": { - "type": "object", - "properties": { - "web": { - "type": "array", - "items": { - "type": "object", - "properties": { - "oneTrustCookieCategory": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/pinterest_tag/ui_config.json b/data/destinations/pinterest_tag/ui_config.json deleted file mode 100644 index c54829057..000000000 --- a/data/destinations/pinterest_tag/ui_config.json +++ /dev/null @@ -1,225 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "TAG ID", - "value": "tagId", - "required": false, - "placeholder": "e.g: 123456789", - "secret": true - }, - { - "type": "textInput", - "label": "App Store App ID", - "value": "appId", - "required": false, - "placeholder": "e.g: 429047995", - "secret": false, - "footerNote": "Relevent if ios source is connected" - }, - { - "type": "textInput", - "label": "Pinterest Advertiser ID", - "value": "advertiserId", - "required": false, - "placeholder": "e.g: 429047995", - "secret": true, - "footerNote": "Required field for cloud mode integration" - } - ] - }, - { - "title": "Other Settings", - "fields": [ - { - "type": "checkbox", - "label": "Enable hashing for user data conversions", - "value": "sendingUnHashedData", - "default": true, - "footerNote": "Rudderstack will hash your user data by default. Switch this off if you are already sending hashed data" - }, - { - "type": "checkbox", - "label": "Enable Event Deduplication", - "value": "enableDeduplication", - "default": false, - "footerNote": "If not enabled here, Rudderstack will send messageId as event_id field." - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "enableDeduplication", - "selectedValue": true - } - ], - "label": "Deduplication Key", - "value": "deduplicationKey", - "placeholder": "e.g: messageId", - "required": false, - "footerNote": "Rudderstack will send this key-value from payload as an event deduplication key" - }, - { - "type": "checkbox", - "label": "Enable Enhanced Match on Page Load", - "value": "enhancedMatch", - "required": false, - "default": true, - "footerNote": "If this setting is enabled, the Pinterest tag will be loaded with the existing traits of the logged user" - }, - { - "type": "dynamicCustomForm", - "value": "customProperties", - "footerNote": "If you wish to send any extra custom properties to Pinterest - in addition to the standard Pinterest properties - then list them below. These properties are case-insensitive, and can be nested. For example, if you want to send rudderanalytics.track('Event', {customProperty: { customValue: 2 }, someRandomMailId: 'user@gmail.com'}) then input these two property customProperty.customValue and someRandomMailId", - "customFields": [ - { - "type": "textInput", - "required": false, - "value": "properties", - "label": "Custom Properties", - "placeholder": "customProperty.customValue or someRandomMailId" - } - ] - }, - { - "type": "dynamicSelectForm", - "label": "Map Your Events To Pinterest Events.", - "labelLeft": "Event Name", - "labelRight": "Pinterest Event", - "value": "eventsMapping", - "keyLeft": "from", - "keyRight": "to", - "required": false, - "placeholderLeft": "e.g: Order Completed", - "placeholderRight": "e.g: Checkout", - "options": [ - { - "name": "Lead", - "value": "Lead" - }, - { - "name": "PageVisit", - "value": "PageVisit" - }, - { - "name": "ViewCategory", - "value": "ViewCategory" - }, - { - "name": "SignUp", - "value": "Signup" - }, - { - "name": "WatchVideo", - "value": "WatchVideo" - }, - { - "name": "Checkout", - "value": "Checkout" - }, - { - "name": "Search", - "value": "Search" - }, - { - "name": "AddToCart", - "value": "AddToCart" - }, - { - "name": "Custom", - "value": "Custom" - } - ] - } - ] - }, - { - "title": "Native SDK", - "fields": [ - { - "type": "checkbox", - "label": "Use device-mode to send events", - "value": "useNativeSDK", - "default": true - } - ] - }, - { - "title": "Client-side Events Filtering", - "sectionNote": "Applicable only for device-mode integrations. If enabled, it works only with either allowlisted or denylisted events", - "fields": [ - { - "type": "singleSelect", - "value": "eventFilteringOption", - "required": false, - "options": [ - { - "name": "Disable", - "value": "disable" - }, - { - "name": "Allowlist", - "value": "whitelistedEvents" - }, - { - "name": "Denylist", - "value": "blacklistedEvents" - } - ], - "defaultOption": { - "name": "Disable", - "value": "disable" - } - }, - { - "type": "dynamicCustomForm", - "value": "whitelistedEvents", - "label": "Allowlist", - "customFields": [ - { - "type": "textInput", - "value": "eventName", - "required": false, - "placeholder": "e.g: Anonymous Page Visit" - } - ] - }, - { - "type": "dynamicCustomForm", - "value": "blacklistedEvents", - "label": "Denylist", - "customFields": [ - { - "type": "textInput", - "value": "eventName", - "required": false, - "placeholder": "e.g: Credit Card Added" - } - ] - } - ] - }, - { - "title": "Consent Settings", - "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Cookie Categories", - "customFields": [ - { - "type": "textInput", - "placeholder": "Marketing", - "value": "oneTrustCookieCategory", - "label": "Category Name/ID", - "required": false - } - ] - } - ] - } - ] -} diff --git a/data/destinations/pipedream/db_config.json b/data/destinations/pipedream/db_config.json deleted file mode 100644 index e2a1722ec..000000000 --- a/data/destinations/pipedream/db_config.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "PIPEDREAM", - "displayName": "Pipedream", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": false, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "destConfig": { - "defaultConfig": [ - "pipedreamUrl", - "pipedreamMethod", - "headers" - ] - }, - "secretKeys": [ - "headers.to" - ] - } -} \ No newline at end of file diff --git a/data/destinations/pipedream/metadata.json b/data/destinations/pipedream/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/pipedream/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/pipedream/schema.json b/data/destinations/pipedream/schema.json deleted file mode 100644 index 1744dbfa8..000000000 --- a/data/destinations/pipedream/schema.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "pipedreamUrl" - ], - "properties": { - "pipedreamUrl": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(https?|ftp)://[^\\s/$.?#].[^\\s]*$" - }, - "pipedreamMethod": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(^(POST|PUT|PATCH|GET|DELETE)$)" - }, - "headers": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100000})$" - } - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/pipedream/ui_config.json b/data/destinations/pipedream/ui_config.json deleted file mode 100644 index 59aed26dd..000000000 --- a/data/destinations/pipedream/ui_config.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Pipedream URL", - "value": "pipedreamUrl", - "required": true, - "placeholder": "http://www.abcd.com", - "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(https?|ftp)://[^\\s/$.?#].[^\\s]*$" - }, - { - "type": "singleSelect", - "label": "URL Method", - "value": "pipedreamMethod", - "placeholder": "POST", - "options": [ - { - "name": "POST", - "value": "POST" - }, - { - "name": "PUT", - "value": "PUT" - }, - { - "name": "PATCH", - "value": "PATCH" - }, - { - "name": "GET", - "value": "GET" - }, - { - "name": "DELETE", - "value": "DELETE" - } - ], - "defaultOption": { - "name": "POST", - "value": "POST" - } - }, - { - "type": "dynamicForm", - "label": "Headers", - "labelLeft": "Key", - "labelRight": "Value", - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "content-type", - "placeholderRight": "application/json", - "value": "headers" - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/pipedrive/db_config.json b/data/destinations/pipedrive/db_config.json deleted file mode 100644 index cc9213709..000000000 --- a/data/destinations/pipedrive/db_config.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "PIPEDRIVE", - "displayName": "Pipedrive", - "config": { - "transformAt": "router", - "transformAtV1": "router", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "reactnative", - "flutter", - "cordova" - ], - "destConfig": { - "defaultConfig": [ - "apiToken", - "userIdToken", - "groupIdToken", - "enableUserCreation", - "personsMap", - "leadsMap", - "organizationMap" - ] - }, - "secretKeys": [ - "apiToken" - ] - } -} \ No newline at end of file diff --git a/data/destinations/pipedrive/metadata.json b/data/destinations/pipedrive/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/pipedrive/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/pipedrive/schema.json b/data/destinations/pipedrive/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/pipedrive/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/pipedrive/ui_config.json b/data/destinations/pipedrive/ui_config.json deleted file mode 100644 index de4ca4ca5..000000000 --- a/data/destinations/pipedrive/ui_config.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Api Token", - "value": "apiToken", - "regex": ".*", - "required": true, - "secret": true, - "placeholder": "e.g. 13N0gkA9Be_2gR2afax2G4j6h4MoCOgmDcCRgopTc905", - "footerNote": "Your Pipedrive Api Token" - }, - { - "type": "textInput", - "label": "UserID Token", - "value": "userIdToken", - "regex": ".*", - "required": false, - "placeholder": "e.g. 13N0gkA9Be_2gR2afax2G4j6h4MoCOgmDcCRgopTc905", - "footerNote": "Your UserId Field Token" - }, - { - "type": "textInput", - "label": "GroupId Token", - "value": "groupIdToken", - "regex": ".*", - "required": false, - "placeholder": "e.g. 13N0gkA9Be_2gR2afax2G4j6h4MoCOgmDcCRgopTc905", - "footerNote": "Your GroupId Field Token" - } - ] - }, - { - "title": "Custom Field Settings", - "fields": [ - { - "type": "checkbox", - "label": "Enable User Creation", - "value": "enableUserCreation", - "default": false, - "footerNote": "If turned on, RudderStack will create User (if not found) for all events" - }, - { - "type": "dynamicForm", - "label": "Person Field Mapping", - "footerNote": "", - "labelLeft": "Field Name", - "labelRight": "Field Token", - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g: Gender", - "placeholderRight": "e.g: 3N0gkA9Be_2gR2afax2", - "value": "personsMap" - }, - { - "type": "dynamicForm", - "label": "Leads Field Mapping", - "footerNote": "", - "labelLeft": "Field Name", - "labelRight": "Field Token", - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g: Location", - "placeholderRight": "e.g: 3N0gkA9Be_2gR2afax2", - "value": "leadsMap" - }, - { - "type": "dynamicForm", - "label": "Organization Field Mapping", - "footerNote": "", - "labelLeft": "Field Name", - "labelRight": "Field Token", - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g: MemberCount", - "placeholderRight": "e.g: 3N0gkA9Be_2gR2afax2", - "value": "organizationMap" - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/post_affiliate_pro/db_config.json b/data/destinations/post_affiliate_pro/db_config.json deleted file mode 100644 index 434bcbb26..000000000 --- a/data/destinations/post_affiliate_pro/db_config.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "name": "POST_AFFILIATE_PRO", - "displayName": "Post Affiliate Pro", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "url", - "mergeProducts", - "accountId", - "paramNameUserId", - "disableTrackingMethod", - "cookieDomain", - "cookieToCustomField", - "affLinkId", - "idName", - "cookieLinkId", - "cookieName", - "clickEvents", - "campaignToCustomField", - "affiliateToCustomField", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "web" - ], - "supportedMessageTypes": [ - "identify" - ], - "destConfig": { - "defaultConfig": [ - "url", - "mergeProducts", - "accountId", - "paramNameUserId", - "disableTrackingMethod", - "cookieDomain", - "affLinkId", - "affLinkId", - "idName", - "cookieLinkId", - "cookieName", - "clickEvents", - "cookieToCustomField", - "campaignToCustomField", - "affiliateToCustomField", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ] - } - } -} \ No newline at end of file diff --git a/data/destinations/post_affiliate_pro/metadata.json b/data/destinations/post_affiliate_pro/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/post_affiliate_pro/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/post_affiliate_pro/schema.json b/data/destinations/post_affiliate_pro/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/post_affiliate_pro/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/post_affiliate_pro/ui_config.json b/data/destinations/post_affiliate_pro/ui_config.json deleted file mode 100644 index 816c86ff0..000000000 --- a/data/destinations/post_affiliate_pro/ui_config.json +++ /dev/null @@ -1,218 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "URL of Post Affiliate Pro", - "value": "url", - "regex":"^(?!.*\\.ngrok\\.io).*$", - "required": true, - "placeholder": "https://abcdefgh.postaffiliatepro.com/scripts/trackjs.js" - }, - { - "type": "textInput", - "label": "Account Id", - "value": "accountId", - "required": false, - "placeholder": "default1", - "footerNote": "ID of your network merchant account" - }, - { - "type": "textInput", - "label": "Param Name UserId", - "value": "paramNameUserId", - "required": false, - "placeholder": "new_a_aid_parameter", - "footerNote": "Changed name of Affailiate ID / referrer ID parameter name" - }, - { - "type": "textInput", - "label": "Cookie Domain", - "value": "cookieDomain", - "regex": "^(?!.*\\.ngrok\\.io).*$", - "required": false, - "placeholder": "maindomain.com", - "footerNote": "" - }, - { - "type": "textInput", - "label": "Cookie To Custom Field", - "value": "cookieToCustomField", - "required": false, - "placeholder": "id_field", - "footerNote": "Id of the field where cookie will be written" - }, - { - "type": "textInput", - "label": "Campaign To Custom Field", - "value": "campaignToCustomField", - "required": false, - "placeholder": "campaignCookieInfoId", - "footerNote": "Id of the field where campaign will be written" - }, - { - "type": "textInput", - "label": "Affiliate To Custom Field", - "value": "affiliateToCustomField", - "required": false, - "placeholder": "id_field", - "footerNote": "Id of the field where affiliate will be written" - } - ] - }, - { - "title": "Affiliate To Link", - "fields": [ - { - "type": "textInput", - "label": "Affiliate Link Id", - "value": "affLinkId", - "placeholder": "affLinkId", - "footerNote": "Id of dom object where affiliateId needed to add." - }, - { - "type": "textInput", - "placeholder": "a_aid", - "label": "AffliateId parameter name", - "value": "idName", - "footerNote": "Param name for AffiliateId" - } - ] - }, - { - "title": "Cookie To Link", - "fields": [ - { - "type": "textInput", - "label": "Cookie Link Id", - "value": "cookieLinkId", - "placeholder": "cookieLinkId", - "footerNote": "Id of dom object where cookie needed to add." - }, - { - "type": "textInput", - "placeholder": "papCookie", - "label": "Cookie parameter name", - "value": "cookieName", - "footerNote": "Param name for Cookie" - } - ] - }, - { - "title": "Event Track Settings", - "fields": [ - { - "type": "checkbox", - "label": "Merge Products", - "value": "mergeProducts", - "required": false, - "default": true, - "footerNote": "If you make it false, individual sale object will be created for each products." - }, - { - "type": "checkbox", - "label": "Disable Tracking Method", - "value": "disableTrackingMethod", - "required": false, - "default": true, - "footerNote": "In case you wish to disable flash cookie creation for any reason make it false." - }, - { - "type": "textInput", - "label": "List of events for click", - "value": "clickEvents", - "required": false, - "placeholder": "clicked,visited", - "footerNote": "Enter the name of the events in a comma seperated form" - } - ] - }, - { - "title": "Native SDK", - "fields": [ - { - "type": "defaultCheckbox", - "label": "Use device-mode to send events", - "value": "useNativeSDK", - "default": true - } - ] - }, - { - "title": "Client-side Events Filtering", - "sectionNote": "Applicable only for device-mode integrations. If enabled, it works only with either allowlisted or denylisted events", - "fields": [ - { - "type": "singleSelect", - "value": "eventFilteringOption", - "required": false, - "options": [ - { - "name": "Disable", - "value": "disable" - }, - { - "name": "Allowlist", - "value": "whitelistedEvents" - }, - { - "name": "Denylist", - "value": "blacklistedEvents" - } - ], - "defaultOption": { - "name": "Disable", - "value": "disable" - } - }, - { - "type": "dynamicCustomForm", - "value": "whitelistedEvents", - "label": "Allowlist", - "customFields": [ - { - "type": "textInput", - "value": "eventName", - "required": false, - "placeholder": "e.g: Anonymous Page Visit" - } - ] - }, - { - "type": "dynamicCustomForm", - "value": "blacklistedEvents", - "label": "Denylist", - "customFields": [ - { - "type": "textInput", - "value": "eventName", - "required": false, - "placeholder": "e.g: Credit Card Added" - } - ] - } - ] - }, - { - "title": "Consent Settings", - "fields": [ - { - "type": "dynamicCustomForm", - "value": "oneTrustCookieCategories", - "label": "OneTrust Cookie Categories", - "customFields": [ - { - "type": "textInput", - "placeholder": "Marketing", - "value": "oneTrustCookieCategory", - "label": "Category Name/ID", - "required": false - } - ] - } - ] - } - ] -} diff --git a/data/destinations/postgres/metadata.json b/data/destinations/postgres/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/postgres/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/postgres/schema.json b/data/destinations/postgres/schema.json deleted file mode 100644 index 8970bdaea..000000000 --- a/data/destinations/postgres/schema.json +++ /dev/null @@ -1,306 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema", - "type": "object", - "required": [ - "host", - "database", - "user", - "password", - "port", - "sslMode", - "syncFrequency", - "useRudderStorage" - ], - "properties": { - "host": { - "type": "string", - "pattern": "(^env[.].+)|(?!.*.ngrok.io)^(.{1,100})$" - }, - "database": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - }, - "user": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - }, - "password": { - "type": "string", - "pattern": "(^env[.].+)|.+" - }, - "port": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - }, - "namespace": { - "type": "string", - "pattern": "(^env[.].*)|^((?!pg_|PG_|pG_|Pg_).{0,64})$" - }, - "sslMode": { - "type": "string", - "pattern": "^(disable|require|verify-ca)$" - }, - "syncFrequency": { - "type": "string", - "pattern": "^(30|60|180|360|720|1440)$", - "default": "30" - }, - "syncStartAt": { - "type": "string" - }, - "excludeWindow": { - "type": "object", - "required": ["excludeWindowStartTime", "excludeWindowEndTime"], - "properties": { - "excludeWindowStartTime": { - "type": "string" - }, - "excludeWindowEndTime": { - "type": "string" - } - } - }, - "jsonPaths": { - "type": "string", - "pattern": "(^env[.].*)|.*" - }, - "useRudderStorage": { - "type": "boolean", - "default": false - }, - "bucketProvider": { - "type": "string", - "pattern": "^(S3|GCS|AZURE_BLOB|MINIO)$" - } - }, - "allOf": [ - { - "if": { - "properties": { - "useSSH": { - "const": true - } - }, - "required": ["useSSH"] - }, - "then": { - "properties": { - "sshHost": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,255})$" - }, - "sshPort": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,255})$" - }, - "sshUser": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,255})$" - }, - "sshPublicKey": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,10000})$" - } - }, - "required": ["sshHost", "sshPort", "sshUser", "sshPublicKey"] - } - }, - { - "if": { - "properties": { - "useRudderStorage": { - "const": false - } - }, - "required": ["useRudderStorage"] - }, - "then": { - "required": ["bucketProvider"] - } - }, - { - "if": { - "properties": { - "bucketProvider": { - "const": "S3" - }, - "useRudderStorage": { - "const": false - } - }, - "required": ["bucketProvider", "useRudderStorage"] - }, - "then": { - "properties": { - "iamRoleARN": { - "type": "string" - }, - "roleBasedAuth": { - "type": "boolean" - }, - "bucketName": { - "type": "string", - "pattern": "(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$" - }, - "accessKeyID": { - "type": "string", - "pattern": "(^env[.].+)|^(.{0,100})$" - }, - "accessKey": { - "type": "string", - "pattern": "(^env[.].+)|^(.{0,100})$" - } - }, - "required": ["bucketName", "accessKeyID", "accessKey"] - } - }, - { - "if": { - "properties": { - "bucketProvider": { - "const": "GCS" - }, - "useRudderStorage": { - "const": false - } - }, - "required": ["bucketProvider", "useRudderStorage"] - }, - "then": { - "properties": { - "bucketName": { - "type": "string", - "pattern": "(^env[.].+)|^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$" - }, - "credentials": { - "type": "string", - "pattern": "(^env[.].+)|.+" - } - }, - "required": ["bucketName", "credentials"] - } - }, - { - "if": { - "properties": { - "bucketProvider": { - "const": "AZURE_BLOB" - }, - "useRudderStorage": { - "const": false - } - }, - "required": ["bucketProvider", "useRudderStorage"] - }, - "then": { - "properties": { - "containerName": { - "type": "string", - "pattern": "(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$" - }, - "accountName": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - } - }, - "required": ["containerName", "accountName"], - "anyOf": [ - { - "properties": { - "accountKey": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - } - }, - "required": ["accountKey"] - }, - { - "properties": { - "sasToken": { - "type": "string", - "pattern": "(^env[.].+)|^(.+)$" - }, - "useSASTokens": { - "const": true - } - }, - "required": ["useSASTokens", "sasToken"] - } - ] - } - }, - { - "if": { - "properties": { - "bucketProvider": { - "const": "MINIO" - }, - "useRudderStorage": { - "const": false - } - }, - "required": ["bucketProvider", "useRudderStorage"] - }, - "then": { - "properties": { - "bucketName": { - "type": "string", - "pattern": "(^env[.].+)|^((?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$" - }, - "accessKeyID": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - }, - "endPoint": { - "type": "string", - "pattern": "(^env[.].+)|^(?!.*\\.ngrok\\.io)(.{1,100})$" - }, - "secretAccessKey": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - }, - "useSSL": { - "type": "boolean" - } - }, - "required": [ - "bucketName", - "endPoint", - "accessKeyID", - "secretAccessKey", - "useSSL" - ] - } - }, - { - "if": { - "properties": { - "sslMode": { - "const": "verify-ca" - } - }, - "required": ["sslMode"] - }, - "then": { - "properties": { - "clientKey": { - "type": "string", - "pattern": "-----BEGIN RSA PRIVATE KEY-----.*-----END RSA PRIVATE KEY-----" - }, - "clientCert": { - "type": "string", - "pattern": "-----BEGIN CERTIFICATE-----.*-----END CERTIFICATE-----" - }, - "serverCA": { - "type": "string", - "pattern": "-----BEGIN CERTIFICATE-----.*-----END CERTIFICATE-----" - } - }, - "required": ["clientKey", "clientCert", "serverCA"] - } - } - ], - "additionalProperties": true - } -} diff --git a/data/destinations/posthog/db_config.json b/data/destinations/posthog/db_config.json deleted file mode 100644 index 52a942179..000000000 --- a/data/destinations/posthog/db_config.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "name": "POSTHOG", - "displayName": "PostHog", - "config": { - "includeKeys": [ - "teamApiKey", - "yourInstance", - "autocapture", - "capturePageView", - "disableSessionRecording", - "propertyBlackList", - "xhrHeaders", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "enableLocalStoragePersistence", - "eventFilteringOption", - "useV2Group" - ], - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "alias", - "group", - "identify", - "page", - "screen", - "track" - ], - "destConfig": { - "defaultConfig": [ - "teamApiKey", - "yourInstance", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption", - "useV2Group" - ], - "web": [ - "useNativeSDK", - "autocapture", - "capturePageView", - "disableSessionRecording", - "propertyBlackList", - "xhrHeaders", - "oneTrustCookieCategories", - "enableLocalStoragePersistence" - ] - }, - "secretKeys": [] - } -} \ No newline at end of file diff --git a/data/destinations/posthog/metadata.json b/data/destinations/posthog/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/posthog/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/posthog/schema.json b/data/destinations/posthog/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/posthog/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/profitwell/db_config.json b/data/destinations/profitwell/db_config.json deleted file mode 100644 index 4ed714f38..000000000 --- a/data/destinations/profitwell/db_config.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "PROFITWELL", - "displayName": "ProfitWell", - "config": { - "transformAt": "router", - "transformAtV1": "router", - "saveDestinationResponse": true, - "includeKeys": [ - "publicApiKey", - "siteType", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "reactnative", - "flutter", - "cordova", - "warehouse" - ], - "supportedMessageTypes": [ - "identify" - ], - "destConfig": { - "defaultConfig": [ - "privateApiKey", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "web": [ - "useNativeSDK", - "publicApiKey", - "siteType", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [ - "privateApiKey", - "publicApiKey" - ] - } -} \ No newline at end of file diff --git a/data/destinations/profitwell/metadata.json b/data/destinations/profitwell/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/profitwell/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/profitwell/schema.json b/data/destinations/profitwell/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/profitwell/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/qualtrics/db_config.json b/data/destinations/qualtrics/db_config.json deleted file mode 100644 index 700e732b2..000000000 --- a/data/destinations/qualtrics/db_config.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "name": "QUALTRICS", - "displayName": "Qualtrics", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "projectId", - "brandId", - "enableGenericPageTitle", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "web", - "android", - "ios" - ], - "destConfig": { - "defaultConfig": [ - "projectId", - "brandId", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "web": [ - "useNativeSDK", - "enableGenericPageTitle", - "oneTrustCookieCategories" - ], - "android": [ - "useNativeSDK" - ], - "ios": [ - "useNativeSDK" - ] - }, - "secretKeys": [ - "projectId" - ] - } -} \ No newline at end of file diff --git a/data/destinations/qualtrics/metadata.json b/data/destinations/qualtrics/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/qualtrics/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/qualtrics/schema.json b/data/destinations/qualtrics/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/qualtrics/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/quantummetric/db_config.json b/data/destinations/quantummetric/db_config.json deleted file mode 100644 index 58d88d8d1..000000000 --- a/data/destinations/quantummetric/db_config.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "QUANTUMMETRIC", - "displayName": "Quantum Metric", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "siteID", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "web" - ], - "destConfig": { - "defaultConfig": [ - "siteID", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [] - } -} \ No newline at end of file diff --git a/data/destinations/quantummetric/metadata.json b/data/destinations/quantummetric/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/quantummetric/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/quantummetric/schema.json b/data/destinations/quantummetric/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/quantummetric/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/quora_pixel/db_config.json b/data/destinations/quora_pixel/db_config.json deleted file mode 100644 index 04cc526b4..000000000 --- a/data/destinations/quora_pixel/db_config.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "QUORA_PIXEL", - "displayName": "Quora Pixel", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "pixelId", - "eventsToQPEvents", - "whitelistedEvents", - "blacklistedEvents", - "eventFilteringOption", - "oneTrustCookieCategories" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "web" - ], - "supportedMessageTypes": [ - "track" - ], - "destConfig": { - "defaultConfig": [ - "pixelId", - "eventsToQPEvents", - "whitelistedEvents", - "blacklistedEvents", - "eventFilteringOption" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [ - "pixelId" - ] - } -} \ No newline at end of file diff --git a/data/destinations/quora_pixel/metadata.json b/data/destinations/quora_pixel/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/quora_pixel/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/quora_pixel/schema.json b/data/destinations/quora_pixel/schema.json deleted file mode 100644 index b9b41bd5a..000000000 --- a/data/destinations/quora_pixel/schema.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "pixelId" - ], - "properties": { - "pixelId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "eventsToQPEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "eventFilteringOption": { - "type": "string", - "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" - }, - "whitelistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "blacklistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "useNativeSDK": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "oneTrustCookieCategories": { - "type": "object", - "properties": { - "web": { - "type": "array", - "items": { - "type": "object", - "properties": { - "oneTrustCookieCategory": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/reddit_pixel/db_config.json b/data/destinations/reddit_pixel/db_config.json deleted file mode 100644 index 501ca876e..000000000 --- a/data/destinations/reddit_pixel/db_config.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "REDDIT_PIXEL", - "displayName": "Reddit Pixel", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "advertiserId", - "eventMappingFromConfig", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "web" - ], - "destConfig": { - "defaultConfig": [ - "advertiserId", - "eventMappingFromConfig", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [ - "advertiserId" - ] - } -} \ No newline at end of file diff --git a/data/destinations/reddit_pixel/metadata.json b/data/destinations/reddit_pixel/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/reddit_pixel/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/reddit_pixel/schema.json b/data/destinations/reddit_pixel/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/reddit_pixel/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/redis/db_config.json b/data/destinations/redis/db_config.json deleted file mode 100644 index f3d7bdb92..000000000 --- a/data/destinations/redis/db_config.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "REDIS", - "displayName": "Redis", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "secretKeys": [ - "password", - "caCertificate" - ], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "identify" - ], - "destConfig": { - "defaultConfig": [ - "address", - "database", - "password", - "prefix", - "secure", - "skipVerify", - "caCertificate", - "clusterMode" - ] - } - } -} \ No newline at end of file diff --git a/data/destinations/redis/metadata.json b/data/destinations/redis/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/redis/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/redis/schema.json b/data/destinations/redis/schema.json deleted file mode 100644 index cdfa6017f..000000000 --- a/data/destinations/redis/schema.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "address" - ], - "properties": { - "address": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,100})$" - }, - "password": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*" - }, - "clusterMode": { - "type": "boolean" - }, - "secure": { - "type": "boolean" - }, - "prefix": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "database": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "caCertificate": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*" - }, - "skipVerify": { - "type": "boolean" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/redis/ui_config.json b/data/destinations/redis/ui_config.json deleted file mode 100644 index 8aeefa562..000000000 --- a/data/destinations/redis/ui_config.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "uiConfig": [ - { - "title": "1. Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Address", - "value": "address", - "regex": "(?!.*\\.ngrok\\.io)^(.{0,100})$", - "regexErrorMessage": "Invalid Address", - "required": true, - "placeholder": "e.g: localhost:6379" - }, - { - "type": "textInput", - "label": "Password", - "value": "password", - "regex": ".*", - "required": false, - "placeholder": "", - "secret": true - }, - { - "type": "textInput", - "label": "Database", - "value": "database", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Database", - "required": false, - "placeholder": "", - "preRequisiteField": { - "name": "clusterMode", - "selectedValue": false - } - }, - { - "type": "checkbox", - "label": "Cluster Mode", - "value": "clusterMode", - "default": true - }, - { - "type": "checkbox", - "label": "Secure", - "value": "secure", - "default": false - }, - { - "type": "checkbox", - "preRequisiteField": { - "name": "secure", - "selectedValue": true - }, - "label": "Skip verify", - "value": "skipVerify", - "default": false, - "footerNote": "if you are using self signed certificates make this field true" - }, - { - "type": "textareaInput", - "preRequisiteField": { - "name": "secure", - "selectedValue": true - }, - "label": "CA certificate", - "value": "caCertificate", - "regex": ".*", - "required": false, - "placeholder": "CA Certificate", - "footerNote": "Can be skipped for CA's that can be verified with any client (eg. Elasticache)" - }, - { - "type": "textInput", - "label": "Prefix", - "value": "prefix", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Prefix", - "required": false, - "placeholder": "" - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/revenue_cat/db_config.json b/data/destinations/revenue_cat/db_config.json deleted file mode 100644 index fe3151793..000000000 --- a/data/destinations/revenue_cat/db_config.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "REVENUE_CAT", - "displayName": "Revenue Cat", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "web", - "cloud", - "mobile", - "android", - "ios", - "unity", - "amp", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "identify", - "track" - ], - "destConfig": { - "defaultConfig": [ - "apiKey", - "xPlatform" - ] - } - } -} \ No newline at end of file diff --git a/data/destinations/revenue_cat/metadata.json b/data/destinations/revenue_cat/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/revenue_cat/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/revenue_cat/schema.json b/data/destinations/revenue_cat/schema.json deleted file mode 100644 index 5177a8b40..000000000 --- a/data/destinations/revenue_cat/schema.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "apiKey" - ], - "properties": { - "apiKey": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "xPlatform": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(ios|android|amazon|macos|stripe|uikitformac)$" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/revenue_cat/ui_config.json b/data/destinations/revenue_cat/ui_config.json deleted file mode 100644 index 10031ed33..000000000 --- a/data/destinations/revenue_cat/ui_config.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Public API Key", - "value": "apiKey", - "regex": "^(.{1,100})$", - "required": true, - "placeholder": "e.g. b4a29aba5e75d99c8a18acd920ec1e2e", - "secret": true, - "footerNote": "Your Public API Key" - }, - { - "type": "singleSelect", - "label": "X-Platform", - "value": "xPlatform", - "options": [ - { - "name": "iOS", - "value": "ios" - }, - { - "name": "Android", - "value": "android" - }, - { - "name": "Amazon", - "value": "amazon" - }, - { - "name": "macOS", - "value": "macos" - }, - { - "name": "Stripe", - "value": "stripe" - }, - { - "name": "UI kit for mac", - "value": "uikitformac" - } - ], - "defaultOption": { - "name": "Stripe", - "value": "stripe" - } - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/rockerbox/db_config.json b/data/destinations/rockerbox/db_config.json deleted file mode 100644 index 10c806847..000000000 --- a/data/destinations/rockerbox/db_config.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "name": "ROCKERBOX", - "displayName": "Rockerbox", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "advertiserId", - "eventsMap", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption", - "oneTrustCookieCategories", - "useNativeSDKToSend", - "clientAuthId", - "customDomain", - "enableCookieSync" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "amp", - "android", - "cordova", - "cloud", - "flutter", - "ios", - "reactnative", - "unity", - "warehouse", - "web" - ], - "supportedMessageTypes": [ - "identify", - "track", - "page" - ], - "destConfig": { - "defaultConfig": [ - "advertiserId", - "eventsMap", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "web": [ - "useNativeSDK", - "useNativeSDKToSend", - "clientAuthId", - "oneTrustCookieCategories", - "customDomain", - "enableCookieSync" - ] - } - } -} \ No newline at end of file diff --git a/data/destinations/rockerbox/metadata.json b/data/destinations/rockerbox/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/rockerbox/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/rockerbox/schema.json b/data/destinations/rockerbox/schema.json deleted file mode 100644 index c8b5ef1e3..000000000 --- a/data/destinations/rockerbox/schema.json +++ /dev/null @@ -1,116 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "advertiserId" - ], - "properties": { - "advertiserId": { - "type": "string" - }, - "clientAuthId": { - "type": "object", - "properties": { - "web": { - "type": "string" - } - } - }, - "customDomain": { - "type": "object", - "properties": { - "web": { - "type": "string", - "pattern": "^(?!.*\\.ngrok\\.io).*$" - } - } - }, - "enableCookieSync": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "eventsMap": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "eventFilteringOption": { - "type": "string", - "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" - }, - "whitelistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "blacklistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "useNativeSDK": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "useNativeSDKToSend": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "oneTrustCookieCategories": { - "type": "object", - "properties": { - "web": { - "type": "array", - "items": { - "type": "object", - "properties": { - "oneTrustCookieCategory": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/rollbar/db_config.json b/data/destinations/rollbar/db_config.json deleted file mode 100644 index 39ead89bc..000000000 --- a/data/destinations/rollbar/db_config.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "name": "ROLLBAR", - "displayName": "rollbar", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "accessToken", - "captureUncaughtException", - "captureUnhandledRejections", - "guessUncaughtFrames", - "codeVersion", - "environment", - "ignoredMessages", - "sourceMapEnabled", - "blacklistedEvents", - "whitelistedEvents" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "web" - ], - "supportedMessageTypes": [ - "identify" - ], - "destConfig": { - "defaultConfig": [ - "accessToken", - "captureUncaughtException", - "captureUnhandledRejections", - "guessUncaughtFrames", - "codeVersion", - "environment", - "ignoredMessages", - "sourceMapEnabled", - "blacklistedEvents", - "whitelistedEvents" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [ - "accessToken" - ] - } -} \ No newline at end of file diff --git a/data/destinations/rollbar/metadata.json b/data/destinations/rollbar/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/rollbar/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/rollbar/schema.json b/data/destinations/rollbar/schema.json deleted file mode 100644 index 16e26639d..000000000 --- a/data/destinations/rollbar/schema.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "required": [ - "accessToken" - ], - "type": "object", - "properties": { - "accessToken": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "captureUncaughtException": { - "type": "boolean" - }, - "captureUnhandledRejections": { - "type": "boolean" - }, - "guessUncaughtFrames": { - "type": "boolean" - }, - "codeVersion": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "environment": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "ignoredMessages": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "sourceMapEnabled": { - "type": "boolean" - }, - "whitelistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "blacklistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "useNativeSDK": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "oneTrustCookieCategories": { - "type": "object", - "properties": { - "web": { - "type": "array", - "items": { - "type": "object", - "properties": { - "oneTrustCookieCategory": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/rs/metadata.json b/data/destinations/rs/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/rs/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/s3/db_config.json b/data/destinations/s3/db_config.json deleted file mode 100644 index db45500ca..000000000 --- a/data/destinations/s3/db_config.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "S3", - "displayName": "Amazon S3", - "config": { - "transformAt": "none", - "transformAtV1": "none", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "cloudSource", - "flutter", - "cordova" - ], - "destConfig": { - "defaultConfig": [ - "bucketName", - "prefix", - "iamRoleARN", - "roleBasedAuth", - "accessKeyID", - "accessKey", - "enableSSE" - ] - }, - "secretKeys": [ - "accessKeyID", - "accessKey" - ] - } -} \ No newline at end of file diff --git a/data/destinations/s3/metadata.json b/data/destinations/s3/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/s3/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/s3/schema.json b/data/destinations/s3/schema.json deleted file mode 100644 index a7511fb00..000000000 --- a/data/destinations/s3/schema.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "bucketName" - ], - "properties": { - "bucketName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "prefix": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "iamRoleARN": { - "type": "string" - }, - "roleBasedAuth": { - "type": "boolean" - }, - "accessKeyID": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "enableSSE": { - "type": "boolean" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/s3/ui_config.json b/data/destinations/s3/ui_config.json deleted file mode 100644 index 3487b99a1..000000000 --- a/data/destinations/s3/ui_config.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "uiConfig": [ - { - "title": "1. Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "S3 Bucket Name", - "value": "bucketName", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid S3 Bucket Name", - "required": true, - "placeholder": "e.g: s3-event-logs" - }, - { - "type": "textInput", - "label": "Prefix", - "value": "prefix", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Prefix", - "required": false, - "placeholder": "e.g: rudder" - }, - { - "type": "checkbox", - "label": "Role Based Authentication", - "value": "roleBasedAuth", - "default": false - }, - { - "type": "textInput", - "preRequisiteField": { - "name": "roleBasedAuth", - "selectedValue": true - }, - "label": "IAM Role ARN", - "value": "iamRoleARN", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Role ARN", - "required": false, - "placeholder": "e.g: arn:aws:iam::123456789012:role/S3Access", - "footerURL": { - "link": "https://www.rudderstack.com/docs/destinations/aws-iam-role-for-rudderstack/", - "text": "Instructions for creating IAM Role" - } - }, - { - "type": "textInput", - "preRequisiteField": { - "name": "roleBasedAuth", - "selectedValue": false - }, - "label": "AWS Access Key ID", - "value": "accessKeyID", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid AWS Access Key ID", - "required": false, - "placeholder": "e.g: access-key-id", - "secret": true - }, - { - "type": "textInput", - "preRequisiteField": { - "name": "roleBasedAuth", - "selectedValue": false - }, - "label": "AWS Secret Access Key", - "value": "accessKey", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid AWS Secret Access Key", - "required": false, - "placeholder": "e.g: secret-access-key", - "secret": true - }, - { - "type": "checkbox", - "label": "Enable Server Side Encryption?", - "value": "enableSSE", - "default": false - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/s3_datalake/db_config.json b/data/destinations/s3_datalake/db_config.json deleted file mode 100644 index 57b1db1b5..000000000 --- a/data/destinations/s3_datalake/db_config.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "name": "S3_DATALAKE", - "displayName": "S3 Datalake", - "category": "warehouse", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "reactnative", - "cloudSource", - "flutter", - "warehouse", - "cordova" - ], - "destConfig": { - "defaultConfig": [ - "useGlue", - "region", - "bucketName", - "iamRoleARN", - "roleBasedAuth", - "accessKeyID", - "accessKey", - "prefix", - "namespace", - "syncFrequency", - "syncStartAt", - "excludeWindow" - ] - }, - "secretKeys": [ - "password", - "accessKeyID", - "accessKey" - ] - } -} \ No newline at end of file diff --git a/data/destinations/s3_datalake/metadata.json b/data/destinations/s3_datalake/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/s3_datalake/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/s3_datalake/schema.json b/data/destinations/s3_datalake/schema.json deleted file mode 100644 index 80503ea46..000000000 --- a/data/destinations/s3_datalake/schema.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema", - "type": "object", - "required": [ - "bucketName", - "useGlue", - "syncFrequency" - ], - "properties": { - "bucketName": { - "type": "string", - "pattern": "(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$" - }, - "useGlue": { - "type": "boolean" - }, - "prefix": { - "type": "string", - "pattern": "(^env[.].*)|.*" - }, - "namespace": { - "type": "string", - "pattern": "(^env[.].*)|^((?!pg_|PG_|pG_|Pg_).{0,64})$" - }, - "iamRoleARN": { - "type": "string" - }, - "roleBasedAuth": { - "type": "boolean" - }, - "accessKeyID": { - "type": "string", - "pattern": "(^env[.].*)|.*" - }, - "accessKey": { - "type": "string", - "pattern": "(^env[.].*)|.*" - }, - "enableSSE": { - "type": "boolean" - }, - "syncFrequency": { - "type": "string", - "pattern": "^(30|60|180|360|720|1440)$", - "default": "30" - }, - "syncStartAt": { - "type": "string" - } - }, - "allOf": [ - { - "if": { - "properties": { - "useGlue": { - "const": true - } - }, - "required": [ - "useGlue" - ] - }, - "then": { - "properties": { - "region": { - "type": "string", - "pattern": "(^env[.].+)|.+" - } - }, - "required": [ - "region" - ] - } - } - ], - "additionalProperties": true - } -} \ No newline at end of file diff --git a/data/destinations/s3_datalake/ui_config.json b/data/destinations/s3_datalake/ui_config.json deleted file mode 100644 index 0da47e756..000000000 --- a/data/destinations/s3_datalake/ui_config.json +++ /dev/null @@ -1,162 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Credentials", - "fields": [ - { - "type": "textInput", - "label": "S3 Storage Bucket Name", - "labelNote": "S3 Bucket to store your event data", - "value": "bucketName", - "regex": "^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$", - "required": true, - "footerNote": "Please make sure the bucket exists in your S3" - }, - { - "type": "checkbox", - "label": "Register schema on AWS Glue", - "value": "useGlue", - "default": false, - "footerNote": "We register the schema on AWS Glue's Data Catalog if this option is enabled" - }, - { - "type": "textInput", - "label": "AWS Glue Region", - "labelNote": "Your AWS Glue region.Ex-For N.Virginia, this field's value would be 'us-east-1'", - "value": "region", - "regex": ".*", - "required": true, - "preRequisiteField": { - "name": "useGlue", - "selectedValue": true - } - }, - { - "type": "textInput", - "label": "S3 Prefix", - "labelNote": "If configured, all data pushed by rudderstack will be at s3:////", - "value": "prefix", - "regex": ".*", - "required": false, - "placeholder": "" - }, - { - "type": "textInput", - "label": "Namespace", - "value": "namespace", - "labelNote": "Defaults to source name.", - "regex": "^((?!pg_|PG_|pG_|Pg_).{0,64})$", - "required": false, - "footerNote": "All data for the destination would be pushed to s3:////rudder-datalake/.If glue is enabled, all table definitions are created in a database with name set to namespace." - }, - { - "type": "checkbox", - "label": "Role Based Authentication", - "value": "roleBasedAuth", - "default": false - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "roleBasedAuth", - "selectedValue": true - } - ], - "label": "IAM Role ARN", - "value": "iamRoleARN", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Role ARN", - "required": true, - "placeholder": "e.g: arn:aws:iam::123456789012:role/S3Access", - "footerURL": { - "link": "https://www.rudderstack.com/docs/destinations/aws-iam-role-for-rudderstack/", - "text": "Instructions for creating IAM Role" - } - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "roleBasedAuth", - "selectedValue": false - } - ], - "label": "AWS Access Key ID", - "value": "accessKeyID", - "regex": ".*", - "required": false, - "placeholder": "e.g: access-key-id", - "secret": true - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "roleBasedAuth", - "selectedValue": false - } - ], - "label": "AWS Secret Access Key", - "value": "accessKey", - "regex": ".*", - "required": false, - "placeholder": "e.g: secret-access-key", - "secret": true - }, - { - "type": "checkbox", - "label": "Enable Server Side Encryption For S3?", - "value": "enableSSE", - "default": false - }, - { - "type": "singleSelect", - "label": "Sync Frequency", - "value": "syncFrequency", - "options": [ - { - "name": "Every 30 minutes", - "value": "30" - }, - { - "name": "Every 1 hour", - "value": "60" - }, - { - "name": "Every 3 hours", - "value": "180" - }, - { - "name": "Every 6 hours", - "value": "360" - }, - { - "name": "Every 12 hours", - "value": "720" - }, - { - "name": "Every 24 hours", - "value": "1440" - } - ], - "defaultOption": { - "name": "Every 30 minutes", - "value": "30" - }, - "required": false - }, - { - "type": "timePicker", - "label": "Sync Starting At (Optional)", - "value": "syncStartAt", - "options": { - "omitSeconds": true - }, - "required": false, - "footerNote": "Note: Please specify time in UTC" - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/salesforce/db_config.json b/data/destinations/salesforce/db_config.json deleted file mode 100644 index 21b18db21..000000000 --- a/data/destinations/salesforce/db_config.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name": "SALESFORCE", - "displayName": "Salesforce", - "config": { - "supportsVisualMapper": true, - "transformAt": "router", - "transformAtV1": "router", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "identify" - ], - "destConfig": { - "defaultConfig": [ - "userName", - "password", - "initialAccessToken", - "mapProperties", - "sandbox", - "useContactId" - ] - }, - "secretKeys": [ - "password", - "initialAccessToken" - ] - } -} \ No newline at end of file diff --git a/data/destinations/salesforce/metadata.json b/data/destinations/salesforce/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/salesforce/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/salesforce/schema.json b/data/destinations/salesforce/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/salesforce/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/salesforce/ui_config.json b/data/destinations/salesforce/ui_config.json deleted file mode 100644 index 636d2ba8c..000000000 --- a/data/destinations/salesforce/ui_config.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "User Name", - "value": "userName", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid User Name", - "required": true, - "placeholder": "e.g. user_name" - }, - { - "type": "textInput", - "label": "Password", - "value": "password", - "regex": ".*", - "required": true, - "placeholder": "e.g. password", - "secret": true - }, - { - "type": "textInput", - "label": "Security Token", - "value": "initialAccessToken", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Security Token", - "required": true, - "placeholder": "e.g. ISnPS2LcOtn9bHf6Id6vG0jgh", - "secret": true - } - ] - }, - { - "title": "Other Settings", - "fields": [ - { - "type": "checkbox", - "label": "Map Rudder Properties to Salesforce Properties", - "value": "mapProperties", - "default": true - }, - { - "type": "checkbox", - "label": "Sandbox mode", - "value": "sandbox", - "default": false - }, - { - "type": "checkbox", - "label": "Use contactId for converted leads", - "value": "useContactId", - "default": false, - "footerNote": "It is suggested to enable this option when both lead and contact field mappings are same." - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/satismeter/metadata.json b/data/destinations/satismeter/metadata.json deleted file mode 100644 index d771a284b..000000000 --- a/data/destinations/satismeter/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} diff --git a/data/destinations/satismeter/schema.json b/data/destinations/satismeter/schema.json deleted file mode 100644 index ba963af83..000000000 --- a/data/destinations/satismeter/schema.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "writeKey" - ], - "properties": { - "writekey": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "identifyAnonymousUsers": { - "type": "boolean" - }, - "recordSatismeterEvents": { - "type": "boolean" - }, - "updateEventNames": { - "type": "boolean" - }, - "eventsToStandard": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "eventFilteringOption": { - "type": "string", - "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" - }, - "whitelistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "blacklistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "useNativeSDK": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "oneTrustCookieCategories": { - "type": "object", - "properties": { - "web": { - "type": "array", - "items": { - "type": "object", - "properties": { - "oneTrustCookieCategory": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } - } - } -} diff --git a/data/destinations/segment/db_config.json b/data/destinations/segment/db_config.json deleted file mode 100644 index 6bf8615d1..000000000 --- a/data/destinations/segment/db_config.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "SEGMENT", - "displayName": "Segment", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "destConfig": { - "defaultConfig": [ - "writeKey" - ] - }, - "secretKeys": [] - } -} \ No newline at end of file diff --git a/data/destinations/segment/metadata.json b/data/destinations/segment/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/segment/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/segment/schema.json b/data/destinations/segment/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/segment/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/segment/ui_config.json b/data/destinations/segment/ui_config.json deleted file mode 100644 index cfeb3bb00..000000000 --- a/data/destinations/segment/ui_config.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Segment Write Key", - "value": "writeKey", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Segment Write Key", - "required": true, - "placeholder": "e.g: bSjsdGYsOo9sjw23Shj" - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/sendgrid/metadata.json b/data/destinations/sendgrid/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/sendgrid/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/sendgrid/schema.json b/data/destinations/sendgrid/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/sendgrid/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/sendinblue/schema.json b/data/destinations/sendinblue/schema.json deleted file mode 100644 index 9cd55724d..000000000 --- a/data/destinations/sendinblue/schema.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": ["apiKey", "clientKey"], - "properties": { - "apiKey": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "clientKey": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "doi": { "type": "boolean" }, - "templateId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$" - }, - "redirectionUrl": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$" - }, - "keyToContactAttributeMapping": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "sendTraitsInTrack": { "type": "boolean" }, - "eventFilteringOption": { - "type": "string", - "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" - }, - "whitelistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "blacklistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "useNativeSDK": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "oneTrustCookieCategories": { - "type": "object", - "properties": { - "web": { - "type": "array", - "items": { - "type": "object", - "properties": { - "oneTrustCookieCategory": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } - } - } -} diff --git a/data/destinations/sentry/db_config.json b/data/destinations/sentry/db_config.json deleted file mode 100644 index 2766b7591..000000000 --- a/data/destinations/sentry/db_config.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "name": "SENTRY", - "displayName": "Sentry", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "dsn", - "environment", - "customVersionProperty", - "release", - "serverName", - "logger", - "ignoreErrors", - "includePaths", - "allowUrls", - "denyUrls", - "debugMode", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "web" - ], - "supportedMessageTypes": [ - "identify" - ], - "destConfig": { - "defaultConfig": [ - "dsn", - "environment", - "customVersionProperty", - "release", - "serverName", - "logger", - "ignoreErrors", - "includePaths", - "allowUrls", - "denyUrls", - "debugMode", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [ - "dsn" - ] - } -} \ No newline at end of file diff --git a/data/destinations/sentry/metadata.json b/data/destinations/sentry/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/sentry/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/sentry/schema.json b/data/destinations/sentry/schema.json deleted file mode 100644 index 3a2a9c471..000000000 --- a/data/destinations/sentry/schema.json +++ /dev/null @@ -1,132 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "dsn" - ], - "properties": { - "dsn": { - "type": "string" - }, - "environment": { - "type": "string" - }, - "customVersionProperty": { - "type": "string" - }, - "release": { - "type": "string" - }, - "serverName": { - "type": "string" - }, - "logger": { - "type": "string" - }, - "debugMode": { - "type": "boolean" - }, - "ignoreErrors": { - "type": "array", - "items": { - "type": "object", - "properties": { - "ignoreErrors": { - "type": "string" - } - } - } - }, - "includePaths": { - "type": "array", - "items": { - "type": "object", - "properties": { - "includePaths": { - "type": "string" - } - } - } - }, - "allowUrls": { - "type": "array", - "items": { - "type": "object", - "properties": { - "allowUrls": { - "type": "string", - "pattern": "^(?!.*\\.ngrok\\.io).*$" - } - } - } - }, - "denyUrls": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denyUrls": { - "type": "string", - "pattern": "^(?!.*\\.ngrok\\.io).*$" - } - } - } - }, - "eventFilteringOption": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" - }, - "whitelistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "blacklistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "useNativeSDK": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "oneTrustCookieCategories": { - "type": "object", - "properties": { - "web": { - "type": "array", - "items": { - "type": "object", - "properties": { - "oneTrustCookieCategory": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/serenytics/db_config.json b/data/destinations/serenytics/db_config.json deleted file mode 100644 index da10e005c..000000000 --- a/data/destinations/serenytics/db_config.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "SERENYTICS", - "displayName": "Serenytics", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "identify", - "track", - "group", - "page", - "screen", - "alias" - ], - "destConfig": { - "defaultConfig": [ - "storageUrlIdentify", - "storageUrlTrack", - "eventToStorageUrlMap", - "storageUrlGroup", - "storageUrlAlias", - "storageUrlPage", - "storageUrlScreen" - ] - } - } -} \ No newline at end of file diff --git a/data/destinations/serenytics/metadata.json b/data/destinations/serenytics/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/serenytics/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/serenytics/schema.json b/data/destinations/serenytics/schema.json deleted file mode 100644 index a3f46970a..000000000 --- a/data/destinations/serenytics/schema.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "storageUrlIdentify": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,200})$" - }, - "storageUrlTrack": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,200})$" - }, - "storageUrlGroup": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,200})$" - }, - "storageUrlAlias": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,200})$" - }, - "storageUrlPage": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,200})$" - }, - "storageUrlScreen": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,200})$" - }, - "eventToStorageUrlMap": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,200})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,200})$" - } - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/serenytics/ui_config.json b/data/destinations/serenytics/ui_config.json deleted file mode 100644 index e8ad158e6..000000000 --- a/data/destinations/serenytics/ui_config.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Data Source Storage Url for Identify", - "value": "storageUrlIdentify", - "regex": "(?!.*\\.ngrok\\.io)^(.{1,200})$", - "required": false, - "placeholder": "e.g. https://api.serenytics.com/api/data_source/7e0670-8cd1-40da-93a3-10a5/push/f06274c43f8904735b9a06c3ae917" - }, - { - "type": "textInput", - "label": "Data Source Storage Url for Track", - "value": "storageUrlTrack", - "regex": "(?!.*\\.ngrok\\.io)^(.{1,200})$", - "required": false, - "placeholder": "e.g. https://api.serenytics.com/api/data_source/7e0670-8cd1-40da-93a3-10a5/push/f06274c43f8904735b9a06c3ae917" - }, - { - "type": "dynamicForm", - "label": "Event Specific Storage Url", - "value": "eventToStorageUrlMap", - "required": false, - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g. Order Completed", - "placeholderRight": "e.g https://api.serenytics.com/api/data_source/7e0670-8cd1-40da-93a3-10a5/push/f06274c43f8904735b9a06c3ae917", - "labelLeft": "Event Name", - "labelRight": "Data Source Storage Url for Event" - }, - { - "type": "textInput", - "label": "Data Source Storage Url for Group", - "value": "storageUrlGroup", - "regex": "(?!.*\\.ngrok\\.io)^(.{1,200})$", - "required": false, - "placeholder": "e.g. https://api.serenytics.com/api/data_source/7e0670-8cd1-40da-93a3-10a5/push/f06274c43f8904735b9a06c3ae917" - }, - { - "type": "textInput", - "label": "Data Source Storage Url for Alias", - "value": "storageUrlAlias", - "regex": "(?!.*\\.ngrok\\.io)^(.{1,200})$", - "required": false, - "placeholder": "e.g. https://api.serenytics.com/api/data_source/7e0670-8cd1-40da-93a3-10a5/push/f06274c43f8904735b9a06c3ae917" - }, - { - "type": "textInput", - "label": "Data Source Storage Url for Page", - "value": "storageUrlPage", - "regex": "(?!.*\\.ngrok\\.io)^(.{1,200})$", - "required": false, - "placeholder": "e.g. https://api.serenytics.com/api/data_source/7e0670-8cd1-40da-93a3-10a5/push/f06274c43f8904735b9a06c3ae917" - }, - { - "type": "textInput", - "label": "Data Source Storage Url for Screen", - "value": "storageUrlScreen", - "regex": "(?!.*\\.ngrok\\.io)^(.{1,200})$", - "required": false, - "placeholder": "e.g. https://api.serenytics.com/api/data_source/7e0670-8cd1-40da-93a3-10a5/push/f06274c43f8904735b9a06c3ae917" - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/sfmc/db_config.json b/data/destinations/sfmc/db_config.json deleted file mode 100644 index 6fc4e1fbb..000000000 --- a/data/destinations/sfmc/db_config.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "name": "SFMC", - "displayName": "Salesforce Marketing Cloud", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "identify", - "track" - ], - "destConfig": { - "defaultConfig": [ - "clientId", - "clientSecret", - "subDomain", - "createOrUpdateContacts", - "externalKey", - "eventToExternalKey", - "eventToPrimaryKey", - "eventToUUID" - ] - }, - "secretKeys": [ - "clientId", - "clientSecret", - "subDomain" - ] - } -} \ No newline at end of file diff --git a/data/destinations/sfmc/metadata.json b/data/destinations/sfmc/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/sfmc/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/sfmc/schema.json b/data/destinations/sfmc/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/sfmc/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/sfmc/ui_config.json b/data/destinations/sfmc/ui_config.json deleted file mode 100644 index f6200fe4d..000000000 --- a/data/destinations/sfmc/ui_config.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Client Id", - "value": "clientId", - "required": true, - "placeholder": "e.g. ow081701234iblovt1z0j8hm", - "secret": true - }, - { - "type": "textInput", - "label": "Client Secret", - "value": "clientSecret", - "required": true, - "placeholder": "e.g. Sm7Yoqpx1jpn1234Juvl61Ag", - "secret": true - }, - { - "type": "textInput", - "label": "Subdomain", - "value": "subDomain", - "required": true, - "placeholder": "e.g. mcxt4zx46412341jd9rp300hdc8y", - "secret": true - } - ] - }, - { - "title": "Identify Call Settings", - "fields": [ - { - "type": "checkbox", - "label": "Do Not Create or Update Contacts", - "value": "createOrUpdateContacts", - "default": false, - "footerNote": "To disable creating or updating contacts during an identify call, set this option to true." - }, - { - "type": "textInput", - "label": "Identify Data External Key", - "value": "externalKey", - "required": false, - "placeholder": "e.g. mcxt4zx46412341jd9rp300hdc8y", - "footerNote": "Use this setting if you would like Rudder identify events to create or update Data Extensions in SFMC. The External Key of the Salesforce Marketing Cloud Data Extension to which you'd like to send Identify data. You can find this in the SFMC interface by navigating to Data & Analytics > Contact Builder > Data Extensions; the extension's name will appear in the External Key column." - } - ] - }, - { - "title": "Track Call Settings", - "fields": [ - { - "type": "dynamicForm", - "label": "Map events to external key", - "labelLeft": "Event Name", - "labelRight": "External Key", - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g: Product Clicked", - "placeholderRight": "eg: 69364906-1111-1111-1111-7D9CD87F16EC", - "value": "eventToExternalKey" - }, - { - "type": "dynamicForm", - "label": "Map events to primary key", - "labelLeft": "Event Name", - "labelRight": "Primary Key", - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g: Product Clicked", - "placeholderRight": "eg: Contact Key", - "value": "eventToPrimaryKey", - "footerNote": "The target Data Extension's Primary Key. If a value is not provided, defaults to Contact Key. You can add multiple primary keys by separating them with commas. The primary key names should be same as that you have set in SFMC data extensions." - }, - { - "type": "dynamicCustomForm", - "value": "eventToUUID", - "customFields": [ - { - "type": "textInput", - "value": "event", - "label": "Event Name", - "placeholder": "e.g. Product Added", - "required": false - }, - { - "type": "checkbox", - "value": "uuid", - "label": "UUID", - "required": false, - "footerNote": "If this is checked then we will generate a UUID and pass it through to SMC as the value for Primary Key for this event called 'Uuid'. This will override the above Primary Key field." - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/shynet/db_config.json b/data/destinations/shynet/db_config.json deleted file mode 100644 index e32f5974a..000000000 --- a/data/destinations/shynet/db_config.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "name": "SHYNET", - "displayName": "Shynet", - "config": { - "supportsVisualMapper": true, - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "heartBeatFrequencyInMs", - "shynetServiceUrl", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "page" - ], - "destConfig": { - "defaultConfig": [ - "heartBeatFrequencyInMs", - "shynetServiceUrl", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [] - } -} \ No newline at end of file diff --git a/data/destinations/shynet/metadata.json b/data/destinations/shynet/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/shynet/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/shynet/schema.json b/data/destinations/shynet/schema.json deleted file mode 100644 index 20faaa977..000000000 --- a/data/destinations/shynet/schema.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "required": [ - "shynetServiceUrl" - ], - "type": "object", - "properties": { - "heartBeatFrequencyInMs": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,10})$" - }, - "shynetServiceUrl": { - "type": "string", - "pattern": "^(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,300})$" - }, - "eventFilteringOption": { - "type": "string", - "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" - }, - "useNativeSDK": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "whitelistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "blacklistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,300})$" - } - } - } - }, - "oneTrustCookieCategories": { - "type": "object", - "properties": { - "web": { - "type": "array", - "items": { - "type": "object", - "properties": { - "oneTrustCookieCategory": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/signl4/db_config.json b/data/destinations/signl4/db_config.json deleted file mode 100644 index 56ccfeff4..000000000 --- a/data/destinations/signl4/db_config.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "name": "SIGNL4", - "displayName": "SIGNL4", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "track" - ], - "destConfig": { - "defaultConfig": [ - "apiKey", - "s4ServiceValue", - "s4ServiceProperty", - "s4LocationValue", - "s4LocationProperty", - "s4AlertingScenarioValue", - "s4AlertingScenarioProperty", - "s4ExternalIDValue", - "s4ExternalIDProperty", - "s4StatusValue", - "s4StatusProperty", - "s4Filter", - "eventToTitleMapping" - ] - }, - "secretKeys": [ - "apiKey" - ] - } -} \ No newline at end of file diff --git a/data/destinations/signl4/metadata.json b/data/destinations/signl4/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/signl4/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/signl4/schema.json b/data/destinations/signl4/schema.json deleted file mode 100644 index 2e51b6701..000000000 --- a/data/destinations/signl4/schema.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "apiKey" - ], - "properties": { - "apiKey": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "s4ServiceValue": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "s4ServiceProperty": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "s4LocationValue": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "s4LocationProperty": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "s4AlertingScenarioValue": { - "type": "string", - "pattern": "^(single_ack|multi_ack|emergency)$" - }, - "s4AlertingScenarioProperty": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "s4ExternalIDValue": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "s4ExternalIDProperty": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "s4StatusValue": { - "type": "string", - "pattern": "^(new|acknowledged|resolved)$" - }, - "s4StatusProperty": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "s4Filter": { - "type": "boolean" - }, - "columnToPropertyMapping": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/signl4/ui_config.json b/data/destinations/signl4/ui_config.json deleted file mode 100644 index 4c5745601..000000000 --- a/data/destinations/signl4/ui_config.json +++ /dev/null @@ -1,205 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "API Key", - "value": "apiKey", - "regex": "^(.{1,300})$", - "regexErrorMessage": "Invalid API Key", - "required": true, - "placeholder": "e.g. gi11aat8xy", - "secret": true, - "footerNote": "Your SIGNL4 team secret" - } - ] - }, - { - "title": "X-S4-Service", - "fields": [ - { - "type": "textInput", - "label": "Default Value", - "value": "s4ServiceValue", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid X-S4-Service Value", - "required": false, - "placeholder": "e.g. Security", - "secret": false - }, - { - "type": "textInput", - "label": "RudderStack property name", - "value": "s4ServiceProperty", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid property name", - "required": false, - "placeholder": "e.g. service", - "secret": false, - "footerNote": "Assigns the Signl to the service/system category with the specified name" - } - ] - }, - { - "title": "X-S4-Location", - "fields": [ - { - "type": "textInput", - "label": "Default Value", - "value": "s4LocationValue", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid X-S4-Location Value", - "required": false, - "placeholder": "e.g. 40.6413111,-73.7781391", - "secret": false - }, - { - "type": "textInput", - "label": "RudderStack property name", - "value": "s4LocationProperty", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid property name", - "required": false, - "placeholder": "e.g. location", - "footerNote": "Transmit location information ('latitude, longitude') with your event" - } - ] - }, - { - "title": "X-S4-AlertingScenario", - "fields": [ - { - "type": "singleSelect", - "label": "Default Value", - "value": "s4AlertingScenarioValue", - "required": false, - "options": [ - { - "name": "single_ack", - "value": "single_ack" - }, - { - "name": "multi_ack", - "value": "multi_ack" - }, - { - "name": "emergency", - "value": "emergency" - } - ], - "defaultOption": { - "name": "single_ack", - "value": "single_ack" - } - }, - { - "type": "textInput", - "label": "RudderStack property name", - "value": "s4AlertingScenarioProperty", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid property name", - "required": false, - "placeholder": "e.g. alertingScenario", - "secret": false, - "footerNote": "Allows to control how SIGNL4 notifies the team" - } - ] - }, - { - "title": "X-S4-ExternalID", - "fields": [ - { - "type": "textInput", - "label": "Default Value", - "value": "s4ExternalIDValue", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid X-S4-ExternalID", - "required": false, - "placeholder": "e.g. INC091210", - "secret": false - }, - { - "type": "textInput", - "label": "RudderStack property name", - "value": "s4ExternalIDProperty", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid property name", - "required": false, - "placeholder": "e.g. externalId", - "secret": false, - "footerNote": "If the event originates from a record in a 3rd party system, use this parameter to pass the unique ID of that record" - } - ] - }, - { - "title": "X-S4-Status", - "fields": [ - { - "type": "singleSelect", - "label": "Default Value", - "value": "s4StatusValue", - "required": false, - "options": [ - { - "name": "new", - "value": "new" - }, - { - "name": "acknowledged", - "value": "acknowledged" - }, - { - "name": "resolved", - "value": "resolved" - } - ], - "defaultOption": { - "name": "new", - "value": "new" - } - }, - { - "type": "textInput", - "label": "RudderStack property name", - "value": "s4StatusProperty", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid property name", - "required": false, - "placeholder": "e.g. status", - "secret": false, - "footerNote": "Provide the value of status of the alert from the above options" - } - ] - }, - { - "title": "X-S4-Filtering", - "fields": [ - { - "type": "checkbox", - "label": "Enable to add filter", - "value": "s4Filter", - "default": false, - "footerNote": "Set it to true to apply event filtering for this event" - } - ] - }, - { - "title": "Event to title mapping", - "fields": [ - { - "type": "dynamicForm", - "label": "Map event name with the alert title", - "labelLeft": "Event Name", - "labelRight": "Alert Title", - "value": "eventToTitleMapping", - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g: Product Viewed", - "placeholderRight": "e.g: Viewed Product" - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/singular/db_config.json b/data/destinations/singular/db_config.json deleted file mode 100644 index 136b9c4d4..000000000 --- a/data/destinations/singular/db_config.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "SINGULAR", - "displayName": "Singular", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "apiKey", - "apiSecret", - "sessionEventList", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "flutter", - "reactnative", - "cordova", - "web", - "amp", - "cloud", - "warehouse" - ], - "destConfig": { - "defaultConfig": [ - "apiKey", - "apiSecret", - "sessionEventList", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "android": [ - "useNativeSDK" - ], - "ios": [ - "useNativeSDK" - ], - "reactnative": [ - "useNativeSDK" - ], - "cordova": [ - "useNativeSDK" - ] - } - } -} \ No newline at end of file diff --git a/data/destinations/singular/metadata.json b/data/destinations/singular/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/singular/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/singular/schema.json b/data/destinations/singular/schema.json deleted file mode 100644 index f2f7dce18..000000000 --- a/data/destinations/singular/schema.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "apiKey" - ], - "properties": { - "apiKey": { - "type": "string" - }, - "apiSecret": { - "type": "string" - }, - "sessionEventList": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "eventFilteringOption": { - "type": "string", - "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" - }, - "whitelistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "blacklistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "useNativeSDK": { - "type": "object", - "properties": { - "android": { - "type": "boolean" - }, - "ios": { - "type": "boolean" - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/singular/ui_config.json b/data/destinations/singular/ui_config.json deleted file mode 100644 index 4b106adf5..000000000 --- a/data/destinations/singular/ui_config.json +++ /dev/null @@ -1,109 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "API Key", - "value": "apiKey", - "regex": "^[a-zA-Z0-9_]*$", - "regexErrorMessage": "Invalid API Key", - "required": true, - "placeholder": "e.g: abcd_456e5678", - "secret": true - }, - { - "type": "textInput", - "label": "Secret", - "value": "apiSecret", - "regex": "^[a-zA-Z0-9]*$", - "regexErrorMessage": "Invalid Secret Key", - "required": false, - "placeholder": "e.g: r344c6e48c0r87y6iio567b67ad61324", - "secret": true - }, - { - "type": "dynamicCustomForm", - "value": "sessionEventList", - "label": "Session Event Name", - "footerNote": "The event name to use as a Session event", - "customFields": [ - { - "type": "textInput", - "value": "sessionEventName", - "required": false, - "placeholder": "e.g: Session Event Name" - } - ] - } - ] - }, - { - "title": "Native SDK", - "fields": [ - { - "type": "checkbox", - "label": "Use device-mode to send events", - "value": "useNativeSDK", - "default": true - } - ] - }, - { - "title": "Client-side Events Filtering", - "sectionNote": "Applicable only for device-mode integrations. If enabled, it works only with either allowlisted or denylisted events", - "fields": [ - { - "type": "singleSelect", - "value": "eventFilteringOption", - "required": false, - "options": [ - { - "name": "Disable", - "value": "disable" - }, - { - "name": "Allowlist", - "value": "whitelistedEvents" - }, - { - "name": "Denylist", - "value": "blacklistedEvents" - } - ], - "defaultOption": { - "name": "Disable", - "value": "disable" - } - }, - { - "type": "dynamicCustomForm", - "value": "whitelistedEvents", - "label": "Allowlist", - "customFields": [ - { - "type": "textInput", - "value": "eventName", - "required": false, - "placeholder": "e.g: Anonymous Page Visit" - } - ] - }, - { - "type": "dynamicCustomForm", - "value": "blacklistedEvents", - "label": "Denylist", - "customFields": [ - { - "type": "textInput", - "value": "eventName", - "required": false, - "placeholder": "e.g: Credit Card Added" - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/slack/db_config.json b/data/destinations/slack/db_config.json deleted file mode 100644 index 9e2f093d8..000000000 --- a/data/destinations/slack/db_config.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "SLACK", - "displayName": "Slack", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "identify", - "track" - ], - "destConfig": { - "defaultConfig": [ - "eventChannelSettings", - "identifyTemplate", - "eventTemplateSettings", - "webhookUrl", - "whitelistedTraitsSettings" - ] - }, - "secretKeys": [] - } -} \ No newline at end of file diff --git a/data/destinations/slack/metadata.json b/data/destinations/slack/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/slack/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/slack/schema.json b/data/destinations/slack/schema.json deleted file mode 100644 index fbe8c72b6..000000000 --- a/data/destinations/slack/schema.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "webhookUrl": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,100})" - }, - "identifyTemplate": { - "type": "string" - }, - "eventChannelSettings": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "eventChannel": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "eventRegex": { - "type": "boolean" - } - } - } - }, - "eventTemplateSettings": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "eventTemplate": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,1000})$" - }, - "eventRegex": { - "type": "boolean" - } - } - } - }, - "whitelistedTraitsSettings": { - "type": "array", - "items": { - "type": "object", - "properties": { - "trait": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})" - } - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/slack/ui_config.json b/data/destinations/slack/ui_config.json deleted file mode 100644 index a6b41a869..000000000 --- a/data/destinations/slack/ui_config.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Event Channels", - "fields": [ - { - "type": "dynamicCustomForm", - "value": "eventChannelSettings", - "customFields": [ - { - "type": "textInput", - "label": "Event Name", - "value": "eventName", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Event Name", - "required": false, - "placeholder": "e.g: ABCDEFG" - }, - { - "type": "textInput", - "label": "Event Channel", - "value": "eventChannel", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Event Channel", - "required": false, - "placeholder": "e.g: ABCDEFG" - }, - { - "type": "checkbox", - "label": "Regex Matching", - "value": "eventRegex", - "default": false - } - ] - } - ] - }, - { - "title": "Identify Template", - "fields": [ - { - "type": "textInput", - "label": "Identify Template", - "value": "identifyTemplate", - "regex": "^(.{0,1000})$", - "regexErrorMessage": "Invalid Identify Template", - "required": false, - "placeholder": "e.g: ABCDEFG" - } - ] - }, - { - "title": "Event Template", - "fields": [ - { - "type": "dynamicCustomForm", - "value": "eventTemplateSettings", - "customFields": [ - { - "type": "textInput", - "label": "Event Name", - "value": "eventName", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Event Name", - "required": false, - "placeholder": "e.g: ABCDEFG" - }, - { - "type": "textInput", - "label": "Event Template", - "value": "eventTemplate", - "regex": "^(.{0,1000})$", - "regexErrorMessage": "Invalid Event Template", - "required": false, - "placeholder": "e.g: ABCDEFG" - }, - { - "type": "checkbox", - "label": "Regex Matching", - "value": "eventRegex", - "default": false - } - ] - } - ] - }, - { - "title": "Incoming Webhook Url", - "fields": [ - { - "type": "textInput", - "label": "Webhook Url", - "value": "webhookUrl", - "regex": "(?!.*\\.ngrok\\.io)^(.{0,100})$", - "regexErrorMessage": "Invalid Webhook Url", - "required": true, - "placeholder": "e.g: ABCDEFG" - } - ] - }, - { - "title": "Whitelisted Traits", - "fields": [ - { - "type": "dynamicCustomForm", - "value": "whitelistedTraitsSettings", - "customFields": [ - { - "type": "textInput", - "label": "Trait", - "value": "trait", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Trait", - "required": false, - "placeholder": "e.g: ABCDEFG" - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/snap_pixel/db_config.json b/data/destinations/snap_pixel/db_config.json deleted file mode 100644 index 140e817f6..000000000 --- a/data/destinations/snap_pixel/db_config.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "name": "SNAP_PIXEL", - "displayName": "Snap Pixel", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "pixelId", - "hashMethod", - "eventMappingFromConfig", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption", - "deduplicationKey", - "enableDeduplication" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "web" - ], - "destConfig": { - "defaultConfig": [ - "pixelId", - "hashMethod", - "eventMappingFromConfig", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption", - "deduplicationKey", - "enableDeduplication" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [ - "pixelId" - ] - } -} \ No newline at end of file diff --git a/data/destinations/snap_pixel/metadata.json b/data/destinations/snap_pixel/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/snap_pixel/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/snap_pixel/schema.json b/data/destinations/snap_pixel/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/snap_pixel/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/snapchat_conversion/db_config.json b/data/destinations/snapchat_conversion/db_config.json deleted file mode 100644 index 457e2c720..000000000 --- a/data/destinations/snapchat_conversion/db_config.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "SNAPCHAT_CONVERSION", - "displayName": "Snapchat Conversion", - "config": { - "transformAt": "router", - "transformAtV1": "router", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "track" - ], - "destConfig": { - "defaultConfig": [ - "apiKey", - "pixelId", - "snapAppId", - "appId", - "rudderEventsToSnapEvents", - "enableDeduplication", - "deduplicationKey" - ] - }, - "secretKeys": [ - "apiKey" - ] - } -} \ No newline at end of file diff --git a/data/destinations/snapchat_conversion/metadata.json b/data/destinations/snapchat_conversion/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/snapchat_conversion/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/snapchat_conversion/schema.json b/data/destinations/snapchat_conversion/schema.json deleted file mode 100644 index 3b8a3744b..000000000 --- a/data/destinations/snapchat_conversion/schema.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "apiKey" - ], - "properties": { - "apiKey": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,500})$" - }, - "pixelId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "snapAppId": { - "type": "string" - }, - "appId": { - "type": "string" - }, - "rudderEventsToSnapEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "enableDeduplication": { - "type": "boolean" - }, - "deduplicationKey": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/snapchat_conversion/ui_config.json b/data/destinations/snapchat_conversion/ui_config.json deleted file mode 100644 index 83dba9356..000000000 --- a/data/destinations/snapchat_conversion/ui_config.json +++ /dev/null @@ -1,215 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "API Token", - "value": "apiKey", - "regex": "^(.{1,500})$", - "required": true, - "placeholder": "e.g. MTp6WHZyNbJXZVNMMm11AlJ1R1BXeVVBOkk0dFk5dkEybUVEWAw5NHk5dXBYUjBIdWp6QzZCNC1TMEFGU9QwYVdnUjg", - "secret": true, - "footerNote": "Your Conversion API Token" - }, - { - "type": "textInput", - "label": "Pixel ID", - "value": "pixelId", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Pixel ID", - "required": false, - "placeholder": "e.g: 836d6231-aad6-4e41-9cbb-5854565cad8e", - "secret": true, - "footerNote": "Your Pixel ID" - }, - { - "type": "textInput", - "label": "Snap App ID", - "value": "snapAppId", - "required": false, - "placeholder": "e.g: 836d6231-aad6-4e41-9cbb-5854565cad8e", - "secret": true, - "footerNote": "Your Snap App ID" - }, - { - "type": "textInput", - "label": "App ID", - "value": "appId", - "required": false, - "placeholder": "e.g: 836d6231-aad6-4e41-9cbb-5854565cad8e", - "secret": true, - "footerNote": "Your App ID" - } - ] - }, - { - "title": "Event Settings", - "fields": [ - { - "type": "dynamicSelectForm", - "label": "Map your events with Snapchat Standard Events", - "labelLeft": "Event Name", - "labelRight": "Standard Event Name", - "value": "rudderEventsToSnapEvents", - "keyLeft": "from", - "keyRight": "to", - "required": false, - "placeholderLeft": "e.g. Product Searched", - "options": [ - { - "name": "Products Searched", - "value": "products_searched" - }, - { - "name": "Product List Viewed", - "value": "product_list_viewed" - }, - { - "name": "Promotion Viewed", - "value": "promotion_viewed" - }, - { - "name": "Promotion Clicked", - "value": "promotion_clicked" - }, - { - "name": "Product Viewed", - "value": "product_viewed" - }, - { - "name": "Checkout Started", - "value": "checkout_started" - }, - { - "name": "Payment Info Entered", - "value": "payment_info_entered" - }, - { - "name": "Order Completed", - "value": "order_completed" - }, - { - "name": "Product Added", - "value": "product_added" - }, - { - "name": "Product Added To Wishlist", - "value": "product_added_to_wishlist" - }, - { - "name": "Sign Up", - "value": "sign_up" - }, - { - "name": "App Open", - "value": "app_open" - }, - { - "name": "Save", - "value": "save" - }, - { - "name": "Subscribe", - "value": "subscribe" - }, - { - "name": "Complete Tutorial", - "value": "complete_tutorial" - }, - { - "name": "Invite", - "value": "invite" - }, - { - "name": "Login", - "value": "login" - }, - { - "name": "Share", - "value": "share" - }, - { - "name": "Reserve", - "value": "reserve" - }, - { - "name": "Achievement Unlocked", - "value": "achievement_unlocked" - }, - { - "name": "Spent Credits", - "value": "spent_credits" - }, - { - "name": "Rate", - "value": "rate" - }, - { - "name": "Start Trial", - "value": "start_trial" - }, - { - "name": "List View", - "value": "list_view" - }, - { - "name": "Page View", - "value": "page_view" - }, - { - "name": "App Install", - "value": "app_install" - }, - { - "name": "Custom Event 1", - "value": "custom_event_1" - }, - { - "name": "Custom Event 2", - "value": "custom_event_2" - }, - { - "name": "Custom Event 3", - "value": "custom_event_3" - }, - { - "name": "Custom Event 4", - "value": "custom_event_4" - }, - { - "name": "Custom Event 5", - "value": "custom_event_5" - } - ] - } - ] - }, - { - "title": "Other Settings", - "fields": [ - { - "type": "checkbox", - "label": "Enable Event Deduplication", - "value": "enableDeduplication", - "default": false - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "enableDeduplication", - "selectedValue": true - } - ], - "label": "Deduplication Key", - "value": "deduplicationKey", - "placeholder": "e.g: messageId", - "required": false, - "footerNote": "RudderStack will use this field for deduplication. If nothing is specified, messageId field will be used." - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/snapchat_custom_audience/db_config.json b/data/destinations/snapchat_custom_audience/db_config.json deleted file mode 100644 index 8b11d0fde..000000000 --- a/data/destinations/snapchat_custom_audience/db_config.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "SNAPCHAT_CUSTOM_AUDIENCE", - "displayName": "Snapchat Custom Audience", - "config": { - "auth": { - "type": "OAuth", - "role": "snapchat_custom_audience", - "rudderScopes": ["delivery"] - }, - "transformAt": "router", - "transformAtV1": "router", - "saveDestinationResponse": true, - "includeKeys": ["segmentId", "schema", "disableHashing"], - "excludeKeys": [], - "supportedSourceTypes": ["cloud", "warehouse"], - "supportedMessageTypes": ["audiencelist"], - "destConfig": { - "defaultConfig": [ - "rudderAccountId", - "segmentId", - "schema", - "disableHashing" - ] - }, - "secretKeys": ["segmentId"] - } -} diff --git a/data/destinations/snapchat_custom_audience/metadata.json b/data/destinations/snapchat_custom_audience/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/snapchat_custom_audience/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/snapchat_custom_audience/schema.json b/data/destinations/snapchat_custom_audience/schema.json deleted file mode 100644 index 9638b8ba7..000000000 --- a/data/destinations/snapchat_custom_audience/schema.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "segmentId" - ], - "properties": { - "segmentId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "schema": { - "type": "string", - "pattern": "^(email|phone|mobileAdId)$" - }, - "disableHashing": { - "type": "boolean" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/snapchat_custom_audience/ui_config.json b/data/destinations/snapchat_custom_audience/ui_config.json deleted file mode 100644 index ed4a97e34..000000000 --- a/data/destinations/snapchat_custom_audience/ui_config.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Segment Id", - "value": "segmentId", - "regex": "^(.{1,100})$", - "regexErrorMessage": "Invalid Segment Id", - "required": true, - "placeholder": "e.g. 4996042382964722", - "secret": true - } - ] - }, - { - "title": "Event Settings", - "fields": [ - { - "type": "singleSelect", - "label": "Schema", - "value": "schema", - "required": true, - "mode": "single", - "options": [ - { - "name": "Email", - "value": "email" - }, - { - "name": "Phone", - "value": "phone" - }, - { - "name": "Mobile Ad Id", - "value": "mobileAdId" - } - ], - "defaultOption": { - "name": "Email", - "value": "email" - }, - "footerNote": "Schema of your Audience" - }, - { - "type": "checkbox", - "label": "Disable Hashing", - "value": "disableHashing", - "default": false - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/snapengage/db_config.json b/data/destinations/snapengage/db_config.json deleted file mode 100644 index 49e13cb04..000000000 --- a/data/destinations/snapengage/db_config.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "name": "SNAPENGAGE", - "displayName": "SnapEngage", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "widgetId", - "recordLiveChatEvents", - "updateEventNames", - "eventsToStandard", - "eventFilteringOption", - "blacklistedEvents", - "whitelistedEvents" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "web" - ], - "supportedMessageTypes": [ - "identify", - "track" - ], - "destConfig": { - "defaultConfig": [ - "widgetId", - "recordLiveChatEvents", - "updateEventNames", - "eventsToStandard", - "eventFilteringOption", - "blacklistedEvents", - "whitelistedEvents" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [ - "widgetId" - ] - } -} \ No newline at end of file diff --git a/data/destinations/snapengage/metadata.json b/data/destinations/snapengage/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/snapengage/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/snapengage/schema.json b/data/destinations/snapengage/schema.json deleted file mode 100644 index 780b34d0b..000000000 --- a/data/destinations/snapengage/schema.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "required": [ - "widgetId" - ], - "type": "object", - "properties": { - "widgetId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "recordLiveChatEvents": { - "type": "boolean" - }, - "updateEventNames": { - "type": "boolean" - }, - "eventsToStandard": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "eventFilteringOption": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" - }, - "whitelistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "blacklistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "oneTrustCookieCategories": { - "type": "object", - "properties": { - "web": { - "type": "array", - "items": { - "type": "object", - "properties": { - "oneTrustCookieCategory": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/snowflake/db_config.json b/data/destinations/snowflake/db_config.json deleted file mode 100644 index 5e2860e47..000000000 --- a/data/destinations/snowflake/db_config.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "name": "SNOWFLAKE", - "displayName": "Snowflake", - "category": "warehouse", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "reactnative", - "cloudSource", - "flutter", - "cordova" - ], - "destConfig": { - "defaultConfig": [ - "account", - "database", - "warehouse", - "user", - "password", - "cloudProvider", - "bucketName", - "containerName", - "storageIntegration", - "iamRoleARN", - "roleBasedAuth", - "accessKeyID", - "accessKey", - "accountName", - "accountKey", - "useSASTokens", - "sasToken", - "credentials", - "namespace", - "prefix", - "syncFrequency", - "syncStartAt", - "enableSSE", - "excludeWindow", - "jsonPaths", - "useRudderStorage" - ] - }, - "secretKeys": [ - "password", - "accessKeyID", - "accessKey", - "accountKey", - "sasToken" - ] - } -} \ No newline at end of file diff --git a/data/destinations/snowflake/metadata.json b/data/destinations/snowflake/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/snowflake/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/snowflake/schema.json b/data/destinations/snowflake/schema.json deleted file mode 100644 index e348f208b..000000000 --- a/data/destinations/snowflake/schema.json +++ /dev/null @@ -1,249 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema", - "type": "object", - "required": [ - "account", - "database", - "warehouse", - "user", - "password", - "syncFrequency", - "useRudderStorage" - ], - "properties": { - "account": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - }, - "database": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - }, - "warehouse": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - }, - "user": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - }, - "password": { - "type": "string", - "pattern": "(^env[.].+)|.+" - }, - "namespace": { - "type": "string", - "pattern": "(^env[.].*)|^((?!pg_|PG_|pG_|Pg_).{0,64})$" - }, - "syncFrequency": { - "type": "string", - "pattern": "^(30|60|180|360|720|1440)$", - "default": "30" - }, - "syncStartAt": { - "type": "string" - }, - "excludeWindow": { - "type": "object", - "required": [ - "excludeWindowStartTime", - "excludeWindowEndTime" - ], - "properties": { - "excludeWindowStartTime": { - "type": "string" - }, - "excludeWindowEndTime": { - "type": "string" - } - } - }, - "jsonPaths": { - "type": "string", - "pattern": "(^env[.].*)|.*" - }, - "useRudderStorage": { - "type": "boolean", - "default": false - }, - "cloudProvider": { - "type": "string", - "pattern": "^(AWS|GCP|AZURE)$" - } - }, - "allOf": [ - { - "if": { - "properties": { - "useRudderStorage": { - "const": false - } - }, - "required": [ - "useRudderStorage" - ] - }, - "then": { - "required": [ - "cloudProvider" - ] - } - }, - { - "if": { - "properties": { - "useRudderStorage": { - "const": false - } - }, - "required": [ - "useRudderStorage" - ] - }, - "then": { - "properties": { - "prefix": { - "type": "string", - "pattern": "(^env[.].*)|^(.{0,100})$" - } - } - } - }, - { - "if": { - "properties": { - "cloudProvider": { - "const": "AWS" - }, - "useRudderStorage": { - "const": false - } - }, - "required": [ - "cloudProvider", - "useRudderStorage" - ] - }, - "then": { - "properties": { - "iamRoleARN": { - "type": "string" - }, - "roleBasedAuth": { - "type": "boolean" - }, - "bucketName": { - "type": "string", - "pattern": "(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$" - }, - "accessKeyID": { - "type": "string", - "pattern": "(^env[.].+)|^(.{0,100})$" - }, - "accessKey": { - "type": "string", - "pattern": "(^env[.].+)|^(.{0,100})$" - }, - "enableSSE": { - "type": "boolean" - } - } - } - }, - { - "if": { - "properties": { - "cloudProvider": { - "const": "GCP" - }, - "useRudderStorage": { - "const": false - } - }, - "required": [ - "cloudProvider", - "useRudderStorage" - ] - }, - "then": { - "properties": { - "bucketName": { - "type": "string", - "pattern": "(^env[.].+)|^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$" - }, - "credentials": { - "type": "string", - "pattern": "(^env[.].+)|.+" - }, - "storageIntegration": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - } - } - } - }, - { - "if": { - "properties": { - "cloudProvider": { - "const": "AZURE" - }, - "useRudderStorage": { - "const": false - } - }, - "required": [ - "cloudProvider", - "useRudderStorage" - ] - }, - "then": { - "properties": { - "containerName": { - "type": "string", - "pattern": "(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$" - }, - "accountName": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - }, - "storageIntegration": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - } - }, - "anyOf": [ - { - "properties": { - "accountKey": { - "type": "string", - "pattern": "(^env[.].+)|^(.{1,100})$" - } - }, - "required": [ - "accountKey" - ] - }, - { - "properties": { - "sasToken": { - "type": "string", - "pattern": "(^env[.].+)|^(.+)$" - }, - "useSASTokens": { - "const": true - } - }, - "required": [ - "sasToken", - "useSASTokens" - ] - } - ] - } - } - ], - "additionalProperties": true - } -} \ No newline at end of file diff --git a/data/destinations/snowflake/ui_config.json b/data/destinations/snowflake/ui_config.json deleted file mode 100644 index 5170e6923..000000000 --- a/data/destinations/snowflake/ui_config.json +++ /dev/null @@ -1,538 +0,0 @@ -{ - "uiConfig": [ - { - "title": "1. Connection Credentials", - "fields": [ - { - "type": "textInput", - "label": "Account", - "value": "account", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Account", - "placeholder": "e.g: qya54180.us-east-1", - "required": true - }, - { - "type": "textInput", - "label": "Database", - "value": "database", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Database", - "placeholder": "e.g: RUDDER_EVENTS", - "required": true - }, - { - "type": "textInput", - "label": "Warehouse", - "value": "warehouse", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Database", - "placeholder": "e.g: RUDDER_WAREHOUSE", - "required": true - }, - { - "type": "textInput", - "label": "User", - "value": "user", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid User", - "placeholder": "e.g: RUDDER_USER", - "required": true - }, - { - "type": "textInput", - "label": "Password", - "value": "password", - "regex": ".*", - "placeholder": "e.g: RUDDER_PASSWORD", - "required": true, - "secret": true - }, - { - "type": "textInput", - "label": "Namespace", - "labelNote": "Schema name for the warehouse where the tables are created", - "value": "namespace", - "regex": "^((?!pg_|PG_|pG_|Pg_).{0,64})$", - "regexErrorMessage": "Invalid Namespace", - "required": false, - "placeholder": "e.g: RUDDER_NAMESPACE", - "footerNote": "Default will be the source name" - }, - { - "type": "singleSelect", - "label": "Sync Frequency", - "value": "syncFrequency", - "options": [ - { - "name": "Every 30 minutes", - "value": "30" - }, - { - "name": "Every 1 hour", - "value": "60" - }, - { - "name": "Every 3 hours", - "value": "180" - }, - { - "name": "Every 6 hours", - "value": "360" - }, - { - "name": "Every 12 hours", - "value": "720" - }, - { - "name": "Every 24 hours", - "value": "1440" - } - ], - "defaultOption": { - "name": "Every 30 minutes", - "value": "30" - }, - "required": false - }, - { - "type": "timePicker", - "label": "Sync Starting At (Optional)", - "value": "syncStartAt", - "options": { - "omitSeconds": true, - "minuteStep": 15 - }, - "required": false, - "footerNote": "Note: Please specify time in UTC" - }, - { - "type": "timeRangePicker", - "label": "Exclude window (Optional)", - "value": "excludeWindow", - "startTime": { - "label": "start time", - "value": "excludeWindowStartTime" - }, - "endTime": { - "label": "end time", - "value": "excludeWindowEndTime" - }, - "options": { - "omitSeconds": true, - "minuteStep": 1 - }, - "required": false, - "footerNote": "Note: Please specify time in UTC" - }, - { - "type": "textInput", - "label": "Json columns (Optional)", - "labelNote": "Specify required json properties in dot notation separated by commas", - "value": "jsonPaths", - "regex": "^(.*)$", - "placeholder": "e.g: testMap.nestedMap, testArray", - "required": false, - "footerURL": { - "link": "https://www.rudderstack.com/docs/data-warehouse-integrations/snowflake/#configuring-snowflake-destination-in-rudderstack", - "text": "Instructions for setting up the json columns" - } - } - ] - }, - { - "title": "Object Storage Configuration", - "fields": [ - { - "type": "checkbox", - "label": "Use RudderStack managed object storage", - "value": "useRudderStorage", - "default": false, - "footerNote": "Note: Only available for RudderStack managed data planes" - }, - { - "type": "singleSelect", - "label": "Choose your Cloud", - "value": "cloudProvider", - "options": [ - { - "name": "Amazon Web Services", - "value": "AWS" - }, - { - "name": "Google Cloud Platform", - "value": "GCP" - }, - { - "name": "Microsoft Azure", - "value": "AZURE" - } - ], - "defaultOption": { - "name": "Amazon Web Services", - "value": "AWS" - }, - "required": true, - "preRequisiteField": { - "name": "useRudderStorage", - "selectedValue": false - } - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "cloudProvider", - "selectedValue": "AWS" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "Staging S3 Storage Bucket Name", - "labelNote": "S3 Bucket to store data before loading into Snowflake", - "value": "bucketName", - "regex": "^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$", - "regexErrorMessage": "Invalid Staging S3 Storage Bucket Name", - "placeholder": "e.g: s3-event-logs", - "required": true, - "footerNote": "Please make sure the bucket exists in your S3" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "cloudProvider", - "selectedValue": "GCP" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "Staging GCS Object Storage Bucket Name", - "labelNote": "GCS Bucket to store data before loading into Snowflake", - "value": "bucketName", - "regex": "^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$", - "regexErrorMessage": "Invalid Staging GCS Object Storage Bucket Name", - "required": true, - "placeholder": "e.g: gcs-event-logs", - "footerNote": "Please make sure the bucket exists in your GCS" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "cloudProvider", - "selectedValue": "AZURE" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "Staging Azure Blob Storage Container Name", - "labelNote": "Container to store data before loading into Snowflake", - "value": "containerName", - "regex": "^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$", - "regexErrorMessage": "Invalid Staging Azure Blob Storage Container Name", - "required": true, - "placeholder": "e.g: azure-event-logs", - "footerNote": "Please make sure the container exists in your Azure Blob Storage" - }, - { - "type": "textInput", - "label": "Prefix", - "value": "prefix", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Prefix", - "required": false, - "placeholder": "e.g: rudder", - "preRequisiteField": { - "name": "useRudderStorage", - "selectedValue": false - } - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "cloudProvider", - "selectedValue": "AWS" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "Storage Integration", - "value": "storageIntegration", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Storage Integration", - "placeholder": "e.g: aws_int", - "footerURL": { - "link": "https://docs.snowflake.com/en/user-guide/data-load-s3-config.html#option-1-configuring-a-snowflake-storage-integration", - "text": "Instructions for setting up the integration" - } - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "cloudProvider", - "selectedValue": "GCP" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "Storage Integration", - "value": "storageIntegration", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Storage Integration", - "required": true, - "placeholder": "e.g: gcs_int", - "footerURL": { - "link": "https://docs.snowflake.com/en/user-guide/data-load-gcs-config.html", - "text": "Instructions for setting up the integration" - } - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "cloudProvider", - "selectedValue": "AZURE" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "Storage Integration", - "value": "storageIntegration", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Storage Integration", - "required": true, - "placeholder": "e.g: azure_int", - "footerURL": { - "link": "https://docs.snowflake.com/en/user-guide/data-load-azure-config.html#option-1-configuring-a-snowflake-storage-integration", - "text": "Instructions for setting up the integration" - } - }, - { - "type": "checkbox", - "preRequisiteField": [ - { - "name": "cloudProvider", - "selectedValue": "AWS" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "Role Based Authentication", - "value": "roleBasedAuth", - "default": false - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "cloudProvider", - "selectedValue": "AWS" - }, - { - "name": "useRudderStorage", - "selectedValue": false - }, - { - "name": "roleBasedAuth", - "selectedValue": true - } - ], - "label": "IAM Role ARN", - "value": "iamRoleARN", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Role ARN", - "required": true, - "placeholder": "e.g: arn:aws:iam::123456789012:role/S3Access", - "footerURL": { - "link": "https://www.rudderstack.com/docs/destinations/aws-iam-role-for-rudderstack/", - "text": "Instructions for creating IAM Role" - } - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "cloudProvider", - "selectedValue": "AWS" - }, - { - "name": "useRudderStorage", - "selectedValue": false - }, - { - "name": "roleBasedAuth", - "selectedValue": false - } - ], - "label": "AWS Access Key ID", - "value": "accessKeyID", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid AWS Access Key ID", - "required": true, - "placeholder": "e.g: access-key-id", - "secret": true - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "cloudProvider", - "selectedValue": "AWS" - }, - { - "name": "useRudderStorage", - "selectedValue": false - }, - { - "name": "roleBasedAuth", - "selectedValue": false - } - ], - "label": "AWS Secret Access Key", - "value": "accessKey", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid AWS Secret Access Key", - "required": true, - "placeholder": "e.g: secret-access-key", - "secret": true - }, - { - "type": "checkbox", - "preRequisiteField": [ - { - "name": "cloudProvider", - "selectedValue": "AWS" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "Enable Server Side Encryption For S3?", - "value": "enableSSE", - "default": false - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "cloudProvider", - "selectedValue": "AZURE" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "Azure Blob Storage Account Name", - "value": "accountName", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Azure Blob Storage Account Name", - "required": true, - "placeholder": "e.g: account-name" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "cloudProvider", - "selectedValue": "AZURE" - }, - { - "name": "useRudderStorage", - "selectedValue": false - }, - { - "name": "useSASTokens", - "selectedValue": false - } - ], - "label": "Azure Blob Storage Account Key", - "value": "accountKey", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Azure Blob Storage Account Key", - "required": true, - "secret": true, - "placeholder": "e.g: account-key" - }, - { - "type": "textInput", - "preRequisiteField": [ - { - "name": "cloudProvider", - "selectedValue": "AZURE" - }, - { - "name": "useRudderStorage", - "selectedValue": false - }, - { - "name": "useSASTokens", - "selectedValue": true - } - ], - "label": "Azure Blob Storage SAS Token", - "value": "sasToken", - "regex": "^(.+)$", - "regexErrorMessage": "Invalid Azure Blob Storage SAS Token", - "required": true, - "placeholder": "e.g: sas-token", - "secret": true - }, - { - "type": "checkbox", - "preRequisiteField": [ - { - "name": "cloudProvider", - "selectedValue": "AZURE" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "Use shared access signature (SAS) Tokens", - "value": "useSASTokens", - "default": false, - "footerNote": "Use this to Grant limited access to Azure Storage resources using shared access signatures (SAS)" - }, - { - "type": "textareaInput", - "preRequisiteField": [ - { - "name": "cloudProvider", - "selectedValue": "GCP" - }, - { - "name": "useRudderStorage", - "selectedValue": false - } - ], - "label": "Credentials", - "labelNote": "GCP Service Account credentials JSON for RudderStack to use in loading data into your Google Cloud Storage", - "value": "credentials", - "regex": ".*", - "required": true, - "footerNote": "Create a service account in your GCP Project for RudderStack with roles of 'storage.objectCreator'" - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/splitio/db_config.json b/data/destinations/splitio/db_config.json deleted file mode 100644 index 95dc54c27..000000000 --- a/data/destinations/splitio/db_config.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "SPLITIO", - "displayName": "Split.io", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "reactnative", - "flutter", - "cordova", - "warehouse" - ], - "supportedMessageTypes": [ - "group", - "identify", - "page", - "screen", - "track" - ], - "destConfig": { - "defaultConfig": [ - "apiKey", - "environment", - "trafficType" - ] - }, - "secretKeys": [ - "apiKey" - ] - } -} \ No newline at end of file diff --git a/data/destinations/splitio/metadata.json b/data/destinations/splitio/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/splitio/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/splitio/schema.json b/data/destinations/splitio/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/splitio/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/splitio/ui_config.json b/data/destinations/splitio/ui_config.json deleted file mode 100644 index 49d52946d..000000000 --- a/data/destinations/splitio/ui_config.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "uiConfig": [ - { - "title": "1. Connection Credentials", - "fields": [ - { - "type": "textInput", - "label": "API Key", - "value": "apiKey", - "required": true, - "placeholder": "e.g: 45lgoasdphhsskbsglho22quopat4850glv0", - "secret": true - }, - { - "type": "textInput", - "label": "Environment", - "value": "environment", - "required": false, - "placeholder": "e.g: production", - "secret": false - } - ] - }, - { - "title": "2. Information on Traffic", - "fields": [ - { - "type": "textInput", - "label": "Traffic Type", - "value": "trafficType", - "placeholder": "e.g: user", - "required": true - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/statsig/db_config.json b/data/destinations/statsig/db_config.json deleted file mode 100644 index 55fe0fadd..000000000 --- a/data/destinations/statsig/db_config.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "STATSIG", - "displayName": "Statsig", - "config": { - "transformAt": "router", - "transformAtV1": "router", - "cdkEnabled": true, - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "reactnative", - "flutter", - "cordova", - "warehouse" - ], - "supportedMessageTypes": [ - "alias", - "group", - "identify", - "page", - "screen", - "track" - ], - "destConfig": { - "defaultConfig": [ - "secretKey" - ] - }, - "secretKeys": [ - "secretKey" - ] - } -} \ No newline at end of file diff --git a/data/destinations/statsig/metadata.json b/data/destinations/statsig/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/statsig/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/statsig/schema.json b/data/destinations/statsig/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/statsig/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/statsig/ui_config.json b/data/destinations/statsig/ui_config.json deleted file mode 100644 index d5c40aa59..000000000 --- a/data/destinations/statsig/ui_config.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Secret Key", - "value": "secretKey", - "regex": ".*", - "required": true, - "placeholder": "e.g. secret-tHe5ecr37", - "secret": true - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/tiktok_ads/db_config.json b/data/destinations/tiktok_ads/db_config.json deleted file mode 100644 index ac44bfd74..000000000 --- a/data/destinations/tiktok_ads/db_config.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "name": "TIKTOK_ADS", - "displayName": "TikTok Ads", - "config": { - "transformAt": "router", - "transformAtV1": "router", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "web", - "cloud", - "mobile" - ], - "supportedMessageTypes": [ - "track" - ], - "destConfig": { - "defaultConfig": [ - "accessToken", - "pixelCode", - "hashUserProperties", - "eventsToStandard" - ] - }, - "secretKeys": [ - "accessToken", - "pixelCode" - ] - } -} \ No newline at end of file diff --git a/data/destinations/tiktok_ads/metadata.json b/data/destinations/tiktok_ads/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/tiktok_ads/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/tiktok_ads/schema.json b/data/destinations/tiktok_ads/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/tiktok_ads/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/tiktok_ads/ui_config.json b/data/destinations/tiktok_ads/ui_config.json deleted file mode 100644 index 0271167a8..000000000 --- a/data/destinations/tiktok_ads/ui_config.json +++ /dev/null @@ -1,111 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Access Token", - "value": "accessToken", - "regex": ".*", - "required": true, - "placeholder": "e.g. 1234ac663758946dfea3520b394bbac611b371f7", - "secret": true, - "footerNote": "TikTok Long Term Access Token" - }, - { - "type": "textInput", - "label": "Pixel Code", - "value": "pixelCode", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Pixel Code", - "required": true, - "placeholder": "e.g: A1T8T4UYGVIQA8ORZMX9", - "secret": true, - "footerNote": "Your Pixel Code" - }, - { - "type": "checkbox", - "label": "Hash Contextual User Properties (SHA-256)", - "value": "hashUserProperties", - "default": true, - "footerNote": "To hash user properties like email and phone number using SHA-256. Only applicable for cloud mode." - } - ] - }, - { - "title": "Event Settings", - "fields": [ - { - "type": "dynamicSelectForm", - "label": "Mapping to trigger the TikTok Ads standard events for the respective Events", - "labelLeft": "Event Name", - "labelRight": "Standard Events", - "value": "eventsToStandard", - "keyLeft": "from", - "keyRight": "to", - "required": false, - "placeholderLeft": "e.g: Sign up completed", - "options": [ - { - "name": "Add Payment Info", - "value": "AddPaymentInfo" - }, - { - "name": "Add To Cart", - "value": "AddToCart" - }, - { - "name": "Add To Wishlist", - "value": "AddToWishlist" - }, - { - "name": "Click Button", - "value": "ClickButton" - }, - { - "name": "Complete Payment", - "value": "CompletePayment" - }, - { - "name": "Complete Registration", - "value": "CompleteRegistration" - }, - { - "name": "Contact", - "value": "Contact" - }, - { - "name": "Download", - "value": "Download" - }, - { - "name": "Initiate Checkout", - "value": "InitiateCheckout" - }, - { - "name": "Place An Order", - "value": "PlaceAnOrder" - }, - { - "name": "Search", - "value": "Search" - }, - { - "name": "Submit Form", - "value": "SubmitForm" - }, - { - "name": "Subscribe", - "value": "Subscribe" - }, - { - "name": "View Content", - "value": "ViewContent" - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/trengo/db_config.json b/data/destinations/trengo/db_config.json deleted file mode 100644 index 9a6962360..000000000 --- a/data/destinations/trengo/db_config.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "TRENGO", - "displayName": "Trengo", - "config": { - "transformAt": "router", - "transformAtV1": "router", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "reactnative", - "flutter", - "cordova", - "warehouse" - ], - "supportedMessageTypes": [ - "identify", - "track" - ], - "destConfig": { - "defaultConfig": [ - "apiToken", - "channelId", - "channelIdentifier", - "enableDedup", - "eventTemplateMap" - ] - }, - "secretKeys": [ - "apiToken" - ] - } -} \ No newline at end of file diff --git a/data/destinations/trengo/metadata.json b/data/destinations/trengo/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/trengo/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/trengo/schema.json b/data/destinations/trengo/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/trengo/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/trengo/ui_config.json b/data/destinations/trengo/ui_config.json deleted file mode 100644 index a863e4bf5..000000000 --- a/data/destinations/trengo/ui_config.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "API Token", - "value": "apiToken", - "regex": ".*", - "required": true, - "placeholder": "e.g: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiIxIiwian..", - "secret": true - } - ] - }, - { - "title": "Destination Settings", - "fields": [ - { - "type": "textInput", - "label": "Channel Id", - "value": "channelId", - "regex": ".*", - "required": true, - "placeholder": "e.g: 89002" - }, - { - "type": "singleSelect", - "label": "Channel Identifier", - "value": "channelIdentifier", - "options": [ - { - "name": "Email", - "value": "email" - }, - { - "name": "Phone", - "value": "phone" - } - ], - "defaultOption": { - "name": "Email", - "value": "email" - }, - "required": true - }, - { - "type": "checkbox", - "label": "Enable deduplication for Contacts", - "value": "enableDedup", - "default": true, - "footerNote": "Note: Disabling this field will create a possibility to create duplicate contacts, before disabling it view the destination docs to understand the full implications" - }, - { - "type": "dynamicForm", - "label": "Map events with template", - "labelLeft": "Event Name", - "labelRight": "Event Template", - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g: Product Purchased", - "placeholderRight": "e.g: {{event}} Triggered", - "value": "eventTemplateMap", - "footerNote": "You can map specific events with custom templates. Note:To track events to Trengo adding event name in the key is mandatory. For details please view destination docs." - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/tvsquared/db_config.json b/data/destinations/tvsquared/db_config.json deleted file mode 100644 index 7db7b4596..000000000 --- a/data/destinations/tvsquared/db_config.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name": "TVSQUARED", - "displayName": "TVSquared", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "brandId", - "clientId", - "eventWhiteList", - "customMetrics", - "blacklistedEvents", - "whitelistedEvents", - "oneTrustCookieCategories", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "web" - ], - "destConfig": { - "defaultConfig": [ - "brandId", - "clientId", - "eventWhiteList", - "customMetrics", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [ - "credentials" - ] - } -} \ No newline at end of file diff --git a/data/destinations/tvsquared/metadata.json b/data/destinations/tvsquared/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/tvsquared/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/tvsquared/schema.json b/data/destinations/tvsquared/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/tvsquared/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/user/db_config.json b/data/destinations/user/db_config.json deleted file mode 100644 index d8a0f21f9..000000000 --- a/data/destinations/user/db_config.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "name": "USER", - "displayName": "user.com", - "config": { - "transformAt": "router", - "transformAtV1": "router", - "saveDestinationResponse": true, - "includeKeys": [ - "apiKey", - "appSubdomain", - "userAttributesMapping", - "userEvents", - "rsEventName", - "userEventName", - "eventProperties", - "companyAttributesMapping" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "track", - "identify", - "group", - "page" - ], - "destConfig": { - "defaultConfig": [ - "apiKey", - "appSubdomain", - "userAttributesMapping", - "userEvents", - "rsEventName", - "userEventName", - "eventProperties", - "companyAttributesMapping" - ] - }, - "secretKeys": [ - "apiKey" - ] - } -} \ No newline at end of file diff --git a/data/destinations/user/metadata.json b/data/destinations/user/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/user/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/user/schema.json b/data/destinations/user/schema.json deleted file mode 100644 index b778acd05..000000000 --- a/data/destinations/user/schema.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "apiKey" - ], - "properties": { - "apiKey": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,500})$" - }, - "appSubdomain": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,500})$" - }, - "userAttributesMapping": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "userEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "rsEventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "userEventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "eventProperties": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } - }, - "companyAttributesMapping": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/user/ui_config.json b/data/destinations/user/ui_config.json deleted file mode 100644 index e77247ddf..000000000 --- a/data/destinations/user/ui_config.json +++ /dev/null @@ -1,92 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Public REST API Key", - "value": "apiKey", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid API Key", - "required": true, - "placeholder": "e.g: 1d6583b196d34de28a3g19ahadde4b0z" - }, - { - "type": "textInput", - "label": "Your App Subdomain", - "value": "appSubdomain", - "regex": "^(.{0,500})$", - "regexErrorMessage": "Invalid App Subdomain", - "required": true, - "placeholder": "e.g: commander" - } - ] - }, - { - "title": "Mapping Configurations", - "fields": [ - { - "type": "dynamicForm", - "label": "Map Rudder user attributes to User.com user attributes", - "value": "userAttributesMapping", - "required": false, - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g. userIndustry", - "placeholderRight": "e.g. industry", - "labelLeft": "Rudder Property", - "labelRight": "user.com user attribute" - }, - { - "type": "dynamicCustomForm", - "label": "Map RudderStack event name to User.com event name", - "value": "userEvents", - "customFields": [ - { - "type": "textInput", - "label": "RudderStack Event Name", - "value": "rsEventName", - "regex": "^(.{0,100})$", - "required": false, - "placeholder": "e.g Products Searched", - "footerNote": "Enter the RudderStack event name you want to map" - }, - { - "type": "textInput", - "label": "User.com Event Name", - "value": "userEventName", - "regex": "^(.{0,100})$", - "required": false, - "placeholder": "e.g Search", - "footerNote": "Enter the corresponding User.com event name you want to map" - }, - { - "type": "dynamicForm", - "label": "Map your Event Property", - "value": "eventProperties", - "labelLeft": "RudderStack Property Name", - "labelRight": "User.com Event Attribute Name", - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g firstName", - "placeholderRight": "e.g first_name" - } - ] - }, - { - "type": "dynamicForm", - "label": "Map Rudder company attributes to User.com company attributes", - "value": "companyAttributesMapping", - "required": false, - "keyLeft": "from", - "keyRight": "to", - "placeholderLeft": "e.g. companyCategoty", - "placeholderRight": "e.g. category", - "labelLeft": "Rudder Property", - "labelRight": "user.com company attribute" - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/userlist/db_config.json b/data/destinations/userlist/db_config.json deleted file mode 100644 index 32dd68a45..000000000 --- a/data/destinations/userlist/db_config.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "USERLIST", - "displayName": "Userlist", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "cdkEnabled": true, - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "group", - "identify", - "track" - ], - "destConfig": { - "defaultConfig": [ - "pushKey" - ] - }, - "secretKeys": [ - "pushKey" - ] - } -} \ No newline at end of file diff --git a/data/destinations/userlist/metadata.json b/data/destinations/userlist/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/userlist/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/userlist/schema.json b/data/destinations/userlist/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/userlist/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/userlist/ui_config.json b/data/destinations/userlist/ui_config.json deleted file mode 100644 index 00a8ec56c..000000000 --- a/data/destinations/userlist/ui_config.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Userlist Push Key", - "value": "pushKey", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Userlist Push Key", - "required": true, - "placeholder": "e.g: sk_UuCIkdGmSnN4OaBCCFOuJaBcb3O2wD8S" - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/variance/db_config.json b/data/destinations/variance/db_config.json deleted file mode 100644 index b3d1fc95a..000000000 --- a/data/destinations/variance/db_config.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "VARIANCE", - "displayName": "Variance", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "cdkEnabled": true, - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "reactnative", - "flutter", - "cordova", - "warehouse" - ], - "destConfig": { - "defaultConfig": [ - "webhookUrl", - "authHeader" - ] - }, - "secretKeys": [ - "authHeader" - ] - } -} \ No newline at end of file diff --git a/data/destinations/variance/metadata.json b/data/destinations/variance/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/variance/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/variance/schema.json b/data/destinations/variance/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/destinations/variance/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/destinations/variance/ui_config.json b/data/destinations/variance/ui_config.json deleted file mode 100644 index c47472a94..000000000 --- a/data/destinations/variance/ui_config.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Webhook URL", - "value": "webhookUrl", - "required": true, - "placeholder": "https://your-org.variance.com", - "regex": "^(?!.*\\.ngrok\\.io).*" - }, - { - "type": "textInput", - "label": "Authorization Header Value", - "value": "authHeader", - "required": true, - "placeholder": "", - "regex": ".*", - "secret": true - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/vero/db_config.json b/data/destinations/vero/db_config.json deleted file mode 100644 index e25e98a8d..000000000 --- a/data/destinations/vero/db_config.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "name": "VERO", - "displayName": "Vero", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "apiKey", - "authToken", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption", - "oneTrustCookieCategories" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "amp", - "android", - "cordova", - "cloud", - "flutter", - "ios", - "reactnative", - "unity", - "warehouse", - "web" - ], - "supportedMessageTypes": [ - "identify", - "track", - "page", - "screen", - "alias" - ], - "destConfig": { - "defaultConfig": [ - "authToken", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "web": [ - "apiKey", - "useNativeSDK", - "oneTrustCookieCategories" - ] - } - } -} \ No newline at end of file diff --git a/data/destinations/vero/metadata.json b/data/destinations/vero/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/vero/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/vero/schema.json b/data/destinations/vero/schema.json deleted file mode 100644 index 029a8cbb9..000000000 --- a/data/destinations/vero/schema.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [], - "properties": { - "apiKey": { - "type": "object", - "properties": { - "web": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - }, - "authToken": { - "type": "string" - }, - "whitelistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "blacklistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "useNativeSDK": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "oneTrustCookieCategories": { - "type": "object", - "properties": { - "web": { - "type": "array", - "items": { - "type": "object", - "properties": { - "oneTrustCookieCategory": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/vwo/db_config.json b/data/destinations/vwo/db_config.json deleted file mode 100644 index 57ab58605..000000000 --- a/data/destinations/vwo/db_config.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "name": "VWO", - "displayName": "VWO", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [ - "accountId", - "isSPA", - "sendExperimentTrack", - "sendExperimentIdentify", - "libraryTolerance", - "settingsTolerance", - "useExistingJquery", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "web" - ], - "destConfig": { - "defaultConfig": [ - "accountId", - "isSPA", - "sendExperimentTrack", - "sendExperimentIdentify", - "libraryTolerance", - "settingsTolerance", - "useExistingJquery", - "blacklistedEvents", - "whitelistedEvents", - "eventFilteringOption" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ] - }, - "secretKeys": [] - } -} \ No newline at end of file diff --git a/data/destinations/vwo/metadata.json b/data/destinations/vwo/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/vwo/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/vwo/schema.json b/data/destinations/vwo/schema.json deleted file mode 100644 index a3dbc566f..000000000 --- a/data/destinations/vwo/schema.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "accountId" - ], - "properties": { - "accountId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "isSPA": { - "type": "boolean" - }, - "sendExperimentTrack": { - "type": "boolean" - }, - "sendExperimentIdentify": { - "type": "boolean" - }, - "libraryTolerance": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "settingsTolerance": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "useExistingJquery": { - "type": "boolean" - }, - "eventFilteringOption": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(^(disable|whitelistedEvents|blacklistedEvents)$)" - }, - "whitelistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "blacklistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "useNativeSDK": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "oneTrustCookieCategories": { - "type": "object", - "properties": { - "web": { - "type": "array", - "items": { - "type": "object", - "properties": { - "oneTrustCookieCategory": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/webengage/db_config.json b/data/destinations/webengage/db_config.json deleted file mode 100644 index fc3a9a6f9..000000000 --- a/data/destinations/webengage/db_config.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "WEBENGAGE", - "displayName": "WebEngage", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "web", - "cloud", - "mobile", - "android", - "ios", - "unity", - "amp", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "identify", - "track", - "page", - "screen" - ], - "destConfig": { - "defaultConfig": [ - "licenseCode", - "apiKey", - "dataCenter" - ] - } - } -} \ No newline at end of file diff --git a/data/destinations/webengage/metadata.json b/data/destinations/webengage/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/webengage/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/webengage/schema.json b/data/destinations/webengage/schema.json deleted file mode 100644 index a9ba2302a..000000000 --- a/data/destinations/webengage/schema.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "licenseCode", - "apiKey", - "dataCenter" - ], - "properties": { - "licenseCode": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "apiKey": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "dataCenter": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(standard|ind)$" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/webengage/ui_config.json b/data/destinations/webengage/ui_config.json deleted file mode 100644 index c5c1225ce..000000000 --- a/data/destinations/webengage/ui_config.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "License Code", - "value": "licenseCode", - "regex": "^(.{1,100})$", - "required": true, - "placeholder": "e.g. b4a29aba", - "secret": true - }, - { - "type": "textInput", - "label": "Api Key", - "value": "apiKey", - "regex": "^(.{1,100})$", - "required": true, - "placeholder": "e.g. b4a29aba17jmbad7b6c1a5asjghj", - "secret": true - }, - { - "type": "singleSelect", - "label": "Data Center", - "value": "dataCenter", - "options": [ - { - "name": "Standard", - "value": "standard" - }, - { - "name": "IND", - "value": "ind" - } - ], - "defaultOption": { - "name": "Standard", - "value": "standard" - } - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/webhook/db_config.json b/data/destinations/webhook/db_config.json deleted file mode 100644 index 68793b1c5..000000000 --- a/data/destinations/webhook/db_config.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "WEBHOOK", - "displayName": "Webhook", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": false, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "destConfig": { - "defaultConfig": [ - "webhookUrl", - "webhookMethod", - "headers" - ] - }, - "secretKeys": [ - "headers.to" - ] - } -} \ No newline at end of file diff --git a/data/destinations/webhook/metadata.json b/data/destinations/webhook/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/webhook/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/woopra/db_config.json b/data/destinations/woopra/db_config.json deleted file mode 100644 index 77f1ae0b9..000000000 --- a/data/destinations/woopra/db_config.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "name": "WOOPRA", - "displayName": "WOOPRA", - "config": { - "transformAt": "router", - "transformAtV1": "router", - "saveDestinationResponse": true, - "includeKeys": [ - "projectName", - "cookieName", - "cookiePath", - "cookieDomain", - "clickTracking", - "downloadTracking", - "hideCampaign", - "idleTimeout", - "ignoreQueryUrl", - "outgoingIgnoreSubdomain", - "outgoingTracking", - "whitelistedEvents", - "blacklistedEvents", - "eventFilteringOption" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "reactnative", - "flutter", - "cordova", - "warehouse" - ], - "supportedMessageTypes": [ - "identify", - "track", - "page" - ], - "destConfig": { - "defaultConfig": [ - "projectName", - "cookieName", - "cookiePath", - "cookieDomain", - "clickTracking", - "downloadTracking", - "hideCampaign", - "idleTimeout", - "ignoreQueryUrl", - "outgoingIgnoreSubdomain", - "outgoingTracking", - "whitelistedEvents", - "blacklistedEvents", - "eventFilteringOption" - ], - "web": [ - "useNativeSDK", - "oneTrustCookieCategories" - ] - } - } -} \ No newline at end of file diff --git a/data/destinations/woopra/metadata.json b/data/destinations/woopra/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/woopra/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/woopra/schema.json b/data/destinations/woopra/schema.json deleted file mode 100644 index af3f33983..000000000 --- a/data/destinations/woopra/schema.json +++ /dev/null @@ -1,94 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "projectName" - ], - "properties": { - "projectName": { - "type": "string", - "pattern": "^(([a-z0-9]+[.])+[a-z]{1,})$" - }, - "cookieName": { - "type": "string" - }, - "cookieDomain": { - "type": "string" - }, - "clickTracking": { - "type": "boolean" - }, - "cookiePath": { - "type": "string" - }, - "downloadTracking": { - "type": "boolean" - }, - "hideCampaign": { - "type": "boolean" - }, - "idleTimeout": { - "type": "string" - }, - "ignoreQueryUrl": { - "type": "boolean" - }, - "outgoingIgnoreSubdomain": { - "type": "boolean" - }, - "outgoingTracking": { - "type": "boolean" - }, - "whitelistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "blacklistedEvents": { - "type": "array", - "items": { - "type": "object", - "properties": { - "eventName": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "useNativeSDK": { - "type": "object", - "properties": { - "web": { - "type": "boolean" - } - } - }, - "oneTrustCookieCategories": { - "type": "object", - "properties": { - "web": { - "type": "array", - "items": { - "type": "object", - "properties": { - "oneTrustCookieCategory": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/wootric/db_config.json b/data/destinations/wootric/db_config.json deleted file mode 100644 index 54ecef39d..000000000 --- a/data/destinations/wootric/db_config.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "WOOTRIC", - "displayName": "Wootric", - "config": { - "transformAt": "router", - "transformAtV1": "router", - "saveDestinationResponse": true, - "includeKeys": [ - "username", - "password", - "accountToken" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "reactnative", - "flutter", - "cordova", - "warehouse" - ], - "supportedMessageTypes": [ - "identify", - "track" - ], - "destConfig": { - "defaultConfig": [ - "username", - "password", - "accountToken" - ] - }, - "secretKeys": [ - "password", - "accountToken" - ] - } -} \ No newline at end of file diff --git a/data/destinations/wootric/metadata.json b/data/destinations/wootric/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/wootric/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/wootric/schema.json b/data/destinations/wootric/schema.json deleted file mode 100644 index c9dc07325..000000000 --- a/data/destinations/wootric/schema.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "username", - "password", - "accountToken" - ], - "properties": { - "username": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "password": { - "type": "string", - "pattern": "(^env[.].+)|.+" - }, - "accountToken": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/wootric/ui_config.json b/data/destinations/wootric/ui_config.json deleted file mode 100644 index 77ad56106..000000000 --- a/data/destinations/wootric/ui_config.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Username", - "value": "username", - "regex": "^(.{1,100})$", - "regexErrorMessage": "Invalid User", - "required": true, - "placeholder": "e.g. test@gmail.com", - "secret": false - }, - { - "type": "textInput", - "label": "Password", - "value": "password", - "regex": ".*", - "required": true, - "placeholder": "e.g. password@123", - "secret": true - }, - { - "type": "textInput", - "label": "Account Token", - "value": "accountToken", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Account Token", - "required": true, - "placeholder": "e.g. NPS-123456", - "secret": true - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/yahoo_dsp/db_config.json b/data/destinations/yahoo_dsp/db_config.json deleted file mode 100644 index 33e73d35c..000000000 --- a/data/destinations/yahoo_dsp/db_config.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "YAHOO_DSP", - "displayName": "Yahoo DSP", - "config": { - "transformAt": "router", - "transformAtV1": "router", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "cloud", - "warehouse" - ], - "syncBehaviours": [], - "supportedMessageTypes": [ - "audiencelist" - ], - "destConfig": { - "defaultConfig": [ - "clientId", - "clientSecret", - "audienceId", - "accountId", - "audienceType", - "hashRequired", - "seedListType" - ] - }, - "secretKeys": [ - "clientId", - "clientSecret" - ] - } -} \ No newline at end of file diff --git a/data/destinations/yahoo_dsp/metadata.json b/data/destinations/yahoo_dsp/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/yahoo_dsp/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/yahoo_dsp/schema.json b/data/destinations/yahoo_dsp/schema.json deleted file mode 100644 index 077a8da56..000000000 --- a/data/destinations/yahoo_dsp/schema.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "clientId", - "clientSecret", - "audienceId", - "accountId" - ], - "properties": { - "clientId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "clientSecret": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" - }, - "audienceId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$" - }, - "accountId": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$" - }, - "audienceType": { - "type": "string", - "pattern": "^(EMAIL|DEVICE_ID|IP_ADDRESS)$" - }, - "seedListType": { - "type": "string", - "pattern": "^(GPADVID|IDFA)$" - }, - "hashRequired": { - "type": "boolean" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/yahoo_dsp/ui_config.json b/data/destinations/yahoo_dsp/ui_config.json deleted file mode 100644 index 73d1cc18b..000000000 --- a/data/destinations/yahoo_dsp/ui_config.json +++ /dev/null @@ -1,126 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Client Id", - "value": "clientId", - "regex": "^(.{1,100})$", - "regexErrorMessage": "Invalid Client Id", - "required": true, - "placeholder": "e.g. b05ebeb8-a223-3cd6-z4c5-9512d3d66d431", - "secret": true, - "footerNote": "Put your Client Id here, it will be used for generating access token." - }, - { - "type": "textInput", - "label": "Client Secret", - "value": "clientSecret", - "regex": "^(.{1,100})$", - "regexErrorMessage": "Invalid Client Secret", - "required": true, - "placeholder": "e.g: XpewiPsz3yc9LrADR43f9h53jADLccXTykHCcA6eEoFR4rXQ", - "secret": true, - "footerNote": "Put your Client Secret here, it will be used for generating access token." - } - ] - }, - { - "title": "Account Setting", - "fields": [ - { - "type": "textInput", - "label": "Account Id", - "value": "accountId", - "regex": "^[0-9]+$", - "regexErrorMessage": "Invalid Account Id", - "required": true, - "placeholder": "e.g. 84223", - "secret": false, - "footerNote": "Your Account Id" - } - ] - }, - { - "title": "Audience Settings", - "fields": [ - { - "type": "singleSelect", - "label": "Audience Type", - "value": "audienceType", - "required": true, - "placeholder": "Email", - "options": [ - { - "name": "Email", - "value": "EMAIL" - }, - { - "name": "Device Id", - "value": "DEVICE_ID" - }, - { - "name": "IP Address", - "value": "IP_ADDRESS" - } - ], - "defaultOption": { - "name": "Email", - "value": "EMAIL" - } - }, - { - "type": "singleSelect", - "label": "Seed List Type", - "value": "seedListType", - "required": true, - "placeholder": "Google (GPADVID)", - "options": [ - { - "name": "Google (GPADVID)", - "value": "GPADVID" - }, - { - "name": "Apple (IDFA)", - "value": "IDFA" - } - ], - "defaultOption": { - "name": "Google (GPADVID)", - "value": "GPADVID" - }, - "preRequisiteField": { - "name": "audienceType", - "selectedValue": "DEVICE_ID" - }, - "footerNote": "Your device type" - }, - { - "type": "textInput", - "label": "Audience Id", - "value": "audienceId", - "regex": "^[0-9]+$", - "regexErrorMessage": "Invalid Audience Id", - "required": true, - "placeholder": "e.g. 53213445", - "secret": false, - "footerNote": "The audience id of the audience to which you want to sync the data" - } - ] - }, - { - "title": "Event Setting", - "fields": [ - { - "type": "checkbox", - "label": "Hash Required", - "value": "hashRequired", - "default": true, - "footerNote": "Toggle it off if hashing is not required" - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/zapier/db_config.json b/data/destinations/zapier/db_config.json deleted file mode 100644 index 7aa4fae9f..000000000 --- a/data/destinations/zapier/db_config.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "name": "ZAPIER", - "displayName": "Zapier", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "cdkEnabled": true, - "includeKeys": [ - "zapUrl", - "trackEventsToZap", - "pageScreenEventsToZap" - ], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "reactnative", - "flutter", - "cordova", - "warehouse" - ], - "supportedMessageTypes": [ - "track", - "page", - "screen" - ], - "destConfig": { - "defaultConfig": [ - "zapUrl", - "trackEventsToZap", - "pageScreenEventsToZap" - ] - }, - "secretKeys": [ - "zapUrl" - ] - } -} \ No newline at end of file diff --git a/data/destinations/zapier/metadata.json b/data/destinations/zapier/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/zapier/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/zapier/schema.json b/data/destinations/zapier/schema.json deleted file mode 100644 index ffaef5204..000000000 --- a/data/destinations/zapier/schema.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "required": [ - "zapUrl" - ], - "properties": { - "zapUrl": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,100})$" - }, - "trackEventsToZap": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - }, - "pageScreenEventsToZap": { - "type": "array", - "items": { - "type": "object", - "properties": { - "from": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "to": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - } - } - } - } - } - } -} \ No newline at end of file diff --git a/data/destinations/zapier/ui_config.json b/data/destinations/zapier/ui_config.json deleted file mode 100644 index 175d9ddc6..000000000 --- a/data/destinations/zapier/ui_config.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Zap URL", - "value": "zapUrl", - "regex": "(?!.*\\.ngrok\\.io)^(.{1,100})$", - "regexErrorMessage": "Invalid Zap URL", - "required": true, - "placeholder": "e.g. https://hooks.zapier.com/hooks/catch/123456/abcdefg/", - "secret": true, - "footerNote": "Enter the ZAP URL where all your events should go" - }, - { - "type": "dynamicForm", - "label": "Mapping Track Events to a particular Zap", - "labelLeft": "Event Name", - "labelRight": "Zap URL", - "keyLeft": "from", - "keyRight": "to", - "required": false, - "placeholderLeft": "e.g: Submit", - "placeholderRight": "e.g: https://hooks.zapier.com/hooks/catch/123456/abcdefg/", - "value": "trackEventsToZap", - "footerNote": "Enter the Track events to be sent to the specified ZAP URL" - }, - { - "type": "dynamicForm", - "label": "Mapping Page/Screen Events to a particular Zap", - "labelLeft": "Event Name", - "labelRight": "Zap URL", - "keyLeft": "from", - "keyRight": "to", - "required": false, - "placeholderLeft": "e.g: Submit", - "placeholderRight": "e.g: https://hooks.zapier.com/hooks/catch/123456/abcdefg/", - "value": "pageScreenEventsToZap", - "footerNote": "Enter the Page or Screen events to be sent to the specified ZAP URL" - } - ] - } - ] -} \ No newline at end of file diff --git a/data/destinations/zendesk/db_config.json b/data/destinations/zendesk/db_config.json deleted file mode 100644 index bb6f3958f..000000000 --- a/data/destinations/zendesk/db_config.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "ZENDESK", - "displayName": "Zendesk", - "config": { - "transformAt": "processor", - "transformAtV1": "processor", - "saveDestinationResponse": true, - "includeKeys": [], - "excludeKeys": [], - "supportedSourceTypes": [ - "android", - "ios", - "web", - "unity", - "amp", - "cloud", - "warehouse", - "reactnative", - "flutter", - "cordova" - ], - "supportedMessageTypes": [ - "group", - "identify", - "track" - ], - "destConfig": { - "defaultConfig": [ - "email", - "apiToken", - "domain", - "createUsersAsVerified", - "sendGroupCallsWithoutUserId", - "removeUsersFromOrganization", - "searchByExternalId" - ] - }, - "secretKeys": [ - "apiToken" - ] - } -} \ No newline at end of file diff --git a/data/destinations/zendesk/metadata.json b/data/destinations/zendesk/metadata.json deleted file mode 100644 index 0384fb118..000000000 --- a/data/destinations/zendesk/metadata.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "connectionMode": { - "cloud-mode": true, - "device-mode": [ - "web", - "android" - ] - }, - "supportedMethods": { - "cloud-mode": [ - "track", - "identify" - ], - "device-mode": { - "web": [ - "track", - "identify" - ] - } - }, - "releaseStatus": "beta", - "sourceCode": { - "android": { - "github": "", - "version": "v1.0.0" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/zendesk/schema.json b/data/destinations/zendesk/schema.json deleted file mode 100644 index 07bd92bb4..000000000 --- a/data/destinations/zendesk/schema.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "configSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "additionalProperties": false, - "required": [ - "email", - "apiToken", - "domain" - ], - "properties": { - "email": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "apiToken": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "domain": { - "type": "string", - "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" - }, - "createUsersAsVerified": { - "type": "boolean" - }, - "sendGroupCallsWithoutUserId": { - "type": "boolean" - }, - "removeUsersFromOrganization": { - "type": "boolean" - }, - "searchByExternalId": { - "type": "boolean" - } - } - } -} \ No newline at end of file diff --git a/data/destinations/zendesk/ui_config.json b/data/destinations/zendesk/ui_config.json deleted file mode 100644 index c54fa67f9..000000000 --- a/data/destinations/zendesk/ui_config.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Settings", - "fields": [ - { - "type": "textInput", - "label": "Email", - "value": "email", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Email Address", - "required": true, - "placeholder": "e.g: abc@xyz.com" - }, - { - "type": "textInput", - "label": "API Token", - "value": "apiToken", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid API Token", - "required": true, - "placeholder": "API Token for Zendesk login", - "secret": true - }, - { - "type": "textInput", - "label": "Zendesk Subdomain", - "value": "domain", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Zendesk Subdomain", - "required": true, - "placeholder": "Subdomain only not including .zendesk.com" - }, - { - "type": "checkbox", - "label": "Create users as verified", - "value": "createUsersAsVerified", - "default": false - }, - { - "type": "checkbox", - "label": "Send Group Calls without User ID", - "value": "sendGroupCallsWithoutUserId", - "default": false - }, - { - "type": "checkbox", - "label": "Enable Removing Users from Organizations", - "value": "removeUsersFromOrganization", - "default": false - }, - { - "type": "checkbox", - "label": "Update user's primary email", - "value": "searchByExternalId", - "default": false, - "footerNote": "If enabled, RudderStack sets the email in the event as the user's primary email in Zendesk, replacing the previous primary email. Otherwise, it is set as the secondary email, if any primary email exists." - } - ] - } - ] -} \ No newline at end of file diff --git a/data/sources/GainsightPX/metadata.json b/data/sources/GainsightPX/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/GainsightPX/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/GainsightPX/schema.json b/data/sources/GainsightPX/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/GainsightPX/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/GainsightPX/ui_config.json b/data/sources/GainsightPX/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/GainsightPX/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/active_campaign/db_config.json b/data/sources/active_campaign/db_config.json deleted file mode 100644 index 3c644f271..000000000 --- a/data/sources/active_campaign/db_config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "active_campaign", - "category": "cloud", - "displayName": "Active campaign" -} \ No newline at end of file diff --git a/data/sources/active_campaign/metadata.json b/data/sources/active_campaign/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/active_campaign/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/active_campaign/schema.json b/data/sources/active_campaign/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/active_campaign/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/active_campaign/ui_config.json b/data/sources/active_campaign/ui_config.json deleted file mode 100644 index c345a3bc2..000000000 --- a/data/sources/active_campaign/ui_config.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "uiConfig": { - "auth": { - "type": "form", - "secretFields": [ - "apiKey" - ], - "nameField": "rudder_account_name", - "config": [ - { - "fields": [ - { - "type": "textInput", - "label": "Account Name", - "value": "rudder_account_name", - "regex": ".*", - "required": true, - "placeholder": "e.g: account name" - }, - { - "type": "textInput", - "label": "URL", - "value": "url", - "placeholder": "e.g https://rudderstack.api-us1.com", - "required": true - }, - { - "type": "textInput", - "label": "API Key", - "value": "apiKey", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true - } - ] - } - ] - } - } -} \ No newline at end of file diff --git a/data/sources/amp/db_config.json b/data/sources/amp/db_config.json deleted file mode 100644 index d20b80d28..000000000 --- a/data/sources/amp/db_config.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "AMP", - "displayName": "AMP" -} \ No newline at end of file diff --git a/data/sources/amp/metadata.json b/data/sources/amp/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/amp/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/amp/schema.json b/data/sources/amp/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/amp/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/amp/ui_config.json b/data/sources/amp/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/amp/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/android/db_config.json b/data/sources/android/db_config.json deleted file mode 100644 index 37131906d..000000000 --- a/data/sources/android/db_config.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Android", - "displayName": "Android" -} \ No newline at end of file diff --git a/data/sources/android/metadata.json b/data/sources/android/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/android/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/android/schema.json b/data/sources/android/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/android/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/android/ui_config.json b/data/sources/android/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/android/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/appcenter/db_config.json b/data/sources/appcenter/db_config.json deleted file mode 100644 index 6416270e5..000000000 --- a/data/sources/appcenter/db_config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Appcenter", - "category": "webhook", - "displayName": "App Center" -} \ No newline at end of file diff --git a/data/sources/appcenter/metadata.json b/data/sources/appcenter/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/appcenter/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/appcenter/schema.json b/data/sources/appcenter/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/appcenter/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/appcenter/ui_config.json b/data/sources/appcenter/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/appcenter/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/appsflyer/db_config.json b/data/sources/appsflyer/db_config.json deleted file mode 100644 index d18f5fafe..000000000 --- a/data/sources/appsflyer/db_config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "appsflyer", - "category": "webhook", - "displayName": "AppsFlyer" -} \ No newline at end of file diff --git a/data/sources/appsflyer/metadata.json b/data/sources/appsflyer/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/appsflyer/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/appsflyer/schema.json b/data/sources/appsflyer/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/appsflyer/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/appsflyer/ui_config.json b/data/sources/appsflyer/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/appsflyer/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/auth0/db_config.json b/data/sources/auth0/db_config.json deleted file mode 100644 index 46e0682a3..000000000 --- a/data/sources/auth0/db_config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Auth0", - "category": "webhook", - "displayName": "Auth0" -} \ No newline at end of file diff --git a/data/sources/auth0/metadata.json b/data/sources/auth0/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/auth0/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/auth0/schema.json b/data/sources/auth0/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/auth0/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/auth0/ui_config.json b/data/sources/auth0/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/auth0/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/bigquery/db_config.json b/data/sources/bigquery/db_config.json deleted file mode 100644 index 52bbfcc9f..000000000 --- a/data/sources/bigquery/db_config.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "bigquery", - "category": "warehouse", - "displayName": "BigQuery", - "options": { - "syncBehaviours": [ - "upsert", - "mirror" - ], - "isSqlModelSupported": true, - "isAudienceSupported": true - } -} \ No newline at end of file diff --git a/data/sources/bigquery/metadata.json b/data/sources/bigquery/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/bigquery/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/bigquery/schema.json b/data/sources/bigquery/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/bigquery/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/bigquery/ui_config.json b/data/sources/bigquery/ui_config.json deleted file mode 100644 index 8779de06a..000000000 --- a/data/sources/bigquery/ui_config.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Credentials", - "secretFields": [ - "credentials" - ], - "docLinks": { - "grantPermissions": "https://docs.rudderstack.com/reverse-etl/google-bigquery/#granting-permissions", - "verifyingCredentials": "https://docs.rudderstack.com/reverse-etl/google-bigquery/#what-do-the-three-validations-under-verifying-credentials-imply", - "jsonMapperUseInstructions": "https://docs.rudderstack.com/reverse-etl/google-bigquery/#specifying-the-data-to-import", - "setupInstructions": "https://docs.rudderstack.com/reverse-etl/google-bigquery" - }, - "schemaAlias": "Dataset", - "nameField": "project", - "fields": [ - { - "type": "textareaInput", - "subType": "JSON", - "label": "Credentials", - "labelNote": "GCP Service Account credentials JSON for RudderStack to use in loading data into your BigQuery database", - "value": "credentials", - "regex": ".*", - "required": true, - "secret": true - }, - { - "type": "textInput", - "label": "Project ID", - "labelNote": "GCP Project ID where your BigQuery database is located.", - "value": "project", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true, - "infoTooltip": "Inferred from project_id field in the credentials settings.", - "addInAccountSummary": true, - "readOnly": true, - "obtainValueFromField": { - "name": "credentials", - "key": "project_id" - } - }, - { - "type": "textInput", - "label": "Service account", - "value": "serviceAccount", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Email Address", - "required": true, - "infoTooltip": "Inferred from client_email field in the credentials settings.", - "addInAccountSummary": true, - "readOnly": true, - "obtainValueFromField": { - "name": "credentials", - "key": "client_email" - } - } - ] - } - ] -} \ No newline at end of file diff --git a/data/sources/bing_ads/db_config.json b/data/sources/bing_ads/db_config.json deleted file mode 100644 index 175f33fe6..000000000 --- a/data/sources/bing_ads/db_config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "bing_ads", - "category": "cloud", - "displayName": "Bing ads" -} \ No newline at end of file diff --git a/data/sources/bing_ads/metadata.json b/data/sources/bing_ads/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/bing_ads/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/bing_ads/schema.json b/data/sources/bing_ads/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/bing_ads/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/bing_ads/ui_config.json b/data/sources/bing_ads/ui_config.json deleted file mode 100644 index bc89fa69c..000000000 --- a/data/sources/bing_ads/ui_config.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "uiConfig": { - "auth": { - "type": "OAuth" - }, - "config": [ - { - "title": "Source Settings", - "fields": [ - { - "type": "dynamicSelect", - "method": "post", - "url": "/cloudSources/info/roles/bing_ads/info/accounts", - "label": "Customer Account", - "value": "customerAccountId", - "responseKey": "accounts", - "valueKey": "accountId", - "labelKey": "accountName", - "required": true - }, - { - "type": "dynamicSelect", - "method": "get", - "url": "/cloudSources/info/roles/bing_ads/info/reports", - "label": "Report Name", - "value": "report.name", - "responseKey": "reports", - "required": true - }, - { - "type": "dynamicSelect", - "method": "get", - "url": "/cloudSources/info/roles/bing_ads/info/columns/${preRequisiteValue}", - "label": "Report Columns", - "value": "report.columns", - "multiple": true, - "responseKey": "columns", - "valueKey": "name", - "labelKey": "name", - "required": true, - "mode": "multiple", - "preRequisiteField": { - "name": "report.name", - "includeValue": true - } - } - ] - } - ] - } -} \ No newline at end of file diff --git a/data/sources/braze/db_config.json b/data/sources/braze/db_config.json deleted file mode 100644 index cfe3c6d5a..000000000 --- a/data/sources/braze/db_config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Braze", - "category": "webhook", - "displayName": "Braze" -} \ No newline at end of file diff --git a/data/sources/braze/metadata.json b/data/sources/braze/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/braze/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/braze/schema.json b/data/sources/braze/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/braze/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/braze/ui_config.json b/data/sources/braze/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/braze/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/canny/db_config.json b/data/sources/canny/db_config.json deleted file mode 100644 index 0682bee75..000000000 --- a/data/sources/canny/db_config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "canny", - "category": "webhook", - "displayName": "Canny" -} \ No newline at end of file diff --git a/data/sources/canny/metadata.json b/data/sources/canny/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/canny/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/canny/schema.json b/data/sources/canny/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/canny/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/canny/ui_config.json b/data/sources/canny/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/canny/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/clickhouse/db_config.json b/data/sources/clickhouse/db_config.json deleted file mode 100644 index 0e4dd6554..000000000 --- a/data/sources/clickhouse/db_config.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "clickhouse", - "category": "warehouse", - "displayName": "ClickHouse", - "options": { - "isCredentialsValidationSupported": true - } -} \ No newline at end of file diff --git a/data/sources/clickhouse/metadata.json b/data/sources/clickhouse/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/clickhouse/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/clickhouse/schema.json b/data/sources/clickhouse/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/clickhouse/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/clickhouse/ui_config.json b/data/sources/clickhouse/ui_config.json deleted file mode 100644 index 11bd8a569..000000000 --- a/data/sources/clickhouse/ui_config.json +++ /dev/null @@ -1,94 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Credentials", - "secretFields": [ - "password" - ], - "docLinks": { - "jsonMapperUseInstructions": "https://docs.rudderstack.com/reverse-etl/clickhouse/#specifying-the-data-to-import", - "setupInstructions": "https://docs.rudderstack.com/reverse-etl/clickhouse" - }, - "nameField": "user", - "fields": [ - { - "type": "textInput", - "label": "Host", - "value": "host", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true, - "addInAccountSummary": true, - "trim": true - }, - { - "type": "textInput", - "label": "Port", - "inputFieldType": "number", - "value": "port", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true - }, - { - "type": "textInput", - "label": "Database", - "value": "dbname", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true, - "addInAccountSummary": true, - "trim": true - }, - { - "type": "textInput", - "label": "User", - "value": "user", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true, - "trim": true - }, - { - "type": "textInput", - "label": "Password", - "value": "password", - "inputFieldType": "password", - "regex": ".*", - "required": false, - "secret": true - }, - { - "type": "checkbox", - "label": "Secure", - "value": "secure", - "default": false - }, - { - "type": "checkbox", - "preRequisiteField": { - "name": "secure", - "selectedValue": true - }, - "label": "Skip verify", - "value": "skipVerify", - "default": false, - "footerNote": "If you are using self signed certificates set this field to true" - }, - { - "type": "textareaInput", - "preRequisiteField": { - "name": "secure", - "selectedValue": true - }, - "label": "CA certificate", - "value": "caCertificate", - "regex": ".*", - "required": false, - "placeholder": "CA Certificate", - "trim": true - } - ] - } - ] -} \ No newline at end of file diff --git a/data/sources/cordova/db_config.json b/data/sources/cordova/db_config.json deleted file mode 100644 index 212ebbe8e..000000000 --- a/data/sources/cordova/db_config.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Cordova", - "displayName": "Cordova" -} \ No newline at end of file diff --git a/data/sources/cordova/metadata.json b/data/sources/cordova/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/cordova/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/cordova/schema.json b/data/sources/cordova/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/cordova/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/cordova/ui_config.json b/data/sources/cordova/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/cordova/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/customerio/db_config.json b/data/sources/customerio/db_config.json deleted file mode 100644 index daef2ecc6..000000000 --- a/data/sources/customerio/db_config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Customerio", - "category": "webhook", - "displayName": "Customerio" -} \ No newline at end of file diff --git a/data/sources/customerio/metadata.json b/data/sources/customerio/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/customerio/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/customerio/schema.json b/data/sources/customerio/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/customerio/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/customerio/ui_config.json b/data/sources/customerio/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/customerio/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/databricks/db_config.json b/data/sources/databricks/db_config.json deleted file mode 100644 index ba66a5222..000000000 --- a/data/sources/databricks/db_config.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "name": "databricks", - "category": "warehouse", - "displayName": "Databricks", - "options": { - "syncBehaviours": [ - "upsert" - ], - "isSqlModelSupported": false, - "hidden": true - } -} \ No newline at end of file diff --git a/data/sources/databricks/metadata.json b/data/sources/databricks/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/databricks/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/databricks/schema.json b/data/sources/databricks/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/databricks/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/databricks/ui_config.json b/data/sources/databricks/ui_config.json deleted file mode 100644 index 5802d8a2c..000000000 --- a/data/sources/databricks/ui_config.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Credentials", - "secretFields": [ - "token" - ], - "docLinks": { - "grantPermissions": "https://www.rudderstack.com/docs/reverse-etl/databricks/#granting-permissions", - "verifyingCredentials": "https://www.rudderstack.com/docs/reverse-etl/databricks/#what-do-the-three-validations-under-verifying-credentials-imply", - "jsonMapperUseInstructions": "https://www.rudderstack.com/docs/reverse-etl/databricks/#specifying-the-data-to-import", - "setupInstructions": "https://www.rudderstack.com/docs/reverse-etl/databricks" - }, - "nameField": "host", - "fields": [ - { - "type": "textInput", - "label": "Host", - "value": "host", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true, - "addInAccountSummary": true, - "trim": true - }, - { - "type": "textInput", - "label": "Port", - "value": "port", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true, - "addInAccountSummary": false, - "inputFieldType": "number" - }, - { - "type": "textInput", - "label": "Path", - "value": "path", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true, - "addInAccountSummary": true, - "trim": true - }, - { - "type": "textInput", - "label": "Token", - "value": "token", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true, - "addInAccountSummary": false, - "secret": true - } - ] - } - ] -} \ No newline at end of file diff --git a/data/sources/dotnet/db_config.json b/data/sources/dotnet/db_config.json deleted file mode 100644 index c82bae881..000000000 --- a/data/sources/dotnet/db_config.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "DotNet", - "displayName": ".Net" -} \ No newline at end of file diff --git a/data/sources/dotnet/metadata.json b/data/sources/dotnet/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/dotnet/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/dotnet/schema.json b/data/sources/dotnet/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/dotnet/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/dotnet/ui_config.json b/data/sources/dotnet/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/dotnet/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/extole/db_config.json b/data/sources/extole/db_config.json deleted file mode 100644 index 4156b9e6a..000000000 --- a/data/sources/extole/db_config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Extole", - "category": "webhook", - "displayName": "Extole" -} \ No newline at end of file diff --git a/data/sources/extole/metadata.json b/data/sources/extole/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/extole/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/extole/schema.json b/data/sources/extole/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/extole/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/extole/ui_config.json b/data/sources/extole/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/extole/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/facebook_ads/metadata.json b/data/sources/facebook_ads/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/facebook_ads/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/facebook_ads/schema.json b/data/sources/facebook_ads/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/facebook_ads/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/facebook_ads/ui_config.json b/data/sources/facebook_ads/ui_config.json deleted file mode 100644 index 4580b780a..000000000 --- a/data/sources/facebook_ads/ui_config.json +++ /dev/null @@ -1,109 +0,0 @@ -{ - "uiConfig": { - "auth": { - "type": "OAuth" - }, - "config": [ - { - "title": "Source Settings", - "fields": [ - { - "type": "dynamicSelect", - "method": "post", - "url": "/cloudSources/info/roles/facebook_ads/info/accounts", - "label": "Page", - "labelKey": "name", - "valueKey": "account_id", - "value": "account_id", - "responseKey": "data", - "required": true - }, - { - "type": "singleSelect", - "label": "Historical data", - "value": "first_time_date_preset", - "options": [ - { - "name": "Last 2 years", - "value": "last_2_years" - }, - { - "name": "Last 1 year", - "value": "last_1_year" - }, - { - "name": "Last 6 months", - "value": "last_6_months" - }, - { - "name": "Last 90 days", - "value": "last_90_days" - }, - { - "name": "Last 30 days", - "value": "last_30_days" - }, - { - "name": "Last 28 days", - "value": "last_28_days" - }, - { - "name": "Last 14 days", - "value": "last_14_days" - }, - { - "name": "Last 7 days", - "value": "last_7_days" - }, - { - "name": "Last 3 days", - "value": "last_3_days" - } - ], - "defaultOption": { - "name": "Last 14 days", - "value": "last_14_days" - }, - "required": true - }, - { - "type": "singleSelect", - "label": "Attribution window", - "value": "date_preset", - "options": [ - { - "name": "Last 90 days", - "value": "last_90_days" - }, - { - "name": "Last 30 days", - "value": "last_30_days" - }, - { - "name": "Last 28 days", - "value": "last_28_days" - }, - { - "name": "Last 14 days", - "value": "last_14_days" - }, - { - "name": "Last 7 days", - "value": "last_7_days" - }, - { - "name": "Last 3 days", - "value": "last_3_days" - } - ], - "defaultOption": { - "name": "Last 3 days", - "value": "last_3_days" - }, - "required": true - } - ] - } - ] - } -} \ No newline at end of file diff --git a/data/sources/flutter/db_config.json b/data/sources/flutter/db_config.json deleted file mode 100644 index 7b8f0f5f2..000000000 --- a/data/sources/flutter/db_config.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Flutter", - "displayName": "Flutter" -} \ No newline at end of file diff --git a/data/sources/flutter/metadata.json b/data/sources/flutter/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/flutter/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/flutter/schema.json b/data/sources/flutter/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/flutter/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/flutter/ui_config.json b/data/sources/flutter/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/flutter/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/freshdesk/db_config.json b/data/sources/freshdesk/db_config.json deleted file mode 100644 index b7a0d9d7a..000000000 --- a/data/sources/freshdesk/db_config.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "freshdesk", - "category": "cloud", - "displayName": "Freshdesk", - "options": { - "hidden": true - } -} \ No newline at end of file diff --git a/data/sources/freshdesk/metadata.json b/data/sources/freshdesk/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/freshdesk/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/freshdesk/schema.json b/data/sources/freshdesk/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/freshdesk/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/freshdesk/ui_config.json b/data/sources/freshdesk/ui_config.json deleted file mode 100644 index 92384a818..000000000 --- a/data/sources/freshdesk/ui_config.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "uiConfig": { - "auth": { - "type": "form", - "secretFields": [ - "apiKey" - ], - "nameField": "rudder_account_name", - "config": [ - { - "fields": [ - { - "type": "textInput", - "label": "Account Name", - "value": "rudder_account_name", - "regex": ".*", - "required": true, - "placeholder": "e.g: account name" - }, - { - "type": "textInput", - "label": "Subdomain", - "value": "subdomain", - "required": true - }, - { - "type": "textInput", - "label": "API Key", - "value": "apiKey", - "required": true - } - ] - } - ] - } - } -} \ No newline at end of file diff --git a/data/sources/go/db_config.json b/data/sources/go/db_config.json deleted file mode 100644 index 63c84b10e..000000000 --- a/data/sources/go/db_config.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Go", - "displayName": "Go" -} \ No newline at end of file diff --git a/data/sources/go/metadata.json b/data/sources/go/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/go/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/go/schema.json b/data/sources/go/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/go/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/go/ui_config.json b/data/sources/go/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/go/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/google_adwords/db_config.json b/data/sources/google_adwords/db_config.json deleted file mode 100644 index fdbca52a7..000000000 --- a/data/sources/google_adwords/db_config.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "google_adwords", - "category": "cloud", - "displayName": "Google AdWords", - "options": { - "hidden": true - } -} \ No newline at end of file diff --git a/data/sources/google_adwords/metadata.json b/data/sources/google_adwords/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/google_adwords/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/google_adwords/schema.json b/data/sources/google_adwords/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/google_adwords/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/google_adwords/ui_config.json b/data/sources/google_adwords/ui_config.json deleted file mode 100644 index 499170afa..000000000 --- a/data/sources/google_adwords/ui_config.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "uiConfig": { - "auth": { - "type": "OAuth" - }, - "config": [ - { - "title": "Source Settings", - "fields": [ - { - "type": "dynamicSelect", - "method": "post", - "url": "/cloudSources/info/roles/google_adwords/info/customerIds", - "label": "Customer ID", - "labelKey": "name", - "valueKey": "id", - "value": "customerId", - "required": true - }, - { - "type": "datePicker", - "label": "Start date", - "value": "startDate", - "format": "YYYY-MM-DD", - "required": true - }, - { - "type": "singleSelect", - "label": "Conversion window", - "value": "conversionWindow", - "options": [ - { - "name": "Last 30 days", - "value": 30 - }, - { - "name": "Last 28 days", - "value": 28 - }, - { - "name": "Last 14 days", - "value": 14 - }, - { - "name": "Last 7 days", - "value": 7 - }, - { - "name": "Last 3 days", - "value": 3 - } - ], - "defaultOption": { - "name": "Last 30 days", - "value": 30 - }, - "required": true - } - ] - } - ] - } -} \ No newline at end of file diff --git a/data/sources/google_analytics/db_config.json b/data/sources/google_analytics/db_config.json deleted file mode 100644 index 2fd190d43..000000000 --- a/data/sources/google_analytics/db_config.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "google_analytics", - "category": "cloud", - "displayName": "Google Analytics", - "options": { - "hidden": true - } -} \ No newline at end of file diff --git a/data/sources/google_analytics/metadata.json b/data/sources/google_analytics/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/google_analytics/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/google_analytics/schema.json b/data/sources/google_analytics/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/google_analytics/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/google_analytics/ui_config.json b/data/sources/google_analytics/ui_config.json deleted file mode 100644 index 29b808c6a..000000000 --- a/data/sources/google_analytics/ui_config.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "uiConfig": { - "auth": { - "type": "OAuth" - }, - "config": [ - { - "title": "Source Settings", - "fields": [ - { - "type": "dynamicSelect", - "method": "post", - "url": "/cloudSources/info/roles/google_analytics/info/views", - "label": "View", - "labelKey": "name", - "valueKey": "id", - "responseKey": "views", - "value": "viewId", - "required": true - }, - { - "type": "dynamicSelect", - "method": "post", - "url": "/cloudSources/info/roles/google_analytics/info/columns", - "label": "Dimensions", - "labelKey": "name", - "valueKey": "id", - "responseKey": "dimensions", - "value": "dimensions", - "required": true, - "preRequisiteField": { - "name": "viewId", - "includeValue": true, - "includeToRequest": { - "transformKey": "id" - } - }, - "mode": "multiple" - }, - { - "type": "dynamicSelect", - "method": "post", - "url": "/cloudSources/info/roles/google_analytics/info/columns", - "label": "Metrics", - "labelKey": "name", - "valueKey": "id", - "responseKey": "metrics", - "value": "metrics", - "required": true, - "preRequisiteField": { - "name": "viewId", - "includeValue": true, - "includeToRequest": { - "transformKey": "id" - } - }, - "mode": "multiple" - }, - { - "type": "datePicker", - "label": "Start from date", - "value": "dateSince", - "format": "YYYY-MM-DD", - "description": "Earliest report date", - "preRequisiteField": { - "name": "viewId" - }, - "required": true - } - ] - } - ] - } -} \ No newline at end of file diff --git a/data/sources/google_search_console/db_config.json b/data/sources/google_search_console/db_config.json deleted file mode 100644 index 6cb517f00..000000000 --- a/data/sources/google_search_console/db_config.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "google_search_console", - "category": "cloud", - "displayName": "Google Search Console", - "options": { - "hidden": true - } -} \ No newline at end of file diff --git a/data/sources/google_search_console/metadata.json b/data/sources/google_search_console/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/google_search_console/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/google_search_console/schema.json b/data/sources/google_search_console/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/google_search_console/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/google_search_console/ui_config.json b/data/sources/google_search_console/ui_config.json deleted file mode 100644 index ed69014f9..000000000 --- a/data/sources/google_search_console/ui_config.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "uiConfig": { - "auth": { - "type": "OAuth" - }, - "config": [ - { - "title": "Source Settings", - "fields": [ - { - "type": "textInput", - "label": "Site URL", - "value": "siteUrl", - "required": true - }, - { - "type": "singleSelect", - "label": "Dimensions", - "value": "date_preset", - "mode": "multiple", - "options": [ - { - "name": "country", - "value": "country" - }, - { - "name": "device", - "value": "device" - }, - { - "name": "page", - "value": "page" - } - ], - "required": true - }, - { - "type": "datePicker", - "label": "Start from date", - "value": "dateSince", - "format": "YYYY-MM-DD", - "required": true - } - ] - } - ] - } -} \ No newline at end of file diff --git a/data/sources/google_sheets/db_config.json b/data/sources/google_sheets/db_config.json deleted file mode 100644 index 293f7cbe9..000000000 --- a/data/sources/google_sheets/db_config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "google_sheets", - "category": "cloud", - "displayName": "Google Sheets" -} \ No newline at end of file diff --git a/data/sources/google_sheets/metadata.json b/data/sources/google_sheets/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/google_sheets/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/google_sheets/schema.json b/data/sources/google_sheets/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/google_sheets/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/google_sheets/ui_config.json b/data/sources/google_sheets/ui_config.json deleted file mode 100644 index 774f19fd4..000000000 --- a/data/sources/google_sheets/ui_config.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "uiConfig": { - "auth": { - "type": "OAuth" - }, - "config": [ - { - "title": "Source Settings", - "fields": [ - { - "type": "dynamicSelect", - "method": "post", - "url": "/cloudSources/info/roles/google_sheets/info/sheets", - "label": "SpreadSheet", - "labelKey": "filename", - "valueKey": "id", - "responseKey": "sheets", - "value": "spreadsheet", - "showSearch": true, - "required": true - }, - { - "type": "dynamicSelect", - "label": "Worksheet", - "value": "worksheet", - "responseKey": "sheets", - "showSearch": true, - "valueKey": "properties.title", - "labelKey": "properties.title", - "method": "post", - "url": "/cloudSources/info/roles/google_sheets/info/sheets/${preRequisiteValue}", - "required": true, - "preRequisiteField": { - "name": "spreadsheet", - "includeValue": true - } - }, - { - "type": "textInput", - "label": "Header row", - "inputFieldType": "number", - "value": "header_offset", - "default": 1, - "min": 1, - "required": true, - "disabledNormalMode": true, - "preRequisiteField": { - "name": "spreadsheet" - } - }, - { - "type": "textInput", - "inputFieldType": "number", - "min": 1, - "label": "First data row", - "value": "top_row_offset", - "disabledNormalMode": true, - "preRequisiteField": { - "name": "spreadsheet" - } - } - ] - } - ] - } -} \ No newline at end of file diff --git a/data/sources/http/db_config.json b/data/sources/http/db_config.json deleted file mode 100644 index e753fe292..000000000 --- a/data/sources/http/db_config.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "HTTP", - "displayName": "HTTP" -} \ No newline at end of file diff --git a/data/sources/http/metadata.json b/data/sources/http/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/http/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/http/schema.json b/data/sources/http/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/http/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/http/ui_config.json b/data/sources/http/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/http/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/hubspot/db_config.json b/data/sources/hubspot/db_config.json deleted file mode 100644 index 342efb00e..000000000 --- a/data/sources/hubspot/db_config.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "hubspot", - "category": "cloud", - "displayName": "Hubspot", - "options": { - "hidden": true - } -} \ No newline at end of file diff --git a/data/sources/hubspot/metadata.json b/data/sources/hubspot/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/hubspot/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/hubspot/schema.json b/data/sources/hubspot/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/hubspot/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/hubspot/ui_config.json b/data/sources/hubspot/ui_config.json deleted file mode 100644 index 16d7a8d32..000000000 --- a/data/sources/hubspot/ui_config.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "uiConfig": { - "auth": { - "type": "OAuth", - "config": [ - { - "fields": [ - { - "type": "singleSelect", - "label": "Hubspot software", - "value": "role", - "required": true, - "options": [ - { - "name": "Marketing", - "value": "hubspot" - }, - { - "name": "CRM", - "value": "hubspot_crm" - } - ], - "defaultOption": { - "name": "Marketing", - "value": "hubspot" - } - } - ] - } - ] - } - } -} \ No newline at end of file diff --git a/data/sources/hubspot_crm/db_config.json b/data/sources/hubspot_crm/db_config.json deleted file mode 100644 index 553d7a436..000000000 --- a/data/sources/hubspot_crm/db_config.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "hubspot_crm", - "category": "cloud", - "displayName": "Hubspot CRM", - "options": { - "hidden": true - } -} \ No newline at end of file diff --git a/data/sources/hubspot_crm/metadata.json b/data/sources/hubspot_crm/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/hubspot_crm/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/hubspot_crm/schema.json b/data/sources/hubspot_crm/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/hubspot_crm/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/hubspot_crm/ui_config.json b/data/sources/hubspot_crm/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/hubspot_crm/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/intercom/db_config.json b/data/sources/intercom/db_config.json deleted file mode 100644 index 3ac01a1b5..000000000 --- a/data/sources/intercom/db_config.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "intercom", - "category": "cloud", - "displayName": "Intercom", - "options": { - "hidden": true - } -} \ No newline at end of file diff --git a/data/sources/intercom/metadata.json b/data/sources/intercom/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/intercom/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/intercom/schema.json b/data/sources/intercom/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/intercom/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/intercom/ui_config.json b/data/sources/intercom/ui_config.json deleted file mode 100644 index 2db727a01..000000000 --- a/data/sources/intercom/ui_config.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "uiConfig": { - "auth": { - "type": "OAuth" - } - } -} \ No newline at end of file diff --git a/data/sources/ios/db_config.json b/data/sources/ios/db_config.json deleted file mode 100644 index a716367e5..000000000 --- a/data/sources/ios/db_config.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "iOS", - "displayName": "iOS" -} \ No newline at end of file diff --git a/data/sources/ios/metadata.json b/data/sources/ios/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/ios/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/ios/schema.json b/data/sources/ios/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/ios/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/ios/ui_config.json b/data/sources/ios/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/ios/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/iterable/db_config.json b/data/sources/iterable/db_config.json deleted file mode 100644 index 3c0856bf8..000000000 --- a/data/sources/iterable/db_config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "iterable", - "category": "webhook", - "displayName": "Iterable" -} \ No newline at end of file diff --git a/data/sources/iterable/metadata.json b/data/sources/iterable/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/iterable/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/iterable/schema.json b/data/sources/iterable/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/iterable/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/iterable/ui_config.json b/data/sources/iterable/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/iterable/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/java/db_config.json b/data/sources/java/db_config.json deleted file mode 100644 index 9d19f30e3..000000000 --- a/data/sources/java/db_config.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Java", - "displayName": "Java" -} \ No newline at end of file diff --git a/data/sources/java/metadata.json b/data/sources/java/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/java/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/java/schema.json b/data/sources/java/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/java/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/java/ui_config.json b/data/sources/java/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/java/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/javascript/db_config.json b/data/sources/javascript/db_config.json deleted file mode 100644 index 3f16871f0..000000000 --- a/data/sources/javascript/db_config.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Javascript", - "displayName": "Javascript" -} \ No newline at end of file diff --git a/data/sources/javascript/metadata.json b/data/sources/javascript/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/javascript/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/javascript/schema.json b/data/sources/javascript/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/javascript/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/javascript/ui_config.json b/data/sources/javascript/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/javascript/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/looker/db_config.json b/data/sources/looker/db_config.json deleted file mode 100644 index ef2495e6c..000000000 --- a/data/sources/looker/db_config.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Looker", - "displayName": "Looker" -} \ No newline at end of file diff --git a/data/sources/looker/metadata.json b/data/sources/looker/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/looker/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/looker/schema.json b/data/sources/looker/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/looker/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/looker/ui_config.json b/data/sources/looker/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/looker/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/mailchimp/db_config.json b/data/sources/mailchimp/db_config.json deleted file mode 100644 index 21098b3c2..000000000 --- a/data/sources/mailchimp/db_config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "mailchimp", - "category": "cloud", - "displayName": "Mailchimp" -} \ No newline at end of file diff --git a/data/sources/mailchimp/metadata.json b/data/sources/mailchimp/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/mailchimp/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/mailchimp/schema.json b/data/sources/mailchimp/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/mailchimp/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/mailchimp/ui_config.json b/data/sources/mailchimp/ui_config.json deleted file mode 100644 index 3d69b07d9..000000000 --- a/data/sources/mailchimp/ui_config.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "uiConfig": { - "auth": { - "type": "OAuth" - }, - "config": [ - { - "title": "Source Settings", - "fields": [ - { - "type": "singleSelect", - "label": "Earliest campaign year", - "value": "firstTimeFetchCampaignsSinceYear", - "footerNote": "Fetch monthly reports starting from this year.", - "required": true, - "options": [ - 2020, - 2019, - 2018, - 2017, - 2016, - 2015 - ], - "default": 2019 - }, - { - "type": "singleSelect", - "label": "Campaign fetch period", - "value": "fetchCampaignsDaysAgo", - "footerNote": "Starting month for each monthly report.", - "required": true, - "options": [ - { - "name": "1 day", - "value": 1 - }, - { - "name": "1 week", - "value": 7 - }, - { - "name": "2 weeks", - "value": 14 - }, - { - "name": "1 month", - "value": 30 - } - ], - "default": 1 - } - ] - } - ] - } -} \ No newline at end of file diff --git a/data/sources/mailmodo/db_config.json b/data/sources/mailmodo/db_config.json deleted file mode 100644 index 3dea87ec0..000000000 --- a/data/sources/mailmodo/db_config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "mailmodo", - "category": "webhook", - "displayName": "Mailmodo" -} \ No newline at end of file diff --git a/data/sources/mailmodo/metadata.json b/data/sources/mailmodo/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/mailmodo/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/mailmodo/schema.json b/data/sources/mailmodo/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/mailmodo/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/mailmodo/ui_config.json b/data/sources/mailmodo/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/mailmodo/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/marketo/db_config.json b/data/sources/marketo/db_config.json deleted file mode 100644 index fff620532..000000000 --- a/data/sources/marketo/db_config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "marketo", - "category": "cloud", - "displayName": "Marketo" -} \ No newline at end of file diff --git a/data/sources/marketo/metadata.json b/data/sources/marketo/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/marketo/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/marketo/schema.json b/data/sources/marketo/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/marketo/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/marketo/ui_config.json b/data/sources/marketo/ui_config.json deleted file mode 100644 index 7b9cc48e1..000000000 --- a/data/sources/marketo/ui_config.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "uiConfig": { - "auth": { - "type": "form", - "secretFields": [ - "clientSecret" - ], - "nameField": "rudder_account_name", - "config": [ - { - "fields": [ - { - "type": "textInput", - "label": "Account Name", - "value": "rudder_account_name", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true, - "placeholder": "e.g: account name" - }, - { - "type": "textInput", - "label": "Marketo Client ID", - "value": "clientId", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true, - "placeholder": "e.g: client id" - }, - { - "type": "textInput", - "label": "Marketo Client Secret", - "value": "clientSecret", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true, - "placeholder": "e.g: client secret", - "secret": true - }, - { - "type": "textInput", - "label": "Marketo Munchkin Account ID", - "value": "munchkinId", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true, - "placeholder": "e.g: munchkin account id", - "secret": true - } - ] - } - ] - }, - "config": [ - { - "title": "Source Settings", - "fields": [ - { - "type": "datePicker", - "label": "Start date", - "value": "startDate", - "format": "YYYY-MM-DD", - "required": true - } - ] - } - ] - } -} \ No newline at end of file diff --git a/data/sources/mixpanel/db_config.json b/data/sources/mixpanel/db_config.json deleted file mode 100644 index e2055568f..000000000 --- a/data/sources/mixpanel/db_config.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "mixpanel", - "category": "cloud", - "displayName": "Mixpanel", - "options": { - "hidden": true - } -} \ No newline at end of file diff --git a/data/sources/mixpanel/metadata.json b/data/sources/mixpanel/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/mixpanel/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/mixpanel/schema.json b/data/sources/mixpanel/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/mixpanel/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/mixpanel/ui_config.json b/data/sources/mixpanel/ui_config.json deleted file mode 100644 index 989adb351..000000000 --- a/data/sources/mixpanel/ui_config.json +++ /dev/null @@ -1,466 +0,0 @@ -{ - "uiConfig": { - "auth": { - "type": "form", - "secretFields": [ - "apisecret" - ], - "nameField": "rudder_account_name", - "config": [ - { - "fields": [ - { - "type": "textInput", - "label": "Account Name", - "value": "rudder_account_name", - "regex": ".*", - "required": true, - "placeholder": "e.g: account name" - }, - { - "type": "textInput", - "label": "API Key", - "value": "apikey", - "required": true - }, - { - "type": "textInput", - "label": "API Secret", - "value": "apisecret", - "required": true - }, - { - "type": "singleSelect", - "showSearch": true, - "label": "Project timezone", - "value": "timezone", - "required": true, - "options": [ - "US/Alaska", - "US/Arizona", - "US/Central", - "US/Eastern", - "US/Hawaii", - "US/Mountain", - "US/Pacific", - "Africa/Abidjan", - "Africa/Accra", - "Africa/Addis_Ababa", - "Africa/Algiers", - "Africa/Asmara", - "Africa/Bamako", - "Africa/Bangui", - "Africa/Banjul", - "Africa/Bissau", - "Africa/Blantyre", - "Africa/Brazzaville", - "Africa/Bujumbura", - "Africa/Cairo", - "Africa/Casablanca", - "Africa/Ceuta", - "Africa/Conakry", - "Africa/Dakar", - "Africa/Dar_es_Salaam", - "Africa/Djibouti", - "Africa/Douala", - "Africa/El_Aaiun", - "Africa/Freetown", - "Africa/Gaborone", - "Africa/Harare", - "Africa/Johannesburg", - "Africa/Kampala", - "Africa/Khartoum", - "Africa/Kigali", - "Africa/Kinshasa", - "Africa/Lagos", - "Africa/Libreville", - "Africa/Lome", - "Africa/Luanda", - "Africa/Lubumbashi", - "Africa/Lusaka", - "Africa/Malabo", - "Africa/Maputo", - "Africa/Maseru", - "Africa/Mbabane", - "Africa/Mogadishu", - "Africa/Monrovia", - "Africa/Nairobi", - "Africa/Ndjamena", - "Africa/Niamey", - "Africa/Nouakchott", - "Africa/Ouagadougou", - "Africa/Porto-Novo", - "Africa/Sao_Tome", - "Africa/Tripoli", - "Africa/Tunis", - "Africa/Windhoek", - "America/Adak", - "America/Anchorage", - "America/Anguilla", - "America/Antigua", - "America/Araguaina", - "America/Argentina/Buenos_Aires", - "America/Argentina/Catamarca", - "America/Argentina/Cordoba", - "America/Argentina/Jujuy", - "America/Argentina/La_Rioja", - "America/Argentina/Mendoza", - "America/Argentina/Rio_Gallegos", - "America/Argentina/Salta", - "America/Argentina/San_Juan", - "America/Argentina/San_Luis", - "America/Argentina/Tucuman", - "America/Argentina/Ushuaia", - "America/Aruba", - "America/Asuncion", - "America/Atikokan", - "America/Bahia", - "America/Bahia_Banderas", - "America/Barbados", - "America/Belem", - "America/Belize", - "America/Blanc-Sablon", - "America/Boa_Vista", - "America/Bogota", - "America/Boise", - "America/Cambridge_Bay", - "America/Campo_Grande", - "America/Cancun", - "America/Caracas", - "America/Cayenne", - "America/Cayman", - "America/Chicago", - "America/Chihuahua", - "America/Costa_Rica", - "America/Cuiaba", - "America/Curacao", - "America/Danmarkshavn", - "America/Dawson", - "America/Dawson_Creek", - "America/Denver", - "America/Detroit", - "America/Dominica", - "America/Edmonton", - "America/Eirunepe", - "America/El_Salvador", - "America/Fortaleza", - "America/Glace_Bay", - "America/Godthab", - "America/Goose_Bay", - "America/Grand_Turk", - "America/Grenada", - "America/Guadeloupe", - "America/Guatemala", - "America/Guayaquil", - "America/Guyana", - "America/Halifax", - "America/Havana", - "America/Hermosillo", - "America/Indiana/Indianapolis", - "America/Indiana/Knox", - "America/Indiana/Marengo", - "America/Indiana/Petersburg", - "America/Indiana/Tell_City", - "America/Indiana/Vevay", - "America/Indiana/Vincennes", - "America/Indiana/Winamac", - "America/Inuvik", - "America/Iqaluit", - "America/Jamaica", - "America/Juneau", - "America/Kentucky/Louisville", - "America/Kentucky/Monticello", - "America/La_Paz", - "America/Lima", - "America/Los_Angeles", - "America/Maceio", - "America/Managua", - "America/Manaus", - "America/Martinique", - "America/Matamoros", - "America/Mazatlan", - "America/Menominee", - "America/Merida", - "America/Mexico_City", - "America/Miquelon", - "America/Moncton", - "America/Monterrey", - "America/Montevideo", - "America/Montreal", - "America/Montserrat", - "America/Nassau", - "America/New_York", - "America/Nipigon", - "America/Nome", - "America/Noronha", - "America/North_Dakota/Center", - "America/North_Dakota/New_Salem", - "America/Ojinaga", - "America/Panama", - "America/Pangnirtung", - "America/Paramaribo", - "America/Phoenix", - "America/Port-au-Prince", - "America/Porto_Velho", - "America/Port_of_Spain", - "America/Puerto_Rico", - "America/Rainy_River", - "America/Rankin_Inlet", - "America/Recife", - "America/Regina", - "America/Resolute", - "America/Rio_Branco", - "America/Santarem", - "America/Santa_Isabel", - "America/Santiago", - "America/Santo_Domingo", - "America/Sao_Paulo", - "America/Scoresbysund", - "America/St_Johns", - "America/St_Kitts", - "America/St_Lucia", - "America/St_Thomas", - "America/St_Vincent", - "America/Swift_Current", - "America/Tegucigalpa", - "America/Thule", - "America/Thunder_Bay", - "America/Tijuana", - "America/Toronto", - "America/Tortola", - "America/Vancouver", - "America/Whitehorse", - "America/Winnipeg", - "America/Yakutat", - "America/Yellowknife", - "Antarctica/Casey", - "Antarctica/Davis", - "Antarctica/DumontDUrville", - "Antarctica/Macquarie", - "Antarctica/Mawson", - "Antarctica/McMurdo", - "Antarctica/Palmer", - "Antarctica/Rothera", - "Antarctica/Syowa", - "Antarctica/Vostok", - "Asia/Aden", - "Asia/Almaty", - "Asia/Amman", - "Asia/Anadyr", - "Asia/Aqtau", - "Asia/Aqtobe", - "Asia/Ashgabat", - "Asia/Baghdad", - "Asia/Bahrain", - "Asia/Baku", - "Asia/Bangkok", - "Asia/Beirut", - "Asia/Bishkek", - "Asia/Brunei", - "Asia/Choibalsan", - "Asia/Chongqing", - "Asia/Colombo", - "Asia/Damascus", - "Asia/Dhaka", - "Asia/Dili", - "Asia/Dubai", - "Asia/Dushanbe", - "Asia/Gaza", - "Asia/Harbin", - "Asia/Hong_Kong", - "Asia/Hovd", - "Asia/Ho_Chi_Minh", - "Asia/Irkutsk", - "Asia/Jakarta", - "Asia/Jayapura", - "Asia/Jerusalem", - "Asia/Kabul", - "Asia/Kamchatka", - "Asia/Karachi", - "Asia/Kashgar", - "Asia/Kathmandu", - "Asia/Kolkata", - "Asia/Krasnoyarsk", - "Asia/Kuala_Lumpur", - "Asia/Kuching", - "Asia/Kuwait", - "Asia/Macau", - "Asia/Magadan", - "Asia/Makassar", - "Asia/Manila", - "Asia/Muscat", - "Asia/Nicosia", - "Asia/Novokuznetsk", - "Asia/Novosibirsk", - "Asia/Omsk", - "Asia/Oral", - "Asia/Phnom_Penh", - "Asia/Pontianak", - "Asia/Pyongyang", - "Asia/Qatar", - "Asia/Qyzylorda", - "Asia/Rangoon", - "Asia/Riyadh", - "Asia/Sakhalin", - "Asia/Samarkand", - "Asia/Seoul", - "Asia/Shanghai", - "Asia/Singapore", - "Asia/Taipei", - "Asia/Tashkent", - "Asia/Tbilisi", - "Asia/Tehran", - "Asia/Thimphu", - "Asia/Tokyo", - "Asia/Ulaanbaatar", - "Asia/Urumqi", - "Asia/Vientiane", - "Asia/Vladivostok", - "Asia/Yakutsk", - "Asia/Yekaterinburg", - "Asia/Yerevan", - "Atlantic/Azores", - "Atlantic/Bermuda", - "Atlantic/Canary", - "Atlantic/Cape_Verde", - "Atlantic/Faroe", - "Atlantic/Madeira", - "Atlantic/Reykjavik", - "Atlantic/South_Georgia", - "Atlantic/Stanley", - "Atlantic/St_Helena", - "Australia/Adelaide", - "Australia/Brisbane", - "Australia/Broken_Hill", - "Australia/Currie", - "Australia/Darwin", - "Australia/Eucla", - "Australia/Hobart", - "Australia/Lindeman", - "Australia/Lord_Howe", - "Australia/Melbourne", - "Australia/Perth", - "Australia/Sydney", - "Canada/Atlantic", - "Canada/Central", - "Canada/Eastern", - "Canada/Mountain", - "Canada/Newfoundland", - "Canada/Pacific", - "Europe/Amsterdam", - "Europe/Andorra", - "Europe/Athens", - "Europe/Belgrade", - "Europe/Berlin", - "Europe/Brussels", - "Europe/Bucharest", - "Europe/Budapest", - "Europe/Chisinau", - "Europe/Copenhagen", - "Europe/Dublin", - "Europe/Gibraltar", - "Europe/Helsinki", - "Europe/Istanbul", - "Europe/Kaliningrad", - "Europe/Kiev", - "Europe/Lisbon", - "Europe/London", - "Europe/Luxembourg", - "Europe/Madrid", - "Europe/Malta", - "Europe/Minsk", - "Europe/Monaco", - "Europe/Moscow", - "Europe/Oslo", - "Europe/Paris", - "Europe/Prague", - "Europe/Riga", - "Europe/Rome", - "Europe/Samara", - "Europe/Simferopol", - "Europe/Sofia", - "Europe/Stockholm", - "Europe/Tallinn", - "Europe/Tirane", - "Europe/Uzhgorod", - "Europe/Vaduz", - "Europe/Vienna", - "Europe/Vilnius", - "Europe/Volgograd", - "Europe/Warsaw", - "Europe/Zaporozhye", - "Europe/Zurich", - "GMT", - "Indian/Antananarivo", - "Indian/Chagos", - "Indian/Christmas", - "Indian/Cocos", - "Indian/Comoro", - "Indian/Kerguelen", - "Indian/Mahe", - "Indian/Maldives", - "Indian/Mauritius", - "Indian/Mayotte", - "Indian/Reunion", - "Pacific/Apia", - "Pacific/Auckland", - "Pacific/Chatham", - "Pacific/Chuuk", - "Pacific/Easter", - "Pacific/Efate", - "Pacific/Enderbury", - "Pacific/Fakaofo", - "Pacific/Fiji", - "Pacific/Funafuti", - "Pacific/Galapagos", - "Pacific/Gambier", - "Pacific/Guadalcanal", - "Pacific/Guam", - "Pacific/Honolulu", - "Pacific/Johnston", - "Pacific/Kiritimati", - "Pacific/Kosrae", - "Pacific/Kwajalein", - "Pacific/Majuro", - "Pacific/Marquesas", - "Pacific/Midway", - "Pacific/Nauru", - "Pacific/Niue", - "Pacific/Norfolk", - "Pacific/Noumea", - "Pacific/Pago_Pago", - "Pacific/Palau", - "Pacific/Pitcairn", - "Pacific/Pohnpei", - "Pacific/Port_Moresby", - "Pacific/Rarotonga", - "Pacific/Saipan", - "Pacific/Tahiti", - "Pacific/Tarawa", - "Pacific/Tongatapu", - "Pacific/Wake", - "Pacific/Wallis", - "UTC" - ], - "default": "UTC" - } - ] - } - ] - }, - "config": [ - { - "title": "Source Settings", - "fields": [ - { - "type": "datePicker", - "label": "Import Mixpanel events since", - "value": "startFromDate", - "format": "YYYY-MM-DD", - "required": true - } - ] - } - ] - } -} \ No newline at end of file diff --git a/data/sources/monday/db_config.json b/data/sources/monday/db_config.json deleted file mode 100644 index 1ca3a0fb1..000000000 --- a/data/sources/monday/db_config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "monday", - "category": "webhook", - "displayName": "Monday Source" -} \ No newline at end of file diff --git a/data/sources/monday/metadata.json b/data/sources/monday/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/monday/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/monday/schema.json b/data/sources/monday/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/monday/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/monday/ui_config.json b/data/sources/monday/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/monday/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/mysql/db_config.json b/data/sources/mysql/db_config.json deleted file mode 100644 index 62f6b42fb..000000000 --- a/data/sources/mysql/db_config.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "name": "mysql", - "category": "warehouse", - "displayName": "MySql", - "options": { - "syncBehaviours": [ - "upsert", - "mirror" - ], - "isSqlModelSupported": false - } -} \ No newline at end of file diff --git a/data/sources/mysql/metadata.json b/data/sources/mysql/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/mysql/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/mysql/schema.json b/data/sources/mysql/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/mysql/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/mysql/ui_config.json b/data/sources/mysql/ui_config.json deleted file mode 100644 index d82db4e1e..000000000 --- a/data/sources/mysql/ui_config.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Credentials", - "secretFields": [ - "password" - ], - "docLinks": {}, - "nameField": "user", - "fields": [ - { - "type": "textInput", - "label": "Host", - "value": "host", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true, - "addInAccountSummary": true - }, - { - "type": "textInput", - "label": "Port", - "value": "port", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true, - "addInAccountSummary": false, - "inputFieldType": "number" - }, - { - "type": "textInput", - "label": "Database", - "value": "dbname", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true, - "addInAccountSummary": true - }, - { - "type": "textInput", - "label": "User", - "value": "user", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true - }, - { - "type": "textInput", - "label": "Password", - "value": "password", - "inputFieldType": "password", - "regex": ".*", - "required": true, - "secret": true - }, - { - "type": "singleSelect", - "label": "SSL Mode", - "value": "sslmode", - "options": [ - { - "name": "false", - "value": "false" - }, - { - "name": "skip-verify", - "value": "skip-verify" - } - ], - "defaultOption": { - "name": "false", - "value": "false" - }, - "required": true - } - ] - } - ] -} \ No newline at end of file diff --git a/data/sources/netsuite/db_config.json b/data/sources/netsuite/db_config.json deleted file mode 100644 index 3b1acdadd..000000000 --- a/data/sources/netsuite/db_config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "netsuite", - "category": "cloud", - "displayName": "NetSuite" -} \ No newline at end of file diff --git a/data/sources/netsuite/metadata.json b/data/sources/netsuite/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/netsuite/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/netsuite/schema.json b/data/sources/netsuite/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/netsuite/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/netsuite/ui_config.json b/data/sources/netsuite/ui_config.json deleted file mode 100644 index 8f09f3d62..000000000 --- a/data/sources/netsuite/ui_config.json +++ /dev/null @@ -1,91 +0,0 @@ -{ - "uiConfig": { - "auth": { - "type": "form", - "secretFields": [ - "consumerKey", - "consumerSecret", - "tokenId", - "tokenSecret" - ], - "nameField": "rudder_account_name", - "config": [ - { - "fields": [ - { - "type": "textInput", - "label": "Account Name", - "value": "rudder_account_name", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true, - "placeholder": "e.g: account name" - }, - { - "type": "textInput", - "label": "Account Id", - "value": "accountId", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true - }, - { - "type": "textInput", - "label": "Consumer Key", - "value": "consumerKey", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true - }, - { - "type": "textInput", - "label": "Consumer Secret", - "value": "consumerSecret", - "inputType": "password", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true - }, - { - "type": "textInput", - "label": "Token ID", - "value": "tokenId", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true - }, - { - "type": "textInput", - "label": "Token Secret", - "inputType": "password", - "value": "tokenSecret", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true - } - ] - } - ] - }, - "config": [ - { - "title": "Source Settings", - "fields": [ - { - "type": "datePicker", - "label": "Historical sync start date", - "value": "startDateIso", - "format": "YYYY-MM-DD", - "required": true - }, - { - "type": "textInput", - "label": "Rudder Restlet URL", - "value": "restletUrl", - "footerNote": "In order to sync saved searches, you need to install https://js.blendo.co/netsuite/v1/restlet.js script in your Netsuite account, and paste the generated Restlet URL here." - } - ] - } - ] - } -} \ No newline at end of file diff --git a/data/sources/node/db_config.json b/data/sources/node/db_config.json deleted file mode 100644 index 0832adade..000000000 --- a/data/sources/node/db_config.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node", - "displayName": "Node" -} \ No newline at end of file diff --git a/data/sources/node/metadata.json b/data/sources/node/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/node/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/node/schema.json b/data/sources/node/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/node/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/node/ui_config.json b/data/sources/node/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/node/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/pardot/db_config.json b/data/sources/pardot/db_config.json deleted file mode 100644 index e0611f38e..000000000 --- a/data/sources/pardot/db_config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "pardot", - "category": "cloud", - "displayName": "Pardot" -} \ No newline at end of file diff --git a/data/sources/pardot/metadata.json b/data/sources/pardot/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/pardot/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/pardot/schema.json b/data/sources/pardot/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/pardot/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/pardot/ui_config.json b/data/sources/pardot/ui_config.json deleted file mode 100644 index 1b67d277e..000000000 --- a/data/sources/pardot/ui_config.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "uiConfig": { - "auth": { - "type": "form", - "secretFields": [ - "password" - ], - "nameField": "rudder_account_name", - "config": [ - { - "fields": [ - { - "type": "textInput", - "label": "Account Name", - "value": "rudder_account_name", - "regex": ".*", - "required": true, - "placeholder": "e.g: account name" - }, - { - "type": "textInput", - "label": "Email", - "value": "email", - "required": true - }, - { - "type": "textInput", - "label": "User Key", - "value": "userKey", - "required": true - }, - { - "type": "textInput", - "label": "Password", - "value": "password", - "required": true - } - ] - } - ] - } - } -} \ No newline at end of file diff --git a/data/sources/php/db_config.json b/data/sources/php/db_config.json deleted file mode 100644 index 2a3542d5c..000000000 --- a/data/sources/php/db_config.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "PHP", - "displayName": "PHP" -} \ No newline at end of file diff --git a/data/sources/php/metadata.json b/data/sources/php/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/php/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/php/schema.json b/data/sources/php/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/php/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/php/ui_config.json b/data/sources/php/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/php/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/pipedrive/db_config.json b/data/sources/pipedrive/db_config.json deleted file mode 100644 index 112b513ba..000000000 --- a/data/sources/pipedrive/db_config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "pipedrive", - "category": "cloud", - "displayName": "Pipedrive" -} \ No newline at end of file diff --git a/data/sources/pipedrive/metadata.json b/data/sources/pipedrive/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/pipedrive/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/pipedrive/schema.json b/data/sources/pipedrive/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/pipedrive/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/pipedrive/ui_config.json b/data/sources/pipedrive/ui_config.json deleted file mode 100644 index 1a2c76005..000000000 --- a/data/sources/pipedrive/ui_config.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "uiConfig": { - "auth": { - "type": "form", - "secretFields": [ - "apiKey" - ], - "nameField": "rudder_account_name", - "config": [ - { - "fields": [ - { - "type": "textInput", - "label": "Account Name", - "value": "rudder_account_name", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true, - "placeholder": "e.g: account name" - }, - { - "type": "textInput", - "label": "Api Key", - "value": "apiKey", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true - } - ] - } - ] - } - } -} \ No newline at end of file diff --git a/data/sources/postgres/db_config.json b/data/sources/postgres/db_config.json deleted file mode 100644 index cb0aa5850..000000000 --- a/data/sources/postgres/db_config.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "name": "postgres", - "category": "warehouse", - "displayName": "Postgres", - "options": { - "syncBehaviours": [ - "upsert", - "mirror" - ], - "isSqlModelSupported": true - } -} \ No newline at end of file diff --git a/data/sources/postgres/metadata.json b/data/sources/postgres/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/postgres/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/postgres/schema.json b/data/sources/postgres/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/postgres/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/postgres/ui_config.json b/data/sources/postgres/ui_config.json deleted file mode 100644 index 0e5df1f98..000000000 --- a/data/sources/postgres/ui_config.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Credentials", - "secretFields": [ - "password" - ], - "docLinks": { - "grantPermissions": "https://docs.rudderstack.com/reverse-etl/postgresql/#granting-permissions", - "verifyingCredentials": "https://docs.rudderstack.com/reverse-etl/postgresql/#what-do-the-three-validations-under-verifying-credentials-imply", - "jsonMapperUseInstructions": "https://docs.rudderstack.com/reverse-etl/postgresql/#specifying-the-data-to-import", - "setupInstructions": "https://docs.rudderstack.com/reverse-etl/postgresql" - }, - "nameField": "user", - "fields": [ - { - "type": "textInput", - "label": "Host", - "value": "host", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true, - "addInAccountSummary": true, - "trim": true - }, - { - "type": "textInput", - "label": "Database", - "value": "dbname", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true, - "addInAccountSummary": true, - "trim": true - }, - { - "type": "textInput", - "label": "User", - "value": "user", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true, - "trim": true - }, - { - "type": "textInput", - "label": "Password", - "value": "password", - "inputFieldType": "password", - "regex": ".*", - "required": true, - "secret": true - }, - { - "type": "textInput", - "label": "Port", - "value": "port", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "inputFieldType": "number", - "required": true - }, - { - "type": "singleSelect", - "label": "SSL Mode", - "value": "sslMode", - "options": [ - { - "name": "disable", - "value": "disable" - }, - { - "name": "require", - "value": "require" - } - ], - "defaultOption": { - "name": "disable", - "value": "disable" - }, - "required": true - } - ] - } - ] -} \ No newline at end of file diff --git a/data/sources/posthog/db_config.json b/data/sources/posthog/db_config.json deleted file mode 100644 index a6d39bf61..000000000 --- a/data/sources/posthog/db_config.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "POSTHOG", - "displayName": "PostHog" -} \ No newline at end of file diff --git a/data/sources/posthog/metadata.json b/data/sources/posthog/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/posthog/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/posthog/schema.json b/data/sources/posthog/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/posthog/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/posthog/ui_config.json b/data/sources/posthog/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/posthog/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/python/db_config.json b/data/sources/python/db_config.json deleted file mode 100644 index 70c59db4a..000000000 --- a/data/sources/python/db_config.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Python", - "displayName": "Python" -} \ No newline at end of file diff --git a/data/sources/python/metadata.json b/data/sources/python/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/python/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/python/schema.json b/data/sources/python/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/python/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/python/ui_config.json b/data/sources/python/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/python/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/quickbooks/db_config.json b/data/sources/quickbooks/db_config.json deleted file mode 100644 index e905fc550..000000000 --- a/data/sources/quickbooks/db_config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "quickbooks", - "category": "cloud", - "displayName": "Quickbooks" -} \ No newline at end of file diff --git a/data/sources/quickbooks/metadata.json b/data/sources/quickbooks/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/quickbooks/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/quickbooks/schema.json b/data/sources/quickbooks/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/quickbooks/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/quickbooks/ui_config.json b/data/sources/quickbooks/ui_config.json deleted file mode 100644 index 2db727a01..000000000 --- a/data/sources/quickbooks/ui_config.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "uiConfig": { - "auth": { - "type": "OAuth" - } - } -} \ No newline at end of file diff --git a/data/sources/react_native/db_config.json b/data/sources/react_native/db_config.json deleted file mode 100644 index 878502d70..000000000 --- a/data/sources/react_native/db_config.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "ReactNative", - "displayName": "React Native" -} \ No newline at end of file diff --git a/data/sources/react_native/metadata.json b/data/sources/react_native/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/react_native/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/react_native/schema.json b/data/sources/react_native/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/react_native/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/react_native/ui_config.json b/data/sources/react_native/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/react_native/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/reactnative/db_config.json b/data/sources/reactnative/db_config.json deleted file mode 100644 index a5c0e6aa1..000000000 --- a/data/sources/reactnative/db_config.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "displayName": "React Native", - "name": "ReactNative" -} \ No newline at end of file diff --git a/data/sources/reactnative/metadata.json b/data/sources/reactnative/metadata.json deleted file mode 100644 index 3e8ccb1b2..000000000 --- a/data/sources/reactnative/metadata.json +++ /dev/null @@ -1 +0,0 @@ -{"docCategory": "", "docLink": ""} \ No newline at end of file diff --git a/data/sources/redshift/db_config.json b/data/sources/redshift/db_config.json deleted file mode 100644 index 1c4507a66..000000000 --- a/data/sources/redshift/db_config.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "redshift", - "category": "warehouse", - "displayName": "Redshift", - "options": { - "syncBehaviours": [ - "upsert", - "mirror" - ], - "isSqlModelSupported": true, - "isAudienceSupported": true - } -} \ No newline at end of file diff --git a/data/sources/redshift/metadata.json b/data/sources/redshift/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/redshift/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/redshift/schema.json b/data/sources/redshift/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/redshift/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/redshift/ui_config.json b/data/sources/redshift/ui_config.json deleted file mode 100644 index d72906888..000000000 --- a/data/sources/redshift/ui_config.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Credentials", - "secretFields": [ - "password" - ], - "docLinks": { - "grantPermissions": "https://docs.rudderstack.com/reverse-etl/amazon-redshift/#granting-permissions", - "verifyingCredentials": "https://docs.rudderstack.com/reverse-etl/amazon-redshift/#what-do-the-three-validations-under-verifying-credentials-imply", - "jsonMapperUseInstructions": "https://docs.rudderstack.com/reverse-etl/amazon-redshift/#specifying-the-data-to-import", - "setupInstructions": "https://docs.rudderstack.com/reverse-etl/amazon-redshift" - }, - "nameField": "user", - "fields": [ - { - "type": "textInput", - "label": "Host", - "value": "host", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true, - "addInAccountSummary": true, - "trim": true - }, - { - "type": "textInput", - "label": "Port", - "inputFieldType": "number", - "value": "port", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true - }, - { - "type": "textInput", - "label": "Database", - "value": "dbname", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true, - "addInAccountSummary": true, - "trim": true - }, - { - "type": "textInput", - "label": "User", - "value": "user", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true, - "trim": true - }, - { - "type": "textInput", - "label": "Password", - "value": "password", - "inputFieldType": "password", - "regex": ".*", - "required": true, - "secret": true - }, - { - "type": "singleSelect", - "label": "SSL Mode", - "value": "sslMode", - "options": [ - { - "name": "disable", - "value": "disable" - }, - { - "name": "require", - "value": "require" - } - ], - "defaultOption": { - "name": "disable", - "value": "disable" - }, - "required": true - } - ] - } - ] -} \ No newline at end of file diff --git a/data/sources/ruby/db_config.json b/data/sources/ruby/db_config.json deleted file mode 100644 index e6a00df96..000000000 --- a/data/sources/ruby/db_config.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Ruby", - "displayName": "Ruby" -} \ No newline at end of file diff --git a/data/sources/ruby/metadata.json b/data/sources/ruby/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/ruby/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/ruby/schema.json b/data/sources/ruby/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/ruby/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/ruby/ui_config.json b/data/sources/ruby/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/ruby/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/rust/db_config.json b/data/sources/rust/db_config.json deleted file mode 100644 index f343f02ac..000000000 --- a/data/sources/rust/db_config.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Rust", - "displayName": "Rust" -} \ No newline at end of file diff --git a/data/sources/rust/metadata.json b/data/sources/rust/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/rust/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/rust/schema.json b/data/sources/rust/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/rust/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/rust/ui_config.json b/data/sources/rust/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/rust/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/s3/db_config.json b/data/sources/s3/db_config.json deleted file mode 100644 index bb746a526..000000000 --- a/data/sources/s3/db_config.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "s3", - "category": "warehouse", - "displayName": "Amazon S3", - "options": { - "skipWarehouseSchemaConfig": true, - "isCredentialsValidationSupported": true - } -} \ No newline at end of file diff --git a/data/sources/s3/metadata.json b/data/sources/s3/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/s3/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/s3/schema.json b/data/sources/s3/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/s3/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/s3/ui_config.json b/data/sources/s3/ui_config.json deleted file mode 100644 index 37ec05525..000000000 --- a/data/sources/s3/ui_config.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Credentials", - "docLinks": { - "jsonMapperUseInstructions": "https://docs.rudderstack.com/reverse-etl/amazon-s3/#specifying-the-data-to-import", - "setupInstructions": "https://docs.rudderstack.com/reverse-etl/amazon-s3" - }, - "nameField": "rudder_account_name", - "secretFields": [ - "accessKey" - ], - "fields": [ - { - "type": "singleSelect", - "label": "Connection Mode", - "value": "connectionMode", - "options": [ - { - "name": "Cross-Account Role (recommended)", - "value": "crossAccountRole" - }, - { - "name": "Access Key", - "value": "accessKey" - } - ], - "defaultOption": { - "value": "crossAccountRole" - } - }, - { - "type": "textInput", - "label": "Account Name", - "value": "rudder_account_name", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true, - "trim": true - }, - { - "type": "textInput", - "label": "AWS Access Key ID", - "value": "accessKeyID", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true, - "placeholder": "e.g: access-key-id", - "secret": true, - "trim": true, - "preRequisiteField": { - "name": "connectionMode", - "selectedValue": "accessKey" - } - }, - { - "type": "textInput", - "label": "AWS Secret Access Key", - "value": "accessKey", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "inputFieldType": "password", - "required": true, - "placeholder": "e.g: secret-access-key", - "secret": true, - "preRequisiteField": { - "name": "connectionMode", - "selectedValue": "accessKey" - } - }, - { - "type": "textInput", - "label": "Role ARN", - "value": "roleARN", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Role ARN", - "required": true, - "placeholder": "arn:aws:iam::xxxx:role/xxxx", - "preRequisiteField": { - "name": "connectionMode", - "selectedValue": "crossAccountRole" - }, - "footerNote": "Please follow our docs to create the role ARN. For creating the role add the Account ID: `422074288268` and use Workspace Id as the External Id." - } - ] - } - ] -} \ No newline at end of file diff --git a/data/sources/salesforce/db_config.json b/data/sources/salesforce/db_config.json deleted file mode 100644 index 451ffa73d..000000000 --- a/data/sources/salesforce/db_config.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "salesforce", - "category": "cloud", - "displayName": "Salesforce", - "options": { - "hidden": true - } -} \ No newline at end of file diff --git a/data/sources/salesforce/metadata.json b/data/sources/salesforce/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/salesforce/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/salesforce/schema.json b/data/sources/salesforce/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/salesforce/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/salesforce/ui_config.json b/data/sources/salesforce/ui_config.json deleted file mode 100644 index 2db727a01..000000000 --- a/data/sources/salesforce/ui_config.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "uiConfig": { - "auth": { - "type": "OAuth" - } - } -} \ No newline at end of file diff --git a/data/sources/segment/db_config.json b/data/sources/segment/db_config.json deleted file mode 100644 index cfebf9e26..000000000 --- a/data/sources/segment/db_config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Segment", - "category": "webhook", - "displayName": "Segment" -} \ No newline at end of file diff --git a/data/sources/segment/metadata.json b/data/sources/segment/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/segment/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/segment/schema.json b/data/sources/segment/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/segment/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/segment/ui_config.json b/data/sources/segment/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/segment/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/sendgrid/db_config.json b/data/sources/sendgrid/db_config.json deleted file mode 100644 index d235fd7ca..000000000 --- a/data/sources/sendgrid/db_config.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "sendgrid", - "category": "cloud", - "displayName": "SendGrid", - "options": { - "hidden": true - } -} \ No newline at end of file diff --git a/data/sources/sendgrid/metadata.json b/data/sources/sendgrid/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/sendgrid/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/sendgrid/schema.json b/data/sources/sendgrid/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/sendgrid/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/sendgrid/ui_config.json b/data/sources/sendgrid/ui_config.json deleted file mode 100644 index a49eb3d50..000000000 --- a/data/sources/sendgrid/ui_config.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "uiConfig": { - "auth": { - "type": "form", - "secretFields": [ - "apiKey" - ], - "nameField": "rudder_account_name", - "config": [ - { - "fields": [ - { - "type": "textInput", - "label": "Account Name", - "value": "rudder_account_name", - "regex": ".*", - "required": true, - "placeholder": "e.g: account name" - }, - { - "type": "textInput", - "label": "API Key", - "value": "apiKey", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true - } - ] - } - ] - } - } -} \ No newline at end of file diff --git a/data/sources/shopify/db_config.json b/data/sources/shopify/db_config.json deleted file mode 100644 index af7e3f350..000000000 --- a/data/sources/shopify/db_config.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "Shopify", - "category": "webhook", - "displayName": "Shopify", - "options": { - "isBeta": false - } -} \ No newline at end of file diff --git a/data/sources/shopify/metadata.json b/data/sources/shopify/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/shopify/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/shopify/schema.json b/data/sources/shopify/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/shopify/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/shopify/ui_config.json b/data/sources/shopify/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/shopify/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/signl4/db_config.json b/data/sources/signl4/db_config.json deleted file mode 100644 index edf28aa3c..000000000 --- a/data/sources/signl4/db_config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "signl4", - "category": "webhook", - "displayName": "SIGNL4" -} \ No newline at end of file diff --git a/data/sources/signl4/metadata.json b/data/sources/signl4/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/signl4/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/signl4/schema.json b/data/sources/signl4/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/signl4/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/signl4/ui_config.json b/data/sources/signl4/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/signl4/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/singer-recurly/db_config.json b/data/sources/singer-recurly/db_config.json deleted file mode 100644 index df1c99f3c..000000000 --- a/data/sources/singer-recurly/db_config.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "singer-recurly", - "category": "singer-protocol", - "displayName": "Recurly", - "options": { - "isBeta": false, - "image": "rudderstack/source-recurly:v2.0.0", - "digest": "sha256:628d6c46a6b468f5df0ea637cbe1a37afcaade40bfea1110e8ded74a2187a5cd" - } -} \ No newline at end of file diff --git a/data/sources/singer-recurly/metadata.json b/data/sources/singer-recurly/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/singer-recurly/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/singer-recurly/schema.json b/data/sources/singer-recurly/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/singer-recurly/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/singer-recurly/ui_config.json b/data/sources/singer-recurly/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/singer-recurly/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/singer_amplitude/metadata.json b/data/sources/singer_amplitude/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/singer_amplitude/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/singer_amplitude/schema.json b/data/sources/singer_amplitude/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/singer_amplitude/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/singer_amplitude/ui_config.json b/data/sources/singer_amplitude/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/singer_amplitude/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/singer_bing_ads/db_config.json b/data/sources/singer_bing_ads/db_config.json deleted file mode 100644 index ee3b9f70c..000000000 --- a/data/sources/singer_bing_ads/db_config.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "name": "singer-bing-ads", - "category": "singer-protocol", - "displayName": "Bing Ads V2", - "options": { - "auth": { - "oauthRole": "bing_ads" - }, - "isBeta": true, - "image": "rudderstack/source-bing-ads:v4.0.5" - } -} \ No newline at end of file diff --git a/data/sources/singer_bing_ads/metadata.json b/data/sources/singer_bing_ads/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/singer_bing_ads/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/singer_bing_ads/schema.json b/data/sources/singer_bing_ads/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/singer_bing_ads/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/singer_bing_ads/ui_config.json b/data/sources/singer_bing_ads/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/singer_bing_ads/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/singer_chargebee/db_config.json b/data/sources/singer_chargebee/db_config.json deleted file mode 100644 index 787906d9e..000000000 --- a/data/sources/singer_chargebee/db_config.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "singer-chargebee", - "category": "singer-protocol", - "displayName": "Chargebee", - "options": { - "image": "rudderstack/source-chargebee:v2.0.0", - "digest": "sha256:b83d459bef179ebc5f17b82e0d58a1df111df5e59730ebe41137c06df7510061" - } -} \ No newline at end of file diff --git a/data/sources/singer_chargebee/metadata.json b/data/sources/singer_chargebee/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/singer_chargebee/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/singer_chargebee/schema.json b/data/sources/singer_chargebee/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/singer_chargebee/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/singer_chargebee/ui_config.json b/data/sources/singer_chargebee/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/singer_chargebee/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/singer_customer_io/db_config.json b/data/sources/singer_customer_io/db_config.json deleted file mode 100644 index d076a4628..000000000 --- a/data/sources/singer_customer_io/db_config.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "singer-customer-io", - "category": "singer-protocol", - "displayName": "Customer.io", - "options": { - "image": "rudderstack/source-customer-io:v1", - "digest": "sha256:177b64138c431332337ef946ff903a31883de51068475504978371797b8dd481" - } -} \ No newline at end of file diff --git a/data/sources/singer_customer_io/metadata.json b/data/sources/singer_customer_io/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/singer_customer_io/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/singer_customer_io/schema.json b/data/sources/singer_customer_io/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/singer_customer_io/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/singer_customer_io/ui_config.json b/data/sources/singer_customer_io/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/singer_customer_io/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/singer_facebook_marketing/db_config.json b/data/sources/singer_facebook_marketing/db_config.json deleted file mode 100644 index c53b59715..000000000 --- a/data/sources/singer_facebook_marketing/db_config.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "singer-facebook-marketing", - "category": "singer-protocol", - "displayName": "Facebook Marketing", - "options": { - "isBeta": true, - "image": "rudderstack/source-facebook-marketing:v4.0.1", - "hidden": false - } -} \ No newline at end of file diff --git a/data/sources/singer_facebook_marketing/metadata.json b/data/sources/singer_facebook_marketing/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/singer_facebook_marketing/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/singer_facebook_marketing/schema.json b/data/sources/singer_facebook_marketing/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/singer_facebook_marketing/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/singer_facebook_marketing/ui_config.json b/data/sources/singer_facebook_marketing/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/singer_facebook_marketing/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/singer_freshdesk/db_config.json b/data/sources/singer_freshdesk/db_config.json deleted file mode 100644 index ffe04619f..000000000 --- a/data/sources/singer_freshdesk/db_config.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "singer-freshdesk", - "category": "singer-protocol", - "displayName": "Freshdesk", - "options": { - "image": "rudderstack/source-freshdesk:v4.0.3" - } -} \ No newline at end of file diff --git a/data/sources/singer_freshdesk/metadata.json b/data/sources/singer_freshdesk/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/singer_freshdesk/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/singer_freshdesk/schema.json b/data/sources/singer_freshdesk/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/singer_freshdesk/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/singer_freshdesk/ui_config.json b/data/sources/singer_freshdesk/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/singer_freshdesk/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/singer_google_ads/db_config.json b/data/sources/singer_google_ads/db_config.json deleted file mode 100644 index 90d1d2b88..000000000 --- a/data/sources/singer_google_ads/db_config.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "singer-google_adwords", - "category": "singer-protocol", - "displayName": "Google ads", - "options": { - "auth": { - "provider": "Google" - }, - "digest": "sha256:9b52972787a0747792ed43d0d909eee3f0d1c3fe755b2492e109d63cd9731fd6", - "image": "rudderstack/source-google-ads:v4.0.6", - "isBeta": false - } -} \ No newline at end of file diff --git a/data/sources/singer_google_ads/metadata.json b/data/sources/singer_google_ads/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/singer_google_ads/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/singer_google_ads/schema.json b/data/sources/singer_google_ads/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/singer_google_ads/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/singer_google_ads/ui_config.json b/data/sources/singer_google_ads/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/singer_google_ads/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/singer_google_analytics/db_config.json b/data/sources/singer_google_analytics/db_config.json deleted file mode 100644 index 274f1097f..000000000 --- a/data/sources/singer_google_analytics/db_config.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "name": "singer-google-analytics", - "category": "singer-protocol", - "displayName": "Google Analytics", - "options": { - "auth": { - "oauthRole": "singer-google-analytics", - "provider": "Google" - }, - "image": "rudderstack/source-google-analytics:v2.1" - } -} \ No newline at end of file diff --git a/data/sources/singer_google_analytics/metadata.json b/data/sources/singer_google_analytics/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/singer_google_analytics/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/singer_google_analytics/schema.json b/data/sources/singer_google_analytics/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/singer_google_analytics/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/singer_google_analytics/ui_config.json b/data/sources/singer_google_analytics/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/singer_google_analytics/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/singer_google_analytics_v4/db_config.json b/data/sources/singer_google_analytics_v4/db_config.json deleted file mode 100644 index b1f9fa5da..000000000 --- a/data/sources/singer_google_analytics_v4/db_config.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "singer-google-analytics-v4", - "category": "singer-protocol", - "displayName": "Google Analytics 4", - "options": { - "auth": { - "oauthRole": "singer-google-analytics", - "provider": "Google" - }, - "isBeta": true, - "image": "rudderstack/source-google-analytics-v4:v4.0.1" - } -} \ No newline at end of file diff --git a/data/sources/singer_google_analytics_v4/metadata.json b/data/sources/singer_google_analytics_v4/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/singer_google_analytics_v4/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/singer_google_analytics_v4/schema.json b/data/sources/singer_google_analytics_v4/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/singer_google_analytics_v4/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/singer_google_analytics_v4/ui_config.json b/data/sources/singer_google_analytics_v4/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/singer_google_analytics_v4/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/singer_google_search_console/metadata.json b/data/sources/singer_google_search_console/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/singer_google_search_console/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/singer_google_search_console/schema.json b/data/sources/singer_google_search_console/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/singer_google_search_console/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/singer_google_search_console/ui_config.json b/data/sources/singer_google_search_console/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/singer_google_search_console/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/singer_google_sheets/db_config.json b/data/sources/singer_google_sheets/db_config.json deleted file mode 100644 index 6ed77d47c..000000000 --- a/data/sources/singer_google_sheets/db_config.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "name": "singer-google-sheets", - "category": "singer-protocol", - "displayName": "Google Sheets V2", - "options": { - "auth": { - "provider": "Google" - }, - "isBeta": true, - "image": "rudderstack/source-google-sheets:v4.0.5" - } -} \ No newline at end of file diff --git a/data/sources/singer_google_sheets/metadata.json b/data/sources/singer_google_sheets/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/singer_google_sheets/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/singer_google_sheets/schema.json b/data/sources/singer_google_sheets/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/singer_google_sheets/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/singer_google_sheets/ui_config.json b/data/sources/singer_google_sheets/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/singer_google_sheets/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/singer_hubspot/db_config.json b/data/sources/singer_hubspot/db_config.json deleted file mode 100644 index d3d853a59..000000000 --- a/data/sources/singer_hubspot/db_config.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "name": "singer-hubspot", - "category": "singer-protocol", - "displayName": "HubSpot", - "options": { - "auth": { - "oauthRole": "hubspot" - }, - "image": "rudderstack/source-hubspot:v4.0.5", - "isBeta": false - } -} \ No newline at end of file diff --git a/data/sources/singer_hubspot/metadata.json b/data/sources/singer_hubspot/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/singer_hubspot/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/singer_hubspot/schema.json b/data/sources/singer_hubspot/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/singer_hubspot/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/singer_hubspot/ui_config.json b/data/sources/singer_hubspot/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/singer_hubspot/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/singer_intercom/metadata.json b/data/sources/singer_intercom/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/singer_intercom/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/singer_intercom/schema.json b/data/sources/singer_intercom/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/singer_intercom/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/singer_intercom/ui_config.json b/data/sources/singer_intercom/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/singer_intercom/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/singer_iterable/metadata.json b/data/sources/singer_iterable/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/singer_iterable/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/singer_iterable/schema.json b/data/sources/singer_iterable/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/singer_iterable/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/singer_iterable/ui_config.json b/data/sources/singer_iterable/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/singer_iterable/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/singer_klaviyo/db_config.json b/data/sources/singer_klaviyo/db_config.json deleted file mode 100644 index cef004fae..000000000 --- a/data/sources/singer_klaviyo/db_config.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "singer-klaviyo", - "category": "singer-protocol", - "displayName": "Klaviyo", - "options": { - "digest": "sha256:da89670d1800b8b8e96987bc4a9660a383e7ba7d400d210908580f3c7fd07332", - "image": "rudderstack/source-klaviyo:v2.0.0" - } -} \ No newline at end of file diff --git a/data/sources/singer_klaviyo/metadata.json b/data/sources/singer_klaviyo/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/singer_klaviyo/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/singer_klaviyo/schema.json b/data/sources/singer_klaviyo/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/singer_klaviyo/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/singer_klaviyo/ui_config.json b/data/sources/singer_klaviyo/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/singer_klaviyo/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/singer_mailchimp/db_config.json b/data/sources/singer_mailchimp/db_config.json deleted file mode 100644 index 907cfbd30..000000000 --- a/data/sources/singer_mailchimp/db_config.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "singer-mailchimp", - "category": "singer-protocol", - "displayName": "Mailchimp", - "options": { - "auth": { - "oauthRole": "mailchimp" - }, - "isBeta": true, - "image": "rudderstack/source-mailchimp:v1", - "hidden": true - } -} \ No newline at end of file diff --git a/data/sources/singer_mailchimp/metadata.json b/data/sources/singer_mailchimp/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/singer_mailchimp/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/singer_mailchimp/schema.json b/data/sources/singer_mailchimp/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/singer_mailchimp/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/singer_mailchimp/ui_config.json b/data/sources/singer_mailchimp/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/singer_mailchimp/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/singer_mixpanel/db_config.json b/data/sources/singer_mixpanel/db_config.json deleted file mode 100644 index 7be834d13..000000000 --- a/data/sources/singer_mixpanel/db_config.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "singer-mixpanel", - "category": "singer-protocol", - "displayName": "Mixpanel", - "options": { - "image": "rudderstack/source-mixpanel:v2.0.1" - } -} \ No newline at end of file diff --git a/data/sources/singer_mixpanel/metadata.json b/data/sources/singer_mixpanel/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/singer_mixpanel/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/singer_mixpanel/schema.json b/data/sources/singer_mixpanel/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/singer_mixpanel/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/singer_mixpanel/ui_config.json b/data/sources/singer_mixpanel/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/singer_mixpanel/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/singer_pardot/db_config.json b/data/sources/singer_pardot/db_config.json deleted file mode 100644 index f3f37b6fd..000000000 --- a/data/sources/singer_pardot/db_config.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "singer-pardot", - "category": "singer-protocol", - "displayName": "Pardot", - "options": { - "auth": { - "oauthRole": "pardot" - }, - "isBeta": true, - "image": "rudderstack/source-pardot:v1", - "hidden": true - } -} \ No newline at end of file diff --git a/data/sources/singer_pardot/metadata.json b/data/sources/singer_pardot/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/singer_pardot/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/singer_pardot/schema.json b/data/sources/singer_pardot/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/singer_pardot/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/singer_pardot/ui_config.json b/data/sources/singer_pardot/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/singer_pardot/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/singer_pipedrive/db_config.json b/data/sources/singer_pipedrive/db_config.json deleted file mode 100644 index a20a37ad4..000000000 --- a/data/sources/singer_pipedrive/db_config.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "singer-pipedrive", - "category": "singer-protocol", - "displayName": "Pipedrive", - "options": { - "auth": { - "oauthRole": "pipedrive" - }, - "isBeta": true, - "image": "rudderstack/source-pipedrive:v1", - "hidden": true - } -} \ No newline at end of file diff --git a/data/sources/singer_pipedrive/metadata.json b/data/sources/singer_pipedrive/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/singer_pipedrive/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/singer_pipedrive/schema.json b/data/sources/singer_pipedrive/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/singer_pipedrive/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/singer_pipedrive/ui_config.json b/data/sources/singer_pipedrive/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/singer_pipedrive/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/singer_quickbooks/db_config.json b/data/sources/singer_quickbooks/db_config.json deleted file mode 100644 index ac44acf1c..000000000 --- a/data/sources/singer_quickbooks/db_config.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "singer-quickbooks", - "category": "singer-protocol", - "displayName": "Quickbooks", - "options": { - "auth": { - "oauthRole": "quickbooks" - }, - "isBeta": true, - "image": "rudderstack/source-quickbooks:v1", - "hidden": true - } -} \ No newline at end of file diff --git a/data/sources/singer_quickbooks/metadata.json b/data/sources/singer_quickbooks/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/singer_quickbooks/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/singer_quickbooks/schema.json b/data/sources/singer_quickbooks/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/singer_quickbooks/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/singer_quickbooks/ui_config.json b/data/sources/singer_quickbooks/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/singer_quickbooks/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/singer_salesforce/metadata.json b/data/sources/singer_salesforce/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/singer_salesforce/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/singer_salesforce/schema.json b/data/sources/singer_salesforce/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/singer_salesforce/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/singer_salesforce/ui_config.json b/data/sources/singer_salesforce/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/singer_salesforce/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/singer_sendgrid/metadata.json b/data/sources/singer_sendgrid/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/singer_sendgrid/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/singer_sendgrid/schema.json b/data/sources/singer_sendgrid/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/singer_sendgrid/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/singer_sendgrid/ui_config.json b/data/sources/singer_sendgrid/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/singer_sendgrid/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/singer_stripe/db_config.json b/data/sources/singer_stripe/db_config.json deleted file mode 100644 index 6f90c4eeb..000000000 --- a/data/sources/singer_stripe/db_config.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "singer-stripe", - "category": "singer-protocol", - "displayName": "Stripe", - "options": { - "isBeta": true, - "image": "rudderstack/source-stripe:v1", - "hidden": true - } -} \ No newline at end of file diff --git a/data/sources/singer_stripe/metadata.json b/data/sources/singer_stripe/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/singer_stripe/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/singer_stripe/schema.json b/data/sources/singer_stripe/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/singer_stripe/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/singer_stripe/ui_config.json b/data/sources/singer_stripe/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/singer_stripe/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/singer_zendesk_chat/db_config.json b/data/sources/singer_zendesk_chat/db_config.json deleted file mode 100644 index fd6607da6..000000000 --- a/data/sources/singer_zendesk_chat/db_config.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "singer-zendesk-chat", - "category": "singer-protocol", - "displayName": "Zendesk Chat", - "options": { - "auth": { - "oauthRole": "singer-zendesk-chat" - }, - "image": "rudderstack/source-zendesk-chat:v2.0.2" - } -} \ No newline at end of file diff --git a/data/sources/singer_zendesk_chat/metadata.json b/data/sources/singer_zendesk_chat/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/singer_zendesk_chat/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/singer_zendesk_chat/schema.json b/data/sources/singer_zendesk_chat/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/singer_zendesk_chat/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/singer_zendesk_chat/ui_config.json b/data/sources/singer_zendesk_chat/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/singer_zendesk_chat/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/singer_zendesk_support/db_config.json b/data/sources/singer_zendesk_support/db_config.json deleted file mode 100644 index fd2ee3aa4..000000000 --- a/data/sources/singer_zendesk_support/db_config.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "singer-zendesk-support", - "category": "singer-protocol", - "displayName": "Zendesk Support", - "options": { - "image": "rudderstack/source-zendesk-support:v1" - } -} \ No newline at end of file diff --git a/data/sources/singer_zendesk_support/metadata.json b/data/sources/singer_zendesk_support/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/singer_zendesk_support/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/singer_zendesk_support/schema.json b/data/sources/singer_zendesk_support/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/singer_zendesk_support/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/singer_zendesk_support/ui_config.json b/data/sources/singer_zendesk_support/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/singer_zendesk_support/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/snowflake/db_config.json b/data/sources/snowflake/db_config.json deleted file mode 100644 index 5bd6b8f68..000000000 --- a/data/sources/snowflake/db_config.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "snowflake", - "category": "warehouse", - "displayName": "Snowflake", - "options": { - "syncBehaviours": [ - "upsert", - "mirror" - ], - "isSqlModelSupported": true, - "isAudienceSupported": true - } -} \ No newline at end of file diff --git a/data/sources/snowflake/metadata.json b/data/sources/snowflake/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/snowflake/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/snowflake/schema.json b/data/sources/snowflake/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/snowflake/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/snowflake/ui_config.json b/data/sources/snowflake/ui_config.json deleted file mode 100644 index fad4a7e20..000000000 --- a/data/sources/snowflake/ui_config.json +++ /dev/null @@ -1,91 +0,0 @@ -{ - "uiConfig": [ - { - "title": "Connection Credentials", - "secretFields": [ - "password" - ], - "docLinks": { - "grantPermissions": "https://docs.rudderstack.com/reverse-etl/snowflake/#granting-permissions", - "verifyingCredentials": "https://docs.rudderstack.com/reverse-etl/snowflake/#what-do-the-three-validations-under-verifying-credentials-imply", - "jsonMapperUseInstructions": "https://docs.rudderstack.com/reverse-etl/snowflake/#specifying-the-data-to-import", - "setupInstructions": "https://docs.rudderstack.com/reverse-etl/snowflake" - }, - "nameField": "account", - "fields": [ - { - "type": "textInput", - "label": "Account", - "value": "account", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true, - "addInAccountSummary": true, - "trim": true - }, - { - "type": "textInput", - "label": "Database", - "value": "dbname", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true, - "addInAccountSummary": true, - "trim": true - }, - { - "type": "textInput", - "label": "Warehouse", - "value": "warehouse", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true, - "addInAccountSummary": true, - "trim": true - }, - { - "type": "textInput", - "label": "User", - "value": "user", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true, - "trim": true - }, - { - "type": "textInput", - "label": "Password", - "value": "password", - "inputFieldType": "password", - "regex": ".*", - "required": true, - "secret": true - }, - { - "type": "singleSelect", - "label": "Choose your Cloud", - "value": "cloudProvider", - "options": [ - { - "name": "Amazon Web Services", - "value": "AWS" - }, - { - "name": "Google Cloud Platform", - "value": "GCP" - }, - { - "name": "Microsoft Azure", - "value": "AZURE" - } - ], - "defaultOption": { - "name": "Amazon Web Services", - "value": "AWS" - }, - "required": true - } - ] - } - ] -} \ No newline at end of file diff --git a/data/sources/stripe/db_config.json b/data/sources/stripe/db_config.json deleted file mode 100644 index 076a86712..000000000 --- a/data/sources/stripe/db_config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "stripe", - "category": "cloud", - "displayName": "Stripe" -} \ No newline at end of file diff --git a/data/sources/stripe/metadata.json b/data/sources/stripe/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/stripe/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/stripe/schema.json b/data/sources/stripe/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/stripe/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/stripe/ui_config.json b/data/sources/stripe/ui_config.json deleted file mode 100644 index f39982687..000000000 --- a/data/sources/stripe/ui_config.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "uiConfig": { - "auth": { - "type": "OAuth" - }, - "config": [ - { - "title": "Source Settings", - "fields": [ - { - "type": "singleSelect", - "label": "Stripe Version", - "value": "stripeVersion", - "options": [ - { - "name": "2020-08-27", - "value": "2020-08-27" - }, - { - "name": "2020-03-02", - "value": "2020-03-02" - }, - { - "name": "2019-12-03", - "value": "2019-12-03" - }, - { - "name": "2019-11-05", - "value": "2019-11-05" - }, - { - "name": "2019-10-17", - "value": "2019-10-17" - }, - { - "name": "2019-10-08", - "value": "2019-10-08" - }, - { - "name": "2019-09-09", - "value": "2019-09-09" - }, - { - "name": "2019-08-14", - "value": "2019-08-14" - }, - { - "name": "2019-05-16", - "value": "2019-05-16" - }, - { - "name": "2019-03-14", - "value": "2019-03-14" - }, - { - "name": "2019-02-19", - "value": "2019-02-19" - }, - { - "name": "2019-02-11", - "value": "2019-02-11" - }, - { - "name": "2018-11-08", - "value": "2018-11-08" - }, - { - "name": "2018-10-31", - "value": "2018-10-31" - }, - { - "name": "2018-09-24", - "value": "2018-09-24" - }, - { - "name": "2018-08-23", - "value": "2018-08-23" - }, - { - "name": "2018-07-27", - "value": "2018-07-27" - }, - { - "name": "2018-05-21", - "value": "2018-05-21" - }, - { - "name": "2018-02-28", - "value": "2018-02-28" - }, - { - "name": "2018-02-05", - "value": "2018-02-05" - }, - { - "name": "2018-01-23", - "value": "2018-01-23" - }, - { - "name": "2017-12-14", - "value": "2017-12-14" - }, - { - "name": "2017-08-15", - "value": "2017-08-15" - }, - { - "name": "2017-05-25", - "value": "2017-05-25" - }, - { - "name": "2017-04-06", - "value": "2017-04-06" - }, - { - "name": "2017-02-14", - "value": "2017-02-14" - } - ], - "defaultOption": { - "name": "Default Version", - "value": "" - }, - "required": true - } - ] - } - ] - } -} \ No newline at end of file diff --git a/data/sources/unity/db_config.json b/data/sources/unity/db_config.json deleted file mode 100644 index 09cf7aa21..000000000 --- a/data/sources/unity/db_config.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Unity", - "displayName": "Unity" -} \ No newline at end of file diff --git a/data/sources/unity/metadata.json b/data/sources/unity/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/unity/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/unity/schema.json b/data/sources/unity/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/unity/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/unity/ui_config.json b/data/sources/unity/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/unity/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/webhook/db_config.json b/data/sources/webhook/db_config.json deleted file mode 100644 index 49a098057..000000000 --- a/data/sources/webhook/db_config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "webhook", - "category": "webhook", - "displayName": "Webhook Source" -} \ No newline at end of file diff --git a/data/sources/webhook/metadata.json b/data/sources/webhook/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/webhook/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/webhook/schema.json b/data/sources/webhook/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/webhook/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/webhook/ui_config.json b/data/sources/webhook/ui_config.json deleted file mode 100644 index 84fcddaca..000000000 --- a/data/sources/webhook/ui_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "uiConfig": null -} \ No newline at end of file diff --git a/data/sources/xero/db_config.json b/data/sources/xero/db_config.json deleted file mode 100644 index 0a64a3b01..000000000 --- a/data/sources/xero/db_config.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "xero", - "category": "cloud", - "displayName": "Xero", - "options": { - "auth": { - "provider": "Xero" - }, - "hidden": true - } -} \ No newline at end of file diff --git a/data/sources/xero/metadata.json b/data/sources/xero/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/xero/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/xero/schema.json b/data/sources/xero/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/xero/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/xero/ui_config.json b/data/sources/xero/ui_config.json deleted file mode 100644 index 426416e5a..000000000 --- a/data/sources/xero/ui_config.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "uiConfig": { - "auth": { - "type": "OAuth" - }, - "config": [ - { - "title": "Source Settings", - "fields": [ - { - "method": "post", - "type": "dynamicSelect", - "url": "/cloudSources/info/roles/xero/info/tenants", - "label": "Tenant Id", - "labelKey": "tenantId", - "valueKey": "tenantId", - "value": "tenantId", - "required": true - }, - { - "type": "singleSelect", - "label": "Earliest report year", - "value": "reportStartYear", - "footerNote": "Fetch monthly reports starting from this year.", - "required": true, - "options": [ - 2019, - 2018, - 2017, - 2016, - 2015 - ], - "default": 2019 - }, - { - "type": "singleSelect", - "label": "Report starting month", - "value": "reportPastMonths", - "footerNote": "Starting month for each monthly report.", - "required": true, - "options": [ - 1, - 3, - 6, - 12 - ], - "default": 6 - } - ] - } - ] - } -} \ No newline at end of file diff --git a/data/sources/zendesk/db_config.json b/data/sources/zendesk/db_config.json deleted file mode 100644 index 49d894955..000000000 --- a/data/sources/zendesk/db_config.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "zendesk", - "category": "cloud", - "displayName": "Zendesk", - "options": { - "hidden": true - } -} \ No newline at end of file diff --git a/data/sources/zendesk/metadata.json b/data/sources/zendesk/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/zendesk/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/zendesk/schema.json b/data/sources/zendesk/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/zendesk/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/zendesk/ui_config.json b/data/sources/zendesk/ui_config.json deleted file mode 100644 index 141d67169..000000000 --- a/data/sources/zendesk/ui_config.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "uiConfig": { - "auth": { - "type": "form", - "secretFields": [ - "token" - ], - "nameField": "username", - "config": [ - { - "fields": [ - { - "type": "textInput", - "label": "Subdomain", - "value": "subdomain", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true - }, - { - "type": "textInput", - "label": "Zendesk username (Email)", - "value": "username", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true - }, - { - "type": "textInput", - "label": "Token", - "value": "token", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value", - "required": true - } - ] - } - ] - } - } -} \ No newline at end of file diff --git a/data/sources/zendesk_chat/db_config.json b/data/sources/zendesk_chat/db_config.json deleted file mode 100644 index 8c6d748b2..000000000 --- a/data/sources/zendesk_chat/db_config.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "zendesk_chat", - "category": "cloud", - "displayName": "Zendesk Chat", - "options": { - "hidden": true - } -} \ No newline at end of file diff --git a/data/sources/zendesk_chat/metadata.json b/data/sources/zendesk_chat/metadata.json deleted file mode 100644 index 3ac9c5571..000000000 --- a/data/sources/zendesk_chat/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "metadata": { - "primaryCategory": "", - "secondaryCategory": [], - "docLink": "", - "logoPath": "", - "releaseStatus": "beta", - "sourceCode": { - "github": "", - "version": "v1.0.0" - } - } -} \ No newline at end of file diff --git a/data/sources/zendesk_chat/schema.json b/data/sources/zendesk_chat/schema.json deleted file mode 100644 index 0d2667101..000000000 --- a/data/sources/zendesk_chat/schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "configSchema": null -} \ No newline at end of file diff --git a/data/sources/zendesk_chat/ui_config.json b/data/sources/zendesk_chat/ui_config.json deleted file mode 100644 index 45e72c332..000000000 --- a/data/sources/zendesk_chat/ui_config.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "uiConfig": { - "auth": { - "type": "OAuth", - "config": [ - { - "fields": [ - { - "type": "textInput", - "label": "Subdomain", - "value": "subdomain", - "required": true, - "footerNote": "Subdomain of your Zendesk Chat URL", - "regex": "^(.{0,100})$", - "regexErrorMessage": "Invalid Value" - } - ] - } - ] - } - } -} \ No newline at end of file diff --git a/jest.config.js b/jest.config.js index c086fac75..1ad333852 100644 --- a/jest.config.js +++ b/jest.config.js @@ -1,10 +1,8 @@ -const { pathsToModuleNameMapper } = require('ts-jest'); -const { compilerOptions } = require('./tsconfig.paths.json'); - // For a detailed explanation regarding each configuration property, visit: // https://jestjs.io/docs/en/configuration.html module.exports = { + prettierPath: 'prettier', // All imported modules in your tests should be mocked automatically // automock: false, @@ -15,35 +13,41 @@ module.exports = { // browser: false, // The directory where Jest should store its cached dependency information - // cacheDirectory: "/private/var/folders/bj/xt4sffgd21z57fxhvqrd30_80000gn/T/jest_dx", + cacheDirectory: '/node_modules/.cache/unit-tests', // Automatically clear mock calls and instances between every test - // clearMocks: false, + clearMocks: true, // Indicates whether the coverage information should be collected while executing the test // collectCoverage: false, // An array of glob patterns indicating a set of files for which coverage information should be collected - // collectCoverageFrom: null, + collectCoverageFrom: ['src/**/*.[jt]s'], // The directory where Jest should output its coverage files - coverageDirectory: 'coverage', + coverageDirectory: 'reports/coverage', // An array of regexp pattern strings used to skip coverage collection - coveragePathIgnorePatterns: [ - '/node_modules/', - ], + coveragePathIgnorePatterns: [], // A list of reporter names that Jest uses when writing coverage reports // coverageReporters: [ // "json", // "text", // "lcov", - // "clover" + // "clover", + // { projectRoot: '/'} // ], // An object that configures minimum threshold enforcement for coverage results - // coverageThreshold: null, + coverageThreshold: { + global: { + branches: 100, + functions: 100, + lines: 100, + statements: 100, + }, + }, // A path to a custom dependency extractor // dependencyExtractor: null, @@ -82,10 +86,7 @@ module.exports = { // ], // A map from regular expressions to module names that allow to stub out resources with a single module - moduleNameMapper: { - ...pathsToModuleNameMapper(compilerOptions.paths, { prefix: '/' }), - '^__tests__/(.*)$': '/__tests__/$1', - }, + // moduleNameMapper: {}, // An array of regexp pattern strings, matched against all module paths before considered 'visible' to the module loader // modulePathIgnorePatterns: [], @@ -147,20 +148,10 @@ module.exports = { // testLocationInResults: false, // The glob patterns Jest uses to detect test files - // testMatch: [ - // "**/__tests__/**/*.[jt]s?(x)", - // "**/?(*.)+(spec|test).[tj]s?(x)" - // ], + testMatch: ['/test/**/*test.[jt]s?(x)', '/test/**/?(*.)+(spec|test).[tj]s?(x)'], // An array of regexp pattern strings that are matched against all test paths, matched tests are skipped - testPathIgnorePatterns: [ - '/node_modules/', - 'migration', - 'generic.test.js', - '__tests__/v1/', - '__tests__/config.js', - '__tests__/testUtils.ts', - ], + testPathIgnorePatterns: ['/node_modules/'], // The regexp pattern or array of patterns that Jest uses to detect test files // testRegex: [], @@ -191,7 +182,7 @@ module.exports = { // unmockedModulePathPatterns: undefined, // Indicates whether each individual test should be reported during the run - // verbose: null, + verbose: true, // An array of regexp patterns that are matched against all source file paths before re-running tests in watch mode watchPathIgnorePatterns: ['node_modules'], diff --git a/migration/dest_meta_template.json b/migration/dest_meta_template.json index eb27f6bb0..59c4d726b 100644 --- a/migration/dest_meta_template.json +++ b/migration/dest_meta_template.json @@ -1,4 +1,3 @@ - { "metadata": { "primaryCategory": "", @@ -24,4 +23,3 @@ } } } - diff --git a/migration/migrate.py b/migration/migrate.py index 8748c593e..79c958304 100644 --- a/migration/migrate.py +++ b/migration/migrate.py @@ -10,6 +10,10 @@ SOURCE_CONFIG_BE_FILE_PATH = 'rudder-config-backend/src/scripts/sourceConfigs/' # SOURCE_SCHEMA_FILE_PATH = 'rudder-config-backend/src/scripts/schemaList/destinations/' +CONFIGURATIONS_DIR_PATH = '../src/configurations' +DEST_CONFIG_PATH = f'{CONFIGURATIONS_DIR_PATH}/destinations' +SRC_CONFIG_PATH = f'{CONFIGURATIONS_DIR_PATH}/sources' + def update_destination(): dest_list = [d[:-5].lower() for d in os.listdir(f'../../{DEST_CONFIG_BE_FILE_PATH}')] for dest in dest_list: @@ -45,14 +49,14 @@ def update_destination(): ######################## ## write new files ######################## - if dest not in os.listdir('../data/destinations'): - os.system(f'mkdir ../data/destinations/{dest}') + if dest not in os.listdir(DEST_CONFIG_PATH): + os.system(f'mkdir {DEST_CONFIG_PATH}/{dest}') print (f'created directory for {dest}') - file_names = ['db_config', 'ui_config', 'schema', 'metadata'] + file_names = ['db-config', 'ui-config', 'schema', 'metadata'] for index, f_name in enumerate(file_names): print (f'writing {f_name} for {dest}...') - with open(f'../data/destinations/{dest}/{f_name}.json', 'w') as f: + with open(f'{DEST_CONFIG_PATH}/{dest}/{f_name}.json', 'w') as f: f.write(json.dumps(final_data[index], indent=2)) print (f'complete for {dest}...') @@ -96,14 +100,14 @@ def update_source(): ######################## ## write new files ######################## - if source not in os.listdir('../data/sources'): - os.system(f'mkdir ../data/sources/{source}') + if source not in os.listdir(SRC_CONFIG_PATH): + os.system(f'mkdir {SRC_CONFIG_PATH}/{source}') print (f'created directory for {source}') file_names = ['db_config', 'ui_config', 'schema', 'metadata'] for index, f_name in enumerate(file_names): print (f'writing {f_name} for {source}...') - with open(f'../data/sources/{source}/{f_name}.json', 'w') as f: + with open(f'{SRC_CONFIG_PATH}/{source}/{f_name}.json', 'w') as f: f.write(json.dumps(final_data[index], indent=2)) print (f'complete for {source}...') diff --git a/migration/source_meta_template.json b/migration/source_meta_template.json index cfc632d3b..1aa657680 100644 --- a/migration/source_meta_template.json +++ b/migration/source_meta_template.json @@ -11,4 +11,3 @@ } } } - diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 000000000..c62a56fb4 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,24979 @@ +{ + "name": "rudder-config-schema", + "version": "1.1.8", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "rudder-config-schema", + "version": "1.1.8", + "license": "MIT", + "dependencies": { + "ajv": "^8.11.2", + "glob": "^8.0.3" + }, + "devDependencies": { + "@babel/core": "^7.20.5", + "@babel/eslint-parser": "^7.19.1", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.18.6", + "@babel/plugin-transform-object-assign": "^7.18.6", + "@babel/preset-env": "^7.20.2", + "@commitlint/config-conventional": "^17.3.0", + "@digitalroute/cz-conventional-changelog-for-jira": "^8.0.0", + "@swc/core": "^1.3.24", + "@swc/jest": "^0.2.24", + "@types/express": "^4.17.15", + "@types/glob": "^8.0.0", + "@types/jest": "^29.2.4", + "@typescript-eslint/eslint-plugin": "^5.47.0", + "@typescript-eslint/parser": "^5.47.0", + "commander": "^9.4.1", + "commitizen": "^4.2.6", + "commitlint": "^17.3.0", + "conventional-github-releaser": "^3.1.5", + "eslint": "^8.30.0", + "eslint-config-airbnb": "^19.0.4", + "eslint-config-airbnb-base": "^15.0.0", + "eslint-config-prettier": "^8.5.0", + "eslint-plugin-compat": "^4.0.2", + "eslint-plugin-import": "^2.26.0", + "eslint-plugin-json": "^3.1.0", + "eslint-plugin-unicorn": "^45.0.2", + "esm": "^3.2.25", + "husky": "^8.0.2", + "jest": "^29.3.1", + "lint-staged": "^13.1.0", + "prettier": "^2.8.1", + "standard-version": "^9.5.0", + "ts-jest": "^29.0.3", + "ts-loader": "^9.4.2", + "typescript": "^4.9.4" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.5.tgz", + "integrity": "sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.5.tgz", + "integrity": "sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-module-transforms": "^7.20.2", + "@babel/helpers": "^7.20.5", + "@babel/parser": "^7.20.5", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "node_modules/@babel/eslint-parser": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.19.1.tgz", + "integrity": "sha512-AqNf2QWt1rtu2/1rLswy6CDP7H9Oh3mMhk177Y67Rg8d7RD9WfOLLv8CGn6tisFvS2htm86yIe1yLF6I1UDaGQ==", + "dev": true, + "dependencies": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.11.0", + "eslint": "^7.5.0 || ^8.0.0" + } + }, + "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@babel/generator": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.5.tgz", + "integrity": "sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.5", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", + "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "dev": true, + "dependencies": { + "@babel/helper-explode-assignable-expression": "^7.18.6", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz", + "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.20.0", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.5.tgz", + "integrity": "sha512-3RCdA/EmEaikrhayahwToF0fpweU/8o2p8vhc1c/1kftHOdTKuC65kik/TLc+qfbS8JKw4qqJbne4ovICDhmww==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.19.1", + "@babel/helper-split-export-declaration": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz", + "integrity": "sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "regexpu-core": "^5.2.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0-0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-explode-assignable-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", + "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "dev": true, + "dependencies": { + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", + "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz", + "integrity": "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.1", + "@babel/types": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", + "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-wrap-function": "^7.18.9", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz", + "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/traverse": "^7.19.1", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", + "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", + "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.19.0", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.6.tgz", + "integrity": "sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w==", + "dev": true, + "dependencies": { + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.5.tgz", + "integrity": "sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", + "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", + "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/plugin-proposal-optional-chaining": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.1.tgz", + "integrity": "sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-remap-async-to-generator": "^7.18.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-static-block": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", + "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-proposal-dynamic-import": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", + "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-export-namespace-from": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", + "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-json-strings": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", + "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", + "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.2.tgz", + "integrity": "sha512-Ks6uej9WFK+fvIMesSqbAto5dD8Dz4VuuFvGJFKgIGSkJuRGcrwGECPA1fDgQK3/DbExBJpEkTeYeB8geIFCSQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.20.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", + "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.20.5.tgz", + "integrity": "sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", + "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", + "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz", + "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", + "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", + "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-remap-async-to-generator": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", + "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.5.tgz", + "integrity": "sha512-WvpEIW9Cbj9ApF3yJCjIEEf1EiNJLtXagOrL5LNWEZOo3jv8pmPoYTSNJQvqej8OavVlgOoOPw6/htGZro6IkA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.2.tgz", + "integrity": "sha512-9rbPp0lCVVoagvtEyQKSo5L8oo0nQS/iif+lwlAz29MccX2642vWDlSZK+2T2buxbopotId2ld7zZAzRfz9j1g==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-replace-supers": "^7.19.1", + "@babel/helper-split-export-declaration": "^7.18.6", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", + "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.2.tgz", + "integrity": "sha512-mENM+ZHrvEgxLTBXUiQ621rRXZes3KWUv6NdQlrnr1TkWVw+hUjQBZuP2X32qKlrlG2BzgR95gkuCRSkJl8vIw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", + "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", + "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", + "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", + "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", + "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", + "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", + "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.19.6.tgz", + "integrity": "sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.19.6", + "@babel/helper-plugin-utils": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz", + "integrity": "sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.19.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-simple-access": "^7.19.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz", + "integrity": "sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-module-transforms": "^7.19.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-validator-identifier": "^7.19.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", + "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", + "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", + "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-assign": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.18.6.tgz", + "integrity": "sha512-mQisZ3JfqWh2gVXvfqYCAAyRs6+7oev+myBsTwW5RnPhYXOTuCEw2oe3YgxlXMViXUS53lG8koulI7mJ+8JE+A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", + "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.5.tgz", + "integrity": "sha512-h7plkOmcndIUWXZFLgpbrh2+fXAi47zcUX7IrOQuZdLD0I0KvjJ6cvo3BEcAOsDOcZhVKGJqv07mkSqK0y2isQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", + "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz", + "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "regenerator-transform": "^0.15.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", + "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", + "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz", + "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", + "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", + "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", + "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", + "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", + "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-async-generator-functions": "^7.20.1", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-class-static-block": "^7.18.6", + "@babel/plugin-proposal-dynamic-import": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", + "@babel/plugin-proposal-json-strings": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", + "@babel/plugin-proposal-numeric-separator": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.20.2", + "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-private-methods": "^7.18.6", + "@babel/plugin-proposal-private-property-in-object": "^7.18.6", + "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.20.0", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.18.6", + "@babel/plugin-transform-async-to-generator": "^7.18.6", + "@babel/plugin-transform-block-scoped-functions": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.20.2", + "@babel/plugin-transform-classes": "^7.20.2", + "@babel/plugin-transform-computed-properties": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.20.2", + "@babel/plugin-transform-dotall-regex": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.9", + "@babel/plugin-transform-exponentiation-operator": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.18.8", + "@babel/plugin-transform-function-name": "^7.18.9", + "@babel/plugin-transform-literals": "^7.18.9", + "@babel/plugin-transform-member-expression-literals": "^7.18.6", + "@babel/plugin-transform-modules-amd": "^7.19.6", + "@babel/plugin-transform-modules-commonjs": "^7.19.6", + "@babel/plugin-transform-modules-systemjs": "^7.19.6", + "@babel/plugin-transform-modules-umd": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", + "@babel/plugin-transform-new-target": "^7.18.6", + "@babel/plugin-transform-object-super": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.20.1", + "@babel/plugin-transform-property-literals": "^7.18.6", + "@babel/plugin-transform-regenerator": "^7.18.6", + "@babel/plugin-transform-reserved-words": "^7.18.6", + "@babel/plugin-transform-shorthand-properties": "^7.18.6", + "@babel/plugin-transform-spread": "^7.19.0", + "@babel/plugin-transform-sticky-regex": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.9", + "@babel/plugin-transform-typeof-symbol": "^7.18.9", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", + "@babel/plugin-transform-unicode-regex": "^7.18.6", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.20.2", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "core-js-compat": "^3.25.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.6.tgz", + "integrity": "sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/runtime-corejs3": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.20.6.tgz", + "integrity": "sha512-tqeujPiuEfcH067mx+7otTQWROVMKHXEaOQcAeNV5dDdbPWvPcFA8/W9LXw2NfjNmOetqLl03dfnG2WALPlsRQ==", + "dev": true, + "peer": true, + "dependencies": { + "core-js-pure": "^3.25.1", + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.5.tgz", + "integrity": "sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.5", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.20.5", + "@babel/types": "^7.20.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.5.tgz", + "integrity": "sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "node_modules/@commitlint/cli": { + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-17.3.0.tgz", + "integrity": "sha512-/H0md7TsKflKzVPz226VfXzVafJFO1f9+r2KcFvmBu08V0T56lZU1s8WL7/xlxqLMqBTVaBf7Ixtc4bskdEEZg==", + "dev": true, + "dependencies": { + "@commitlint/format": "^17.0.0", + "@commitlint/lint": "^17.3.0", + "@commitlint/load": "^17.3.0", + "@commitlint/read": "^17.2.0", + "@commitlint/types": "^17.0.0", + "execa": "^5.0.0", + "lodash.isfunction": "^3.0.9", + "resolve-from": "5.0.0", + "resolve-global": "1.0.0", + "yargs": "^17.0.0" + }, + "bin": { + "commitlint": "cli.js" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/config-conventional": { + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-17.3.0.tgz", + "integrity": "sha512-hgI+fN5xF8nhS9uG/V06xyT0nlcyvHHMkq0kwRSr96vl5BFlRGaL2C0/YY4kQagfU087tmj01bJkG9Ek98Wllw==", + "dev": true, + "dependencies": { + "conventional-changelog-conventionalcommits": "^5.0.0" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/config-conventional/node_modules/conventional-changelog-conventionalcommits": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-5.0.0.tgz", + "integrity": "sha512-lCDbA+ZqVFQGUj7h9QBKoIpLhl8iihkO0nCTyRNzuXtcd7ubODpYB04IFy31JloiJgG0Uovu8ot8oxRzn7Nwtw==", + "dev": true, + "dependencies": { + "compare-func": "^2.0.0", + "lodash": "^4.17.15", + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@commitlint/config-validator": { + "version": "17.1.0", + "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-17.1.0.tgz", + "integrity": "sha512-Q1rRRSU09ngrTgeTXHq6ePJs2KrI+axPTgkNYDWSJIuS1Op4w3J30vUfSXjwn5YEJHklK3fSqWNHmBhmTR7Vdg==", + "dev": true, + "dependencies": { + "@commitlint/types": "^17.0.0", + "ajv": "^8.11.0" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/ensure": { + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-17.3.0.tgz", + "integrity": "sha512-kWbrQHDoW5veIUQx30gXoLOCjWvwC6OOEofhPCLl5ytRPBDAQObMbxTha1Bt2aSyNE/IrJ0s0xkdZ1Gi3wJwQg==", + "dev": true, + "dependencies": { + "@commitlint/types": "^17.0.0", + "lodash.camelcase": "^4.3.0", + "lodash.kebabcase": "^4.1.1", + "lodash.snakecase": "^4.1.1", + "lodash.startcase": "^4.4.0", + "lodash.upperfirst": "^4.3.1" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/execute-rule": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-17.0.0.tgz", + "integrity": "sha512-nVjL/w/zuqjCqSJm8UfpNaw66V9WzuJtQvEnCrK4jDw6qKTmZB+1JQ8m6BQVZbNBcwfYdDNKnhIhqI0Rk7lgpQ==", + "dev": true, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/format": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-17.0.0.tgz", + "integrity": "sha512-MZzJv7rBp/r6ZQJDEodoZvdRM0vXu1PfQvMTNWFb8jFraxnISMTnPBWMMjr2G/puoMashwaNM//fl7j8gGV5lA==", + "dev": true, + "dependencies": { + "@commitlint/types": "^17.0.0", + "chalk": "^4.1.0" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/is-ignored": { + "version": "17.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-17.2.0.tgz", + "integrity": "sha512-rgUPUQraHxoMLxiE8GK430HA7/R2vXyLcOT4fQooNrZq9ERutNrP6dw3gdKLkq22Nede3+gEHQYUzL4Wu75ndg==", + "dev": true, + "dependencies": { + "@commitlint/types": "^17.0.0", + "semver": "7.3.7" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/is-ignored/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@commitlint/lint": { + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-17.3.0.tgz", + "integrity": "sha512-VilOTPg0i9A7CCWM49E9bl5jytfTvfTxf9iwbWAWNjxJ/A5mhPKbm3sHuAdwJ87tDk1k4j8vomYfH23iaY+1Rw==", + "dev": true, + "dependencies": { + "@commitlint/is-ignored": "^17.2.0", + "@commitlint/parse": "^17.2.0", + "@commitlint/rules": "^17.3.0", + "@commitlint/types": "^17.0.0" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/load": { + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-17.3.0.tgz", + "integrity": "sha512-u/pV6rCAJrCUN+HylBHLzZ4qj1Ew3+eN9GBPhNi9otGxtOfA8b+8nJSxaNbcC23Ins/kcpjGf9zPSVW7628Umw==", + "dev": true, + "dependencies": { + "@commitlint/config-validator": "^17.1.0", + "@commitlint/execute-rule": "^17.0.0", + "@commitlint/resolve-extends": "^17.3.0", + "@commitlint/types": "^17.0.0", + "@types/node": "^14.0.0", + "chalk": "^4.1.0", + "cosmiconfig": "^7.0.0", + "cosmiconfig-typescript-loader": "^4.0.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "lodash.uniq": "^4.5.0", + "resolve-from": "^5.0.0", + "ts-node": "^10.8.1", + "typescript": "^4.6.4" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/load/node_modules/@types/node": { + "version": "14.18.35", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.35.tgz", + "integrity": "sha512-2ATO8pfhG1kDvw4Lc4C0GXIMSQFFJBCo/R1fSgTwmUlq5oy95LXyjDQinsRVgQY6gp6ghh3H91wk9ES5/5C+Tw==", + "dev": true + }, + "node_modules/@commitlint/message": { + "version": "17.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-17.2.0.tgz", + "integrity": "sha512-/4l2KFKxBOuoEn1YAuuNNlAU05Zt7sNsC9H0mPdPm3chOrT4rcX0pOqrQcLtdMrMkJz0gC7b3SF80q2+LtdL9Q==", + "dev": true, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/parse": { + "version": "17.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-17.2.0.tgz", + "integrity": "sha512-vLzLznK9Y21zQ6F9hf8D6kcIJRb2haAK5T/Vt1uW2CbHYOIfNsR/hJs0XnF/J9ctM20Tfsqv4zBitbYvVw7F6Q==", + "dev": true, + "dependencies": { + "@commitlint/types": "^17.0.0", + "conventional-changelog-angular": "^5.0.11", + "conventional-commits-parser": "^3.2.2" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/read": { + "version": "17.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-17.2.0.tgz", + "integrity": "sha512-bbblBhrHkjxra3ptJNm0abxu7yeAaxumQ8ZtD6GIVqzURCETCP7Dm0tlVvGRDyXBuqX6lIJxh3W7oyKqllDsHQ==", + "dev": true, + "dependencies": { + "@commitlint/top-level": "^17.0.0", + "@commitlint/types": "^17.0.0", + "fs-extra": "^10.0.0", + "git-raw-commits": "^2.0.0", + "minimist": "^1.2.6" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/read/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@commitlint/resolve-extends": { + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-17.3.0.tgz", + "integrity": "sha512-Lf3JufJlc5yVEtJWC8o4IAZaB8FQAUaVlhlAHRACd0TTFizV2Lk2VH70et23KgvbQNf7kQzHs/2B4QZalBv6Cg==", + "dev": true, + "dependencies": { + "@commitlint/config-validator": "^17.1.0", + "@commitlint/types": "^17.0.0", + "import-fresh": "^3.0.0", + "lodash.mergewith": "^4.6.2", + "resolve-from": "^5.0.0", + "resolve-global": "^1.0.0" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/rules": { + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-17.3.0.tgz", + "integrity": "sha512-s2UhDjC5yP2utx3WWqsnZRzjgzAX8BMwr1nltC0u0p8T/nzpkx4TojEfhlsOUj1t7efxzZRjUAV0NxNwdJyk+g==", + "dev": true, + "dependencies": { + "@commitlint/ensure": "^17.3.0", + "@commitlint/message": "^17.2.0", + "@commitlint/to-lines": "^17.0.0", + "@commitlint/types": "^17.0.0", + "execa": "^5.0.0" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/to-lines": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-17.0.0.tgz", + "integrity": "sha512-nEi4YEz04Rf2upFbpnEorG8iymyH7o9jYIVFBG1QdzebbIFET3ir+8kQvCZuBE5pKCtViE4XBUsRZz139uFrRQ==", + "dev": true, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/top-level": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-17.0.0.tgz", + "integrity": "sha512-dZrEP1PBJvodNWYPOYiLWf6XZergdksKQaT6i1KSROLdjf5Ai0brLOv5/P+CPxBeoj3vBxK4Ax8H1Pg9t7sHIQ==", + "dev": true, + "dependencies": { + "find-up": "^5.0.0" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/top-level/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/top-level/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/top-level/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/types": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-17.0.0.tgz", + "integrity": "sha512-hBAw6U+SkAT5h47zDMeOu3HSiD0SODw4Aq7rRNh1ceUmL7GyLKYhPbUvlRWqZ65XjBLPHZhFyQlRaPNz8qvUyQ==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@digitalroute/cz-conventional-changelog-for-jira": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@digitalroute/cz-conventional-changelog-for-jira/-/cz-conventional-changelog-for-jira-8.0.0.tgz", + "integrity": "sha512-oK2UE9QhKl/8Tn1d9r184XQRwsCxkFu5zh572LT1pBYEyK1G5IY1mDj5wgP6Wm/EesGCgJ09loW9dFdNeaB3yA==", + "dev": true, + "dependencies": { + "boxen": "^5.1.2", + "chalk": "^2.4.1", + "commitizen": "^4.2.6", + "cz-conventional-changelog": "^3.3.0", + "inquirer": "^8.2.4", + "lodash.map": "^4.5.1", + "longest": "^2.0.1", + "right-pad": "^1.0.1", + "word-wrap": "^1.0.3" + }, + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@commitlint/load": ">6.1.1" + } + }, + "node_modules/@digitalroute/cz-conventional-changelog-for-jira/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@digitalroute/cz-conventional-changelog-for-jira/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@digitalroute/cz-conventional-changelog-for-jira/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@digitalroute/cz-conventional-changelog-for-jira/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@digitalroute/cz-conventional-changelog-for-jira/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@digitalroute/cz-conventional-changelog-for-jira/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@digitalroute/cz-conventional-changelog-for-jira/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.1.2.tgz", + "integrity": "sha512-7qELuQWWjVDdVsFQ5+beUl+KPczrEDA7S3zM4QUd/bJl7oXgsmpXaEVqrRTnOBqenOV4rWf2kVZk2Ot085zPWA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.0.tgz", + "integrity": "sha512-7yfvXy6MWLgWSFsLhz5yH3iQ52St8cdUY6FoGieKkRDVxuxmrNuUetIuu6cmjNWwniUHiWXjxCr5tTXDrbYS5A==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.4.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@eslint/eslintrc/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.19.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "node_modules/@hutson/parse-repository-url": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz", + "integrity": "sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.3.1.tgz", + "integrity": "sha512-IRE6GD47KwcqA09RIWrabKdHPiKDGgtAL31xDxbi/RjQMsr+lY+ppxmHwY0dUEV3qvvxZzoe5Hl0RXZJOjQNUg==", + "dev": true, + "dependencies": { + "@jest/types": "^29.3.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.3.1", + "jest-util": "^29.3.1", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/core": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.3.1.tgz", + "integrity": "sha512-0ohVjjRex985w5MmO5L3u5GR1O30DexhBSpuwx2P+9ftyqHdJXnk7IUWiP80oHMvt7ubHCJHxV0a0vlKVuZirw==", + "dev": true, + "dependencies": { + "@jest/console": "^29.3.1", + "@jest/reporters": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.2.0", + "jest-config": "^29.3.1", + "jest-haste-map": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-regex-util": "^29.2.0", + "jest-resolve": "^29.3.1", + "jest-resolve-dependencies": "^29.3.1", + "jest-runner": "^29.3.1", + "jest-runtime": "^29.3.1", + "jest-snapshot": "^29.3.1", + "jest-util": "^29.3.1", + "jest-validate": "^29.3.1", + "jest-watcher": "^29.3.1", + "micromatch": "^4.0.4", + "pretty-format": "^29.3.1", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/create-cache-key-function": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-27.5.1.tgz", + "integrity": "sha512-dmH1yW+makpTSURTy8VzdUwFnfQh1G8R+DxO2Ho2FFmBbKFEVm+3jWdvFhE2VqB/LATCTokkP0dotjyQyw5/AQ==", + "dev": true, + "dependencies": { + "@jest/types": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/create-cache-key-function/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/create-cache-key-function/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/environment": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.3.1.tgz", + "integrity": "sha512-pMmvfOPmoa1c1QpfFW0nXYtNLpofqo4BrCIk6f2kW4JFeNlHV2t3vd+3iDLf31e2ot2Mec0uqZfmI+U0K2CFag==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "jest-mock": "^29.3.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.3.1.tgz", + "integrity": "sha512-QivM7GlSHSsIAWzgfyP8dgeExPRZ9BIe2LsdPyEhCGkZkoyA+kGsoIzbKAfZCvvRzfZioKwPtCZIt5SaoxYCvg==", + "dev": true, + "dependencies": { + "expect": "^29.3.1", + "jest-snapshot": "^29.3.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.3.1.tgz", + "integrity": "sha512-wlrznINZI5sMjwvUoLVk617ll/UYfGIZNxmbU+Pa7wmkL4vYzhV9R2pwVqUh4NWWuLQWkI8+8mOkxs//prKQ3g==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.2.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.3.1.tgz", + "integrity": "sha512-iHTL/XpnDlFki9Tq0Q1GGuVeQ8BHZGIYsvCO5eN/O/oJaRzofG9Xndd9HuSDBI/0ZS79pg0iwn07OMTQ7ngF2A==", + "dev": true, + "dependencies": { + "@jest/types": "^29.3.1", + "@sinonjs/fake-timers": "^9.1.2", + "@types/node": "*", + "jest-message-util": "^29.3.1", + "jest-mock": "^29.3.1", + "jest-util": "^29.3.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.3.1.tgz", + "integrity": "sha512-cTicd134vOcwO59OPaB6AmdHQMCtWOe+/DitpTZVxWgMJ+YvXL1HNAmPyiGbSHmF/mXVBkvlm8YYtQhyHPnV6Q==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.3.1", + "@jest/expect": "^29.3.1", + "@jest/types": "^29.3.1", + "jest-mock": "^29.3.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.3.1.tgz", + "integrity": "sha512-GhBu3YFuDrcAYW/UESz1JphEAbvUjaY2vShRZRoRY1mxpCMB3yGSJ4j9n0GxVlEOdCf7qjvUfBCrTUUqhVfbRA==", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", + "@jridgewell/trace-mapping": "^0.3.15", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.3.1", + "jest-util": "^29.3.1", + "jest-worker": "^29.3.1", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/reporters/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@jest/reporters/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@jest/reporters/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@jest/schemas": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", + "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.24.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.2.0.tgz", + "integrity": "sha512-1NX9/7zzI0nqa6+kgpSdKPK+WU1p+SJk3TloWZf5MzPbxri9UEeXX5bWZAPCzbQcyuAzubcdUHA7hcNznmRqWQ==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.15", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.3.1.tgz", + "integrity": "sha512-qeLa6qc0ddB0kuOZyZIhfN5q0e2htngokyTWsGriedsDhItisW7SDYZ7ceOe57Ii03sL988/03wAcBh3TChMGw==", + "dev": true, + "dependencies": { + "@jest/console": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.3.1.tgz", + "integrity": "sha512-IqYvLbieTv20ArgKoAMyhLHNrVHJfzO6ARZAbQRlY4UGWfdDnLlZEF0BvKOMd77uIiIjSZRwq3Jb3Fa3I8+2UA==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.3.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.3.1", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.3.1.tgz", + "integrity": "sha512-8wmCFBTVGYqFNLWfcOWoVuMuKYPUBTnTMDkdvFtAYELwDOl9RGwOsvQWGPFxDJ8AWY9xM/8xCXdqmPK3+Q5Lug==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.3.1", + "@jridgewell/trace-mapping": "^0.3.15", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.3.1", + "jest-regex-util": "^29.2.0", + "jest-util": "^29.3.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.3.1.tgz", + "integrity": "sha512-d0S0jmmTpjnhCmNpApgX3jrUZgZ22ivKJRvL2lli5hpCRoNnp1f85r2/wpKfXuYu8E7Jjh1hGfhPyup1NM5AmA==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.0.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@mdn/browser-compat-data": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-4.2.1.tgz", + "integrity": "sha512-EWUguj2kd7ldmrF9F+vI5hUOralPd+sdsUnYbRy33vZTuZkduC1shE9TtEMEjAQwyfyMb4ole5KtjF8MsnQOlA==", + "dev": true + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "dev": true, + "dependencies": { + "eslint-scope": "5.1.1" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@sinclair/typebox": { + "version": "0.24.51", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", + "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", + "dev": true + }, + "node_modules/@sindresorhus/is": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", + "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", + "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@swc/core": { + "version": "1.3.24", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.24.tgz", + "integrity": "sha512-QMOTd0AgiUT3K1crxLRqd3gw0f3FC8hhH1vvlIlryvYqU4c+FJ/T2G4ZhMKLxQlZ/jX6Rhk0gKINZRBxy2GFyQ==", + "dev": true, + "hasInstallScript": true, + "bin": { + "swcx": "run_swcx.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/swc" + }, + "optionalDependencies": { + "@swc/core-darwin-arm64": "1.3.24", + "@swc/core-darwin-x64": "1.3.24", + "@swc/core-linux-arm-gnueabihf": "1.3.24", + "@swc/core-linux-arm64-gnu": "1.3.24", + "@swc/core-linux-arm64-musl": "1.3.24", + "@swc/core-linux-x64-gnu": "1.3.24", + "@swc/core-linux-x64-musl": "1.3.24", + "@swc/core-win32-arm64-msvc": "1.3.24", + "@swc/core-win32-ia32-msvc": "1.3.24", + "@swc/core-win32-x64-msvc": "1.3.24" + } + }, + "node_modules/@swc/core-darwin-arm64": { + "version": "1.3.24", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.24.tgz", + "integrity": "sha512-rR+9UpWm+fGXcipsjCst2hIL1GYIbo0YTLhJZWdIpQD6KRHHJMFXiydMgQQkDj2Ml7HpqUVgxj6m4ZWYL8b0OA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-darwin-x64": { + "version": "1.3.24", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.24.tgz", + "integrity": "sha512-px+5vkGtgPH0m3FkkTBHynlRdS5rRz+lK+wiXIuBZFJSySWFl6RkKbvwkD+sf0MpazQlqwlv/rTOGJBw6oDffg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm-gnueabihf": { + "version": "1.3.24", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.24.tgz", + "integrity": "sha512-jLs8ZOdTV4UW4J12E143QJ4mOMONQtqgAnuhBbRuWFzQ3ny1dfoC3P1jNWAJ2Xi59XdxAIXn0PggPNH4Kh34kw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-gnu": { + "version": "1.3.24", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.24.tgz", + "integrity": "sha512-A/v0h70BekrwGpp1DlzIFGcHQ3QQ2PexXcnnuIBZeMc9gNmHlcZmg3EcwAnaUDiokhNuSUFA/wV94yk1OqmSkw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-musl": { + "version": "1.3.24", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.24.tgz", + "integrity": "sha512-pbc9eArWPTiMrbpS/pJo0IiQNAKAQBcBIDjWBGP1tcw2iDXYLw4bruwz9kI/VjakbshWb8MoE4T5ClkeuULvSw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-gnu": { + "version": "1.3.24", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.24.tgz", + "integrity": "sha512-pP5pOLlY1xd352qo7rTlpVPUI9/9VhOd4b3Lk+LzfZDq9bTL2NDlGfyrPiwa5DGHMSzrugH56K2J68eutkxYVA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-musl": { + "version": "1.3.24", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.24.tgz", + "integrity": "sha512-phNbP7zGp+Wcyxq1Qxlpe5KkxO7WLT2kVQUC7aDFGlVdCr+xdXsfH1MzheHtnr0kqTVQX1aiM8XXXHfFxR0oNA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-arm64-msvc": { + "version": "1.3.24", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.24.tgz", + "integrity": "sha512-qhbiJTWAOqyR+K9xnGmCkOWSz2EmWpDBstEJCEOTc6FZiEdbiTscDmqTcMbCKaTHGu8t+6erVA4t65/Eg6uWPA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-ia32-msvc": { + "version": "1.3.24", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.24.tgz", + "integrity": "sha512-JfghIlscE4Rz+Lc08lSoDh+R0cWxrISed5biogFfE6vZqhaDnw3E5Qshqw7O3pIaiq8L2u1nmzuyP581ZmpbRA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-x64-msvc": { + "version": "1.3.24", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.24.tgz", + "integrity": "sha512-3AmJRr0hwciwDBbzUNqaftvppzS8v9X/iv/Wl7YaVLBVpPfQvaZzfqLycvNMGLZb5vIKXR/u58txg3dRBGsJtw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/jest": { + "version": "0.2.24", + "resolved": "https://registry.npmjs.org/@swc/jest/-/jest-0.2.24.tgz", + "integrity": "sha512-fwgxQbM1wXzyKzl1+IW0aGrRvAA8k0Y3NxFhKigbPjOJ4mCKnWEcNX9HQS3gshflcxq8YKhadabGUVfdwjCr6Q==", + "dev": true, + "dependencies": { + "@jest/create-cache-key-function": "^27.4.2", + "jsonc-parser": "^3.2.0" + }, + "engines": { + "npm": ">= 7.0.0" + }, + "peerDependencies": { + "@swc/core": "*" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "dev": true + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", + "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", + "dev": true + }, + "node_modules/@types/babel__core": { + "version": "7.1.20", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.20.tgz", + "integrity": "sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.3.tgz", + "integrity": "sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.3.0" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "dev": true, + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/eslint": { + "version": "8.4.10", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.10.tgz", + "integrity": "sha512-Sl/HOqN8NKPmhWo2VBEPm0nvHnu2LL3v9vKo8MEq0EtbJ4eVzGPl41VNPvn5E1i5poMk4/XD8UriLHpJvEP/Nw==", + "dev": true, + "peer": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dev": true, + "peer": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", + "dev": true, + "peer": true + }, + "node_modules/@types/express": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.15.tgz", + "integrity": "sha512-Yv0k4bXGOH+8a+7bELd2PqHQsuiANB+A8a4gnQrkRWzrkKlb6KHaVvyXhqs04sVW/OWlbPyYxRgYlIXLfrufMQ==", + "dev": true, + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.31", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.31", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz", + "integrity": "sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "node_modules/@types/glob": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-8.0.0.tgz", + "integrity": "sha512-l6NQsDDyQUVeoTynNpC9uRvCUint/gSUXQA2euwmTuWGvPY5LSDUu6tkCtJB2SvGQlJQzLaKqcGZP4//7EDveA==", + "dev": true, + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "29.2.4", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.2.4.tgz", + "integrity": "sha512-PipFB04k2qTRPePduVLTRiPzQfvMeLwUN3Z21hsAKaB/W9IIzgB2pizCL466ftJlcyZqnHoC9ZHpxLGl3fS86A==", + "dev": true, + "dependencies": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, + "node_modules/@types/mime": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", + "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==", + "dev": true + }, + "node_modules/@types/minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", + "dev": true + }, + "node_modules/@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", + "dev": true + }, + "node_modules/@types/node": { + "version": "18.11.17", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.17.tgz", + "integrity": "sha512-HJSUJmni4BeDHhfzn6nF0sVmd1SMezP7/4F0Lq+aXzmp2xm9O7WXrUtHW/CHlYVtZUbByEvWidHqRtcJXGF2Ng==", + "dev": true + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "dev": true + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "node_modules/@types/prettier": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz", + "integrity": "sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==", + "dev": true + }, + "node_modules/@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true + }, + "node_modules/@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", + "dev": true + }, + "node_modules/@types/semver": { + "version": "7.3.13", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", + "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", + "dev": true + }, + "node_modules/@types/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==", + "dev": true, + "dependencies": { + "@types/mime": "*", + "@types/node": "*" + } + }, + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, + "node_modules/@types/yargs": { + "version": "17.0.17", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.17.tgz", + "integrity": "sha512-72bWxFKTK6uwWJAVT+3rF6Jo6RTojiJ27FQo8Rf60AL+VZbzoVPnMFhKsUnbjR8A3BTCYQ7Mv3hnl8T0A+CX9g==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.47.0.tgz", + "integrity": "sha512-AHZtlXAMGkDmyLuLZsRpH3p4G/1iARIwc/T0vIem2YB+xW6pZaXYXzCBnZSF/5fdM97R9QqZWZ+h3iW10XgevQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "5.47.0", + "@typescript-eslint/type-utils": "5.47.0", + "@typescript-eslint/utils": "5.47.0", + "debug": "^4.3.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "regexpp": "^3.2.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.47.0.tgz", + "integrity": "sha512-udPU4ckK+R1JWCGdQC4Qa27NtBg7w020ffHqGyAK8pAgOVuNw7YaKXGChk+udh+iiGIJf6/E/0xhVXyPAbsczw==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "5.47.0", + "@typescript-eslint/types": "5.47.0", + "@typescript-eslint/typescript-estree": "5.47.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.47.0.tgz", + "integrity": "sha512-dvJab4bFf7JVvjPuh3sfBUWsiD73aiftKBpWSfi3sUkysDQ4W8x+ZcFpNp7Kgv0weldhpmMOZBjx1wKN8uWvAw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.47.0", + "@typescript-eslint/visitor-keys": "5.47.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.47.0.tgz", + "integrity": "sha512-1J+DFFrYoDUXQE1b7QjrNGARZE6uVhBqIvdaXTe5IN+NmEyD68qXR1qX1g2u4voA+nCaelQyG8w30SAOihhEYg==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "5.47.0", + "@typescript-eslint/utils": "5.47.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.47.0.tgz", + "integrity": "sha512-eslFG0Qy8wpGzDdYKu58CEr3WLkjwC5Usa6XbuV89ce/yN5RITLe1O8e+WFEuxnfftHiJImkkOBADj58ahRxSg==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.47.0.tgz", + "integrity": "sha512-LxfKCG4bsRGq60Sqqu+34QT5qT2TEAHvSCCJ321uBWywgE2dS0LKcu5u+3sMGo+Vy9UmLOhdTw5JHzePV/1y4Q==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.47.0", + "@typescript-eslint/visitor-keys": "5.47.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.47.0.tgz", + "integrity": "sha512-U9xcc0N7xINrCdGVPwABjbAKqx4GK67xuMV87toI+HUqgXj26m6RBp9UshEXcTrgCkdGYFzgKLt8kxu49RilDw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.47.0", + "@typescript-eslint/types": "5.47.0", + "@typescript-eslint/typescript-estree": "5.47.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.47.0.tgz", + "integrity": "sha512-ByPi5iMa6QqDXe/GmT/hR6MZtVPi0SqMQPDx15FczCBXJo/7M8T88xReOALAfpBLm+zxpPfmhuEvPb577JRAEg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.47.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "dev": true, + "peer": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "dev": true, + "peer": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, + "peer": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true, + "peer": true + }, + "node_modules/acorn": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", + "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "dev": true, + "peer": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/add-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", + "integrity": "sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==", + "dev": true + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "dev": true, + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/runtime": "^7.10.2", + "@babel/runtime-corejs3": "^7.10.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-ify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", + "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", + "dev": true + }, + "node_modules/array-includes": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", + "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" + } + }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ast-metadata-inferer": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/ast-metadata-inferer/-/ast-metadata-inferer-0.7.0.tgz", + "integrity": "sha512-OkMLzd8xelb3gmnp6ToFvvsHLtS6CbagTkFQvQ+ZYFe3/AIl9iKikNR9G7pY3GfOR/2Xc222hwBjzI7HLkE76Q==", + "dev": true, + "dependencies": { + "@mdn/browser-compat-data": "^3.3.14" + } + }, + "node_modules/ast-metadata-inferer/node_modules/@mdn/browser-compat-data": { + "version": "3.3.14", + "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-3.3.14.tgz", + "integrity": "sha512-n2RC9d6XatVbWFdHLimzzUJxJ1KY8LdjqrW6YvGPiRmsHkhOUx74/Ct10x5Yo7bC/Jvqx7cDEW8IMPv/+vwEzA==", + "dev": true + }, + "node_modules/ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==", + "dev": true, + "peer": true + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/axe-core": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.6.1.tgz", + "integrity": "sha512-lCZN5XRuOnpG4bpMq8v0khrWtUOn+i8lZSb6wHZH56ZfbIEv6XwJV84AAueh9/zi7qPVJ/E4yz6fmsiyOmXR4w==", + "dev": true, + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/axobject-query": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", + "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==", + "dev": true, + "peer": true + }, + "node_modules/babel-jest": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.3.1.tgz", + "integrity": "sha512-aard+xnMoxgjwV70t0L6wkW/3HQQtV+O0PEimxKgzNqCJnbYmroPojdP2tqKSOAt8QAKV/uSZU8851M7B5+fcA==", + "dev": true, + "dependencies": { + "@jest/transform": "^29.3.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.2.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.2.0.tgz", + "integrity": "sha512-TnspP2WNiR3GLfCsUNHqeXw0RoQ2f9U5hQ5L3XFpwuO8htQmSrhh8qsB6vi5Yi8+kuynN1yjDjQsPfkebmB6ZA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.3", + "semver": "^6.1.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.2.0.tgz", + "integrity": "sha512-z9JmMJppMxNv8N7fNRHvhMg9cvIkMxQBXgFkane3yKVEvEOP+kB50lk8DFRvF9PGqbyXxlmebKWhuDORO8RgdA==", + "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^29.2.0", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/boxen": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", + "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", + "dev": true, + "dependencies": { + "ansi-align": "^3.0.0", + "camelcase": "^6.2.0", + "chalk": "^4.1.0", + "cli-boxes": "^2.2.1", + "string-width": "^4.2.2", + "type-fest": "^0.20.2", + "widest-line": "^3.1.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "dependencies": { + "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cacheable-request": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", + "integrity": "sha512-vag0O2LKZ/najSoUwDbVlnlCFvhBE/7mGTY2B5FgCBDcRD+oVV1HYTOwM6JZfMg/hIcM6IwnTZ1uQQL5/X3xIQ==", + "dev": true, + "dependencies": { + "clone-response": "1.0.2", + "get-stream": "3.0.0", + "http-cache-semantics": "3.8.1", + "keyv": "3.0.0", + "lowercase-keys": "1.0.0", + "normalize-url": "2.0.1", + "responselike": "1.0.2" + } + }, + "node_modules/cacheable-request/node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/cacheable-request/node_modules/lowercase-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", + "integrity": "sha512-RPlX0+PHuvxVDZ7xX+EBVAp4RsVxP/TdDSN2mJYdiq1Lc4Hz7EUSjUI7RZrKKlmrIzVhf6Jo2stj7++gVarS0A==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cachedir": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", + "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001439", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001439.tgz", + "integrity": "sha512-1MgUzEkoMO6gKfXflStpYgZDlFM7M/ck/bgfVCACO5vnAf0fXoNVHdWtqGU+MYca+4bL9Z5bpOVmR33cWW9G2A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.7.0.tgz", + "integrity": "sha512-2CpRNYmImPx+RXKLq6jko/L07phmS9I02TyqkcNU20GCF/GgaWvc58hPtjxDX8lPpkdwc9sNh72V9k00S7ezog==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", + "dev": true + }, + "node_modules/clean-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz", + "integrity": "sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/clean-regexp/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-boxes": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", + "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz", + "integrity": "sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==", + "dev": true, + "dependencies": { + "slice-ansi": "^5.0.0", + "string-width": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/cli-truncate/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/cli-truncate/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate/node_modules/strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==", + "dev": true, + "dependencies": { + "mimic-response": "^1.0.0" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", + "dev": true + }, + "node_modules/commander": { + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz", + "integrity": "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==", + "dev": true, + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "node_modules/commitizen": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/commitizen/-/commitizen-4.2.6.tgz", + "integrity": "sha512-RyTM+EiD9GO01DJUn9MRRAet3XUHGfoUZoksLfr+1ym1Xt2q5EYJs9Fg2BtKSb5Mo53i0BtMBmWMHQXVlZ/L9w==", + "dev": true, + "dependencies": { + "cachedir": "2.3.0", + "cz-conventional-changelog": "3.3.0", + "dedent": "0.7.0", + "detect-indent": "6.1.0", + "find-node-modules": "^2.1.2", + "find-root": "1.1.0", + "fs-extra": "9.1.0", + "glob": "7.2.3", + "inquirer": "8.2.4", + "is-utf8": "^0.2.1", + "lodash": "4.17.21", + "minimist": "1.2.6", + "strip-bom": "4.0.0", + "strip-json-comments": "3.1.1" + }, + "bin": { + "commitizen": "bin/commitizen", + "cz": "bin/git-cz", + "git-cz": "bin/git-cz" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/commitizen/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/commitizen/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/commitizen/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/commitizen/node_modules/minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "node_modules/commitlint": { + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/commitlint/-/commitlint-17.3.0.tgz", + "integrity": "sha512-jKytr2eesn2HpRZrr/37O1AQkDsR4VTIVRoAe4oJF3Eg22jp8gaIMvC0/YDoLzNPQEH5VXNhP/uvco70ritGEA==", + "dev": true, + "dependencies": { + "@commitlint/cli": "^17.3.0", + "@commitlint/types": "^17.0.0" + }, + "bin": { + "commitlint": "cli.js" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/compare-func": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", + "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", + "dev": true, + "dependencies": { + "array-ify": "^1.0.0", + "dot-prop": "^5.1.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "dev": true, + "engines": [ + "node >= 6.0" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/confusing-browser-globals": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", + "dev": true + }, + "node_modules/conventional-changelog": { + "version": "3.1.25", + "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.25.tgz", + "integrity": "sha512-ryhi3fd1mKf3fSjbLXOfK2D06YwKNic1nC9mWqybBHdObPd8KJ2vjaXZfYj1U23t+V8T8n0d7gwnc9XbIdFbyQ==", + "dev": true, + "dependencies": { + "conventional-changelog-angular": "^5.0.12", + "conventional-changelog-atom": "^2.0.8", + "conventional-changelog-codemirror": "^2.0.8", + "conventional-changelog-conventionalcommits": "^4.5.0", + "conventional-changelog-core": "^4.2.1", + "conventional-changelog-ember": "^2.0.9", + "conventional-changelog-eslint": "^3.0.9", + "conventional-changelog-express": "^2.0.6", + "conventional-changelog-jquery": "^3.0.11", + "conventional-changelog-jshint": "^2.0.9", + "conventional-changelog-preset-loader": "^2.3.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-angular": { + "version": "5.0.13", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", + "integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==", + "dev": true, + "dependencies": { + "compare-func": "^2.0.0", + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-atom": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz", + "integrity": "sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw==", + "dev": true, + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-codemirror": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz", + "integrity": "sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw==", + "dev": true, + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-config-spec": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-config-spec/-/conventional-changelog-config-spec-2.1.0.tgz", + "integrity": "sha512-IpVePh16EbbB02V+UA+HQnnPIohgXvJRxHcS5+Uwk4AT5LjzCZJm5sp/yqs5C6KZJ1jMsV4paEV13BN1pvDuxQ==", + "dev": true + }, + "node_modules/conventional-changelog-conventionalcommits": { + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.3.tgz", + "integrity": "sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g==", + "dev": true, + "dependencies": { + "compare-func": "^2.0.0", + "lodash": "^4.17.15", + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-core": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz", + "integrity": "sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==", + "dev": true, + "dependencies": { + "add-stream": "^1.0.0", + "conventional-changelog-writer": "^5.0.0", + "conventional-commits-parser": "^3.2.0", + "dateformat": "^3.0.0", + "get-pkg-repo": "^4.0.0", + "git-raw-commits": "^2.0.8", + "git-remote-origin-url": "^2.0.0", + "git-semver-tags": "^4.1.1", + "lodash": "^4.17.15", + "normalize-package-data": "^3.0.0", + "q": "^1.5.1", + "read-pkg": "^3.0.0", + "read-pkg-up": "^3.0.0", + "through2": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-ember": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz", + "integrity": "sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A==", + "dev": true, + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-eslint": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz", + "integrity": "sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA==", + "dev": true, + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-express": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz", + "integrity": "sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ==", + "dev": true, + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-jquery": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz", + "integrity": "sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw==", + "dev": true, + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-jscs": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-jscs/-/conventional-changelog-jscs-0.1.0.tgz", + "integrity": "sha512-V8sey4tE0nJUlWGi2PZKDMfawYLf/+F165xhhDjcIoTEJDxssVV5PMVzTQzjS6U/dEX85fWkur+bs6imOqkIng==", + "dev": true, + "dependencies": { + "q": "^1.4.1" + } + }, + "node_modules/conventional-changelog-jshint": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz", + "integrity": "sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA==", + "dev": true, + "dependencies": { + "compare-func": "^2.0.0", + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-preset-loader": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz", + "integrity": "sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-writer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz", + "integrity": "sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==", + "dev": true, + "dependencies": { + "conventional-commits-filter": "^2.0.7", + "dateformat": "^3.0.0", + "handlebars": "^4.7.7", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "semver": "^6.0.0", + "split": "^1.0.0", + "through2": "^4.0.0" + }, + "bin": { + "conventional-changelog-writer": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-commit-types": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/conventional-commit-types/-/conventional-commit-types-3.0.0.tgz", + "integrity": "sha512-SmmCYnOniSsAa9GqWOeLqc179lfr5TRu5b4QFDkbsrJ5TZjPJx85wtOr3zn+1dbeNiXDKGPbZ72IKbPhLXh/Lg==", + "dev": true + }, + "node_modules/conventional-commits-filter": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz", + "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==", + "dev": true, + "dependencies": { + "lodash.ismatch": "^4.4.0", + "modify-values": "^1.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-commits-parser": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz", + "integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==", + "dev": true, + "dependencies": { + "is-text-path": "^1.0.1", + "JSONStream": "^1.0.4", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + }, + "bin": { + "conventional-commits-parser": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-github-releaser": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/conventional-github-releaser/-/conventional-github-releaser-3.1.5.tgz", + "integrity": "sha512-VhPKbdN92b2ygnQLkuwHIfUaPAVrVfJVuQdxbmmVPkN927LDP98HthLWFVShh4pxqLK0nE66v78RERGJVeCzbg==", + "dev": true, + "dependencies": { + "conventional-changelog": "^2.0.0", + "dateformat": "^3.0.0", + "debug": "^3.1.0", + "gh-got": "^7.0.0", + "git-semver-tags": "^2.0.0", + "lodash.merge": "^4.0.2", + "meow": "^7.0.0", + "object-assign": "^4.0.1", + "q": "^1.4.1", + "semver": "^5.0.1", + "semver-regex": "^2.0.0", + "through2": "^2.0.0" + }, + "bin": { + "conventional-github-releaser": "src/cli.js" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/conventional-github-releaser/node_modules/compare-func": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-1.3.4.tgz", + "integrity": "sha512-sq2sWtrqKPkEXAC8tEJA1+BqAH9GbFkGBtUOqrUX57VSfwp8xyktctk+uLoRy5eccTdxzDcVIztlYDpKs3Jv1Q==", + "dev": true, + "dependencies": { + "array-ify": "^1.0.0", + "dot-prop": "^3.0.0" + } + }, + "node_modules/conventional-github-releaser/node_modules/conventional-changelog": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-2.0.3.tgz", + "integrity": "sha512-4bcII9cJHSKb2qi9e8qGF6aJHLf/AB0dokhyR+X6QILTMl77s4l163vK+reXhajvfOYbbHQvsrWybr5+PKZwNA==", + "dev": true, + "dependencies": { + "conventional-changelog-angular": "^1.6.6", + "conventional-changelog-atom": "^2.0.0", + "conventional-changelog-codemirror": "^2.0.0", + "conventional-changelog-core": "^3.1.0", + "conventional-changelog-ember": "^2.0.1", + "conventional-changelog-eslint": "^3.0.0", + "conventional-changelog-express": "^2.0.0", + "conventional-changelog-jquery": "^0.1.0", + "conventional-changelog-jscs": "^0.1.0", + "conventional-changelog-jshint": "^2.0.0", + "conventional-changelog-preset-loader": "^2.0.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/conventional-github-releaser/node_modules/conventional-changelog-angular": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-1.6.6.tgz", + "integrity": "sha512-suQnFSqCxRwyBxY68pYTsFkG0taIdinHLNEAX5ivtw8bCRnIgnpvcHmlR/yjUyZIrNPYAoXlY1WiEKWgSE4BNg==", + "dev": true, + "dependencies": { + "compare-func": "^1.3.1", + "q": "^1.5.1" + } + }, + "node_modules/conventional-github-releaser/node_modules/conventional-changelog-core": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-3.2.3.tgz", + "integrity": "sha512-LMMX1JlxPIq/Ez5aYAYS5CpuwbOk6QFp8O4HLAcZxe3vxoCtABkhfjetk8IYdRB9CDQGwJFLR3Dr55Za6XKgUQ==", + "dev": true, + "dependencies": { + "conventional-changelog-writer": "^4.0.6", + "conventional-commits-parser": "^3.0.3", + "dateformat": "^3.0.0", + "get-pkg-repo": "^1.0.0", + "git-raw-commits": "2.0.0", + "git-remote-origin-url": "^2.0.0", + "git-semver-tags": "^2.0.3", + "lodash": "^4.2.1", + "normalize-package-data": "^2.3.5", + "q": "^1.5.1", + "read-pkg": "^3.0.0", + "read-pkg-up": "^3.0.0", + "through2": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/conventional-github-releaser/node_modules/conventional-changelog-core/node_modules/through2": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", + "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "2 || 3" + } + }, + "node_modules/conventional-github-releaser/node_modules/conventional-changelog-jquery": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-0.1.0.tgz", + "integrity": "sha512-wbz5vVcvu/SPZTDFB21fF/xo5zFq6NQR42jhtUfOrrP1N/ZjNshhGb3expCGqHYdnUHzPevHeUafsVrdxVD5Og==", + "dev": true, + "dependencies": { + "q": "^1.4.1" + } + }, + "node_modules/conventional-github-releaser/node_modules/conventional-changelog-writer": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.1.0.tgz", + "integrity": "sha512-WwKcUp7WyXYGQmkLsX4QmU42AZ1lqlvRW9mqoyiQzdD+rJWbTepdWoKJuwXTS+yq79XKnQNa93/roViPQrAQgw==", + "dev": true, + "dependencies": { + "compare-func": "^2.0.0", + "conventional-commits-filter": "^2.0.7", + "dateformat": "^3.0.0", + "handlebars": "^4.7.6", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "semver": "^6.0.0", + "split": "^1.0.0", + "through2": "^4.0.0" + }, + "bin": { + "conventional-changelog-writer": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-github-releaser/node_modules/conventional-changelog-writer/node_modules/compare-func": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", + "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", + "dev": true, + "dependencies": { + "array-ify": "^1.0.0", + "dot-prop": "^5.1.0" + } + }, + "node_modules/conventional-github-releaser/node_modules/conventional-changelog-writer/node_modules/dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-github-releaser/node_modules/conventional-changelog-writer/node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-github-releaser/node_modules/conventional-changelog-writer/node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-github-releaser/node_modules/conventional-changelog-writer/node_modules/meow": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", + "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", + "dev": true, + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conventional-github-releaser/node_modules/conventional-changelog-writer/node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-github-releaser/node_modules/conventional-changelog-writer/node_modules/normalize-package-data/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-github-releaser/node_modules/conventional-changelog-writer/node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-github-releaser/node_modules/conventional-changelog-writer/node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conventional-github-releaser/node_modules/conventional-changelog-writer/node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-github-releaser/node_modules/conventional-changelog-writer/node_modules/read-pkg/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/conventional-github-releaser/node_modules/conventional-changelog-writer/node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/conventional-github-releaser/node_modules/conventional-changelog-writer/node_modules/read-pkg/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/conventional-github-releaser/node_modules/conventional-changelog-writer/node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-github-releaser/node_modules/conventional-changelog-writer/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/conventional-github-releaser/node_modules/conventional-changelog-writer/node_modules/through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, + "dependencies": { + "readable-stream": "3" + } + }, + "node_modules/conventional-github-releaser/node_modules/conventional-changelog-writer/node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conventional-github-releaser/node_modules/dargs": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz", + "integrity": "sha512-jyweV/k0rbv2WK4r9KLayuBrSh2Py0tNmV7LBoSMH4hMQyrG8OPyIOWB2VEx4DJKXWmK4lopYMVvORlDt2S8Aw==", + "dev": true, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/conventional-github-releaser/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/conventional-github-releaser/node_modules/dot-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz", + "integrity": "sha512-k4ELWeEU3uCcwub7+dWydqQBRjAjkV9L33HjVRG5Xo2QybI6ja/v+4W73SRi8ubCqJz0l9XsTP1NbewfyqaSlw==", + "dev": true, + "dependencies": { + "is-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/conventional-github-releaser/node_modules/get-pkg-repo": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz", + "integrity": "sha512-xPCyvcEOxCJDxhBfXDNH+zA7mIRGb2aY1gIUJWsZkpJbp1BLHl+/Sycg26Dv+ZbZAJkO61tzbBtqHUi30NGBvg==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "meow": "^3.3.0", + "normalize-package-data": "^2.3.0", + "parse-github-repo-url": "^1.3.0", + "through2": "^2.0.0" + }, + "bin": { + "get-pkg-repo": "cli.js" + } + }, + "node_modules/conventional-github-releaser/node_modules/get-pkg-repo/node_modules/camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/conventional-github-releaser/node_modules/get-pkg-repo/node_modules/camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha512-bA/Z/DERHKqoEOrp+qeGKw1QlvEQkGZSc0XaY6VnTxZr+Kv1G5zFwttpjv8qxZ/sBPT4nthwZaAcsAZTJlSKXQ==", + "dev": true, + "dependencies": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/conventional-github-releaser/node_modules/get-pkg-repo/node_modules/find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", + "dev": true, + "dependencies": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/conventional-github-releaser/node_modules/get-pkg-repo/node_modules/meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha512-TNdwZs0skRlpPpCUK25StC4VH+tP5GgeY1HQOOGP+lQ2xtdkN2VtT/5tiX9k3IWpkBPV9b3LsAWXn4GGi/PrSA==", + "dev": true, + "dependencies": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/conventional-github-releaser/node_modules/get-pkg-repo/node_modules/read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", + "dev": true, + "dependencies": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/conventional-github-releaser/node_modules/get-pkg-repo/node_modules/read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", + "dev": true, + "dependencies": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/conventional-github-releaser/node_modules/get-pkg-repo/node_modules/redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha512-qtW5hKzGQZqKoh6JNSD+4lfitfPKGz42e6QwiRmPM5mmKtR0N41AbJRYu0xJi7nhOJ4WDgRkKvAk6tw4WIwR4g==", + "dev": true, + "dependencies": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/conventional-github-releaser/node_modules/get-pkg-repo/node_modules/trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha512-Nm4cF79FhSTzrLKGDMi3I4utBtFv8qKy4sq1enftf2gMdpqI8oVQTAfySkTz5r49giVzDj88SVZXP4CeYQwjaw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/conventional-github-releaser/node_modules/git-raw-commits": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.0.tgz", + "integrity": "sha512-w4jFEJFgKXMQJ0H0ikBk2S+4KP2VEjhCvLCNqbNRQC8BgGWgLKNCO7a9K9LI+TVT7Gfoloje502sEnctibffgg==", + "dev": true, + "dependencies": { + "dargs": "^4.0.1", + "lodash.template": "^4.0.2", + "meow": "^4.0.0", + "split2": "^2.0.0", + "through2": "^2.0.0" + }, + "bin": { + "git-raw-commits": "cli.js" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/conventional-github-releaser/node_modules/git-raw-commits/node_modules/camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-github-releaser/node_modules/git-raw-commits/node_modules/camelcase-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", + "integrity": "sha512-Ej37YKYbFUI8QiYlvj9YHb6/Z60dZyPJW0Cs8sFilMbd2lP0bw3ylAq9yJkK4lcTA2dID5fG8LjmJYbO7kWb7Q==", + "dev": true, + "dependencies": { + "camelcase": "^4.1.0", + "map-obj": "^2.0.0", + "quick-lru": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-github-releaser/node_modules/git-raw-commits/node_modules/indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-github-releaser/node_modules/git-raw-commits/node_modules/map-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", + "integrity": "sha512-TzQSV2DiMYgoF5RycneKVUzIa9bQsj/B3tTgsE3dOGqlzHnGIDaC7XBE7grnA+8kZPnfqSGFe95VHc2oc0VFUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-github-releaser/node_modules/git-raw-commits/node_modules/meow": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", + "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "dev": true, + "dependencies": { + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist": "^1.1.3", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-github-releaser/node_modules/git-raw-commits/node_modules/minimist-options": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", + "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", + "dev": true, + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/conventional-github-releaser/node_modules/git-raw-commits/node_modules/redent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", + "integrity": "sha512-XNwrTx77JQCEMXTeb8movBKuK75MgH0RZkujNuDKCezemx/voapl9i2gCSi8WWm8+ox5ycJi1gxF22fR7c0Ciw==", + "dev": true, + "dependencies": { + "indent-string": "^3.0.0", + "strip-indent": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-github-releaser/node_modules/git-raw-commits/node_modules/strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-github-releaser/node_modules/git-raw-commits/node_modules/trim-newlines": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", + "integrity": "sha512-MTBWv3jhVjTU7XR3IQHllbiJs8sc75a80OEhB6or/q7pLTWgQ0bMGQXXYQSrSuXe6WiKWDZ5txXY5P59a/coVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-github-releaser/node_modules/git-semver-tags": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-2.0.3.tgz", + "integrity": "sha512-tj4FD4ww2RX2ae//jSrXZzrocla9db5h0V7ikPl1P/WwoZar9epdUhwR7XHXSgc+ZkNq72BEEerqQuicoEQfzA==", + "dev": true, + "dependencies": { + "meow": "^4.0.0", + "semver": "^6.0.0" + }, + "bin": { + "git-semver-tags": "cli.js" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/conventional-github-releaser/node_modules/git-semver-tags/node_modules/camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-github-releaser/node_modules/git-semver-tags/node_modules/camelcase-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", + "integrity": "sha512-Ej37YKYbFUI8QiYlvj9YHb6/Z60dZyPJW0Cs8sFilMbd2lP0bw3ylAq9yJkK4lcTA2dID5fG8LjmJYbO7kWb7Q==", + "dev": true, + "dependencies": { + "camelcase": "^4.1.0", + "map-obj": "^2.0.0", + "quick-lru": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-github-releaser/node_modules/git-semver-tags/node_modules/indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-github-releaser/node_modules/git-semver-tags/node_modules/map-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", + "integrity": "sha512-TzQSV2DiMYgoF5RycneKVUzIa9bQsj/B3tTgsE3dOGqlzHnGIDaC7XBE7grnA+8kZPnfqSGFe95VHc2oc0VFUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-github-releaser/node_modules/git-semver-tags/node_modules/meow": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", + "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "dev": true, + "dependencies": { + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist": "^1.1.3", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-github-releaser/node_modules/git-semver-tags/node_modules/minimist-options": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", + "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", + "dev": true, + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/conventional-github-releaser/node_modules/git-semver-tags/node_modules/redent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", + "integrity": "sha512-XNwrTx77JQCEMXTeb8movBKuK75MgH0RZkujNuDKCezemx/voapl9i2gCSi8WWm8+ox5ycJi1gxF22fR7c0Ciw==", + "dev": true, + "dependencies": { + "indent-string": "^3.0.0", + "strip-indent": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-github-releaser/node_modules/git-semver-tags/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/conventional-github-releaser/node_modules/git-semver-tags/node_modules/strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-github-releaser/node_modules/git-semver-tags/node_modules/trim-newlines": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", + "integrity": "sha512-MTBWv3jhVjTU7XR3IQHllbiJs8sc75a80OEhB6or/q7pLTWgQ0bMGQXXYQSrSuXe6WiKWDZ5txXY5P59a/coVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-github-releaser/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/conventional-github-releaser/node_modules/indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha512-aqwDFWSgSgfRaEwao5lg5KEcVd/2a+D1rvoG7NdilmYz0NwRk6StWpWdz/Hpk34MKPpx7s8XxUqimfcQK6gGlg==", + "dev": true, + "dependencies": { + "repeating": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/conventional-github-releaser/node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/conventional-github-releaser/node_modules/load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/conventional-github-releaser/node_modules/load-json-file/node_modules/parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", + "dev": true, + "dependencies": { + "error-ex": "^1.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/conventional-github-releaser/node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/conventional-github-releaser/node_modules/meow": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-7.1.1.tgz", + "integrity": "sha512-GWHvA5QOcS412WCo8vwKDlTelGLsCGBVevQB5Kva961rmNfun0PCbv5+xta2kUMFJyR8/oWnn7ddeKdosbAPbA==", + "dev": true, + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^2.5.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.13.1", + "yargs-parser": "^18.1.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conventional-github-releaser/node_modules/meow/node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-github-releaser/node_modules/meow/node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conventional-github-releaser/node_modules/meow/node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-github-releaser/node_modules/meow/node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-github-releaser/node_modules/meow/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/conventional-github-releaser/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/conventional-github-releaser/node_modules/path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", + "dev": true, + "dependencies": { + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/conventional-github-releaser/node_modules/path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/conventional-github-releaser/node_modules/quick-lru": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", + "integrity": "sha512-tRS7sTgyxMXtLum8L65daJnHUhfDUgboRdcWW2bR9vBfrj2+O5HSMbQOJfJJjIVSPFqbBCF37FpwWXGitDc5tA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/conventional-github-releaser/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/conventional-github-releaser/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/conventional-github-releaser/node_modules/split2": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz", + "integrity": "sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==", + "dev": true, + "dependencies": { + "through2": "^2.0.2" + } + }, + "node_modules/conventional-github-releaser/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/conventional-github-releaser/node_modules/strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", + "dev": true, + "dependencies": { + "is-utf8": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/conventional-github-releaser/node_modules/strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha512-I5iQq6aFMM62fBEAIB/hXzwJD6EEZ0xEGCX2t7oXqaKPIRgt4WruAQ285BISgdkP+HLGWyeGmNJcpIwFeRYRUA==", + "dev": true, + "dependencies": { + "get-stdin": "^4.0.1" + }, + "bin": { + "strip-indent": "cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/conventional-github-releaser/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/conventional-github-releaser/node_modules/through2/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/conventional-github-releaser/node_modules/type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conventional-recommended-bump": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz", + "integrity": "sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==", + "dev": true, + "dependencies": { + "concat-stream": "^2.0.0", + "conventional-changelog-preset-loader": "^2.3.4", + "conventional-commits-filter": "^2.0.7", + "conventional-commits-parser": "^3.2.0", + "git-raw-commits": "^2.0.8", + "git-semver-tags": "^4.1.1", + "meow": "^8.0.0", + "q": "^1.5.1" + }, + "bin": { + "conventional-recommended-bump": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/core-js": { + "version": "3.26.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.26.1.tgz", + "integrity": "sha512-21491RRQVzUn0GGM9Z1Jrpr6PNPxPi+Za8OM9q4tksTSnlbXXGKK1nXNg/QvwFYettXvSX6zWKCtHHfjN4puyA==", + "dev": true, + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.26.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.26.1.tgz", + "integrity": "sha512-622/KzTudvXCDLRw70iHW4KKs1aGpcRcowGWyYJr2DEBfRrd6hNJybxSWJFuZYD4ma86xhrwDDHxmDaIq4EA8A==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-pure": { + "version": "3.26.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.26.1.tgz", + "integrity": "sha512-VVXcDpp/xJ21KdULRq/lXdLzQAtX7+37LzpyfFM973il0tWSsDEoyzG38G14AjTpK9VTfiNM9jnFauq/CpaWGQ==", + "dev": true, + "hasInstallScript": true, + "peer": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dev": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cosmiconfig-typescript-loader": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.3.0.tgz", + "integrity": "sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q==", + "dev": true, + "engines": { + "node": ">=12", + "npm": ">=6" + }, + "peerDependencies": { + "@types/node": "*", + "cosmiconfig": ">=7", + "ts-node": ">=10", + "typescript": ">=3" + } + }, + "node_modules/cosmiconfig/node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng==", + "dev": true, + "dependencies": { + "array-find-index": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cz-conventional-changelog": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/cz-conventional-changelog/-/cz-conventional-changelog-3.3.0.tgz", + "integrity": "sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==", + "dev": true, + "dependencies": { + "chalk": "^2.4.1", + "commitizen": "^4.0.3", + "conventional-commit-types": "^3.0.0", + "lodash.map": "^4.5.1", + "longest": "^2.0.1", + "word-wrap": "^1.0.3" + }, + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@commitlint/load": ">6.1.1" + } + }, + "node_modules/cz-conventional-changelog/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cz-conventional-changelog/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cz-conventional-changelog/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/cz-conventional-changelog/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/cz-conventional-changelog/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/cz-conventional-changelog/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/cz-conventional-changelog/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true, + "peer": true + }, + "node_modules/dargs": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", + "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/dateformat": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decamelize-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", + "dev": true, + "dependencies": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decamelize-keys/node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", + "dev": true, + "dependencies": { + "mimic-response": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diff-sequences": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.3.1.tgz", + "integrity": "sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dir-glob/node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dotgitignore": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/dotgitignore/-/dotgitignore-2.1.0.tgz", + "integrity": "sha512-sCm11ak2oY6DglEPpCB8TixLjWAxd3kJTs6UIcSasNYxXdFPV+YKlye92c8H4kKFqV5qYMIh7d+cYecEg0dIkA==", + "dev": true, + "dependencies": { + "find-up": "^3.0.0", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dotgitignore/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/dotgitignore/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dotgitignore/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dotgitignore/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/dotgitignore/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/dotgitignore/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dotgitignore/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/duplexer3": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz", + "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==", + "dev": true + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.4.284", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", + "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", + "dev": true + }, + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/enhanced-resolve": { + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz", + "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.20.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.5.tgz", + "integrity": "sha512-7h8MM2EQhsCA7pU/Nv78qOXFpD8Rhqd12gYiSJVkrH9+e8VuA8JlPJK/hQjjlLv6pJvx/z1iRFKzYb0XT/RuAQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.3", + "get-symbol-description": "^1.0.0", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.2", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "unbox-primitive": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "dev": true, + "peer": true + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint": { + "version": "8.30.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.30.0.tgz", + "integrity": "sha512-MGADB39QqYuzEGov+F/qb18r4i7DohCDOfatHaxI2iGlPuC65bwG2gxgO+7DkyL38dRFaRH7RaRAgU6JKL9rMQ==", + "dev": true, + "dependencies": { + "@eslint/eslintrc": "^1.4.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.4.0", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-airbnb": { + "version": "19.0.4", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-19.0.4.tgz", + "integrity": "sha512-T75QYQVQX57jiNgpF9r1KegMICE94VYwoFQyMGhrvc+lB8YF2E/M/PYDaQe1AJcWaEgqLE+ErXV1Og/+6Vyzew==", + "dev": true, + "dependencies": { + "eslint-config-airbnb-base": "^15.0.0", + "object.assign": "^4.1.2", + "object.entries": "^1.1.5" + }, + "engines": { + "node": "^10.12.0 || ^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^7.32.0 || ^8.2.0", + "eslint-plugin-import": "^2.25.3", + "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-react": "^7.28.0", + "eslint-plugin-react-hooks": "^4.3.0" + } + }, + "node_modules/eslint-config-airbnb-base": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz", + "integrity": "sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==", + "dev": true, + "dependencies": { + "confusing-browser-globals": "^1.0.10", + "object.assign": "^4.1.2", + "object.entries": "^1.1.5", + "semver": "^6.3.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "peerDependencies": { + "eslint": "^7.32.0 || ^8.2.0", + "eslint-plugin-import": "^2.25.2" + } + }, + "node_modules/eslint-config-prettier": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz", + "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", + "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", + "dev": true, + "dependencies": { + "debug": "^3.2.7", + "resolve": "^1.20.0" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", + "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", + "dev": true, + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-compat": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-compat/-/eslint-plugin-compat-4.0.2.tgz", + "integrity": "sha512-xqvoO54CLTVaEYGMzhu35Wzwk/As7rCvz/2dqwnFiWi0OJccEtGIn+5qq3zqIu9nboXlpdBN579fZcItC73Ycg==", + "dev": true, + "dependencies": { + "@mdn/browser-compat-data": "^4.1.5", + "ast-metadata-inferer": "^0.7.0", + "browserslist": "^4.16.8", + "caniuse-lite": "^1.0.30001304", + "core-js": "^3.16.2", + "find-up": "^5.0.0", + "lodash.memoize": "4.1.2", + "semver": "7.3.5" + }, + "engines": { + "node": ">=9.x" + }, + "peerDependencies": { + "eslint": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/eslint-plugin-compat/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-plugin-compat/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-plugin-compat/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-plugin-compat/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.26.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", + "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.4", + "array.prototype.flat": "^1.2.5", + "debug": "^2.6.9", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-module-utils": "^2.7.3", + "has": "^1.0.3", + "is-core-module": "^2.8.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.5", + "resolve": "^1.22.0", + "tsconfig-paths": "^3.14.1" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-import/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/eslint-plugin-import/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eslint-plugin-import/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/eslint-plugin-import/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-import/node_modules/tsconfig-paths": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", + "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", + "dev": true, + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/eslint-plugin-json": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-json/-/eslint-plugin-json-3.1.0.tgz", + "integrity": "sha512-MrlG2ynFEHe7wDGwbUuFPsaT2b1uhuEFhJ+W1f1u+1C2EkXmTYJp4B1aAdQQ8M+CC3t//N/oRKiIVw14L2HR1g==", + "dev": true, + "dependencies": { + "lodash": "^4.17.21", + "vscode-json-languageservice": "^4.1.6" + }, + "engines": { + "node": ">=12.0" + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz", + "integrity": "sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/runtime": "^7.18.9", + "aria-query": "^4.2.2", + "array-includes": "^3.1.5", + "ast-types-flow": "^0.0.7", + "axe-core": "^4.4.3", + "axobject-query": "^2.2.0", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "has": "^1.0.3", + "jsx-ast-utils": "^3.3.2", + "language-tags": "^1.0.5", + "minimatch": "^3.1.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-jsx-a11y/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint-plugin-jsx-a11y/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "peer": true + }, + "node_modules/eslint-plugin-jsx-a11y/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "peer": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.31.11", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.31.11.tgz", + "integrity": "sha512-TTvq5JsT5v56wPa9OYHzsrOlHzKZKjV+aLgS+55NJP/cuzdiQPC7PfYoUjMoxlffKtvijpk7vA/jmuqRb9nohw==", + "dev": true, + "peer": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", + "doctrine": "^2.1.0", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "object.hasown": "^1.1.2", + "object.values": "^1.1.6", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.3", + "semver": "^6.3.0", + "string.prototype.matchall": "^4.0.8" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "peer": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "peer": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", + "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "dev": true, + "peer": true, + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-unicorn": { + "version": "45.0.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-45.0.2.tgz", + "integrity": "sha512-Y0WUDXRyGDMcKLiwgL3zSMpHrXI00xmdyixEGIg90gHnj0PcHY4moNv3Ppje/kDivdAy5vUeUr7z211ImPv2gw==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.19.1", + "@eslint-community/eslint-utils": "^4.1.2", + "ci-info": "^3.6.1", + "clean-regexp": "^1.0.0", + "esquery": "^1.4.0", + "indent-string": "^4.0.0", + "is-builtin-module": "^3.2.0", + "jsesc": "^3.0.2", + "lodash": "^4.17.21", + "pluralize": "^8.0.0", + "read-pkg-up": "^7.0.1", + "regexp-tree": "^0.1.24", + "regjsparser": "^0.9.1", + "safe-regex": "^2.1.1", + "semver": "^7.3.8", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=14.18" + }, + "funding": { + "url": "https://github.com/sindresorhus/eslint-plugin-unicorn?sponsor=1" + }, + "peerDependencies": { + "eslint": ">=8.28.0" + } + }, + "node_modules/eslint-plugin-unicorn/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/eslint-plugin-unicorn/node_modules/jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-plugin-unicorn/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/eslint-plugin-unicorn/node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/eslint-plugin-unicorn/node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint-plugin-unicorn/node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-plugin-unicorn/node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint-plugin-unicorn/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-plugin-unicorn/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/eslint/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.19.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/eslint/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/eslint/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eslint/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/esm": { + "version": "3.2.25", + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/espree": { + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", + "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", + "dev": true, + "dependencies": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", + "dev": true, + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expect": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.3.1.tgz", + "integrity": "sha512-gGb1yTgU30Q0O/tQq+z30KBWv24ApkMgFUpvKBkyLUBL68Wv8dHdJxTBZFl/iT8K/bqDHvUYRH6IIN3rToopPA==", + "dev": true, + "dependencies": { + "@jest/expect-utils": "^29.3.1", + "jest-get-type": "^29.2.0", + "jest-matcher-utils": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-util": "^29.3.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.14.0.tgz", + "integrity": "sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-node-modules": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/find-node-modules/-/find-node-modules-2.1.3.tgz", + "integrity": "sha512-UC2I2+nx1ZuOBclWVNdcnbDR5dlrOdVb7xNjmT/lHE+LsgztWks3dG7boJ37yTS/venXw84B/mAW9uHVoC5QRg==", + "dev": true, + "dependencies": { + "findup-sync": "^4.0.0", + "merge": "^2.1.1" + } + }, + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", + "dev": true + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/findup-sync": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-4.0.0.tgz", + "integrity": "sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==", + "dev": true, + "dependencies": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^4.0.2", + "resolve-dir": "^1.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "node_modules/from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "node_modules/from2/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/from2/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/from2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-pkg-repo": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz", + "integrity": "sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==", + "dev": true, + "dependencies": { + "@hutson/parse-repository-url": "^3.0.0", + "hosted-git-info": "^4.0.0", + "through2": "^2.0.0", + "yargs": "^16.2.0" + }, + "bin": { + "get-pkg-repo": "src/cli.js" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-pkg-repo/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/get-pkg-repo/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/get-pkg-repo/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/get-pkg-repo/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/get-pkg-repo/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/get-pkg-repo/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gh-got": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/gh-got/-/gh-got-7.1.0.tgz", + "integrity": "sha512-KeWkkhresa7sbpzQLYzITMgez5rMigUsijhmSAHcLDORIMUbdlkdoZyaN1wQvIjmUZnyb/wkAPaXb4MQKX0mdQ==", + "dev": true, + "dependencies": { + "got": "^8.0.0", + "is-plain-obj": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/git-raw-commits": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz", + "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==", + "dev": true, + "dependencies": { + "dargs": "^7.0.0", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + }, + "bin": { + "git-raw-commits": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/git-remote-origin-url": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", + "integrity": "sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==", + "dev": true, + "dependencies": { + "gitconfiglocal": "^1.0.0", + "pify": "^2.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/git-semver-tags": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz", + "integrity": "sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==", + "dev": true, + "dependencies": { + "meow": "^8.0.0", + "semver": "^6.0.0" + }, + "bin": { + "git-semver-tags": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/gitconfiglocal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", + "integrity": "sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==", + "dev": true, + "dependencies": { + "ini": "^1.3.2" + } + }, + "node_modules/glob": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", + "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "peer": true + }, + "node_modules/global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==", + "dev": true, + "dependencies": { + "ini": "^1.3.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "dependencies": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/got": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", + "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", + "dev": true, + "dependencies": { + "@sindresorhus/is": "^0.7.0", + "cacheable-request": "^2.1.1", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "into-stream": "^3.1.0", + "is-retry-allowed": "^1.1.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "mimic-response": "^1.0.0", + "p-cancelable": "^0.4.0", + "p-timeout": "^2.0.1", + "pify": "^3.0.0", + "safe-buffer": "^5.1.1", + "timed-out": "^4.0.1", + "url-parse-lax": "^3.0.0", + "url-to-options": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/got/node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/got/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "node_modules/grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "dev": true + }, + "node_modules/handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbol-support-x": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", + "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-to-string-tag-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", + "dev": true, + "dependencies": { + "has-symbol-support-x": "^1.4.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "dependencies": { + "parse-passwd": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/http-cache-semantics": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", + "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", + "dev": true + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/husky": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.2.tgz", + "integrity": "sha512-Tkv80jtvbnkK3mYWxPZePGFpQ/tT3HNSs/sasF9P2YfkMezDl3ON37YN6jUUI4eTg5LcyVynlb6r4eyvOmspvg==", + "dev": true, + "bin": { + "husky": "lib/bin.js" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/inquirer": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz", + "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/internal-slot": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.4.tgz", + "integrity": "sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/into-stream": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", + "integrity": "sha512-TcdjPibTksa1NQximqep2r17ISRiNE9fwlfbg3F8ANdvP5/yrFTew86VcO//jk4QTaMlbjypPBq76HN2zaKfZQ==", + "dev": true, + "dependencies": { + "from2": "^2.1.1", + "p-is-promise": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-builtin-module": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.0.tgz", + "integrity": "sha512-phDA4oSGt7vl1n5tJvTWooWWAsXLY+2xCnxNqvKhGEzujg+A43wPlPOyDg3C8XQHN+6k/JTQWJ/j0dQh/qr+Hw==", + "dev": true, + "dependencies": { + "builtin-modules": "^3.3.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", + "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-text-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", + "integrity": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==", + "dev": true, + "dependencies": { + "text-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", + "dev": true + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "dev": true, + "dependencies": { + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/jest": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.3.1.tgz", + "integrity": "sha512-6iWfL5DTT0Np6UYs/y5Niu7WIfNv/wRTtN5RSXt2DIEft3dx3zPuw/3WJQBCJfmEzvDiEKwoqMbGD9n49+qLSA==", + "dev": true, + "dependencies": { + "@jest/core": "^29.3.1", + "@jest/types": "^29.3.1", + "import-local": "^3.0.2", + "jest-cli": "^29.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.2.0.tgz", + "integrity": "sha512-qPVmLLyBmvF5HJrY7krDisx6Voi8DmlV3GZYX0aFNbaQsZeoz1hfxcCMbqDGuQCxU1dJy9eYc2xscE8QrCCYaA==", + "dev": true, + "dependencies": { + "execa": "^5.0.0", + "p-limit": "^3.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.3.1.tgz", + "integrity": "sha512-wpr26sEvwb3qQQbdlmei+gzp6yoSSoSL6GsLPxnuayZSMrSd5Ka7IjAvatpIernBvT2+Ic6RLTg+jSebScmasg==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.3.1", + "@jest/expect": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.3.1", + "jest-matcher-utils": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-runtime": "^29.3.1", + "jest-snapshot": "^29.3.1", + "jest-util": "^29.3.1", + "p-limit": "^3.1.0", + "pretty-format": "^29.3.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-cli": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.3.1.tgz", + "integrity": "sha512-TO/ewvwyvPOiBBuWZ0gm04z3WWP8TIK8acgPzE4IxgsLKQgb377NYGrQLc3Wl/7ndWzIH2CDNNsUjGxwLL43VQ==", + "dev": true, + "dependencies": { + "@jest/core": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/types": "^29.3.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^29.3.1", + "jest-util": "^29.3.1", + "jest-validate": "^29.3.1", + "prompts": "^2.0.1", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-config": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.3.1.tgz", + "integrity": "sha512-y0tFHdj2WnTEhxmGUK1T7fgLen7YK4RtfvpLFBXfQkh2eMJAQq24Vx9472lvn5wg0MAO6B+iPfJfzdR9hJYalg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.3.1", + "@jest/types": "^29.3.1", + "babel-jest": "^29.3.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.3.1", + "jest-environment-node": "^29.3.1", + "jest-get-type": "^29.2.0", + "jest-regex-util": "^29.2.0", + "jest-resolve": "^29.3.1", + "jest-runner": "^29.3.1", + "jest-util": "^29.3.1", + "jest-validate": "^29.3.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.3.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-config/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/jest-config/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/jest-config/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/jest-diff": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.3.1.tgz", + "integrity": "sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.3.1", + "jest-get-type": "^29.2.0", + "pretty-format": "^29.3.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-docblock": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.2.0.tgz", + "integrity": "sha512-bkxUsxTgWQGbXV5IENmfiIuqZhJcyvF7tU4zJ/7ioTutdz4ToB5Yx6JOFBpgI+TphRY4lhOyCWGNH/QFQh5T6A==", + "dev": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.3.1.tgz", + "integrity": "sha512-qrZH7PmFB9rEzCSl00BWjZYuS1BSOH8lLuC0azQE9lQrAx3PWGKHTDudQiOSwIy5dGAJh7KA0ScYlCP7JxvFYA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.3.1", + "chalk": "^4.0.0", + "jest-get-type": "^29.2.0", + "jest-util": "^29.3.1", + "pretty-format": "^29.3.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.3.1.tgz", + "integrity": "sha512-xm2THL18Xf5sIHoU7OThBPtuH6Lerd+Y1NLYiZJlkE3hbE+7N7r8uvHIl/FkZ5ymKXJe/11SQuf3fv4v6rUMag==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.3.1", + "@jest/fake-timers": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "jest-mock": "^29.3.1", + "jest-util": "^29.3.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz", + "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.3.1.tgz", + "integrity": "sha512-/FFtvoG1xjbbPXQLFef+WSU4yrc0fc0Dds6aRPBojUid7qlPqZvxdUBA03HW0fnVHXVCnCdkuoghYItKNzc/0A==", + "dev": true, + "dependencies": { + "@jest/types": "^29.3.1", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.2.0", + "jest-util": "^29.3.1", + "jest-worker": "^29.3.1", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-leak-detector": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.3.1.tgz", + "integrity": "sha512-3DA/VVXj4zFOPagGkuqHnSQf1GZBmmlagpguxEERO6Pla2g84Q1MaVIB3YMxgUaFIaYag8ZnTyQgiZ35YEqAQA==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.2.0", + "pretty-format": "^29.3.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.3.1.tgz", + "integrity": "sha512-fkRMZUAScup3txIKfMe3AIZZmPEjWEdsPJFK3AIy5qRohWqQFg1qrmKfYXR9qEkNc7OdAu2N4KPHibEmy4HPeQ==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.3.1", + "jest-get-type": "^29.2.0", + "pretty-format": "^29.3.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.3.1.tgz", + "integrity": "sha512-lMJTbgNcDm5z+6KDxWtqOFWlGQxD6XaYwBqHR8kmpkP+WWWG90I35kdtQHY67Ay5CSuydkTBbJG+tH9JShFCyA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.3.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.3.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-mock": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.3.1.tgz", + "integrity": "sha512-H8/qFDtDVMFvFP4X8NuOT3XRDzOUTz+FeACjufHzsOIBAxivLqkB1PoLCaJx9iPPQ8dZThHPp/G3WRWyMgA3JA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.3.1", + "@types/node": "*", + "jest-util": "^29.3.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.2.0.tgz", + "integrity": "sha512-6yXn0kg2JXzH30cr2NlThF+70iuO/3irbaB4mh5WyqNIvLLP+B6sFdluO1/1RJmslyh/f9osnefECflHvTbwVA==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.3.1.tgz", + "integrity": "sha512-amXJgH/Ng712w3Uz5gqzFBBjxV8WFLSmNjoreBGMqxgCz5cH7swmBZzgBaCIOsvb0NbpJ0vgaSFdJqMdT+rADw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.3.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.3.1", + "jest-validate": "^29.3.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.3.1.tgz", + "integrity": "sha512-Vk0cYq0byRw2WluNmNWGqPeRnZ3p3hHmjJMp2dyyZeYIfiBskwq4rpiuGFR6QGAdbj58WC7HN4hQHjf2mpvrLA==", + "dev": true, + "dependencies": { + "jest-regex-util": "^29.2.0", + "jest-snapshot": "^29.3.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runner": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.3.1.tgz", + "integrity": "sha512-oFvcwRNrKMtE6u9+AQPMATxFcTySyKfLhvso7Sdk/rNpbhg4g2GAGCopiInk1OP4q6gz3n6MajW4+fnHWlU3bA==", + "dev": true, + "dependencies": { + "@jest/console": "^29.3.1", + "@jest/environment": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.2.0", + "jest-environment-node": "^29.3.1", + "jest-haste-map": "^29.3.1", + "jest-leak-detector": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-resolve": "^29.3.1", + "jest-runtime": "^29.3.1", + "jest-util": "^29.3.1", + "jest-watcher": "^29.3.1", + "jest-worker": "^29.3.1", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runtime": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.3.1.tgz", + "integrity": "sha512-jLzkIxIqXwBEOZx7wx9OO9sxoZmgT2NhmQKzHQm1xwR1kNW/dn0OjxR424VwHHf1SPN6Qwlb5pp1oGCeFTQ62A==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.3.1", + "@jest/fake-timers": "^29.3.1", + "@jest/globals": "^29.3.1", + "@jest/source-map": "^29.2.0", + "@jest/test-result": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-mock": "^29.3.1", + "jest-regex-util": "^29.2.0", + "jest-resolve": "^29.3.1", + "jest-snapshot": "^29.3.1", + "jest-util": "^29.3.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runtime/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/jest-runtime/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/jest-runtime/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/jest-snapshot": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.3.1.tgz", + "integrity": "sha512-+3JOc+s28upYLI2OJM4PWRGK9AgpsMs/ekNryUV0yMBClT9B1DF2u2qay8YxcQd338PPYSFNb0lsar1B49sLDA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/babel__traverse": "^7.0.6", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.3.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.3.1", + "jest-get-type": "^29.2.0", + "jest-haste-map": "^29.3.1", + "jest-matcher-utils": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-util": "^29.3.1", + "natural-compare": "^1.4.0", + "pretty-format": "^29.3.1", + "semver": "^7.3.5" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-util": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.3.1.tgz", + "integrity": "sha512-7YOVZaiX7RJLv76ZfHt4nbNEzzTRiMW/IiOG7ZOKmTXmoGBxUDefgMAxQubu6WPVqP5zSzAdZG0FfLcC7HOIFQ==", + "dev": true, + "dependencies": { + "@jest/types": "^29.3.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.3.1.tgz", + "integrity": "sha512-N9Lr3oYR2Mpzuelp1F8negJR3YE+L1ebk1rYA5qYo9TTY3f9OWdptLoNSPP9itOCBIRBqjt/S5XHlzYglLN67g==", + "dev": true, + "dependencies": { + "@jest/types": "^29.3.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.2.0", + "leven": "^3.1.0", + "pretty-format": "^29.3.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watcher": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.3.1.tgz", + "integrity": "sha512-RspXG2BQFDsZSRKGCT/NiNa8RkQ1iKAjrO0//soTMWx/QUt+OcxMqMSBxz23PYGqUuWm2+m2mNNsmj0eIoOaFg==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.3.1", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.3.1.tgz", + "integrity": "sha512-lY4AnnmsEWeiXirAIA0c9SDPbuCBq8IYuDVL8PMm0MZ2PEs2yPvRA/J64QBXuZp7CYKrDM/rmNrc9/i3KJQncw==", + "dev": true, + "dependencies": { + "@types/node": "*", + "jest-util": "^29.3.1", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/js-sdsl": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz", + "integrity": "sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/js-sdsl" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==", + "dev": true + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.2.tgz", + "integrity": "sha512-46Tk9JiOL2z7ytNQWFLpj99RZkVgeHf87yGQKsIkaPz1qSH9UczKH1rO7K3wgRselo0tYMUNfecYpm/p1vC7tQ==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true, + "engines": [ + "node >= 0.2.0" + ] + }, + "node_modules/JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "dev": true, + "dependencies": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + }, + "bin": { + "JSONStream": "bin.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", + "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", + "dev": true, + "peer": true, + "dependencies": { + "array-includes": "^3.1.5", + "object.assign": "^4.1.3" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/keyv": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", + "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.0" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", + "dev": true, + "peer": true + }, + "node_modules/language-tags": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.7.tgz", + "integrity": "sha512-bSytju1/657hFjgUzPAPqszxH62ouE8nQFoFaVlIQfne4wO/wXC9A4+m8jYve7YBBvi59eq0SUpcshvG8h5Usw==", + "dev": true, + "peer": true, + "dependencies": { + "language-subtag-registry": "^0.3.20" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", + "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/lint-staged": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-13.1.0.tgz", + "integrity": "sha512-pn/sR8IrcF/T0vpWLilih8jmVouMlxqXxKuAojmbiGX5n/gDnz+abdPptlj0vYnbfE0SQNl3CY/HwtM0+yfOVQ==", + "dev": true, + "dependencies": { + "cli-truncate": "^3.1.0", + "colorette": "^2.0.19", + "commander": "^9.4.1", + "debug": "^4.3.4", + "execa": "^6.1.0", + "lilconfig": "2.0.6", + "listr2": "^5.0.5", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-inspect": "^1.12.2", + "pidtree": "^0.6.0", + "string-argv": "^0.3.1", + "yaml": "^2.1.3" + }, + "bin": { + "lint-staged": "bin/lint-staged.js" + }, + "engines": { + "node": "^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/lint-staged" + } + }, + "node_modules/lint-staged/node_modules/execa": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-6.1.0.tgz", + "integrity": "sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^3.0.1", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/lint-staged/node_modules/human-signals": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-3.0.1.tgz", + "integrity": "sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==", + "dev": true, + "engines": { + "node": ">=12.20.0" + } + }, + "node_modules/lint-staged/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/npm-run-path": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", + "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", + "dev": true, + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/yaml": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.0.tgz", + "integrity": "sha512-auf7Gi6QwO7HW//GA9seGvTXVGWl1CM/ADWh1+RxtXr6XOxnT65ovDl9fTi4e0monEyJxCHqDpF6QnFDXmJE4g==", + "dev": true, + "engines": { + "node": ">= 14" + } + }, + "node_modules/listr2": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-5.0.6.tgz", + "integrity": "sha512-u60KxKBy1BR2uLJNTWNptzWQ1ob/gjMzIJPZffAENzpZqbMZ/5PrXXOomDcevIS/+IB7s1mmCEtSlT2qHWMqag==", + "dev": true, + "dependencies": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.19", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.5.7", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": "^14.13.1 || >=16.0.0" + }, + "peerDependencies": { + "enquirer": ">= 2.3.0 < 3" + }, + "peerDependenciesMeta": { + "enquirer": { + "optional": true + } + } + }, + "node_modules/listr2/node_modules/cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "dependencies": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/listr2/node_modules/slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==", + "dev": true + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "dev": true + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "node_modules/lodash.isfunction": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz", + "integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==", + "dev": true + }, + "node_modules/lodash.ismatch": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", + "integrity": "sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==", + "dev": true + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true + }, + "node_modules/lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", + "dev": true + }, + "node_modules/lodash.map": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", + "integrity": "sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==", + "dev": true + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lodash.mergewith": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", + "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==", + "dev": true + }, + "node_modules/lodash.snakecase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", + "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==", + "dev": true + }, + "node_modules/lodash.startcase": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", + "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==", + "dev": true + }, + "node_modules/lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "dev": true, + "dependencies": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "node_modules/lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "dev": true, + "dependencies": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "dev": true + }, + "node_modules/lodash.upperfirst": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", + "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==", + "dev": true + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/longest": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-2.0.1.tgz", + "integrity": "sha512-Ajzxb8CM6WAnFjgiloPsI3bF+WCxcvhdIG3KNA2KN962+tdBsHcuQ4k4qX/EcS/2CRkcc0iAkR956Nib6aXU/Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "peer": true, + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha512-RPNliZOFkqFumDhvYqOaNY4Uz9oJM2K9tC6JWsJJsNdhuONW4LQHRBpb0qf4pJApVffI5N39SwzWZJuEhfd7eQ==", + "dev": true, + "dependencies": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", + "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", + "dev": true, + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/meow/node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/meow/node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/meow/node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/meow/node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/meow/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/meow/node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/merge/-/merge-2.1.1.tgz", + "integrity": "sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==", + "dev": true + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "peer": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz", + "integrity": "sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/minimist": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dev": true, + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/modify-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", + "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz", + "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==", + "dev": true + }, + "node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", + "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", + "dev": true, + "dependencies": { + "prepend-http": "^2.0.0", + "query-string": "^5.0.1", + "sort-keys": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", + "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", + "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.hasown": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", + "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "dev": true, + "peer": true, + "dependencies": { + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-cancelable": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", + "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-is-promise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", + "integrity": "sha512-zL7VE4JVS2IFSkR2GQKDSPEVxkoH43/p7oEnwpdCndKYJO0HVeRB7fA8TJwuLOTBREtK0ea8eHaxdwcpob5dmg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-locate/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-timeout": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", + "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", + "dev": true, + "dependencies": { + "p-finally": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-github-repo-url": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz", + "integrity": "sha512-bSWyzBKqcSL4RrncTpGsEKoJ7H8a4L3++ifTAbTFeMHyq2wRV+42DGmQcHIrJIvdcacjIOxEuKH/w4tthF17gg==", + "dev": true + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-type/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "dev": true, + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dev": true, + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/prettier": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.1.tgz", + "integrity": "sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/pretty-format": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz", + "integrity": "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "peer": true, + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true, + "peer": true + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "dev": true, + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/query-string": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "dev": true, + "dependencies": { + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "peer": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", + "dev": true, + "dependencies": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==", + "dev": true, + "dependencies": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "dev": true, + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "dev": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "dev": true, + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/read-pkg/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "dev": true + }, + "node_modules/regenerator-transform": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", + "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regexp-tree": { + "version": "0.1.24", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.24.tgz", + "integrity": "sha512-s2aEVuLhvnVJW6s/iPgEGK6R+/xngd2jNQ+xy4bXNDKxZKJH6jpPHY6kVeVv1IeLCHgswRj+Kl3ELaDjG6V1iw==", + "dev": true, + "bin": { + "regexp-tree": "bin/regexp-tree" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/regexpu-core": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.2.tgz", + "integrity": "sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsgen": "^0.7.1", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", + "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==", + "dev": true + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==", + "dev": true, + "dependencies": { + "is-finite": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-global": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz", + "integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==", + "dev": true, + "dependencies": { + "global-dirs": "^0.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve.exports": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", + "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", + "dev": true, + "dependencies": { + "lowercase-keys": "^1.0.0" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true + }, + "node_modules/right-pad": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/right-pad/-/right-pad-1.0.1.tgz", + "integrity": "sha512-bYBjgxmkvTAfgIYy328fmkwhp39v8lwVgWhhrzxPV3yHtcSqyYKe9/XOhvW48UFjATg3VuJbpsp5822ACNvkmw==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", + "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safe-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz", + "integrity": "sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==", + "dev": true, + "dependencies": { + "regexp-tree": "~0.1.1" + } + }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "peer": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/schema-utils/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "peer": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/schema-utils/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peer": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/schema-utils/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "peer": true + }, + "node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/semver-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-2.0.0.tgz", + "integrity": "sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "peer": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/sort-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", + "integrity": "sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==", + "dev": true, + "dependencies": { + "is-plain-obj": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", + "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==", + "dev": true + }, + "node_modules/split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "dev": true, + "dependencies": { + "through": "2" + }, + "engines": { + "node": "*" + } + }, + "node_modules/split2": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "dev": true, + "dependencies": { + "readable-stream": "^3.0.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/standard-version": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/standard-version/-/standard-version-9.5.0.tgz", + "integrity": "sha512-3zWJ/mmZQsOaO+fOlsa0+QK90pwhNd042qEcw6hKFNoLFs7peGyvPffpEBbK/DSGPbyOvli0mUIFv5A4qTjh2Q==", + "dev": true, + "dependencies": { + "chalk": "^2.4.2", + "conventional-changelog": "3.1.25", + "conventional-changelog-config-spec": "2.1.0", + "conventional-changelog-conventionalcommits": "4.6.3", + "conventional-recommended-bump": "6.1.0", + "detect-indent": "^6.0.0", + "detect-newline": "^3.1.0", + "dotgitignore": "^2.1.0", + "figures": "^3.1.0", + "find-up": "^5.0.0", + "git-semver-tags": "^4.0.0", + "semver": "^7.1.1", + "stringify-package": "^1.0.1", + "yargs": "^16.0.0" + }, + "bin": { + "standard-version": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/standard-version/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/standard-version/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/standard-version/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/standard-version/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/standard-version/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/standard-version/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/standard-version/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/standard-version/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/standard-version/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/standard-version/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/standard-version/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/standard-version/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/standard-version/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-argv": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", + "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", + "dev": true, + "engines": { + "node": ">=0.6.19" + } + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", + "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/stringify-package": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stringify-package/-/stringify-package-1.0.1.tgz", + "integrity": "sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg==", + "deprecated": "This module is not used anymore, and has been replaced by @npmcli/package-json", + "dev": true + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "5.16.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.1.tgz", + "integrity": "sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.6", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz", + "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.14", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", + "terser": "^5.14.1" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "peer": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "peer": true + }, + "node_modules/terser/node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "peer": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/test-exclude/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/test-exclude/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/test-exclude/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/text-extensions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", + "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, + "dependencies": { + "readable-stream": "3" + } + }, + "node_modules/timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ts-jest": { + "version": "29.0.3", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.0.3.tgz", + "integrity": "sha512-Ibygvmuyq1qp/z3yTh9QTwVVAbFdDy/+4BtIQR2sp6baF2SJU/8CKK/hhnGIDY2L90Az2jIqTwZPnN2p+BweiQ==", + "dev": true, + "dependencies": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.1", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "7.x", + "yargs-parser": "^21.0.1" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/types": "^29.0.0", + "babel-jest": "^29.0.0", + "jest": "^29.0.0", + "typescript": ">=4.3" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "node_modules/ts-jest/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ts-jest/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/ts-loader": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.2.tgz", + "integrity": "sha512-OmlC4WVmFv5I0PpaxYb+qGeGOdm5giHU7HwDDUjw59emP2UYMHy9fFSDcYgSNoH8sXcj4hGCSEhlDZ9ULeDraA==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "*", + "webpack": "^5.0.0" + } + }, + "node_modules/ts-loader/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dev": true, + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", + "dev": true + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true + }, + "node_modules/typescript": { + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", + "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/uglify-js": { + "version": "3.17.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", + "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "dev": true, + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist-lint": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==", + "dev": true, + "dependencies": { + "prepend-http": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/url-to-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", + "integrity": "sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true + }, + "node_modules/v8-to-istanbul": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz", + "integrity": "sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/v8-to-istanbul/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/vscode-json-languageservice": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-4.2.1.tgz", + "integrity": "sha512-xGmv9QIWs2H8obGbWg+sIPI/3/pFgj/5OWBhNzs00BkYQ9UaB2F6JJaGB/2/YOZJ3BvLXQTC4Q7muqU25QgAhA==", + "dev": true, + "dependencies": { + "jsonc-parser": "^3.0.0", + "vscode-languageserver-textdocument": "^1.0.3", + "vscode-languageserver-types": "^3.16.0", + "vscode-nls": "^5.0.0", + "vscode-uri": "^3.0.3" + } + }, + "node_modules/vscode-languageserver-textdocument": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz", + "integrity": "sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==", + "dev": true + }, + "node_modules/vscode-languageserver-types": { + "version": "3.17.2", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.2.tgz", + "integrity": "sha512-zHhCWatviizPIq9B7Vh9uvrH6x3sK8itC84HkamnBWoDFJtzBf7SWlpLCZUit72b3os45h6RWQNC9xHRDF8dRA==", + "dev": true + }, + "node_modules/vscode-nls": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.2.0.tgz", + "integrity": "sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==", + "dev": true + }, + "node_modules/vscode-uri": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.7.tgz", + "integrity": "sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==", + "dev": true + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "peer": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webpack": { + "version": "5.75.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.75.0.tgz", + "integrity": "sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==", + "dev": true, + "peer": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.10.0", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "dev": true, + "dependencies": { + "string-width": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "17.6.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", + "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + }, + "dependencies": { + "@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/compat-data": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.5.tgz", + "integrity": "sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g==", + "dev": true + }, + "@babel/core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.5.tgz", + "integrity": "sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-module-transforms": "^7.20.2", + "@babel/helpers": "^7.20.5", + "@babel/parser": "^7.20.5", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "dependencies": { + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + } + } + }, + "@babel/eslint-parser": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.19.1.tgz", + "integrity": "sha512-AqNf2QWt1rtu2/1rLswy6CDP7H9Oh3mMhk177Y67Rg8d7RD9WfOLLv8CGn6tisFvS2htm86yIe1yLF6I1UDaGQ==", + "dev": true, + "requires": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.5.tgz", + "integrity": "sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA==", + "dev": true, + "requires": { + "@babel/types": "^7.20.5", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", + "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.18.6", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz", + "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.20.0", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "semver": "^6.3.0" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.5.tgz", + "integrity": "sha512-3RCdA/EmEaikrhayahwToF0fpweU/8o2p8vhc1c/1kftHOdTKuC65kik/TLc+qfbS8JKw4qqJbne4ovICDhmww==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.19.1", + "@babel/helper-split-export-declaration": "^7.18.6" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz", + "integrity": "sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "regexpu-core": "^5.2.1" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + } + }, + "@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", + "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-function-name": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "dev": true, + "requires": { + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", + "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", + "dev": true, + "requires": { + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-transforms": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz", + "integrity": "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.1", + "@babel/types": "^7.20.2" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", + "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-wrap-function": "^7.18.9", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-replace-supers": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz", + "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/traverse": "^7.19.1", + "@babel/types": "^7.19.0" + } + }, + "@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "dev": true, + "requires": { + "@babel/types": "^7.20.2" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", + "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", + "dev": true, + "requires": { + "@babel/types": "^7.20.0" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", + "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.19.0", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" + } + }, + "@babel/helpers": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.6.tgz", + "integrity": "sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w==", + "dev": true, + "requires": { + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" + } + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.5.tgz", + "integrity": "sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==", + "dev": true + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", + "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", + "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/plugin-proposal-optional-chaining": "^7.18.9" + } + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.1.tgz", + "integrity": "sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-remap-async-to-generator": "^7.18.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-class-static-block": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", + "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", + "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", + "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", + "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", + "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.2.tgz", + "integrity": "sha512-Ks6uej9WFK+fvIMesSqbAto5dD8Dz4VuuFvGJFKgIGSkJuRGcrwGECPA1fDgQK3/DbExBJpEkTeYeB8geIFCSQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.20.1" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", + "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.20.5.tgz", + "integrity": "sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-import-assertions": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", + "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.19.0" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", + "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz", + "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.19.0" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", + "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", + "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-remap-async-to-generator": "^7.18.6" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", + "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.5.tgz", + "integrity": "sha512-WvpEIW9Cbj9ApF3yJCjIEEf1EiNJLtXagOrL5LNWEZOo3jv8pmPoYTSNJQvqej8OavVlgOoOPw6/htGZro6IkA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.2.tgz", + "integrity": "sha512-9rbPp0lCVVoagvtEyQKSo5L8oo0nQS/iif+lwlAz29MccX2642vWDlSZK+2T2buxbopotId2ld7zZAzRfz9j1g==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-replace-supers": "^7.19.1", + "@babel/helper-split-export-declaration": "^7.18.6", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", + "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.2.tgz", + "integrity": "sha512-mENM+ZHrvEgxLTBXUiQ621rRXZes3KWUv6NdQlrnr1TkWVw+hUjQBZuP2X32qKlrlG2BzgR95gkuCRSkJl8vIw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", + "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", + "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", + "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", + "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", + "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", + "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", + "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.19.6.tgz", + "integrity": "sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.19.6", + "@babel/helper-plugin-utils": "^7.19.0" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz", + "integrity": "sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.19.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-simple-access": "^7.19.4" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz", + "integrity": "sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-module-transforms": "^7.19.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-validator-identifier": "^7.19.1" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", + "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", + "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", + "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-object-assign": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.18.6.tgz", + "integrity": "sha512-mQisZ3JfqWh2gVXvfqYCAAyRs6+7oev+myBsTwW5RnPhYXOTuCEw2oe3YgxlXMViXUS53lG8koulI7mJ+8JE+A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", + "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.6" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.5.tgz", + "integrity": "sha512-h7plkOmcndIUWXZFLgpbrh2+fXAi47zcUX7IrOQuZdLD0I0KvjJ6cvo3BEcAOsDOcZhVKGJqv07mkSqK0y2isQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", + "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz", + "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "regenerator-transform": "^0.15.1" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", + "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", + "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz", + "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", + "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", + "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", + "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", + "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/preset-env": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", + "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-async-generator-functions": "^7.20.1", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-class-static-block": "^7.18.6", + "@babel/plugin-proposal-dynamic-import": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", + "@babel/plugin-proposal-json-strings": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", + "@babel/plugin-proposal-numeric-separator": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.20.2", + "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-private-methods": "^7.18.6", + "@babel/plugin-proposal-private-property-in-object": "^7.18.6", + "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.20.0", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.18.6", + "@babel/plugin-transform-async-to-generator": "^7.18.6", + "@babel/plugin-transform-block-scoped-functions": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.20.2", + "@babel/plugin-transform-classes": "^7.20.2", + "@babel/plugin-transform-computed-properties": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.20.2", + "@babel/plugin-transform-dotall-regex": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.9", + "@babel/plugin-transform-exponentiation-operator": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.18.8", + "@babel/plugin-transform-function-name": "^7.18.9", + "@babel/plugin-transform-literals": "^7.18.9", + "@babel/plugin-transform-member-expression-literals": "^7.18.6", + "@babel/plugin-transform-modules-amd": "^7.19.6", + "@babel/plugin-transform-modules-commonjs": "^7.19.6", + "@babel/plugin-transform-modules-systemjs": "^7.19.6", + "@babel/plugin-transform-modules-umd": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", + "@babel/plugin-transform-new-target": "^7.18.6", + "@babel/plugin-transform-object-super": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.20.1", + "@babel/plugin-transform-property-literals": "^7.18.6", + "@babel/plugin-transform-regenerator": "^7.18.6", + "@babel/plugin-transform-reserved-words": "^7.18.6", + "@babel/plugin-transform-shorthand-properties": "^7.18.6", + "@babel/plugin-transform-spread": "^7.19.0", + "@babel/plugin-transform-sticky-regex": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.9", + "@babel/plugin-transform-typeof-symbol": "^7.18.9", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", + "@babel/plugin-transform-unicode-regex": "^7.18.6", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.20.2", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "core-js-compat": "^3.25.1", + "semver": "^6.3.0" + } + }, + "@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/runtime": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.6.tgz", + "integrity": "sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.11" + } + }, + "@babel/runtime-corejs3": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.20.6.tgz", + "integrity": "sha512-tqeujPiuEfcH067mx+7otTQWROVMKHXEaOQcAeNV5dDdbPWvPcFA8/W9LXw2NfjNmOetqLl03dfnG2WALPlsRQ==", + "dev": true, + "peer": true, + "requires": { + "core-js-pure": "^3.25.1", + "regenerator-runtime": "^0.13.11" + } + }, + "@babel/template": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" + } + }, + "@babel/traverse": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.5.tgz", + "integrity": "sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.5", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.20.5", + "@babel/types": "^7.20.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.5.tgz", + "integrity": "sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + } + }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "@commitlint/cli": { + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-17.3.0.tgz", + "integrity": "sha512-/H0md7TsKflKzVPz226VfXzVafJFO1f9+r2KcFvmBu08V0T56lZU1s8WL7/xlxqLMqBTVaBf7Ixtc4bskdEEZg==", + "dev": true, + "requires": { + "@commitlint/format": "^17.0.0", + "@commitlint/lint": "^17.3.0", + "@commitlint/load": "^17.3.0", + "@commitlint/read": "^17.2.0", + "@commitlint/types": "^17.0.0", + "execa": "^5.0.0", + "lodash.isfunction": "^3.0.9", + "resolve-from": "5.0.0", + "resolve-global": "1.0.0", + "yargs": "^17.0.0" + } + }, + "@commitlint/config-conventional": { + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-17.3.0.tgz", + "integrity": "sha512-hgI+fN5xF8nhS9uG/V06xyT0nlcyvHHMkq0kwRSr96vl5BFlRGaL2C0/YY4kQagfU087tmj01bJkG9Ek98Wllw==", + "dev": true, + "requires": { + "conventional-changelog-conventionalcommits": "^5.0.0" + }, + "dependencies": { + "conventional-changelog-conventionalcommits": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-5.0.0.tgz", + "integrity": "sha512-lCDbA+ZqVFQGUj7h9QBKoIpLhl8iihkO0nCTyRNzuXtcd7ubODpYB04IFy31JloiJgG0Uovu8ot8oxRzn7Nwtw==", + "dev": true, + "requires": { + "compare-func": "^2.0.0", + "lodash": "^4.17.15", + "q": "^1.5.1" + } + } + } + }, + "@commitlint/config-validator": { + "version": "17.1.0", + "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-17.1.0.tgz", + "integrity": "sha512-Q1rRRSU09ngrTgeTXHq6ePJs2KrI+axPTgkNYDWSJIuS1Op4w3J30vUfSXjwn5YEJHklK3fSqWNHmBhmTR7Vdg==", + "dev": true, + "requires": { + "@commitlint/types": "^17.0.0", + "ajv": "^8.11.0" + } + }, + "@commitlint/ensure": { + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-17.3.0.tgz", + "integrity": "sha512-kWbrQHDoW5veIUQx30gXoLOCjWvwC6OOEofhPCLl5ytRPBDAQObMbxTha1Bt2aSyNE/IrJ0s0xkdZ1Gi3wJwQg==", + "dev": true, + "requires": { + "@commitlint/types": "^17.0.0", + "lodash.camelcase": "^4.3.0", + "lodash.kebabcase": "^4.1.1", + "lodash.snakecase": "^4.1.1", + "lodash.startcase": "^4.4.0", + "lodash.upperfirst": "^4.3.1" + } + }, + "@commitlint/execute-rule": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-17.0.0.tgz", + "integrity": "sha512-nVjL/w/zuqjCqSJm8UfpNaw66V9WzuJtQvEnCrK4jDw6qKTmZB+1JQ8m6BQVZbNBcwfYdDNKnhIhqI0Rk7lgpQ==", + "dev": true + }, + "@commitlint/format": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-17.0.0.tgz", + "integrity": "sha512-MZzJv7rBp/r6ZQJDEodoZvdRM0vXu1PfQvMTNWFb8jFraxnISMTnPBWMMjr2G/puoMashwaNM//fl7j8gGV5lA==", + "dev": true, + "requires": { + "@commitlint/types": "^17.0.0", + "chalk": "^4.1.0" + } + }, + "@commitlint/is-ignored": { + "version": "17.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-17.2.0.tgz", + "integrity": "sha512-rgUPUQraHxoMLxiE8GK430HA7/R2vXyLcOT4fQooNrZq9ERutNrP6dw3gdKLkq22Nede3+gEHQYUzL4Wu75ndg==", + "dev": true, + "requires": { + "@commitlint/types": "^17.0.0", + "semver": "7.3.7" + }, + "dependencies": { + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "@commitlint/lint": { + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-17.3.0.tgz", + "integrity": "sha512-VilOTPg0i9A7CCWM49E9bl5jytfTvfTxf9iwbWAWNjxJ/A5mhPKbm3sHuAdwJ87tDk1k4j8vomYfH23iaY+1Rw==", + "dev": true, + "requires": { + "@commitlint/is-ignored": "^17.2.0", + "@commitlint/parse": "^17.2.0", + "@commitlint/rules": "^17.3.0", + "@commitlint/types": "^17.0.0" + } + }, + "@commitlint/load": { + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-17.3.0.tgz", + "integrity": "sha512-u/pV6rCAJrCUN+HylBHLzZ4qj1Ew3+eN9GBPhNi9otGxtOfA8b+8nJSxaNbcC23Ins/kcpjGf9zPSVW7628Umw==", + "dev": true, + "requires": { + "@commitlint/config-validator": "^17.1.0", + "@commitlint/execute-rule": "^17.0.0", + "@commitlint/resolve-extends": "^17.3.0", + "@commitlint/types": "^17.0.0", + "@types/node": "^14.0.0", + "chalk": "^4.1.0", + "cosmiconfig": "^7.0.0", + "cosmiconfig-typescript-loader": "^4.0.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "lodash.uniq": "^4.5.0", + "resolve-from": "^5.0.0", + "ts-node": "^10.8.1", + "typescript": "^4.6.4" + }, + "dependencies": { + "@types/node": { + "version": "14.18.35", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.35.tgz", + "integrity": "sha512-2ATO8pfhG1kDvw4Lc4C0GXIMSQFFJBCo/R1fSgTwmUlq5oy95LXyjDQinsRVgQY6gp6ghh3H91wk9ES5/5C+Tw==", + "dev": true + } + } + }, + "@commitlint/message": { + "version": "17.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-17.2.0.tgz", + "integrity": "sha512-/4l2KFKxBOuoEn1YAuuNNlAU05Zt7sNsC9H0mPdPm3chOrT4rcX0pOqrQcLtdMrMkJz0gC7b3SF80q2+LtdL9Q==", + "dev": true + }, + "@commitlint/parse": { + "version": "17.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-17.2.0.tgz", + "integrity": "sha512-vLzLznK9Y21zQ6F9hf8D6kcIJRb2haAK5T/Vt1uW2CbHYOIfNsR/hJs0XnF/J9ctM20Tfsqv4zBitbYvVw7F6Q==", + "dev": true, + "requires": { + "@commitlint/types": "^17.0.0", + "conventional-changelog-angular": "^5.0.11", + "conventional-commits-parser": "^3.2.2" + } + }, + "@commitlint/read": { + "version": "17.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-17.2.0.tgz", + "integrity": "sha512-bbblBhrHkjxra3ptJNm0abxu7yeAaxumQ8ZtD6GIVqzURCETCP7Dm0tlVvGRDyXBuqX6lIJxh3W7oyKqllDsHQ==", + "dev": true, + "requires": { + "@commitlint/top-level": "^17.0.0", + "@commitlint/types": "^17.0.0", + "fs-extra": "^10.0.0", + "git-raw-commits": "^2.0.0", + "minimist": "^1.2.6" + }, + "dependencies": { + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + } + } + }, + "@commitlint/resolve-extends": { + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-17.3.0.tgz", + "integrity": "sha512-Lf3JufJlc5yVEtJWC8o4IAZaB8FQAUaVlhlAHRACd0TTFizV2Lk2VH70et23KgvbQNf7kQzHs/2B4QZalBv6Cg==", + "dev": true, + "requires": { + "@commitlint/config-validator": "^17.1.0", + "@commitlint/types": "^17.0.0", + "import-fresh": "^3.0.0", + "lodash.mergewith": "^4.6.2", + "resolve-from": "^5.0.0", + "resolve-global": "^1.0.0" + } + }, + "@commitlint/rules": { + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-17.3.0.tgz", + "integrity": "sha512-s2UhDjC5yP2utx3WWqsnZRzjgzAX8BMwr1nltC0u0p8T/nzpkx4TojEfhlsOUj1t7efxzZRjUAV0NxNwdJyk+g==", + "dev": true, + "requires": { + "@commitlint/ensure": "^17.3.0", + "@commitlint/message": "^17.2.0", + "@commitlint/to-lines": "^17.0.0", + "@commitlint/types": "^17.0.0", + "execa": "^5.0.0" + } + }, + "@commitlint/to-lines": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-17.0.0.tgz", + "integrity": "sha512-nEi4YEz04Rf2upFbpnEorG8iymyH7o9jYIVFBG1QdzebbIFET3ir+8kQvCZuBE5pKCtViE4XBUsRZz139uFrRQ==", + "dev": true + }, + "@commitlint/top-level": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-17.0.0.tgz", + "integrity": "sha512-dZrEP1PBJvodNWYPOYiLWf6XZergdksKQaT6i1KSROLdjf5Ai0brLOv5/P+CPxBeoj3vBxK4Ax8H1Pg9t7sHIQ==", + "dev": true, + "requires": { + "find-up": "^5.0.0" + }, + "dependencies": { + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + } + } + }, + "@commitlint/types": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-17.0.0.tgz", + "integrity": "sha512-hBAw6U+SkAT5h47zDMeOu3HSiD0SODw4Aq7rRNh1ceUmL7GyLKYhPbUvlRWqZ65XjBLPHZhFyQlRaPNz8qvUyQ==", + "dev": true, + "requires": { + "chalk": "^4.1.0" + } + }, + "@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "dependencies": { + "@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + } + } + }, + "@digitalroute/cz-conventional-changelog-for-jira": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@digitalroute/cz-conventional-changelog-for-jira/-/cz-conventional-changelog-for-jira-8.0.0.tgz", + "integrity": "sha512-oK2UE9QhKl/8Tn1d9r184XQRwsCxkFu5zh572LT1pBYEyK1G5IY1mDj5wgP6Wm/EesGCgJ09loW9dFdNeaB3yA==", + "dev": true, + "requires": { + "@commitlint/load": ">6.1.1", + "boxen": "^5.1.2", + "chalk": "^2.4.1", + "commitizen": "^4.2.6", + "cz-conventional-changelog": "^3.3.0", + "inquirer": "^8.2.4", + "lodash.map": "^4.5.1", + "longest": "^2.0.1", + "right-pad": "^1.0.1", + "word-wrap": "^1.0.3" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@eslint-community/eslint-utils": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.1.2.tgz", + "integrity": "sha512-7qELuQWWjVDdVsFQ5+beUl+KPczrEDA7S3zM4QUd/bJl7oXgsmpXaEVqrRTnOBqenOV4rWf2kVZk2Ot085zPWA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint/eslintrc": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.0.tgz", + "integrity": "sha512-7yfvXy6MWLgWSFsLhz5yH3iQ52St8cdUY6FoGieKkRDVxuxmrNuUetIuu6cmjNWwniUHiWXjxCr5tTXDrbYS5A==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.4.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "globals": { + "version": "13.19.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + } + } + }, + "@humanwhocodes/config-array": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "@hutson/parse-repository-url": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz", + "integrity": "sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==", + "dev": true + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + } + }, + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true + }, + "@jest/console": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.3.1.tgz", + "integrity": "sha512-IRE6GD47KwcqA09RIWrabKdHPiKDGgtAL31xDxbi/RjQMsr+lY+ppxmHwY0dUEV3qvvxZzoe5Hl0RXZJOjQNUg==", + "dev": true, + "requires": { + "@jest/types": "^29.3.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.3.1", + "jest-util": "^29.3.1", + "slash": "^3.0.0" + } + }, + "@jest/core": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.3.1.tgz", + "integrity": "sha512-0ohVjjRex985w5MmO5L3u5GR1O30DexhBSpuwx2P+9ftyqHdJXnk7IUWiP80oHMvt7ubHCJHxV0a0vlKVuZirw==", + "dev": true, + "requires": { + "@jest/console": "^29.3.1", + "@jest/reporters": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.2.0", + "jest-config": "^29.3.1", + "jest-haste-map": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-regex-util": "^29.2.0", + "jest-resolve": "^29.3.1", + "jest-resolve-dependencies": "^29.3.1", + "jest-runner": "^29.3.1", + "jest-runtime": "^29.3.1", + "jest-snapshot": "^29.3.1", + "jest-util": "^29.3.1", + "jest-validate": "^29.3.1", + "jest-watcher": "^29.3.1", + "micromatch": "^4.0.4", + "pretty-format": "^29.3.1", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "@jest/create-cache-key-function": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-27.5.1.tgz", + "integrity": "sha512-dmH1yW+makpTSURTy8VzdUwFnfQh1G8R+DxO2Ho2FFmBbKFEVm+3jWdvFhE2VqB/LATCTokkP0dotjyQyw5/AQ==", + "dev": true, + "requires": { + "@jest/types": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + } + } + }, + "@jest/environment": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.3.1.tgz", + "integrity": "sha512-pMmvfOPmoa1c1QpfFW0nXYtNLpofqo4BrCIk6f2kW4JFeNlHV2t3vd+3iDLf31e2ot2Mec0uqZfmI+U0K2CFag==", + "dev": true, + "requires": { + "@jest/fake-timers": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "jest-mock": "^29.3.1" + } + }, + "@jest/expect": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.3.1.tgz", + "integrity": "sha512-QivM7GlSHSsIAWzgfyP8dgeExPRZ9BIe2LsdPyEhCGkZkoyA+kGsoIzbKAfZCvvRzfZioKwPtCZIt5SaoxYCvg==", + "dev": true, + "requires": { + "expect": "^29.3.1", + "jest-snapshot": "^29.3.1" + } + }, + "@jest/expect-utils": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.3.1.tgz", + "integrity": "sha512-wlrznINZI5sMjwvUoLVk617ll/UYfGIZNxmbU+Pa7wmkL4vYzhV9R2pwVqUh4NWWuLQWkI8+8mOkxs//prKQ3g==", + "dev": true, + "requires": { + "jest-get-type": "^29.2.0" + } + }, + "@jest/fake-timers": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.3.1.tgz", + "integrity": "sha512-iHTL/XpnDlFki9Tq0Q1GGuVeQ8BHZGIYsvCO5eN/O/oJaRzofG9Xndd9HuSDBI/0ZS79pg0iwn07OMTQ7ngF2A==", + "dev": true, + "requires": { + "@jest/types": "^29.3.1", + "@sinonjs/fake-timers": "^9.1.2", + "@types/node": "*", + "jest-message-util": "^29.3.1", + "jest-mock": "^29.3.1", + "jest-util": "^29.3.1" + } + }, + "@jest/globals": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.3.1.tgz", + "integrity": "sha512-cTicd134vOcwO59OPaB6AmdHQMCtWOe+/DitpTZVxWgMJ+YvXL1HNAmPyiGbSHmF/mXVBkvlm8YYtQhyHPnV6Q==", + "dev": true, + "requires": { + "@jest/environment": "^29.3.1", + "@jest/expect": "^29.3.1", + "@jest/types": "^29.3.1", + "jest-mock": "^29.3.1" + } + }, + "@jest/reporters": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.3.1.tgz", + "integrity": "sha512-GhBu3YFuDrcAYW/UESz1JphEAbvUjaY2vShRZRoRY1mxpCMB3yGSJ4j9n0GxVlEOdCf7qjvUfBCrTUUqhVfbRA==", + "dev": true, + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", + "@jridgewell/trace-mapping": "^0.3.15", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.3.1", + "jest-util": "^29.3.1", + "jest-worker": "^29.3.1", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "@jest/schemas": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", + "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", + "dev": true, + "requires": { + "@sinclair/typebox": "^0.24.1" + } + }, + "@jest/source-map": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.2.0.tgz", + "integrity": "sha512-1NX9/7zzI0nqa6+kgpSdKPK+WU1p+SJk3TloWZf5MzPbxri9UEeXX5bWZAPCzbQcyuAzubcdUHA7hcNznmRqWQ==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.15", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + } + }, + "@jest/test-result": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.3.1.tgz", + "integrity": "sha512-qeLa6qc0ddB0kuOZyZIhfN5q0e2htngokyTWsGriedsDhItisW7SDYZ7ceOe57Ii03sL988/03wAcBh3TChMGw==", + "dev": true, + "requires": { + "@jest/console": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.3.1.tgz", + "integrity": "sha512-IqYvLbieTv20ArgKoAMyhLHNrVHJfzO6ARZAbQRlY4UGWfdDnLlZEF0BvKOMd77uIiIjSZRwq3Jb3Fa3I8+2UA==", + "dev": true, + "requires": { + "@jest/test-result": "^29.3.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.3.1", + "slash": "^3.0.0" + } + }, + "@jest/transform": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.3.1.tgz", + "integrity": "sha512-8wmCFBTVGYqFNLWfcOWoVuMuKYPUBTnTMDkdvFtAYELwDOl9RGwOsvQWGPFxDJ8AWY9xM/8xCXdqmPK3+Q5Lug==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.3.1", + "@jridgewell/trace-mapping": "^0.3.15", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.3.1", + "jest-regex-util": "^29.2.0", + "jest-util": "^29.3.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.1" + } + }, + "@jest/types": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.3.1.tgz", + "integrity": "sha512-d0S0jmmTpjnhCmNpApgX3jrUZgZ22ivKJRvL2lli5hpCRoNnp1f85r2/wpKfXuYu8E7Jjh1hGfhPyup1NM5AmA==", + "dev": true, + "requires": { + "@jest/schemas": "^29.0.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + } + }, + "@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "dev": true, + "peer": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "peer": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "@mdn/browser-compat-data": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-4.2.1.tgz", + "integrity": "sha512-EWUguj2kd7ldmrF9F+vI5hUOralPd+sdsUnYbRy33vZTuZkduC1shE9TtEMEjAQwyfyMb4ole5KtjF8MsnQOlA==", + "dev": true + }, + "@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "dev": true, + "requires": { + "eslint-scope": "5.1.1" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@sinclair/typebox": { + "version": "0.24.51", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", + "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", + "dev": true + }, + "@sindresorhus/is": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", + "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==", + "dev": true + }, + "@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", + "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@swc/core": { + "version": "1.3.24", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.24.tgz", + "integrity": "sha512-QMOTd0AgiUT3K1crxLRqd3gw0f3FC8hhH1vvlIlryvYqU4c+FJ/T2G4ZhMKLxQlZ/jX6Rhk0gKINZRBxy2GFyQ==", + "dev": true, + "requires": { + "@swc/core-darwin-arm64": "1.3.24", + "@swc/core-darwin-x64": "1.3.24", + "@swc/core-linux-arm-gnueabihf": "1.3.24", + "@swc/core-linux-arm64-gnu": "1.3.24", + "@swc/core-linux-arm64-musl": "1.3.24", + "@swc/core-linux-x64-gnu": "1.3.24", + "@swc/core-linux-x64-musl": "1.3.24", + "@swc/core-win32-arm64-msvc": "1.3.24", + "@swc/core-win32-ia32-msvc": "1.3.24", + "@swc/core-win32-x64-msvc": "1.3.24" + } + }, + "@swc/core-darwin-arm64": { + "version": "1.3.24", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.24.tgz", + "integrity": "sha512-rR+9UpWm+fGXcipsjCst2hIL1GYIbo0YTLhJZWdIpQD6KRHHJMFXiydMgQQkDj2Ml7HpqUVgxj6m4ZWYL8b0OA==", + "dev": true, + "optional": true + }, + "@swc/core-darwin-x64": { + "version": "1.3.24", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.24.tgz", + "integrity": "sha512-px+5vkGtgPH0m3FkkTBHynlRdS5rRz+lK+wiXIuBZFJSySWFl6RkKbvwkD+sf0MpazQlqwlv/rTOGJBw6oDffg==", + "dev": true, + "optional": true + }, + "@swc/core-linux-arm-gnueabihf": { + "version": "1.3.24", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.24.tgz", + "integrity": "sha512-jLs8ZOdTV4UW4J12E143QJ4mOMONQtqgAnuhBbRuWFzQ3ny1dfoC3P1jNWAJ2Xi59XdxAIXn0PggPNH4Kh34kw==", + "dev": true, + "optional": true + }, + "@swc/core-linux-arm64-gnu": { + "version": "1.3.24", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.24.tgz", + "integrity": "sha512-A/v0h70BekrwGpp1DlzIFGcHQ3QQ2PexXcnnuIBZeMc9gNmHlcZmg3EcwAnaUDiokhNuSUFA/wV94yk1OqmSkw==", + "dev": true, + "optional": true + }, + "@swc/core-linux-arm64-musl": { + "version": "1.3.24", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.24.tgz", + "integrity": "sha512-pbc9eArWPTiMrbpS/pJo0IiQNAKAQBcBIDjWBGP1tcw2iDXYLw4bruwz9kI/VjakbshWb8MoE4T5ClkeuULvSw==", + "dev": true, + "optional": true + }, + "@swc/core-linux-x64-gnu": { + "version": "1.3.24", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.24.tgz", + "integrity": "sha512-pP5pOLlY1xd352qo7rTlpVPUI9/9VhOd4b3Lk+LzfZDq9bTL2NDlGfyrPiwa5DGHMSzrugH56K2J68eutkxYVA==", + "dev": true, + "optional": true + }, + "@swc/core-linux-x64-musl": { + "version": "1.3.24", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.24.tgz", + "integrity": "sha512-phNbP7zGp+Wcyxq1Qxlpe5KkxO7WLT2kVQUC7aDFGlVdCr+xdXsfH1MzheHtnr0kqTVQX1aiM8XXXHfFxR0oNA==", + "dev": true, + "optional": true + }, + "@swc/core-win32-arm64-msvc": { + "version": "1.3.24", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.24.tgz", + "integrity": "sha512-qhbiJTWAOqyR+K9xnGmCkOWSz2EmWpDBstEJCEOTc6FZiEdbiTscDmqTcMbCKaTHGu8t+6erVA4t65/Eg6uWPA==", + "dev": true, + "optional": true + }, + "@swc/core-win32-ia32-msvc": { + "version": "1.3.24", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.24.tgz", + "integrity": "sha512-JfghIlscE4Rz+Lc08lSoDh+R0cWxrISed5biogFfE6vZqhaDnw3E5Qshqw7O3pIaiq8L2u1nmzuyP581ZmpbRA==", + "dev": true, + "optional": true + }, + "@swc/core-win32-x64-msvc": { + "version": "1.3.24", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.24.tgz", + "integrity": "sha512-3AmJRr0hwciwDBbzUNqaftvppzS8v9X/iv/Wl7YaVLBVpPfQvaZzfqLycvNMGLZb5vIKXR/u58txg3dRBGsJtw==", + "dev": true, + "optional": true + }, + "@swc/jest": { + "version": "0.2.24", + "resolved": "https://registry.npmjs.org/@swc/jest/-/jest-0.2.24.tgz", + "integrity": "sha512-fwgxQbM1wXzyKzl1+IW0aGrRvAA8k0Y3NxFhKigbPjOJ4mCKnWEcNX9HQS3gshflcxq8YKhadabGUVfdwjCr6Q==", + "dev": true, + "requires": { + "@jest/create-cache-key-function": "^27.4.2", + "jsonc-parser": "^3.2.0" + } + }, + "@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "dev": true + }, + "@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true + }, + "@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true + }, + "@tsconfig/node16": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", + "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", + "dev": true + }, + "@types/babel__core": { + "version": "7.1.20", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.20.tgz", + "integrity": "sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.3.tgz", + "integrity": "sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==", + "dev": true, + "requires": { + "@babel/types": "^7.3.0" + } + }, + "@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "dev": true, + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/eslint": { + "version": "8.4.10", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.10.tgz", + "integrity": "sha512-Sl/HOqN8NKPmhWo2VBEPm0nvHnu2LL3v9vKo8MEq0EtbJ4eVzGPl41VNPvn5E1i5poMk4/XD8UriLHpJvEP/Nw==", + "dev": true, + "peer": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dev": true, + "peer": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", + "dev": true, + "peer": true + }, + "@types/express": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.15.tgz", + "integrity": "sha512-Yv0k4bXGOH+8a+7bELd2PqHQsuiANB+A8a4gnQrkRWzrkKlb6KHaVvyXhqs04sVW/OWlbPyYxRgYlIXLfrufMQ==", + "dev": true, + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.31", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.31", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz", + "integrity": "sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "@types/glob": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-8.0.0.tgz", + "integrity": "sha512-l6NQsDDyQUVeoTynNpC9uRvCUint/gSUXQA2euwmTuWGvPY5LSDUu6tkCtJB2SvGQlJQzLaKqcGZP4//7EDveA==", + "dev": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/jest": { + "version": "29.2.4", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.2.4.tgz", + "integrity": "sha512-PipFB04k2qTRPePduVLTRiPzQfvMeLwUN3Z21hsAKaB/W9IIzgB2pizCL466ftJlcyZqnHoC9ZHpxLGl3fS86A==", + "dev": true, + "requires": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, + "@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, + "@types/mime": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", + "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==", + "dev": true + }, + "@types/minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", + "dev": true + }, + "@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", + "dev": true + }, + "@types/node": { + "version": "18.11.17", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.17.tgz", + "integrity": "sha512-HJSUJmni4BeDHhfzn6nF0sVmd1SMezP7/4F0Lq+aXzmp2xm9O7WXrUtHW/CHlYVtZUbByEvWidHqRtcJXGF2Ng==", + "dev": true + }, + "@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "dev": true + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "@types/prettier": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz", + "integrity": "sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==", + "dev": true + }, + "@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true + }, + "@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", + "dev": true + }, + "@types/semver": { + "version": "7.3.13", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", + "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", + "dev": true + }, + "@types/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==", + "dev": true, + "requires": { + "@types/mime": "*", + "@types/node": "*" + } + }, + "@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, + "@types/yargs": { + "version": "17.0.17", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.17.tgz", + "integrity": "sha512-72bWxFKTK6uwWJAVT+3rF6Jo6RTojiJ27FQo8Rf60AL+VZbzoVPnMFhKsUnbjR8A3BTCYQ7Mv3hnl8T0A+CX9g==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.47.0.tgz", + "integrity": "sha512-AHZtlXAMGkDmyLuLZsRpH3p4G/1iARIwc/T0vIem2YB+xW6pZaXYXzCBnZSF/5fdM97R9QqZWZ+h3iW10XgevQ==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.47.0", + "@typescript-eslint/type-utils": "5.47.0", + "@typescript-eslint/utils": "5.47.0", + "debug": "^4.3.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "regexpp": "^3.2.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "dependencies": { + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "@typescript-eslint/parser": { + "version": "5.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.47.0.tgz", + "integrity": "sha512-udPU4ckK+R1JWCGdQC4Qa27NtBg7w020ffHqGyAK8pAgOVuNw7YaKXGChk+udh+iiGIJf6/E/0xhVXyPAbsczw==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.47.0", + "@typescript-eslint/types": "5.47.0", + "@typescript-eslint/typescript-estree": "5.47.0", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.47.0.tgz", + "integrity": "sha512-dvJab4bFf7JVvjPuh3sfBUWsiD73aiftKBpWSfi3sUkysDQ4W8x+ZcFpNp7Kgv0weldhpmMOZBjx1wKN8uWvAw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.47.0", + "@typescript-eslint/visitor-keys": "5.47.0" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.47.0.tgz", + "integrity": "sha512-1J+DFFrYoDUXQE1b7QjrNGARZE6uVhBqIvdaXTe5IN+NmEyD68qXR1qX1g2u4voA+nCaelQyG8w30SAOihhEYg==", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.47.0", + "@typescript-eslint/utils": "5.47.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.47.0.tgz", + "integrity": "sha512-eslFG0Qy8wpGzDdYKu58CEr3WLkjwC5Usa6XbuV89ce/yN5RITLe1O8e+WFEuxnfftHiJImkkOBADj58ahRxSg==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.47.0.tgz", + "integrity": "sha512-LxfKCG4bsRGq60Sqqu+34QT5qT2TEAHvSCCJ321uBWywgE2dS0LKcu5u+3sMGo+Vy9UmLOhdTw5JHzePV/1y4Q==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.47.0", + "@typescript-eslint/visitor-keys": "5.47.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "dependencies": { + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "@typescript-eslint/utils": { + "version": "5.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.47.0.tgz", + "integrity": "sha512-U9xcc0N7xINrCdGVPwABjbAKqx4GK67xuMV87toI+HUqgXj26m6RBp9UshEXcTrgCkdGYFzgKLt8kxu49RilDw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.47.0", + "@typescript-eslint/types": "5.47.0", + "@typescript-eslint/typescript-estree": "5.47.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0", + "semver": "^7.3.7" + }, + "dependencies": { + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.47.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.47.0.tgz", + "integrity": "sha512-ByPi5iMa6QqDXe/GmT/hR6MZtVPi0SqMQPDx15FczCBXJo/7M8T88xReOALAfpBLm+zxpPfmhuEvPb577JRAEg==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.47.0", + "eslint-visitor-keys": "^3.3.0" + } + }, + "@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "dev": true, + "peer": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "dev": true, + "peer": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "dev": true, + "peer": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "dev": true, + "peer": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "dev": true, + "peer": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "dev": true, + "peer": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "dev": true, + "peer": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, + "peer": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true, + "peer": true + }, + "acorn": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", + "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", + "dev": true + }, + "acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "dev": true, + "peer": true, + "requires": {} + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {} + }, + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true + }, + "add-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", + "integrity": "sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==", + "dev": true + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "dev": true, + "requires": { + "string-width": "^4.1.0" + } + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", + "dev": true, + "peer": true, + "requires": { + "@babel/runtime": "^7.10.2", + "@babel/runtime-corejs3": "^7.10.2" + } + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==", + "dev": true + }, + "array-ify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", + "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", + "dev": true + }, + "array-includes": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + } + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "array.prototype.flat": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.flatmap": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.tosorted": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", + "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" + } + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true + }, + "ast-metadata-inferer": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/ast-metadata-inferer/-/ast-metadata-inferer-0.7.0.tgz", + "integrity": "sha512-OkMLzd8xelb3gmnp6ToFvvsHLtS6CbagTkFQvQ+ZYFe3/AIl9iKikNR9G7pY3GfOR/2Xc222hwBjzI7HLkE76Q==", + "dev": true, + "requires": { + "@mdn/browser-compat-data": "^3.3.14" + }, + "dependencies": { + "@mdn/browser-compat-data": { + "version": "3.3.14", + "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-3.3.14.tgz", + "integrity": "sha512-n2RC9d6XatVbWFdHLimzzUJxJ1KY8LdjqrW6YvGPiRmsHkhOUx74/Ct10x5Yo7bC/Jvqx7cDEW8IMPv/+vwEzA==", + "dev": true + } + } + }, + "ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==", + "dev": true, + "peer": true + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true + }, + "axe-core": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.6.1.tgz", + "integrity": "sha512-lCZN5XRuOnpG4bpMq8v0khrWtUOn+i8lZSb6wHZH56ZfbIEv6XwJV84AAueh9/zi7qPVJ/E4yz6fmsiyOmXR4w==", + "dev": true, + "peer": true + }, + "axobject-query": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", + "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==", + "dev": true, + "peer": true + }, + "babel-jest": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.3.1.tgz", + "integrity": "sha512-aard+xnMoxgjwV70t0L6wkW/3HQQtV+O0PEimxKgzNqCJnbYmroPojdP2tqKSOAt8QAKV/uSZU8851M7B5+fcA==", + "dev": true, + "requires": { + "@jest/transform": "^29.3.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.2.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + } + }, + "babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.2.0.tgz", + "integrity": "sha512-TnspP2WNiR3GLfCsUNHqeXw0RoQ2f9U5hQ5L3XFpwuO8htQmSrhh8qsB6vi5Yi8+kuynN1yjDjQsPfkebmB6ZA==", + "dev": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.3", + "semver": "^6.1.1" + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.3" + } + }, + "babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + } + }, + "babel-preset-jest": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.2.0.tgz", + "integrity": "sha512-z9JmMJppMxNv8N7fNRHvhMg9cvIkMxQBXgFkane3yKVEvEOP+kB50lk8DFRvF9PGqbyXxlmebKWhuDORO8RgdA==", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "^29.2.0", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true + }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "boxen": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", + "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", + "dev": true, + "requires": { + "ansi-align": "^3.0.0", + "camelcase": "^6.2.0", + "chalk": "^4.1.0", + "cli-boxes": "^2.2.1", + "string-width": "^4.2.2", + "type-fest": "^0.20.2", + "widest-line": "^3.1.0", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + } + } + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + } + }, + "bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "requires": { + "fast-json-stable-stringify": "2.x" + } + }, + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true + }, + "cacheable-request": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", + "integrity": "sha512-vag0O2LKZ/najSoUwDbVlnlCFvhBE/7mGTY2B5FgCBDcRD+oVV1HYTOwM6JZfMg/hIcM6IwnTZ1uQQL5/X3xIQ==", + "dev": true, + "requires": { + "clone-response": "1.0.2", + "get-stream": "3.0.0", + "http-cache-semantics": "3.8.1", + "keyv": "3.0.0", + "lowercase-keys": "1.0.0", + "normalize-url": "2.0.1", + "responselike": "1.0.2" + }, + "dependencies": { + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "dev": true + }, + "lowercase-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", + "integrity": "sha512-RPlX0+PHuvxVDZ7xX+EBVAp4RsVxP/TdDSN2mJYdiq1Lc4Hz7EUSjUI7RZrKKlmrIzVhf6Jo2stj7++gVarS0A==", + "dev": true + } + } + }, + "cachedir": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", + "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", + "dev": true + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + } + }, + "caniuse-lite": { + "version": "1.0.30001439", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001439.tgz", + "integrity": "sha512-1MgUzEkoMO6gKfXflStpYgZDlFM7M/ck/bgfVCACO5vnAf0fXoNVHdWtqGU+MYca+4bL9Z5bpOVmR33cWW9G2A==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "peer": true + }, + "ci-info": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.7.0.tgz", + "integrity": "sha512-2CpRNYmImPx+RXKLq6jko/L07phmS9I02TyqkcNU20GCF/GgaWvc58hPtjxDX8lPpkdwc9sNh72V9k00S7ezog==", + "dev": true + }, + "cjs-module-lexer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", + "dev": true + }, + "clean-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz", + "integrity": "sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + }, + "dependencies": { + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + } + } + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "cli-boxes": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", + "dev": true + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-spinners": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", + "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==", + "dev": true + }, + "cli-truncate": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz", + "integrity": "sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==", + "dev": true, + "requires": { + "slice-ansi": "^5.0.0", + "string-width": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + } + } + }, + "cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true + }, + "cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true + }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true + }, + "collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", + "dev": true + }, + "commander": { + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz", + "integrity": "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==", + "dev": true + }, + "commitizen": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/commitizen/-/commitizen-4.2.6.tgz", + "integrity": "sha512-RyTM+EiD9GO01DJUn9MRRAet3XUHGfoUZoksLfr+1ym1Xt2q5EYJs9Fg2BtKSb5Mo53i0BtMBmWMHQXVlZ/L9w==", + "dev": true, + "requires": { + "cachedir": "2.3.0", + "cz-conventional-changelog": "3.3.0", + "dedent": "0.7.0", + "detect-indent": "6.1.0", + "find-node-modules": "^2.1.2", + "find-root": "1.1.0", + "fs-extra": "9.1.0", + "glob": "7.2.3", + "inquirer": "8.2.4", + "is-utf8": "^0.2.1", + "lodash": "4.17.21", + "minimist": "1.2.6", + "strip-bom": "4.0.0", + "strip-json-comments": "3.1.1" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + } + } + }, + "commitlint": { + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/commitlint/-/commitlint-17.3.0.tgz", + "integrity": "sha512-jKytr2eesn2HpRZrr/37O1AQkDsR4VTIVRoAe4oJF3Eg22jp8gaIMvC0/YDoLzNPQEH5VXNhP/uvco70ritGEA==", + "dev": true, + "requires": { + "@commitlint/cli": "^17.3.0", + "@commitlint/types": "^17.0.0" + } + }, + "compare-func": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", + "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", + "dev": true, + "requires": { + "array-ify": "^1.0.0", + "dot-prop": "^5.1.0" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, + "confusing-browser-globals": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", + "dev": true + }, + "conventional-changelog": { + "version": "3.1.25", + "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.25.tgz", + "integrity": "sha512-ryhi3fd1mKf3fSjbLXOfK2D06YwKNic1nC9mWqybBHdObPd8KJ2vjaXZfYj1U23t+V8T8n0d7gwnc9XbIdFbyQ==", + "dev": true, + "requires": { + "conventional-changelog-angular": "^5.0.12", + "conventional-changelog-atom": "^2.0.8", + "conventional-changelog-codemirror": "^2.0.8", + "conventional-changelog-conventionalcommits": "^4.5.0", + "conventional-changelog-core": "^4.2.1", + "conventional-changelog-ember": "^2.0.9", + "conventional-changelog-eslint": "^3.0.9", + "conventional-changelog-express": "^2.0.6", + "conventional-changelog-jquery": "^3.0.11", + "conventional-changelog-jshint": "^2.0.9", + "conventional-changelog-preset-loader": "^2.3.4" + } + }, + "conventional-changelog-angular": { + "version": "5.0.13", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", + "integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==", + "dev": true, + "requires": { + "compare-func": "^2.0.0", + "q": "^1.5.1" + } + }, + "conventional-changelog-atom": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz", + "integrity": "sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-codemirror": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz", + "integrity": "sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-config-spec": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-config-spec/-/conventional-changelog-config-spec-2.1.0.tgz", + "integrity": "sha512-IpVePh16EbbB02V+UA+HQnnPIohgXvJRxHcS5+Uwk4AT5LjzCZJm5sp/yqs5C6KZJ1jMsV4paEV13BN1pvDuxQ==", + "dev": true + }, + "conventional-changelog-conventionalcommits": { + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.3.tgz", + "integrity": "sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g==", + "dev": true, + "requires": { + "compare-func": "^2.0.0", + "lodash": "^4.17.15", + "q": "^1.5.1" + } + }, + "conventional-changelog-core": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz", + "integrity": "sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==", + "dev": true, + "requires": { + "add-stream": "^1.0.0", + "conventional-changelog-writer": "^5.0.0", + "conventional-commits-parser": "^3.2.0", + "dateformat": "^3.0.0", + "get-pkg-repo": "^4.0.0", + "git-raw-commits": "^2.0.8", + "git-remote-origin-url": "^2.0.0", + "git-semver-tags": "^4.1.1", + "lodash": "^4.17.15", + "normalize-package-data": "^3.0.0", + "q": "^1.5.1", + "read-pkg": "^3.0.0", + "read-pkg-up": "^3.0.0", + "through2": "^4.0.0" + } + }, + "conventional-changelog-ember": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz", + "integrity": "sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-eslint": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz", + "integrity": "sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-express": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz", + "integrity": "sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-jquery": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz", + "integrity": "sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-jscs": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-jscs/-/conventional-changelog-jscs-0.1.0.tgz", + "integrity": "sha512-V8sey4tE0nJUlWGi2PZKDMfawYLf/+F165xhhDjcIoTEJDxssVV5PMVzTQzjS6U/dEX85fWkur+bs6imOqkIng==", + "dev": true, + "requires": { + "q": "^1.4.1" + } + }, + "conventional-changelog-jshint": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz", + "integrity": "sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA==", + "dev": true, + "requires": { + "compare-func": "^2.0.0", + "q": "^1.5.1" + } + }, + "conventional-changelog-preset-loader": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz", + "integrity": "sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==", + "dev": true + }, + "conventional-changelog-writer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz", + "integrity": "sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==", + "dev": true, + "requires": { + "conventional-commits-filter": "^2.0.7", + "dateformat": "^3.0.0", + "handlebars": "^4.7.7", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "semver": "^6.0.0", + "split": "^1.0.0", + "through2": "^4.0.0" + } + }, + "conventional-commit-types": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/conventional-commit-types/-/conventional-commit-types-3.0.0.tgz", + "integrity": "sha512-SmmCYnOniSsAa9GqWOeLqc179lfr5TRu5b4QFDkbsrJ5TZjPJx85wtOr3zn+1dbeNiXDKGPbZ72IKbPhLXh/Lg==", + "dev": true + }, + "conventional-commits-filter": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz", + "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==", + "dev": true, + "requires": { + "lodash.ismatch": "^4.4.0", + "modify-values": "^1.0.0" + } + }, + "conventional-commits-parser": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz", + "integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==", + "dev": true, + "requires": { + "is-text-path": "^1.0.1", + "JSONStream": "^1.0.4", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + } + }, + "conventional-github-releaser": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/conventional-github-releaser/-/conventional-github-releaser-3.1.5.tgz", + "integrity": "sha512-VhPKbdN92b2ygnQLkuwHIfUaPAVrVfJVuQdxbmmVPkN927LDP98HthLWFVShh4pxqLK0nE66v78RERGJVeCzbg==", + "dev": true, + "requires": { + "conventional-changelog": "^2.0.0", + "dateformat": "^3.0.0", + "debug": "^3.1.0", + "gh-got": "^7.0.0", + "git-semver-tags": "^2.0.0", + "lodash.merge": "^4.0.2", + "meow": "^7.0.0", + "object-assign": "^4.0.1", + "q": "^1.4.1", + "semver": "^5.0.1", + "semver-regex": "^2.0.0", + "through2": "^2.0.0" + }, + "dependencies": { + "compare-func": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-1.3.4.tgz", + "integrity": "sha512-sq2sWtrqKPkEXAC8tEJA1+BqAH9GbFkGBtUOqrUX57VSfwp8xyktctk+uLoRy5eccTdxzDcVIztlYDpKs3Jv1Q==", + "dev": true, + "requires": { + "array-ify": "^1.0.0", + "dot-prop": "^3.0.0" + } + }, + "conventional-changelog": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-2.0.3.tgz", + "integrity": "sha512-4bcII9cJHSKb2qi9e8qGF6aJHLf/AB0dokhyR+X6QILTMl77s4l163vK+reXhajvfOYbbHQvsrWybr5+PKZwNA==", + "dev": true, + "requires": { + "conventional-changelog-angular": "^1.6.6", + "conventional-changelog-atom": "^2.0.0", + "conventional-changelog-codemirror": "^2.0.0", + "conventional-changelog-core": "^3.1.0", + "conventional-changelog-ember": "^2.0.1", + "conventional-changelog-eslint": "^3.0.0", + "conventional-changelog-express": "^2.0.0", + "conventional-changelog-jquery": "^0.1.0", + "conventional-changelog-jscs": "^0.1.0", + "conventional-changelog-jshint": "^2.0.0", + "conventional-changelog-preset-loader": "^2.0.1" + } + }, + "conventional-changelog-angular": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-1.6.6.tgz", + "integrity": "sha512-suQnFSqCxRwyBxY68pYTsFkG0taIdinHLNEAX5ivtw8bCRnIgnpvcHmlR/yjUyZIrNPYAoXlY1WiEKWgSE4BNg==", + "dev": true, + "requires": { + "compare-func": "^1.3.1", + "q": "^1.5.1" + } + }, + "conventional-changelog-core": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-3.2.3.tgz", + "integrity": "sha512-LMMX1JlxPIq/Ez5aYAYS5CpuwbOk6QFp8O4HLAcZxe3vxoCtABkhfjetk8IYdRB9CDQGwJFLR3Dr55Za6XKgUQ==", + "dev": true, + "requires": { + "conventional-changelog-writer": "^4.0.6", + "conventional-commits-parser": "^3.0.3", + "dateformat": "^3.0.0", + "get-pkg-repo": "^1.0.0", + "git-raw-commits": "2.0.0", + "git-remote-origin-url": "^2.0.0", + "git-semver-tags": "^2.0.3", + "lodash": "^4.2.1", + "normalize-package-data": "^2.3.5", + "q": "^1.5.1", + "read-pkg": "^3.0.0", + "read-pkg-up": "^3.0.0", + "through2": "^3.0.0" + }, + "dependencies": { + "through2": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", + "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "2 || 3" + } + } + } + }, + "conventional-changelog-jquery": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-0.1.0.tgz", + "integrity": "sha512-wbz5vVcvu/SPZTDFB21fF/xo5zFq6NQR42jhtUfOrrP1N/ZjNshhGb3expCGqHYdnUHzPevHeUafsVrdxVD5Og==", + "dev": true, + "requires": { + "q": "^1.4.1" + } + }, + "conventional-changelog-writer": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.1.0.tgz", + "integrity": "sha512-WwKcUp7WyXYGQmkLsX4QmU42AZ1lqlvRW9mqoyiQzdD+rJWbTepdWoKJuwXTS+yq79XKnQNa93/roViPQrAQgw==", + "dev": true, + "requires": { + "compare-func": "^2.0.0", + "conventional-commits-filter": "^2.0.7", + "dateformat": "^3.0.0", + "handlebars": "^4.7.6", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "semver": "^6.0.0", + "split": "^1.0.0", + "through2": "^4.0.0" + }, + "dependencies": { + "compare-func": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", + "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", + "dev": true, + "requires": { + "array-ify": "^1.0.0", + "dot-prop": "^5.1.0" + } + }, + "dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, + "requires": { + "is-obj": "^2.0.0" + } + }, + "hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true + }, + "meow": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", + "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", + "dev": true, + "requires": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + } + }, + "normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, + "requires": { + "readable-stream": "3" + } + }, + "type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true + } + } + }, + "dargs": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz", + "integrity": "sha512-jyweV/k0rbv2WK4r9KLayuBrSh2Py0tNmV7LBoSMH4hMQyrG8OPyIOWB2VEx4DJKXWmK4lopYMVvORlDt2S8Aw==", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "dot-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz", + "integrity": "sha512-k4ELWeEU3uCcwub7+dWydqQBRjAjkV9L33HjVRG5Xo2QybI6ja/v+4W73SRi8ubCqJz0l9XsTP1NbewfyqaSlw==", + "dev": true, + "requires": { + "is-obj": "^1.0.0" + } + }, + "get-pkg-repo": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz", + "integrity": "sha512-xPCyvcEOxCJDxhBfXDNH+zA7mIRGb2aY1gIUJWsZkpJbp1BLHl+/Sycg26Dv+ZbZAJkO61tzbBtqHUi30NGBvg==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "meow": "^3.3.0", + "normalize-package-data": "^2.3.0", + "parse-github-repo-url": "^1.3.0", + "through2": "^2.0.0" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw==", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha512-bA/Z/DERHKqoEOrp+qeGKw1QlvEQkGZSc0XaY6VnTxZr+Kv1G5zFwttpjv8qxZ/sBPT4nthwZaAcsAZTJlSKXQ==", + "dev": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha512-TNdwZs0skRlpPpCUK25StC4VH+tP5GgeY1HQOOGP+lQ2xtdkN2VtT/5tiX9k3IWpkBPV9b3LsAWXn4GGi/PrSA==", + "dev": true, + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha512-qtW5hKzGQZqKoh6JNSD+4lfitfPKGz42e6QwiRmPM5mmKtR0N41AbJRYu0xJi7nhOJ4WDgRkKvAk6tw4WIwR4g==", + "dev": true, + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha512-Nm4cF79FhSTzrLKGDMi3I4utBtFv8qKy4sq1enftf2gMdpqI8oVQTAfySkTz5r49giVzDj88SVZXP4CeYQwjaw==", + "dev": true + } + } + }, + "git-raw-commits": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.0.tgz", + "integrity": "sha512-w4jFEJFgKXMQJ0H0ikBk2S+4KP2VEjhCvLCNqbNRQC8BgGWgLKNCO7a9K9LI+TVT7Gfoloje502sEnctibffgg==", + "dev": true, + "requires": { + "dargs": "^4.0.1", + "lodash.template": "^4.0.2", + "meow": "^4.0.0", + "split2": "^2.0.0", + "through2": "^2.0.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==", + "dev": true + }, + "camelcase-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", + "integrity": "sha512-Ej37YKYbFUI8QiYlvj9YHb6/Z60dZyPJW0Cs8sFilMbd2lP0bw3ylAq9yJkK4lcTA2dID5fG8LjmJYbO7kWb7Q==", + "dev": true, + "requires": { + "camelcase": "^4.1.0", + "map-obj": "^2.0.0", + "quick-lru": "^1.0.0" + } + }, + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==", + "dev": true + }, + "map-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", + "integrity": "sha512-TzQSV2DiMYgoF5RycneKVUzIa9bQsj/B3tTgsE3dOGqlzHnGIDaC7XBE7grnA+8kZPnfqSGFe95VHc2oc0VFUQ==", + "dev": true + }, + "meow": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", + "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "dev": true, + "requires": { + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist": "^1.1.3", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0" + } + }, + "minimist-options": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", + "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0" + } + }, + "redent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", + "integrity": "sha512-XNwrTx77JQCEMXTeb8movBKuK75MgH0RZkujNuDKCezemx/voapl9i2gCSi8WWm8+ox5ycJi1gxF22fR7c0Ciw==", + "dev": true, + "requires": { + "indent-string": "^3.0.0", + "strip-indent": "^2.0.0" + } + }, + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA==", + "dev": true + }, + "trim-newlines": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", + "integrity": "sha512-MTBWv3jhVjTU7XR3IQHllbiJs8sc75a80OEhB6or/q7pLTWgQ0bMGQXXYQSrSuXe6WiKWDZ5txXY5P59a/coVA==", + "dev": true + } + } + }, + "git-semver-tags": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-2.0.3.tgz", + "integrity": "sha512-tj4FD4ww2RX2ae//jSrXZzrocla9db5h0V7ikPl1P/WwoZar9epdUhwR7XHXSgc+ZkNq72BEEerqQuicoEQfzA==", + "dev": true, + "requires": { + "meow": "^4.0.0", + "semver": "^6.0.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==", + "dev": true + }, + "camelcase-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", + "integrity": "sha512-Ej37YKYbFUI8QiYlvj9YHb6/Z60dZyPJW0Cs8sFilMbd2lP0bw3ylAq9yJkK4lcTA2dID5fG8LjmJYbO7kWb7Q==", + "dev": true, + "requires": { + "camelcase": "^4.1.0", + "map-obj": "^2.0.0", + "quick-lru": "^1.0.0" + } + }, + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==", + "dev": true + }, + "map-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", + "integrity": "sha512-TzQSV2DiMYgoF5RycneKVUzIa9bQsj/B3tTgsE3dOGqlzHnGIDaC7XBE7grnA+8kZPnfqSGFe95VHc2oc0VFUQ==", + "dev": true + }, + "meow": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", + "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "dev": true, + "requires": { + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist": "^1.1.3", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0" + } + }, + "minimist-options": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", + "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0" + } + }, + "redent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", + "integrity": "sha512-XNwrTx77JQCEMXTeb8movBKuK75MgH0RZkujNuDKCezemx/voapl9i2gCSi8WWm8+ox5ycJi1gxF22fR7c0Ciw==", + "dev": true, + "requires": { + "indent-string": "^3.0.0", + "strip-indent": "^2.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA==", + "dev": true + }, + "trim-newlines": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", + "integrity": "sha512-MTBWv3jhVjTU7XR3IQHllbiJs8sc75a80OEhB6or/q7pLTWgQ0bMGQXXYQSrSuXe6WiKWDZ5txXY5P59a/coVA==", + "dev": true + } + } + }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha512-aqwDFWSgSgfRaEwao5lg5KEcVd/2a+D1rvoG7NdilmYz0NwRk6StWpWdz/Hpk34MKPpx7s8XxUqimfcQK6gGlg==", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "dev": true + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "dependencies": { + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + } + } + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true + }, + "meow": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-7.1.1.tgz", + "integrity": "sha512-GWHvA5QOcS412WCo8vwKDlTelGLsCGBVevQB5Kva961rmNfun0PCbv5+xta2kUMFJyR8/oWnn7ddeKdosbAPbA==", + "dev": true, + "requires": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^2.5.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.13.1", + "yargs-parser": "^18.1.3" + }, + "dependencies": { + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "quick-lru": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", + "integrity": "sha512-tRS7sTgyxMXtLum8L65daJnHUhfDUgboRdcWW2bR9vBfrj2+O5HSMbQOJfJJjIVSPFqbBCF37FpwWXGitDc5tA==", + "dev": true + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "split2": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz", + "integrity": "sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==", + "dev": true, + "requires": { + "through2": "^2.0.2" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha512-I5iQq6aFMM62fBEAIB/hXzwJD6EEZ0xEGCX2t7oXqaKPIRgt4WruAQ285BISgdkP+HLGWyeGmNJcpIwFeRYRUA==", + "dev": true, + "requires": { + "get-stdin": "^4.0.1" + } + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + } + } + }, + "type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "dev": true + } + } + }, + "conventional-recommended-bump": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz", + "integrity": "sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==", + "dev": true, + "requires": { + "concat-stream": "^2.0.0", + "conventional-changelog-preset-loader": "^2.3.4", + "conventional-commits-filter": "^2.0.7", + "conventional-commits-parser": "^3.2.0", + "git-raw-commits": "^2.0.8", + "git-semver-tags": "^4.1.1", + "meow": "^8.0.0", + "q": "^1.5.1" + } + }, + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "core-js": { + "version": "3.26.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.26.1.tgz", + "integrity": "sha512-21491RRQVzUn0GGM9Z1Jrpr6PNPxPi+Za8OM9q4tksTSnlbXXGKK1nXNg/QvwFYettXvSX6zWKCtHHfjN4puyA==", + "dev": true + }, + "core-js-compat": { + "version": "3.26.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.26.1.tgz", + "integrity": "sha512-622/KzTudvXCDLRw70iHW4KKs1aGpcRcowGWyYJr2DEBfRrd6hNJybxSWJFuZYD4ma86xhrwDDHxmDaIq4EA8A==", + "dev": true, + "requires": { + "browserslist": "^4.21.4" + } + }, + "core-js-pure": { + "version": "3.26.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.26.1.tgz", + "integrity": "sha512-VVXcDpp/xJ21KdULRq/lXdLzQAtX7+37LzpyfFM973il0tWSsDEoyzG38G14AjTpK9VTfiNM9jnFauq/CpaWGQ==", + "dev": true, + "peer": true + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dev": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "dependencies": { + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + } + } + }, + "cosmiconfig-typescript-loader": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.3.0.tgz", + "integrity": "sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q==", + "dev": true, + "requires": {} + }, + "create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng==", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + } + }, + "cz-conventional-changelog": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/cz-conventional-changelog/-/cz-conventional-changelog-3.3.0.tgz", + "integrity": "sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==", + "dev": true, + "requires": { + "@commitlint/load": ">6.1.1", + "chalk": "^2.4.1", + "commitizen": "^4.0.3", + "conventional-commit-types": "^3.0.0", + "lodash.map": "^4.5.1", + "longest": "^2.0.1", + "word-wrap": "^1.0.3" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true, + "peer": true + }, + "dargs": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", + "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", + "dev": true + }, + "dateformat": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "dev": true + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true + }, + "decamelize-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", + "dev": true, + "requires": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true + } + } + }, + "decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "dev": true + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true + }, + "defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "requires": { + "clone": "^1.0.2" + } + }, + "define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==", + "dev": true + }, + "detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "dev": true + }, + "detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true + }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true + }, + "diff-sequences": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.3.1.tgz", + "integrity": "sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ==", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + }, + "dependencies": { + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + } + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, + "requires": { + "is-obj": "^2.0.0" + } + }, + "dotgitignore": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/dotgitignore/-/dotgitignore-2.1.0.tgz", + "integrity": "sha512-sCm11ak2oY6DglEPpCB8TixLjWAxd3kJTs6UIcSasNYxXdFPV+YKlye92c8H4kKFqV5qYMIh7d+cYecEg0dIkA==", + "dev": true, + "requires": { + "find-up": "^3.0.0", + "minimatch": "^3.0.4" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true + } + } + }, + "duplexer3": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz", + "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==", + "dev": true + }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.4.284", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", + "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", + "dev": true + }, + "emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "enhanced-resolve": { + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz", + "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.20.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.5.tgz", + "integrity": "sha512-7h8MM2EQhsCA7pU/Nv78qOXFpD8Rhqd12gYiSJVkrH9+e8VuA8JlPJK/hQjjlLv6pJvx/z1iRFKzYb0XT/RuAQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.3", + "get-symbol-description": "^1.0.0", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.2", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "unbox-primitive": "^1.0.2" + } + }, + "es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "dev": true, + "peer": true + }, + "es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true + }, + "eslint": { + "version": "8.30.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.30.0.tgz", + "integrity": "sha512-MGADB39QqYuzEGov+F/qb18r4i7DohCDOfatHaxI2iGlPuC65bwG2gxgO+7DkyL38dRFaRH7RaRAgU6JKL9rMQ==", + "dev": true, + "requires": { + "@eslint/eslintrc": "^1.4.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.4.0", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "globals": { + "version": "13.19.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + } + } + }, + "eslint-config-airbnb": { + "version": "19.0.4", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-19.0.4.tgz", + "integrity": "sha512-T75QYQVQX57jiNgpF9r1KegMICE94VYwoFQyMGhrvc+lB8YF2E/M/PYDaQe1AJcWaEgqLE+ErXV1Og/+6Vyzew==", + "dev": true, + "requires": { + "eslint-config-airbnb-base": "^15.0.0", + "object.assign": "^4.1.2", + "object.entries": "^1.1.5" + } + }, + "eslint-config-airbnb-base": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz", + "integrity": "sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==", + "dev": true, + "requires": { + "confusing-browser-globals": "^1.0.10", + "object.assign": "^4.1.2", + "object.entries": "^1.1.5", + "semver": "^6.3.0" + } + }, + "eslint-config-prettier": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz", + "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==", + "dev": true, + "requires": {} + }, + "eslint-import-resolver-node": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", + "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", + "dev": true, + "requires": { + "debug": "^3.2.7", + "resolve": "^1.20.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-module-utils": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", + "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", + "dev": true, + "requires": { + "debug": "^3.2.7" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-plugin-compat": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-compat/-/eslint-plugin-compat-4.0.2.tgz", + "integrity": "sha512-xqvoO54CLTVaEYGMzhu35Wzwk/As7rCvz/2dqwnFiWi0OJccEtGIn+5qq3zqIu9nboXlpdBN579fZcItC73Ycg==", + "dev": true, + "requires": { + "@mdn/browser-compat-data": "^4.1.5", + "ast-metadata-inferer": "^0.7.0", + "browserslist": "^4.16.8", + "caniuse-lite": "^1.0.30001304", + "core-js": "^3.16.2", + "find-up": "^5.0.0", + "lodash.memoize": "4.1.2", + "semver": "7.3.5" + }, + "dependencies": { + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "eslint-plugin-import": { + "version": "2.26.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", + "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", + "dev": true, + "requires": { + "array-includes": "^3.1.4", + "array.prototype.flat": "^1.2.5", + "debug": "^2.6.9", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-module-utils": "^2.7.3", + "has": "^1.0.3", + "is-core-module": "^2.8.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.5", + "resolve": "^1.22.0", + "tsconfig-paths": "^3.14.1" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true + }, + "tsconfig-paths": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", + "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", + "dev": true, + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + } + } + }, + "eslint-plugin-json": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-json/-/eslint-plugin-json-3.1.0.tgz", + "integrity": "sha512-MrlG2ynFEHe7wDGwbUuFPsaT2b1uhuEFhJ+W1f1u+1C2EkXmTYJp4B1aAdQQ8M+CC3t//N/oRKiIVw14L2HR1g==", + "dev": true, + "requires": { + "lodash": "^4.17.21", + "vscode-json-languageservice": "^4.1.6" + } + }, + "eslint-plugin-jsx-a11y": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz", + "integrity": "sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==", + "dev": true, + "peer": true, + "requires": { + "@babel/runtime": "^7.18.9", + "aria-query": "^4.2.2", + "array-includes": "^3.1.5", + "ast-types-flow": "^0.0.7", + "axe-core": "^4.4.3", + "axobject-query": "^2.2.0", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "has": "^1.0.3", + "jsx-ast-utils": "^3.3.2", + "language-tags": "^1.0.5", + "minimatch": "^3.1.2", + "semver": "^6.3.0" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "peer": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "peer": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "peer": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "eslint-plugin-react": { + "version": "7.31.11", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.31.11.tgz", + "integrity": "sha512-TTvq5JsT5v56wPa9OYHzsrOlHzKZKjV+aLgS+55NJP/cuzdiQPC7PfYoUjMoxlffKtvijpk7vA/jmuqRb9nohw==", + "dev": true, + "peer": true, + "requires": { + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", + "doctrine": "^2.1.0", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "object.hasown": "^1.1.2", + "object.values": "^1.1.6", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.3", + "semver": "^6.3.0", + "string.prototype.matchall": "^4.0.8" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "peer": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "peer": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "peer": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "peer": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "resolve": { + "version": "2.0.0-next.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", + "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "dev": true, + "peer": true, + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + } + } + }, + "eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "dev": true, + "peer": true, + "requires": {} + }, + "eslint-plugin-unicorn": { + "version": "45.0.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-45.0.2.tgz", + "integrity": "sha512-Y0WUDXRyGDMcKLiwgL3zSMpHrXI00xmdyixEGIg90gHnj0PcHY4moNv3Ppje/kDivdAy5vUeUr7z211ImPv2gw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.19.1", + "@eslint-community/eslint-utils": "^4.1.2", + "ci-info": "^3.6.1", + "clean-regexp": "^1.0.0", + "esquery": "^1.4.0", + "indent-string": "^4.0.0", + "is-builtin-module": "^3.2.0", + "jsesc": "^3.0.2", + "lodash": "^4.17.21", + "pluralize": "^8.0.0", + "read-pkg-up": "^7.0.1", + "regexp-tree": "^0.1.24", + "regjsparser": "^0.9.1", + "safe-regex": "^2.1.1", + "semver": "^7.3.8", + "strip-indent": "^3.0.0" + }, + "dependencies": { + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + } + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^2.0.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + } + } + }, + "eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true + }, + "esm": { + "version": "3.2.25", + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", + "dev": true + }, + "espree": { + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", + "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.3.0" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "peer": true + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "expect": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.3.1.tgz", + "integrity": "sha512-gGb1yTgU30Q0O/tQq+z30KBWv24ApkMgFUpvKBkyLUBL68Wv8dHdJxTBZFl/iT8K/bqDHvUYRH6IIN3rToopPA==", + "dev": true, + "requires": { + "@jest/expect-utils": "^29.3.1", + "jest-get-type": "^29.2.0", + "jest-matcher-utils": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-util": "^29.3.1" + } + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "fastq": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.14.0.tgz", + "integrity": "sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "requires": { + "bser": "2.1.1" + } + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + }, + "dependencies": { + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + } + } + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-node-modules": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/find-node-modules/-/find-node-modules-2.1.3.tgz", + "integrity": "sha512-UC2I2+nx1ZuOBclWVNdcnbDR5dlrOdVb7xNjmT/lHE+LsgztWks3dG7boJ37yTS/venXw84B/mAW9uHVoC5QRg==", + "dev": true, + "requires": { + "findup-sync": "^4.0.0", + "merge": "^2.1.1" + } + }, + "find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", + "dev": true + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "findup-sync": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-4.0.0.tgz", + "integrity": "sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^4.0.2", + "resolve-dir": "^1.0.1" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + } + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true + }, + "get-pkg-repo": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz", + "integrity": "sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==", + "dev": true, + "requires": { + "@hutson/parse-repository-url": "^3.0.0", + "hosted-git-info": "^4.0.0", + "through2": "^2.0.0", + "yargs": "^16.2.0" + }, + "dependencies": { + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + } + } + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==", + "dev": true + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "gh-got": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/gh-got/-/gh-got-7.1.0.tgz", + "integrity": "sha512-KeWkkhresa7sbpzQLYzITMgez5rMigUsijhmSAHcLDORIMUbdlkdoZyaN1wQvIjmUZnyb/wkAPaXb4MQKX0mdQ==", + "dev": true, + "requires": { + "got": "^8.0.0", + "is-plain-obj": "^1.1.0" + } + }, + "git-raw-commits": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz", + "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==", + "dev": true, + "requires": { + "dargs": "^7.0.0", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + } + }, + "git-remote-origin-url": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", + "integrity": "sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==", + "dev": true, + "requires": { + "gitconfiglocal": "^1.0.0", + "pify": "^2.3.0" + } + }, + "git-semver-tags": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz", + "integrity": "sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==", + "dev": true, + "requires": { + "meow": "^8.0.0", + "semver": "^6.0.0" + } + }, + "gitconfiglocal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", + "integrity": "sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==", + "dev": true, + "requires": { + "ini": "^1.3.2" + } + }, + "glob": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", + "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "peer": true + }, + "global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==", + "dev": true, + "requires": { + "ini": "^1.3.4" + } + }, + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3" + } + }, + "got": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", + "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", + "dev": true, + "requires": { + "@sindresorhus/is": "^0.7.0", + "cacheable-request": "^2.1.1", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "into-stream": "^3.1.0", + "is-retry-allowed": "^1.1.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "mimic-response": "^1.0.0", + "p-cancelable": "^0.4.0", + "p-timeout": "^2.0.1", + "pify": "^3.0.0", + "safe-buffer": "^5.1.1", + "timed-out": "^4.0.1", + "url-parse-lax": "^3.0.0", + "url-to-options": "^1.0.1" + }, + "dependencies": { + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true + } + } + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "dev": true + }, + "handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "dev": true, + "requires": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4", + "wordwrap": "^1.0.0" + } + }, + "hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-symbol-support-x": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", + "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", + "dev": true + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + }, + "has-to-string-tag-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", + "dev": true, + "requires": { + "has-symbol-support-x": "^1.4.1" + } + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "http-cache-semantics": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", + "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", + "dev": true + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + }, + "husky": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.2.tgz", + "integrity": "sha512-Tkv80jtvbnkK3mYWxPZePGFpQ/tT3HNSs/sasF9P2YfkMezDl3ON37YN6jUUI4eTg5LcyVynlb6r4eyvOmspvg==", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + } + } + }, + "import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "inquirer": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz", + "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^7.0.0" + } + }, + "internal-slot": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.4.tgz", + "integrity": "sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "into-stream": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", + "integrity": "sha512-TcdjPibTksa1NQximqep2r17ISRiNE9fwlfbg3F8ANdvP5/yrFTew86VcO//jk4QTaMlbjypPBq76HN2zaKfZQ==", + "dev": true, + "requires": { + "from2": "^2.1.1", + "p-is-promise": "^1.1.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-builtin-module": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.0.tgz", + "integrity": "sha512-phDA4oSGt7vl1n5tJvTWooWWAsXLY+2xCnxNqvKhGEzujg+A43wPlPOyDg3C8XQHN+6k/JTQWJ/j0dQh/qr+Hw==", + "dev": true, + "requires": { + "builtin-modules": "^3.3.0" + } + }, + "is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true + }, + "is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true + }, + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true + }, + "is-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", + "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", + "dev": true + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-text-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", + "integrity": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==", + "dev": true, + "requires": { + "text-extensions": "^1.0.0" + } + }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", + "dev": true + }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "requires": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + } + }, + "istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + } + }, + "istanbul-reports": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "dev": true, + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "dev": true, + "requires": { + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" + } + }, + "jest": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.3.1.tgz", + "integrity": "sha512-6iWfL5DTT0Np6UYs/y5Niu7WIfNv/wRTtN5RSXt2DIEft3dx3zPuw/3WJQBCJfmEzvDiEKwoqMbGD9n49+qLSA==", + "dev": true, + "requires": { + "@jest/core": "^29.3.1", + "@jest/types": "^29.3.1", + "import-local": "^3.0.2", + "jest-cli": "^29.3.1" + } + }, + "jest-changed-files": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.2.0.tgz", + "integrity": "sha512-qPVmLLyBmvF5HJrY7krDisx6Voi8DmlV3GZYX0aFNbaQsZeoz1hfxcCMbqDGuQCxU1dJy9eYc2xscE8QrCCYaA==", + "dev": true, + "requires": { + "execa": "^5.0.0", + "p-limit": "^3.1.0" + } + }, + "jest-circus": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.3.1.tgz", + "integrity": "sha512-wpr26sEvwb3qQQbdlmei+gzp6yoSSoSL6GsLPxnuayZSMrSd5Ka7IjAvatpIernBvT2+Ic6RLTg+jSebScmasg==", + "dev": true, + "requires": { + "@jest/environment": "^29.3.1", + "@jest/expect": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.3.1", + "jest-matcher-utils": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-runtime": "^29.3.1", + "jest-snapshot": "^29.3.1", + "jest-util": "^29.3.1", + "p-limit": "^3.1.0", + "pretty-format": "^29.3.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-cli": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.3.1.tgz", + "integrity": "sha512-TO/ewvwyvPOiBBuWZ0gm04z3WWP8TIK8acgPzE4IxgsLKQgb377NYGrQLc3Wl/7ndWzIH2CDNNsUjGxwLL43VQ==", + "dev": true, + "requires": { + "@jest/core": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/types": "^29.3.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^29.3.1", + "jest-util": "^29.3.1", + "jest-validate": "^29.3.1", + "prompts": "^2.0.1", + "yargs": "^17.3.1" + } + }, + "jest-config": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.3.1.tgz", + "integrity": "sha512-y0tFHdj2WnTEhxmGUK1T7fgLen7YK4RtfvpLFBXfQkh2eMJAQq24Vx9472lvn5wg0MAO6B+iPfJfzdR9hJYalg==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.3.1", + "@jest/types": "^29.3.1", + "babel-jest": "^29.3.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.3.1", + "jest-environment-node": "^29.3.1", + "jest-get-type": "^29.2.0", + "jest-regex-util": "^29.2.0", + "jest-resolve": "^29.3.1", + "jest-runner": "^29.3.1", + "jest-util": "^29.3.1", + "jest-validate": "^29.3.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.3.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "jest-diff": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.3.1.tgz", + "integrity": "sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^29.3.1", + "jest-get-type": "^29.2.0", + "pretty-format": "^29.3.1" + } + }, + "jest-docblock": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.2.0.tgz", + "integrity": "sha512-bkxUsxTgWQGbXV5IENmfiIuqZhJcyvF7tU4zJ/7ioTutdz4ToB5Yx6JOFBpgI+TphRY4lhOyCWGNH/QFQh5T6A==", + "dev": true, + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.3.1.tgz", + "integrity": "sha512-qrZH7PmFB9rEzCSl00BWjZYuS1BSOH8lLuC0azQE9lQrAx3PWGKHTDudQiOSwIy5dGAJh7KA0ScYlCP7JxvFYA==", + "dev": true, + "requires": { + "@jest/types": "^29.3.1", + "chalk": "^4.0.0", + "jest-get-type": "^29.2.0", + "jest-util": "^29.3.1", + "pretty-format": "^29.3.1" + } + }, + "jest-environment-node": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.3.1.tgz", + "integrity": "sha512-xm2THL18Xf5sIHoU7OThBPtuH6Lerd+Y1NLYiZJlkE3hbE+7N7r8uvHIl/FkZ5ymKXJe/11SQuf3fv4v6rUMag==", + "dev": true, + "requires": { + "@jest/environment": "^29.3.1", + "@jest/fake-timers": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "jest-mock": "^29.3.1", + "jest-util": "^29.3.1" + } + }, + "jest-get-type": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz", + "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==", + "dev": true + }, + "jest-haste-map": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.3.1.tgz", + "integrity": "sha512-/FFtvoG1xjbbPXQLFef+WSU4yrc0fc0Dds6aRPBojUid7qlPqZvxdUBA03HW0fnVHXVCnCdkuoghYItKNzc/0A==", + "dev": true, + "requires": { + "@jest/types": "^29.3.1", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.2.0", + "jest-util": "^29.3.1", + "jest-worker": "^29.3.1", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + } + }, + "jest-leak-detector": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.3.1.tgz", + "integrity": "sha512-3DA/VVXj4zFOPagGkuqHnSQf1GZBmmlagpguxEERO6Pla2g84Q1MaVIB3YMxgUaFIaYag8ZnTyQgiZ35YEqAQA==", + "dev": true, + "requires": { + "jest-get-type": "^29.2.0", + "pretty-format": "^29.3.1" + } + }, + "jest-matcher-utils": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.3.1.tgz", + "integrity": "sha512-fkRMZUAScup3txIKfMe3AIZZmPEjWEdsPJFK3AIy5qRohWqQFg1qrmKfYXR9qEkNc7OdAu2N4KPHibEmy4HPeQ==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^29.3.1", + "jest-get-type": "^29.2.0", + "pretty-format": "^29.3.1" + } + }, + "jest-message-util": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.3.1.tgz", + "integrity": "sha512-lMJTbgNcDm5z+6KDxWtqOFWlGQxD6XaYwBqHR8kmpkP+WWWG90I35kdtQHY67Ay5CSuydkTBbJG+tH9JShFCyA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.3.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.3.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-mock": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.3.1.tgz", + "integrity": "sha512-H8/qFDtDVMFvFP4X8NuOT3XRDzOUTz+FeACjufHzsOIBAxivLqkB1PoLCaJx9iPPQ8dZThHPp/G3WRWyMgA3JA==", + "dev": true, + "requires": { + "@jest/types": "^29.3.1", + "@types/node": "*", + "jest-util": "^29.3.1" + } + }, + "jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "requires": {} + }, + "jest-regex-util": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.2.0.tgz", + "integrity": "sha512-6yXn0kg2JXzH30cr2NlThF+70iuO/3irbaB4mh5WyqNIvLLP+B6sFdluO1/1RJmslyh/f9osnefECflHvTbwVA==", + "dev": true + }, + "jest-resolve": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.3.1.tgz", + "integrity": "sha512-amXJgH/Ng712w3Uz5gqzFBBjxV8WFLSmNjoreBGMqxgCz5cH7swmBZzgBaCIOsvb0NbpJ0vgaSFdJqMdT+rADw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.3.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.3.1", + "jest-validate": "^29.3.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + } + }, + "jest-resolve-dependencies": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.3.1.tgz", + "integrity": "sha512-Vk0cYq0byRw2WluNmNWGqPeRnZ3p3hHmjJMp2dyyZeYIfiBskwq4rpiuGFR6QGAdbj58WC7HN4hQHjf2mpvrLA==", + "dev": true, + "requires": { + "jest-regex-util": "^29.2.0", + "jest-snapshot": "^29.3.1" + } + }, + "jest-runner": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.3.1.tgz", + "integrity": "sha512-oFvcwRNrKMtE6u9+AQPMATxFcTySyKfLhvso7Sdk/rNpbhg4g2GAGCopiInk1OP4q6gz3n6MajW4+fnHWlU3bA==", + "dev": true, + "requires": { + "@jest/console": "^29.3.1", + "@jest/environment": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.2.0", + "jest-environment-node": "^29.3.1", + "jest-haste-map": "^29.3.1", + "jest-leak-detector": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-resolve": "^29.3.1", + "jest-runtime": "^29.3.1", + "jest-util": "^29.3.1", + "jest-watcher": "^29.3.1", + "jest-worker": "^29.3.1", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + } + }, + "jest-runtime": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.3.1.tgz", + "integrity": "sha512-jLzkIxIqXwBEOZx7wx9OO9sxoZmgT2NhmQKzHQm1xwR1kNW/dn0OjxR424VwHHf1SPN6Qwlb5pp1oGCeFTQ62A==", + "dev": true, + "requires": { + "@jest/environment": "^29.3.1", + "@jest/fake-timers": "^29.3.1", + "@jest/globals": "^29.3.1", + "@jest/source-map": "^29.2.0", + "@jest/test-result": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-mock": "^29.3.1", + "jest-regex-util": "^29.2.0", + "jest-resolve": "^29.3.1", + "jest-snapshot": "^29.3.1", + "jest-util": "^29.3.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "jest-snapshot": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.3.1.tgz", + "integrity": "sha512-+3JOc+s28upYLI2OJM4PWRGK9AgpsMs/ekNryUV0yMBClT9B1DF2u2qay8YxcQd338PPYSFNb0lsar1B49sLDA==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/babel__traverse": "^7.0.6", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.3.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.3.1", + "jest-get-type": "^29.2.0", + "jest-haste-map": "^29.3.1", + "jest-matcher-utils": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-util": "^29.3.1", + "natural-compare": "^1.4.0", + "pretty-format": "^29.3.1", + "semver": "^7.3.5" + }, + "dependencies": { + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "jest-util": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.3.1.tgz", + "integrity": "sha512-7YOVZaiX7RJLv76ZfHt4nbNEzzTRiMW/IiOG7ZOKmTXmoGBxUDefgMAxQubu6WPVqP5zSzAdZG0FfLcC7HOIFQ==", + "dev": true, + "requires": { + "@jest/types": "^29.3.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "jest-validate": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.3.1.tgz", + "integrity": "sha512-N9Lr3oYR2Mpzuelp1F8negJR3YE+L1ebk1rYA5qYo9TTY3f9OWdptLoNSPP9itOCBIRBqjt/S5XHlzYglLN67g==", + "dev": true, + "requires": { + "@jest/types": "^29.3.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.2.0", + "leven": "^3.1.0", + "pretty-format": "^29.3.1" + }, + "dependencies": { + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + } + } + }, + "jest-watcher": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.3.1.tgz", + "integrity": "sha512-RspXG2BQFDsZSRKGCT/NiNa8RkQ1iKAjrO0//soTMWx/QUt+OcxMqMSBxz23PYGqUuWm2+m2mNNsmj0eIoOaFg==", + "dev": true, + "requires": { + "@jest/test-result": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.3.1", + "string-length": "^4.0.1" + } + }, + "jest-worker": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.3.1.tgz", + "integrity": "sha512-lY4AnnmsEWeiXirAIA0c9SDPbuCBq8IYuDVL8PMm0MZ2PEs2yPvRA/J64QBXuZp7CYKrDM/rmNrc9/i3KJQncw==", + "dev": true, + "requires": { + "@types/node": "*", + "jest-util": "^29.3.1", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "js-sdsl": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz", + "integrity": "sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, + "json5": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.2.tgz", + "integrity": "sha512-46Tk9JiOL2z7ytNQWFLpj99RZkVgeHf87yGQKsIkaPz1qSH9UczKH1rO7K3wgRselo0tYMUNfecYpm/p1vC7tQ==", + "dev": true + }, + "jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true + }, + "JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "dev": true, + "requires": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + } + }, + "jsx-ast-utils": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", + "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", + "dev": true, + "peer": true, + "requires": { + "array-includes": "^3.1.5", + "object.assign": "^4.1.3" + } + }, + "keyv": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", + "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", + "dev": true, + "requires": { + "json-buffer": "3.0.0" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true + }, + "language-subtag-registry": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", + "dev": true, + "peer": true + }, + "language-tags": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.7.tgz", + "integrity": "sha512-bSytju1/657hFjgUzPAPqszxH62ouE8nQFoFaVlIQfne4wO/wXC9A4+m8jYve7YBBvi59eq0SUpcshvG8h5Usw==", + "dev": true, + "peer": true, + "requires": { + "language-subtag-registry": "^0.3.20" + } + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lilconfig": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", + "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==", + "dev": true + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "lint-staged": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-13.1.0.tgz", + "integrity": "sha512-pn/sR8IrcF/T0vpWLilih8jmVouMlxqXxKuAojmbiGX5n/gDnz+abdPptlj0vYnbfE0SQNl3CY/HwtM0+yfOVQ==", + "dev": true, + "requires": { + "cli-truncate": "^3.1.0", + "colorette": "^2.0.19", + "commander": "^9.4.1", + "debug": "^4.3.4", + "execa": "^6.1.0", + "lilconfig": "2.0.6", + "listr2": "^5.0.5", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-inspect": "^1.12.2", + "pidtree": "^0.6.0", + "string-argv": "^0.3.1", + "yaml": "^2.1.3" + }, + "dependencies": { + "execa": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-6.1.0.tgz", + "integrity": "sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^3.0.1", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + } + }, + "human-signals": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-3.0.1.tgz", + "integrity": "sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==", + "dev": true + }, + "is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true + }, + "mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true + }, + "npm-run-path": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", + "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", + "dev": true, + "requires": { + "path-key": "^4.0.0" + } + }, + "onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "requires": { + "mimic-fn": "^4.0.0" + } + }, + "path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true + }, + "strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true + }, + "yaml": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.0.tgz", + "integrity": "sha512-auf7Gi6QwO7HW//GA9seGvTXVGWl1CM/ADWh1+RxtXr6XOxnT65ovDl9fTi4e0monEyJxCHqDpF6QnFDXmJE4g==", + "dev": true + } + } + }, + "listr2": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-5.0.6.tgz", + "integrity": "sha512-u60KxKBy1BR2uLJNTWNptzWQ1ob/gjMzIJPZffAENzpZqbMZ/5PrXXOomDcevIS/+IB7s1mmCEtSlT2qHWMqag==", + "dev": true, + "requires": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.19", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.5.7", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "requires": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + } + }, + "slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + } + } + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true + } + } + }, + "loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "peer": true + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==", + "dev": true + }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "dev": true + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "lodash.isfunction": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz", + "integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==", + "dev": true + }, + "lodash.ismatch": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", + "integrity": "sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==", + "dev": true + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true + }, + "lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", + "dev": true + }, + "lodash.map": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", + "integrity": "sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==", + "dev": true + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "lodash.mergewith": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", + "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==", + "dev": true + }, + "lodash.snakecase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", + "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==", + "dev": true + }, + "lodash.startcase": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", + "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==", + "dev": true + }, + "lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "dev": true + }, + "lodash.upperfirst": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", + "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==", + "dev": true + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + } + }, + "log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "requires": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "longest": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-2.0.1.tgz", + "integrity": "sha512-Ajzxb8CM6WAnFjgiloPsI3bF+WCxcvhdIG3KNA2KN962+tdBsHcuQ4k4qX/EcS/2CRkcc0iAkR956Nib6aXU/Q==", + "dev": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "peer": true, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha512-RPNliZOFkqFumDhvYqOaNY4Uz9oJM2K9tC6JWsJJsNdhuONW4LQHRBpb0qf4pJApVffI5N39SwzWZJuEhfd7eQ==", + "dev": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "requires": { + "tmpl": "1.0.5" + } + }, + "map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "dev": true + }, + "meow": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", + "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", + "dev": true, + "requires": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "dependencies": { + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true + } + } + }, + "merge": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/merge/-/merge-2.1.1.tgz", + "integrity": "sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==", + "dev": true + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "peer": true + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "peer": true, + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true + }, + "min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true + }, + "minimatch": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz", + "integrity": "sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==", + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "minimist": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "dev": true + }, + "minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + } + }, + "modify-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", + "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true + }, + "node-releases": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz", + "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==", + "dev": true + }, + "normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "normalize-url": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", + "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", + "dev": true, + "requires": { + "prepend-http": "^2.0.0", + "query-string": "^5.0.1", + "sort-keys": "^2.0.0" + } + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true + }, + "object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.entries": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", + "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.fromentries": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", + "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.hasown": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", + "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "dev": true, + "peer": true, + "requires": { + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.values": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "requires": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true + }, + "p-cancelable": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", + "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "dev": true + }, + "p-is-promise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", + "integrity": "sha512-zL7VE4JVS2IFSkR2GQKDSPEVxkoH43/p7oEnwpdCndKYJO0HVeRB7fA8TJwuLOTBREtK0ea8eHaxdwcpob5dmg==", + "dev": true + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + }, + "dependencies": { + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + } + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-timeout": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", + "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", + "dev": true, + "requires": { + "p-finally": "^1.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-github-repo-url": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz", + "integrity": "sha512-bSWyzBKqcSL4RrncTpGsEKoJ7H8a4L3++ifTAbTFeMHyq2wRV+42DGmQcHIrJIvdcacjIOxEuKH/w4tthF17gg==", + "dev": true + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true + } + } + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "dev": true + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==", + "dev": true + }, + "prettier": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.1.tgz", + "integrity": "sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==", + "dev": true + }, + "pretty-format": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz", + "integrity": "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==", + "dev": true, + "requires": { + "@jest/schemas": "^29.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } + } + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "peer": true, + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true, + "peer": true + } + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "dev": true + }, + "query-string": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "dev": true, + "requires": { + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "peer": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "dependencies": { + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true + } + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "requires": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + } + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "dev": true, + "requires": { + "regenerate": "^1.4.2" + } + }, + "regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "dev": true + }, + "regenerator-transform": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", + "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regexp-tree": { + "version": "0.1.24", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.24.tgz", + "integrity": "sha512-s2aEVuLhvnVJW6s/iPgEGK6R+/xngd2jNQ+xy4bXNDKxZKJH6jpPHY6kVeVv1IeLCHgswRj+Kl3ELaDjG6V1iw==", + "dev": true + }, + "regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + } + }, + "regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true + }, + "regexpu-core": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.2.tgz", + "integrity": "sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw==", + "dev": true, + "requires": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsgen": "^0.7.1", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + } + }, + "regjsgen": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", + "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==", + "dev": true + }, + "regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true + } + } + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + }, + "resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + } + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", + "dev": true, + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, + "resolve-global": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz", + "integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==", + "dev": true, + "requires": { + "global-dirs": "^0.1.1" + } + }, + "resolve.exports": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", + "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", + "dev": true + }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", + "dev": true, + "requires": { + "lowercase-keys": "^1.0.0" + } + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true + }, + "right-pad": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/right-pad/-/right-pad-1.0.1.tgz", + "integrity": "sha512-bYBjgxmkvTAfgIYy328fmkwhp39v8lwVgWhhrzxPV3yHtcSqyYKe9/XOhvW48UFjATg3VuJbpsp5822ACNvkmw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "rxjs": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", + "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", + "dev": true, + "requires": { + "tslib": "^2.1.0" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "safe-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz", + "integrity": "sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==", + "dev": true, + "requires": { + "regexp-tree": "~0.1.1" + } + }, + "safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "peer": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "peer": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peer": true, + "requires": {} + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "peer": true + } + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "semver-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-2.0.0.tgz", + "integrity": "sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==", + "dev": true + }, + "serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "peer": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "slice-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "dev": true, + "requires": { + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", + "dev": true + } + } + }, + "sort-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", + "integrity": "sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==", + "dev": true, + "requires": { + "is-plain-obj": "^1.0.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", + "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==", + "dev": true + }, + "split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "dev": true, + "requires": { + "through": "2" + } + }, + "split2": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "dev": true, + "requires": { + "readable-stream": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + } + }, + "standard-version": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/standard-version/-/standard-version-9.5.0.tgz", + "integrity": "sha512-3zWJ/mmZQsOaO+fOlsa0+QK90pwhNd042qEcw6hKFNoLFs7peGyvPffpEBbK/DSGPbyOvli0mUIFv5A4qTjh2Q==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "conventional-changelog": "3.1.25", + "conventional-changelog-config-spec": "2.1.0", + "conventional-changelog-conventionalcommits": "4.6.3", + "conventional-recommended-bump": "6.1.0", + "detect-indent": "^6.0.0", + "detect-newline": "^3.1.0", + "dotgitignore": "^2.1.0", + "figures": "^3.1.0", + "find-up": "^5.0.0", + "git-semver-tags": "^4.0.0", + "semver": "^7.1.1", + "stringify-package": "^1.0.1", + "yargs": "^16.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + } + } + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==", + "dev": true + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "string-argv": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", + "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", + "dev": true + }, + "string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "string.prototype.matchall": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", + "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4" + } + }, + "string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "stringify-package": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stringify-package/-/stringify-package-1.0.1.tgz", + "integrity": "sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "requires": { + "min-indent": "^1.0.0" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true + }, + "terser": { + "version": "5.16.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.1.tgz", + "integrity": "sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw==", + "dev": true, + "peer": true, + "requires": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "peer": true + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "peer": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + } + } + }, + "terser-webpack-plugin": { + "version": "5.3.6", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz", + "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==", + "dev": true, + "peer": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.14", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", + "terser": "^5.14.1" + }, + "dependencies": { + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "peer": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "text-extensions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", + "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", + "dev": true + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, + "requires": { + "readable-stream": "3" + } + }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==", + "dev": true + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "dev": true + }, + "ts-jest": { + "version": "29.0.3", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.0.3.tgz", + "integrity": "sha512-Ibygvmuyq1qp/z3yTh9QTwVVAbFdDy/+4BtIQR2sp6baF2SJU/8CKK/hhnGIDY2L90Az2jIqTwZPnN2p+BweiQ==", + "dev": true, + "requires": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.1", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "7.x", + "yargs-parser": "^21.0.1" + }, + "dependencies": { + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true + } + } + }, + "ts-loader": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.2.tgz", + "integrity": "sha512-OmlC4WVmFv5I0PpaxYb+qGeGOdm5giHU7HwDDUjw59emP2UYMHy9fFSDcYgSNoH8sXcj4hGCSEhlDZ9ULeDraA==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4" + }, + "dependencies": { + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dev": true, + "requires": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + } + }, + "tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true + }, + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true + }, + "typescript": { + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", + "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==", + "dev": true + }, + "uglify-js": { + "version": "3.17.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", + "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "dev": true, + "optional": true + }, + "unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + }, + "update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "requires": { + "punycode": "^2.1.0" + } + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==", + "dev": true, + "requires": { + "prepend-http": "^2.0.0" + } + }, + "url-to-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", + "integrity": "sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A==", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true + }, + "v8-to-istanbul": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz", + "integrity": "sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0" + }, + "dependencies": { + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + } + } + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vscode-json-languageservice": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-4.2.1.tgz", + "integrity": "sha512-xGmv9QIWs2H8obGbWg+sIPI/3/pFgj/5OWBhNzs00BkYQ9UaB2F6JJaGB/2/YOZJ3BvLXQTC4Q7muqU25QgAhA==", + "dev": true, + "requires": { + "jsonc-parser": "^3.0.0", + "vscode-languageserver-textdocument": "^1.0.3", + "vscode-languageserver-types": "^3.16.0", + "vscode-nls": "^5.0.0", + "vscode-uri": "^3.0.3" + } + }, + "vscode-languageserver-textdocument": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz", + "integrity": "sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==", + "dev": true + }, + "vscode-languageserver-types": { + "version": "3.17.2", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.2.tgz", + "integrity": "sha512-zHhCWatviizPIq9B7Vh9uvrH6x3sK8itC84HkamnBWoDFJtzBf7SWlpLCZUit72b3os45h6RWQNC9xHRDF8dRA==", + "dev": true + }, + "vscode-nls": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.2.0.tgz", + "integrity": "sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==", + "dev": true + }, + "vscode-uri": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.7.tgz", + "integrity": "sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==", + "dev": true + }, + "walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "requires": { + "makeerror": "1.0.12" + } + }, + "watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "peer": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "webpack": { + "version": "5.75.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.75.0.tgz", + "integrity": "sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==", + "dev": true, + "peer": true, + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.10.0", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + } + }, + "webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "peer": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "dev": true, + "requires": { + "string-width": "^4.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + } + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true + }, + "yargs": { + "version": "17.6.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", + "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", + "dev": true, + "requires": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "dependencies": { + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true + } + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true + }, + "yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true + } + } +} diff --git a/package.json b/package.json index b058d0fb9..6cf698e75 100755 --- a/package.json +++ b/package.json @@ -1,31 +1,85 @@ { "name": "rudder-config-schema", - "version": "1.0.0", + "version": "1.1.8", + "description": "", + "main": "src/index.ts", "private": true, + "author": "RudderStack", + "license": "MIT", + "bugs": { + "url": "https://github.com/rudderlabs/rudder-config-schema/issues" + }, + "homepage": "https://github.com/rudderlabs/rudder-config-schema#readme", + "repository": { + "type": "git", + "url": "https://github.com/rudderlabs/rudder-config-schema.git" + }, "scripts": { - "test": "jest -- ./src/*", - "start": "node dist/server.js", - "build": "tsc" + "setup": "npm ci", + "test": "jest --coverage", + "test:silent": "npm run test -- --silent", + "release": "npx standard-version", + "check:lint": "eslint \"src/**/*.*\" -f json -o reports/eslint.json || exit 0", + "format": "prettier . --write", + "lint:fix": "eslint \"src/**/*.*\" --fix", + "prepare": "husky install", + "pre-commit": "npm run test && npx lint-staged", + "commit-msg": "commitlint --edit", + "commit": "git-cz", + "release:github": "DEBUG=conventional-github-releaser npx conventional-github-releaser -p angular" }, "devDependencies": { - "@swc/jest": "^0.2.21", - "@types/express": "^4.17.14", - "@types/glob": "^7.1.4", - "@types/jest": "^26.0.23", - "jest": "^28.1.0", - "rimraf": "^3.0.2", - "ts-loader": "^9.2.6", - "tsconfig-paths": "^3.8.0", - "typescript": "^4.4.3" + "@babel/core": "^7.20.5", + "@babel/eslint-parser": "^7.19.1", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.18.6", + "@babel/plugin-transform-object-assign": "^7.18.6", + "@babel/preset-env": "^7.20.2", + "@commitlint/config-conventional": "^17.3.0", + "@digitalroute/cz-conventional-changelog-for-jira": "^8.0.0", + "@swc/core": "^1.3.24", + "@swc/jest": "^0.2.24", + "@types/express": "^4.17.15", + "@types/glob": "^8.0.0", + "@types/jest": "^29.2.4", + "@typescript-eslint/eslint-plugin": "^5.47.0", + "@typescript-eslint/parser": "^5.47.0", + "commander": "^9.4.1", + "commitizen": "^4.2.6", + "commitlint": "^17.3.0", + "conventional-github-releaser": "^3.1.5", + "eslint": "^8.30.0", + "eslint-config-airbnb": "^19.0.4", + "eslint-config-airbnb-base": "^15.0.0", + "eslint-config-prettier": "^8.5.0", + "eslint-plugin-compat": "^4.0.2", + "eslint-plugin-import": "^2.26.0", + "eslint-plugin-json": "^3.1.0", + "eslint-plugin-unicorn": "^45.0.2", + "esm": "^3.2.25", + "husky": "^8.0.2", + "jest": "^29.3.1", + "lint-staged": "^13.1.0", + "prettier": "^2.8.1", + "standard-version": "^9.5.0", + "ts-jest": "^29.0.3", + "ts-loader": "^9.4.2", + "typescript": "^4.9.4" }, "dependencies": { - "ajv": "^8.6.3", - "ajv-draft-04": "^1.0.0", - "glob": "^7.1.7", - "ts-jest": "28.0.8" + "ajv": "^8.11.2", + "glob": "^8.0.3" }, "lint-staged": { - "*.{js,ts}": "eslint --cache --fix", "*.{json,js,ts,md}": "prettier --write" + }, + "config": { + "commitizen": { + "path": "./node_modules/@digitalroute/cz-conventional-changelog-for-jira", + "jiraMode": false, + "jiraOptional": true, + "skipScope": true, + "defaultType": "feat" + } } } diff --git a/scripts/action.py b/scripts/action.py deleted file mode 100644 index 9c25fd79c..000000000 --- a/scripts/action.py +++ /dev/null @@ -1,151 +0,0 @@ -#!/usr/bin/env python3 -import requests -import json -import os -import sys -import jsondiff - -######################### -# ENV VARIABLES FOT TESTING -# CONTROL_PLANE_URL="https://api.rudderstack.com" -# print(CONTROL_PLANE_URL) -# USERNAME="cbadmin" -# print(USERNAME) -# PASSWORD="testpassword" -# print(PASSWORD) -######################### - -######################### -# ENV VARIABLES -CONTROL_PLANE_URL=sys.argv[1] -print(CONTROL_PLANE_URL) -USERNAME=os.environ['API_USER'] #sys.argv[2] -print(USERNAME) -PASSWORD=os.environ['API_PASSWORD'] #sys.argv[3] -#print(PASSWORD) -######################### -# CONSTANTS -HEADER = {"Content-Type": "application/json"} -AUTH = (USERNAME, PASSWORD) -######################### - - -######################### -# UTIL METHODS -def parse_response(resp): - if resp.status_code >= 200 and resp.status_code <= 300: - return resp.status_code, resp.json() - else: - return resp.status_code, str(resp.content) - -def get_persisted_store(base_url, selector): - request_url = f'{base_url}/{selector}-definitions' - response = requests.get(request_url) - return json.loads(response.text) - -def get_config_definition(base_url, selector, name): - request_url = f'{base_url}/{selector}-definitions/{name}' - response = requests.get(request_url) - return response - -def get_file_content(name, selector): - file_selectors = ['db_config.json', 'ui_config.json', 'schema.json'] - - directory = f'./data/{selector}s/{name}' - available_files = os.listdir(directory) - - file_content = {} - - for file_selector in file_selectors: - if file_selector in available_files: - with open (f'{directory}/{file_selector}', 'r') as f: - file_content.update(json.loads(f.read())) - - return file_content - -def update_config_definition(selector, name, fileData): - url = f'{CONTROL_PLANE_URL}/{selector}-definitions/{name}' - resp = requests.post(url=url, headers=HEADER, data=json.dumps(fileData), auth=AUTH) - return parse_response(resp) - -def create_config_definition(selector, fileData): - url = f'{CONTROL_PLANE_URL}/{selector}-definitions/' - resp = requests.post(url=url, headers=HEADER, data=json.dumps(fileData), auth=AUTH) - return parse_response(resp) - -def update_config(data_diff, selector): - results = [] - for diff in data_diff: - name = diff['name'] - fileData = get_file_content(name, selector) - nameInConfig = fileData["name"] - - if diff['action'] == 'create': - url = f'{CONTROL_PLANE_URL}/{selector}-definitions' - else: - url = f'{CONTROL_PLANE_URL}/{selector}-definitions/{nameInConfig}' - - resp = requests.post(url=url, headers=HEADER, data=json.dumps(fileData), auth=AUTH) - status, response = parse_response(resp) - diff['update'] = {"status": status, "response": response} - # results.append(diff) - results.append(name) - - - return json.dumps(results, indent=2) - -def update_diff_db(selector): - final_report = [] - - ## data sets - current_items = os.listdir(f'./data/{selector}s') - - for item in current_items: - updated_data = get_file_content(item, selector) - persisted_data = get_config_definition(CONTROL_PLANE_URL, selector, updated_data["name"]) - - if persisted_data.status_code == 200: - diff = jsondiff.diff(json.loads(persisted_data.text), updated_data, marshal=True) - # ignore the $delete - values present in DB but missing in files. Anyways this doesn't get reflected in DB as keys are missing in files itself. - # Best practice is to make sure all keys are maintained in the config files irrespective of them being null. - del diff['$delete'] - - if len(diff.keys()) > 0: # changes exist - #print(diff) - status, response = update_config_definition(selector, updated_data["name"], updated_data) - final_report.append({"name": updated_data["name"], "action":"update", "status": status}) - else: - final_report.append({"name": updated_data["name"], "action":"na", "status": ""}) - - else: - status, response = create_config_definition(selector, updated_data) - final_report.append({"name": updated_data["name"], "action":"create", "status": status}) - - return final_report - -def get_stale_data(selector, report): - stale_config_report = [] - persisted_data_set = get_persisted_store(CONTROL_PLANE_URL, selector) - persisted_items = [item['name'] for item in persisted_data_set] - file_items = [item['name'] for item in report] - - for item in persisted_items: - if item not in file_items: - stale_config_report.append({item}) - - return stale_config_report - -if __name__ == '__main__': - print("Running Destination Definitions Updates") - dest_final_report = update_diff_db('destination') - print("Destination Definition Update Report") - print(dest_final_report) - print("Destination Stale Config Report") - print(get_stale_data('destination', dest_final_report)) - - print("Running Source Definitions Updates") - src_final_report = update_diff_db('source') - print("Source Definition Update Report") - print(src_final_report) - print("Source Stale Config Report") - print(get_stale_data('source', src_final_report)) diff --git a/scripts/deployToDB.py b/scripts/deployToDB.py new file mode 100644 index 000000000..78d383dfe --- /dev/null +++ b/scripts/deployToDB.py @@ -0,0 +1,152 @@ +#!/usr/bin/env python3 +import requests +import json +import os +import sys +import jsondiff + +######################### +# ENV VARIABLES FOT TESTING +# CONTROL_PLANE_URL="https://api.rudderstack.com" +# print(CONTROL_PLANE_URL) +# USERNAME="cbadmin" +# print(USERNAME) +# PASSWORD="testpassword" +# print(PASSWORD) +######################### + +######################### +# ENV VARIABLES +CONTROL_PLANE_URL=sys.argv[1] +print(CONTROL_PLANE_URL) +USERNAME=os.environ['API_USER'] #sys.argv[2] +print(USERNAME) +PASSWORD=os.environ['API_PASSWORD'] #sys.argv[3] +#print(PASSWORD) +######################### +# CONSTANTS +HEADER = {"Content-Type": "application/json"} +AUTH = (USERNAME, PASSWORD) +CONFIG_DIR = 'src/configurations' +######################### + + +######################### +# UTIL METHODS +def parse_response(resp): + if resp.status_code >= 200 and resp.status_code <= 300: + return resp.status_code, resp.json() + else: + return resp.status_code, str(resp.content) + +def get_persisted_store(base_url, selector): + request_url = f'{base_url}/{selector}-definitions' + response = requests.get(request_url) + return json.loads(response.text) + +def get_config_definition(base_url, selector, name): + request_url = f'{base_url}/{selector}-definitions/{name}' + response = requests.get(request_url) + return response + +def get_file_content(name, selector): + file_selectors = ['db-config.json', 'ui-config.json', 'schema.json'] + + directory = f'./{CONFIG_DIR}/{selector}s/{name}' + available_files = os.listdir(directory) + + file_content = {} + + for file_selector in file_selectors: + if file_selector in available_files: + with open (f'{directory}/{file_selector}', 'r') as f: + file_content.update(json.loads(f.read())) + + return file_content + +def update_config_definition(selector, name, fileData): + url = f'{CONTROL_PLANE_URL}/{selector}-definitions/{name}' + resp = requests.post(url=url, headers=HEADER, data=json.dumps(fileData), auth=AUTH) + return parse_response(resp) + +def create_config_definition(selector, fileData): + url = f'{CONTROL_PLANE_URL}/{selector}-definitions/' + resp = requests.post(url=url, headers=HEADER, data=json.dumps(fileData), auth=AUTH) + return parse_response(resp) + +def update_config(data_diff, selector): + results = [] + for diff in data_diff: + name = diff['name'] + fileData = get_file_content(name, selector) + nameInConfig = fileData["name"] + + if diff['action'] == 'create': + url = f'{CONTROL_PLANE_URL}/{selector}-definitions' + else: + url = f'{CONTROL_PLANE_URL}/{selector}-definitions/{nameInConfig}' + + resp = requests.post(url=url, headers=HEADER, data=json.dumps(fileData), auth=AUTH) + status, response = parse_response(resp) + diff['update'] = {"status": status, "response": response} + # results.append(diff) + results.append(name) + + + return json.dumps(results, indent=2) + +def update_diff_db(selector): + final_report = [] + + ## data sets + current_items = os.listdir(f'./{CONFIG_DIR}/{selector}s') + + for item in current_items: + updated_data = get_file_content(item, selector) + persisted_data = get_config_definition(CONTROL_PLANE_URL, selector, updated_data["name"]) + + if persisted_data.status_code == 200: + diff = jsondiff.diff(json.loads(persisted_data.text), updated_data, marshal=True) + # ignore the $delete - values present in DB but missing in files. Anyways this doesn't get reflected in DB as keys are missing in files itself. + # Best practice is to make sure all keys are maintained in the config files irrespective of them being null. + del diff['$delete'] + + if len(diff.keys()) > 0: # changes exist + #print(diff) + status, response = update_config_definition(selector, updated_data["name"], updated_data) + final_report.append({"name": updated_data["name"], "action":"update", "status": status}) + else: + final_report.append({"name": updated_data["name"], "action":"na", "status": ""}) + + else: + status, response = create_config_definition(selector, updated_data) + final_report.append({"name": updated_data["name"], "action":"create", "status": status}) + + return final_report + +def get_stale_data(selector, report): + stale_config_report = [] + persisted_data_set = get_persisted_store(CONTROL_PLANE_URL, selector) + persisted_items = [item['name'] for item in persisted_data_set] + file_items = [item['name'] for item in report] + + for item in persisted_items: + if item not in file_items: + stale_config_report.append({item}) + + return stale_config_report + +if __name__ == '__main__': + print("Running Destination Definitions Updates") + dest_final_report = update_diff_db('destination') + print("Destination Definition Update Report") + print(dest_final_report) + print("Destination Stale Config Report") + print(get_stale_data('destination', dest_final_report)) + + print("Running Source Definitions Updates") + src_final_report = update_diff_db('source') + print("Source Definition Update Report") + print(src_final_report) + print("Source Stale Config Report") + print(get_stale_data('source', src_final_report)) diff --git a/server.ts b/server.ts deleted file mode 100644 index 0b06388d9..000000000 --- a/server.ts +++ /dev/null @@ -1,11 +0,0 @@ -import express from 'express'; - -const app = express(); -const PORT = process.env.SERVER_PORT || 8432; - -app.use(express.json()); - -app.get('/', (req,res)=> { - res.send(`Server is listening on port ${PORT}`); -}) -app.listen(PORT); \ No newline at end of file diff --git a/src/configurations/destinations/active_campaign/db-config.json b/src/configurations/destinations/active_campaign/db-config.json new file mode 100644 index 000000000..96afb277a --- /dev/null +++ b/src/configurations/destinations/active_campaign/db-config.json @@ -0,0 +1,28 @@ +{ + "name": "ACTIVE_CAMPAIGN", + "displayName": "ActiveCampaign", + "config": { + "transformAt": "router", + "transformAtV1": "router", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["identify", "page", "screen", "track"], + "destConfig": { + "defaultConfig": ["apiUrl", "apiKey", "eventKey", "actid"] + }, + "secretKeys": ["apiKey", "eventKey", "actid"] + } +} diff --git a/data/destinations/awin/metadata.json b/src/configurations/destinations/active_campaign/metadata.json similarity index 100% rename from data/destinations/awin/metadata.json rename to src/configurations/destinations/active_campaign/metadata.json diff --git a/src/configurations/destinations/active_campaign/schema.json b/src/configurations/destinations/active_campaign/schema.json new file mode 100644 index 000000000..64a80dc3e --- /dev/null +++ b/src/configurations/destinations/active_campaign/schema.json @@ -0,0 +1,25 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["apiUrl", "apiKey"], + "properties": { + "apiUrl": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$" + }, + "apiKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*" + }, + "actid": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "eventKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } +} diff --git a/data/destinations/active_campaign/ui_config.json b/src/configurations/destinations/active_campaign/ui-config.json similarity index 100% rename from data/destinations/active_campaign/ui_config.json rename to src/configurations/destinations/active_campaign/ui-config.json diff --git a/src/configurations/destinations/adj/db-config.json b/src/configurations/destinations/adj/db-config.json new file mode 100644 index 000000000..860d53cf5 --- /dev/null +++ b/src/configurations/destinations/adj/db-config.json @@ -0,0 +1,46 @@ +{ + "name": "ADJ", + "displayName": "Adjust", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "appToken", + "customMappings", + "delay", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "unity", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["track"], + "destConfig": { + "defaultConfig": [ + "appToken", + "customMappings", + "delay", + "environment", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption", + "partnerParamsKeys" + ], + "android": ["useNativeSDK"], + "ios": ["useNativeSDK"], + "flutter": ["useNativeSDK"], + "unity": ["useNativeSDK"] + }, + "secretKeys": [] + } +} diff --git a/data/destinations/axeptio/metadata.json b/src/configurations/destinations/adj/metadata.json similarity index 100% rename from data/destinations/axeptio/metadata.json rename to src/configurations/destinations/adj/metadata.json diff --git a/data/sources/mailjet/schema.json b/src/configurations/destinations/adj/schema.json similarity index 100% rename from data/sources/mailjet/schema.json rename to src/configurations/destinations/adj/schema.json diff --git a/src/configurations/destinations/adj/ui-config.json b/src/configurations/destinations/adj/ui-config.json new file mode 100644 index 000000000..675c3bc9b --- /dev/null +++ b/src/configurations/destinations/adj/ui-config.json @@ -0,0 +1,135 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "APP Token", + "value": "appToken", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid App Token", + "required": true, + "placeholder": "e.g: bSjsdGYsOo9sasdjw23Shj" + }, + { + "type": "checkbox", + "label": "Send to Production Environment on Adjust", + "value": "environment", + "default": false + } + ] + }, + { + "title": "Native SDK", + "fields": [ + { + "type": "checkbox", + "label": "Use device-mode to send events", + "value": "useNativeSDK", + "default": false + } + ] + }, + { + "title": "Client-side Events Filtering", + "sectionNote": "Applicable only for device-mode integrations. If enabled, it works only with either allowlisted or denylisted events", + "fields": [ + { + "type": "singleSelect", + "value": "eventFilteringOption", + "required": false, + "options": [ + { + "name": "Disable", + "value": "disable" + }, + { + "name": "Allowlist", + "value": "whitelistedEvents" + }, + { + "name": "Denylist", + "value": "blacklistedEvents" + } + ], + "defaultOption": { + "name": "Disable", + "value": "disable" + } + }, + { + "type": "dynamicCustomForm", + "value": "whitelistedEvents", + "label": "Allowlist", + "customFields": [ + { + "type": "textInput", + "value": "eventName", + "required": false, + "placeholder": "e.g: Anonymous Page Visit" + } + ] + }, + { + "type": "dynamicCustomForm", + "value": "blacklistedEvents", + "label": "Denylist", + "customFields": [ + { + "type": "textInput", + "value": "eventName", + "required": false, + "placeholder": "e.g: Credit Card Added" + } + ] + } + ] + }, + { + "title": "Map Events to Adjust Event Tokens", + "fields": [ + { + "type": "dynamicForm", + "labelLeft": "Event Name", + "labelRight": "Event Token", + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g: product_purchased", + "placeholderRight": "e.g: xcdrf5", + "value": "customMappings" + } + ] + }, + { + "title": "Rudderstack Parameters to Partner Parameters", + "fields": [ + { + "type": "dynamicForm", + "labelLeft": "Rudderstack Properties", + "labelRight": "Adjust Partner Parameters", + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g: revenue", + "placeholderRight": "e.g: value", + "value": "partnerParamsKeys", + "footerNote": "RudderStack will take the values for these properties from the track call and map them to the corresponding Adjust Partner Parameter keys." + } + ] + }, + { + "title": "Delay Time before SDK initialization", + "fields": [ + { + "type": "textInput", + "label": "Delay Time (in seconds)", + "value": "delay", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": false, + "placeholder": "7" + } + ] + } + ] +} diff --git a/src/configurations/destinations/adobe_analytics/db-config.json b/src/configurations/destinations/adobe_analytics/db-config.json new file mode 100644 index 000000000..d4a16ef1d --- /dev/null +++ b/src/configurations/destinations/adobe_analytics/db-config.json @@ -0,0 +1,103 @@ +{ + "name": "ADOBE_ANALYTICS", + "displayName": "Adobe Analytics", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "trackingServerUrl", + "reportSuiteIds", + "sslHeartbeat", + "heartbeatTrackingServerUrl", + "eventsToTypes", + "marketingCloudOrgId", + "dropVisitorId", + "trackingServerSecureUrl", + "timestampOption", + "preferVisitorId", + "rudderEventsToAdobeEvents", + "trackPageName", + "contextDataMapping", + "contextDataPrefix", + "eVarMapping", + "hierMapping", + "listMapping", + "listDelimiter", + "customPropsMapping", + "propsDelimiter", + "eventMerchEventToAdobeEvent", + "eventMerchProperties", + "productMerchEventToAdobeEvent", + "productMerchProperties", + "productMerchEvarsMap", + "productIdentifier", + "proxyNormalUrl", + "proxyHeartbeatUrl", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "cloudSource", + "flutter", + "cordova" + ], + "destConfig": { + "defaultConfig": [ + "trackingServerUrl", + "reportSuiteIds", + "sslHeartbeat", + "heartbeatTrackingServerUrl", + "useUtf8Charset", + "useSecureServerSide", + "eventsToTypes", + "marketingCloudOrgId", + "dropVisitorId", + "trackingServerSecureUrl", + "timestampOption", + "preferVisitorId", + "noFallbackVisitorId", + "timestampOptionalReporting", + "rudderEventsToAdobeEvents", + "trackPageName", + "contextDataMapping", + "contextDataPrefix", + "useLegacyLinkName", + "pageNameFallbackTostring", + "mobileEventMapping", + "sendFalseValues", + "eVarMapping", + "hierMapping", + "listMapping", + "listDelimiter", + "customPropsMapping", + "propsDelimiter", + "eventMerchEventToAdobeEvent", + "eventMerchProperties", + "productMerchEventToAdobeEvent", + "productMerchProperties", + "productMerchEvarsMap", + "productIdentifier", + "proxyNormalUrl", + "proxyHeartbeatUrl", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "web": ["useNativeSDK", "oneTrustCookieCategories"], + "android": ["useNativeSDK"], + "ios": ["useNativeSDK"] + } + } +} diff --git a/data/destinations/mailjet/metadata.json b/src/configurations/destinations/adobe_analytics/metadata.json similarity index 100% rename from data/destinations/mailjet/metadata.json rename to src/configurations/destinations/adobe_analytics/metadata.json diff --git a/src/configurations/destinations/adobe_analytics/schema.json b/src/configurations/destinations/adobe_analytics/schema.json new file mode 100644 index 000000000..561862ac5 --- /dev/null +++ b/src/configurations/destinations/adobe_analytics/schema.json @@ -0,0 +1,376 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "required": ["reportSuiteIds"], + "type": "object", + "properties": { + "trackingServerUrl": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,100})$" + }, + "trackingServerSecureUrl": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,100})$" + }, + "reportSuiteIds": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,300})$" + }, + "sslHeartbeat": { + "type": "boolean" + }, + "heartbeatTrackingServerUrl": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,100})$" + }, + "useUtf8Charset": { + "type": "boolean" + }, + + "useSecureServerSide": { + "type": "boolean" + }, + + "proxyNormalUrl": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,100})$" + }, + + "proxyHeartbeatUrl": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,100})$" + }, + "eventsToTypes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(initHeartbeat|heartbeatPlaybackStarted|heartbeatPlaybackPaused|heartbeatPlaybackResumed|heartbeatPlaybackCompleted|heartbeatPlaybackInterrupted|heartbeatContentStarted|heartbeatContentComplete|heartbeatAdBreakStarted|heartbeatAdBreakCompleted|heartbeatAdStarted|heartbeatAdCompleted|heartbeatAdSkipped|heartbeatSeekStarted|heartbeatSeekCompleted|heartbeatBufferStarted|heartbeatBufferCompleted|heartbeatQualityUpdated|heartbeatUpdatePlayhead)$" + } + } + } + }, + "marketingCloudOrgId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "dropVisitorId": { + "type": "boolean" + }, + "timestampOption": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(disabled|hybrid|optional|enabled)$" + }, + "timestampOptionalReporting": { + "type": "boolean" + }, + "noFallbackVisitorId": { + "type": "boolean" + }, + "preferVisitorId": { + "type": "boolean" + }, + "rudderEventsToAdobeEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "trackPageName": { + "type": "boolean" + }, + "contextDataMapping": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "contextDataPrefix": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "useLegacyLinkName": { + "type": "boolean" + }, + "pageNameFallbackTostring": { + "type": "boolean" + }, + "mobileEventMapping": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "sendFalseValues": { + "type": "boolean" + }, + "eVarMapping": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "hierMapping": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "listMapping": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "listDelimiter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "^$|(^env[.].+)|^(\\||:|,|;|/)$" + } + } + } + }, + "customPropsMapping": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "propsDelimiter": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "^$|(^env[.].+)|^(\\||:|,|;|/)$" + } + } + } + }, + "eventMerchEventToAdobeEvent": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "eventMerchProperties": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventMerchProperties": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "productMerchEventToAdobeEvent": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "productMerchProperties": { + "type": "array", + "items": { + "type": "object", + "properties": { + "productMerchProperties": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "productMerchEvarsMap": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "productIdentifier": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(name|id|sku)$" + }, + "useNativeSDK": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + }, + "ios": { + "type": "boolean" + }, + "android": { + "type": "boolean" + } + } + }, + "eventFilteringOption": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + }, + "whitelistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "blacklistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "oneTrustCookieCategories": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } + } + } +} diff --git a/src/configurations/destinations/adobe_analytics/ui-config.json b/src/configurations/destinations/adobe_analytics/ui-config.json new file mode 100644 index 000000000..f5ecf8aa4 --- /dev/null +++ b/src/configurations/destinations/adobe_analytics/ui-config.json @@ -0,0 +1,613 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Tracking Server URL", + "value": "trackingServerUrl", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,100})$", + "regexErrorMessage": "Please put a valid url" + }, + { + "type": "textInput", + "label": "Tracking Server Secure URL", + "value": "trackingServerSecureUrl", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,100})$", + "regexErrorMessage": "Please put a valid url" + }, + { + "type": "textInput", + "label": "Report Suite ID(s)", + "value": "reportSuiteIds", + "required": true, + "footerNote": "You can add multiple report suite ids by separated by commas." + }, + { + "type": "checkbox", + "label": "Check for Heartbeat calls to be made over https", + "value": "sslHeartbeat", + "default": true + }, + { + "type": "textInput", + "label": "Heartbeat Tracking Server URL", + "value": "heartbeatTrackingServerUrl", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,100})$", + "regexErrorMessage": "Please put a valid url" + }, + { + "type": "checkbox", + "label": "Use UTF-8 charset", + "value": "useUtf8Charset", + "default": true + }, + { + "type": "checkbox", + "label": "Use Secure URL for Server-side", + "value": "useSecureServerSide", + "default": true + }, + { + "type": "textInput", + "label": "Adobe Analytics Javascript SDK URL", + "value": "proxyNormalUrl", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,100})$", + "regexErrorMessage": "Please put a valid url" + }, + { + "type": "textInput", + "label": "Adobe Analytics Hearbeat SDK URL", + "value": "proxyHeartbeatUrl", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,100})$", + "regexErrorMessage": "Please put a valid url" + } + ] + }, + { + "title": "Adobe Heartbeat Settings", + "fields": [ + { + "type": "dynamicSelectForm", + "label": "Map your Rudder video events with types of Video Events", + "labelLeft": "Video Event Name", + "labelRight": "Type of Video Event", + "value": "eventsToTypes", + "keyLeft": "from", + "keyRight": "to", + "required": false, + "placeholderLeft": "e.g. video playback started", + "options": [ + { + "name": "Initialise Heartbeat", + "value": "initHeartbeat" + }, + { + "name": "Heartbeat Playback Started", + "value": "heartbeatPlaybackStarted" + }, + { + "name": "Heartbeat Playback Paused", + "value": "heartbeatPlaybackPaused" + }, + { + "name": "Heartbeat Playback Resumed", + "value": "heartbeatPlaybackResumed" + }, + { + "name": "Heartbeat Playback Completed", + "value": "heartbeatPlaybackCompleted" + }, + { + "name": "Heartbeat Playback Interrupted", + "value": "heartbeatPlaybackInterrupted" + }, + { + "name": "Heartbeat Content Start", + "value": "heartbeatContentStarted" + }, + { + "name": "Heartbeat Content Complete", + "value": "heartbeatContentComplete" + }, + { + "name": "Heartbeat Ad BreakStarted", + "value": "heartbeatAdBreakStarted" + }, + { + "name": "Heartbeat Ad Break Completed", + "value": "heartbeatAdBreakCompleted" + }, + { + "name": "Heartbeat Ad Start", + "value": "heartbeatAdStarted" + }, + { + "name": "Heartbeat Ad Completed", + "value": "heartbeatAdCompleted" + }, + { + "name": "Heartbeat Ad Skipped", + "value": "heartbeatAdSkipped" + }, + { + "name": "Heartbeat Seek Started", + "value": "heartbeatSeekStarted" + }, + { + "name": "Heartbeat Seek Completed", + "value": "heartbeatSeekCompleted" + }, + { + "name": "Heartbeat Buffer Started", + "value": "heartbeatBufferStarted" + }, + { + "name": "Heartbeat Buffer Completed", + "value": "heartbeatBufferCompleted" + }, + { + "name": "Heartbeat Quality Updated", + "value": "heartbeatQualityUpdated" + }, + { + "name": "Heartbeat Playhead Update", + "value": "heartbeatUpdatePlayhead" + } + ] + } + ] + }, + { + "title": "Identity Resolution", + "fields": [ + { + "type": "textInput", + "label": "Marketing Cloud Organization Id", + "value": "marketingCloudOrgId" + }, + { + "type": "checkbox", + "label": "Drop Visitor Id", + "value": "dropVisitorId", + "default": true + } + ] + }, + { + "title": "Timestamps", + "fields": [ + { + "type": "singleSelect", + "label": "Timestamp Option", + "value": "timestampOption", + "required": false, + "options": [ + { + "name": "Timestamp Hybrid", + "value": "hybrid" + }, + { + "name": "Timestamp Optional", + "value": "optional" + }, + { + "name": "Timestamp Enabled", + "value": "enabled" + }, + { + "name": "Timestamp Disabled", + "value": "disabled" + } + ], + "defaultOption": { + "name": "Timestamp Disabled", + "value": "disabled" + } + }, + { + "type": "checkbox", + "label": "Send Both Timestamp and VisitorID for Timestamp Optional Reporting Suites", + "value": "timestampOptionalReporting", + "default": false + }, + { + "type": "checkbox", + "label": "No Fallbacks for Visitor ID", + "value": "noFallbackVisitorId", + "default": false + }, + { + "type": "checkbox", + "label": "Prefer Visitor Id", + "value": "preferVisitorId", + "default": false + } + ] + }, + { + "title": "Event and Property Mappings", + "fields": [ + { + "type": "dynamicForm", + "label": "Map Rudder Events to Adobe Custom Events", + "value": "rudderEventsToAdobeEvents", + "required": false, + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g. Product Searched", + "placeholderRight": "event1,event2", + "labelLeft": "Event Name", + "labelRight": "Adobe Custom Event", + "footerNote": "Add one event or many events for adobe custom events separated by comma" + }, + { + "type": "checkbox", + "label": "Enable pageName for Track Events", + "value": "trackPageName", + "default": true + }, + { + "type": "dynamicForm", + "label": "Map Rudder Context data to Adobe Context Data", + "value": "contextDataMapping", + "required": false, + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g. page.name", + "placeholderRight": "pName", + "labelLeft": "Context Data path", + "labelRight": "Adobe Context Data property name", + "footerNote": "Add properties under context key in rudder payload" + }, + { + "type": "textInput", + "placeholder": "eg: rudder-", + "value": "contextDataPrefix", + "label": "Prefix to add before all contextData property.", + "required": false + }, + { + "type": "checkbox", + "label": "Use Legacy LinkName", + "value": "useLegacyLinkName", + "default": true + }, + { + "type": "checkbox", + "label": "Page Name Fallback to Screen", + "value": "pageNameFallbackTostring", + "default": true + }, + { + "type": "dynamicForm", + "label": "Map Rudder Mobile events", + "value": "mobileEventMapping", + "required": false, + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g. page.name", + "placeholderRight": "pName", + "labelLeft": "Context Data path", + "labelRight": "Adobe Context Data property name", + "footerNote": "Add properties under context key in rudder payload" + }, + { + "type": "checkbox", + "label": "Send false value from properties ", + "value": "sendFalseValues", + "default": true + }, + { + "type": "dynamicForm", + "label": "Map Rudder Properties to Adobe eVars", + "value": "eVarMapping", + "required": false, + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g. phone", + "placeholderRight": "2", + "labelLeft": "Rudder Property", + "labelRight": "eVar Index", + "footerNote": "Only give the index of the eVar" + }, + { + "type": "dynamicForm", + "label": "Map Rudder Properties to Adobe Hierarchy properties", + "value": "hierMapping", + "required": false, + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g. phone", + "placeholderRight": "2", + "labelLeft": "Rudder Property", + "labelRight": "hier Index", + "footerNote": "Only give the index of the hier" + }, + { + "type": "dynamicForm", + "label": "Map Rudder Properties to Adobe list properties", + "value": "listMapping", + "required": false, + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g. listProp", + "placeholderRight": "2", + "labelLeft": "Rudder Property", + "labelRight": "list Index", + "footerNote": "The list properties should be an array/string separated by commas" + }, + { + "type": "dynamicSelectForm", + "label": "Map your Rudder Property with Delimiters for list properties", + "labelLeft": "Rudder Property", + "labelRight": "List Delimiter", + "value": "listDelimiter", + "keyLeft": "from", + "keyRight": "to", + "required": false, + "placeholderLeft": "e.g. prop", + "options": [ + { + "name": "|", + "value": "|" + }, + { + "name": ":", + "value": ":" + }, + { + "name": ",", + "value": "," + }, + { + "name": ";", + "value": ";" + }, + { + "name": "/", + "value": "/" + } + ], + "defaultOption": { + "name": ",", + "value": "," + } + }, + { + "type": "dynamicForm", + "label": "Map Rudder Properties to Adobe Custom properties", + "value": "customPropsMapping", + "required": false, + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g phone", + "placeholderRight": "2", + "labelLeft": "Rudder Property", + "labelRight": "prop Index", + "footerNote": "Only give the index of the prop" + }, + { + "type": "dynamicSelectForm", + "label": "Map your Rudder Property with Delimiters for Adobe Custom properties", + "labelLeft": "Rudder Property", + "labelRight": "List Delimiter", + "value": "propsDelimiter", + "keyLeft": "from", + "keyRight": "to", + "required": false, + "placeholderLeft": "e.g. phone", + "options": [ + { + "name": "|", + "value": "|" + }, + { + "name": ":", + "value": ":" + }, + { + "name": ",", + "value": "," + }, + { + "name": ";", + "value": ";" + }, + { + "name": "/", + "value": "/" + } + ], + "defaultOption": { + "name": ",", + "value": "," + } + } + ] + }, + { + "title": "Merchandise Event Level Settings", + "fields": [ + { + "type": "dynamicForm", + "label": "Map Rudder Events to Adobe Merchandise events", + "value": "eventMerchEventToAdobeEvent", + "required": false, + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g Order Completed", + "placeholderRight": "event1", + "labelLeft": "Rudder Event", + "labelRight": "Adobe Event" + }, + { + "type": "dynamicCustomForm", + "value": "eventMerchProperties", + "customFields": [ + { + "type": "textInput", + "placeholder": "e.g. currency", + "value": "eventMerchProperties", + "label": "Currency/Incremental properties to add to merchandise events at event level", + "required": false + } + ] + } + ] + }, + { + "title": "Merchandise Product Level Settings", + "fields": [ + { + "type": "dynamicForm", + "label": "Map Rudder Events to Adobe Merchandise events", + "value": "productMerchEventToAdobeEvent", + "required": false, + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g Order Completed", + "placeholderRight": "event1", + "labelLeft": "Rudder Event", + "labelRight": "Adobe Event" + }, + { + "type": "dynamicCustomForm", + "value": "productMerchProperties", + "customFields": [ + { + "type": "textInput", + "placeholder": "e.g. currency", + "value": "productMerchProperties", + "label": "Currency/Incremental properties to add to merchandise events at product level", + "required": false + } + ] + }, + { + "type": "dynamicForm", + "label": "Map Rudder Properties to eVars at product level", + "value": "productMerchEvarsMap", + "required": false, + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g. product_id", + "placeholderRight": "2", + "labelLeft": "Rudder Property", + "labelRight": "eVar Index" + }, + { + "type": "singleSelect", + "label": "Product Identifier", + "value": "productIdentifier", + "required": false, + "footerNote": "Adobe Analytics only accepts a single product identifier. Use this option to choose whether we send product name, id, or sku.", + "options": [ + { + "name": "Product Name", + "value": "name" + }, + { + "name": "ID", + "value": "id" + }, + { + "name": "SKU", + "value": "sku" + } + ], + "defaultOption": { + "name": "Product Name", + "value": "name" + } + } + ] + }, + { + "title": "Native SDK", + "fields": [ + { + "type": "checkbox", + "label": "Use device-mode to send events", + "value": "useNativeSDK", + "default": true + } + ] + }, + { + "title": "Client-side Events Filtering", + "sectionNote": "Applicable only for device-mode integrations. If enabled, it works only with either allowlisted or denylisted events", + "fields": [ + { + "type": "singleSelect", + "value": "eventFilteringOption", + "required": false, + "options": [ + { + "name": "Disable", + "value": "disable" + }, + { + "name": "Allowlist", + "value": "whitelistedEvents" + }, + { + "name": "Denylist", + "value": "blacklistedEvents" + } + ], + "defaultOption": { + "name": "Disable", + "value": "disable" + } + }, + { + "type": "dynamicCustomForm", + "value": "whitelistedEvents", + "label": "Allowlist", + "customFields": [ + { + "type": "textInput", + "value": "eventName", + "required": false, + "placeholder": "e.g: Anonymous Page Visit" + } + ] + }, + { + "type": "dynamicCustomForm", + "value": "blacklistedEvents", + "label": "Denylist", + "customFields": [ + { + "type": "textInput", + "value": "eventName", + "required": false, + "placeholder": "e.g: Credit Card Added" + } + ] + } + ] + }, + { + "title": "Consent Settings", + "fields": [ + { + "type": "dynamicCustomForm", + "value": "oneTrustCookieCategories", + "label": "OneTrust Cookie Categories", + "customFields": [ + { + "type": "textInput", + "placeholder": "Marketing", + "value": "oneTrustCookieCategory", + "label": "Category Name/ID", + "required": false + } + ] + } + ] + } + ] +} diff --git a/src/configurations/destinations/adroll/db-config.json b/src/configurations/destinations/adroll/db-config.json new file mode 100644 index 000000000..be9e4fb0a --- /dev/null +++ b/src/configurations/destinations/adroll/db-config.json @@ -0,0 +1,36 @@ +{ + "name": "ADROLL", + "displayName": "Adroll", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "advId", + "pixId", + "eventsMap", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": ["web"], + "supportedMessageTypes": ["identify", "track", "page"], + "destConfig": { + "defaultConfig": [ + "advId", + "pixId", + "eventsMap", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "web": ["useNativeSDK", "oneTrustCookieCategories"] + }, + "secretKeys": [] + }, + "options": { + "isBeta": true + } +} diff --git a/data/destinations/microsoft_clarity/metadata.json b/src/configurations/destinations/adroll/metadata.json similarity index 100% rename from data/destinations/microsoft_clarity/metadata.json rename to src/configurations/destinations/adroll/metadata.json diff --git a/src/configurations/destinations/adroll/schema.json b/src/configurations/destinations/adroll/schema.json new file mode 100644 index 000000000..49782ab03 --- /dev/null +++ b/src/configurations/destinations/adroll/schema.json @@ -0,0 +1,70 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "required": ["advId", "pixId"], + "type": "object", + "properties": { + "advId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "pixId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "useNativeSDK": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "eventFilteringOption": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + }, + "whitelistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "blacklistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "oneTrustCookieCategories": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } + } + } +} diff --git a/data/destinations/adroll/ui_config.json b/src/configurations/destinations/adroll/ui-config.json similarity index 100% rename from data/destinations/adroll/ui_config.json rename to src/configurations/destinations/adroll/ui-config.json diff --git a/src/configurations/destinations/af/db-config.json b/src/configurations/destinations/af/db-config.json new file mode 100644 index 000000000..b82f8d6b2 --- /dev/null +++ b/src/configurations/destinations/af/db-config.json @@ -0,0 +1,50 @@ +{ + "name": "AF", + "displayName": "AppsFlyer", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "devKey", + "appleAppId", + "useRichEventName", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["track", "screen", "page"], + "destConfig": { + "defaultConfig": [ + "devKey", + "sharingFilter", + "useRichEventName", + "androidAppId", + "appleAppId", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption", + "statusCallbackUrls", + "apiToken" + ], + "android": ["useNativeSDK"], + "ios": ["useNativeSDK"], + "reactnative": ["useNativeSDK"], + "cordova": ["useNativeSDK"] + }, + "secretKeys": [] + } +} diff --git a/data/destinations/olark/metadata.json b/src/configurations/destinations/af/metadata.json similarity index 100% rename from data/destinations/olark/metadata.json rename to src/configurations/destinations/af/metadata.json diff --git a/src/configurations/destinations/af/schema.json b/src/configurations/destinations/af/schema.json new file mode 100644 index 000000000..99fa2bf89 --- /dev/null +++ b/src/configurations/destinations/af/schema.json @@ -0,0 +1,73 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["devKey"], + "properties": { + "devKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "androidAppId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "appleAppId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "useRichEventName": { + "type": "boolean" + }, + "sharingFilter": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "useNativeSDK": { + "type": "object", + "properties": { + "android": { + "type": "boolean" + }, + "ios": { + "type": "boolean" + }, + "reactnative": { + "type": "boolean" + }, + "cordova": { + "type": "boolean" + } + } + }, + "eventFilteringOption": { + "type": "string", + "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + }, + "whitelistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "blacklistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } +} diff --git a/src/configurations/destinations/af/ui-config.json b/src/configurations/destinations/af/ui-config.json new file mode 100644 index 000000000..6cda39f21 --- /dev/null +++ b/src/configurations/destinations/af/ui-config.json @@ -0,0 +1,143 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "AppsFlyer Dev Key", + "value": "devKey", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid AppsFlyer Dev Key", + "required": true, + "placeholder": "e.g: bSjsdGYsOo9sjw23Shj" + }, + { + "type": "textInput", + "label": "Android App ID", + "value": "androidAppId", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Android App ID", + "required": false, + "placeholder": "com.mypackage.example", + "footerNote": "Field is required if os.name is set to android" + }, + { + "type": "textInput", + "label": "Apple App ID", + "value": "appleAppId", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Apple App ID", + "required": false, + "placeholder": "123456789", + "footerNote": "Field is required if os.name is set to any of the Apple OS names (ios, ipados, watchos, tvos etc.)" + }, + { + "type": "checkbox", + "label": "Use Rich Event Names", + "value": "useRichEventName", + "footerNote": "To include screen/page name in Screen/Page event names (ex: Viewed Contacts Page)", + "default": false + }, + { + "type": "textInput", + "label": "Sharing Filter", + "value": "sharingFilter", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid sharing filter. Default value is used", + "required": false, + "placeholder": "['googleadwords_int', 'adcolony_int']", + "default": "all", + "footerNote": "Use the filter to fulfill regulatory requirements like GDPR and CCPA, to comply with user opt-out mechanisms, and for other business logic reasons. " + } + ] + }, + { + "title": "Native SDK", + "fields": [ + { + "type": "checkbox", + "label": "Use device-mode to send events", + "value": "useNativeSDK", + "default": true + } + ] + }, + { + "title": "Client-side Events Filtering", + "sectionNote": "Applicable only for device-mode integrations. If enabled, it works only with either allowlisted or denylisted events", + "fields": [ + { + "type": "singleSelect", + "value": "eventFilteringOption", + "required": false, + "options": [ + { + "name": "Disable", + "value": "disable" + }, + { + "name": "Allowlist", + "value": "whitelistedEvents" + }, + { + "name": "Denylist", + "value": "blacklistedEvents" + } + ], + "defaultOption": { + "name": "Disable", + "value": "disable" + } + }, + { + "type": "dynamicCustomForm", + "value": "whitelistedEvents", + "label": "Allowlist", + "customFields": [ + { + "type": "textInput", + "value": "eventName", + "required": false, + "placeholder": "e.g: Anonymous Page Visit" + } + ] + }, + { + "type": "dynamicCustomForm", + "value": "blacklistedEvents", + "label": "Denylist", + "customFields": [ + { + "type": "textInput", + "value": "eventName", + "required": false, + "placeholder": "e.g: Credit Card Added" + } + ] + } + ] + }, + { + "title": "User Deletion", + "fields": [ + { + "type": "textInput", + "label": "Status Callback Urls", + "value": "statusCallbackUrls", + "regex": "^(?!.*\\.ngrok\\.io).*$", + "placeholder": "https://examplecontroller.com/opengdpr_callbacks", + "footerNote": "Endpoint for status callbacks to be sent with the deletion request status changes. If you want to provide more than one callbacks, provide them as comma separated strings." + }, + { + "type": "textInput", + "label": "API Token", + "value": "apiToken", + "placeholder": "c81aaf36-8323-4bb6-b5a8-asdfasdfas4f3c", + "secret": true, + "footerNote": "Provide your V1.0 API Token." + } + ] + } + ] +} diff --git a/src/configurations/destinations/airship/db-config.json b/src/configurations/destinations/airship/db-config.json new file mode 100644 index 000000000..42ca43576 --- /dev/null +++ b/src/configurations/destinations/airship/db-config.json @@ -0,0 +1,28 @@ +{ + "name": "AIRSHIP", + "displayName": "Airship", + "config": { + "transformAt": "router", + "transformAtV1": "router", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "reactnative", + "flutter", + "cordova", + "warehouse" + ], + "supportedMessageTypes": ["identify", "track", "group"], + "destConfig": { + "defaultConfig": ["apiKey", "appKey", "dataCenter"] + }, + "secretKeys": ["apiKey"] + } +} diff --git a/data/destinations/qualaroo/metadata.json b/src/configurations/destinations/airship/metadata.json similarity index 100% rename from data/destinations/qualaroo/metadata.json rename to src/configurations/destinations/airship/metadata.json diff --git a/data/sources/moengage/schema.json b/src/configurations/destinations/airship/schema.json similarity index 100% rename from data/sources/moengage/schema.json rename to src/configurations/destinations/airship/schema.json diff --git a/src/configurations/destinations/airship/ui-config.json b/src/configurations/destinations/airship/ui-config.json new file mode 100644 index 000000000..ec3180bff --- /dev/null +++ b/src/configurations/destinations/airship/ui-config.json @@ -0,0 +1,36 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "API Key", + "value": "apiKey", + "regex": ".*", + "required": true, + "placeholder": "e.g. MTp6WHZyNbJXZVNMMm11AlJ1R1BXeVVBOkk0dFk5dkEybUVEWAw5NHk5dXBYUjBIdWp6QzZCNC1TMEFGU9QwYVdnUjg", + "secret": true, + "footerNote": "API Key from Settings > Tokens > Create Token" + }, + { + "type": "textInput", + "label": "App Key", + "value": "appKey", + "regex": ".*", + "required": false, + "placeholder": "e.g. zXvp6bWcSL3muCRuGrWyUA", + "secret": true, + "footerNote": "App Key from Settings > Project Details > App Key" + }, + { + "type": "checkbox", + "label": "EU data center", + "value": "dataCenter", + "default": false, + "footerNote": "Toggle on to send data to EU server" + } + ] + } + ] +} diff --git a/src/configurations/destinations/algolia/db-config.json b/src/configurations/destinations/algolia/db-config.json new file mode 100644 index 000000000..04bdd38f2 --- /dev/null +++ b/src/configurations/destinations/algolia/db-config.json @@ -0,0 +1,29 @@ +{ + "name": "ALGOLIA", + "displayName": "Algolia", + "config": { + "cdkV2TestThreshold": 1, + "transformAt": "router", + "transformAtV1": "router", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "reactnative", + "flutter", + "cordova", + "warehouse" + ], + "supportedMessageTypes": ["track"], + "destConfig": { + "defaultConfig": ["apiKey", "applicationId", "eventTypeSettings"] + }, + "secretKeys": ["apiKey", "applicationId"] + } +} diff --git a/data/destinations/refiner/metadata.json b/src/configurations/destinations/algolia/metadata.json similarity index 100% rename from data/destinations/refiner/metadata.json rename to src/configurations/destinations/algolia/metadata.json diff --git a/data/sources/olark/schema.json b/src/configurations/destinations/algolia/schema.json similarity index 100% rename from data/sources/olark/schema.json rename to src/configurations/destinations/algolia/schema.json diff --git a/src/configurations/destinations/algolia/ui-config.json b/src/configurations/destinations/algolia/ui-config.json new file mode 100644 index 000000000..84478a9de --- /dev/null +++ b/src/configurations/destinations/algolia/ui-config.json @@ -0,0 +1,43 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "API Token", + "value": "apiKey", + "regex": ".*", + "required": true, + "placeholder": "e.g. tZrPAgHyn2jMWOVGKrS6gBGLYT8v9kJE", + "secret": true + }, + { + "type": "textInput", + "label": "Application ID", + "value": "applicationId", + "regex": ".*", + "required": true, + "placeholder": "e.g. O2YAMMI15I", + "secret": true + } + ] + }, + { + "title": "Event Settings", + "fields": [ + { + "type": "dynamicForm", + "label": "Event Name to Event Type Mapping", + "labelLeft": "Event Name", + "labelRight": "Event Type", + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "item clicked", + "placeholderRight": "click", + "value": "eventTypeSettings" + } + ] + } + ] +} diff --git a/src/configurations/destinations/am/db-config.json b/src/configurations/destinations/am/db-config.json new file mode 100644 index 000000000..dccbe575f --- /dev/null +++ b/src/configurations/destinations/am/db-config.json @@ -0,0 +1,131 @@ +{ + "name": "AM", + "displayName": "Amplitude", + "config": { + "supportsVisualMapper": true, + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "apiKey", + "groupTypeTrait", + "groupValueTrait", + "trackAllPages", + "trackCategorizedPages", + "trackNamedPages", + "traitsToIncrement", + "traitsToSetOnce", + "traitsToAppend", + "traitsToPrepend", + "trackProductsOnce", + "trackRevenuePerProduct", + "preferAnonymousIdForDeviceId", + "deviceIdFromUrlParam", + "forceHttps", + "trackGclid", + "trackReferrer", + "saveParamsReferrerOncePerSession", + "trackUtmProperties", + "unsetParamsReferrerOnNewSession", + "batchEvents", + "eventUploadPeriodMillis", + "eventUploadThreshold", + "versionName", + "enableLocationListening", + "useAdvertisingIdForDeviceId", + "trackSessionEvents", + "useIdfaAsDeviceId", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption", + "mapDeviceBrand" + ], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["alias", "group", "identify", "page", "screen", "track"], + "destConfig": { + "defaultConfig": [ + "apiKey", + "groupTypeTrait", + "groupValueTrait", + "trackAllPages", + "trackCategorizedPages", + "trackNamedPages", + "traitsToIncrement", + "traitsToSetOnce", + "traitsToAppend", + "traitsToPrepend", + "trackProductsOnce", + "trackRevenuePerProduct", + "versionName", + "apiSecret", + "residencyServer", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption", + "mapDeviceBrand" + ], + "web": [ + "useNativeSDK", + "preferAnonymousIdForDeviceId", + "deviceIdFromUrlParam", + "forceHttps", + "trackGclid", + "trackReferrer", + "saveParamsReferrerOncePerSession", + "trackUtmProperties", + "unsetParamsReferrerOnNewSession", + "batchEvents", + "eventUploadPeriodMillis", + "eventUploadThreshold", + "oneTrustCookieCategories" + ], + "android": [ + "eventUploadPeriodMillis", + "eventUploadThreshold", + "useNativeSDK", + "enableLocationListening", + "trackSessionEvents", + "useAdvertisingIdForDeviceId" + ], + "ios": [ + "eventUploadPeriodMillis", + "eventUploadThreshold", + "useNativeSDK", + "trackSessionEvents", + "useIdfaAsDeviceId" + ], + "reactnative": [ + "eventUploadPeriodMillis", + "eventUploadThreshold", + "useNativeSDK", + "enableLocationListening", + "trackSessionEvents", + "useAdvertisingIdForDeviceId", + "useIdfaAsDeviceId" + ], + "flutter": [ + "eventUploadPeriodMillis", + "eventUploadThreshold", + "useNativeSDK", + "enableLocationListening", + "trackSessionEvents", + "useAdvertisingIdForDeviceId", + "useIdfaAsDeviceId" + ] + }, + "secretKeys": ["apiKey", "apiSecret"] + } +} diff --git a/data/destinations/sendinblue/metadata.json b/src/configurations/destinations/am/metadata.json similarity index 100% rename from data/destinations/sendinblue/metadata.json rename to src/configurations/destinations/am/metadata.json diff --git a/src/configurations/destinations/am/schema.json b/src/configurations/destinations/am/schema.json new file mode 100644 index 000000000..7d7524789 --- /dev/null +++ b/src/configurations/destinations/am/schema.json @@ -0,0 +1,318 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["apiKey"], + "properties": { + "apiKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "apiSecret": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "groupTypeTrait": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "groupValueTrait": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "trackAllPages": { + "type": "boolean" + }, + "trackCategorizedPages": { + "type": "boolean" + }, + "trackNamedPages": { + "type": "boolean" + }, + "trackProductsOnce": { + "type": "boolean" + }, + "trackRevenuePerProduct": { + "type": "boolean" + }, + "versionName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "residencyServer": { + "type": "string", + "pattern": "(^env[.].*)|^(standard|EU)$" + }, + "traitsToIncrement": { + "type": "array", + "items": { + "type": "object", + "properties": { + "traits": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "traitsToSetOnce": { + "type": "array", + "items": { + "type": "object", + "properties": { + "traits": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "traitsToAppend": { + "type": "array", + "items": { + "type": "object", + "properties": { + "traits": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "traitsToPrepend": { + "type": "array", + "items": { + "type": "object", + "properties": { + "traits": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "useNativeSDK": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + }, + "ios": { + "type": "boolean" + }, + "android": { + "type": "boolean" + }, + "reactnative": { + "type": "boolean" + } + } + }, + "preferAnonymousIdForDeviceId": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "deviceIdFromUrlParam": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "forceHttps": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "trackGclid": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "trackReferrer": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "saveParamsReferrerOncePerSession": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "trackUtmProperties": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "unsetParamsReferrerOnNewSession": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "batchEvents": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "whitelistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "blacklistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "eventUploadPeriodMillis": { + "type": "object", + "properties": { + "web": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^([0-9]{0,100})$" + }, + "android": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^([0-9]{0,100})$" + }, + "ios": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^([0-9]{0,100})$" + }, + "reactnative": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^([0-9]{0,100})$" + } + } + }, + "eventUploadThreshold": { + "type": "object", + "properties": { + "web": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^([0-9]{0,100})$" + }, + "android": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^([0-9]{0,100})$" + }, + "ios": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^([0-9]{0,100})$" + }, + "reactnative": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^([0-9]{0,100})$" + } + } + }, + "mapDeviceBrand": { + "type": "boolean" + }, + "enableLocationListening": { + "type": "object", + "properties": { + "android": { + "type": "boolean" + }, + "reactnative": { + "type": "boolean" + } + } + }, + "trackSessionEvents": { + "type": "object", + "properties": { + "android": { + "type": "boolean" + }, + "ios": { + "type": "boolean" + }, + "reactnative": { + "type": "boolean" + } + } + }, + "useAdvertisingIdForDeviceId": { + "type": "object", + "properties": { + "android": { + "type": "boolean" + }, + "reactnative": { + "type": "boolean" + } + } + }, + "useIdfaAsDeviceId": { + "type": "object", + "properties": { + "ios": { + "type": "boolean" + }, + "reactnative": { + "type": "boolean" + } + } + }, + "oneTrustCookieCategories": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } + } + } +} diff --git a/data/destinations/am/ui_config.json b/src/configurations/destinations/am/ui-config.json similarity index 100% rename from data/destinations/am/ui_config.json rename to src/configurations/destinations/am/ui-config.json diff --git a/src/configurations/destinations/appcenter/db-config.json b/src/configurations/destinations/appcenter/db-config.json new file mode 100644 index 000000000..b2a5ff679 --- /dev/null +++ b/src/configurations/destinations/appcenter/db-config.json @@ -0,0 +1,36 @@ +{ + "name": "APPCENTER", + "displayName": "App Center", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "appSecret", + "eventPriorityMap", + "transmissionLevel", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": ["android", "ios", "reactnative", "cordova", "flutter"], + "supportedMessageTypes": ["track"], + "destConfig": { + "defaultConfig": [ + "appSecret", + "eventPriorityMap", + "transmissionLevel", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "android": ["useNativeSDK"], + "ios": ["useNativeSDK"], + "reactnative": ["useNativeSDK"], + "flutter": ["useNativeSDK"], + "cordova": ["useNativeSDK"] + }, + "secretKeys": ["appSecret"] + } +} diff --git a/data/destinations/yandex_metrica/metadata.json b/src/configurations/destinations/appcenter/metadata.json similarity index 100% rename from data/destinations/yandex_metrica/metadata.json rename to src/configurations/destinations/appcenter/metadata.json diff --git a/data/sources/pagerduty/schema.json b/src/configurations/destinations/appcenter/schema.json similarity index 100% rename from data/sources/pagerduty/schema.json rename to src/configurations/destinations/appcenter/schema.json diff --git a/src/configurations/destinations/appcenter/ui-config.json b/src/configurations/destinations/appcenter/ui-config.json new file mode 100644 index 000000000..6ca01d302 --- /dev/null +++ b/src/configurations/destinations/appcenter/ui-config.json @@ -0,0 +1,120 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "AppCenter App Secret Key", + "value": "appSecret", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid AppCenter App Secret Key", + "required": true, + "placeholder": "e.g: \u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u20225c0d", + "secret": true + } + ] + }, + { + "title": "Other Settings", + "fields": [ + { + "type": "dynamicSelectForm", + "label": "Map your Events Name with Priority", + "labelLeft": "Event Name", + "labelRight": "Priority", + "value": "eventPriorityMap", + "keyLeft": "from", + "keyRight": "to", + "required": false, + "placeholderLeft": "your event", + "options": [ + { + "name": "Normal", + "value": "Normal" + }, + { + "name": "Critical", + "value": "Critical" + } + ] + }, + { + "type": "textInput", + "label": "Set the transmission interval in minutes", + "value": "transmissionLevel", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Transmission Level", + "required": false, + "placeholder": "10" + } + ] + }, + { + "title": "Native SDK", + "fields": [ + { + "type": "defaultCheckbox", + "label": "Use device-mode to send events", + "value": "useNativeSDK", + "default": true + } + ] + }, + { + "title": "Client-side Events Filtering", + "sectionNote": "Applicable only for device-mode integrations. If enabled, it works only with either allowlisted or denylisted events", + "fields": [ + { + "type": "singleSelect", + "value": "eventFilteringOption", + "required": false, + "options": [ + { + "name": "Disable", + "value": "disable" + }, + { + "name": "Allowlist", + "value": "whitelistedEvents" + }, + { + "name": "Denylist", + "value": "blacklistedEvents" + } + ], + "defaultOption": { + "name": "Disable", + "value": "disable" + } + }, + { + "type": "dynamicCustomForm", + "value": "whitelistedEvents", + "label": "Allowlist", + "customFields": [ + { + "type": "textInput", + "value": "eventName", + "required": false, + "placeholder": "e.g: Anonymous Page Visit" + } + ] + }, + { + "type": "dynamicCustomForm", + "value": "blacklistedEvents", + "label": "Denylist", + "customFields": [ + { + "type": "textInput", + "value": "eventName", + "required": false, + "placeholder": "e.g: Credit Card Added" + } + ] + } + ] + } + ] +} diff --git a/src/configurations/destinations/appcues/db-config.json b/src/configurations/destinations/appcues/db-config.json new file mode 100644 index 000000000..31308b0e9 --- /dev/null +++ b/src/configurations/destinations/appcues/db-config.json @@ -0,0 +1,40 @@ +{ + "name": "APPCUES", + "displayName": "Appcues", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "accountId", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["identify", "page", "screen", "track"], + "destConfig": { + "defaultConfig": [ + "accountId", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "web": ["useNativeSDK", "oneTrustCookieCategories"] + }, + "secretKeys": [] + } +} diff --git a/src/configurations/destinations/appcues/metadata.json b/src/configurations/destinations/appcues/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/appcues/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/data/sources/pipedream/schema.json b/src/configurations/destinations/appcues/schema.json similarity index 100% rename from data/sources/pipedream/schema.json rename to src/configurations/destinations/appcues/schema.json diff --git a/data/destinations/appcues/ui_config.json b/src/configurations/destinations/appcues/ui-config.json similarity index 100% rename from data/destinations/appcues/ui_config.json rename to src/configurations/destinations/appcues/ui-config.json diff --git a/src/configurations/destinations/attentive_tag/db-config.json b/src/configurations/destinations/attentive_tag/db-config.json new file mode 100644 index 000000000..445bc5b1f --- /dev/null +++ b/src/configurations/destinations/attentive_tag/db-config.json @@ -0,0 +1,28 @@ +{ + "name": "ATTENTIVE_TAG", + "displayName": "Attentive Tag", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["identify", "track"], + "destConfig": { + "defaultConfig": ["apiKey", "signUpSourceId"] + }, + "secretKeys": ["apiKey"] + } +} diff --git a/src/configurations/destinations/attentive_tag/metadata.json b/src/configurations/destinations/attentive_tag/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/attentive_tag/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/attentive_tag/schema.json b/src/configurations/destinations/attentive_tag/schema.json new file mode 100644 index 000000000..07125006c --- /dev/null +++ b/src/configurations/destinations/attentive_tag/schema.json @@ -0,0 +1,17 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["apiKey"], + "properties": { + "apiKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "signUpSourceId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$" + } + } + } +} diff --git a/src/configurations/destinations/attentive_tag/ui-config.json b/src/configurations/destinations/attentive_tag/ui-config.json new file mode 100644 index 000000000..d7f5ee419 --- /dev/null +++ b/src/configurations/destinations/attentive_tag/ui-config.json @@ -0,0 +1,31 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "API Key", + "value": "apiKey", + "regex": "^(.{1,100})$", + "regexErrorMessage": "Invalid API Key", + "required": true, + "placeholder": "e.g. saDbFeVZicnpPeGJ6M0JOTXFxTVN2QkdpWTJ3NENpNUlZ", + "secret": true, + "footerNote": "Your API Key" + }, + { + "type": "textInput", + "label": "Sign Up Source Id", + "value": "signUpSourceId", + "regex": "^[0-9]+$", + "regexErrorMessage": "Invalid Sign Up Source Id", + "required": false, + "placeholder": "e.g: 123456", + "secret": false, + "footerNote": "Your Sign Up Source Id" + } + ] + } + ] +} diff --git a/src/configurations/destinations/attribution/db-config.json b/src/configurations/destinations/attribution/db-config.json new file mode 100644 index 000000000..77f746773 --- /dev/null +++ b/src/configurations/destinations/attribution/db-config.json @@ -0,0 +1,29 @@ +{ + "name": "ATTRIBUTION", + "displayName": "Attribution", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": false, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "reactnative", + "warehouse", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["alias", "group", "identify", "page", "screen", "track"], + "destConfig": { + "defaultConfig": ["writeKey"], + "web": [] + }, + "secretKeys": ["writeKey"] + } +} diff --git a/src/configurations/destinations/attribution/metadata.json b/src/configurations/destinations/attribution/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/attribution/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/attribution/schema.json b/src/configurations/destinations/attribution/schema.json new file mode 100644 index 000000000..4100d0c70 --- /dev/null +++ b/src/configurations/destinations/attribution/schema.json @@ -0,0 +1,14 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema", + "type": "object", + "required": ["writeKey"], + "properties": { + "writeKey": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + } + }, + "additionalProperties": true + } +} diff --git a/src/configurations/destinations/attribution/ui-config.json b/src/configurations/destinations/attribution/ui-config.json new file mode 100644 index 000000000..f43c0e594 --- /dev/null +++ b/src/configurations/destinations/attribution/ui-config.json @@ -0,0 +1,18 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Attribution Project Key", + "value": "writeKey", + "regex": "^(.{1,100})$", + "regexErrorMessage": "Invalid Attribution Project Key", + "required": true, + "placeholder": "e.g: AGzp7K9cBV" + } + ] + } + ] +} diff --git a/src/configurations/destinations/autopilot/db-config.json b/src/configurations/destinations/autopilot/db-config.json new file mode 100644 index 000000000..b00e45898 --- /dev/null +++ b/src/configurations/destinations/autopilot/db-config.json @@ -0,0 +1,29 @@ +{ + "name": "AUTOPILOT", + "displayName": "Autopilot", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "cdkEnabled": true, + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["identify", "track"], + "destConfig": { + "defaultConfig": ["apiKey", "triggerId"] + }, + "secretKeys": [] + } +} diff --git a/src/configurations/destinations/autopilot/metadata.json b/src/configurations/destinations/autopilot/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/autopilot/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/data/sources/refiner/schema.json b/src/configurations/destinations/autopilot/schema.json similarity index 100% rename from data/sources/refiner/schema.json rename to src/configurations/destinations/autopilot/schema.json diff --git a/src/configurations/destinations/autopilot/ui-config.json b/src/configurations/destinations/autopilot/ui-config.json new file mode 100644 index 000000000..c906f7e3f --- /dev/null +++ b/src/configurations/destinations/autopilot/ui-config.json @@ -0,0 +1,27 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "API Key", + "value": "apiKey", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid API Key", + "required": true, + "placeholder": "e.g: 1d6583b196d34de28a3g19ahadde4b0z" + }, + { + "type": "textInput", + "label": "Trigger Id", + "value": "triggerId", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Trigger Id", + "required": true, + "placeholder": "e.g: 00XX" + } + ] + } + ] +} diff --git a/data/destinations/awin/db_config.json b/src/configurations/destinations/awin/db-config.json similarity index 100% rename from data/destinations/awin/db_config.json rename to src/configurations/destinations/awin/db-config.json diff --git a/src/configurations/destinations/awin/metadata.json b/src/configurations/destinations/awin/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/awin/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/data/destinations/awin/schema.json b/src/configurations/destinations/awin/schema.json similarity index 100% rename from data/destinations/awin/schema.json rename to src/configurations/destinations/awin/schema.json diff --git a/data/destinations/awin/ui_config.json b/src/configurations/destinations/awin/ui-config.json similarity index 100% rename from data/destinations/awin/ui_config.json rename to src/configurations/destinations/awin/ui-config.json diff --git a/data/destinations/axeptio/db_config.json b/src/configurations/destinations/axeptio/db-config.json similarity index 100% rename from data/destinations/axeptio/db_config.json rename to src/configurations/destinations/axeptio/db-config.json diff --git a/src/configurations/destinations/axeptio/metadata.json b/src/configurations/destinations/axeptio/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/axeptio/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/data/destinations/axeptio/schema.json b/src/configurations/destinations/axeptio/schema.json similarity index 100% rename from data/destinations/axeptio/schema.json rename to src/configurations/destinations/axeptio/schema.json diff --git a/data/destinations/axeptio/ui_config.json b/src/configurations/destinations/axeptio/ui-config.json similarity index 100% rename from data/destinations/axeptio/ui_config.json rename to src/configurations/destinations/axeptio/ui-config.json diff --git a/src/configurations/destinations/azure_blob/db-config.json b/src/configurations/destinations/azure_blob/db-config.json new file mode 100644 index 000000000..2900d01ed --- /dev/null +++ b/src/configurations/destinations/azure_blob/db-config.json @@ -0,0 +1,34 @@ +{ + "name": "AZURE_BLOB", + "displayName": "Azure Blob Storage", + "config": { + "transformAt": "none", + "transformAtV1": "none", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "destConfig": { + "defaultConfig": [ + "containerName", + "prefix", + "accountName", + "accountKey", + "useSASTokens", + "sasToken" + ] + }, + "secretKeys": ["accountKey", "sasToken"] + } +} diff --git a/src/configurations/destinations/azure_blob/metadata.json b/src/configurations/destinations/azure_blob/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/azure_blob/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/data/sources/satismeter/schema.json b/src/configurations/destinations/azure_blob/schema.json similarity index 100% rename from data/sources/satismeter/schema.json rename to src/configurations/destinations/azure_blob/schema.json diff --git a/src/configurations/destinations/azure_blob/ui-config.json b/src/configurations/destinations/azure_blob/ui-config.json new file mode 100644 index 000000000..c681a7dd6 --- /dev/null +++ b/src/configurations/destinations/azure_blob/ui-config.json @@ -0,0 +1,75 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Azure Blob Storage Container Name", + "value": "containerName", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Azure Blob Storage Container Name", + "required": true, + "placeholder": "e.g: azure-blob-event-logs" + }, + { + "type": "textInput", + "label": "Prefix", + "value": "prefix", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Prefix", + "required": false, + "placeholder": "e.g: rudder" + }, + { + "type": "textInput", + "label": "Azure Blob Storage Account Name", + "value": "accountName", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Azure Blob Storage Account Name", + "required": true, + "placeholder": "e.g: account-name" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "useSASTokens", + "selectedValue": false + } + ], + "label": "Azure Blob Storage Account Key", + "value": "accountKey", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Azure Blob Storage Account Key", + "required": true, + "placeholder": "e.g: account-key", + "secret": true + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "useSASTokens", + "selectedValue": true + } + ], + "label": "Azure Blob Storage SAS Token", + "value": "sasToken", + "regex": "^(.+)$", + "regexErrorMessage": "Invalid Azure Blob Storage SAS Token", + "required": true, + "placeholder": "e.g: sas-token", + "secret": true + }, + { + "type": "checkbox", + "label": "Use shared access signature (SAS) Tokens", + "value": "useSASTokens", + "default": false, + "footerNote": "Use this to Grant limited access to Azure Storage resources using shared access signatures (SAS)" + } + ] + } + ] +} diff --git a/src/configurations/destinations/azure_datalake/db-config.json b/src/configurations/destinations/azure_datalake/db-config.json new file mode 100644 index 000000000..97788b8da --- /dev/null +++ b/src/configurations/destinations/azure_datalake/db-config.json @@ -0,0 +1,39 @@ +{ + "name": "AZURE_DATALAKE", + "displayName": "Azure Datalake", + "category": "warehouse", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "cloudSource", + "flutter", + "cordova" + ], + "destConfig": { + "defaultConfig": [ + "containerName", + "prefix", + "namespace", + "accountName", + "accountKey", + "useSASTokens", + "sasToken", + "syncFrequency", + "syncStartAt" + ] + }, + "secretKeys": ["accountKey", "sasToken"] + } +} diff --git a/src/configurations/destinations/azure_datalake/metadata.json b/src/configurations/destinations/azure_datalake/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/azure_datalake/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/azure_datalake/schema.json b/src/configurations/destinations/azure_datalake/schema.json new file mode 100644 index 000000000..8d2f93f35 --- /dev/null +++ b/src/configurations/destinations/azure_datalake/schema.json @@ -0,0 +1,57 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema", + "type": "object", + "required": ["containerName", "accountName"], + "properties": { + "containerName": { + "type": "string", + "pattern": "(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$" + }, + "prefix": { + "type": "string", + "pattern": "(^env[.].*)|^(.{0,100})$" + }, + "namespace": { + "type": "string", + "pattern": "(^env[.].*)|^((?!pg_|PG_|pG_|Pg_).{0,64})$" + }, + "accountName": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + }, + "syncFrequency": { + "type": "string", + "pattern": "^(30|60|180|360|720|1440)$", + "default": "30" + }, + "syncStartAt": { + "type": "string" + } + }, + "anyOf": [ + { + "properties": { + "accountKey": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + } + }, + "required": ["accountKey"] + }, + { + "properties": { + "sasToken": { + "type": "string", + "pattern": "(^env[.].+)|^(.+)$" + }, + "useSASTokens": { + "const": true + } + }, + "required": ["useSASTokens", "sasToken"] + } + ], + "additionalProperties": true + } +} diff --git a/src/configurations/destinations/azure_datalake/ui-config.json b/src/configurations/destinations/azure_datalake/ui-config.json new file mode 100644 index 000000000..c88e83c7b --- /dev/null +++ b/src/configurations/destinations/azure_datalake/ui-config.json @@ -0,0 +1,136 @@ +{ + "uiConfig": [ + { + "title": "1. Connection Credentials", + "fields": [ + { + "type": "textInput", + "label": "Azure Blob Storage Container Name", + "labelNote": "Container to store your event data", + "value": "containerName", + "regex": "^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$", + "regexErrorMessage": "Invalid Staging Azure Blob Storage Container Name", + "required": true, + "placeholder": "e.g: azure-event-logs", + "footerNote": "Please make sure the container exists in your Azure Blob Storage" + }, + { + "type": "textInput", + "label": "Prefix", + "value": "prefix", + "labelNote": "If configured, all data pushed by rudderstack will be at https://.blob.core.windows.net///", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Prefix", + "required": false, + "placeholder": "e.g: rudder" + }, + { + "type": "textInput", + "label": "Namespace", + "labelNote": "Schema name for the warehouse where the tables are created", + "value": "namespace", + "regex": "^((?!pg_|PG_|pG_|Pg_).{0,64})$", + "regexErrorMessage": "Invalid Namespace", + "required": false, + "placeholder": "e.g: RUDDER_NAMESPACE", + "footerNote": "All data for the destination would be pushed to https://.blob.core.windows.net///rudder-datalake/." + }, + { + "type": "textInput", + "label": "Azure Blob Storage Account Name", + "value": "accountName", + "regex": "^(.{1,100})$", + "regexErrorMessage": "Invalid Azure Blob Storage Account Name", + "required": true, + "placeholder": "e.g: account-name" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "useSASTokens", + "selectedValue": false + } + ], + "label": "Azure Blob Storage Account Key", + "value": "accountKey", + "regex": "^(.{1,100})$", + "regexErrorMessage": "Invalid Azure Blob Storage Account Key", + "required": true, + "secret": true, + "placeholder": "e.g: account-key" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "useSASTokens", + "selectedValue": true + } + ], + "label": "Azure Blob Storage SAS Token", + "value": "sasToken", + "regex": "^(.+)$", + "regexErrorMessage": "Invalid Azure Blob Storage SAS Token", + "required": true, + "placeholder": "e.g: sas-token", + "secret": true + }, + { + "type": "checkbox", + "label": "Use shared access signature (SAS) Tokens", + "value": "useSASTokens", + "default": false, + "footerNote": "Use this to Grant limited access to Azure Storage resources using shared access signatures (SAS)" + }, + { + "type": "singleSelect", + "label": "Sync Frequency", + "value": "syncFrequency", + "options": [ + { + "name": "Every 30 minutes", + "value": "30" + }, + { + "name": "Every 1 hour", + "value": "60" + }, + { + "name": "Every 3 hours", + "value": "180" + }, + { + "name": "Every 6 hours", + "value": "360" + }, + { + "name": "Every 12 hours", + "value": "720" + }, + { + "name": "Every 24 hours", + "value": "1440" + } + ], + "defaultOption": { + "name": "Every 30 minutes", + "value": "30" + }, + "required": false + }, + { + "type": "timePicker", + "label": "Sync Starting At (Optional)", + "value": "syncStartAt", + "options": { + "omitSeconds": true, + "minuteStep": 15 + }, + "required": false, + "footerNote": "Note: Please specify time in UTC" + } + ] + } + ] +} diff --git a/src/configurations/destinations/azure_event_hub/db-config.json b/src/configurations/destinations/azure_event_hub/db-config.json new file mode 100644 index 000000000..63fc7679d --- /dev/null +++ b/src/configurations/destinations/azure_event_hub/db-config.json @@ -0,0 +1,27 @@ +{ + "name": "AZURE_EVENT_HUB", + "displayName": "Azure Event Hubs", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "destConfig": { + "defaultConfig": ["bootstrapServer", "topic", "eventHubsConnectionString"] + }, + "secretKeys": [] + } +} diff --git a/src/configurations/destinations/azure_event_hub/metadata.json b/src/configurations/destinations/azure_event_hub/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/azure_event_hub/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/azure_event_hub/schema.json b/src/configurations/destinations/azure_event_hub/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/azure_event_hub/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/azure_event_hub/ui-config.json b/src/configurations/destinations/azure_event_hub/ui-config.json new file mode 100644 index 000000000..8c655ad45 --- /dev/null +++ b/src/configurations/destinations/azure_event_hub/ui-config.json @@ -0,0 +1,36 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Bootstrap server", + "value": "bootstrapServer", + "regex": "^.*:[0-9]{1,5}$", + "regexErrorMessage": "Invalid Bootstrap server", + "required": true, + "placeholder": "e.g: NAMESPACENAME.servicebus.windows.net:9093" + }, + { + "type": "textInput", + "label": "Topic Name", + "value": "topic", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Topic Name", + "required": true, + "placeholder": "e.g: test-topic" + }, + { + "type": "textInput", + "label": "Event Hubs ConnectionString", + "value": "eventHubsConnectionString", + "regex": "^(.{0,300})$", + "regexErrorMessage": "Invalid Event Hubs ConnectionString", + "required": true, + "placeholder": "e.g: Endpoint=sb://..." + } + ] + } + ] +} diff --git a/src/configurations/destinations/azure_synapse/db-config.json b/src/configurations/destinations/azure_synapse/db-config.json new file mode 100644 index 000000000..44a69640f --- /dev/null +++ b/src/configurations/destinations/azure_synapse/db-config.json @@ -0,0 +1,63 @@ +{ + "name": "AZURE_SYNAPSE", + "displayName": "Azure Synapse", + "category": "warehouse", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "reactnative", + "cloudSource", + "flutter", + "cordova" + ], + "destConfig": { + "defaultConfig": [ + "host", + "database", + "user", + "password", + "port", + "sslMode", + "namespace", + "bucketProvider", + "bucketName", + "iamRoleARN", + "roleBasedAuth", + "accessKeyID", + "accessKey", + "accountName", + "accountKey", + "useSASTokens", + "sasToken", + "credentials", + "secretAccessKey", + "useSSL", + "containerName", + "endPoint", + "syncFrequency", + "syncStartAt", + "excludeWindow", + "useRudderStorage" + ] + }, + "secretKeys": [ + "password", + "accessKeyID", + "accessKey", + "accountKey", + "sasToken", + "secretAccessKey", + "credentials" + ] + } +} diff --git a/src/configurations/destinations/azure_synapse/metadata.json b/src/configurations/destinations/azure_synapse/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/azure_synapse/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/azure_synapse/schema.json b/src/configurations/destinations/azure_synapse/schema.json new file mode 100644 index 000000000..e28a09699 --- /dev/null +++ b/src/configurations/destinations/azure_synapse/schema.json @@ -0,0 +1,238 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema", + "type": "object", + "required": [ + "host", + "database", + "user", + "password", + "port", + "sslMode", + "syncFrequency", + "useRudderStorage" + ], + "properties": { + "host": { + "type": "string", + "pattern": "(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,100})$" + }, + "database": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + }, + "user": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + }, + "password": { + "type": "string", + "pattern": "(^env[.].+)|.+" + }, + "port": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + }, + "namespace": { + "type": "string", + "pattern": "(^env[.].*)|^((?!pg_|PG_|pG_|Pg_).{0,64})$" + }, + "sslMode": { + "type": "string", + "pattern": "^(disable|true|false)$" + }, + "syncFrequency": { + "type": "string", + "pattern": "^(30|60|180|360|720|1440)$", + "default": "30" + }, + "syncStartAt": { + "type": "string" + }, + "excludeWindow": { + "type": "object", + "required": ["excludeWindowStartTime", "excludeWindowEndTime"], + "properties": { + "excludeWindowStartTime": { + "type": "string" + }, + "excludeWindowEndTime": { + "type": "string" + } + } + }, + "useRudderStorage": { + "type": "boolean", + "default": false + }, + "bucketProvider": { + "type": "string", + "pattern": "^(S3|GCS|AZURE_BLOB|MINIO)$" + } + }, + "allOf": [ + { + "if": { + "properties": { + "useRudderStorage": { + "const": false + } + }, + "required": ["useRudderStorage"] + }, + "then": { + "required": ["bucketProvider"] + } + }, + { + "if": { + "properties": { + "bucketProvider": { + "const": "S3" + }, + "useRudderStorage": { + "const": false + } + }, + "required": ["bucketProvider", "useRudderStorage"] + }, + "then": { + "properties": { + "iamRoleARN": { + "type": "string" + }, + "roleBasedAuth": { + "type": "boolean" + }, + "bucketName": { + "type": "string", + "pattern": "(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$" + }, + "accessKeyID": { + "type": "string", + "pattern": "(^env[.].+)|^(.{0,100})$" + }, + "accessKey": { + "type": "string", + "pattern": "(^env[.].+)|^(.{0,100})$" + } + }, + "required": ["bucketName", "accessKeyID", "accessKey"] + } + }, + { + "if": { + "properties": { + "bucketProvider": { + "const": "GCS" + }, + "useRudderStorage": { + "const": false + } + }, + "required": ["bucketProvider", "useRudderStorage"] + }, + "then": { + "properties": { + "bucketName": { + "type": "string", + "pattern": "(^env[.].+)|^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$" + }, + "credentials": { + "type": "string", + "pattern": "(^env[.].+)|.+" + } + }, + "required": ["bucketName", "credentials"] + } + }, + { + "if": { + "properties": { + "bucketProvider": { + "const": "AZURE_BLOB" + }, + "useRudderStorage": { + "const": false + } + }, + "required": ["bucketProvider", "useRudderStorage"] + }, + "then": { + "properties": { + "containerName": { + "type": "string", + "pattern": "(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$" + }, + "accountName": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + } + }, + "required": ["containerName", "accountName"], + "anyOf": [ + { + "properties": { + "accountKey": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + } + }, + "required": ["accountKey"] + }, + { + "properties": { + "sasToken": { + "type": "string", + "pattern": "(^env[.].+)|^(.+)$" + }, + "useSASTokens": { + "const": true + } + }, + "required": ["useSASTokens", "sasToken"] + } + ] + } + }, + { + "if": { + "properties": { + "bucketProvider": { + "const": "MINIO" + }, + "useRudderStorage": { + "const": false + } + }, + "required": ["bucketProvider", "useRudderStorage"] + }, + "then": { + "properties": { + "bucketName": { + "type": "string", + "pattern": "(^env[.].+)|^((?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$" + }, + "accessKeyID": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + }, + "endPoint": { + "type": "string", + "pattern": "(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,100})$" + }, + "secretAccessKey": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + }, + "useSSL": { + "type": "boolean" + } + }, + "required": ["bucketName", "endPoint", "accessKeyID", "secretAccessKey", "useSSL"] + } + } + ], + "additionalProperties": true + } +} diff --git a/src/configurations/destinations/azure_synapse/ui-config.json b/src/configurations/destinations/azure_synapse/ui-config.json new file mode 100644 index 000000000..a097958b3 --- /dev/null +++ b/src/configurations/destinations/azure_synapse/ui-config.json @@ -0,0 +1,547 @@ +{ + "uiConfig": [ + { + "title": "1. Connection Credentials", + "fields": [ + { + "type": "textInput", + "label": "Host", + "value": "host", + "regex": "(?!.*\\.ngrok\\.io)^(.{0,100})$", + "regexErrorMessage": "Invalid Host", + "placeholder": "e.g: azure-synapse.mydomain.com", + "required": true + }, + { + "type": "textInput", + "label": "Database", + "value": "database", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Database", + "placeholder": "e.g: rudderdb", + "required": true + }, + { + "type": "textInput", + "label": "User", + "value": "user", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid User", + "placeholder": "e.g: rudder", + "required": true + }, + { + "type": "textInput", + "label": "Password", + "value": "password", + "placeholder": "e.g: rudder-password", + "regex": ".*", + "required": true + }, + { + "type": "textInput", + "label": "Port", + "value": "port", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Port", + "placeholder": "1433", + "required": true + }, + { + "type": "textInput", + "label": "Namespace", + "labelNote": "Schema name for the warehouse where the tables are created", + "value": "namespace", + "regex": "^((?!pg_|PG_|pG_|Pg_).{0,64})$", + "regexErrorMessage": "Invalid Namespace", + "required": false, + "placeholder": "e.g: rudder-schema", + "footerNote": "Default will be the source name" + }, + { + "type": "singleSelect", + "label": "SSL Mode", + "value": "sslMode", + "options": [ + { + "name": "disable", + "value": "disable" + }, + { + "name": "true", + "value": "true" + }, + { + "name": "false", + "value": "false" + } + ], + "defaultOption": { + "name": "disable", + "value": "disable" + }, + "required": true + }, + { + "type": "singleSelect", + "label": "Sync Frequency", + "value": "syncFrequency", + "options": [ + { + "name": "Every 30 minutes", + "value": "30" + }, + { + "name": "Every 1 hour", + "value": "60" + }, + { + "name": "Every 3 hours", + "value": "180" + }, + { + "name": "Every 6 hours", + "value": "360" + }, + { + "name": "Every 12 hours", + "value": "720" + }, + { + "name": "Every 24 hours", + "value": "1440" + } + ], + "defaultOption": { + "name": "Every 30 minutes", + "value": "30" + }, + "required": false + }, + { + "type": "timePicker", + "label": "Sync Starting At (Optional)", + "value": "syncStartAt", + "options": { + "omitSeconds": true, + "minuteStep": 15 + }, + "required": false, + "footerNote": "Note: Please specify time in UTC" + }, + { + "type": "timeRangePicker", + "label": "Exclude window (Optional)", + "value": "excludeWindow", + "startTime": { + "label": "start time", + "value": "excludeWindowStartTime" + }, + "endTime": { + "label": "end time", + "value": "excludeWindowEndTime" + }, + "options": { + "omitSeconds": true, + "minuteStep": 1 + }, + "required": false, + "footerNote": "Note: Please specify time in UTC" + } + ] + }, + { + "title": "Object Storage Configuration", + "fields": [ + { + "type": "checkbox", + "label": "Use RudderStack managed object storage", + "value": "useRudderStorage", + "default": false, + "footerNote": "Note: Only available for RudderStack managed data planes" + }, + { + "type": "singleSelect", + "label": "Choose your Storage Provider", + "value": "bucketProvider", + "options": [ + { + "name": "S3", + "value": "S3" + }, + { + "name": "GCS", + "value": "GCS" + }, + { + "name": "AZURE_BLOB", + "value": "AZURE_BLOB" + }, + { + "name": "MINIO", + "value": "MINIO" + } + ], + "defaultOption": { + "name": "MINIO", + "value": "MINIO" + }, + "required": true, + "preRequisiteField": { + "name": "useRudderStorage", + "selectedValue": false + } + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "S3" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "Staging S3 Storage Bucket Name", + "labelNote": "S3 Bucket to store data before loading into AzureSynapse", + "value": "bucketName", + "regex": "^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$", + "regexErrorMessage": "Invalid Staging S3 Storage Bucket Name", + "placeholder": "e.g: s3-event-logs", + "required": true, + "footerNote": "Please make sure the bucket exists in your S3" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "GCS" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "Staging GCS Object Storage Bucket Name", + "labelNote": "GCS Bucket to store data before loading into AzureSynapse", + "value": "bucketName", + "regex": "^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$", + "regexErrorMessage": "Invalid Staging GCS Object Storage Bucket Name", + "placeholder": "e.g: gcs-event-logs", + "required": true, + "footerNote": "Please make sure the bucket exists in your GCS" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "AZURE_BLOB" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "Staging Azure Blob Storage Container Name", + "labelNote": "Container to store data before loading into AzureSynapse", + "value": "containerName", + "regex": "^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$", + "regexErrorMessage": "Invalid Staging Azure Blob Storage Container Name", + "required": true, + "placeholder": "e.g: azure-event-logs", + "footerNote": "Please make sure the container exists in your Azure Blob Storage" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "MINIO" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "Staging MINIO Storage Bucket Name", + "labelNote": "MINIO Bucket to store data before loading into AzureSynapse", + "value": "bucketName", + "regex": "^((?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$", + "regexErrorMessage": "Invalid Staging MINIO Storage Bucket Name", + "required": true, + "placeholder": "e.g: minio-event-logs", + "footerNote": "Please make sure the bucket exists in your MINIO" + }, + { + "type": "checkbox", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "S3" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "Role Based Authentication", + "value": "roleBasedAuth", + "default": false + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "S3" + }, + { + "name": "useRudderStorage", + "selectedValue": false + }, + { + "name": "roleBasedAuth", + "selectedValue": true + } + ], + "label": "IAM Role ARN", + "value": "iamRoleARN", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Role ARN", + "required": true, + "placeholder": "e.g: arn:aws:iam::123456789012:role/S3Access", + "footerURL": { + "link": "https://www.rudderstack.com/docs/destinations/aws-iam-role-for-rudderstack/", + "text": "Instructions for creating IAM Role" + } + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "S3" + }, + { + "name": "useRudderStorage", + "selectedValue": false + }, + { + "name": "roleBasedAuth", + "selectedValue": false + } + ], + "label": "AWS Access Key ID", + "value": "accessKeyID", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid AWS Access Key ID", + "required": true, + "placeholder": "e.g: access-key-id" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "S3" + }, + { + "name": "useRudderStorage", + "selectedValue": false + }, + { + "name": "roleBasedAuth", + "selectedValue": false + } + ], + "label": "AWS Secret Access Key", + "value": "accessKey", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid AWS Secret Access Key", + "required": true, + "placeholder": "e.g: secret-access-key" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "AZURE_BLOB" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "Azure Blob Storage Account Name", + "value": "accountName", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Azure Blob Storage Account Name", + "required": true, + "placeholder": "e.g: account-name" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "AZURE_BLOB" + }, + { + "name": "useRudderStorage", + "selectedValue": false + }, + { + "name": "useSASTokens", + "selectedValue": false + } + ], + "label": "Azure Blob Storage Account Key", + "value": "accountKey", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Azure Blob Storage Account Key", + "required": true, + "secret": true, + "placeholder": "e.g: account-key" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "AZURE_BLOB" + }, + { + "name": "useRudderStorage", + "selectedValue": false + }, + { + "name": "useSASTokens", + "selectedValue": true + } + ], + "label": "Azure Blob Storage SAS Token", + "value": "sasToken", + "regex": "^(.+)$", + "regexErrorMessage": "Invalid Azure Blob Storage SAS Token", + "required": true, + "placeholder": "e.g: sas-token", + "secret": true + }, + { + "type": "checkbox", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "AZURE_BLOB" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "Use shared access signature (SAS) Tokens", + "value": "useSASTokens", + "default": false, + "footerNote": "Use this to Grant limited access to Azure Storage resources using shared access signatures (SAS)" + }, + { + "type": "textareaInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "GCS" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "Credentials", + "labelNote": "GCP Service Account credentials JSON for RudderStack to use in loading data into your Google Cloud Storage", + "value": "credentials", + "regex": ".*", + "required": true, + "footerNote": "Create a service account in your GCP Project for RudderStack with roles of 'storage.objectCreator'" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "MINIO" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "MinIO Endpoint", + "value": "endPoint", + "regex": "(?!.*\\.ngrok\\.io)^(.{0,100})$", + "regexErrorMessage": "Invalid MinIO Endpoint", + "required": true, + "placeholder": "e.g: play.min.io:9000" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "MINIO" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "MINIO Access Key ID", + "value": "accessKeyID", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid MinIO Access Key ID", + "required": true, + "placeholder": "e.g: access-key-id" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "MINIO" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "MINIO Secret Access Key", + "value": "secretAccessKey", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid MinIO Secret Access Key", + "required": true, + "placeholder": "e.g: secret-access-key" + }, + { + "type": "checkbox", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "MINIO" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "Use SSL for connection", + "value": "useSSL", + "default": true + } + ] + } + ] +} diff --git a/src/configurations/destinations/bingads/db-config.json b/src/configurations/destinations/bingads/db-config.json new file mode 100644 index 000000000..0302f6e2f --- /dev/null +++ b/src/configurations/destinations/bingads/db-config.json @@ -0,0 +1,23 @@ +{ + "name": "BINGADS", + "displayName": "Bing Ads", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": false, + "includeKeys": [ + "tagID", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": ["web"], + "destConfig": { + "defaultConfig": ["tagID", "blacklistedEvents", "whitelistedEvents", "eventFilteringOption"], + "web": ["useNativeSDK", "oneTrustCookieCategories"] + }, + "secretKeys": ["tagID"] + } +} diff --git a/src/configurations/destinations/bingads/metadata.json b/src/configurations/destinations/bingads/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/bingads/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/bingads/schema.json b/src/configurations/destinations/bingads/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/bingads/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/data/destinations/bingads/ui_config.json b/src/configurations/destinations/bingads/ui-config.json similarity index 100% rename from data/destinations/bingads/ui_config.json rename to src/configurations/destinations/bingads/ui-config.json diff --git a/src/configurations/destinations/blueshift/db-config.json b/src/configurations/destinations/blueshift/db-config.json new file mode 100644 index 000000000..8b6334307 --- /dev/null +++ b/src/configurations/destinations/blueshift/db-config.json @@ -0,0 +1,17 @@ +{ + "name": "BLUESHIFT", + "displayName": "Blueshift", + "config": { + "transformAt": "router", + "transformAtV1": "router", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": ["web", "cloud", "mobile"], + "supportedMessageTypes": ["identify", "track", "group"], + "destConfig": { + "defaultConfig": ["eventApiKey", "usersApiKey", "dataCenter"] + }, + "secretKeys": ["eventApiKey", "usersApiKey"] + } +} diff --git a/src/configurations/destinations/blueshift/metadata.json b/src/configurations/destinations/blueshift/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/blueshift/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/blueshift/schema.json b/src/configurations/destinations/blueshift/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/blueshift/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/blueshift/ui-config.json b/src/configurations/destinations/blueshift/ui-config.json new file mode 100644 index 000000000..b05e78ec5 --- /dev/null +++ b/src/configurations/destinations/blueshift/ui-config.json @@ -0,0 +1,50 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Event API Key", + "value": "eventApiKey", + "regex": ".*", + "required": false, + "placeholder": "e.g. b4a29aba5e75dkjc8a18acd920ec1e2e", + "secret": true, + "footerNote": "Event API Key from Account Settings > API Keys" + }, + { + "type": "textInput", + "label": "Users API Key", + "value": "usersApiKey", + "regex": ".*", + "required": false, + "placeholder": "e.g. lko89aba5e75d99c8a18acd920ec1e2e", + "secret": true, + "footerNote": "Users API Key from Account Settings > API Keys" + }, + { + "type": "singleSelect", + "label": "Data Center", + "value": "dataCenter", + "mode": "single", + "options": [ + { + "name": "Standard", + "value": "standard" + }, + { + "name": "EU", + "value": "eu" + } + ], + "defaultOption": { + "name": "Standard", + "value": "standard" + }, + "footerNote": "Select your Blueshift Data Center" + } + ] + } + ] +} diff --git a/src/configurations/destinations/bq/db-config.json b/src/configurations/destinations/bq/db-config.json new file mode 100644 index 000000000..bfd6141ca --- /dev/null +++ b/src/configurations/destinations/bq/db-config.json @@ -0,0 +1,39 @@ +{ + "name": "BQ", + "displayName": "BigQuery", + "category": "warehouse", + "config": { + "transformAt": "router", + "transformAtV1": "router", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "reactnative", + "cloudSource", + "flutter", + "cordova" + ], + "destConfig": { + "defaultConfig": [ + "project", + "location", + "bucketName", + "credentials", + "prefix", + "namespace", + "syncFrequency", + "syncStartAt", + "excludeWindow", + "jsonPaths" + ] + }, + "secretKeys": ["credentials"] + } +} diff --git a/src/configurations/destinations/bq/metadata.json b/src/configurations/destinations/bq/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/bq/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/bq/schema.json b/src/configurations/destinations/bq/schema.json new file mode 100644 index 000000000..6dff45d92 --- /dev/null +++ b/src/configurations/destinations/bq/schema.json @@ -0,0 +1,58 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema", + "type": "object", + "required": ["project", "bucketName", "credentials", "syncFrequency"], + "properties": { + "project": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + }, + "location": { + "type": "string", + "pattern": "(^env[.].*)|^(.{0,100})$" + }, + "bucketName": { + "type": "string", + "pattern": "(^env[.].+)|^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$" + }, + "prefix": { + "type": "string", + "pattern": "(^env[.].*)|^(.{0,100})$" + }, + "namespace": { + "type": "string", + "pattern": "(^env[.].*)|^((?!pg_|PG_|pG_|Pg_).{0,64})$" + }, + "credentials": { + "type": "string", + "pattern": "(^env[.].+)|.+" + }, + "syncFrequency": { + "type": "string", + "pattern": "^(30|60|180|360|720|1440)$", + "default": "30" + }, + "syncStartAt": { + "type": "string" + }, + "excludeWindow": { + "type": "object", + "required": ["excludeWindowStartTime", "excludeWindowEndTime"], + "properties": { + "excludeWindowStartTime": { + "type": "string" + }, + "excludeWindowEndTime": { + "type": "string" + } + } + }, + "jsonPaths": { + "type": "string", + "pattern": "(^env[.].*)|.*" + } + }, + "additionalProperties": true + } +} diff --git a/data/destinations/bq/ui_config.json b/src/configurations/destinations/bq/ui-config.json similarity index 100% rename from data/destinations/bq/ui_config.json rename to src/configurations/destinations/bq/ui-config.json diff --git a/src/configurations/destinations/bqstream/db-config.json b/src/configurations/destinations/bqstream/db-config.json new file mode 100644 index 000000000..5f976655a --- /dev/null +++ b/src/configurations/destinations/bqstream/db-config.json @@ -0,0 +1,29 @@ +{ + "name": "BQSTREAM", + "displayName": "BigQuery Stream", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedMessageTypes": ["track"], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "reactnative", + "cloudSource", + "flutter", + "cordova", + "warehouse" + ], + "destConfig": { + "defaultConfig": ["datasetId", "tableId", "projectId", "credentials", "insertId"] + }, + "secretKeys": ["credentials"] + } +} diff --git a/src/configurations/destinations/bqstream/metadata.json b/src/configurations/destinations/bqstream/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/bqstream/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/bqstream/schema.json b/src/configurations/destinations/bqstream/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/bqstream/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/bqstream/ui-config.json b/src/configurations/destinations/bqstream/ui-config.json new file mode 100644 index 000000000..5bad287e0 --- /dev/null +++ b/src/configurations/destinations/bqstream/ui-config.json @@ -0,0 +1,49 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Project Id", + "value": "projectId", + "required": true, + "placeholder": "my-project-id" + }, + { + "type": "textInput", + "label": "Dataset Id", + "value": "datasetId", + "required": true, + "placeholder": "my-dataset-id" + }, + { + "type": "textInput", + "label": "Table Id", + "value": "tableId", + "required": true, + "placeholder": "my-table-id" + }, + { + "type": "textInput", + "label": "Insert Id", + "labelNote": "Map a column from your payload to enable best effort de-duplication by Google", + "value": "insertId", + "required": false, + "placeholder": "mapped-column-name" + }, + { + "type": "textareaInput", + "subType": "JSON", + "label": "Credentials", + "labelNote": "GCP Service Account credentials JSON for RudderStack to use in loading data into your BigQuery database", + "value": "credentials", + "regex": ".*", + "required": true, + "footerNote": "Create a service account in your GCP Project for RudderStack with roles of 'BigQuery User'", + "secret": true + } + ] + } + ] +} diff --git a/src/configurations/destinations/branch/db-config.json b/src/configurations/destinations/branch/db-config.json new file mode 100644 index 000000000..d14d2dd74 --- /dev/null +++ b/src/configurations/destinations/branch/db-config.json @@ -0,0 +1,35 @@ +{ + "name": "BRANCH", + "displayName": "Branch Metrics", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": ["branchKey", "blacklistedEvents", "whitelistedEvents", "eventFilteringOption"], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["identify", "track"], + "destConfig": { + "defaultConfig": [ + "branchKey", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "android": ["useNativeSDK"], + "ios": ["useNativeSDK"] + }, + "secretKeys": [] + } +} diff --git a/src/configurations/destinations/branch/metadata.json b/src/configurations/destinations/branch/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/branch/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/branch/schema.json b/src/configurations/destinations/branch/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/branch/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/branch/ui-config.json b/src/configurations/destinations/branch/ui-config.json new file mode 100644 index 000000000..4c849fbb1 --- /dev/null +++ b/src/configurations/destinations/branch/ui-config.json @@ -0,0 +1,84 @@ +{ + "uiConfig": [ + { + "title": "1. Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Branch Key", + "value": "branchKey", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Branch Key", + "required": true, + "placeholder": "e.g: key_live_mfMJCn7WLNeXte2aZIDOeobdrvmbZpgD" + } + ] + }, + { + "title": "2. Native SDK", + "fields": [ + { + "type": "checkbox", + "label": "Use device-mode to send events", + "value": "useNativeSDK", + "default": false + } + ] + }, + { + "title": "3. Client-side Events Filtering", + "sectionNote": "Applicable only for device-mode integrations. If enabled, it works only with either allowlisted or denylisted events", + "fields": [ + { + "type": "singleSelect", + "value": "eventFilteringOption", + "required": false, + "options": [ + { + "name": "Disable", + "value": "disable" + }, + { + "name": "Allowlist", + "value": "whitelistedEvents" + }, + { + "name": "Denylist", + "value": "blacklistedEvents" + } + ], + "defaultOption": { + "name": "Disable", + "value": "disable" + } + }, + { + "type": "dynamicCustomForm", + "value": "whitelistedEvents", + "label": "Allowlist", + "customFields": [ + { + "type": "textInput", + "value": "eventName", + "required": false, + "placeholder": "e.g: Anonymous Page Visit" + } + ] + }, + { + "type": "dynamicCustomForm", + "value": "blacklistedEvents", + "label": "Denylist", + "customFields": [ + { + "type": "textInput", + "value": "eventName", + "required": false, + "placeholder": "e.g: Credit Card Added" + } + ] + } + ] + } + ] +} diff --git a/src/configurations/destinations/braze/db-config.json b/src/configurations/destinations/braze/db-config.json new file mode 100644 index 000000000..18d3de411 --- /dev/null +++ b/src/configurations/destinations/braze/db-config.json @@ -0,0 +1,58 @@ +{ + "name": "BRAZE", + "displayName": "Braze", + "config": { + "isAudienceSupported": true, + "supportsVisualMapper": true, + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "appKey", + "dataCenter", + "trackAnonymousUser", + "enableSubscriptionGroupInGroupCall", + "enableLoggingToConsole", + "enableNestedArrayOperations", + "supportDedup", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["group", "identify", "page", "screen", "track"], + "destConfig": { + "defaultConfig": [ + "appKey", + "dataCenter", + "restApiKey", + "trackAnonymousUser", + "enableSubscriptionGroupInGroupCall", + "enableNestedArrayOperations", + "blacklistedEvents", + "trackAnonymousUser", + "whitelistedEvents", + "eventFilteringOption" + ], + "android": ["useNativeSDK", "supportDedup"], + "ios": ["useNativeSDK", "supportDedup"], + "reactnative": ["useNativeSDK"], + "flutter": ["useNativeSDK"], + "web": ["useNativeSDK", "oneTrustCookieCategories", "supportDedup"] + }, + "secretKeys": ["restApiKey"] + } +} diff --git a/src/configurations/destinations/braze/metadata.json b/src/configurations/destinations/braze/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/braze/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/braze/schema.json b/src/configurations/destinations/braze/schema.json new file mode 100644 index 000000000..abda2ae66 --- /dev/null +++ b/src/configurations/destinations/braze/schema.json @@ -0,0 +1,109 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "required": ["appKey", "restApiKey", "dataCenter"], + "type": "object", + "properties": { + "appKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "restApiKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "dataCenter": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "trackAnonymousUser": { + "type": "boolean" + }, + "enableSubscriptionGroupInGroupCall": { + "type": "boolean" + }, + "enableLoggingToConsole": { + "type": "boolean" + }, + "enableNestedArrayOperations": { + "type": "boolean" + }, + "useNativeSDK": { + "type": "object", + "properties": { + "android": { + "type": "boolean" + }, + "ios": { + "type": "boolean" + }, + "reactnative": { + "type": "boolean" + }, + "web": { + "type": "boolean" + } + } + }, + "supportDedup": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + }, + "android": { + "type": "boolean" + }, + "ios": { + "type": "boolean" + } + } + }, + "eventFilteringOption": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + }, + "whitelistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "blacklistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,300})$" + } + } + } + }, + "oneTrustCookieCategories": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } + } + } +} diff --git a/data/destinations/braze/ui_config.json b/src/configurations/destinations/braze/ui-config.json similarity index 100% rename from data/destinations/braze/ui_config.json rename to src/configurations/destinations/braze/ui-config.json diff --git a/src/configurations/destinations/bugsnag/db-config.json b/src/configurations/destinations/bugsnag/db-config.json new file mode 100644 index 000000000..11b2404ee --- /dev/null +++ b/src/configurations/destinations/bugsnag/db-config.json @@ -0,0 +1,27 @@ +{ + "name": "BUGSNAG", + "displayName": "Bugsnag", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "apiKey", + "releaseStage", + "ssl", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": ["android", "ios", "web"], + "destConfig": { + "defaultConfig": ["apiKey", "blacklistedEvents", "whitelistedEvents", "eventFilteringOption"], + "android": ["useNativeSDK"], + "ios": ["useNativeSDK"], + "web": ["useNativeSDK", "releaseStage", "ssl", "oneTrustCookieCategories"] + }, + "secretKeys": ["apiKey"] + } +} diff --git a/src/configurations/destinations/bugsnag/metadata.json b/src/configurations/destinations/bugsnag/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/bugsnag/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/bugsnag/schema.json b/src/configurations/destinations/bugsnag/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/bugsnag/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/data/destinations/bugsnag/ui_config.json b/src/configurations/destinations/bugsnag/ui-config.json similarity index 100% rename from data/destinations/bugsnag/ui_config.json rename to src/configurations/destinations/bugsnag/ui-config.json diff --git a/data/destinations/campaign_manager/db_config.json b/src/configurations/destinations/campaign_manager/db-config.json similarity index 100% rename from data/destinations/campaign_manager/db_config.json rename to src/configurations/destinations/campaign_manager/db-config.json diff --git a/src/configurations/destinations/campaign_manager/metadata.json b/src/configurations/destinations/campaign_manager/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/campaign_manager/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/campaign_manager/schema.json b/src/configurations/destinations/campaign_manager/schema.json new file mode 100644 index 000000000..854b7e520 --- /dev/null +++ b/src/configurations/destinations/campaign_manager/schema.json @@ -0,0 +1,25 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["profileId"], + "properties": { + "profileId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,50})$" + }, + "limitAdTracking": { + "type": "boolean" + }, + "childDirectedTreatment": { + "type": "boolean" + }, + "nonPersonalizedAd": { + "type": "boolean" + }, + "treatmentForUnderage": { + "type": "boolean" + } + } + } +} diff --git a/src/configurations/destinations/campaign_manager/ui-config.json b/src/configurations/destinations/campaign_manager/ui-config.json new file mode 100644 index 000000000..765cc4030 --- /dev/null +++ b/src/configurations/destinations/campaign_manager/ui-config.json @@ -0,0 +1,52 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Profile ID", + "value": "profileId", + "regex": "^(.{1,50})$", + "regexErrorMessage": "Length of Profile ID must be below 50 characters.", + "required": true, + "secret": false, + "placeholder": "e.g: 641234", + "footerNote": "User profile ID associated with request." + }, + { + "type": "checkbox", + "label": "Limit ad tracking", + "value": "limitAdTracking", + "required": false, + "default": false, + "footerNote": "When set to true, the conversion will be used for reporting but not targeting. This will prevent remarketing." + }, + { + "type": "checkbox", + "label": "Child directed treatment", + "value": "childDirectedTreatment", + "required": false, + "default": false, + "footerNote": "Whether this particular request may come from a user under the age of 13, under COPPA compliance." + }, + { + "type": "checkbox", + "label": "Non personalized ad", + "value": "nonPersonalizedAd", + "required": false, + "default": false, + "footerNote": "Whether the conversion was for a non personalized ad." + }, + { + "type": "checkbox", + "label": "Treatment for underage", + "value": "treatmentForUnderage", + "required": false, + "default": false, + "footerNote": "Whether this particular request may come from a user under the age of 16 (may differ by country), under compliance with the European Union's General Data Protection Regulation (GDPR)." + } + ] + } + ] +} diff --git a/src/configurations/destinations/candu/db-config.json b/src/configurations/destinations/candu/db-config.json new file mode 100644 index 000000000..d0da9f9c0 --- /dev/null +++ b/src/configurations/destinations/candu/db-config.json @@ -0,0 +1,28 @@ +{ + "name": "CANDU", + "displayName": "Candu", + "config": { + "transformAt": "router", + "transformAtV1": "router", + "saveDestinationResponse": true, + "includeKeys": ["apiKey"], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "reactnative", + "flutter", + "cordova", + "warehouse" + ], + "supportedMessageTypes": ["identify", "track"], + "destConfig": { + "defaultConfig": ["apiKey"] + }, + "secretKeys": ["apiKey"] + } +} diff --git a/src/configurations/destinations/candu/metadata.json b/src/configurations/destinations/candu/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/candu/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/candu/schema.json b/src/configurations/destinations/candu/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/candu/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/candu/ui-config.json b/src/configurations/destinations/candu/ui-config.json new file mode 100644 index 000000000..2c516748d --- /dev/null +++ b/src/configurations/destinations/candu/ui-config.json @@ -0,0 +1,18 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "API Key", + "value": "apiKey", + "regex": ".*", + "required": true, + "placeholder": "e.g: FXLkULEhGJyvmZ4", + "secret": true + } + ] + } + ] +} diff --git a/src/configurations/destinations/canny/db-config.json b/src/configurations/destinations/canny/db-config.json new file mode 100644 index 000000000..5c1fcc5cd --- /dev/null +++ b/src/configurations/destinations/canny/db-config.json @@ -0,0 +1,28 @@ +{ + "name": "CANNY", + "displayName": "Canny", + "config": { + "transformAt": "router", + "transformAtV1": "router", + "saveDestinationResponse": true, + "includeKeys": ["apiKey", "eventsToEvents"], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "reactnative", + "flutter", + "cordova", + "warehouse" + ], + "supportedMessageTypes": ["identify", "track"], + "destConfig": { + "defaultConfig": ["apiKey", "eventsToEvents"] + }, + "secretKeys": ["apiKey"] + } +} diff --git a/src/configurations/destinations/canny/metadata.json b/src/configurations/destinations/canny/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/canny/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/canny/schema.json b/src/configurations/destinations/canny/schema.json new file mode 100644 index 000000000..753d8a294 --- /dev/null +++ b/src/configurations/destinations/canny/schema.json @@ -0,0 +1,29 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["apiKey"], + "properties": { + "apiKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "eventsToEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } +} diff --git a/src/configurations/destinations/canny/ui-config.json b/src/configurations/destinations/canny/ui-config.json new file mode 100644 index 000000000..09e086a66 --- /dev/null +++ b/src/configurations/destinations/canny/ui-config.json @@ -0,0 +1,45 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "API Key", + "value": "apiKey", + "regex": "^(.{1,100})$", + "regexErrorMessage": "API Key should be less than 100 characters", + "required": true, + "placeholder": "e.g. 4ac23-drfgbef-hb233j-9034-7dgfeb6y", + "secret": true + } + ] + }, + { + "title": "Event Settings", + "fields": [ + { + "type": "dynamicSelectForm", + "label": "Mapping to trigger Canny Events for the respective Event", + "labelLeft": "Event Name", + "labelRight": "Canny Events", + "value": "eventsToEvents", + "keyLeft": "from", + "keyRight": "to", + "required": false, + "placeholderLeft": "e.g: Submit", + "options": [ + { + "name": "Create Post", + "value": "createPost" + }, + { + "name": "Create Vote", + "value": "createVote" + } + ] + } + ] + } + ] +} diff --git a/src/configurations/destinations/chartbeat/db-config.json b/src/configurations/destinations/chartbeat/db-config.json new file mode 100644 index 000000000..7d7384136 --- /dev/null +++ b/src/configurations/destinations/chartbeat/db-config.json @@ -0,0 +1,34 @@ +{ + "name": "CHARTBEAT", + "displayName": "Chartbeat", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "domain", + "uid", + "sendNameAndCategoryAsTitle", + "video", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": ["web"], + "destConfig": { + "defaultConfig": [ + "domain", + "uid", + "sendNameAndCategoryAsTitle", + "video", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "web": ["useNativeSDK", "oneTrustCookieCategories"] + }, + "secretKeys": [] + } +} diff --git a/src/configurations/destinations/chartbeat/metadata.json b/src/configurations/destinations/chartbeat/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/chartbeat/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/chartbeat/schema.json b/src/configurations/destinations/chartbeat/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/chartbeat/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/data/destinations/chartbeat/ui_config.json b/src/configurations/destinations/chartbeat/ui-config.json similarity index 100% rename from data/destinations/chartbeat/ui_config.json rename to src/configurations/destinations/chartbeat/ui-config.json diff --git a/src/configurations/destinations/clevertap/db-config.json b/src/configurations/destinations/clevertap/db-config.json new file mode 100644 index 000000000..9a3f8a955 --- /dev/null +++ b/src/configurations/destinations/clevertap/db-config.json @@ -0,0 +1,53 @@ +{ + "name": "CLEVERTAP", + "displayName": "CleverTap", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "accountId", + "accountToken", + "passcode", + "region", + "trackAnonymous", + "enableObjectIdMapping", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["identify", "page", "screen", "track", "alias"], + "destConfig": { + "defaultConfig": [ + "accountId", + "accountToken", + "passcode", + "region", + "trackAnonymous", + "enableObjectIdMapping", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "web": ["useNativeSDK", "oneTrustCookieCategories"], + "android": ["useNativeSDK"], + "ios": ["useNativeSDK"], + "reactnative": ["useNativeSDK"] + }, + "secretKeys": ["passcode"] + } +} diff --git a/src/configurations/destinations/clevertap/metadata.json b/src/configurations/destinations/clevertap/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/clevertap/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/clevertap/schema.json b/src/configurations/destinations/clevertap/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/clevertap/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/data/destinations/clevertap/ui_config.json b/src/configurations/destinations/clevertap/ui-config.json similarity index 100% rename from data/destinations/clevertap/ui_config.json rename to src/configurations/destinations/clevertap/ui-config.json diff --git a/src/configurations/destinations/clickhouse/db-config.json b/src/configurations/destinations/clickhouse/db-config.json new file mode 100644 index 000000000..bcc0183d7 --- /dev/null +++ b/src/configurations/destinations/clickhouse/db-config.json @@ -0,0 +1,67 @@ +{ + "name": "CLICKHOUSE", + "displayName": "ClickHouse", + "category": "warehouse", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "excludeKeys": [], + "includeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "reactnative", + "cloudSource", + "flutter", + "cordova" + ], + "destConfig": { + "defaultConfig": [ + "host", + "database", + "cluster", + "user", + "password", + "port", + "bucketName", + "bucketProvider", + "containerName", + "iamRoleARN", + "roleBasedAuth", + "accessKeyID", + "accessKey", + "accountKey", + "useSASTokens", + "sasToken", + "accountName", + "credentials", + "secretAccessKey", + "useSSL", + "endPoint", + "prefix", + "syncFrequency", + "syncStartAt", + "enableSSE", + "secure", + "skipVerify", + "caCertificate", + "excludeWindow", + "useRudderStorage" + ] + }, + "secretKeys": [ + "password", + "accessKeyID", + "accessKey", + "accountKey", + "sasToken", + "secretAccessKey", + "credentials" + ] + } +} diff --git a/src/configurations/destinations/clickhouse/metadata.json b/src/configurations/destinations/clickhouse/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/clickhouse/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/clickhouse/schema.json b/src/configurations/destinations/clickhouse/schema.json new file mode 100644 index 000000000..9931b341f --- /dev/null +++ b/src/configurations/destinations/clickhouse/schema.json @@ -0,0 +1,249 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema", + "type": "object", + "required": ["host", "port", "database", "user", "secure", "syncFrequency", "useRudderStorage"], + "properties": { + "host": { + "type": "string", + "pattern": "(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,100})$" + }, + "port": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + }, + "database": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + }, + "cluster": { + "type": "string", + "pattern": "(^env[.].*)|^(.{0,100})$" + }, + "user": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + }, + "password": { + "type": "string", + "pattern": "(^env[.].*)|.*" + }, + "secure": { + "type": "boolean", + "default": false + }, + "skipVerify": { + "type": "boolean" + }, + "caCertificate": { + "type": "string", + "pattern": "(^env[.].*)|.*" + }, + "syncFrequency": { + "type": "string", + "pattern": "^(30|60|180|360|720|1440)$", + "default": "30" + }, + "syncStartAt": { + "type": "string" + }, + "excludeWindow": { + "type": "object", + "required": ["excludeWindowStartTime", "excludeWindowEndTime"], + "properties": { + "excludeWindowStartTime": { + "type": "string" + }, + "excludeWindowEndTime": { + "type": "string" + } + } + }, + "useRudderStorage": { + "type": "boolean", + "default": false + }, + "bucketProvider": { + "type": "string", + "pattern": "^(S3|GCS|AZURE_BLOB|MINIO)$" + } + }, + "allOf": [ + { + "if": { + "properties": { + "secure": { + "const": true + } + }, + "required": ["secure"] + }, + "then": { + "required": ["skipVerify"] + } + }, + { + "if": { + "properties": { + "useRudderStorage": { + "const": false + } + }, + "required": ["useRudderStorage"] + }, + "then": { + "required": ["bucketProvider"] + } + }, + { + "if": { + "properties": { + "bucketProvider": { + "const": "S3" + }, + "useRudderStorage": { + "const": false + } + }, + "required": ["bucketProvider", "useRudderStorage"] + }, + "then": { + "properties": { + "iamRoleARN": { + "type": "string" + }, + "roleBasedAuth": { + "type": "boolean" + }, + "bucketName": { + "type": "string", + "pattern": "(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$" + }, + "accessKeyID": { + "type": "string", + "pattern": "(^env[.].+)|^(.{0,100})$" + }, + "accessKey": { + "type": "string", + "pattern": "(^env[.].+)|^(.{0,100})$" + } + }, + "required": ["bucketName", "accessKeyID", "accessKey"] + } + }, + { + "if": { + "properties": { + "bucketProvider": { + "const": "GCS" + }, + "useRudderStorage": { + "const": false + } + }, + "required": ["bucketProvider", "useRudderStorage"] + }, + "then": { + "properties": { + "bucketName": { + "type": "string", + "pattern": "(^env[.].+)|^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$" + }, + "credentials": { + "type": "string", + "pattern": "(^env[.].+)|.+" + } + }, + "required": ["bucketName", "credentials"] + } + }, + { + "if": { + "properties": { + "bucketProvider": { + "const": "AZURE_BLOB" + }, + "useRudderStorage": { + "const": false + } + }, + "required": ["bucketProvider", "useRudderStorage"] + }, + "then": { + "properties": { + "containerName": { + "type": "string", + "pattern": "(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$" + }, + "accountName": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + } + }, + "required": ["containerName", "accountName"], + "anyOf": [ + { + "properties": { + "accountKey": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + } + }, + "required": ["accountKey"] + }, + { + "properties": { + "sasToken": { + "type": "string", + "pattern": "(^env[.].+)|^(.+)$" + }, + "useSASTokens": { + "const": true + } + }, + "required": ["useSASTokens", "sasToken"] + } + ] + } + }, + { + "if": { + "properties": { + "bucketProvider": { + "const": "MINIO" + }, + "useRudderStorage": { + "const": false + } + }, + "required": ["bucketProvider", "useRudderStorage"] + }, + "then": { + "properties": { + "bucketName": { + "type": "string", + "pattern": "(^env[.].+)|^((?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$" + }, + "accessKeyID": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + }, + "endPoint": { + "type": "string", + "pattern": "(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,100})$" + }, + "secretAccessKey": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + }, + "useSSL": { + "type": "boolean" + } + }, + "required": ["bucketName", "endPoint", "accessKeyID", "secretAccessKey", "useSSL"] + } + } + ], + "additionalProperties": true + } +} diff --git a/src/configurations/destinations/clickhouse/ui-config.json b/src/configurations/destinations/clickhouse/ui-config.json new file mode 100644 index 000000000..d4a2ed0c9 --- /dev/null +++ b/src/configurations/destinations/clickhouse/ui-config.json @@ -0,0 +1,552 @@ +{ + "uiConfig": [ + { + "title": "Connection Credentials", + "fields": [ + { + "type": "textInput", + "label": "Host", + "value": "host", + "regex": "(?!.*\\.ngrok\\.io)^(.{0,100})$$", + "regexErrorMessage": "Invalid Host", + "placeholder": "e.g: clickhouse.mydomain.com", + "required": true + }, + { + "type": "textInput", + "label": "Port", + "value": "port", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Port", + "placeholder": "9000", + "required": true + }, + { + "type": "textInput", + "label": "Database", + "value": "database", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Database", + "placeholder": "e.g: default", + "required": true + }, + { + "type": "textInput", + "label": "Cluster", + "value": "cluster", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Cluster", + "placeholder": "e.g: cluster_name", + "required": false + }, + { + "type": "textInput", + "label": "User", + "value": "user", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid User", + "placeholder": "e.g: default", + "required": true + }, + { + "type": "textInput", + "label": "Password", + "value": "password", + "regex": ".*", + "placeholder": "e.g: rudder-pasword", + "required": false, + "secret": true + }, + { + "type": "checkbox", + "label": "Secure", + "value": "secure", + "default": false + }, + { + "type": "checkbox", + "preRequisiteField": { + "name": "secure", + "selectedValue": true + }, + "label": "Skip verify", + "value": "skipVerify", + "default": false, + "footerNote": "If you are using self signed certificates set this field to true" + }, + { + "type": "textareaInput", + "preRequisiteField": { + "name": "secure", + "selectedValue": true + }, + "label": "CA certificate", + "value": "caCertificate", + "regex": ".*", + "required": false, + "placeholder": "CA Certificate" + }, + { + "type": "singleSelect", + "label": "Sync Frequency", + "value": "syncFrequency", + "options": [ + { + "name": "Every 30 minutes", + "value": "30" + }, + { + "name": "Every 1 hour", + "value": "60" + }, + { + "name": "Every 3 hours", + "value": "180" + }, + { + "name": "Every 6 hours", + "value": "360" + }, + { + "name": "Every 12 hours", + "value": "720" + }, + { + "name": "Every 24 hours", + "value": "1440" + } + ], + "defaultOption": { + "name": "Every 30 minutes", + "value": "30" + }, + "required": false + }, + { + "type": "timePicker", + "label": "Sync Starting At (Optional)", + "value": "syncStartAt", + "options": { + "omitSeconds": true, + "minuteStep": 15 + }, + "required": false, + "footerNote": "Note: Please specify time in UTC" + }, + { + "type": "timeRangePicker", + "label": "Exclude window (Optional)", + "value": "excludeWindow", + "startTime": { + "label": "start time", + "value": "excludeWindowStartTime" + }, + "endTime": { + "label": "end time", + "value": "excludeWindowEndTime" + }, + "options": { + "omitSeconds": true, + "minuteStep": 1 + }, + "required": false, + "footerNote": "Note: Please specify time in UTC" + } + ] + }, + { + "title": "Object Storage Configuration", + "fields": [ + { + "type": "checkbox", + "label": "Use RudderStack managed object storage", + "value": "useRudderStorage", + "default": false, + "footerNote": "Note: Only available for RudderStack managed data planes" + }, + { + "type": "singleSelect", + "label": "Choose your Storage Provider", + "value": "bucketProvider", + "options": [ + { + "name": "S3", + "value": "S3" + }, + { + "name": "GCS", + "value": "GCS" + }, + { + "name": "AZURE_BLOB", + "value": "AZURE_BLOB" + }, + { + "name": "MINIO", + "value": "MINIO" + } + ], + "defaultOption": { + "name": "S3", + "value": "S3" + }, + "required": true, + "preRequisiteField": { + "name": "useRudderStorage", + "selectedValue": false + } + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "S3" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "Staging S3 Storage Bucket Name", + "labelNote": "S3 Bucket to store data before loading into ClickHouse", + "value": "bucketName", + "regex": "^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$", + "regexErrorMessage": "Invalid Staging S3 Storage Bucket Name", + "required": true, + "placeholder": "e.g: s3-event-logs", + "footerNote": "Please make sure the bucket exists in your S3" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "GCS" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "Staging GCS Object Storage Bucket Name", + "labelNote": "GCS Bucket to store data before loading into ClickHouse", + "value": "bucketName", + "regex": "^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$", + "regexErrorMessage": "Invalid Staging GCS Object Storage Bucket Name", + "required": true, + "placeholder": "e.g: gcs-event-logs", + "footerNote": "Please make sure the bucket exists in your GCS" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "AZURE_BLOB" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "Staging Azure Blob Storage Container Name", + "labelNote": "Container to store data before loading into ClickHouse", + "value": "containerName", + "regex": "^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$", + "regexErrorMessage": "Invalid Staging Azure Blob Storage Container Name", + "required": true, + "placeholder": "e.g: azure-event-logs", + "footerNote": "Please make sure the container exists in your Azure Blob Storage" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "MINIO" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "Staging MINIO Storage Bucket Name", + "labelNote": "MINIO Bucket to store data before loading into ClickHouse", + "value": "bucketName", + "regex": "^((?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$", + "regexErrorMessage": "Invalid Staging MINIO Storage Bucket Name", + "required": true, + "placeholder": "e.g: minio-event-logs", + "footerNote": "Please make sure the bucket exists in your MINIO" + }, + { + "type": "checkbox", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "S3" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "Role Based Authentication", + "value": "roleBasedAuth", + "default": false + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "S3" + }, + { + "name": "useRudderStorage", + "selectedValue": false + }, + { + "name": "roleBasedAuth", + "selectedValue": true + } + ], + "label": "IAM Role ARN", + "value": "iamRoleARN", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Role ARN", + "required": true, + "placeholder": "e.g: arn:aws:iam::123456789012:role/S3Access", + "footerURL": { + "link": "https://www.rudderstack.com/docs/destinations/aws-iam-role-for-rudderstack/", + "text": "Instructions for creating IAM Role" + } + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "S3" + }, + { + "name": "useRudderStorage", + "selectedValue": false + }, + { + "name": "roleBasedAuth", + "selectedValue": false + } + ], + "label": "AWS Access Key ID", + "value": "accessKeyID", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid AWS Access Key ID", + "required": true, + "placeholder": "e.g: access-key-id" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "S3" + }, + { + "name": "useRudderStorage", + "selectedValue": false + }, + { + "name": "roleBasedAuth", + "selectedValue": false + } + ], + "label": "AWS Secret Access Key", + "value": "accessKey", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid AWS Secret Access Key", + "required": true, + "placeholder": "e.g: secret-access-key" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "AZURE_BLOB" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "Azure Blob Storage Account Name", + "value": "accountName", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Azure Blob Storage Account Name", + "required": true, + "placeholder": "e.g: account-name" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "AZURE_BLOB" + }, + { + "name": "useRudderStorage", + "selectedValue": false + }, + { + "name": "useSASTokens", + "selectedValue": false + } + ], + "label": "Azure Blob Storage Account Key", + "value": "accountKey", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Azure Blob Storage Account Key", + "required": true, + "secret": true, + "placeholder": "e.g: account-key" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "AZURE_BLOB" + }, + { + "name": "useRudderStorage", + "selectedValue": false + }, + { + "name": "useSASTokens", + "selectedValue": true + } + ], + "label": "Azure Blob Storage SAS Token", + "value": "sasToken", + "regex": "^(.+)$", + "regexErrorMessage": "Invalid Azure Blob Storage SAS Token", + "required": true, + "placeholder": "e.g: sas-token", + "secret": true + }, + { + "type": "checkbox", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "AZURE_BLOB" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "Use shared access signature (SAS) Tokens", + "value": "useSASTokens", + "default": false, + "footerNote": "Use this to Grant limited access to Azure Storage resources using shared access signatures (SAS)" + }, + { + "type": "textareaInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "GCS" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "Credentials", + "labelNote": "GCP Service Account credentials JSON for RudderStack to use in loading data into your Google Cloud Storage", + "value": "credentials", + "regex": ".*", + "regexErrorMessage": "Invalid Credentials", + "required": true, + "footerNote": "Create a service account in your GCP Project for RudderStack with roles of 'storage.objectCreator'" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "MINIO" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "MinIO Endpoint", + "value": "endPoint", + "regex": "(?!.*\\.ngrok\\.io)^(.{0,100})$", + "regexErrorMessage": "Invalid MinIO Endpoint", + "required": true, + "placeholder": "e.g: play.min.io:9000" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "MINIO" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "MINIO Access Key ID", + "value": "accessKeyID", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid MINIO Access Key ID", + "required": true, + "placeholder": "e.g: access-key-id" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "MINIO" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "MINIO Secret Access Key", + "value": "secretAccessKey", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid MINIO Secret Access Key", + "required": true, + "placeholder": "e.g: secret-access-key" + }, + { + "type": "checkbox", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "MINIO" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "Use SSL for connection", + "value": "useSSL", + "default": true + } + ] + } + ] +} diff --git a/src/configurations/destinations/clickup/db-config.json b/src/configurations/destinations/clickup/db-config.json new file mode 100644 index 000000000..ea457aab8 --- /dev/null +++ b/src/configurations/destinations/clickup/db-config.json @@ -0,0 +1,28 @@ +{ + "name": "CLICKUP", + "displayName": "ClickUp", + "config": { + "transformAt": "router", + "transformAtV1": "router", + "saveDestinationResponse": true, + "includeKeys": ["apiToken", "listId", "keyToCustomFieldName", "whitelistedEvents"], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "reactnative", + "flutter", + "cordova", + "warehouse" + ], + "supportedMessageTypes": ["track"], + "destConfig": { + "defaultConfig": ["apiToken", "listId", "keyToCustomFieldName", "whitelistedEvents"] + }, + "secretKeys": ["apiToken"] + } +} diff --git a/src/configurations/destinations/clickup/metadata.json b/src/configurations/destinations/clickup/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/clickup/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/clickup/schema.json b/src/configurations/destinations/clickup/schema.json new file mode 100644 index 000000000..d103f553f --- /dev/null +++ b/src/configurations/destinations/clickup/schema.json @@ -0,0 +1,45 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["apiToken", "listId"], + "properties": { + "apiToken": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "listId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "keyToCustomFieldName": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "whitelistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } +} diff --git a/src/configurations/destinations/clickup/ui-config.json b/src/configurations/destinations/clickup/ui-config.json new file mode 100644 index 000000000..d16d4c584 --- /dev/null +++ b/src/configurations/destinations/clickup/ui-config.json @@ -0,0 +1,68 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "API Token", + "value": "apiToken", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid API Token", + "required": true, + "placeholder": "e.g. pk_880343042_1W64ZBPLP71H5YAYAUEJHSRL", + "secret": true, + "footerNote": "Your API Token" + }, + { + "type": "textInput", + "label": "List ID", + "value": "listId", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid List ID", + "required": true, + "placeholder": "e.g. 175496000", + "secret": false, + "footerNote": "Default List To Create New Task" + } + ] + }, + { + "title": "Custom Fields", + "fields": [ + { + "type": "dynamicForm", + "label": "Mapping to add custom fields while creating a task", + "value": "keyToCustomFieldName", + "required": false, + "labelRight": "ClickUp Custom Field Name", + "labelLeft": "Rudder Payload Property", + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g: abc", + "placeholderRight": "e.g: Industry", + "footerNote": "Map Rudder Properties to ClickUp Custom Fields. Here, properties will be fetched from properties object(message.properties). You can provide multiple Custom Fields of different Lists. Custom field name must be unique within a list to create a task successfully." + } + ] + }, + { + "title": "Client-side Events Filtering", + "fields": [ + { + "type": "dynamicCustomForm", + "value": "whitelistedEvents", + "label": "Allowlist", + "footerNote": "Events not included in the Allowlist will be discarded.", + "customFields": [ + { + "type": "textInput", + "value": "eventName", + "required": false, + "placeholder": "e.g: Anonymous Page Visit" + } + ] + } + ] + } + ] +} diff --git a/src/configurations/destinations/confluent_cloud/db-config.json b/src/configurations/destinations/confluent_cloud/db-config.json new file mode 100644 index 000000000..9a9feb924 --- /dev/null +++ b/src/configurations/destinations/confluent_cloud/db-config.json @@ -0,0 +1,27 @@ +{ + "name": "CONFLUENT_CLOUD", + "displayName": "Confluent Cloud", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "destConfig": { + "defaultConfig": ["bootstrapServer", "topic", "apiKey", "apiSecret"] + }, + "secretKeys": ["apiSecret"] + } +} diff --git a/src/configurations/destinations/confluent_cloud/metadata.json b/src/configurations/destinations/confluent_cloud/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/confluent_cloud/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/confluent_cloud/schema.json b/src/configurations/destinations/confluent_cloud/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/confluent_cloud/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/confluent_cloud/ui-config.json b/src/configurations/destinations/confluent_cloud/ui-config.json new file mode 100644 index 000000000..eed164ec6 --- /dev/null +++ b/src/configurations/destinations/confluent_cloud/ui-config.json @@ -0,0 +1,46 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Bootstrap server", + "value": "bootstrapServer", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Bootstrap server", + "required": true, + "placeholder": "e.g: test.region.provider.confluent.cloud:9092" + }, + { + "type": "textInput", + "label": "Topic Name", + "value": "topic", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Topic Name", + "required": true, + "placeholder": "e.g: test-topic" + }, + { + "type": "textInput", + "label": "API Key", + "value": "apiKey", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid API Key", + "required": true, + "placeholder": "PHGHQ3SPPQXAX9GC" + }, + { + "type": "textInput", + "label": "API Secret", + "value": "apiSecret", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid API Secret", + "required": true, + "placeholder": "xN9LCvHf5gX6lcifpDQPH7Hjx8RgQjO2PCqkZqAy//TAYQXYd4YxXWsxCtMKDmVm", + "secret": true + } + ] + } + ] +} diff --git a/src/configurations/destinations/convertflow/db-config.json b/src/configurations/destinations/convertflow/db-config.json new file mode 100644 index 000000000..85cfc8435 --- /dev/null +++ b/src/configurations/destinations/convertflow/db-config.json @@ -0,0 +1,35 @@ +{ + "name": "CONVERTFLOW", + "displayName": "Convertflow", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "websiteId", + "toggleToSendData", + "eventsList", + "eventsMappping", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": ["web"], + "supportedMessageTypes": ["identify"], + "destConfig": { + "defaultConfig": [ + "websiteId", + "toggleToSendData", + "eventsList", + "eventsMappping", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "web": ["useNativeSDK", "oneTrustCookieCategories"] + }, + "secretKeys": ["websiteId"] + } +} diff --git a/src/configurations/destinations/convertflow/metadata.json b/src/configurations/destinations/convertflow/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/convertflow/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/convertflow/schema.json b/src/configurations/destinations/convertflow/schema.json new file mode 100644 index 000000000..ca59fbfc9 --- /dev/null +++ b/src/configurations/destinations/convertflow/schema.json @@ -0,0 +1,85 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["websiteId"], + "properties": { + "websiteId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,10})$" + }, + "toggleToSendData": { + "type": "boolean" + }, + "eventsList": { + "type": "string", + "pattern": "^(cfReady|cfView|cfConversion|cfCompletion|cfAddToCart|cfSubmit|cfClose)$" + }, + "eventsMappping": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "whitelistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "blacklistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "useNativeSDK": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "oneTrustCookieCategories": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } + } + } +} diff --git a/data/destinations/convertflow/ui_config.json b/src/configurations/destinations/convertflow/ui-config.json similarity index 100% rename from data/destinations/convertflow/ui_config.json rename to src/configurations/destinations/convertflow/ui-config.json diff --git a/src/configurations/destinations/criteo/db-config.json b/src/configurations/destinations/criteo/db-config.json new file mode 100644 index 000000000..5d1741c84 --- /dev/null +++ b/src/configurations/destinations/criteo/db-config.json @@ -0,0 +1,36 @@ +{ + "name": "CRITEO", + "displayName": "Criteo", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "accountId", + "homePageUrl", + "hashMethod", + "fieldMapping", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption", + "eventsToStandard" + ], + "excludeKeys": [], + "supportedSourceTypes": ["web"], + "destConfig": { + "defaultConfig": [ + "accountId", + "homePageUrl", + "hashMethod", + "fieldMapping", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption", + "eventsToStandard" + ], + "web": ["useNativeSDK", "oneTrustCookieCategories"] + }, + "secretKeys": ["accountId"] + } +} diff --git a/src/configurations/destinations/criteo/metadata.json b/src/configurations/destinations/criteo/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/criteo/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/criteo/schema.json b/src/configurations/destinations/criteo/schema.json new file mode 100644 index 000000000..45c90bc15 --- /dev/null +++ b/src/configurations/destinations/criteo/schema.json @@ -0,0 +1,106 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "required": ["accountId"], + "type": "object", + "properties": { + "accountId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[1-9]+$" + }, + "homePageUrl": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,100})$" + }, + "hashMethod": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "fieldMapping": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "whitelistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "blacklistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "oneTrustCookieCategories": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + }, + "eventFilteringOption": { + "type": "string", + "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + }, + "eventsToStandard": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "useNativeSDK": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + } + } + } +} diff --git a/data/destinations/criteo/ui_config.json b/src/configurations/destinations/criteo/ui-config.json similarity index 100% rename from data/destinations/criteo/ui_config.json rename to src/configurations/destinations/criteo/ui-config.json diff --git a/src/configurations/destinations/custify/db-config.json b/src/configurations/destinations/custify/db-config.json new file mode 100644 index 000000000..7dd728a2c --- /dev/null +++ b/src/configurations/destinations/custify/db-config.json @@ -0,0 +1,27 @@ +{ + "name": "CUSTIFY", + "displayName": "Custify", + "config": { + "transformAt": "router", + "transformAtV1": "router", + "saveDestinationResponse": true, + "includeKeys": ["apiKey", "sendAnonymousId"], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["identify", "group", "track"], + "destConfig": { + "defaultConfig": ["apiKey", "sendAnonymousId"] + } + } +} diff --git a/src/configurations/destinations/custify/metadata.json b/src/configurations/destinations/custify/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/custify/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/custify/schema.json b/src/configurations/destinations/custify/schema.json new file mode 100644 index 000000000..e2e81316e --- /dev/null +++ b/src/configurations/destinations/custify/schema.json @@ -0,0 +1,16 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["apiKey"], + "properties": { + "apiKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,61})$" + }, + "sendAnonymousId": { + "type": "boolean" + } + } + } +} diff --git a/src/configurations/destinations/custify/ui-config.json b/src/configurations/destinations/custify/ui-config.json new file mode 100644 index 000000000..e4632520f --- /dev/null +++ b/src/configurations/destinations/custify/ui-config.json @@ -0,0 +1,24 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "API Key", + "value": "apiKey", + "regex": "^(.{0,61})$", + "regexErrorMessage": "Invalid API Key", + "required": true, + "placeholder": "e.g: Tudc...5G4z" + }, + { + "type": "checkbox", + "label": "Fall back to anonymousId if userId is not present", + "value": "sendAnonymousId", + "default": false + } + ] + } + ] +} diff --git a/src/configurations/destinations/customerio/db-config.json b/src/configurations/destinations/customerio/db-config.json new file mode 100644 index 000000000..f31fde4f5 --- /dev/null +++ b/src/configurations/destinations/customerio/db-config.json @@ -0,0 +1,47 @@ +{ + "name": "CUSTOMERIO", + "displayName": "Customer IO", + "config": { + "supportsVisualMapper": true, + "isAudienceSupported": true, + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "apiKey", + "siteID", + "datacenterEU", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["identify", "page", "screen", "track", "alias"], + "destConfig": { + "defaultConfig": [ + "apiKey", + "siteID", + "datacenterEU", + "deviceTokenEventName", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "web": ["useNativeSDK", "oneTrustCookieCategories"] + }, + "secretKeys": [] + } +} diff --git a/src/configurations/destinations/customerio/metadata.json b/src/configurations/destinations/customerio/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/customerio/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/customerio/schema.json b/src/configurations/destinations/customerio/schema.json new file mode 100644 index 000000000..c1a5e3fc4 --- /dev/null +++ b/src/configurations/destinations/customerio/schema.json @@ -0,0 +1,77 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["siteID", "apiKey"], + "properties": { + "siteID": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "apiKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "deviceTokenEventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "datacenterEU": { + "type": "boolean" + }, + "useNativeSDK": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "eventFilteringOption": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(^(disable|whitelistedEvents|blacklistedEvents)$)" + }, + "whitelistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "blacklistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "oneTrustCookieCategories": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } + } + } +} diff --git a/data/destinations/customerio/ui_config.json b/src/configurations/destinations/customerio/ui-config.json similarity index 100% rename from data/destinations/customerio/ui_config.json rename to src/configurations/destinations/customerio/ui-config.json diff --git a/src/configurations/destinations/dcm_floodlight/db-config.json b/src/configurations/destinations/dcm_floodlight/db-config.json new file mode 100644 index 000000000..a87bdb6be --- /dev/null +++ b/src/configurations/destinations/dcm_floodlight/db-config.json @@ -0,0 +1,61 @@ +{ + "name": "DCM_FLOODLIGHT", + "displayName": "DCM Floodlight", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "cdkEnabled": true, + "saveDestinationResponse": true, + "includeKeys": [ + "advertiserId", + "activityTag", + "groupTag", + "conversionEvents", + "conversionLinker", + "allowAdPersonalizationSignals", + "tagFormat", + "doubleclickId", + "googleNetworkId", + "eventFilteringOption", + "whitelistedEvents", + "blacklistedEvents", + "oneTrustCookieCategories" + ], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "reactnative", + "flutter", + "cordova", + "warehouse", + "web" + ], + "supportedMessageTypes": ["track", "page"], + "destConfig": { + "defaultConfig": [ + "advertiserId", + "activityTag", + "groupTag", + "conversionEvents", + "eventFilteringOption", + "whitelistedEvents", + "blacklistedEvents" + ], + "web": [ + "useNativeSDK", + "conversionLinker", + "allowAdPersonalizationSignals", + "tagFormat", + "doubleclickId", + "googleNetworkId", + "oneTrustCookieCategories" + ] + }, + "secretKeys": ["advertiserId"] + } +} diff --git a/src/configurations/destinations/dcm_floodlight/metadata.json b/src/configurations/destinations/dcm_floodlight/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/dcm_floodlight/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/dcm_floodlight/schema.json b/src/configurations/destinations/dcm_floodlight/schema.json new file mode 100644 index 000000000..cf9a87881 --- /dev/null +++ b/src/configurations/destinations/dcm_floodlight/schema.json @@ -0,0 +1,150 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["advertiserId"], + "properties": { + "advertiserId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^([0-9]{0,100})$" + }, + "activityTag": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "groupTag": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "conversionEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "floodlightActivityTag": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "floodlightGroupTag": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "salesTag": { + "type": "boolean" + }, + "customVariables": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^([0-9]{0,100})$" + } + } + } + } + } + } + }, + "eventFilteringOption": { + "type": "string", + "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + }, + "whitelistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "blacklistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "useNativeSDK": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "tagFormat": { + "type": "string", + "pattern": "(^env[.].+)|^(globalSiteTag|iframeTag)$" + }, + "conversionLinker": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "allowAdPersonalizationSignals": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "doubleclickId": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "googleNetworkId": { + "type": "object", + "properties": { + "web": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + }, + "oneTrustCookieCategories": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } + } + } +} diff --git a/data/destinations/dcm_floodlight/ui_config.json b/src/configurations/destinations/dcm_floodlight/ui-config.json similarity index 100% rename from data/destinations/dcm_floodlight/ui_config.json rename to src/configurations/destinations/dcm_floodlight/ui-config.json diff --git a/src/configurations/destinations/delighted/db-config.json b/src/configurations/destinations/delighted/db-config.json new file mode 100644 index 000000000..58e9bed27 --- /dev/null +++ b/src/configurations/destinations/delighted/db-config.json @@ -0,0 +1,28 @@ +{ + "name": "DELIGHTED", + "displayName": "Delighted", + "config": { + "transformAt": "router", + "transformAtV1": "router", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "reactnative", + "flutter", + "cordova", + "warehouse" + ], + "supportedMessageTypes": ["alias", "identify", "track"], + "destConfig": { + "defaultConfig": ["apiKey", "channel", "delay", "eventNamesSettings"] + }, + "secretKeys": ["apiKey"] + } +} diff --git a/src/configurations/destinations/delighted/metadata.json b/src/configurations/destinations/delighted/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/delighted/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/delighted/schema.json b/src/configurations/destinations/delighted/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/delighted/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/delighted/ui-config.json b/src/configurations/destinations/delighted/ui-config.json new file mode 100644 index 000000000..5a05bd3ca --- /dev/null +++ b/src/configurations/destinations/delighted/ui-config.json @@ -0,0 +1,67 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "API Key", + "value": "apiKey", + "regex": ".*", + "required": true, + "placeholder": "e.g. tZrPAgHyn2jMWOVGKrS6gBGLYT8v9kJE", + "secret": true, + "footerNote": "Your API Key" + }, + { + "type": "singleSelect", + "label": "Channel", + "value": "channel", + "required": true, + "placeholder": "Email", + "options": [ + { + "name": "Email", + "value": "email" + }, + { + "name": "SMS", + "value": "sms" + } + ], + "defaultOption": { + "name": "Email", + "value": "email" + } + }, + { + "type": "textInput", + "label": "Delay", + "value": "delay", + "required": false, + "placeholder": "e.g. 60", + "default": "0", + "footerNote": "The amount of seconds to wait before sending the survey email." + } + ] + }, + { + "title": "Event Names", + "fields": [ + { + "type": "dynamicCustomForm", + "value": "eventNamesSettings", + "customFields": [ + { + "type": "textInput", + "label": "Event", + "value": "event", + "required": false, + "placeholder": "e.g: Product Reviewed" + } + ] + } + ] + } + ] +} diff --git a/src/configurations/destinations/deltalake/db-config.json b/src/configurations/destinations/deltalake/db-config.json new file mode 100644 index 000000000..5df9681b4 --- /dev/null +++ b/src/configurations/destinations/deltalake/db-config.json @@ -0,0 +1,63 @@ +{ + "name": "DELTALAKE", + "displayName": "Databricks (Delta Lake)", + "category": "warehouse", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "cloudSource", + "flutter", + "cordova" + ], + "destConfig": { + "defaultConfig": [ + "host", + "port", + "path", + "token", + "namespace", + "bucketProvider", + "bucketName", + "containerName", + "prefix", + "useSTSTokens", + "iamRoleARN", + "roleBasedAuth", + "accessKeyID", + "accessKey", + "enableSSE", + "accountName", + "accountKey", + "useSASTokens", + "sasToken", + "credentials", + "syncFrequency", + "syncStartAt", + "excludeWindow", + "enableExternalLocation", + "externalLocation" + ] + }, + "secretKeys": [ + "accessKeyID", + "accessKey", + "accountName", + "accountKey", + "sasToken", + "credentials", + "token" + ] + } +} diff --git a/src/configurations/destinations/deltalake/metadata.json b/src/configurations/destinations/deltalake/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/deltalake/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/deltalake/schema.json b/src/configurations/destinations/deltalake/schema.json new file mode 100644 index 000000000..c0e1ae595 --- /dev/null +++ b/src/configurations/destinations/deltalake/schema.json @@ -0,0 +1,208 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema", + "type": "object", + "required": ["host", "port", "path", "token", "syncFrequency", "bucketProvider"], + "properties": { + "host": { + "type": "string", + "pattern": "(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,100})$" + }, + "port": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + }, + "path": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + }, + "token": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + }, + "namespace": { + "type": "string", + "pattern": "(^env[.].*)|^((?!pg_|PG_|pG_|Pg_).{0,64})$" + }, + "syncFrequency": { + "type": "string", + "pattern": "^(30|60|180|360|720|1440)$", + "default": "30" + }, + "syncStartAt": { + "type": "string" + }, + "excludeWindow": { + "type": "object", + "required": ["excludeWindowStartTime", "excludeWindowEndTime"], + "properties": { + "excludeWindowStartTime": { + "type": "string" + }, + "excludeWindowEndTime": { + "type": "string" + } + } + }, + "prefix": { + "type": "string", + "pattern": "(^env[.].*)|^(.{0,100})$" + }, + "bucketProvider": { + "type": "string", + "pattern": "^(S3|GCS|AZURE_BLOB)$" + }, + "enableExternalLocation": { + "type": "boolean", + "default": false + } + }, + "allOf": [ + { + "if": { + "properties": { + "enableExternalLocation": { + "const": "true" + } + }, + "required": ["enableExternalLocation"] + }, + "then": { + "properties": { + "externalLocation": { + "type": "string", + "pattern": "(^env[.].*)|.*" + } + }, + "required": ["externalLocation"] + } + }, + { + "if": { + "properties": { + "bucketProvider": { + "const": "S3" + } + }, + "required": ["bucketProvider"] + }, + "then": { + "properties": { + "bucketName": { + "type": "string", + "pattern": "(^env[.].*)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$" + }, + "enableSSE": { + "type": "boolean" + }, + "useSTSTokens": { + "type": "boolean" + } + }, + "required": ["bucketName", "enableSSE", "useSTSTokens"] + }, + "allOf": [ + { + "if": { + "properties": { + "useSTSTokens": { + "const": true + } + }, + "required": ["useSTSTokens"] + }, + "then": { + "properties": { + "iamRoleARN": { + "type": "string" + }, + "roleBasedAuth": { + "type": "boolean" + }, + "accessKeyID": { + "type": "string", + "pattern": "(^env[.].*)|^(.{0,100})$" + }, + "accessKey": { + "type": "string", + "pattern": "(^env[.].*)|^(.{0,100})$" + } + }, + "required": ["accessKeyID", "accessKey"] + } + } + ] + }, + { + "if": { + "properties": { + "bucketProvider": { + "const": "GCS" + } + }, + "required": ["bucketProvider"] + }, + "then": { + "properties": { + "bucketName": { + "type": "string", + "pattern": "(^env[.].*)|^((?!goog)(?!.*google.*)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$" + }, + "credentials": { + "type": "string", + "pattern": "(^env[.].+)|.+" + } + }, + "required": ["bucketName", "credentials"] + } + }, + { + "if": { + "properties": { + "bucketProvider": { + "const": "AZURE_BLOB" + } + }, + "required": ["bucketProvider"] + }, + "then": { + "properties": { + "containerName": { + "type": "string", + "pattern": "(^env[.].*)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$" + }, + "accountName": { + "type": "string", + "pattern": "(^env[.].*)|^(.{1,100})$" + } + }, + "required": ["containerName", "accountName"], + "anyOf": [ + { + "properties": { + "accountKey": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + } + }, + "required": ["accountKey"] + }, + { + "properties": { + "sasToken": { + "type": "string", + "pattern": "(^env[.].+)|^(.+)$" + }, + "useSASTokens": { + "const": true + } + }, + "required": ["useSASTokens", "sasToken"] + } + ] + } + } + ], + "additionalProperties": true + } +} diff --git a/src/configurations/destinations/deltalake/ui-config.json b/src/configurations/destinations/deltalake/ui-config.json new file mode 100644 index 000000000..20c3a5471 --- /dev/null +++ b/src/configurations/destinations/deltalake/ui-config.json @@ -0,0 +1,439 @@ +{ + "uiConfig": [ + { + "title": "Connection Credentials", + "fields": [ + { + "type": "textInput", + "label": "Host", + "value": "host", + "regex": "(?!.*\\.ngrok\\.io)^(.{1,100})$", + "regexErrorMessage": "Invalid Host", + "placeholder": "xxx.cloud.databricks.com", + "required": true + }, + { + "type": "textInput", + "label": "Port", + "value": "port", + "regex": "^(.{1,100})$", + "regexErrorMessage": "Invalid Port", + "placeholder": "443", + "required": true + }, + { + "type": "textInput", + "label": "HTTP Path", + "value": "path", + "regex": "^(.{1,100})$", + "regexErrorMessage": "Invalid HTTP Path", + "placeholder": "sql/protocolv1/o// or /sql/1.0/endpoints/", + "required": true + }, + { + "type": "textInput", + "label": "Personal Access Token", + "value": "token", + "regex": "^(.{1,100})$", + "regexErrorMessage": "Invalid Access Token", + "placeholder": "e.g: ", + "required": true, + "secret": true + }, + { + "type": "checkbox", + "label": "Enable delta tables creation in an external location", + "value": "enableExternalLocation", + "default": false + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "enableExternalLocation", + "selectedValue": true + } + ], + "label": "External delta table location", + "value": "externalLocation", + "regex": "^(.{1,100})$", + "regexErrorMessage": "Invalid External Delta Table Location", + "placeholder": "/path/to/delta/table", + "required": true, + "footerNote": "This can only be applied to the new delta tables created by RudderStack. For already existing tables, RudderStack do not recreate the tables again.", + "footerURL": { + "link": "https://www.rudderstack.com/docs/data-warehouse-integrations/delta-lake/#faqs", + "text": "Please refer to the FAQs section, before you wanted to make any changes around managed and unmanaged tables provided by the Databricks." + } + }, + { + "type": "textInput", + "label": "Namespace", + "labelNote": "Schema name for the warehouse where the tables are created", + "value": "namespace", + "regex": "^((?!pg_|PG_|pG_|Pg_).{0,64})$", + "regexErrorMessage": "Invalid Namespace", + "required": false, + "placeholder": "e.g: iosSource", + "footerNote": "Default will be the source name" + }, + { + "type": "singleSelect", + "label": "Sync Frequency", + "value": "syncFrequency", + "options": [ + { + "name": "Every 30 minutes", + "value": "30" + }, + { + "name": "Every 1 hour", + "value": "60" + }, + { + "name": "Every 3 hours", + "value": "180" + }, + { + "name": "Every 6 hours", + "value": "360" + }, + { + "name": "Every 12 hours", + "value": "720" + }, + { + "name": "Every 24 hours", + "value": "1440" + } + ], + "defaultOption": { + "name": "Every 30 minutes", + "value": "30" + }, + "required": false + }, + { + "type": "timePicker", + "label": "Sync Starting At (Optional)", + "value": "syncStartAt", + "options": { + "omitSeconds": true, + "minuteStep": 15 + }, + "required": false, + "footerNote": "Note: Please specify time in UTC" + }, + { + "type": "timeRangePicker", + "label": "Exclude window (Optional)", + "value": "excludeWindow", + "startTime": { + "label": "start time", + "value": "excludeWindowStartTime" + }, + "endTime": { + "label": "end time", + "value": "excludeWindowEndTime" + }, + "options": { + "omitSeconds": true, + "minuteStep": 1 + }, + "required": false, + "footerNote": "Note: Please specify time in UTC" + } + ] + }, + { + "title": "Object Storage Configuration", + "fields": [ + { + "type": "singleSelect", + "label": "Choose your Storage Provider", + "value": "bucketProvider", + "options": [ + { + "name": "S3", + "value": "S3" + }, + { + "name": "GCS", + "value": "GCS" + }, + { + "name": "AZURE_BLOB", + "value": "AZURE_BLOB" + } + ], + "defaultOption": { + "name": "S3", + "value": "S3" + }, + "required": true + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "S3" + } + ], + "label": "Staging S3 Storage Bucket Name", + "labelNote": "S3 Bucket to store data before loading into DeltaLake", + "value": "bucketName", + "regex": "^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$", + "regexErrorMessage": "Invalid Staging S3 Storage Bucket Name", + "required": true, + "placeholder": "e.g: s3-event-logs", + "footerNote": "Please make sure the bucket exists in your S3" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "GCS" + } + ], + "label": "Staging GCS Object Storage Bucket Name", + "labelNote": "GCS Bucket to store data before loading into DeltaLake", + "value": "bucketName", + "regex": "^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$", + "regexErrorMessage": "Invalid Staging GCS Object Storage Bucket Name", + "required": true, + "placeholder": "e.g: gcs-event-logs", + "footerNote": "Please make sure the bucket exists in your GCS" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "AZURE_BLOB" + } + ], + "label": "Staging Azure Blob Storage Container Name", + "labelNote": "Container to store data before loading into DeltaLake", + "value": "containerName", + "regex": "^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$", + "regexErrorMessage": "Invalid Staging Azure Blob Storage Container Name", + "required": true, + "placeholder": "e.g: azure-event-logs", + "footerNote": "Please make sure the container exists in your Azure Blob Storage" + }, + { + "type": "textInput", + "label": "Prefix", + "value": "prefix", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Prefix", + "required": false, + "placeholder": "e.g: rudder" + }, + { + "type": "checkbox", + "label": "Use STS Tokens to copy staging files", + "value": "useSTSTokens", + "default": false, + "footerNote": "Note: This feature is only supported with databricks S3A client.", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "S3" + } + ] + }, + { + "type": "checkbox", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "S3" + }, + { + "name": "useSTSTokens", + "selectedValue": true + } + ], + "label": "Role Based Authentication", + "value": "roleBasedAuth", + "default": false + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "S3" + }, + { + "name": "useSTSTokens", + "selectedValue": true + }, + { + "name": "roleBasedAuth", + "selectedValue": true + } + ], + "label": "IAM Role ARN", + "value": "iamRoleARN", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Role ARN", + "required": true, + "placeholder": "e.g: arn:aws:iam::123456789012:role/S3Access", + "footerURL": { + "link": "https://www.rudderstack.com/docs/destinations/aws-iam-role-for-rudderstack/", + "text": "Instructions for creating IAM Role" + } + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "S3" + }, + { + "name": "useSTSTokens", + "selectedValue": true + }, + { + "name": "roleBasedAuth", + "selectedValue": false + } + ], + "label": "AWS Access Key ID", + "value": "accessKeyID", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid AWS Access Key ID", + "required": true, + "placeholder": "e.g: access-key-id", + "secret": true + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "S3" + }, + { + "name": "useSTSTokens", + "selectedValue": true + }, + { + "name": "roleBasedAuth", + "selectedValue": false + } + ], + "label": "AWS Secret Access Key", + "value": "accessKey", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid AWS Secret Access Key", + "required": true, + "placeholder": "e.g: secret-access-key", + "secret": true + }, + { + "type": "checkbox", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "S3" + } + ], + "label": "Enable Server Side Encryption For S3?", + "value": "enableSSE", + "default": false + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "AZURE_BLOB" + } + ], + "label": "Azure Blob Storage Account Name", + "value": "accountName", + "regex": "^(.{1,100})$", + "regexErrorMessage": "Invalid Azure Blob Storage Account Name", + "required": true, + "secret": true, + "placeholder": "e.g: account-name" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "AZURE_BLOB" + }, + { + "name": "useSASTokens", + "selectedValue": false + } + ], + "label": "Azure Blob Storage Account Key", + "value": "accountKey", + "regex": "^(.{1,100})$", + "regexErrorMessage": "Invalid Azure Blob Storage Account Key", + "required": true, + "secret": true, + "placeholder": "e.g: account-key" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "AZURE_BLOB" + }, + { + "name": "useSASTokens", + "selectedValue": true + } + ], + "label": "Azure Blob Storage SAS Token", + "value": "sasToken", + "regex": "^(.+)$", + "regexErrorMessage": "Invalid Azure Blob Storage SAS Token", + "required": true, + "placeholder": "e.g: sas-token", + "secret": true + }, + { + "type": "checkbox", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "AZURE_BLOB" + } + ], + "label": "Use shared access signature (SAS) Tokens", + "value": "useSASTokens", + "default": false, + "footerNote": "Use this to Grant limited access to Azure Storage resources using shared access signatures (SAS)" + }, + { + "type": "textareaInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "GCS" + } + ], + "label": "Credentials", + "labelNote": "GCP Service Account credentials JSON for RudderStack to use in loading data into your Google Cloud Storage", + "value": "credentials", + "regex": ".*", + "required": true, + "secret": true, + "footerNote": "Create a service account in your GCP Project for RudderStack with roles of 'storage.objectCreator'" + } + ] + } + ] +} diff --git a/src/configurations/destinations/digital_ocean_spaces/db-config.json b/src/configurations/destinations/digital_ocean_spaces/db-config.json new file mode 100644 index 000000000..b6df7573a --- /dev/null +++ b/src/configurations/destinations/digital_ocean_spaces/db-config.json @@ -0,0 +1,27 @@ +{ + "name": "DIGITAL_OCEAN_SPACES", + "displayName": "DigitalOcean Spaces", + "config": { + "transformAt": "none", + "transformAtV1": "none", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "cordova", + "warehouse", + "reactnative", + "flutter" + ], + "destConfig": { + "defaultConfig": ["endPoint", "accessKeyID", "accessKey", "bucketName", "prefix"] + }, + "secretKeys": ["accessKeyID", "secretAccessKey"] + } +} diff --git a/src/configurations/destinations/digital_ocean_spaces/metadata.json b/src/configurations/destinations/digital_ocean_spaces/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/digital_ocean_spaces/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/digital_ocean_spaces/schema.json b/src/configurations/destinations/digital_ocean_spaces/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/digital_ocean_spaces/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/digital_ocean_spaces/ui-config.json b/src/configurations/destinations/digital_ocean_spaces/ui-config.json new file mode 100644 index 000000000..e9ee3b835 --- /dev/null +++ b/src/configurations/destinations/digital_ocean_spaces/ui-config.json @@ -0,0 +1,57 @@ +{ + "uiConfig": [ + { + "title": "1. Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "DigitalOcean Spaces Endpoint", + "value": "endPoint", + "regex": "(?!.*\\.ngrok\\.io)^(.{0,100})$", + "regexErrorMessage": "Invalid DigitalOcean Spaces Endpoint", + "required": true, + "placeholder": "e.g: sgp1.digitaloceanspaces.com", + "footerNote": "Please make sure to include region in endpoint" + }, + { + "type": "textInput", + "label": "Spaces Access Key ID", + "value": "accessKeyID", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Spaces Access Key ID", + "required": true, + "placeholder": "e.g: CYKPHWDRAFHTHABAVGF6", + "secret": true + }, + { + "type": "textInput", + "label": "Spaces Access Key Secret", + "value": "accessKey", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Spaces Access Key Secret", + "required": true, + "placeholder": "e.g: zuftfteSlswRu7BJ86wekitnifILbZam1KYY3TG", + "secret": true + }, + { + "type": "textInput", + "label": "Spaces Bucket Name", + "value": "bucketName", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Spaces Bucket Name", + "required": true, + "placeholder": "e.g: event-bucket" + }, + { + "type": "textInput", + "label": "Prefix", + "value": "prefix", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Prefix", + "required": false, + "placeholder": "rudder" + } + ] + } + ] +} diff --git a/src/configurations/destinations/discord/db-config.json b/src/configurations/destinations/discord/db-config.json new file mode 100644 index 000000000..d9e88b235 --- /dev/null +++ b/src/configurations/destinations/discord/db-config.json @@ -0,0 +1,36 @@ +{ + "name": "DISCORD", + "displayName": "Discord", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["identify", "track"], + "destConfig": { + "defaultConfig": [ + "identifyTemplate", + "embedTitleTemplate", + "embedDescriptionTemplate", + "embedFlag", + "eventTemplateSettings", + "webhookUrl", + "whitelistedTraitsSettings" + ] + }, + "secretKeys": [] + } +} diff --git a/src/configurations/destinations/discord/metadata.json b/src/configurations/destinations/discord/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/discord/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/discord/schema.json b/src/configurations/destinations/discord/schema.json new file mode 100644 index 000000000..716eab97f --- /dev/null +++ b/src/configurations/destinations/discord/schema.json @@ -0,0 +1,59 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["webhookUrl"], + "properties": { + "webhookUrl": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(https?|ftp)://[^\\s/$.?#].[^\\s]*$" + }, + "identifyTemplate": { + "type": "string", + "pattern": "^(.{0,1000})$" + }, + "embedFlag": { + "type": "boolean" + }, + "embedTitleTemplate": { + "type": "string", + "pattern": "^(.{0,1000})$" + }, + "embedDescriptionTemplate": { + "type": "string", + "pattern": "^(.{0,1000})$" + }, + "eventTemplateSettings": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "^(.{0,100})$" + }, + "eventTemplate": { + "type": "string", + "pattern": "^(.{0,100})$" + }, + "eventRegex": { + "type": "boolean" + } + } + } + }, + "whitelistedTraitsSettings": { + "type": "array", + "items": { + "type": "object", + "properties": { + "trait": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})" + } + } + } + } + } + } +} diff --git a/src/configurations/destinations/discord/ui-config.json b/src/configurations/destinations/discord/ui-config.json new file mode 100644 index 000000000..5429827df --- /dev/null +++ b/src/configurations/destinations/discord/ui-config.json @@ -0,0 +1,134 @@ +{ + "uiConfig": [ + { + "title": "Identify Template", + "fields": [ + { + "type": "textInput", + "label": "Identify Template", + "value": "identifyTemplate", + "regex": "^(.{0,1000})$", + "regexErrorMessage": "Invalid Identify Template", + "required": false, + "placeholder": "e.g: User {{name}} with {{traits}} is identified", + "footerNote": "This template will be used to build text message for identify Call" + } + ] + }, + { + "title": "Event Template", + "fields": [ + { + "type": "dynamicCustomForm", + "value": "eventTemplateSettings", + "customFields": [ + { + "type": "textInput", + "label": "Event Name", + "value": "eventName", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Event Name", + "required": false, + "placeholder": "e.g: Product Viewed", + "footerNote": "For this event below template would be used to build message for track call" + }, + { + "type": "textInput", + "label": "Event Template", + "value": "eventTemplate", + "regex": "^(.{0,1000})$", + "regexErrorMessage": "Invalid Event Template", + "required": false, + "placeholder": "e.g: User {{name}} did {{event}} with {{properties}}", + "footerNote": "This template will be used to build text message for track Call for above event name" + }, + { + "type": "checkbox", + "label": "Regex Matching", + "value": "eventRegex", + "footerNote": "If true, this matches the event name with above mentioned event.", + "default": false + } + ] + } + ] + }, + { + "title": "Embed Message Settings", + "fields": [ + { + "type": "checkbox", + "label": "Embed Flag", + "value": "embedFlag", + "required": false, + "default": false, + "footerNote": "Toggle it on if you want a embed message on the discord. Refer To docs for more details" + }, + { + "preRequisiteField": { + "name": "embedFlag", + "selectedValue": true + }, + "type": "textInput", + "label": "Title Template", + "value": "embedTitleTemplate", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid template", + "required": false, + "placeholder": "e.g: {{name}} ", + "footerNote": "This template will be used to build title for embed message" + }, + { + "preRequisiteField": { + "name": "embedFlag", + "selectedValue": true + }, + "type": "textInput", + "label": "Description Template", + "value": "embedDescriptionTemplate", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid template", + "required": false, + "placeholder": "e.g: {{traits}}", + "footerNote": "This template will be used to build description for embed message" + } + ] + }, + { + "title": "Incoming Webhook Url", + "fields": [ + { + "type": "textInput", + "label": "Webhook Url", + "value": "webhookUrl", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(https?|ftp)://[^\\s/$.?#].[^\\s]*$", + "regexErrorMessage": "Invalid Webhook Url", + "required": true, + "placeholder": "e.g: https://discord.com/api/webhooks/12rf2v29038y3234gr34/78319yrgfb284q3130", + "footerNote": "The url mapped to discord channel where you want to send the message. Refer to docs for more." + } + ] + }, + { + "title": "Whitelisted Traits", + "fields": [ + { + "type": "dynamicCustomForm", + "value": "whitelistedTraitsSettings", + "customFields": [ + { + "type": "textInput", + "label": "Trait", + "value": "trait", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})", + "regexErrorMessage": "Invalid Trait", + "required": false, + "footerNote": "Mention the traits which you want to display in the message through templates, if not provided, we take all the traits in the message.", + "placeholder": "e.g: firstName" + } + ] + } + ] + } + ] +} diff --git a/src/configurations/destinations/drip/db-config.json b/src/configurations/destinations/drip/db-config.json new file mode 100644 index 000000000..7d6d6b802 --- /dev/null +++ b/src/configurations/destinations/drip/db-config.json @@ -0,0 +1,44 @@ +{ + "name": "DRIP", + "displayName": "Drip", + "config": { + "transformAt": "router", + "transformAtV1": "router", + "saveDestinationResponse": true, + "includeKeys": [ + "accountId", + "campaignId", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "reactnative", + "flutter", + "cordova", + "warehouse" + ], + "supportedMessageTypes": ["identify", "track"], + "destConfig": { + "defaultConfig": [ + "accountId", + "apiKey", + "campaignId", + "enableUserCreation", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "web": ["useNativeSDK", "oneTrustCookieCategories"] + }, + "secretKeys": ["apiKey"] + } +} diff --git a/src/configurations/destinations/drip/metadata.json b/src/configurations/destinations/drip/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/drip/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/drip/schema.json b/src/configurations/destinations/drip/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/drip/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/data/destinations/drip/ui_config.json b/src/configurations/destinations/drip/ui-config.json similarity index 100% rename from data/destinations/drip/ui_config.json rename to src/configurations/destinations/drip/ui-config.json diff --git a/src/configurations/destinations/engage/db-config.json b/src/configurations/destinations/engage/db-config.json new file mode 100644 index 000000000..6554392f3 --- /dev/null +++ b/src/configurations/destinations/engage/db-config.json @@ -0,0 +1,45 @@ +{ + "name": "ENGAGE", + "displayName": "Engage", + "config": { + "transformAt": "roouter", + "transformAtV1": "router", + "saveDestinationResponse": true, + "includeKeys": [ + "publicKey", + "privateKey", + "listIds", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "cloudSource", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["identify", "track", "page", "group"], + "destConfig": { + "defaultConfig": [ + "publicKey", + "privateKey", + "listIds", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "web": ["useNativeSDK", "oneTrustCookieCategories"] + }, + "secretKeys": ["privateKey"] + } +} diff --git a/src/configurations/destinations/engage/metadata.json b/src/configurations/destinations/engage/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/engage/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/engage/schema.json b/src/configurations/destinations/engage/schema.json new file mode 100644 index 000000000..7ab8b52b6 --- /dev/null +++ b/src/configurations/destinations/engage/schema.json @@ -0,0 +1,65 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["publicKey", "privateKey"], + "properties": { + "publicKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "privateKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "listIds": { + "type": "array", + "items": { + "type": "object", + "properties": { + "listID": { + "type": "string" + } + } + } + }, + "blacklistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "useNativeSDK": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "oneTrustCookieCategories": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } + } + } +} diff --git a/data/destinations/engage/ui_config.json b/src/configurations/destinations/engage/ui-config.json similarity index 100% rename from data/destinations/engage/ui_config.json rename to src/configurations/destinations/engage/ui-config.json diff --git a/src/configurations/destinations/eventbridge/db-config.json b/src/configurations/destinations/eventbridge/db-config.json new file mode 100644 index 000000000..77857af41 --- /dev/null +++ b/src/configurations/destinations/eventbridge/db-config.json @@ -0,0 +1,37 @@ +{ + "name": "EVENTBRIDGE", + "displayName": "AWS EventBridge", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedMessageTypes": ["identify", "page", "screen", "track", "alias", "group"], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "destConfig": { + "defaultConfig": [ + "iamRoleARN", + "roleBasedAuth", + "region", + "accessKeyID", + "accessKey", + "detailType", + "eventBusName", + "resourceID" + ] + }, + "secretKeys": ["accessKeyID", "accessKey"] + } +} diff --git a/src/configurations/destinations/eventbridge/metadata.json b/src/configurations/destinations/eventbridge/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/eventbridge/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/eventbridge/schema.json b/src/configurations/destinations/eventbridge/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/eventbridge/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/data/destinations/eventbridge/ui_config.json b/src/configurations/destinations/eventbridge/ui-config.json similarity index 100% rename from data/destinations/eventbridge/ui_config.json rename to src/configurations/destinations/eventbridge/ui-config.json diff --git a/data/destinations/facebook_offline_conversions/db_config.json b/src/configurations/destinations/facebook_offline_conversions/db-config.json similarity index 100% rename from data/destinations/facebook_offline_conversions/db_config.json rename to src/configurations/destinations/facebook_offline_conversions/db-config.json diff --git a/src/configurations/destinations/facebook_offline_conversions/metadata.json b/src/configurations/destinations/facebook_offline_conversions/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/facebook_offline_conversions/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/data/destinations/facebook_offline_conversions/schema.json b/src/configurations/destinations/facebook_offline_conversions/schema.json similarity index 100% rename from data/destinations/facebook_offline_conversions/schema.json rename to src/configurations/destinations/facebook_offline_conversions/schema.json diff --git a/data/destinations/facebook_offline_conversions/ui_config.json b/src/configurations/destinations/facebook_offline_conversions/ui-config.json similarity index 100% rename from data/destinations/facebook_offline_conversions/ui_config.json rename to src/configurations/destinations/facebook_offline_conversions/ui-config.json diff --git a/src/configurations/destinations/facebook_pixel/db-config.json b/src/configurations/destinations/facebook_pixel/db-config.json new file mode 100644 index 000000000..31bbfb32f --- /dev/null +++ b/src/configurations/destinations/facebook_pixel/db-config.json @@ -0,0 +1,62 @@ +{ + "name": "FACEBOOK_PIXEL", + "displayName": "Facebook Pixel", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "blacklistPiiProperties", + "categoryToContent", + "pixelId", + "eventsToEvents", + "eventCustomProperties", + "valueFieldIdentifier", + "advancedMapping", + "legacyConversionPixelId", + "whitelistPiiProperties", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption", + "useUpdatedMapping" + ], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["identify", "page", "screen", "track"], + "destConfig": { + "defaultConfig": [ + "blacklistPiiProperties", + "categoryToContent", + "pixelId", + "eventsToEvents", + "eventCustomProperties", + "valueFieldIdentifier", + "advancedMapping", + "whitelistPiiProperties", + "limitedDataUSage", + "accessToken", + "testDestination", + "testEventCode", + "standardPageCall", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption", + "useUpdatedMapping" + ], + "web": ["useNativeSDK", "legacyConversionPixelId", "oneTrustCookieCategories"] + }, + "secretKeys": [] + } +} diff --git a/src/configurations/destinations/facebook_pixel/metadata.json b/src/configurations/destinations/facebook_pixel/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/facebook_pixel/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/facebook_pixel/schema.json b/src/configurations/destinations/facebook_pixel/schema.json new file mode 100644 index 000000000..5894ce817 --- /dev/null +++ b/src/configurations/destinations/facebook_pixel/schema.json @@ -0,0 +1,171 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "required": ["pixelId"], + "type": "object", + "properties": { + "pixelId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "accessToken": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,208})$" + }, + "standardPageCall": { + "type": "boolean" + }, + "valueFieldIdentifier": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(properties.value|properties.price)$" + }, + "advancedMapping": { + "type": "boolean" + }, + "testDestination": { + "type": "boolean" + }, + "testEventCode": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "eventsToEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "eventCustomProperties": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventCustomProperties": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "blacklistPiiProperties": { + "type": "array", + "items": { + "type": "object", + "properties": { + "blacklistPiiProperties": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "blacklistPiiHash": { + "type": "boolean" + } + } + } + }, + "whitelistPiiProperties": { + "type": "array", + "items": { + "type": "object", + "properties": { + "whitelistPiiProperties": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "categoryToContent": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "useNativeSDK": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "legacyConversionPixelId": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + }, + "eventFilteringOption": { + "type": "string", + "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + }, + "whitelistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "blacklistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "oneTrustCookieCategories": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } + } + } +} diff --git a/data/destinations/facebook_pixel/ui_config.json b/src/configurations/destinations/facebook_pixel/ui-config.json similarity index 100% rename from data/destinations/facebook_pixel/ui_config.json rename to src/configurations/destinations/facebook_pixel/ui-config.json diff --git a/src/configurations/destinations/factorsai/db-config.json b/src/configurations/destinations/factorsai/db-config.json new file mode 100644 index 000000000..8c1d0934e --- /dev/null +++ b/src/configurations/destinations/factorsai/db-config.json @@ -0,0 +1,28 @@ +{ + "name": "FACTORSAI", + "displayName": "Factors AI", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["identify", "track"], + "destConfig": { + "defaultConfig": ["factorsAIApiKey"] + }, + "secretKeys": ["factorsAIApiKey"] + } +} diff --git a/src/configurations/destinations/factorsai/metadata.json b/src/configurations/destinations/factorsai/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/factorsai/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/factorsai/schema.json b/src/configurations/destinations/factorsai/schema.json new file mode 100644 index 000000000..be4eb3211 --- /dev/null +++ b/src/configurations/destinations/factorsai/schema.json @@ -0,0 +1,13 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "required": ["factorsAIApiKey"], + "type": "object", + "properties": { + "factorsAIApiKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + } + } + } +} diff --git a/src/configurations/destinations/factorsai/ui-config.json b/src/configurations/destinations/factorsai/ui-config.json new file mode 100644 index 000000000..470e60030 --- /dev/null +++ b/src/configurations/destinations/factorsai/ui-config.json @@ -0,0 +1,19 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "API KEY", + "value": "factorsAIApiKey", + "regex": "^(.{1,100})$", + "regexErrorMessage": "Length of API KEY must be below 100 characters.", + "required": true, + "secret": true, + "placeholder": "e.g: ABC1231RDG" + } + ] + } + ] +} diff --git a/src/configurations/destinations/fb/db-config.json b/src/configurations/destinations/fb/db-config.json new file mode 100644 index 000000000..6d3d70120 --- /dev/null +++ b/src/configurations/destinations/fb/db-config.json @@ -0,0 +1,45 @@ +{ + "name": "FB", + "displayName": "Facebook App Events", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "appID", + "limitedDataUse", + "dpoCountry", + "dpoState", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["page", "screen", "track"], + "destConfig": { + "defaultConfig": [ + "appID", + "limitedDataUse", + "dpoCountry", + "dpoState", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "android": ["useNativeSDK"], + "ios": ["useNativeSDK"] + }, + "secretKeys": [] + } +} diff --git a/src/configurations/destinations/fb/metadata.json b/src/configurations/destinations/fb/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/fb/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/fb/schema.json b/src/configurations/destinations/fb/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/fb/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/fb/ui-config.json b/src/configurations/destinations/fb/ui-config.json new file mode 100644 index 000000000..e85b1857f --- /dev/null +++ b/src/configurations/destinations/fb/ui-config.json @@ -0,0 +1,138 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "APP ID", + "value": "appID", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid APP ID", + "required": true, + "placeholder": "e.g: bSjsdGYsOo9sjw23Shj" + } + ] + }, + { + "title": "Data Processing Options", + "sectionNote": "These settings are applicable only for Mobile Device Mode", + "fields": [ + { + "type": "checkbox", + "label": "Limited Data use", + "value": "limitedDataUse", + "default": false + }, + { + "type": "singleSelect", + "label": "State", + "value": "dpoState", + "options": [ + { + "name": "Use Facebook to detect Automatically", + "value": "0" + }, + { + "name": "California", + "value": "1000" + } + ], + "defaultOption": { + "name": "Use Facebook to detect Automatically", + "value": "0" + }, + "required": false, + "footerNote": "Note: State will be sent as a Data Processing Option to Facebook only if you enable Limited Data Use. Valid values are 0, 1000." + }, + { + "type": "singleSelect", + "label": "Country", + "value": "dpoCountry", + "options": [ + { + "name": "Use Facebook to detect Automatically", + "value": "0" + }, + { + "name": "United States of America", + "value": "1" + } + ], + "defaultOption": { + "name": "Use Facebook to detect Automatically", + "value": "0" + }, + "required": false, + "footerNote": "Note: Country will be sent as a Data Processing Option to Facebook only if you enable Limited Data Use. Valid values are 0, 1." + } + ] + }, + { + "title": "Native SDK", + "fields": [ + { + "type": "checkbox", + "label": "Use device-mode to send events", + "value": "useNativeSDK", + "default": false + } + ] + }, + { + "title": "Client-side Events Filtering", + "sectionNote": "Applicable only for device-mode integrations. If enabled, it works only with either allowlisted or denylisted events", + "fields": [ + { + "type": "singleSelect", + "value": "eventFilteringOption", + "required": false, + "options": [ + { + "name": "Disable", + "value": "disable" + }, + { + "name": "Allowlist", + "value": "whitelistedEvents" + }, + { + "name": "Denylist", + "value": "blacklistedEvents" + } + ], + "defaultOption": { + "name": "Disable", + "value": "disable" + } + }, + { + "type": "dynamicCustomForm", + "value": "whitelistedEvents", + "label": "Allowlist", + "customFields": [ + { + "type": "textInput", + "value": "eventName", + "required": false, + "placeholder": "e.g: Anonymous Page Visit" + } + ] + }, + { + "type": "dynamicCustomForm", + "value": "blacklistedEvents", + "label": "Denylist", + "customFields": [ + { + "type": "textInput", + "value": "eventName", + "required": false, + "placeholder": "e.g: Credit Card Added" + } + ] + } + ] + } + ] +} diff --git a/src/configurations/destinations/fb_custom_audience/db-config.json b/src/configurations/destinations/fb_custom_audience/db-config.json new file mode 100644 index 000000000..db668cd9b --- /dev/null +++ b/src/configurations/destinations/fb_custom_audience/db-config.json @@ -0,0 +1,59 @@ +{ + "name": "FB_CUSTOM_AUDIENCE", + "displayName": "Facebook Custom Audience", + "config": { + "supportsVisualMapper": true, + "syncBehaviours": ["mirror"], + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": ["cloud", "warehouse"], + "supportedMessageTypes": ["audiencelist"], + "isAudienceSupported": true, + "destConfig": { + "defaultConfig": [ + "accessToken", + "audienceId", + "maxUserCount", + "userSchema", + "isHashRequired", + "isRaw", + "disableFormat", + "skipVerify", + "type", + "subType" + ] + }, + "secretKeys": ["accessToken"] + }, + "responseRules": { + "responseType": "JSON", + "rules": { + "abortable": [ + { + "errors.0.code": 200 + }, + { + "errors.0.code": 100 + }, + { + "errors.0.code": 2650 + }, + { + "errors.0.code": 368 + }, + { + "errors.0.code": 105 + }, + { + "errors.0.code": 294 + }, + { + "errors.0.code": 190 + } + ] + } + } +} diff --git a/src/configurations/destinations/fb_custom_audience/metadata.json b/src/configurations/destinations/fb_custom_audience/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/fb_custom_audience/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/fb_custom_audience/schema.json b/src/configurations/destinations/fb_custom_audience/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/fb_custom_audience/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/fb_custom_audience/ui-config.json b/src/configurations/destinations/fb_custom_audience/ui-config.json new file mode 100644 index 000000000..2c5c588c7 --- /dev/null +++ b/src/configurations/destinations/fb_custom_audience/ui-config.json @@ -0,0 +1,393 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Access Token", + "value": "accessToken", + "required": true, + "placeholder": "EAALmZAOFOFpcPcBAEdZCPl4uSHPxQDZCrU6KbZB1gICD9y1ZBNpevRSPPiIZBO06WZCUuySAX7vw2Re7vmZAHo6OFFZA4vsCUqq2XqBQgkbbgRKLy4mXQ4wJFJ2GXGe69qaOXgugjkdjfgRjkknkfOUUTJfmGnzShZCp2jJKBf1kDX7xZB8IX9vdfEIZBZBhHQo4ZD" + }, + { + "type": "textInput", + "label": "Audience Id", + "value": "audienceId", + "required": true, + "placeholder": "23847675445910030" + }, + { + "type": "textInput", + "label": "Audience Batch Size", + "value": "maxUserCount", + "required": true, + "placeholder": "50" + }, + { + "type": "singleSelect", + "label": "Schema Fields", + "value": "userSchema", + "placeholder": "EMAIL", + "mode": "multiple", + "options": [ + { + "name": "EMAIL", + "value": "EMAIL" + }, + { + "name": "PHONE", + "value": "PHONE" + }, + { + "name": "GENDER", + "value": "GEN" + }, + { + "name": "MADID", + "value": "MADID" + }, + { + "name": "EXTERN_ID", + "value": "EXTERN_ID" + }, + { + "name": "DOB YEAR (YYYY)", + "value": "DOBY" + }, + { + "name": "DOB MONTH (MM)", + "value": "DOBM" + }, + { + "name": "DOB DATE (DD)", + "value": "DOBD" + }, + { + "name": "LAST NAME", + "value": "LN" + }, + { + "name": "FIRST NAME", + "value": "FN" + }, + { + "name": "FIRST NAME INITIAL", + "value": "FI" + }, + { + "name": "CITY", + "value": "CT" + }, + { + "name": "US STATES", + "value": "ST" + }, + { + "name": "ZIP", + "value": "ZIP" + }, + { + "name": "COUNTRY", + "value": "COUNTRY" + } + ], + "defaultOption": { + "value": ["EMAIL"] + }, + "footerNote": "The Allowed Parameter List : https://developers.facebook.com/docs/marketing-api/audiences/guides/custom-audiences/#hash" + }, + { + "type": "checkbox", + "label": "Enable Hashing", + "value": "isHashRequired", + "default": true + }, + { + "type": "checkbox", + "label": "Is The Data Raw", + "value": "isRaw", + "default": false + }, + { + "type": "checkbox", + "label": "Disable Formatting", + "value": "disableFormat", + "default": false + }, + { + "type": "checkbox", + "label": "Skip verify", + "value": "skipVerify", + "default": false + }, + { + "type": "singleSelect", + "label": "Type", + "value": "type", + "placeholder": "NA", + "mode": "single", + "options": [ + { + "name": "UNKNOWN", + "value": "UNKNOWN" + }, + { + "name": "FILE_IMPORTED", + "value": "FILE_IMPORTED" + }, + { + "name": "EVENT_BASED", + "value": "EVENT_BASED" + }, + { + "name": "SEED_BASED", + "value": "SEED_BASED" + }, + { + "name": "THIRD_PARTY_IMPORTED", + "value": "THIRD_PARTY_IMPORTED" + }, + { + "name": "COPY_PASTE", + "value": "COPY_PASTE" + }, + { + "name": "CONTACT_IMPORTER", + "value": "CONTACT_IMPORTER" + }, + { + "name": "HOUSEHOLD_AUDIENCE", + "value": "HOUSEHOLD_AUDIENCE" + }, + { + "name": "NA", + "value": "NA" + } + ], + "defaultOption": { + "name": "NA", + "value": "NA" + } + }, + { + "type": "singleSelect", + "label": "Sub Type", + "value": "subType", + "placeholder": "NA", + "mode": "single", + "options": [ + { + "name": "ANYTHING", + "value": "ANYTHING" + }, + { + "name": "NOTHING", + "value": "NOTHING" + }, + { + "name": "HASHES", + "value": "HASHES" + }, + { + "name": "USER_IDS", + "value": "USER_IDS" + }, + { + "name": "HASHES_OR_USER_IDS", + "value": "HASHES_OR_USER_IDS" + }, + { + "name": "MOBILE_ADVERTISER_IDS", + "value": "MOBILE_ADVERTISER_IDS" + }, + { + "name": "FB_EVENT_SIGNALS", + "value": "FB_EVENT_SIGNALS" + }, + { + "name": "EXTERNAL_IDS", + "value": "EXTERNAL_IDS" + }, + { + "name": "MULTI_HASHES", + "value": "MULTI_HASHES" + }, + { + "name": "TOKENS", + "value": "TOKENS" + }, + { + "name": "EXTERNAL_IDS_MIX", + "value": "EXTERNAL_IDS_MIX" + }, + { + "name": "WEB_PIXEL_HITS", + "value": "WEB_PIXEL_HITS" + }, + { + "name": "MOBILE_APP_EVENTS", + "value": "MOBILE_APP_EVENTS" + }, + { + "name": "MOBILE_APP_COMBINATION_EVENTS", + "value": "MOBILE_APP_COMBINATION_EVENTS" + }, + { + "name": "VIDEO_EVENTS", + "value": "VIDEO_EVENTS" + }, + { + "name": "WEB_PIXEL_COMBINATION_EVENTS", + "value": "WEB_PIXEL_COMBINATION_EVENTS" + }, + { + "name": "IG_BUSINESS_EVENTS", + "value": "IG_BUSINESS_EVENTS" + }, + { + "name": "MULTI_DATA_EVENTS", + "value": "MULTI_DATA_EVENTS" + }, + { + "name": "STORE_VISIT_EVENTS", + "value": "STORE_VISIT_EVENTS" + }, + { + "name": "INSTANT_ARTICLE_EVENTS", + "value": "INSTANT_ARTICLE_EVENTS" + }, + { + "name": "ENGAGEMENT_EVENT_USERS", + "value": "ENGAGEMENT_EVENT_USERS" + }, + { + "name": "FACEBOOK_WIFI_EVENTS", + "value": "FACEBOOK_WIFI_EVENTS" + }, + { + "name": "CUSTOM_AUDIENCE_USERS", + "value": "CUSTOM_AUDIENCE_USERS" + }, + { + "name": "S_EXPR", + "value": "S_EXPR" + }, + { + "name": "DYNAMIC_RULE", + "value": "DYNAMIC_RULE" + }, + { + "name": "CONVERSION_PIXEL_HITS", + "value": "CONVERSION_PIXEL_HITS" + }, + { + "name": "APP_USERS", + "value": "APP_USERS" + }, + { + "name": "CAMPAIGN_CONVERSIONS", + "value": "CAMPAIGN_CONVERSIONS" + }, + { + "name": "WEB_PIXEL_HITS_CUSTOM_AUDIENCE_USERS", + "value": "WEB_PIXEL_HITS_CUSTOM_AUDIENCE_USERS" + }, + { + "name": "MOBILE_APP_CUSTOM_AUDIENCE_USERS", + "value": "MOBILE_APP_CUSTOM_AUDIENCE_USERS" + }, + { + "name": "VIDEO_EVENT_USERS", + "value": "VIDEO_EVENT_USERS" + }, + { + "name": "FB_PIXEL_HITS", + "value": "FB_PIXEL_HITS" + }, + { + "name": "IG_PROMOTED_POST", + "value": "IG_PROMOTED_POST" + }, + { + "name": "PLACE_VISITS", + "value": "PLACE_VISITS" + }, + { + "name": "OFFLINE_EVENT_USERS", + "value": "OFFLINE_EVENT_USERS" + }, + { + "name": "EXPANDED_AUDIENCE", + "value": "EXPANDED_AUDIENCE" + }, + { + "name": "SEED_LIST", + "value": "SEED_LIST" + }, + { + "name": "PARTNER_CATEGORY_USERS", + "value": "PARTNER_CATEGORY_USERS" + }, + { + "name": "PAGE_SMART_AUDIENCE", + "value": "PAGE_SMART_AUDIENCE" + }, + { + "name": "MULTICOUNTRY_COMBINATION", + "value": "MULTICOUNTRY_COMBINATION" + }, + { + "name": "PLATFORM_USERS", + "value": "PLATFORM_USERS" + }, + { + "name": "MULTI_EVENT_SOURCE", + "value": "MULTI_EVENT_SOURCE" + }, + { + "name": "SMART_AUDIENCE", + "value": "SMART_AUDIENCE" + }, + { + "name": "LOOKALIKE_PLATFORM", + "value": "LOOKALIKE_PLATFORM" + }, + { + "name": "SIGNAL_SOURCE", + "value": "SIGNAL_SOURCE" + }, + { + "name": "MAIL_CHIMP_EMAIL_HASHES", + "value": "MAIL_CHIMP_EMAIL_HASHES" + }, + { + "name": "CONSTANT_CONTACTS_EMAIL_HASHES", + "value": "CONSTANT_CONTACTS_EMAIL_HASHES" + }, + { + "name": "COPY_PASTE_EMAIL_HASHES", + "value": "COPY_PASTE_EMAIL_HASHES" + }, + { + "name": "CONTACT_IMPORTER", + "value": "CONTACT_IMPORTER" + }, + { + "name": "DATA_FILE", + "value": "DATA_FILE" + }, + { + "name": "NA", + "value": "NA" + } + ], + "defaultOption": { + "name": "NA", + "value": "NA" + } + } + ] + } + ] +} diff --git a/src/configurations/destinations/firebase/db-config.json b/src/configurations/destinations/firebase/db-config.json new file mode 100644 index 000000000..f38d092b0 --- /dev/null +++ b/src/configurations/destinations/firebase/db-config.json @@ -0,0 +1,21 @@ +{ + "name": "FIREBASE", + "displayName": "Firebase", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": false, + "includeKeys": ["blacklistedEvents", "whitelistedEvents", "eventFilteringOption"], + "excludeKeys": [], + "supportedSourceTypes": ["android", "ios", "unity", "reactnative", "flutter"], + "destConfig": { + "defaultConfig": ["blacklistedEvents", "whitelistedEvents", "eventFilteringOption"], + "android": ["useNativeSDK"], + "ios": ["useNativeSDK"], + "unity": ["useNativeSDK"], + "reactnative": ["useNativeSDK"], + "flutter": ["useNativeSDK"] + }, + "secretKeys": [] + } +} diff --git a/src/configurations/destinations/firebase/metadata.json b/src/configurations/destinations/firebase/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/firebase/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/firebase/schema.json b/src/configurations/destinations/firebase/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/firebase/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/firebase/ui-config.json b/src/configurations/destinations/firebase/ui-config.json new file mode 100644 index 000000000..556c3f756 --- /dev/null +++ b/src/configurations/destinations/firebase/ui-config.json @@ -0,0 +1,70 @@ +{ + "uiConfig": [ + { + "title": "1. Native SDK", + "fields": [ + { + "type": "defaultCheckbox", + "label": "Use device-mode to send events", + "value": "useNativeSDK", + "default": true + } + ] + }, + { + "title": "Client-side Events Filtering", + "sectionNote": "Applicable only for device-mode integrations. If enabled, it works only with either allowlisted or denylisted events", + "fields": [ + { + "type": "singleSelect", + "value": "eventFilteringOption", + "required": false, + "options": [ + { + "name": "Disable", + "value": "disable" + }, + { + "name": "Allowlist", + "value": "whitelistedEvents" + }, + { + "name": "Denylist", + "value": "blacklistedEvents" + } + ], + "defaultOption": { + "name": "Disable", + "value": "disable" + } + }, + { + "type": "dynamicCustomForm", + "value": "whitelistedEvents", + "label": "Allowlist", + "customFields": [ + { + "type": "textInput", + "value": "eventName", + "required": false, + "placeholder": "e.g: Anonymous Page Visit" + } + ] + }, + { + "type": "dynamicCustomForm", + "value": "blacklistedEvents", + "label": "Denylist", + "customFields": [ + { + "type": "textInput", + "value": "eventName", + "required": false, + "placeholder": "e.g: Credit Card Added" + } + ] + } + ] + } + ] +} diff --git a/src/configurations/destinations/firehose/db-config.json b/src/configurations/destinations/firehose/db-config.json new file mode 100644 index 000000000..b981d4d63 --- /dev/null +++ b/src/configurations/destinations/firehose/db-config.json @@ -0,0 +1,35 @@ +{ + "name": "FIREHOSE", + "displayName": "Amazon Kinesis Firehose", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedMessageTypes": ["identify", "page", "screen", "track", "alias", "group"], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "destConfig": { + "defaultConfig": [ + "iamRoleARN", + "roleBasedAuth", + "mapEvents", + "region", + "accessKeyID", + "accessKey" + ] + }, + "secretKeys": ["accessKeyID", "accessKey"] + } +} diff --git a/src/configurations/destinations/firehose/metadata.json b/src/configurations/destinations/firehose/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/firehose/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/firehose/schema.json b/src/configurations/destinations/firehose/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/firehose/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/data/destinations/firehose/ui_config.json b/src/configurations/destinations/firehose/ui-config.json similarity index 100% rename from data/destinations/firehose/ui_config.json rename to src/configurations/destinations/firehose/ui-config.json diff --git a/data/destinations/freshmarketer/db_config.json b/src/configurations/destinations/freshmarketer/db-config.json similarity index 100% rename from data/destinations/freshmarketer/db_config.json rename to src/configurations/destinations/freshmarketer/db-config.json diff --git a/src/configurations/destinations/freshmarketer/metadata.json b/src/configurations/destinations/freshmarketer/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/freshmarketer/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/data/destinations/freshmarketer/schema.json b/src/configurations/destinations/freshmarketer/schema.json similarity index 100% rename from data/destinations/freshmarketer/schema.json rename to src/configurations/destinations/freshmarketer/schema.json diff --git a/data/destinations/freshmarketer/ui_config.json b/src/configurations/destinations/freshmarketer/ui-config.json similarity index 100% rename from data/destinations/freshmarketer/ui_config.json rename to src/configurations/destinations/freshmarketer/ui-config.json diff --git a/data/destinations/freshsales/db_config.json b/src/configurations/destinations/freshsales/db-config.json similarity index 100% rename from data/destinations/freshsales/db_config.json rename to src/configurations/destinations/freshsales/db-config.json diff --git a/src/configurations/destinations/freshsales/metadata.json b/src/configurations/destinations/freshsales/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/freshsales/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/data/destinations/freshsales/schema.json b/src/configurations/destinations/freshsales/schema.json similarity index 100% rename from data/destinations/freshsales/schema.json rename to src/configurations/destinations/freshsales/schema.json diff --git a/data/destinations/freshsales/ui_config.json b/src/configurations/destinations/freshsales/ui-config.json similarity index 100% rename from data/destinations/freshsales/ui_config.json rename to src/configurations/destinations/freshsales/ui-config.json diff --git a/src/configurations/destinations/fullstory/db-config.json b/src/configurations/destinations/fullstory/db-config.json new file mode 100644 index 000000000..1b68d1d95 --- /dev/null +++ b/src/configurations/destinations/fullstory/db-config.json @@ -0,0 +1,32 @@ +{ + "name": "FULLSTORY", + "displayName": "Fullstory", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "fs_debug_mode", + "fs_org", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": ["web", "android", "ios"], + "destConfig": { + "defaultConfig": [ + "fs_org", + "fs_debug_mode", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "web": ["useNativeSDK", "oneTrustCookieCategories"], + "android": ["useNativeSDK"], + "ios": ["useNativeSDK"] + }, + "secretKeys": [] + } +} diff --git a/src/configurations/destinations/fullstory/metadata.json b/src/configurations/destinations/fullstory/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/fullstory/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/fullstory/schema.json b/src/configurations/destinations/fullstory/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/fullstory/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/data/destinations/fullstory/ui_config.json b/src/configurations/destinations/fullstory/ui-config.json similarity index 100% rename from data/destinations/fullstory/ui_config.json rename to src/configurations/destinations/fullstory/ui-config.json diff --git a/data/destinations/ga/db_config.json b/src/configurations/destinations/ga/db-config.json similarity index 100% rename from data/destinations/ga/db_config.json rename to src/configurations/destinations/ga/db-config.json diff --git a/src/configurations/destinations/ga/metadata.json b/src/configurations/destinations/ga/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/ga/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/ga/schema.json b/src/configurations/destinations/ga/schema.json new file mode 100644 index 000000000..f37b20f3b --- /dev/null +++ b/src/configurations/destinations/ga/schema.json @@ -0,0 +1,226 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["trackingID"], + "properties": { + "trackingID": { + "type": "string", + "pattern": "(^env[.].+)|(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^(UA|YT|MO)-\\d+-\\d{0,100}$)" + }, + "eventFilteringOption": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + }, + "doubleClick": { + "type": "boolean" + }, + "enhancedLinkAttribution": { + "type": "boolean" + }, + "includeSearch": { + "type": "boolean" + }, + "enableServerSideIdentify": { + "type": "boolean" + }, + "serverSideIdentifyEventCategory": { + "type": "string", + "pattern": "(^env[.].+)|(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^(.{0,100})$)" + }, + "serverSideIdentifyEventAction": { + "type": "string", + "pattern": "(^env[.].+)|(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^(.{0,100})$)" + }, + "disableMd5": { + "type": "boolean" + }, + "anonymizeIp": { + "type": "boolean" + }, + "enhancedEcommerce": { + "type": "boolean" + }, + "nonInteraction": { + "type": "boolean" + }, + "sendUserId": { + "type": "boolean" + }, + "whitelistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "blacklistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "useNativeSDK": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "trackCategorizedPages": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "trackNamedPages": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "sampleRate": { + "type": "object", + "properties": { + "web": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + }, + "siteSpeedSampleRate": { + "type": "object", + "properties": { + "web": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + }, + "resetCustomDimensionsOnPage": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "resetCustomDimensionsOnPage": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + }, + "setAllMappedProps": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "domain": { + "type": "object", + "properties": { + "web": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^(.{0,100})$)" + } + } + }, + "optimize": { + "type": "object", + "properties": { + "web": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^(.{0,100})$)" + } + } + }, + "useGoogleAmpClientId": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "namedTracker": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "contentGroupings": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "dimensions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "oneTrustCookieCategories": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } + } + } +} diff --git a/data/destinations/ga/ui_config.json b/src/configurations/destinations/ga/ui-config.json similarity index 100% rename from data/destinations/ga/ui_config.json rename to src/configurations/destinations/ga/ui-config.json diff --git a/src/configurations/destinations/ga360/db-config.json b/src/configurations/destinations/ga360/db-config.json new file mode 100644 index 000000000..39f15958a --- /dev/null +++ b/src/configurations/destinations/ga360/db-config.json @@ -0,0 +1,87 @@ +{ + "name": "GA360", + "displayName": "Google Analytics 360", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": false, + "includeKeys": [ + "trackingID", + "doubleClick", + "enhancedLinkAttribution", + "includeSearch", + "trackCategorizedPages", + "trackNamedPages", + "sampleRate", + "siteSpeedSampleRate", + "dimensions", + "metrics", + "resetCustomDimensionsOnPage", + "setAllMappedProps", + "contentGroupings", + "anonymizeIp", + "domain", + "enhancedEcommerce", + "nonInteraction", + "optimize", + "sendUserId", + "useGoogleAmpClientId", + "namedTracker", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["identify", "page", "screen", "track"], + "destConfig": { + "defaultConfig": [ + "trackingID", + "customMappings", + "doubleClick", + "enhancedLinkAttribution", + "includeSearch", + "dimensions", + "metrics", + "contentGroupings", + "enableServerSideIdentify", + "serverSideIdentifyEventCategory", + "serverSideIdentifyEventAction", + "anonymizeIp", + "enhancedEcommerce", + "nonInteraction", + "sendUserId", + "disableMd5", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "web": [ + "useNativeSDK", + "trackCategorizedPages", + "trackNamedPages", + "sampleRate", + "siteSpeedSampleRate", + "resetCustomDimensionsOnPage", + "setAllMappedProps", + "domain", + "optimize", + "useGoogleAmpClientId", + "namedTracker", + "oneTrustCookieCategories" + ] + }, + "secretKeys": [] + } +} diff --git a/src/configurations/destinations/ga360/metadata.json b/src/configurations/destinations/ga360/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/ga360/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/ga360/schema.json b/src/configurations/destinations/ga360/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/ga360/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/data/destinations/ga360/ui_config.json b/src/configurations/destinations/ga360/ui-config.json similarity index 100% rename from data/destinations/ga360/ui_config.json rename to src/configurations/destinations/ga360/ui-config.json diff --git a/data/destinations/ga4/db_config.json b/src/configurations/destinations/ga4/db-config.json similarity index 100% rename from data/destinations/ga4/db_config.json rename to src/configurations/destinations/ga4/db-config.json diff --git a/src/configurations/destinations/ga4/metadata.json b/src/configurations/destinations/ga4/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/ga4/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/data/destinations/ga4/schema.json b/src/configurations/destinations/ga4/schema.json similarity index 100% rename from data/destinations/ga4/schema.json rename to src/configurations/destinations/ga4/schema.json diff --git a/data/destinations/ga4/ui_config.json b/src/configurations/destinations/ga4/ui-config.json similarity index 100% rename from data/destinations/ga4/ui_config.json rename to src/configurations/destinations/ga4/ui-config.json diff --git a/src/configurations/destinations/gainsight/db-config.json b/src/configurations/destinations/gainsight/db-config.json new file mode 100644 index 000000000..3bbc94468 --- /dev/null +++ b/src/configurations/destinations/gainsight/db-config.json @@ -0,0 +1,39 @@ +{ + "name": "GAINSIGHT", + "displayName": "Gainsight", + "config": { + "transformAt": "router", + "transformAtV1": "router", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "reactnative", + "flutter", + "cordova", + "warehouse" + ], + "supportedMessageTypes": ["group", "identify", "track"], + "destConfig": { + "defaultConfig": [ + "accessKey", + "sharedSecret", + "tenantId", + "domain", + "personMap", + "companyMap", + "topicName", + "eventNameMap", + "eventVersionMap", + "contractId" + ] + }, + "secretKeys": ["accessKey", "sharedSecret"] + } +} diff --git a/src/configurations/destinations/gainsight/metadata.json b/src/configurations/destinations/gainsight/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/gainsight/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/gainsight/schema.json b/src/configurations/destinations/gainsight/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/gainsight/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/gainsight/ui-config.json b/src/configurations/destinations/gainsight/ui-config.json new file mode 100644 index 000000000..e01ce80a9 --- /dev/null +++ b/src/configurations/destinations/gainsight/ui-config.json @@ -0,0 +1,122 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Gainsight Accesskey", + "value": "accessKey", + "regex": ".*", + "footerNote": "Required for identify and group calls", + "required": false, + "placeholder": "e.g: 94f71917dald93k90caa4c-us20" + }, + { + "type": "textInput", + "label": "Gainsight Custom Domain or Subdomain", + "value": "domain", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Domain or Subdomain name", + "required": true, + "placeholder": "e.g: example-domain.gainsightcloud.com" + } + ] + }, + { + "title": "Person Field Mapping", + "fields": [ + { + "type": "dynamicForm", + "label": "Map Rudder payload property to Custom Gainsight Field", + "labelLeft": "Rudder Payload Field", + "labelRight": "Gainsight Payload Field", + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g: rating", + "placeholderRight": "e.g: rating__gc", + "value": "personMap" + } + ] + }, + { + "title": "Company Field Mapping", + "fields": [ + { + "type": "dynamicForm", + "label": "Map Rudder payload property to Custom Gainsight Field", + "labelLeft": "Rudder Payload Field", + "labelRight": "Gainsight Payload Field", + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g: rating", + "placeholderRight": "e.g: rating__gc", + "value": "companyMap" + } + ] + }, + { + "title": "Gainsight Event Settings", + "fields": [ + { + "type": "textInput", + "label": "Events Shared Secret", + "value": "sharedSecret", + "regex": ".*", + "required": false, + "placeholder": "e.g: 7869235jafasqpzxu-f71917dald93k90caa4c", + "footerNote": "Required to work with Gainsight Events Framework" + }, + { + "type": "textInput", + "label": "Tenant ID", + "value": "tenantId", + "regex": ".*", + "required": false, + "placeholder": "e.g: jafasqpzxu-f71917dald93k90caa4c", + "footerNote": "Required to work with Gainsight Events Framework" + }, + { + "type": "textInput", + "label": "Contract ID", + "value": "contractId", + "regex": ".*", + "required": false, + "placeholder": "e.g: event contract ID" + }, + { + "type": "textInput", + "label": "Topic Name", + "value": "topicName", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Topic Name", + "required": false, + "placeholder": "e.g: Zendesk Tickets", + "footerNote": "Required to work with Gainsight Events Framework" + }, + { + "type": "dynamicForm", + "label": "Map RudderStack Event to Gainsight Event", + "labelLeft": "Rudder Event Name", + "labelRight": "Gainsight Event Name", + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g: Product Clicked", + "placeholderRight": "e.g: GS Product Clicked", + "value": "eventNameMap" + }, + { + "type": "dynamicForm", + "label": "Map RudderStack Event to Gainsight Event Version", + "labelLeft": "Rudder Event Name", + "labelRight": "Gainsight Event Version", + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g: Product Clicked", + "placeholderRight": "e.g: 1.0.0", + "value": "eventVersionMap" + } + ] + } + ] +} diff --git a/src/configurations/destinations/gainsight_px/db-config.json b/src/configurations/destinations/gainsight_px/db-config.json new file mode 100644 index 000000000..6a7b20aaf --- /dev/null +++ b/src/configurations/destinations/gainsight_px/db-config.json @@ -0,0 +1,34 @@ +{ + "name": "GAINSIGHT_PX", + "displayName": "Gainsight PX", + "config": { + "transformAt": "router", + "transformAtV1": "router", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "reactnative", + "flutter", + "cordova", + "warehouse" + ], + "supportedMessageTypes": ["group", "identify", "track"], + "destConfig": { + "defaultConfig": [ + "apiKey", + "productTagKey", + "userAttributeMap", + "accountAttributeMap", + "globalContextMap" + ] + }, + "secretKeys": ["apiKey", "productTagKey"] + } +} diff --git a/src/configurations/destinations/gainsight_px/metadata.json b/src/configurations/destinations/gainsight_px/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/gainsight_px/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/gainsight_px/schema.json b/src/configurations/destinations/gainsight_px/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/gainsight_px/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/gainsight_px/ui-config.json b/src/configurations/destinations/gainsight_px/ui-config.json new file mode 100644 index 000000000..fad274e36 --- /dev/null +++ b/src/configurations/destinations/gainsight_px/ui-config.json @@ -0,0 +1,81 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "API Key", + "value": "apiKey", + "regex": ".*", + "footerNote": "Your Gainsight PX API Key", + "required": true, + "placeholder": "e.g: 94f71917dald93k90caa4c-us20143", + "secret": true + }, + { + "type": "textInput", + "label": "Product Tag Key", + "value": "productTagKey", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Product Tag Key", + "required": true, + "placeholder": "e.g: AP-XXXXXX-1", + "footerNote": "Your Webapp Product Tag Key", + "secret": true + } + ] + }, + { + "title": "User Attribute Mapping", + "fields": [ + { + "type": "dynamicForm", + "label": "Map Rudder payload property to Custom User Attribute", + "labelLeft": "Rudder Payload Field", + "labelRight": "Custom Attribute", + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g: rating", + "placeholderRight": "e.g: Rating", + "footerNote": "Provide the Custom Attribute API Name", + "value": "userAttributeMap" + } + ] + }, + { + "title": "Account Attribute Mapping", + "fields": [ + { + "type": "dynamicForm", + "label": "Map Rudder payload property to Custom Account Attribute", + "labelLeft": "Rudder Payload Field", + "labelRight": "Custom Attribute", + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g: revenue", + "placeholderRight": "e.g: annualRevenue", + "footerNote": "Provide the Custom Attribute API Name", + "value": "accountAttributeMap" + } + ] + }, + { + "title": "Global Context Mapping", + "fields": [ + { + "type": "dynamicForm", + "label": "Provide Key Value pairs for Global Context Object", + "labelLeft": "Key", + "labelRight": "Value", + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g: projectId", + "placeholderRight": "e.g: p-123", + "footerNote": "Used with Custom Events", + "value": "globalContextMap" + } + ] + } + ] +} diff --git a/src/configurations/destinations/gcs/db-config.json b/src/configurations/destinations/gcs/db-config.json new file mode 100644 index 000000000..7950a52f6 --- /dev/null +++ b/src/configurations/destinations/gcs/db-config.json @@ -0,0 +1,28 @@ +{ + "name": "GCS", + "displayName": "Google Cloud Storage", + "config": { + "transformAt": "none", + "transformAtV1": "none", + "saveDestinationResponse": false, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "reactnative", + "cloudSource", + "flutter", + "cordova", + "warehouse" + ], + "destConfig": { + "defaultConfig": ["bucketName", "prefix", "credentials"] + }, + "secretKeys": ["credentials"] + } +} diff --git a/src/configurations/destinations/gcs/metadata.json b/src/configurations/destinations/gcs/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/gcs/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/gcs/schema.json b/src/configurations/destinations/gcs/schema.json new file mode 100644 index 000000000..7f85eea9c --- /dev/null +++ b/src/configurations/destinations/gcs/schema.json @@ -0,0 +1,22 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "additionalProperties": true, + "required": ["bucketName"], + "properties": { + "bucketName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "credentials": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*" + }, + "prefix": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } +} diff --git a/src/configurations/destinations/gcs/ui-config.json b/src/configurations/destinations/gcs/ui-config.json new file mode 100644 index 000000000..e35f7c924 --- /dev/null +++ b/src/configurations/destinations/gcs/ui-config.json @@ -0,0 +1,37 @@ +{ + "uiConfig": [ + { + "title": "1. Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Google Cloud Storage Bucket Name", + "value": "bucketName", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Google Cloud Storage Bucket Name", + "required": true, + "placeholder": "e.g: gcs-event-logs" + }, + { + "type": "textInput", + "label": "Prefix", + "value": "prefix", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Prefix", + "required": false, + "placeholder": "e.g: rudder" + }, + { + "type": "textareaInput", + "label": "Credentials", + "labelNote": "GCP Service Account credentials JSON for RudderStack to use in loading data into your Google Cloud Storage", + "value": "credentials", + "regex": ".*", + "required": false, + "footerNote": "Create a service account in your GCP Project for RudderStack with roles of 'storage.objectCreator'", + "secret": true + } + ] + } + ] +} diff --git a/src/configurations/destinations/gcs_datalake/db-config.json b/src/configurations/destinations/gcs_datalake/db-config.json new file mode 100644 index 000000000..a46577ca1 --- /dev/null +++ b/src/configurations/destinations/gcs_datalake/db-config.json @@ -0,0 +1,38 @@ +{ + "name": "GCS_DATALAKE", + "displayName": "Google Cloud Storage Datalake", + "category": "warehouse", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "cloudSource", + "flutter", + "cordova" + ], + "destConfig": { + "defaultConfig": [ + "bucketName", + "prefix", + "namespace", + "tableSuffix", + "timeWindowLayout", + "credentials", + "syncFrequency", + "syncStartAt" + ] + }, + "secretKeys": [] + } +} diff --git a/src/configurations/destinations/gcs_datalake/metadata.json b/src/configurations/destinations/gcs_datalake/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/gcs_datalake/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/gcs_datalake/schema.json b/src/configurations/destinations/gcs_datalake/schema.json new file mode 100644 index 000000000..69c2cdb50 --- /dev/null +++ b/src/configurations/destinations/gcs_datalake/schema.json @@ -0,0 +1,43 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema", + "type": "object", + "required": ["bucketName", "credentials"], + "properties": { + "bucketName": { + "type": "string", + "pattern": "(^env[.].+)|^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$" + }, + "prefix": { + "type": "string", + "pattern": "(^env[.].*)|^(.{0,100})$" + }, + "namespace": { + "type": "string", + "pattern": "(^env[.].*)|^((?!pg_|PG_|pG_|Pg_).{0,64})$" + }, + "tableSuffix": { + "type": "string", + "pattern": "(^env[.].*)|.*" + }, + "timeWindowLayout": { + "type": "string", + "pattern": "^(2006/01/02/15|dt=2006-01-02|year=2006|year=2006/month=01|year=2006/month=01/day=02|year=2006/month=01/day=02/hour=15)$", + "default": "2006/01/02/15" + }, + "credentials": { + "type": "string", + "pattern": "(^env[.].+)|.+" + }, + "syncFrequency": { + "type": "string", + "pattern": "^(30|60|180|360|720|1440)$", + "default": "30" + }, + "syncStartAt": { + "type": "string" + } + }, + "additionalProperties": true + } +} diff --git a/src/configurations/destinations/gcs_datalake/ui-config.json b/src/configurations/destinations/gcs_datalake/ui-config.json new file mode 100644 index 000000000..a12189561 --- /dev/null +++ b/src/configurations/destinations/gcs_datalake/ui-config.json @@ -0,0 +1,143 @@ +{ + "uiConfig": [ + { + "title": "1. Connection Credentials", + "fields": [ + { + "type": "textInput", + "label": "GCS Storage Bucket Name", + "labelNote": "GCS Bucket to store your event data", + "value": "bucketName", + "regex": "^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$", + "regexErrorMessage": "Invalid Staging GCS Object Storage Bucket Name", + "required": true, + "placeholder": "e.g: gcs-event-logs", + "footerNote": "Please make sure the bucket exists in your GCS" + }, + { + "type": "textInput", + "label": "Prefix", + "value": "prefix", + "labelNote": "If configured, all data pushed by rudderstack will be at https://storage.googleapis.com///", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Prefix", + "required": false, + "placeholder": "e.g: rudder" + }, + { + "type": "textInput", + "label": "Namespace", + "labelNote": "Schema name for the warehouse where the tables are created", + "value": "namespace", + "regex": "^((?!pg_|PG_|pG_|Pg_).{0,64})$", + "regexErrorMessage": "Invalid Namespace", + "required": false, + "placeholder": "e.g: RUDDER_NAMESPACE", + "footerNote": "All data for the destination would be pushed to https://storage.googleapis.com///rudder-datalake/." + }, + { + "type": "textInput", + "label": "Table suffix (optional)", + "labelNote": "If configured, table data would be pushed to /", + "value": "tableSuffix", + "regex": ".*", + "regexErrorMessage": "Invalid Table suffix path", + "required": false, + "placeholder": "e.g: TABLE_SUFFIX_PATH" + }, + { + "type": "singleSelect", + "label": "Choose time window layout", + "value": "timeWindowLayout", + "options": [ + { + "name": "Default (YYYY/MM/DD/HH)", + "value": "2006/01/02/15" + }, + { + "name": "Upto Date (dt=YYYY-MM-DD)", + "value": "dt=2006-01-02" + }, + { + "name": "Upto Year (year=YYYY)", + "value": "year=2006" + }, + { + "name": "Upto Month (year=YYYY/month=MM)", + "value": "year=2006/month=01" + }, + { + "name": "Upto Day (year=YYYY/month=MM/day=DD)", + "value": "year=2006/month=01/day=02" + }, + { + "name": "Upto Hour (year=YYYY/month=MM/day=DD/hour=HH)", + "value": "year=2006/month=01/day=02/hour=15" + } + ], + "defaultOption": { + "name": "Default (YYYY/MM/DD/HH)", + "value": "2006/01/02/15" + }, + "required": false + }, + { + "type": "textareaInput", + "label": "Credentials", + "labelNote": "GCP Service Account credentials JSON for RudderStack to use in loading data into your Google Cloud Storage", + "value": "credentials", + "regex": ".*", + "required": true, + "footerNote": "Create a service account in your GCP Project for RudderStack with roles of 'storage.objectCreator'" + }, + { + "type": "singleSelect", + "label": "Sync Frequency", + "value": "syncFrequency", + "options": [ + { + "name": "Every 30 minutes", + "value": "30" + }, + { + "name": "Every 1 hour", + "value": "60" + }, + { + "name": "Every 3 hours", + "value": "180" + }, + { + "name": "Every 6 hours", + "value": "360" + }, + { + "name": "Every 12 hours", + "value": "720" + }, + { + "name": "Every 24 hours", + "value": "1440" + } + ], + "defaultOption": { + "name": "Every 30 minutes", + "value": "30" + }, + "required": false + }, + { + "type": "timePicker", + "label": "Sync Starting At (Optional)", + "value": "syncStartAt", + "options": { + "omitSeconds": true, + "minuteStep": 15 + }, + "required": false, + "footerNote": "Note: Please specify time in UTC" + } + ] + } + ] +} diff --git a/data/destinations/google_adwords_enhanced_conversions/db_config.json b/src/configurations/destinations/google_adwords_enhanced_conversions/db-config.json similarity index 100% rename from data/destinations/google_adwords_enhanced_conversions/db_config.json rename to src/configurations/destinations/google_adwords_enhanced_conversions/db-config.json diff --git a/src/configurations/destinations/google_adwords_enhanced_conversions/metadata.json b/src/configurations/destinations/google_adwords_enhanced_conversions/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/google_adwords_enhanced_conversions/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/google_adwords_enhanced_conversions/schema.json b/src/configurations/destinations/google_adwords_enhanced_conversions/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/google_adwords_enhanced_conversions/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/google_adwords_enhanced_conversions/ui-config.json b/src/configurations/destinations/google_adwords_enhanced_conversions/ui-config.json new file mode 100644 index 000000000..f206c2e56 --- /dev/null +++ b/src/configurations/destinations/google_adwords_enhanced_conversions/ui-config.json @@ -0,0 +1,64 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Customer ID", + "value": "customerId", + "regex": "^(.{1,100})$", + "regexErrorMessage": "Invalid Customer Id", + "required": true, + "placeholder": "e.g: 9693429833" + }, + { + "type": "checkbox", + "label": "Sub Account", + "value": "subAccount", + "required": false, + "default": false + }, + { + "type": "textInput", + "label": "Login Customer ID", + "preRequisiteField": [ + { + "name": "subAccount", + "selectedValue": true + } + ], + "value": "loginCustomerId", + "regex": "^(.{1,100})$", + "required": true, + "footerNote": "If Customer-Id is from a sub account then provide customerId of manager account" + } + ] + }, + { + "title": "Event Settings", + "fields": [ + { + "type": "dynamicCustomForm", + "value": "listOfConversions", + "label": "List of Conversion", + "customFields": [ + { + "type": "textInput", + "value": "conversions", + "required": false, + "placeholder": "e.g: Credit Card Added" + } + ] + }, + { + "type": "checkbox", + "label": "Hashing required", + "value": "requireHash", + "default": true, + "footerNote": "If this option is set to on we will encrypt mail, phoneNumber, firstName, lastName and streetAddress" + } + ] + } + ] +} diff --git a/data/destinations/google_adwords_offline_conversions/db_config.json b/src/configurations/destinations/google_adwords_offline_conversions/db-config.json similarity index 100% rename from data/destinations/google_adwords_offline_conversions/db_config.json rename to src/configurations/destinations/google_adwords_offline_conversions/db-config.json diff --git a/src/configurations/destinations/google_adwords_offline_conversions/metadata.json b/src/configurations/destinations/google_adwords_offline_conversions/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/google_adwords_offline_conversions/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/google_adwords_offline_conversions/schema.json b/src/configurations/destinations/google_adwords_offline_conversions/schema.json new file mode 100644 index 000000000..2b519e5df --- /dev/null +++ b/src/configurations/destinations/google_adwords_offline_conversions/schema.json @@ -0,0 +1,86 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["customerId"], + "properties": { + "customerId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "subAccount": { + "type": "boolean" + }, + "loginCustomerId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "eventsToOfflineConversionsTypeMapping": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "eventsToConversionsNamesMapping": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "customVariables": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "UserIdentifierSource": { + "type": "string", + "pattern": "(^env[.].*)|^(none|UNSPECIFIED|UNKNOWN|FIRST_PARTY|THIRD_PARTY)$" + }, + "conversionEnvironment": { + "type": "string", + "pattern": "(^env[.].*)|^(none|UNSPECIFIED|UNKNOWN|APP|WEB)$" + }, + "defaultUserIdentifier": { + "type": "string", + "pattern": "(^env[.].*)|^(email|phone)$" + }, + "enableServerSideIdentify": { + "type": "boolean" + }, + "validateOnly": { + "type": "boolean" + } + } + } +} diff --git a/src/configurations/destinations/google_adwords_offline_conversions/ui-config.json b/src/configurations/destinations/google_adwords_offline_conversions/ui-config.json new file mode 100644 index 000000000..afb23e150 --- /dev/null +++ b/src/configurations/destinations/google_adwords_offline_conversions/ui-config.json @@ -0,0 +1,187 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Customer ID", + "value": "customerId", + "regex": "^(.{1,100})$", + "regexErrorMessage": "Invalid Customer Id", + "required": true, + "placeholder": "e.g: 6293429833" + }, + { + "type": "checkbox", + "label": "Sub Account", + "value": "subAccount", + "required": false, + "default": false + }, + { + "type": "textInput", + "label": "Login Customer ID", + "preRequisiteField": [ + { + "name": "subAccount", + "selectedValue": true + } + ], + "value": "loginCustomerId", + "regex": "^(.{1,100})$", + "required": true, + "footerNote": "If Customer-Id is from a sub account then provide customerId of manager account" + } + ] + }, + { + "title": "Event Settings", + "fields": [ + { + "type": "dynamicSelectForm", + "label": "Map your events with Google Ads Offline Conversions", + "labelLeft": "RudderStack event names", + "labelRight": "Google ads offline conversions", + "value": "eventsToOfflineConversionsTypeMapping", + "keyLeft": "from", + "keyRight": "to", + "required": false, + "placeholderLeft": "e.g: Sign up completed", + "options": [ + { + "name": "Click", + "value": "click" + }, + { + "name": "Call", + "value": "call" + } + ] + }, + { + "type": "dynamicForm", + "label": "Map your Google Ads Conversions Names", + "labelLeft": "RudderStack event names", + "labelRight": "Google Ads conversion names", + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g: Sign up completed", + "placeholderRight": "e.g: App Sign-up", + "value": "eventsToConversionsNamesMapping" + }, + { + "type": "dynamicForm", + "label": "Map your variable names to custom Google Ads variables.", + "labelLeft": "custom variable names", + "labelRight": "Google Ads custom variables", + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g. value", + "placeholderRight": "eg: revenue", + "value": "customVariables" + }, + { + "type": "singleSelect", + "label": "User Identifier Source", + "value": "UserIdentifierSource", + "required": false, + "footerNote": "Source of the user identifier", + "options": [ + { + "name": "None", + "value": "none" + }, + { + "name": "UNSPECIFIED", + "value": "UNSPECIFIED" + }, + { + "name": "UNKNOWN", + "value": "UNKNOWN" + }, + { + "name": "FIRST_PARTY", + "value": "FIRST_PARTY" + }, + { + "name": "THIRD_PARTY", + "value": "THIRD_PARTY" + } + ], + "defaultOption": { + "name": "None", + "value": "none" + } + }, + { + "type": "singleSelect", + "label": "Conversion Environment", + "value": "conversionEnvironment", + "required": false, + "footerNote": "The environment this conversion was recorded on. e.g. App or Web.", + "options": [ + { + "name": "None", + "value": "none" + }, + { + "name": "UNSPECIFIED", + "value": "UNSPECIFIED" + }, + { + "name": "UNKNOWN", + "value": "UNKNOWN" + }, + { + "name": "APP", + "value": "APP" + }, + { + "name": "WEB", + "value": "WEB" + } + ], + "defaultOption": { + "name": "None", + "value": "none" + } + }, + { + "type": "singleSelect", + "label": "Default user identifier for click conversions", + "value": "defaultUserIdentifier", + "footerNote": "The user identifier for click conversions matching", + "options": [ + { + "name": "Email", + "value": "email" + }, + { + "name": "Phone number", + "value": "phone" + } + ], + "defaultOption": { + "name": "Email", + "value": "email" + } + }, + { + "type": "checkbox", + "label": "Hash User Identifying Information (SHA-256)", + "value": "hashUserIdentifier", + "default": true, + "footerNote": "To hash User identifying information like email, phone number, first name, last name and address using SHA-256." + }, + { + "type": "checkbox", + "label": "Validate Only", + "value": "validateOnly", + "default": false, + "footerNote": "Enable this option to only validate the request" + } + ] + } + ] +} diff --git a/data/destinations/google_adwords_remarketing_lists/db_config.json b/src/configurations/destinations/google_adwords_remarketing_lists/db-config.json similarity index 100% rename from data/destinations/google_adwords_remarketing_lists/db_config.json rename to src/configurations/destinations/google_adwords_remarketing_lists/db-config.json diff --git a/src/configurations/destinations/google_adwords_remarketing_lists/metadata.json b/src/configurations/destinations/google_adwords_remarketing_lists/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/google_adwords_remarketing_lists/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/google_adwords_remarketing_lists/schema.json b/src/configurations/destinations/google_adwords_remarketing_lists/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/google_adwords_remarketing_lists/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/google_adwords_remarketing_lists/ui-config.json b/src/configurations/destinations/google_adwords_remarketing_lists/ui-config.json new file mode 100644 index 000000000..71744f75b --- /dev/null +++ b/src/configurations/destinations/google_adwords_remarketing_lists/ui-config.json @@ -0,0 +1,112 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "List ID", + "value": "listId", + "regex": "^(.{1,100})$", + "regexErrorMessage": "Invalid Google remarketing list ID", + "required": true, + "placeholder": "e.g: 7692349833" + }, + { + "type": "textInput", + "label": "Customer ID", + "value": "customerId", + "regex": "^(.{1,100})$", + "regexErrorMessage": "Invalid Customer ID", + "required": true, + "placeholder": "e.g: 9693429833" + }, + { + "type": "checkbox", + "label": "Sub Account", + "value": "subAccount", + "required": false, + "default": false + }, + { + "type": "textInput", + "label": "Login Customer ID", + "preRequisiteField": [ + { + "name": "subAccount", + "selectedValue": true + } + ], + "value": "loginCustomerId", + "regex": "^(.{0,100})$", + "required": true, + "footerNote": "If customer ID is from a sub account, then provide the customer ID of manager account" + } + ] + }, + { + "title": "Event Settings", + "fields": [ + { + "type": "singleSelect", + "label": "List Type", + "value": "typeOfList", + "mode": "single", + "options": [ + { + "name": "General", + "value": "General" + }, + { + "name": "User ID", + "value": "userID" + }, + { + "name": "Mobile Device ID", + "value": "mobileDeviceID" + } + ], + "defaultOption": { + "value": "General" + } + }, + { + "type": "checkbox", + "label": "Hash Required", + "value": "isHashRequired", + "default": true + }, + { + "type": "singleSelect", + "label": "Schema Fields", + "preRequisiteField": [ + { + "name": "typeOfList", + "selectedValue": "General" + } + ], + "value": "userSchema", + "mode": "multiple", + "options": [ + { + "name": "Email", + "value": "email" + }, + { + "name": "Phone Number", + "value": "phone" + }, + { + "name": "Address Info", + "value": "addressInfo" + } + ], + "defaultOption": { + "name": "Email", + "value": ["email"] + } + } + ] + } + ] +} diff --git a/src/configurations/destinations/google_cloud_function/db-config.json b/src/configurations/destinations/google_cloud_function/db-config.json new file mode 100644 index 000000000..3137d6cff --- /dev/null +++ b/src/configurations/destinations/google_cloud_function/db-config.json @@ -0,0 +1,41 @@ +{ + "name": "GOOGLE_CLOUD_FUNCTION", + "displayName": "Google Cloud Function", + "config": { + "transformAt": "router", + "transformAtV1": "router", + "saveDestinationResponse": true, + "includeKeys": [ + "triggerType", + "googleCloudFunctionUrl", + "gcloudAuthorization", + "apiKeyId", + "enableBatchInput" + ], + "excludeKeys": [], + "supportedSourceTypes": [ + "amp", + "android", + "cordova", + "cloud", + "flutter", + "ios", + "reactnative", + "unity", + "warehouse", + "web" + ], + "supportedMessageTypes": ["identify", "page", "screen", "track", "alias", "group"], + "destConfig": { + "defaultConfig": [ + "triggerType", + "googleCloudFunctionUrl", + "gcloudAuthorization", + "apiKeyId", + "enableBatchInput", + "maxBatchSize" + ] + }, + "secretKeys": ["apiKeyId", "gcloudAuthorization"] + } +} diff --git a/src/configurations/destinations/google_cloud_function/metadata.json b/src/configurations/destinations/google_cloud_function/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/google_cloud_function/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/google_cloud_function/schema.json b/src/configurations/destinations/google_cloud_function/schema.json new file mode 100644 index 000000000..eef8a83b5 --- /dev/null +++ b/src/configurations/destinations/google_cloud_function/schema.json @@ -0,0 +1,67 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["triggerType"], + "properties": { + "apiKeyId": { + "type": "string" + }, + "enableBatchInput": { + "type": "boolean" + }, + "maxBatchSize": { + "type": "string", + "pattern": "^[1-9]\\d*$" + }, + "triggerType": { + "type": "string", + "pattern": "^(Http|Https)$" + } + }, + "allOf": [ + { + "if": { + "properties": { + "triggerType": { + "const": "Http" + } + }, + "required": ["triggerType"] + }, + "then": { + "properties": { + "googleCloudFunctionUrl": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$" + } + }, + "required": ["googleCloudFunctionUrl"] + } + }, + { + "if": { + "properties": { + "triggerType": { + "const": "Https" + } + }, + "required": ["triggerType"] + }, + "then": { + "properties": { + "googleCloudFunctionUrl": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$" + }, + "gcloudAuthorization": { + "type": "string", + "pattern": "(^env[.].+)|.+" + } + }, + "required": ["googleCloudFunctionUrl", "gcloudAuthorization"] + } + } + ] + } +} diff --git a/src/configurations/destinations/google_cloud_function/ui-config.json b/src/configurations/destinations/google_cloud_function/ui-config.json new file mode 100644 index 000000000..2ec9b6c6d --- /dev/null +++ b/src/configurations/destinations/google_cloud_function/ui-config.json @@ -0,0 +1,107 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "singleSelect", + "label": "Choose your Trigger Type ", + "value": "triggerType", + "options": [ + { + "name": "HTTP", + "value": "Http" + }, + { + "name": "HTTPS", + "value": "Https" + } + ], + "required": true + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "triggerType", + "selectedValue": "Http" + } + ], + "label": "URL", + "value": "googleCloudFunctionUrl", + "required": true, + "placeholder": "http://www.abcd.com", + "regex": "(?!.*\\.ngrok\\.io)^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$", + "footerNote": "The Url given under Trigger section when you create Google Cloud Function" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "triggerType", + "selectedValue": "Https" + } + ], + "label": "URL", + "value": "googleCloudFunctionUrl", + "required": true, + "placeholder": "http://www.abcd.com", + "regex": "(?!.*\\.ngrok\\.io)^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$", + "footerNote": "The Url given under Trigger section when you create Google Cloud Function" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "triggerType", + "selectedValue": "Https" + } + ], + "label": "Gcloud Authorization", + "value": "gcloudAuthorization", + "regex": ".*", + "required": true, + "placeholder": "e.g. tZrPAgHyn2jMWOVGKrS6gBGLYT8v9kJE", + "secret": true, + "footerNote": "Your private Gcloud Authorization Token" + }, + { + "type": "textInput", + "label": "Api Key Id", + "value": "apiKeyId", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Api Key Id", + "required": false, + "placeholder": "e.g: bSjsdGYsOo9sjw23Shj", + "secret": true, + "footerNote": "Your API Key" + } + ] + }, + { + "title": "Optional Settings", + "fields": [ + { + "type": "checkbox", + "label": "Enable Batch Input", + "value": "enableBatchInput", + "default": false, + "footerNote": "While this is checked, Events are sent in Batch." + }, + { + "type": "textInput", + "preRequisiteField": { + "name": "enableBatchInput", + "selectedValue": true + }, + "label": "Max Batch Size", + "value": "maxBatchSize", + "regex": "^[1-9]\\d*$", + "regexErrorMessage": "Invalid batch size", + "placeholder": "e.g: 100", + "required": false + } + ] + } + ] +} diff --git a/src/configurations/destinations/google_optimize/db-config.json b/src/configurations/destinations/google_optimize/db-config.json new file mode 100644 index 000000000..730b32b8f --- /dev/null +++ b/src/configurations/destinations/google_optimize/db-config.json @@ -0,0 +1,34 @@ +{ + "name": "GOOGLE_OPTIMIZE", + "displayName": "Google Optimize", + "config": { + "transformAt": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "ga", + "trackingId", + "containerId", + "async", + "aflicker", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption" + ], + "excludeKeys": [], + "secretKeys": [], + "supportedSourceTypes": ["web"], + "destConfig": { + "defaultConfig": ["blacklistedEvents", "whitelistedEvents", "eventFilteringOption"], + "web": [ + "ga", + "trackingId", + "containerId", + "async", + "aflicker", + "useNativeSDK", + "oneTrustCookieCategories" + ] + } + } +} diff --git a/src/configurations/destinations/google_optimize/metadata.json b/src/configurations/destinations/google_optimize/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/google_optimize/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/google_optimize/schema.json b/src/configurations/destinations/google_optimize/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/google_optimize/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/data/destinations/google_optimize/ui_config.json b/src/configurations/destinations/google_optimize/ui-config.json similarity index 100% rename from data/destinations/google_optimize/ui_config.json rename to src/configurations/destinations/google_optimize/ui-config.json diff --git a/src/configurations/destinations/googleads/db-config.json b/src/configurations/destinations/googleads/db-config.json new file mode 100644 index 000000000..ee814f0a6 --- /dev/null +++ b/src/configurations/destinations/googleads/db-config.json @@ -0,0 +1,43 @@ +{ + "name": "GOOGLEADS", + "displayName": "Google Ads", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": false, + "includeKeys": [ + "conversionID", + "eventMappingFromConfig", + "pageLoadConversions", + "clickEventConversions", + "defaultPageConversion", + "dynamicRemarketing", + "sendPageView", + "conversionLinker", + "disableAdPersonalization", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": ["web"], + "destConfig": { + "defaultConfig": [ + "conversionID", + "eventMappingFromConfig", + "pageLoadConversions", + "clickEventConversions", + "defaultPageConversion", + "sendPageView", + "conversionLinker", + "disableAdPersonalization", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "web": ["useNativeSDK", "dynamicRemarketing", "oneTrustCookieCategories"] + }, + "secretKeys": [] + } +} diff --git a/src/configurations/destinations/googleads/metadata.json b/src/configurations/destinations/googleads/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/googleads/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/googleads/schema.json b/src/configurations/destinations/googleads/schema.json new file mode 100644 index 000000000..f398bb4a5 --- /dev/null +++ b/src/configurations/destinations/googleads/schema.json @@ -0,0 +1,135 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["conversionID"], + "properties": { + "conversionID": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^AW-(.{0,100})$" + }, + "eventMappingFromConfig": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "pageLoadConversions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "conversionLabel": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "name": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "clickEventConversions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "conversionLabel": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "name": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "defaultPageConversion": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "dynamicRemarketing": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "conversionLinker": { + "type": "boolean" + }, + "sendPageView": { + "type": "boolean" + }, + "disableAdPersonalization": { + "type": "boolean" + }, + "eventFilteringOption": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(^(disable|whitelistedEvents|blacklistedEvents)$)" + }, + "whitelistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "blacklistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "useNativeSDK": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "oneTrustCookieCategories": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } + } + } +} diff --git a/data/destinations/googleads/ui_config.json b/src/configurations/destinations/googleads/ui-config.json similarity index 100% rename from data/destinations/googleads/ui_config.json rename to src/configurations/destinations/googleads/ui-config.json diff --git a/src/configurations/destinations/googlepubsub/db-config.json b/src/configurations/destinations/googlepubsub/db-config.json new file mode 100644 index 000000000..3ba5d60c3 --- /dev/null +++ b/src/configurations/destinations/googlepubsub/db-config.json @@ -0,0 +1,27 @@ +{ + "name": "GOOGLEPUBSUB", + "displayName": "Google Pub/Sub", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "destConfig": { + "defaultConfig": ["eventToTopicMap", "credentials", "projectId", "eventToAttributesMap"] + }, + "secretKeys": ["credentials"] + } +} diff --git a/src/configurations/destinations/googlepubsub/metadata.json b/src/configurations/destinations/googlepubsub/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/googlepubsub/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/googlepubsub/schema.json b/src/configurations/destinations/googlepubsub/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/googlepubsub/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/googlepubsub/ui-config.json b/src/configurations/destinations/googlepubsub/ui-config.json new file mode 100644 index 000000000..e9c82867f --- /dev/null +++ b/src/configurations/destinations/googlepubsub/ui-config.json @@ -0,0 +1,52 @@ +{ + "uiConfig": [ + { + "title": "1. Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Project ID", + "value": "projectId", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Project ID", + "required": true, + "placeholder": "" + }, + { + "type": "textareaInput", + "label": "Credentials", + "labelNote": "GCP Service Account credentials JSON for RudderStack to use in publishing data into your Google Pub/Sub", + "value": "credentials", + "regex": ".*", + "required": true, + "footerNote": "The credentials JSON is used by the client library to access the Pub/Sub API", + "secret": true + }, + { + "type": "dynamicForm", + "label": "Send RudderStack events to Google pub/sub topics", + "footerNote": "Use asterics (*) to send all events to the particular topic.", + "labelLeft": "Event", + "labelRight": "Topic ID", + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g: page", + "placeholderRight": "e.g: topic_id", + "value": "eventToTopicMap" + }, + { + "type": "dynamicForm", + "label": "Map message properties to Google pub/sub message Attribute Key", + "footerNote": "Use asterics (*) to map for all events.", + "labelLeft": "Event", + "labelRight": "Field", + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g: event", + "placeholderRight": "e.g: key", + "value": "eventToAttributesMap" + } + ] + } + ] +} diff --git a/src/configurations/destinations/googlesheets/db-config.json b/src/configurations/destinations/googlesheets/db-config.json new file mode 100644 index 000000000..48b8f80f5 --- /dev/null +++ b/src/configurations/destinations/googlesheets/db-config.json @@ -0,0 +1,27 @@ +{ + "name": "GOOGLESHEETS", + "displayName": "Google Sheets", + "config": { + "transformAt": "router", + "transformAtV1": "router", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "destConfig": { + "defaultConfig": ["sheetName", "eventKeyMap", "sheetId", "credentials"] + }, + "secretKeys": ["credentials"] + } +} diff --git a/src/configurations/destinations/googlesheets/metadata.json b/src/configurations/destinations/googlesheets/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/googlesheets/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/googlesheets/schema.json b/src/configurations/destinations/googlesheets/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/googlesheets/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/googlesheets/ui-config.json b/src/configurations/destinations/googlesheets/ui-config.json new file mode 100644 index 000000000..68801a85e --- /dev/null +++ b/src/configurations/destinations/googlesheets/ui-config.json @@ -0,0 +1,53 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textareaInput", + "label": "Credentials", + "labelNote": "Google Cloud Service Account credentials JSON for RudderStack to use in publishing data into Google Sheets", + "value": "credentials", + "regex": ".*", + "required": true, + "footerNote": "The credentials JSON is used by the client library to access the Google Sheets API", + "secret": true + }, + { + "type": "textInput", + "label": "Sheet Id", + "value": "sheetId", + "regex": ".*", + "required": true, + "placeholder": "e.g. 13N0gkA9Be_2gR2afax2G4j6h4MoCOgmDcCRgopTc905", + "footerNote": "Your Google Sheet Id" + }, + { + "type": "textInput", + "label": "Sheet Name", + "value": "sheetName", + "regex": ".*", + "required": true, + "placeholder": "e.g. Sheet1", + "footerNote": "The spread-sheet to which you want to send data" + }, + { + "type": "dynamicForm", + "label": "Map Event to Google-Sheets", + "footerNote": "Add Event Properties to map to Google-Sheets Column", + "labelLeft": "Event Properties", + "labelRight": "Column Name", + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g: addedToCart", + "placeholderRight": "e.g: Added To Cart", + "value": "eventKeyMap", + "disableInputLeft": true, + "disableInputRight": false, + "disableDelete": true, + "required": true + } + ] + } + ] +} diff --git a/src/configurations/destinations/gtm/db-config.json b/src/configurations/destinations/gtm/db-config.json new file mode 100644 index 000000000..2e3cb5d29 --- /dev/null +++ b/src/configurations/destinations/gtm/db-config.json @@ -0,0 +1,30 @@ +{ + "name": "GTM", + "displayName": "Google Tag Manager", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": false, + "includeKeys": [ + "containerID", + "serverUrl", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": ["web"], + "destConfig": { + "defaultConfig": [ + "containerID", + "serverUrl", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "web": ["useNativeSDK", "oneTrustCookieCategories"] + }, + "secretKeys": [] + } +} diff --git a/src/configurations/destinations/gtm/metadata.json b/src/configurations/destinations/gtm/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/gtm/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/gtm/schema.json b/src/configurations/destinations/gtm/schema.json new file mode 100644 index 000000000..67af25e7b --- /dev/null +++ b/src/configurations/destinations/gtm/schema.json @@ -0,0 +1,70 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["containerID"], + "properties": { + "containerID": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "serverUrl": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$" + }, + "eventFilteringOption": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(^(disable|whitelistedEvents|blacklistedEvents)$)" + }, + "whitelistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "blacklistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "useNativeSDK": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "oneTrustCookieCategories": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } + } + } +} diff --git a/data/destinations/gtm/ui_config.json b/src/configurations/destinations/gtm/ui-config.json similarity index 100% rename from data/destinations/gtm/ui_config.json rename to src/configurations/destinations/gtm/ui-config.json diff --git a/src/configurations/destinations/heap/db-config.json b/src/configurations/destinations/heap/db-config.json new file mode 100644 index 000000000..d939f23a2 --- /dev/null +++ b/src/configurations/destinations/heap/db-config.json @@ -0,0 +1,36 @@ +{ + "name": "HEAP", + "displayName": "Heap.io", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "cdkEnabled": true, + "saveDestinationResponse": true, + "includeKeys": [ + "appId", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["identify", "track"], + "destConfig": { + "defaultConfig": ["appId", "blacklistedEvents", "whitelistedEvents", "eventFilteringOption"], + "web": ["useNativeSDK", "oneTrustCookieCategories"] + }, + "secretKeys": [] + } +} diff --git a/src/configurations/destinations/heap/metadata.json b/src/configurations/destinations/heap/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/heap/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/heap/schema.json b/src/configurations/destinations/heap/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/heap/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/data/destinations/heap/ui_config.json b/src/configurations/destinations/heap/ui-config.json similarity index 100% rename from data/destinations/heap/ui_config.json rename to src/configurations/destinations/heap/ui-config.json diff --git a/src/configurations/destinations/hotjar/db-config.json b/src/configurations/destinations/hotjar/db-config.json new file mode 100644 index 000000000..58edef4d9 --- /dev/null +++ b/src/configurations/destinations/hotjar/db-config.json @@ -0,0 +1,23 @@ +{ + "name": "HOTJAR", + "displayName": "Hotjar", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "siteID", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": ["web"], + "destConfig": { + "defaultConfig": ["siteID", "blacklistedEvents", "whitelistedEvents", "eventFilteringOption"], + "web": ["useNativeSDK", "oneTrustCookieCategories"] + }, + "secretKeys": [] + } +} diff --git a/src/configurations/destinations/hotjar/metadata.json b/src/configurations/destinations/hotjar/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/hotjar/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/hotjar/schema.json b/src/configurations/destinations/hotjar/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/hotjar/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/data/destinations/hotjar/ui_config.json b/src/configurations/destinations/hotjar/ui-config.json similarity index 100% rename from data/destinations/hotjar/ui_config.json rename to src/configurations/destinations/hotjar/ui-config.json diff --git a/src/configurations/destinations/hs/db-config.json b/src/configurations/destinations/hs/db-config.json new file mode 100644 index 000000000..9d0b522cd --- /dev/null +++ b/src/configurations/destinations/hs/db-config.json @@ -0,0 +1,51 @@ +{ + "name": "HS", + "displayName": "HubSpot", + "config": { + "supportsVisualMapper": true, + "transformAt": "router", + "transformAtV1": "router", + "saveDestinationResponse": true, + "includeKeys": [ + "hubID", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["identify", "track"], + "destConfig": { + "defaultConfig": [ + "authorizationType", + "hubID", + "apiKey", + "accessToken", + "apiVersion", + "lookupField", + "hubspotEvents", + "rsEventName", + "hubspotEventName", + "eventProperties", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption", + "doAssociation" + ], + "web": ["useNativeSDK", "oneTrustCookieCategories"] + }, + "secretKeys": [] + } +} diff --git a/src/configurations/destinations/hs/metadata.json b/src/configurations/destinations/hs/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/hs/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/hs/schema.json b/src/configurations/destinations/hs/schema.json new file mode 100644 index 000000000..a6f097121 --- /dev/null +++ b/src/configurations/destinations/hs/schema.json @@ -0,0 +1,117 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "authorizationType": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(legacyApiKey|newPrivateAppApi)$" + }, + "hubID": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "apiKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "accessToken": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "apiVersion": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(legacyApi|newApi)$" + }, + "lookupField": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "hubspotEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "rsEventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "hubspotEventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "eventProperties": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } + }, + "useNativeSDK": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "eventFilteringOption": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + }, + "whitelistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "blacklistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "oneTrustCookieCategories": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } + } + } +} diff --git a/data/destinations/hs/ui_config.json b/src/configurations/destinations/hs/ui-config.json similarity index 100% rename from data/destinations/hs/ui_config.json rename to src/configurations/destinations/hs/ui-config.json diff --git a/src/configurations/destinations/indicative/db-config.json b/src/configurations/destinations/indicative/db-config.json new file mode 100644 index 000000000..04bfbcdeb --- /dev/null +++ b/src/configurations/destinations/indicative/db-config.json @@ -0,0 +1,28 @@ +{ + "name": "INDICATIVE", + "displayName": "Indicative", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["alias", "identify", "page", "screen", "track"], + "destConfig": { + "defaultConfig": ["apiKey"] + }, + "secretKeys": [] + } +} diff --git a/src/configurations/destinations/indicative/metadata.json b/src/configurations/destinations/indicative/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/indicative/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/indicative/schema.json b/src/configurations/destinations/indicative/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/indicative/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/indicative/ui-config.json b/src/configurations/destinations/indicative/ui-config.json new file mode 100644 index 000000000..7ee07e6b2 --- /dev/null +++ b/src/configurations/destinations/indicative/ui-config.json @@ -0,0 +1,19 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "API Key", + "value": "apiKey", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid API Key", + "required": true, + "placeholder": "e.g: 99ba062d-22de-4dd0-a65f-0b064495f74f", + "secret": true + } + ] + } + ] +} diff --git a/src/configurations/destinations/intercom/db-config.json b/src/configurations/destinations/intercom/db-config.json new file mode 100644 index 000000000..3956d7a81 --- /dev/null +++ b/src/configurations/destinations/intercom/db-config.json @@ -0,0 +1,47 @@ +{ + "name": "INTERCOM", + "displayName": "Intercom", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "appId", + "mobileApiKeyAndroid", + "mobileApiKeyIOS", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["identify", "track"], + "destConfig": { + "defaultConfig": [ + "apiKey", + "appId", + "collectContext", + "sendAnonymousId", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "android": ["useNativeSDK", "mobileApiKeyAndroid"], + "ios": ["useNativeSDK", "mobileApiKeyIOS"], + "web": ["useNativeSDK", "oneTrustCookieCategories"] + }, + "secretKeys": [] + } +} diff --git a/src/configurations/destinations/intercom/metadata.json b/src/configurations/destinations/intercom/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/intercom/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/intercom/schema.json b/src/configurations/destinations/intercom/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/intercom/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/data/destinations/intercom/ui_config.json b/src/configurations/destinations/intercom/ui-config.json similarity index 100% rename from data/destinations/intercom/ui_config.json rename to src/configurations/destinations/intercom/ui-config.json diff --git a/src/configurations/destinations/iterable/db-config.json b/src/configurations/destinations/iterable/db-config.json new file mode 100644 index 000000000..40f801460 --- /dev/null +++ b/src/configurations/destinations/iterable/db-config.json @@ -0,0 +1,82 @@ +{ + "name": "ITERABLE", + "displayName": "Iterable", + "config": { + "isAudienceSupported": true, + "supportsVisualMapper": true, + "transformAt": "router", + "transformAtV1": "router", + "saveDestinationResponse": true, + "includeKeys": [ + "apiKey", + "initialisationIdentifier", + "getInAppEventMapping", + "purchaseEventMapping", + "sendTrackForInapp", + "animationDuration", + "displayInterval", + "onOpenScreenReaderMessage", + "onOpenNodeToTakeFocus", + "packageName", + "rightOffset", + "topOffset", + "bottomOffset", + "handleLinks", + "closeButtonColor", + "closeButtonSize", + "closeButtonColorTopOffset", + "closeButtonColorSideOffset", + "iconPath", + "isRequiredToDismissMessage", + "closeButtonPosition" + ], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["identify", "page", "screen", "track", "alias"], + "destConfig": { + "defaultConfig": [ + "apiKey", + "mapToSingleEvent", + "trackAllPages", + "trackCategorisedPages", + "trackNamedPages" + ], + "web": [ + "useNativeSDK", + "initialisationIdentifier", + "getInAppEventMapping", + "purchaseEventMapping", + "sendTrackForInapp", + "animationDuration", + "displayInterval", + "onOpenScreenReaderMessage", + "onOpenNodeToTakeFocus", + "packageName", + "rightOffset", + "topOffset", + "bottomOffset", + "handleLinks", + "closeButtonColor", + "closeButtonSize", + "closeButtonColorTopOffset", + "closeButtonColorSideOffset", + "iconPath", + "isRequiredToDismissMessage", + "closeButtonPosition", + "oneTrustCookieCategories" + ] + }, + "secretKeys": [] + } +} diff --git a/src/configurations/destinations/iterable/metadata.json b/src/configurations/destinations/iterable/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/iterable/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/iterable/schema.json b/src/configurations/destinations/iterable/schema.json new file mode 100644 index 000000000..8c5eda682 --- /dev/null +++ b/src/configurations/destinations/iterable/schema.json @@ -0,0 +1,236 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["apiKey"], + "properties": { + "apiKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "mapToSingleEvent": { + "type": "boolean" + }, + "trackAllPages": { + "type": "boolean" + }, + "trackCategorisedPages": { + "type": "boolean" + }, + "trackNamedPages": { + "type": "boolean" + }, + "oneTrustCookieCategories": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + }, + "useNativeSDK": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "getInAppEventMapping": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + }, + "purchaseEventMapping": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + }, + "apiSecret": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "initialisationIdentifier": { + "type": "object", + "properties": { + "web": { + "type": "string" + } + } + }, + "animationDuration": { + "type": "object", + "properties": { + "web": { + "type": "string" + } + } + }, + "displayInterval": { + "type": "object", + "properties": { + "web": { + "type": "string" + } + } + }, + "onOpenScreenReaderMessage": { + "type": "object", + "properties": { + "web": { + "type": "string" + } + } + }, + "onOpenNodeToTakeFocus": { + "type": "object", + "properties": { + "web": { + "type": "string" + } + } + }, + "packageName": { + "type": "object", + "properties": { + "web": { + "type": "string" + } + } + }, + "rightOffset": { + "type": "object", + "properties": { + "web": { + "type": "string" + } + } + }, + "topOffset": { + "type": "object", + "properties": { + "web": { + "type": "string" + } + } + }, + "bottomOffset": { + "type": "object", + "properties": { + "web": { + "type": "string" + } + } + }, + "closeButtonColor": { + "type": "object", + "properties": { + "web": { + "type": "string" + } + } + }, + "closeButtonSize": { + "type": "object", + "properties": { + "web": { + "type": "string" + } + } + }, + "closeButtonColorTopOffset": { + "type": "object", + "properties": { + "web": { + "type": "string" + } + } + }, + "closeButtonColorSideOffset": { + "type": "object", + "properties": { + "web": { + "type": "string" + } + } + }, + "iconPath": { + "type": "object", + "properties": { + "web": { + "type": "string" + } + } + }, + "isRequiredToDismissMessage": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "closeButtonPosition": { + "type": "object", + "properties": { + "web": { + "type": "string" + } + } + }, + "sendTrackForInapp": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "handleLinks": { + "type": "object", + "properties": { + "web": { + "type": "string" + } + } + } + } + } +} diff --git a/data/destinations/iterable/ui_config.json b/src/configurations/destinations/iterable/ui-config.json similarity index 100% rename from data/destinations/iterable/ui_config.json rename to src/configurations/destinations/iterable/ui-config.json diff --git a/src/configurations/destinations/june/db-config.json b/src/configurations/destinations/june/db-config.json new file mode 100644 index 000000000..a8f21ea49 --- /dev/null +++ b/src/configurations/destinations/june/db-config.json @@ -0,0 +1,29 @@ +{ + "name": "JUNE", + "displayName": "JUNE", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": ["apiKey", "whitelistedEvents", "blacklistedEvents", "eventFilteringOption"], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "reactnative", + "flutter", + "cordova", + "warehouse" + ], + "supportedMessageTypes": ["page", "identify", "track", "group"], + "destConfig": { + "defaultConfig": ["apiKey", "whitelistedEvents", "blacklistedEvents", "eventFilteringOption"], + "web": ["useNativeSDK", "oneTrustCookieCategories"] + }, + "secretKeys": ["apiKey"] + } +} diff --git a/src/configurations/destinations/june/metadata.json b/src/configurations/destinations/june/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/june/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/june/schema.json b/src/configurations/destinations/june/schema.json new file mode 100644 index 000000000..42bb66960 --- /dev/null +++ b/src/configurations/destinations/june/schema.json @@ -0,0 +1,66 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["apiKey"], + "properties": { + "apiKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "eventFilteringOption": { + "type": "string", + "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + }, + "whitelistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "blacklistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "useNativeSDK": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "oneTrustCookieCategories": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } + } + } +} diff --git a/data/destinations/june/ui_config.json b/src/configurations/destinations/june/ui-config.json similarity index 100% rename from data/destinations/june/ui_config.json rename to src/configurations/destinations/june/ui-config.json diff --git a/data/destinations/kafka/db_config.json b/src/configurations/destinations/kafka/db-config.json similarity index 100% rename from data/destinations/kafka/db_config.json rename to src/configurations/destinations/kafka/db-config.json diff --git a/src/configurations/destinations/kafka/metadata.json b/src/configurations/destinations/kafka/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/kafka/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/kafka/schema.json b/src/configurations/destinations/kafka/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/kafka/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/kafka/ui-config.json b/src/configurations/destinations/kafka/ui-config.json new file mode 100644 index 000000000..c6ccc0159 --- /dev/null +++ b/src/configurations/destinations/kafka/ui-config.json @@ -0,0 +1,225 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Host Name(s)", + "value": "hostName", + "regex": "^((,|^)[^\\s]*)*$", + "regexErrorMessage": "Invalid Host Name(s)", + "required": true, + "placeholder": "e.g: localhost", + "footerNote": "For multiple host names, provide them in comma separated string format" + }, + { + "type": "textInput", + "label": "Port", + "value": "port", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Port", + "required": true, + "placeholder": "e.g: 9092" + }, + { + "type": "textInput", + "label": "Topic Name", + "value": "topic", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Topic Name", + "required": true, + "placeholder": "e.g: test-topic" + }, + { + "type": "checkbox", + "label": "SSL Enabled", + "value": "sslEnabled", + "default": true + }, + { + "type": "textareaInput", + "preRequisiteField": { + "name": "sslEnabled", + "selectedValue": true + }, + "label": "CA certificate", + "value": "caCertificate", + "regex": ".*", + "required": false, + "placeholder": "CA Certificate" + } + ] + }, + { + "title": "SASL Authentication", + "fields": [ + { + "type": "checkbox", + "label": "Enable SASL with SSL", + "value": "useSASL", + "default": false + }, + { + "type": "singleSelect", + "preRequisiteField": { + "name": "useSASL", + "selectedValue": true + }, + "label": "SASL Type", + "value": "saslType", + "options": [ + { + "name": "Plain", + "value": "plain" + }, + { + "name": "SCRAM SHA-512", + "value": "sha512" + }, + { + "name": "SCRAM SHA-256", + "value": "sha256" + } + ], + "defaultOption": { + "name": "Plain", + "value": "plain" + }, + "required": true + }, + { + "type": "textInput", + "preRequisiteField": { + "name": "useSASL", + "selectedValue": true + }, + "label": "Username", + "value": "username", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid User Name", + "required": true, + "placeholder": "e.g: userjohn" + }, + { + "type": "textInput", + "preRequisiteField": { + "name": "useSASL", + "selectedValue": true + }, + "label": "Password", + "value": "password", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Password", + "required": true, + "placeholder": "e.g: 1jdu234nasfa", + "secret": true + } + ] + }, + { + "title": "Event Settings", + "fields": [ + { + "type": "checkbox", + "label": "Convert Data to AVRO format", + "value": "convertToAvro", + "default": false, + "footerNote": "If this option is turned on we will convert the data to avro" + }, + { + "preRequisiteField": { + "name": "convertToAvro", + "selectedValue": true + }, + "label": "AVRO Schema Lists", + "value": "avroSchemas", + "required": true, + "type": "dynamicCustomForm", + "customFields": [ + { + "type": "textInput", + "value": "schemaId", + "required": true, + "label": "Schema Id", + "placeholder": "e.g: schema-id" + }, + { + "type": "textareaInput", + "value": "schema", + "label": "Schema", + "required": true, + "placeholder": "schema object" + } + ] + } + ] + }, + { + "title": "Topic Settings", + "fields": [ + { + "type": "checkbox", + "label": "Enable multiple topic support for event types and event names", + "value": "enableMultiTopic", + "default": false, + "footerNote": "Enable this option to deliver events to multiple topics" + }, + { + "preRequisiteField": { + "name": "enableMultiTopic", + "selectedValue": true + }, + "type": "dynamicSelectForm", + "label": "Map event type to topic", + "labelLeft": "Event Type", + "labelRight": "Topic", + "value": "eventTypeToTopicMap", + "keyLeft": "from", + "keyRight": "to", + "reverse": true, + "required": true, + "placeholderRight": "e.g. Sample-topic", + "options": [ + { + "name": "Identify", + "value": "identify" + }, + { + "name": "Page", + "value": "page" + }, + { + "name": "Screen", + "value": "screen" + }, + { + "name": "Group", + "value": "group" + }, + { + "name": "Alias", + "value": "alias" + } + ] + }, + { + "preRequisiteField": { + "name": "enableMultiTopic", + "selectedValue": true + }, + "type": "dynamicForm", + "label": "Map Track events to topic", + "required": true, + "placeholderLeft": "e.g. Product Searched", + "placeholderRight": "Sample-topic", + "labelLeft": "Event Name", + "labelRight": "Topic", + "keyLeft": "from", + "keyRight": "to", + "value": "eventToTopicMap" + } + ] + } + ] +} diff --git a/src/configurations/destinations/keen/db-config.json b/src/configurations/destinations/keen/db-config.json new file mode 100644 index 000000000..4ffa3917b --- /dev/null +++ b/src/configurations/destinations/keen/db-config.json @@ -0,0 +1,50 @@ +{ + "name": "KEEN", + "displayName": "Keen", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "projectID", + "writeKey", + "ipAddon", + "uaAddon", + "urlAddon", + "referrerAddon", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["page", "track"], + "destConfig": { + "defaultConfig": [ + "projectID", + "writeKey", + "ipAddon", + "uaAddon", + "urlAddon", + "referrerAddon", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "web": ["useNativeSDK", "oneTrustCookieCategories"] + }, + "secretKeys": [] + } +} diff --git a/src/configurations/destinations/keen/metadata.json b/src/configurations/destinations/keen/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/keen/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/keen/schema.json b/src/configurations/destinations/keen/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/keen/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/data/destinations/keen/ui_config.json b/src/configurations/destinations/keen/ui-config.json similarity index 100% rename from data/destinations/keen/ui_config.json rename to src/configurations/destinations/keen/ui-config.json diff --git a/data/destinations/kinesis/db_config.json b/src/configurations/destinations/kinesis/db-config.json similarity index 100% rename from data/destinations/kinesis/db_config.json rename to src/configurations/destinations/kinesis/db-config.json diff --git a/src/configurations/destinations/kinesis/metadata.json b/src/configurations/destinations/kinesis/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/kinesis/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/kinesis/schema.json b/src/configurations/destinations/kinesis/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/kinesis/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/data/destinations/kinesis/ui_config.json b/src/configurations/destinations/kinesis/ui-config.json similarity index 100% rename from data/destinations/kinesis/ui_config.json rename to src/configurations/destinations/kinesis/ui-config.json diff --git a/src/configurations/destinations/kissmetrics/db-config.json b/src/configurations/destinations/kissmetrics/db-config.json new file mode 100644 index 000000000..f3cc4d722 --- /dev/null +++ b/src/configurations/destinations/kissmetrics/db-config.json @@ -0,0 +1,42 @@ +{ + "name": "KISSMETRICS", + "displayName": "Kiss Metrics", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "apiKey", + "prefixProperties", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["alias", "identify", "page", "screen", "track"], + "destConfig": { + "defaultConfig": [ + "apiKey", + "prefixProperties", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "web": ["useNativeSDK", "oneTrustCookieCategories"] + }, + "secretKeys": [] + } +} diff --git a/src/configurations/destinations/kissmetrics/metadata.json b/src/configurations/destinations/kissmetrics/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/kissmetrics/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/kissmetrics/schema.json b/src/configurations/destinations/kissmetrics/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/kissmetrics/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/data/destinations/kissmetrics/ui_config.json b/src/configurations/destinations/kissmetrics/ui-config.json similarity index 100% rename from data/destinations/kissmetrics/ui_config.json rename to src/configurations/destinations/kissmetrics/ui-config.json diff --git a/src/configurations/destinations/klaviyo/db-config.json b/src/configurations/destinations/klaviyo/db-config.json new file mode 100644 index 000000000..2f03b1327 --- /dev/null +++ b/src/configurations/destinations/klaviyo/db-config.json @@ -0,0 +1,50 @@ +{ + "name": "KLAVIYO", + "displayName": "Klaviyo", + "config": { + "transformAt": "router", + "transformAtV1": "router", + "saveDestinationResponse": true, + "includeKeys": [ + "publicApiKey", + "sendPageAsTrack", + "additionalPageInfo", + "enforceEmailAsPrimary", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["group", "identify", "screen", "track"], + "destConfig": { + "defaultConfig": [ + "publicApiKey", + "privateApiKey", + "consent", + "smsConsent", + "listId", + "sendPageAsTrack", + "additionalPageInfo", + "enforceEmailAsPrimary", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "web": ["useNativeSDK", "oneTrustCookieCategories"] + }, + "secretKeys": ["privateApiKey"] + } +} diff --git a/src/configurations/destinations/klaviyo/metadata.json b/src/configurations/destinations/klaviyo/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/klaviyo/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/klaviyo/schema.json b/src/configurations/destinations/klaviyo/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/klaviyo/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/data/destinations/klaviyo/ui_config.json b/src/configurations/destinations/klaviyo/ui-config.json similarity index 100% rename from data/destinations/klaviyo/ui_config.json rename to src/configurations/destinations/klaviyo/ui-config.json diff --git a/src/configurations/destinations/kochava/db-config.json b/src/configurations/destinations/kochava/db-config.json new file mode 100644 index 000000000..a2bec9834 --- /dev/null +++ b/src/configurations/destinations/kochava/db-config.json @@ -0,0 +1,38 @@ +{ + "name": "KOCHAVA", + "displayName": "Kochava", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "cdkEnabled": true, + "saveDestinationResponse": true, + "includeKeys": [ + "apiKey", + "appTrackingTransparency", + "skAdNetwork", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["screen", "track"], + "destConfig": { + "defaultConfig": ["apiKey", "blacklistedEvents", "whitelistedEvents", "eventFilteringOption"], + "android": ["useNativeSDK"], + "ios": ["useNativeSDK", "appTrackingTransparency", "skAdNetwork"] + }, + "secretKeys": [] + } +} diff --git a/src/configurations/destinations/kochava/metadata.json b/src/configurations/destinations/kochava/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/kochava/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/kochava/schema.json b/src/configurations/destinations/kochava/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/kochava/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/kochava/ui-config.json b/src/configurations/destinations/kochava/ui-config.json new file mode 100644 index 000000000..611ed6e69 --- /dev/null +++ b/src/configurations/destinations/kochava/ui-config.json @@ -0,0 +1,100 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Kochava App GUID", + "value": "apiKey", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Kochava App GUID", + "required": true, + "placeholder": "e.g: kotestapplication-xxxxxxxx" + }, + { + "type": "checkbox", + "label": "Enable AppTrackingTransparency (ATT)", + "value": "appTrackingTransparency", + "required": false, + "default": false, + "footerNote": "This setting is applicable for iOS device mode only and it would not work as expected if you disable AppTrackingTransparency (ATT) for your app on Kochava dashboard." + }, + { + "type": "checkbox", + "label": "Enable skAdNetwork", + "value": "skAdNetwork", + "required": false, + "default": false, + "footerNote": "This setting is applicable for iOS device mode only and it requires you to configure skAdNetwork settings for your app on Kochava dashboard to work as expected." + } + ] + }, + { + "title": "Native SDK", + "fields": [ + { + "type": "checkbox", + "label": "Use device-mode to send events", + "value": "useNativeSDK", + "default": false + } + ] + }, + { + "title": "Client-side Events Filtering", + "sectionNote": "Applicable only for device-mode integrations. If enabled, it works only with either allowlisted or denylisted events", + "fields": [ + { + "type": "singleSelect", + "value": "eventFilteringOption", + "required": false, + "options": [ + { + "name": "Disable", + "value": "disable" + }, + { + "name": "Allowlist", + "value": "whitelistedEvents" + }, + { + "name": "Denylist", + "value": "blacklistedEvents" + } + ], + "defaultOption": { + "name": "Disable", + "value": "disable" + } + }, + { + "type": "dynamicCustomForm", + "value": "whitelistedEvents", + "label": "Allowlist", + "customFields": [ + { + "type": "textInput", + "value": "eventName", + "required": false, + "placeholder": "e.g: Anonymous Page Visit" + } + ] + }, + { + "type": "dynamicCustomForm", + "value": "blacklistedEvents", + "label": "Denylist", + "customFields": [ + { + "type": "textInput", + "value": "eventName", + "required": false, + "placeholder": "e.g: Credit Card Added" + } + ] + } + ] + } + ] +} diff --git a/src/configurations/destinations/kustomer/db-config.json b/src/configurations/destinations/kustomer/db-config.json new file mode 100644 index 000000000..bb40a5a37 --- /dev/null +++ b/src/configurations/destinations/kustomer/db-config.json @@ -0,0 +1,35 @@ +{ + "name": "KUSTOMER", + "displayName": "Kustomer", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["identify", "page", "screen", "track"], + "destConfig": { + "defaultConfig": [ + "apiKey", + "advancedTransform", + "setIdentityEmail", + "disableEmailAsTrackingProperty", + "genericPage", + "genericScreen" + ] + }, + "secretKeys": ["apiKey"] + } +} diff --git a/src/configurations/destinations/kustomer/metadata.json b/src/configurations/destinations/kustomer/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/kustomer/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/kustomer/schema.json b/src/configurations/destinations/kustomer/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/kustomer/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/kustomer/ui-config.json b/src/configurations/destinations/kustomer/ui-config.json new file mode 100644 index 000000000..00752643d --- /dev/null +++ b/src/configurations/destinations/kustomer/ui-config.json @@ -0,0 +1,57 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "API Key", + "value": "apiKey", + "regex": ".*", + "required": true, + "placeholder": "e.g. c59e3838caa934b535c1fd342dfds23452dfcccf95c16787304e7a0c0e8051b326451bb2", + "secret": true, + "footerNote": "API key required to authenticate requests." + } + ] + }, + { + "title": "Tracking Events Settings", + "fields": [ + { + "type": "checkbox", + "label": "Enable advanced Kustomer transformations", + "value": "advancedTransform", + "default": true, + "footerNote": "When advanced transformation is enabled, Rudderstack will handle Kustomer Tracking API nuances on top of Vanilla transformation. Please check Docs for more information" + }, + { + "type": "checkbox", + "label": "Add email as tracking identity", + "value": "setIdentityEmail", + "default": false, + "footerNote": "When this option is enabled, Rudderstack will add email as a tracking identity for Kustomer track call" + }, + { + "type": "checkbox", + "label": "Disable email as a tracking property", + "value": "disableEmailAsTrackingProperty", + "default": false, + "footerNote": "When this option is enabled, Rudderstack will NOT add email as a tracking property for Kustomer track call" + }, + { + "type": "checkbox", + "label": "Enable generic title for Page events", + "value": "genericPage", + "default": false + }, + { + "type": "checkbox", + "label": "Enable generic title for Screen events", + "value": "genericScreen", + "default": false + } + ] + } + ] +} diff --git a/src/configurations/destinations/lambda/db-config.json b/src/configurations/destinations/lambda/db-config.json new file mode 100644 index 000000000..26e63c03a --- /dev/null +++ b/src/configurations/destinations/lambda/db-config.json @@ -0,0 +1,38 @@ +{ + "name": "LAMBDA", + "displayName": "AWS Lambda", + "config": { + "transformAt": "router", + "transformAtV1": "router", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "amp", + "android", + "cordova", + "cloud", + "flutter", + "ios", + "reactnative", + "unity", + "warehouse", + "web" + ], + "supportedMessageTypes": ["identify", "page", "screen", "track", "alias", "group"], + "destConfig": { + "defaultConfig": [ + "region", + "iamRoleARN", + "accessKeyId", + "accessKey", + "lambda", + "enableBatchInput", + "clientContext", + "roleBasedAuth", + "maxBatchSize" + ] + }, + "secretKeys": ["accessKeyId", "accessKey"] + } +} diff --git a/src/configurations/destinations/lambda/metadata.json b/src/configurations/destinations/lambda/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/lambda/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/lambda/schema.json b/src/configurations/destinations/lambda/schema.json new file mode 100644 index 000000000..3f772bdd1 --- /dev/null +++ b/src/configurations/destinations/lambda/schema.json @@ -0,0 +1,37 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["region", "lambda"], + "properties": { + "accessKeyId": { + "type": "string" + }, + "accessKey": { + "type": "string" + }, + "iamRoleARN": { + "type": "string" + }, + "roleBasedAuth": { + "type": "boolean" + }, + "region": { + "type": "string" + }, + "lambda": { + "type": "string" + }, + "enableBatchInput": { + "type": "boolean" + }, + "maxBatchSize": { + "type": "string", + "pattern": "^$|^[1-9]\\d*$" + }, + "clientContext": { + "type": "string" + } + } + } +} diff --git a/data/destinations/lambda/ui_config.json b/src/configurations/destinations/lambda/ui-config.json similarity index 100% rename from data/destinations/lambda/ui_config.json rename to src/configurations/destinations/lambda/ui-config.json diff --git a/src/configurations/destinations/launchdarkly/db-config.json b/src/configurations/destinations/launchdarkly/db-config.json new file mode 100644 index 000000000..d34922dd9 --- /dev/null +++ b/src/configurations/destinations/launchdarkly/db-config.json @@ -0,0 +1,28 @@ +{ + "name": "LAUNCHDARKLY", + "displayName": "LaunchDarkly", + "config": { + "saveDestinationResponse": true, + "includeKeys": [ + "clientSideId", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption", + "anonymousUsersSharedKey" + ], + "excludeKeys": [], + "supportedSourceTypes": ["web"], + "supportedMessageTypes": ["identify", "track", "alias"], + "destConfig": { + "defaultConfig": [ + "clientSideId", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption", + "anonymousUsersSharedKey" + ], + "web": ["useNativeSDK", "oneTrustCookieCategories"] + } + } +} diff --git a/src/configurations/destinations/launchdarkly/metadata.json b/src/configurations/destinations/launchdarkly/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/launchdarkly/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/launchdarkly/schema.json b/src/configurations/destinations/launchdarkly/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/launchdarkly/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/data/destinations/launchdarkly/ui_config.json b/src/configurations/destinations/launchdarkly/ui-config.json similarity index 100% rename from data/destinations/launchdarkly/ui_config.json rename to src/configurations/destinations/launchdarkly/ui-config.json diff --git a/src/configurations/destinations/leanplum/db-config.json b/src/configurations/destinations/leanplum/db-config.json new file mode 100644 index 000000000..cbeaa25e5 --- /dev/null +++ b/src/configurations/destinations/leanplum/db-config.json @@ -0,0 +1,46 @@ +{ + "name": "LEANPLUM", + "displayName": "Leanplum", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "applicationId", + "clientKey", + "isDevelop", + "useNativeSDKToSend", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["identify", "page", "screen", "track"], + "destConfig": { + "defaultConfig": [ + "applicationId", + "clientKey", + "isDevelop", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "android": ["useNativeSDK", "useNativeSDKToSend"], + "ios": ["useNativeSDK", "useNativeSDKToSend"], + "flutter": ["useNativeSDK", "useNativeSDKToSend"] + }, + "secretKeys": ["clientKey"] + } +} diff --git a/src/configurations/destinations/leanplum/metadata.json b/src/configurations/destinations/leanplum/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/leanplum/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/leanplum/schema.json b/src/configurations/destinations/leanplum/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/leanplum/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/leanplum/ui-config.json b/src/configurations/destinations/leanplum/ui-config.json new file mode 100644 index 000000000..47215d4df --- /dev/null +++ b/src/configurations/destinations/leanplum/ui-config.json @@ -0,0 +1,111 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Application ID", + "value": "applicationId", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Application ID", + "required": true, + "placeholder": "e.g: ABCDEFG" + }, + { + "type": "textInput", + "label": "Client Key", + "value": "clientKey", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Client Key", + "required": true, + "placeholder": "e.g: ABCDEFG", + "secret": true + } + ] + }, + { + "title": "Native SDK", + "fields": [ + { + "type": "checkbox", + "label": "Initialize Native SDK to send automated events", + "value": "useNativeSDK", + "default": true + }, + { + "type": "checkbox", + "label": "Use device-mode to send user generated events", + "value": "useNativeSDKToSend", + "default": false + } + ] + }, + { + "title": "Development Mode", + "fields": [ + { + "type": "checkbox", + "label": "Use in Development Environment", + "value": "isDevelop", + "default": false + } + ] + }, + { + "title": "Client-side Events Filtering", + "sectionNote": "Applicable only for device-mode integrations. If enabled, it works only with either allowlisted or denylisted events", + "fields": [ + { + "type": "singleSelect", + "value": "eventFilteringOption", + "required": false, + "options": [ + { + "name": "Disable", + "value": "disable" + }, + { + "name": "Allowlist", + "value": "whitelistedEvents" + }, + { + "name": "Denylist", + "value": "blacklistedEvents" + } + ], + "defaultOption": { + "name": "Disable", + "value": "disable" + } + }, + { + "type": "dynamicCustomForm", + "value": "whitelistedEvents", + "label": "Allowlist", + "customFields": [ + { + "type": "textInput", + "value": "eventName", + "required": false, + "placeholder": "e.g: Anonymous Page Visit" + } + ] + }, + { + "type": "dynamicCustomForm", + "value": "blacklistedEvents", + "label": "Denylist", + "customFields": [ + { + "type": "textInput", + "value": "eventName", + "required": false, + "placeholder": "e.g: Credit Card Added" + } + ] + } + ] + } + ] +} diff --git a/src/configurations/destinations/linkedin_insight_tag/db-config.json b/src/configurations/destinations/linkedin_insight_tag/db-config.json new file mode 100644 index 000000000..c06fbe48d --- /dev/null +++ b/src/configurations/destinations/linkedin_insight_tag/db-config.json @@ -0,0 +1,29 @@ +{ + "name": "LINKEDIN_INSIGHT_TAG", + "displayName": "Linkedin Insight Tag", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "partnerId", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption", + "eventToConversionIdMap" + ], + "excludeKeys": [], + "supportedSourceTypes": ["web"], + "destConfig": { + "defaultConfig": [ + "partnerId", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption", + "eventToConversionIdMap" + ], + "web": ["useNativeSDK", "oneTrustCookieCategories"] + } + } +} diff --git a/src/configurations/destinations/linkedin_insight_tag/metadata.json b/src/configurations/destinations/linkedin_insight_tag/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/linkedin_insight_tag/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/linkedin_insight_tag/schema.json b/src/configurations/destinations/linkedin_insight_tag/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/linkedin_insight_tag/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/data/destinations/linkedin_insight_tag/ui_config.json b/src/configurations/destinations/linkedin_insight_tag/ui-config.json similarity index 100% rename from data/destinations/linkedin_insight_tag/ui_config.json rename to src/configurations/destinations/linkedin_insight_tag/ui-config.json diff --git a/src/configurations/destinations/livechat/db-config.json b/src/configurations/destinations/livechat/db-config.json new file mode 100644 index 000000000..604a5e48c --- /dev/null +++ b/src/configurations/destinations/livechat/db-config.json @@ -0,0 +1,36 @@ +{ + "name": "LIVECHAT", + "displayName": "livechat", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "licenseId", + "recordLiveChatEvents", + "updateEventNames", + "eventsToStandard", + "eventsList", + "eventFilteringOption", + "blacklistedEvents", + "whitelistedEvents" + ], + "excludeKeys": [], + "supportedSourceTypes": ["web"], + "supportedMessageTypes": ["identify", "track"], + "destConfig": { + "defaultConfig": [ + "licenseId", + "recordLiveChatEvents", + "updateEventNames", + "eventsToStandard", + "eventFilteringOption", + "eventsList", + "blacklistedEvents", + "whitelistedEvents" + ], + "web": ["useNativeSDK", "oneTrustCookieCategories"] + }, + "secretKeys": ["licenseId"] + } +} diff --git a/src/configurations/destinations/livechat/metadata.json b/src/configurations/destinations/livechat/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/livechat/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/livechat/schema.json b/src/configurations/destinations/livechat/schema.json new file mode 100644 index 000000000..ad2fbbe7e --- /dev/null +++ b/src/configurations/destinations/livechat/schema.json @@ -0,0 +1,88 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "required": ["licenseId"], + "type": "object", + "properties": { + "licenseId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "recordLiveChatEvents": { + "type": "boolean" + }, + "eventsList": { + "type": "string", + "pattern": "^(onReady|onAvailabilityChanged|onVisibilityChanged|onCustomerStatusChanged|onNewEvent|onFormSubmitted|onRatingSubmitted|onGreetingDisplayed|onGreetingHidden|onRichMessageButtonClicked)$" + }, + "updateEventNames": { + "type": "boolean" + }, + "eventsToStandard": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "whitelistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "blacklistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "useNativeSDK": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "oneTrustCookieCategories": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } + } + } +} diff --git a/data/destinations/livechat/ui_config.json b/src/configurations/destinations/livechat/ui-config.json similarity index 100% rename from data/destinations/livechat/ui_config.json rename to src/configurations/destinations/livechat/ui-config.json diff --git a/src/configurations/destinations/lotame/db-config.json b/src/configurations/destinations/lotame/db-config.json new file mode 100644 index 000000000..eda2daebd --- /dev/null +++ b/src/configurations/destinations/lotame/db-config.json @@ -0,0 +1,37 @@ +{ + "name": "LOTAME", + "displayName": "Lotame", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "bcpUrlSettingsPixel", + "bcpUrlSettingsIframe", + "dspUrlSettingsPixel", + "dspUrlSettingsIframe", + "mappings", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": ["web", "amp"], + "destConfig": { + "defaultConfig": [ + "bcpUrlSettingsPixel", + "bcpUrlSettingsIframe", + "dspUrlSettingsPixel", + "dspUrlSettingsIframe", + "mappings", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "web": ["useNativeSDK", "oneTrustCookieCategories"], + "amp": ["useNativeSDK"] + }, + "secretKeys": [] + } +} diff --git a/src/configurations/destinations/lotame/metadata.json b/src/configurations/destinations/lotame/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/lotame/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/lotame/schema.json b/src/configurations/destinations/lotame/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/lotame/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/data/destinations/lotame/ui_config.json b/src/configurations/destinations/lotame/ui-config.json similarity index 100% rename from data/destinations/lotame/ui_config.json rename to src/configurations/destinations/lotame/ui-config.json diff --git a/src/configurations/destinations/lotame_mobile/db-config.json b/src/configurations/destinations/lotame_mobile/db-config.json new file mode 100644 index 000000000..3a90c17e7 --- /dev/null +++ b/src/configurations/destinations/lotame_mobile/db-config.json @@ -0,0 +1,32 @@ +{ + "name": "LOTAME_MOBILE", + "displayName": "Lotame Mobile", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "bcpUrlSettingsPixel", + "dspUrlSettingsPixel", + "mappings", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": ["android", "ios"], + "destConfig": { + "defaultConfig": [ + "bcpUrlSettingsPixel", + "dspUrlSettingsPixel", + "mappings", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "android": ["useNativeSDK"], + "ios": ["useNativeSDK"] + }, + "secretKeys": [] + } +} diff --git a/src/configurations/destinations/lotame_mobile/metadata.json b/src/configurations/destinations/lotame_mobile/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/lotame_mobile/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/lotame_mobile/schema.json b/src/configurations/destinations/lotame_mobile/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/lotame_mobile/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/lotame_mobile/ui-config.json b/src/configurations/destinations/lotame_mobile/ui-config.json new file mode 100644 index 000000000..3e99e6627 --- /dev/null +++ b/src/configurations/destinations/lotame_mobile/ui-config.json @@ -0,0 +1,125 @@ +{ + "uiConfig": [ + { + "title": "BCP Url Settings", + "fields": [ + { + "type": "dynamicCustomForm", + "value": "bcpUrlSettingsPixel", + "customFields": [ + { + "type": "textInput", + "label": "BCP Url Template (Pixel)", + "value": "bcpUrlTemplate", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid BCP Url Template (Pixel)", + "required": false, + "placeholder": "e.g: ABCDEFG" + } + ] + } + ] + }, + { + "title": "DSP Url Settings", + "fields": [ + { + "type": "dynamicCustomForm", + "value": "dspUrlSettingsPixel", + "customFields": [ + { + "type": "textInput", + "label": "DSP Url Template (Pixel)", + "value": "dspUrlTemplate", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid DSP Url Template (Pixel)", + "required": false, + "placeholder": "e.g: ABCDEFG" + } + ] + } + ] + }, + { + "title": "Map all the fields: ", + "fields": [ + { + "type": "dynamicForm", + "labelLeft": "Placeholder", + "labelRight": "Value", + "keyLeft": "key", + "keyRight": "value", + "placeholderLeft": "e.g: Client ID", + "placeholderRight": "e.g: 123456", + "value": "mappings" + } + ] + }, + { + "title": "Native SDK", + "fields": [ + { + "type": "defaultCheckbox", + "label": "Use device-mode to send events", + "value": "useNativeSDK", + "default": true + } + ] + }, + { + "title": "Client-side Events Filtering", + "sectionNote": "Applicable only for device-mode integrations. If enabled, it works only with either allowlisted or denylisted events", + "fields": [ + { + "type": "singleSelect", + "value": "eventFilteringOption", + "required": false, + "options": [ + { + "name": "Disable", + "value": "disable" + }, + { + "name": "Allowlist", + "value": "whitelistedEvents" + }, + { + "name": "Denylist", + "value": "blacklistedEvents" + } + ], + "defaultOption": { + "name": "Disable", + "value": "disable" + } + }, + { + "type": "dynamicCustomForm", + "value": "whitelistedEvents", + "label": "Allowlist", + "customFields": [ + { + "type": "textInput", + "value": "eventName", + "required": false, + "placeholder": "e.g: Anonymous Page Visit" + } + ] + }, + { + "type": "dynamicCustomForm", + "value": "blacklistedEvents", + "label": "Denylist", + "customFields": [ + { + "type": "textInput", + "value": "eventName", + "required": false, + "placeholder": "e.g: Credit Card Added" + } + ] + } + ] + } + ] +} diff --git a/src/configurations/destinations/lytics/db-config.json b/src/configurations/destinations/lytics/db-config.json new file mode 100644 index 000000000..084052eb2 --- /dev/null +++ b/src/configurations/destinations/lytics/db-config.json @@ -0,0 +1,46 @@ +{ + "name": "LYTICS", + "displayName": "Lytics", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "cdkEnabled": true, + "saveDestinationResponse": true, + "includeKeys": [ + "accountId", + "apiKey", + "stream", + "blockload", + "loadid", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["identify", "page", "screen", "track"], + "destConfig": { + "defaultConfig": [ + "apiKey", + "stream", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "web": ["useNativeSDK", "accountId", "blockload", "loadid", "oneTrustCookieCategories"] + }, + "secretKeys": [] + } +} diff --git a/src/configurations/destinations/lytics/metadata.json b/src/configurations/destinations/lytics/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/lytics/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/lytics/schema.json b/src/configurations/destinations/lytics/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/lytics/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/data/destinations/lytics/ui_config.json b/src/configurations/destinations/lytics/ui-config.json similarity index 100% rename from data/destinations/lytics/ui_config.json rename to src/configurations/destinations/lytics/ui-config.json diff --git a/src/configurations/destinations/mailchimp/db-config.json b/src/configurations/destinations/mailchimp/db-config.json new file mode 100644 index 000000000..b888faf14 --- /dev/null +++ b/src/configurations/destinations/mailchimp/db-config.json @@ -0,0 +1,29 @@ +{ + "name": "MAILCHIMP", + "displayName": "Mailchimp", + "config": { + "supportsVisualMapper": true, + "transformAt": "router", + "transformAtV1": "router", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["identify"], + "destConfig": { + "defaultConfig": ["apiKey", "audienceId", "datacenterId", "enableMergeFields"] + }, + "secretKeys": [] + } +} diff --git a/src/configurations/destinations/mailchimp/metadata.json b/src/configurations/destinations/mailchimp/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/mailchimp/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/mailchimp/schema.json b/src/configurations/destinations/mailchimp/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/mailchimp/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/mailchimp/ui-config.json b/src/configurations/destinations/mailchimp/ui-config.json new file mode 100644 index 000000000..33f927fcb --- /dev/null +++ b/src/configurations/destinations/mailchimp/ui-config.json @@ -0,0 +1,48 @@ +{ + "uiConfig": [ + { + "title": "1. Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Mailchimp Api Key", + "value": "apiKey", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Mailchimp Api Key", + "required": true, + "placeholder": "e.g: 94f71917dald93kf897449b0c90caa4c-us20" + }, + { + "type": "textInput", + "label": "Mailchimp Audience Id", + "value": "audienceId", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Mailchimp Audience Id", + "required": true, + "placeholder": "e.g: dn42a32d30" + }, + { + "type": "textInput", + "label": "Mailchimp DataCenter Id", + "value": "datacenterId", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Mailchimp DataCenter Id", + "required": true, + "placeholder": "e.g: us20" + } + ] + }, + { + "title": "2. Event Map Setting", + "fields": [ + { + "type": "checkbox", + "label": "Enable merge fields", + "value": "enableMergeFields", + "default": false, + "footerNote": "It is recomended to set this to on as it will help to add merge_fields while updating a subscriber." + } + ] + } + ] +} diff --git a/src/configurations/destinations/mailjet/db-config.json b/src/configurations/destinations/mailjet/db-config.json new file mode 100644 index 000000000..b71bf53a2 --- /dev/null +++ b/src/configurations/destinations/mailjet/db-config.json @@ -0,0 +1,28 @@ +{ + "name": "MAILJET", + "displayName": "Mailjet", + "config": { + "transformAt": "router", + "transformAtV1": "router", + "saveDestinationResponse": true, + "includeKeys": ["apiKey", "apiSecret", "listId", "contactPropertiesMapping"], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["identify"], + "destConfig": { + "defaultConfig": ["apiKey", "apiSecret", "listId", "contactPropertiesMapping"] + }, + "secretKeys": ["apiSecret"] + } +} diff --git a/src/configurations/destinations/mailjet/metadata.json b/src/configurations/destinations/mailjet/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/mailjet/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/data/destinations/mailjet/schema.json b/src/configurations/destinations/mailjet/schema.json similarity index 100% rename from data/destinations/mailjet/schema.json rename to src/configurations/destinations/mailjet/schema.json diff --git a/data/destinations/mailjet/ui_config.json b/src/configurations/destinations/mailjet/ui-config.json similarity index 100% rename from data/destinations/mailjet/ui_config.json rename to src/configurations/destinations/mailjet/ui-config.json diff --git a/src/configurations/destinations/mailmodo/db-config.json b/src/configurations/destinations/mailmodo/db-config.json new file mode 100644 index 000000000..c2d08f8e8 --- /dev/null +++ b/src/configurations/destinations/mailmodo/db-config.json @@ -0,0 +1,28 @@ +{ + "name": "MAILMODO", + "displayName": "Mailmodo", + "config": { + "transformAt": "router", + "transformAtV1": "router", + "saveDestinationResponse": true, + "includeKeys": ["apiKey", "listName"], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "reactnative", + "flutter", + "cordova", + "warehouse" + ], + "supportedMessageTypes": ["identify", "track"], + "destConfig": { + "defaultConfig": ["apiKey", "listName"] + }, + "secretKeys": ["apiKey"] + } +} diff --git a/src/configurations/destinations/mailmodo/metadata.json b/src/configurations/destinations/mailmodo/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/mailmodo/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/mailmodo/schema.json b/src/configurations/destinations/mailmodo/schema.json new file mode 100644 index 000000000..46c032476 --- /dev/null +++ b/src/configurations/destinations/mailmodo/schema.json @@ -0,0 +1,17 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["apiKey"], + "properties": { + "apiKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "listName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } +} diff --git a/src/configurations/destinations/mailmodo/ui-config.json b/src/configurations/destinations/mailmodo/ui-config.json new file mode 100644 index 000000000..d4a421cc4 --- /dev/null +++ b/src/configurations/destinations/mailmodo/ui-config.json @@ -0,0 +1,30 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "API Key", + "value": "apiKey", + "regex": "^(.{1,100})$", + "regexErrorMessage": "Invalid MailModo API Key", + "required": true, + "placeholder": "e.g. L9DFHY-PTF4B4Q-PH3NY7E-LPYBX0Q", + "secret": true + }, + { + "type": "textInput", + "label": "List Name", + "value": "listName", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid List Name", + "required": false, + "placeholder": "e.g. rudderstack", + "secret": false, + "footerNote": "Name of the list where contacts should be added. If not provided, \u201cRudderstack\u201d is taken as the default name. Only applicable for the identify call" + } + ] + } + ] +} diff --git a/src/configurations/destinations/marketo/db-config.json b/src/configurations/destinations/marketo/db-config.json new file mode 100644 index 000000000..c820435a7 --- /dev/null +++ b/src/configurations/destinations/marketo/db-config.json @@ -0,0 +1,106 @@ +{ + "name": "MARKETO", + "displayName": "Marketo", + "config": { + "supportsVisualMapper": true, + "transformAt": "router", + "transformAtV1": "router", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["identify", "track"], + "destConfig": { + "defaultConfig": [ + "accountId", + "clientId", + "clientSecret", + "trackAnonymousEvents", + "createIfNotExist", + "customActivityEventMap", + "customActivityPropertyMap", + "customActivityPrimaryKeyMap", + "leadTraitMapping" + ] + }, + "secretKeys": ["clientSecret"] + }, + "responseRules": { + "responseType": "JSON", + "rules": { + "retryable": [ + { + "success": "false", + "errors.0.code": 600 + }, + { + "success": "false", + "errors.0.code": 601 + }, + { + "success": "false", + "errors.0.code": 602 + }, + { + "success": "false", + "errors.0.code": 604 + }, + { + "success": "false", + "errors.0.code": 611 + } + ], + "abortable": [ + { + "success": "false", + "errors.0.code": 603 + }, + { + "success": "false", + "errors.0.code": 605 + }, + { + "success": "false", + "errors.0.code": 609 + }, + { + "success": "false", + "errors.0.code": 610 + } + ], + "throttled": [ + { + "success": "false", + "errors.0.code": 502 + }, + { + "success": "false", + "errors.0.code": 606 + }, + { + "success": "false", + "errors.0.code": 607 + }, + { + "success": "false", + "errors.0.code": 608 + }, + { + "success": "false", + "errors.0.code": 615 + } + ] + } + } +} diff --git a/src/configurations/destinations/marketo/metadata.json b/src/configurations/destinations/marketo/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/marketo/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/marketo/schema.json b/src/configurations/destinations/marketo/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/marketo/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/marketo/ui-config.json b/src/configurations/destinations/marketo/ui-config.json new file mode 100644 index 000000000..f6e51ebb6 --- /dev/null +++ b/src/configurations/destinations/marketo/ui-config.json @@ -0,0 +1,112 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Munchkin Account Id", + "value": "accountId", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Munchkin Account Id", + "required": true, + "footerNote": "Your Marketo Accound ID from Admin settings section", + "placeholder": "e.g: 585-AXP-446" + }, + { + "type": "textInput", + "label": "Client ID", + "value": "clientId", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Client ID", + "required": true, + "placeholder": "e.g: 53b1934e-51dd-4599-b24b-92612c71515f", + "footerNote": "Your REST API Client ID" + }, + { + "type": "textInput", + "label": "Client Secret", + "value": "clientSecret", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Client Secret", + "required": true, + "placeholder": "e.g: oxzXtNhcuw9YGsdhplKUeEMi8765dsfw", + "secret": true, + "footerNote": "Your REST API Client Secret" + } + ] + }, + { + "title": "Custom Activity Settings", + "fields": [ + { + "type": "checkbox", + "label": "Track anonymous events", + "value": "trackAnonymousEvents", + "default": false, + "footerNote": "If turned on, you need to send userId with every track call" + }, + { + "type": "checkbox", + "label": "Create Lead if it does not exist", + "value": "createIfNotExist", + "default": true, + "footerNote": "If turned on, we will create a new lead if the user is not present" + }, + { + "type": "dynamicForm", + "label": "Map events to Marketo Activity ID", + "labelLeft": "Event Name", + "labelRight": "Activity ID", + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g: Product Clicked", + "placeholderRight": "e.g: 100001", + "value": "customActivityEventMap", + "footerNote": "You can find the Activity ID in your Admin section under Custom Activity on your Marketo dashboard" + }, + { + "type": "dynamicForm", + "label": "Map your event properties to Marketo custom activity's field", + "labelLeft": "Event Property", + "labelRight": "Marketo Custom Activity field", + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g: name", + "placeholderRight": "e.g: productName", + "value": "customActivityPropertyMap", + "footerNote": "The value passed in Event Property name here will be sent in the corresponding mapped field." + }, + { + "type": "dynamicForm", + "label": "Map event name to Marketo primary key", + "labelLeft": "Event Name", + "labelRight": "Marketo Primary Key", + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g: Product Clicked", + "placeholderRight": "e.g: name", + "value": "customActivityPrimaryKeyMap", + "footerNote": "Map your event name to the desired primary key field." + } + ] + }, + { + "title": "Lead Mapping", + "fields": [ + { + "type": "dynamicForm", + "label": "Map your traits to Marketo custom fields", + "labelLeft": "Traits name", + "labelRight": "Custom field api name", + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g: leadScore", + "placeholderRight": "e.g: customLeadScore", + "value": "leadTraitMapping", + "footerNote": "Map your user traits to your desired custom field's api name." + } + ] + } + ] +} diff --git a/src/configurations/destinations/marketo_bulk_upload/db-config.json b/src/configurations/destinations/marketo_bulk_upload/db-config.json new file mode 100644 index 000000000..a2558a8ba --- /dev/null +++ b/src/configurations/destinations/marketo_bulk_upload/db-config.json @@ -0,0 +1,34 @@ +{ + "name": "MARKETO_BULK_UPLOAD", + "displayName": "Marketo Lead Import", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "reactnative", + "flutter", + "cordova", + "warehouse" + ], + "destConfig": { + "defaultConfig": [ + "clientId", + "clientSecret", + "munchkinId", + "deDuplicationField", + "columnFieldsMapping", + "uploadInterval" + ] + }, + "secretKeys": ["clientId", "clientSecret"] + } +} diff --git a/src/configurations/destinations/marketo_bulk_upload/metadata.json b/src/configurations/destinations/marketo_bulk_upload/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/marketo_bulk_upload/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/marketo_bulk_upload/schema.json b/src/configurations/destinations/marketo_bulk_upload/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/marketo_bulk_upload/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/marketo_bulk_upload/ui-config.json b/src/configurations/destinations/marketo_bulk_upload/ui-config.json new file mode 100644 index 000000000..d1bdf95aa --- /dev/null +++ b/src/configurations/destinations/marketo_bulk_upload/ui-config.json @@ -0,0 +1,89 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Munchkin Account Id", + "value": "munchkinId", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Munchkin Account Id", + "required": true, + "footerNote": "Your Marketo Accound ID from Admin settings section", + "placeholder": "e.g: 585-AXP-446" + }, + { + "type": "textInput", + "label": "Client ID", + "value": "clientId", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Client ID", + "required": true, + "placeholder": "e.g: 53b1934e-51dd-4599-b24b-92612c71515f", + "footerNote": "Your REST API Client ID" + }, + { + "type": "textInput", + "label": "Client Secret", + "value": "clientSecret", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Client Secret", + "required": true, + "placeholder": "e.g: oxzXtNhcuw9YGsdhplKUeEMi8765dsfw", + "secret": true, + "footerNote": "Your REST API Client Secret" + }, + { + "type": "textInput", + "label": "De-duplication Field", + "value": "deDuplicationField", + "required": false, + "placeholder": "e.g: email", + "secret": false, + "footerNote": "RudderStack will use this Marketo field name for de-duplication & this field should be present in column field mapping." + }, + { + "type": "singleSelect", + "label": "Upload Interval", + "value": "uploadInterval", + "options": [ + { + "name": "Every 10 minutes", + "value": "10" + }, + { + "name": "Every 20 minutes", + "value": "20" + }, + { + "name": "Every 30 minutes", + "value": "30" + } + ], + "defaultOption": { + "name": "Every 10 minutes", + "value": "10" + } + } + ] + }, + { + "title": "Column Fields Mapping", + "fields": [ + { + "type": "dynamicForm", + "label": "Map your traits to Marketo column fields", + "labelRight": "Marketo field name", + "labelLeft": "RudderStack trait name", + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g: leadScore", + "placeholderRight": "e.g: customLeadScore", + "value": "columnFieldsMapping", + "footerNote": "Map your user's traits to the allowed standard fields in Marketo" + } + ] + } + ] +} diff --git a/src/configurations/destinations/marketo_static_list/db-config.json b/src/configurations/destinations/marketo_static_list/db-config.json new file mode 100644 index 000000000..afb14c71d --- /dev/null +++ b/src/configurations/destinations/marketo_static_list/db-config.json @@ -0,0 +1,17 @@ +{ + "name": "MARKETO_STATIC_LIST", + "displayName": "Marketo Static List", + "config": { + "transformAt": "router", + "transformAtV1": "router", + "saveDestinationResponse": true, + "includeKeys": ["clientId", "clientSecret", "accountId", "staticListId"], + "excludeKeys": [], + "supportedSourceTypes": ["cloud", "warehouse"], + "supportedMessageTypes": ["audiencelist"], + "destConfig": { + "defaultConfig": ["clientId", "clientSecret", "accountId", "staticListId"] + }, + "secretKeys": ["clientId", "clientSecret", "accountId"] + } +} diff --git a/src/configurations/destinations/marketo_static_list/metadata.json b/src/configurations/destinations/marketo_static_list/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/marketo_static_list/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/marketo_static_list/schema.json b/src/configurations/destinations/marketo_static_list/schema.json new file mode 100644 index 000000000..379702a4e --- /dev/null +++ b/src/configurations/destinations/marketo_static_list/schema.json @@ -0,0 +1,25 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["clientId", "clientSecret", "accountId", "staticListId"], + "properties": { + "clientId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "clientSecret": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "accountId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "staticListId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + } + } + } +} diff --git a/data/destinations/marketo_static_list/ui_config.json b/src/configurations/destinations/marketo_static_list/ui-config.json similarity index 100% rename from data/destinations/marketo_static_list/ui_config.json rename to src/configurations/destinations/marketo_static_list/ui-config.json diff --git a/src/configurations/destinations/matomo/db-config.json b/src/configurations/destinations/matomo/db-config.json new file mode 100644 index 000000000..ceb12ce0b --- /dev/null +++ b/src/configurations/destinations/matomo/db-config.json @@ -0,0 +1,56 @@ +{ + "name": "MATOMO", + "displayName": "Matomo", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "serverUrl", + "siteId", + "eventsMapToGoalId", + "eventsToStandard", + "trackAllContentImpressions", + "trackVisibleContentImpressions", + "checkOnScroll", + "timeIntervalInMs", + "logAllContentBlocksOnPage", + "enableHeartBeatTimer", + "activeTimeInseconds", + "enableLinkTracking", + "disablePerformanceTracking", + "enableCrossDomainLinking", + "setCrossDomainLinkingTimeout", + "timeout", + "getCrossDomainLinkingUrlParameter", + "disableBrowserFeatureDetection" + ], + "excludeKeys": [], + "supportedSourceTypes": ["web"], + "supportedMessageTypes": ["identify", "track", "page"], + "destConfig": { + "defaultConfig": [ + "serverUrl", + "siteId", + "eventsMapToGoalId", + "eventsToStandard", + "trackAllContentImpressions", + "trackVisibleContentImpressions", + "checkOnScroll", + "timeIntervalInMs", + "logAllContentBlocksOnPage", + "enableHeartBeatTimer", + "activeTimeInseconds", + "enableLinkTracking", + "disablePerformanceTracking", + "enableCrossDomainLinking", + "setCrossDomainLinkingTimeout", + "timeout", + "getCrossDomainLinkingUrlParameter", + "disableBrowserFeatureDetection" + ], + "web": ["useNativeSDK", "oneTrustCookieCategories"] + }, + "secretKeys": ["serverUrl", "siteId"] + } +} diff --git a/src/configurations/destinations/matomo/metadata.json b/src/configurations/destinations/matomo/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/matomo/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/matomo/schema.json b/src/configurations/destinations/matomo/schema.json new file mode 100644 index 000000000..cf4623805 --- /dev/null +++ b/src/configurations/destinations/matomo/schema.json @@ -0,0 +1,111 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "required": ["siteId", "serverUrl"], + "type": "object", + "properties": { + "serverUrl": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,100})$" + }, + "siteId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,10})$" + }, + "eventsMapToGoalId": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "eventsToStandard": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "trackAllContentImpressions": { + "type": "boolean" + }, + "trackVisibleContentImpressions": { + "type": "boolean" + }, + "checkOnScroll": { + "type": "boolean" + }, + "timeIntervalInMs": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$" + }, + "logAllContentBlocksOnPage": { + "type": "boolean" + }, + "enableHeartBeatTimer": { + "type": "boolean" + }, + "activeTimeInseconds": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$" + }, + "enableLinkTracking": { + "type": "boolean" + }, + "disablePerformanceTracking": { + "type": "boolean" + }, + "enableCrossDomainLinking": { + "type": "boolean" + }, + "setCrossDomainLinkingTimeout": { + "type": "boolean" + }, + "timeout": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$" + }, + "getCrossDomainLinkingUrlParameter": { + "type": "boolean" + }, + "disableBrowserFeatureDetection": { + "type": "boolean" + }, + "oneTrustCookieCategories": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } + } + } +} diff --git a/data/destinations/matomo/ui_config.json b/src/configurations/destinations/matomo/ui-config.json similarity index 100% rename from data/destinations/matomo/ui_config.json rename to src/configurations/destinations/matomo/ui-config.json diff --git a/src/configurations/destinations/mautic/db-config.json b/src/configurations/destinations/mautic/db-config.json new file mode 100644 index 000000000..24d8cbab9 --- /dev/null +++ b/src/configurations/destinations/mautic/db-config.json @@ -0,0 +1,27 @@ +{ + "name": "MAUTIC", + "displayName": "Mautic", + "config": { + "transformAt": "router", + "transformAtV1": "router", + "saveDestinationResponse": true, + "includeKeys": ["userName", "password", "subDomainName", "lookUpField"], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "reactnative", + "flutter", + "cordova", + "warehouse" + ], + "supportedMessageTypes": ["identify", "group"], + "destConfig": { + "defaultConfig": ["userName", "password", "subDomainName", "lookUpField"] + } + } +} diff --git a/src/configurations/destinations/mautic/metadata.json b/src/configurations/destinations/mautic/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/mautic/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/mautic/schema.json b/src/configurations/destinations/mautic/schema.json new file mode 100644 index 000000000..4f570d0fd --- /dev/null +++ b/src/configurations/destinations/mautic/schema.json @@ -0,0 +1,25 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["userName", "password", "subDomainName", "lookUpField"], + "properties": { + "userName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "password": { + "type": "string", + "pattern": "(^env[.].+)|.+" + }, + "subDomainName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "lookUpField": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + } + } + } +} diff --git a/src/configurations/destinations/mautic/ui-config.json b/src/configurations/destinations/mautic/ui-config.json new file mode 100644 index 000000000..a6b15811b --- /dev/null +++ b/src/configurations/destinations/mautic/ui-config.json @@ -0,0 +1,43 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Username", + "value": "userName", + "required": true, + "placeholder": "e.g: abc@test.com", + "footerNote": "Enter the Mautic username used for authentication." + }, + { + "type": "textInput", + "label": "Password", + "value": "password", + "required": true, + "secret": true, + "placeholder": "123fgh678", + "footerNote": "Enter the password associated with the above username." + }, + { + "type": "textInput", + "label": "Sub-Domain Name", + "value": "subDomainName", + "required": true, + "secret": true, + "placeholder": "e.g: testdomain", + "footerNote": "Enter the subdomain name of your Mautic instance." + }, + { + "type": "textInput", + "label": "Mautic property name to be used as lookup field", + "value": "lookUpField", + "required": true, + "placeholder": "e.g: email", + "footerNote": "Enter a unique Mautic user property to be used for contact lookup. The provided lookup field key will be retrieved from the traits." + } + ] + } + ] +} diff --git a/data/destinations/microsoft_clarity/db_config.json b/src/configurations/destinations/microsoft_clarity/db-config.json similarity index 100% rename from data/destinations/microsoft_clarity/db_config.json rename to src/configurations/destinations/microsoft_clarity/db-config.json diff --git a/src/configurations/destinations/microsoft_clarity/metadata.json b/src/configurations/destinations/microsoft_clarity/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/microsoft_clarity/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/microsoft_clarity/schema.json b/src/configurations/destinations/microsoft_clarity/schema.json new file mode 100644 index 000000000..765f6d83a --- /dev/null +++ b/src/configurations/destinations/microsoft_clarity/schema.json @@ -0,0 +1,65 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["projectId"], + "properties": { + "projectId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "cookieConsent": { + "type": "boolean" + }, + "whitelistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "blacklistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "useNativeSDK": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "oneTrustCookieCategories": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } + } + } +} diff --git a/data/destinations/microsoft_clarity/ui_config.json b/src/configurations/destinations/microsoft_clarity/ui-config.json similarity index 100% rename from data/destinations/microsoft_clarity/ui_config.json rename to src/configurations/destinations/microsoft_clarity/ui-config.json diff --git a/src/configurations/destinations/minio/db-config.json b/src/configurations/destinations/minio/db-config.json new file mode 100644 index 000000000..cb47856c6 --- /dev/null +++ b/src/configurations/destinations/minio/db-config.json @@ -0,0 +1,34 @@ +{ + "name": "MINIO", + "displayName": "MinIO", + "config": { + "transformAt": "none", + "transformAtV1": "none", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "destConfig": { + "defaultConfig": [ + "endPoint", + "accessKeyID", + "secretAccessKey", + "bucketName", + "prefix", + "useSSL" + ] + }, + "secretKeys": ["accessKeyID", "secretAccessKey"] + } +} diff --git a/src/configurations/destinations/minio/metadata.json b/src/configurations/destinations/minio/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/minio/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/minio/schema.json b/src/configurations/destinations/minio/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/minio/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/minio/ui-config.json b/src/configurations/destinations/minio/ui-config.json new file mode 100644 index 000000000..e3e970edc --- /dev/null +++ b/src/configurations/destinations/minio/ui-config.json @@ -0,0 +1,62 @@ +{ + "uiConfig": [ + { + "title": "1. Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "MinIO Endpoint", + "value": "endPoint", + "regex": "(?!.*\\.ngrok\\.io)^(.{0,100})$", + "regexErrorMessage": "Invalid MinIO Endpoint", + "required": true, + "placeholder": "e.g: play.min.io:9000" + }, + { + "type": "textInput", + "label": "MinIO Access Key ID", + "value": "accessKeyID", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid MinIO Access Key ID", + "required": true, + "placeholder": "e.g: Q3AM3UQ867SPQQA43P2F", + "secret": true + }, + { + "type": "textInput", + "label": "MinIO Secret Access Key", + "value": "secretAccessKey", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid MinIO Secret Access Key", + "required": true, + "placeholder": "e.g: zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG", + "secret": true + }, + { + "type": "textInput", + "label": "MINIO Bucket Name", + "value": "bucketName", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid MINIO Bucket Name", + "required": true, + "placeholder": "e.g: minio-event-logs" + }, + { + "type": "textInput", + "label": "Prefix", + "value": "prefix", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Prefix", + "required": false, + "placeholder": "e.g: rudder" + }, + { + "type": "checkbox", + "label": "Use SSL for connection", + "value": "useSSL", + "default": true + } + ] + } + ] +} diff --git a/src/configurations/destinations/moengage/db-config.json b/src/configurations/destinations/moengage/db-config.json new file mode 100644 index 000000000..6e34db70d --- /dev/null +++ b/src/configurations/destinations/moengage/db-config.json @@ -0,0 +1,47 @@ +{ + "name": "MOENGAGE", + "displayName": "MoEngage", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "apiId", + "region", + "debug", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["identify", "track"], + "destConfig": { + "defaultConfig": [ + "apiId", + "apiKey", + "region", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "web": ["useNativeSDK", "debug", "oneTrustCookieCategories"], + "android": ["useNativeSDK"], + "ios": ["useNativeSDK"], + "reactnative": ["useNativeSDK"] + }, + "secretKeys": ["apiKey"] + } +} diff --git a/src/configurations/destinations/moengage/metadata.json b/src/configurations/destinations/moengage/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/moengage/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/moengage/schema.json b/src/configurations/destinations/moengage/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/moengage/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/data/destinations/moengage/ui_config.json b/src/configurations/destinations/moengage/ui-config.json similarity index 100% rename from data/destinations/moengage/ui_config.json rename to src/configurations/destinations/moengage/ui-config.json diff --git a/src/configurations/destinations/monday/db-config.json b/src/configurations/destinations/monday/db-config.json new file mode 100644 index 000000000..dc54911ac --- /dev/null +++ b/src/configurations/destinations/monday/db-config.json @@ -0,0 +1,34 @@ +{ + "name": "MONDAY", + "displayName": "Monday", + "config": { + "transformAt": "router", + "transformAtV1": "router", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["track"], + "destConfig": { + "defaultConfig": [ + "apiToken", + "boardId", + "groupTitle", + "columnToPropertyMapping", + "whitelistedEvents" + ] + }, + "secretKeys": ["apiToken"] + } +} diff --git a/src/configurations/destinations/monday/metadata.json b/src/configurations/destinations/monday/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/monday/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/monday/schema.json b/src/configurations/destinations/monday/schema.json new file mode 100644 index 000000000..21af61db8 --- /dev/null +++ b/src/configurations/destinations/monday/schema.json @@ -0,0 +1,49 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["apiToken", "boardId"], + "properties": { + "apiToken": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,300})$" + }, + "boardId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "groupTitle": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "columnToPropertyMapping": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "whitelistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } +} diff --git a/src/configurations/destinations/monday/ui-config.json b/src/configurations/destinations/monday/ui-config.json new file mode 100644 index 000000000..ae2d1997f --- /dev/null +++ b/src/configurations/destinations/monday/ui-config.json @@ -0,0 +1,82 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "API Token", + "value": "apiToken", + "regex": "^(.{1,300})$", + "regexErrorMessage": "Invalid API Token", + "required": true, + "placeholder": "e.g. eywwakzdjiksjhriherniSFsjhnskdojsSDFhsdns.sSRSSREWdnfnsjshfjsjskshfiskskdS__Fskilhih", + "secret": true, + "footerNote": "Your API Token" + } + ] + }, + { + "title": "Board details", + "fields": [ + { + "type": "textInput", + "label": "Board ID", + "value": "boardId", + "regex": "^(.{1,100})$", + "regexErrorMessage": "Invalid Board Id", + "required": true, + "placeholder": "e.g. 3121222335", + "secret": false, + "footerNote": "Your Board Id" + }, + { + "type": "textInput", + "label": "Group Title", + "value": "groupTitle", + "regex": "^(.{1,100})$", + "regexErrorMessage": "Invalid Group Title", + "required": false, + "placeholder": "e.g. Active Deals", + "secret": false, + "footerNote": "Group name of the board in which item will be created" + } + ] + }, + { + "title": "Column to property mapping", + "fields": [ + { + "type": "dynamicForm", + "label": "Mapping the column name with property name", + "labelLeft": "Monday Column Name", + "labelRight": "RudderStack Property Name", + "value": "columnToPropertyMapping", + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g: Deal Length", + "placeholderRight": "e.g: days" + } + ] + }, + { + "title": "Client side events filtering", + "fields": [ + { + "type": "dynamicCustomForm", + "value": "whitelistedEvents", + "label": "Allowlist", + "footerNote": "Events not included in the Allowlist will be discarded.", + "customFields": [ + { + "type": "textInput", + "value": "eventName", + "required": false, + "placeholder": "e.g: Anonymous Page Visit" + } + ] + } + ] + } + ] +} diff --git a/src/configurations/destinations/monetate/db-config.json b/src/configurations/destinations/monetate/db-config.json new file mode 100644 index 000000000..a1fd15264 --- /dev/null +++ b/src/configurations/destinations/monetate/db-config.json @@ -0,0 +1,26 @@ +{ + "name": "MONETATE", + "displayName": "Monetate", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "supportedSourceTypes": [ + "android", + "ios", + "web", + "cloud", + "warehouse", + "reactnative", + "unity", + "amp", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["page", "screen", "track"], + "destConfig": { + "defaultConfig": ["monetateChannel", "retailerShortName"] + }, + "secretKeys": [] + } +} diff --git a/src/configurations/destinations/monetate/metadata.json b/src/configurations/destinations/monetate/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/monetate/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/monetate/schema.json b/src/configurations/destinations/monetate/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/monetate/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/monetate/ui-config.json b/src/configurations/destinations/monetate/ui-config.json new file mode 100644 index 000000000..d15149e2c --- /dev/null +++ b/src/configurations/destinations/monetate/ui-config.json @@ -0,0 +1,25 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Monetate Channel", + "value": "monetateChannel", + "required": true, + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Monetate Channel" + }, + { + "type": "textInput", + "label": "Retailer Short Name", + "value": "retailerShortName", + "required": true, + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Retailer Short Name" + } + ] + } + ] +} diff --git a/src/configurations/destinations/mouseflow/db-config.json b/src/configurations/destinations/mouseflow/db-config.json new file mode 100644 index 000000000..55cb26f71 --- /dev/null +++ b/src/configurations/destinations/mouseflow/db-config.json @@ -0,0 +1,29 @@ +{ + "name": "MOUSEFLOW", + "displayName": "Mouseflow", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "websiteId", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": ["web"], + "supportedMessageTypes": ["identify", "track", "page"], + "destConfig": { + "defaultConfig": [ + "websiteId", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "web": ["useNativeSDK", "oneTrustCookieCategories"] + }, + "secretKeys": ["websiteId"] + } +} diff --git a/src/configurations/destinations/mouseflow/metadata.json b/src/configurations/destinations/mouseflow/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/mouseflow/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/mouseflow/schema.json b/src/configurations/destinations/mouseflow/schema.json new file mode 100644 index 000000000..e1a4b4e24 --- /dev/null +++ b/src/configurations/destinations/mouseflow/schema.json @@ -0,0 +1,62 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["websiteId"], + "properties": { + "websiteId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "whitelistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "blacklistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "useNativeSDK": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "oneTrustCookieCategories": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } + } + } +} diff --git a/data/destinations/mouseflow/ui_config.json b/src/configurations/destinations/mouseflow/ui-config.json similarity index 100% rename from data/destinations/mouseflow/ui_config.json rename to src/configurations/destinations/mouseflow/ui-config.json diff --git a/src/configurations/destinations/mp/db-config.json b/src/configurations/destinations/mp/db-config.json new file mode 100644 index 000000000..f6a694d0f --- /dev/null +++ b/src/configurations/destinations/mp/db-config.json @@ -0,0 +1,77 @@ +{ + "name": "MP", + "displayName": "Mixpanel", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "token", + "groupKeySettings", + "apiSecret", + "dataResidency", + "people", + "setAllTraitsByDefault", + "superProperties", + "peopleProperties", + "eventIncrements", + "propIncrements", + "consolidatedPageCalls", + "trackCategorizedPages", + "trackNamedPages", + "sourceName", + "crossSubdomainCookie", + "persistence", + "secureCookie", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption", + "useNewMapping" + ], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["alias", "group", "identify", "page", "screen", "track"], + "destConfig": { + "defaultConfig": [ + "token", + "groupKeySettings", + "apiSecret", + "dataResidency", + "people", + "setAllTraitsByDefault", + "superProperties", + "peopleProperties", + "eventIncrements", + "propIncrements", + "consolidatedPageCalls", + "trackCategorizedPages", + "trackNamedPages", + "sourceName", + "crossSubdomainCookie", + "persistence", + "secureCookie", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption", + "useNewMapping", + "serviceAccountUserName", + "serviceAccountSecret", + "projectId" + ], + "web": ["useNativeSDK", "oneTrustCookieCategories"] + }, + "secretKeys": ["token"] + } +} diff --git a/src/configurations/destinations/mp/metadata.json b/src/configurations/destinations/mp/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/mp/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/mp/schema.json b/src/configurations/destinations/mp/schema.json new file mode 100644 index 000000000..094c8983b --- /dev/null +++ b/src/configurations/destinations/mp/schema.json @@ -0,0 +1,159 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["token"], + "properties": { + "token": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "apiSecret": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "dataResidency": { + "type": "string", + "pattern": "^(us|eu)$" + }, + "people": { + "type": "boolean" + }, + "setAllTraitsByDefault": { + "type": "boolean" + }, + "consolidatedPageCalls": { + "type": "boolean" + }, + "trackCategorizedPages": { + "type": "boolean" + }, + "trackNamedPages": { + "type": "boolean" + }, + "sourceName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "crossSubdomainCookie": { + "type": "boolean" + }, + "persistence": { + "type": "string", + "pattern": "^(none|cookie|localStorage)$" + }, + "secureCookie": { + "type": "boolean" + }, + "superProperties": { + "type": "array", + "items": { + "type": "object", + "properties": { + "property": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "peopleProperties": { + "type": "array", + "items": { + "type": "object", + "properties": { + "property": { + "type": "string", + "pattern": "(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "eventIncrements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "property": { + "type": "string", + "pattern": "(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "propIncrements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "property": { + "type": "string", + "pattern": "(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "groupKeySettings": { + "type": "array", + "items": { + "type": "object", + "properties": { + "groupKey": { + "type": "string", + "pattern": "(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "useNativeSDK": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "whitelistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "blacklistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "oneTrustCookieCategories": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } + } + } +} diff --git a/data/destinations/mp/ui_config.json b/src/configurations/destinations/mp/ui-config.json similarity index 100% rename from data/destinations/mp/ui_config.json rename to src/configurations/destinations/mp/ui-config.json diff --git a/src/configurations/destinations/mssql/db-config.json b/src/configurations/destinations/mssql/db-config.json new file mode 100644 index 000000000..cfe0e3038 --- /dev/null +++ b/src/configurations/destinations/mssql/db-config.json @@ -0,0 +1,63 @@ +{ + "name": "MSSQL", + "displayName": "Microsoft SQL Server", + "category": "warehouse", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "reactnative", + "cloudSource", + "flutter", + "cordova" + ], + "destConfig": { + "defaultConfig": [ + "host", + "database", + "user", + "password", + "port", + "sslMode", + "namespace", + "bucketProvider", + "bucketName", + "iamRoleARN", + "roleBasedAuth", + "accessKeyID", + "accessKey", + "accountName", + "accountKey", + "useSASTokens", + "sasToken", + "credentials", + "secretAccessKey", + "useSSL", + "containerName", + "endPoint", + "syncFrequency", + "syncStartAt", + "excludeWindow", + "useRudderStorage" + ] + }, + "secretKeys": [ + "password", + "accessKeyID", + "accessKey", + "accountKey", + "sasToken", + "secretAccessKey", + "credentials" + ] + } +} diff --git a/src/configurations/destinations/mssql/metadata.json b/src/configurations/destinations/mssql/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/mssql/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/mssql/schema.json b/src/configurations/destinations/mssql/schema.json new file mode 100644 index 000000000..e28a09699 --- /dev/null +++ b/src/configurations/destinations/mssql/schema.json @@ -0,0 +1,238 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema", + "type": "object", + "required": [ + "host", + "database", + "user", + "password", + "port", + "sslMode", + "syncFrequency", + "useRudderStorage" + ], + "properties": { + "host": { + "type": "string", + "pattern": "(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,100})$" + }, + "database": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + }, + "user": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + }, + "password": { + "type": "string", + "pattern": "(^env[.].+)|.+" + }, + "port": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + }, + "namespace": { + "type": "string", + "pattern": "(^env[.].*)|^((?!pg_|PG_|pG_|Pg_).{0,64})$" + }, + "sslMode": { + "type": "string", + "pattern": "^(disable|true|false)$" + }, + "syncFrequency": { + "type": "string", + "pattern": "^(30|60|180|360|720|1440)$", + "default": "30" + }, + "syncStartAt": { + "type": "string" + }, + "excludeWindow": { + "type": "object", + "required": ["excludeWindowStartTime", "excludeWindowEndTime"], + "properties": { + "excludeWindowStartTime": { + "type": "string" + }, + "excludeWindowEndTime": { + "type": "string" + } + } + }, + "useRudderStorage": { + "type": "boolean", + "default": false + }, + "bucketProvider": { + "type": "string", + "pattern": "^(S3|GCS|AZURE_BLOB|MINIO)$" + } + }, + "allOf": [ + { + "if": { + "properties": { + "useRudderStorage": { + "const": false + } + }, + "required": ["useRudderStorage"] + }, + "then": { + "required": ["bucketProvider"] + } + }, + { + "if": { + "properties": { + "bucketProvider": { + "const": "S3" + }, + "useRudderStorage": { + "const": false + } + }, + "required": ["bucketProvider", "useRudderStorage"] + }, + "then": { + "properties": { + "iamRoleARN": { + "type": "string" + }, + "roleBasedAuth": { + "type": "boolean" + }, + "bucketName": { + "type": "string", + "pattern": "(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$" + }, + "accessKeyID": { + "type": "string", + "pattern": "(^env[.].+)|^(.{0,100})$" + }, + "accessKey": { + "type": "string", + "pattern": "(^env[.].+)|^(.{0,100})$" + } + }, + "required": ["bucketName", "accessKeyID", "accessKey"] + } + }, + { + "if": { + "properties": { + "bucketProvider": { + "const": "GCS" + }, + "useRudderStorage": { + "const": false + } + }, + "required": ["bucketProvider", "useRudderStorage"] + }, + "then": { + "properties": { + "bucketName": { + "type": "string", + "pattern": "(^env[.].+)|^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$" + }, + "credentials": { + "type": "string", + "pattern": "(^env[.].+)|.+" + } + }, + "required": ["bucketName", "credentials"] + } + }, + { + "if": { + "properties": { + "bucketProvider": { + "const": "AZURE_BLOB" + }, + "useRudderStorage": { + "const": false + } + }, + "required": ["bucketProvider", "useRudderStorage"] + }, + "then": { + "properties": { + "containerName": { + "type": "string", + "pattern": "(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$" + }, + "accountName": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + } + }, + "required": ["containerName", "accountName"], + "anyOf": [ + { + "properties": { + "accountKey": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + } + }, + "required": ["accountKey"] + }, + { + "properties": { + "sasToken": { + "type": "string", + "pattern": "(^env[.].+)|^(.+)$" + }, + "useSASTokens": { + "const": true + } + }, + "required": ["useSASTokens", "sasToken"] + } + ] + } + }, + { + "if": { + "properties": { + "bucketProvider": { + "const": "MINIO" + }, + "useRudderStorage": { + "const": false + } + }, + "required": ["bucketProvider", "useRudderStorage"] + }, + "then": { + "properties": { + "bucketName": { + "type": "string", + "pattern": "(^env[.].+)|^((?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$" + }, + "accessKeyID": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + }, + "endPoint": { + "type": "string", + "pattern": "(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,100})$" + }, + "secretAccessKey": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + }, + "useSSL": { + "type": "boolean" + } + }, + "required": ["bucketName", "endPoint", "accessKeyID", "secretAccessKey", "useSSL"] + } + } + ], + "additionalProperties": true + } +} diff --git a/src/configurations/destinations/mssql/ui-config.json b/src/configurations/destinations/mssql/ui-config.json new file mode 100644 index 000000000..bfc3ea77c --- /dev/null +++ b/src/configurations/destinations/mssql/ui-config.json @@ -0,0 +1,547 @@ +{ + "uiConfig": [ + { + "title": "1. Connection Credentials", + "fields": [ + { + "type": "textInput", + "label": "Host", + "value": "host", + "regex": "(?!.*\\.ngrok\\.io)^(.{0,100})$", + "regexErrorMessage": "Invalid Host", + "placeholder": "e.g: mssql.mydomain.com", + "required": true + }, + { + "type": "textInput", + "label": "Database", + "value": "database", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Database", + "placeholder": "e.g: rudderdb", + "required": true + }, + { + "type": "textInput", + "label": "User", + "value": "user", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid User", + "placeholder": "e.g: rudder", + "required": true + }, + { + "type": "textInput", + "label": "Password", + "value": "password", + "placeholder": "e.g: rudder-password", + "regex": ".*", + "required": true + }, + { + "type": "textInput", + "label": "Port", + "value": "port", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Port", + "placeholder": "1433", + "required": true + }, + { + "type": "textInput", + "label": "Namespace", + "labelNote": "Schema name for the warehouse where the tables are created", + "value": "namespace", + "regex": "^((?!pg_|PG_|pG_|Pg_).{0,64})$", + "regexErrorMessage": "Invalid Namespace", + "required": false, + "placeholder": "e.g: rudder-schema", + "footerNote": "Default will be the source name" + }, + { + "type": "singleSelect", + "label": "SSL Mode", + "value": "sslMode", + "options": [ + { + "name": "disable", + "value": "disable" + }, + { + "name": "true", + "value": "true" + }, + { + "name": "false", + "value": "false" + } + ], + "defaultOption": { + "name": "disable", + "value": "disable" + }, + "required": true + }, + { + "type": "singleSelect", + "label": "Sync Frequency", + "value": "syncFrequency", + "options": [ + { + "name": "Every 30 minutes", + "value": "30" + }, + { + "name": "Every 1 hour", + "value": "60" + }, + { + "name": "Every 3 hours", + "value": "180" + }, + { + "name": "Every 6 hours", + "value": "360" + }, + { + "name": "Every 12 hours", + "value": "720" + }, + { + "name": "Every 24 hours", + "value": "1440" + } + ], + "defaultOption": { + "name": "Every 30 minutes", + "value": "30" + }, + "required": false + }, + { + "type": "timePicker", + "label": "Sync Starting At (Optional)", + "value": "syncStartAt", + "options": { + "omitSeconds": true, + "minuteStep": 15 + }, + "required": false, + "footerNote": "Note: Please specify time in UTC" + }, + { + "type": "timeRangePicker", + "label": "Exclude window (Optional)", + "value": "excludeWindow", + "startTime": { + "label": "start time", + "value": "excludeWindowStartTime" + }, + "endTime": { + "label": "end time", + "value": "excludeWindowEndTime" + }, + "options": { + "omitSeconds": true, + "minuteStep": 1 + }, + "required": false, + "footerNote": "Note: Please specify time in UTC" + } + ] + }, + { + "title": "Object Storage Configuration", + "fields": [ + { + "type": "checkbox", + "label": "Use RudderStack managed object storage", + "value": "useRudderStorage", + "default": false, + "footerNote": "Note: Only available for RudderStack managed data planes" + }, + { + "type": "singleSelect", + "label": "Choose your Storage Provider", + "value": "bucketProvider", + "options": [ + { + "name": "S3", + "value": "S3" + }, + { + "name": "GCS", + "value": "GCS" + }, + { + "name": "AZURE_BLOB", + "value": "AZURE_BLOB" + }, + { + "name": "MINIO", + "value": "MINIO" + } + ], + "defaultOption": { + "name": "MINIO", + "value": "MINIO" + }, + "required": true, + "preRequisiteField": { + "name": "useRudderStorage", + "selectedValue": false + } + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "S3" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "Staging S3 Storage Bucket Name", + "labelNote": "S3 Bucket to store data before loading into Mssql", + "value": "bucketName", + "regex": "^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$", + "regexErrorMessage": "Invalid Staging S3 Storage Bucket Name", + "placeholder": "e.g: s3-event-logs", + "required": true, + "footerNote": "Please make sure the bucket exists in your S3" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "GCS" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "Staging GCS Object Storage Bucket Name", + "labelNote": "GCS Bucket to store data before loading into Mssql", + "value": "bucketName", + "regex": "^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$", + "regexErrorMessage": "Invalid Staging GCS Object Storage Bucket Name", + "placeholder": "e.g: gcs-event-logs", + "required": true, + "footerNote": "Please make sure the bucket exists in your GCS" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "AZURE_BLOB" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "Staging Azure Blob Storage Container Name", + "labelNote": "Container to store data before loading into Mssql", + "value": "containerName", + "regex": "^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$", + "regexErrorMessage": "Invalid Staging Azure Blob Storage Container Name", + "required": true, + "placeholder": "e.g: azure-event-logs", + "footerNote": "Please make sure the container exists in your Azure Blob Storage" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "MINIO" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "Staging MINIO Storage Bucket Name", + "labelNote": "MINIO Bucket to store data before loading into Mssql", + "value": "bucketName", + "regex": "^((?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$", + "regexErrorMessage": "Invalid Staging MINIO Storage Bucket Name", + "required": true, + "placeholder": "e.g: minio-event-logs", + "footerNote": "Please make sure the bucket exists in your MINIO" + }, + { + "type": "checkbox", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "S3" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "Role Based Authentication", + "value": "roleBasedAuth", + "default": false + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "S3" + }, + { + "name": "useRudderStorage", + "selectedValue": false + }, + { + "name": "roleBasedAuth", + "selectedValue": true + } + ], + "label": "IAM Role ARN", + "value": "iamRoleARN", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Role ARN", + "required": true, + "placeholder": "e.g: arn:aws:iam::123456789012:role/S3Access", + "footerURL": { + "link": "https://www.rudderstack.com/docs/destinations/aws-iam-role-for-rudderstack/", + "text": "Instructions for creating IAM Role" + } + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "S3" + }, + { + "name": "useRudderStorage", + "selectedValue": false + }, + { + "name": "roleBasedAuth", + "selectedValue": false + } + ], + "label": "AWS Access Key ID", + "value": "accessKeyID", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid AWS Access Key ID", + "required": true, + "placeholder": "e.g: access-key-id" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "S3" + }, + { + "name": "useRudderStorage", + "selectedValue": false + }, + { + "name": "roleBasedAuth", + "selectedValue": false + } + ], + "label": "AWS Secret Access Key", + "value": "accessKey", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid AWS Secret Access Key", + "required": true, + "placeholder": "e.g: secret-access-key" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "AZURE_BLOB" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "Azure Blob Storage Account Name", + "value": "accountName", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Azure Blob Storage Account Name", + "required": true, + "placeholder": "e.g: account-name" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "AZURE_BLOB" + }, + { + "name": "useRudderStorage", + "selectedValue": false + }, + { + "name": "useSASTokens", + "selectedValue": false + } + ], + "label": "Azure Blob Storage Account Key", + "value": "accountKey", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Azure Blob Storage Account Key", + "required": true, + "secret": true, + "placeholder": "e.g: account-key" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "AZURE_BLOB" + }, + { + "name": "useRudderStorage", + "selectedValue": false + }, + { + "name": "useSASTokens", + "selectedValue": true + } + ], + "label": "Azure Blob Storage SAS Token", + "value": "sasToken", + "regex": "^(.+)$", + "regexErrorMessage": "Invalid Azure Blob Storage SAS Token", + "required": true, + "placeholder": "e.g: sas-token", + "secret": true + }, + { + "type": "checkbox", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "AZURE_BLOB" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "Use shared access signature (SAS) Tokens", + "value": "useSASTokens", + "default": false, + "footerNote": "Use this to Grant limited access to Azure Storage resources using shared access signatures (SAS)" + }, + { + "type": "textareaInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "GCS" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "Credentials", + "labelNote": "GCP Service Account credentials JSON for RudderStack to use in loading data into your Google Cloud Storage", + "value": "credentials", + "regex": ".*", + "required": true, + "footerNote": "Create a service account in your GCP Project for RudderStack with roles of 'storage.objectCreator'" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "MINIO" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "MinIO Endpoint", + "value": "endPoint", + "regex": "(?!.*\\.ngrok\\.io)^(.{0,100})$", + "regexErrorMessage": "Invalid MinIO Endpoint", + "required": true, + "placeholder": "e.g: play.min.io:9000" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "MINIO" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "MINIO Access Key ID", + "value": "accessKeyID", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid MinIO Access Key ID", + "required": true, + "placeholder": "e.g: access-key-id" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "MINIO" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "MINIO Secret Access Key", + "value": "secretAccessKey", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid MinIO Secret Access Key", + "required": true, + "placeholder": "e.g: secret-access-key" + }, + { + "type": "checkbox", + "preRequisiteField": [ + { + "name": "bucketProvider", + "selectedValue": "MINIO" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "Use SSL for connection", + "value": "useSSL", + "default": true + } + ] + } + ] +} diff --git a/src/configurations/destinations/new_relic/db-config.json b/src/configurations/destinations/new_relic/db-config.json new file mode 100644 index 000000000..dd5a2f7a5 --- /dev/null +++ b/src/configurations/destinations/new_relic/db-config.json @@ -0,0 +1,43 @@ +{ + "name": "NEW_RELIC", + "displayName": "New Relic", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "cdkEnabled": true, + "includeKeys": [ + "accountId", + "insertKey", + "dataCenter", + "customEventType", + "sendDeviceContext", + "sendUserIdanonymousId" + ], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "reactnative", + "flutter", + "cordova", + "warehouse" + ], + "supportedMessageTypes": ["track"], + "destConfig": { + "defaultConfig": [ + "accountId", + "insertKey", + "dataCenter", + "customEventType", + "sendDeviceContext", + "sendUserIdanonymousId" + ] + }, + "secretKeys": ["accountId", "insertKey"] + } +} diff --git a/src/configurations/destinations/new_relic/metadata.json b/src/configurations/destinations/new_relic/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/new_relic/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/new_relic/schema.json b/src/configurations/destinations/new_relic/schema.json new file mode 100644 index 000000000..edbbaa222 --- /dev/null +++ b/src/configurations/destinations/new_relic/schema.json @@ -0,0 +1,31 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["accountId", "insertKey"], + "properties": { + "accountId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "insertKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "dataCenter": { + "type": "string", + "pattern": "^(us|eu)$" + }, + "customEventType": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "sendDeviceContext": { + "type": "boolean" + }, + "sendUserIdanonymousId": { + "type": "boolean" + } + } + } +} diff --git a/src/configurations/destinations/new_relic/ui-config.json b/src/configurations/destinations/new_relic/ui-config.json new file mode 100644 index 000000000..d0c13767a --- /dev/null +++ b/src/configurations/destinations/new_relic/ui-config.json @@ -0,0 +1,74 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Account ID", + "value": "accountId", + "regex": "^(.{1,100})$", + "regexErrorMessage": "Invalid Account ID", + "required": true, + "placeholder": "e.g. 1234567", + "secret": true + }, + { + "type": "textInput", + "label": "Insert Key", + "value": "insertKey", + "regex": "^(.{1,100})$", + "regexErrorMessage": "Invalid Insert Key", + "required": true, + "placeholder": "e.g. zXvp6bWcSL3muCRuGrWyUA", + "secret": true + }, + { + "type": "singleSelect", + "label": "Data Center", + "value": "dataCenter", + "mode": "single", + "options": [ + { + "name": "US(standard)", + "value": "us" + }, + { + "name": "EU", + "value": "eu" + } + ], + "defaultOption": { + "name": "US(standard)", + "value": "us" + } + } + ] + }, + { + "title": "Other Settings", + "fields": [ + { + "type": "textInput", + "label": "Custom Default Event Type", + "value": "customEventType", + "regex": ".*", + "required": false, + "placeholder": "e.g. abcdef" + }, + { + "type": "checkbox", + "label": "Send Device Context", + "value": "sendDeviceContext", + "default": false + }, + { + "type": "checkbox", + "label": "Send UserId and AnonymousId", + "value": "sendUserIdanonymousId", + "default": false + } + ] + } + ] +} diff --git a/data/destinations/olark/db_config.json b/src/configurations/destinations/olark/db-config.json similarity index 100% rename from data/destinations/olark/db_config.json rename to src/configurations/destinations/olark/db-config.json diff --git a/src/configurations/destinations/olark/metadata.json b/src/configurations/destinations/olark/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/olark/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/data/destinations/olark/schema.json b/src/configurations/destinations/olark/schema.json similarity index 100% rename from data/destinations/olark/schema.json rename to src/configurations/destinations/olark/schema.json diff --git a/data/destinations/olark/ui_config.json b/src/configurations/destinations/olark/ui-config.json similarity index 100% rename from data/destinations/olark/ui_config.json rename to src/configurations/destinations/olark/ui-config.json diff --git a/src/configurations/destinations/ometria/db-config.json b/src/configurations/destinations/ometria/db-config.json new file mode 100644 index 000000000..ffbecbef2 --- /dev/null +++ b/src/configurations/destinations/ometria/db-config.json @@ -0,0 +1,28 @@ +{ + "name": "OMETRIA", + "displayName": "Ometria", + "config": { + "transformAt": "router", + "transformAtV1": "router", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "reactnative", + "flutter", + "cordova", + "warehouse" + ], + "supportedMessageTypes": ["identify", "track"], + "destConfig": { + "defaultConfig": ["apiKey", "marketingOptin", "allowMarketing", "allowTransactional"] + }, + "secretKeys": ["apiKey"] + } +} diff --git a/src/configurations/destinations/ometria/metadata.json b/src/configurations/destinations/ometria/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/ometria/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/ometria/schema.json b/src/configurations/destinations/ometria/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/ometria/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/ometria/ui-config.json b/src/configurations/destinations/ometria/ui-config.json new file mode 100644 index 000000000..20b35a10c --- /dev/null +++ b/src/configurations/destinations/ometria/ui-config.json @@ -0,0 +1,65 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "API Token", + "value": "apiKey", + "regex": ".*", + "required": true, + "placeholder": "e.g. tZrPAgHyn2jMWOVGKrS6gBGLYT8v9kJE", + "secret": true + } + ] + }, + { + "title": "Contact Settings", + "fields": [ + { + "type": "singleSelect", + "label": "Marketing Optin", + "value": "marketingOptin", + "required": false, + "placeholder": "Explicitly Opted Out", + "options": [ + { + "name": "Explicitly Opted Out", + "value": "EXPLICITLY_OPTEDOUT" + }, + { + "name": "Not Specified", + "value": "NOT_SPECIFIED" + }, + { + "name": "Explicitly Opted In", + "value": "EXPLICITLY_OPTEDIN" + } + ], + "defaultOption": { + "name": "Explicitly Opted Out", + "value": "EXPLICITLY_OPTEDOUT" + } + } + ] + }, + { + "title": "SMS Channel Settings", + "fields": [ + { + "type": "checkbox", + "label": "Allow Transactional", + "value": "allowTransactional", + "default": false + }, + { + "type": "checkbox", + "label": "Allow Marketing", + "value": "allowMarketing", + "default": false + } + ] + } + ] +} diff --git a/src/configurations/destinations/one_signal/db-config.json b/src/configurations/destinations/one_signal/db-config.json new file mode 100644 index 000000000..b08ba4e0d --- /dev/null +++ b/src/configurations/destinations/one_signal/db-config.json @@ -0,0 +1,34 @@ +{ + "name": "ONE_SIGNAL", + "displayName": "OneSignal", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["identify", "track", "group"], + "destConfig": { + "defaultConfig": [ + "appId", + "emailDeviceType", + "smsDeviceType", + "eventAsTags", + "allowedProperties" + ] + }, + "secretKeys": [] + } +} diff --git a/src/configurations/destinations/one_signal/metadata.json b/src/configurations/destinations/one_signal/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/one_signal/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/one_signal/schema.json b/src/configurations/destinations/one_signal/schema.json new file mode 100644 index 000000000..bc815f050 --- /dev/null +++ b/src/configurations/destinations/one_signal/schema.json @@ -0,0 +1,38 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["appId"], + "properties": { + "appId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "apiKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "emailDeviceType": { + "type": "boolean" + }, + "smsDeviceType": { + "type": "boolean" + }, + "eventAsTags": { + "type": "boolean" + }, + "allowedProperties": { + "type": "array", + "items": { + "type": "object", + "properties": { + "propertyName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } +} diff --git a/src/configurations/destinations/one_signal/ui-config.json b/src/configurations/destinations/one_signal/ui-config.json new file mode 100644 index 000000000..e3201ade0 --- /dev/null +++ b/src/configurations/destinations/one_signal/ui-config.json @@ -0,0 +1,60 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "App Id", + "value": "appId", + "regex": "^(.{1,100})$", + "regexErrorMessage": "Invalid App Id", + "required": true, + "placeholder": "e.g. 7acc2c99-818c-4a28-b98e-6cd8a994da65", + "secret": true, + "footerNote": "Your OneSignal App Id" + } + ] + }, + { + "title": "Device Type", + "fields": [ + { + "type": "checkbox", + "label": "Toggle on to add a device using email", + "value": "emailDeviceType", + "default": false + }, + { + "type": "checkbox", + "label": "Toggle on to add a device using phone number", + "value": "smsDeviceType", + "default": false + } + ] + }, + { + "title": "Property Settings", + "fields": [ + { + "type": "checkbox", + "label": "Toggle on to concatenate event name with properties", + "value": "eventAsTags", + "default": false + }, + { + "type": "dynamicCustomForm", + "value": "allowedProperties", + "label": "Allowed Property List", + "customFields": [ + { + "type": "textInput", + "value": "propertyName", + "required": false + } + ] + } + ] + } + ] +} diff --git a/src/configurations/destinations/optimizely/db-config.json b/src/configurations/destinations/optimizely/db-config.json new file mode 100644 index 000000000..5f98279b1 --- /dev/null +++ b/src/configurations/destinations/optimizely/db-config.json @@ -0,0 +1,40 @@ +{ + "name": "OPTIMIZELY", + "displayName": "Optimizely Web", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "sendExperimentTrack", + "sendExperimentTrackAsNonInteractive", + "revenueOnlyOnOrderCompleted", + "trackCategorizedPages", + "trackNamedPages", + "sendExperimentIdentify", + "customCampaignProperties", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": ["web"], + "destConfig": { + "defaultConfig": [ + "sendExperimentTrack", + "sendExperimentTrackAsNonInteractive", + "revenueOnlyOnOrderCompleted", + "trackCategorizedPages", + "trackNamedPages", + "sendExperimentIdentify", + "customCampaignProperties", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "web": ["useNativeSDK", "oneTrustCookieCategories"] + }, + "secretKeys": [] + } +} diff --git a/src/configurations/destinations/optimizely/metadata.json b/src/configurations/destinations/optimizely/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/optimizely/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/optimizely/schema.json b/src/configurations/destinations/optimizely/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/optimizely/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/data/destinations/optimizely/ui_config.json b/src/configurations/destinations/optimizely/ui-config.json similarity index 100% rename from data/destinations/optimizely/ui_config.json rename to src/configurations/destinations/optimizely/ui-config.json diff --git a/src/configurations/destinations/optimizely_fullstack/db-config.json b/src/configurations/destinations/optimizely_fullstack/db-config.json new file mode 100644 index 000000000..0aa9d047b --- /dev/null +++ b/src/configurations/destinations/optimizely_fullstack/db-config.json @@ -0,0 +1,32 @@ +{ + "name": "OPTIMIZELY_FULLSTACK", + "displayName": "Optimizely Fullstack", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "trackKnownUsers", + "nonInteraction", + "listen", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": ["android", "ios"], + "destConfig": { + "defaultConfig": [ + "trackKnownUsers", + "nonInteraction", + "listen", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "android": ["useNativeSDK"], + "ios": ["useNativeSDK"] + }, + "secretKeys": [] + } +} diff --git a/src/configurations/destinations/optimizely_fullstack/metadata.json b/src/configurations/destinations/optimizely_fullstack/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/optimizely_fullstack/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/optimizely_fullstack/schema.json b/src/configurations/destinations/optimizely_fullstack/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/optimizely_fullstack/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/optimizely_fullstack/ui-config.json b/src/configurations/destinations/optimizely_fullstack/ui-config.json new file mode 100644 index 000000000..b0dcb9b8d --- /dev/null +++ b/src/configurations/destinations/optimizely_fullstack/ui-config.json @@ -0,0 +1,106 @@ +{ + "uiConfig": [ + { + "title": "Only Track known users", + "fields": [ + { + "type": "checkbox", + "label": "Track Known Users", + "value": "trackKnownUsers", + "required": false, + "default": true + } + ] + }, + { + "title": "Sends the experiment and variation information", + "fields": [ + { + "type": "checkbox", + "label": "Sends the experiment and variation information as properties on a track call", + "value": "listen", + "required": false, + "default": true + } + ] + }, + { + "title": "Non-Interaction Event", + "fields": [ + { + "type": "checkbox", + "label": "Specifies the Experiment Viewed as a non-interaction event for Google Analytics", + "value": "nonInteraction", + "required": false, + "default": true + } + ] + }, + { + "title": "Native SDK", + "fields": [ + { + "type": "defaultCheckbox", + "label": "Use device-mode to send events", + "value": "useNativeSDK", + "default": true + } + ] + }, + { + "title": "Client-side Events Filtering", + "sectionNote": "Applicable only for device-mode integrations. If enabled, it works only with either allowlisted or denylisted events", + "fields": [ + { + "type": "singleSelect", + "value": "eventFilteringOption", + "required": false, + "options": [ + { + "name": "Disable", + "value": "disable" + }, + { + "name": "Allowlist", + "value": "whitelistedEvents" + }, + { + "name": "Denylist", + "value": "blacklistedEvents" + } + ], + "defaultOption": { + "name": "Disable", + "value": "disable" + } + }, + { + "type": "dynamicCustomForm", + "value": "whitelistedEvents", + "label": "Allowlist", + "customFields": [ + { + "type": "textInput", + "value": "eventName", + "required": false, + "placeholder": "e.g: Anonymous Page Visit" + } + ] + }, + { + "type": "dynamicCustomForm", + "value": "blacklistedEvents", + "label": "Denylist", + "customFields": [ + { + "type": "textInput", + "value": "eventName", + "required": false, + "placeholder": "e.g: Credit Card Added" + } + ] + } + ] + } + ] +} diff --git a/data/destinations/pagerduty/db_config.json b/src/configurations/destinations/pagerduty/db-config.json similarity index 100% rename from data/destinations/pagerduty/db_config.json rename to src/configurations/destinations/pagerduty/db-config.json diff --git a/src/configurations/destinations/pagerduty/metadata.json b/src/configurations/destinations/pagerduty/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/pagerduty/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/data/destinations/pagerduty/schema.json b/src/configurations/destinations/pagerduty/schema.json similarity index 100% rename from data/destinations/pagerduty/schema.json rename to src/configurations/destinations/pagerduty/schema.json diff --git a/data/destinations/pagerduty/ui_config.json b/src/configurations/destinations/pagerduty/ui-config.json similarity index 100% rename from data/destinations/pagerduty/ui_config.json rename to src/configurations/destinations/pagerduty/ui-config.json diff --git a/data/destinations/pardot/db_config.json b/src/configurations/destinations/pardot/db-config.json similarity index 100% rename from data/destinations/pardot/db_config.json rename to src/configurations/destinations/pardot/db-config.json diff --git a/src/configurations/destinations/pardot/metadata.json b/src/configurations/destinations/pardot/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/pardot/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/pardot/schema.json b/src/configurations/destinations/pardot/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/pardot/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/pardot/ui-config.json b/src/configurations/destinations/pardot/ui-config.json new file mode 100644 index 000000000..70acdff8e --- /dev/null +++ b/src/configurations/destinations/pardot/ui-config.json @@ -0,0 +1,26 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Business Unit Id", + "value": "businessUnitId", + "regex": ".*", + "required": true, + "placeholder": "0Uv2b000000k9tHUHT", + "secret": true + }, + { + "type": "textInput", + "label": "Campaign Id", + "value": "campaignId", + "regex": ".*", + "required": true, + "placeholder": "12345" + } + ] + } + ] +} diff --git a/src/configurations/destinations/pendo/db-config.json b/src/configurations/destinations/pendo/db-config.json new file mode 100644 index 000000000..febe8fe98 --- /dev/null +++ b/src/configurations/destinations/pendo/db-config.json @@ -0,0 +1,23 @@ +{ + "name": "PENDO", + "displayName": "Pendo", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "apiKey", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": ["web"], + "destConfig": { + "defaultConfig": ["apiKey", "blacklistedEvents", "whitelistedEvents", "eventFilteringOption"], + "web": ["useNativeSDK", "oneTrustCookieCategories"] + }, + "secretKeys": [] + } +} diff --git a/src/configurations/destinations/pendo/metadata.json b/src/configurations/destinations/pendo/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/pendo/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/pendo/schema.json b/src/configurations/destinations/pendo/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/pendo/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/data/destinations/pendo/ui_config.json b/src/configurations/destinations/pendo/ui-config.json similarity index 100% rename from data/destinations/pendo/ui_config.json rename to src/configurations/destinations/pendo/ui-config.json diff --git a/src/configurations/destinations/persistiq/db-config.json b/src/configurations/destinations/persistiq/db-config.json new file mode 100644 index 000000000..3b7cd1f3e --- /dev/null +++ b/src/configurations/destinations/persistiq/db-config.json @@ -0,0 +1,29 @@ +{ + "name": "PERSISTIQ", + "displayName": "PersistIQ", + "config": { + "transformAt": "router", + "transformAtV1": "router", + "saveDestinationResponse": true, + "includeKeys": ["apiKey"], + "excludeKeys": [], + "supportedSourceTypes": [ + "web", + "cloud", + "mobile", + "android", + "ios", + "unity", + "amp", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["identify", "group"], + "destConfig": { + "defaultConfig": ["apiKey", "persistIqAttributesMapping"] + }, + "secretKeys": ["apiKey"] + } +} diff --git a/src/configurations/destinations/persistiq/metadata.json b/src/configurations/destinations/persistiq/metadata.json new file mode 100644 index 000000000..bd62701fa --- /dev/null +++ b/src/configurations/destinations/persistiq/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["group", "identify"], + "device-mode": { + "web": ["group", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/data/destinations/persistiq/schema.json b/src/configurations/destinations/persistiq/schema.json similarity index 100% rename from data/destinations/persistiq/schema.json rename to src/configurations/destinations/persistiq/schema.json diff --git a/src/configurations/destinations/persistiq/ui-config.json b/src/configurations/destinations/persistiq/ui-config.json new file mode 100644 index 000000000..f5a8b2ed5 --- /dev/null +++ b/src/configurations/destinations/persistiq/ui-config.json @@ -0,0 +1,36 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "PersistIQ REST API Key", + "value": "apiKey", + "regex": "^(.{1,100})$", + "required": true, + "placeholder": "e.g. 2c646069c3ery92322cc0dab36cd060ad", + "secret": true, + "footerNote": "Enter the API Key from PersistIQ Settings for Authentication" + } + ] + }, + { + "title": "Mapping Configurations", + "fields": [ + { + "type": "dynamicForm", + "label": "Map Rudder user attributes to Persist IQ Lead attributes", + "value": "persistIqAttributesMapping", + "required": false, + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g. Industry Name", + "placeholderRight": "e.g. industry", + "labelLeft": "Rudder Property", + "labelRight": "PersistIQ Lead attribute" + } + ] + } + ] +} diff --git a/data/destinations/personalize/db_config.json b/src/configurations/destinations/personalize/db-config.json similarity index 100% rename from data/destinations/personalize/db_config.json rename to src/configurations/destinations/personalize/db-config.json diff --git a/src/configurations/destinations/personalize/metadata.json b/src/configurations/destinations/personalize/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/personalize/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/personalize/schema.json b/src/configurations/destinations/personalize/schema.json new file mode 100644 index 000000000..fb151e558 --- /dev/null +++ b/src/configurations/destinations/personalize/schema.json @@ -0,0 +1,58 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["region"], + "properties": { + "iamRoleARN": { + "type": "string" + }, + "roleBasedAuth": { + "type": "boolean" + }, + "accessKeyId": { + "type": "string", + "pattern": "^(.{0,100})$" + }, + "secretAccessKey": { + "type": "string", + "pattern": "^(.{0,100})$" + }, + "region": { + "type": "string", + "pattern": "^(.{0,100})$" + }, + "trackingId": { + "type": "string", + "pattern": "^(.{0,100})$" + }, + "datasetARN": { + "type": "string", + "pattern": "arn:([a-z/d-]+):personalize:.*:.*:.+" + }, + "eventChoice": { + "type": "string", + "pattern": "(^env[.].*)|^(PutEvents|PutUsers|PutItems)$" + }, + "customMappings": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "disableStringify": { + "type": "boolean" + } + } + } +} diff --git a/data/destinations/personalize/ui_config.json b/src/configurations/destinations/personalize/ui-config.json similarity index 100% rename from data/destinations/personalize/ui_config.json rename to src/configurations/destinations/personalize/ui-config.json diff --git a/src/configurations/destinations/pinterest_tag/db-config.json b/src/configurations/destinations/pinterest_tag/db-config.json new file mode 100644 index 000000000..00f9b583a --- /dev/null +++ b/src/configurations/destinations/pinterest_tag/db-config.json @@ -0,0 +1,55 @@ +{ + "name": "PINTEREST_TAG", + "displayName": "Pinterest Tag", + "config": { + "cdkV2TestThreshold": 1, + "transformAt": "router", + "transformAtV1": "router", + "saveDestinationResponse": false, + "includeKeys": [ + "tagId", + "advertiserId", + "appId", + "customProperties", + "eventsMapping", + "enhancedMatch", + "enableDeduplication", + "deduplicationKey", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "destConfig": { + "defaultConfig": [ + "tagId", + "appId", + "advertiserId", + "sendingUnHashedData", + "enableDeduplication", + "deduplicationKey", + "customProperties", + "eventsMapping", + "enhancedMatch", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "web": ["useNativeSDK", "oneTrustCookieCategories"] + }, + "secretKeys": [] + } +} diff --git a/src/configurations/destinations/pinterest_tag/metadata.json b/src/configurations/destinations/pinterest_tag/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/pinterest_tag/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/pinterest_tag/schema.json b/src/configurations/destinations/pinterest_tag/schema.json new file mode 100644 index 000000000..ec58e937a --- /dev/null +++ b/src/configurations/destinations/pinterest_tag/schema.json @@ -0,0 +1,106 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "tagId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]*$" + }, + "advertiserId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]*$" + }, + "appId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]*$" + }, + "sendingUnHashedData": { + "type": "boolean" + }, + "enableDeduplication": { + "type": "boolean" + }, + "deduplicationKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "enhancedMatch": { + "type": "boolean" + }, + "eventsMapping": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "customProperties": { + "type": "array", + "items": { + "type": "object", + "properties": { + "properties": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "eventFilteringOption": { + "type": "string", + "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + }, + "whitelistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "blacklistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "oneTrustCookieCategories": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } + } + } +} diff --git a/src/configurations/destinations/pinterest_tag/ui-config.json b/src/configurations/destinations/pinterest_tag/ui-config.json new file mode 100644 index 000000000..998a69c8d --- /dev/null +++ b/src/configurations/destinations/pinterest_tag/ui-config.json @@ -0,0 +1,225 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "TAG ID", + "value": "tagId", + "required": false, + "placeholder": "e.g: 123456789", + "secret": true + }, + { + "type": "textInput", + "label": "App Store App ID", + "value": "appId", + "required": false, + "placeholder": "e.g: 429047995", + "secret": false, + "footerNote": "Relevant if ios source is connected" + }, + { + "type": "textInput", + "label": "Pinterest Advertiser ID", + "value": "advertiserId", + "required": false, + "placeholder": "e.g: 429047995", + "secret": true, + "footerNote": "Required field for cloud mode integration" + } + ] + }, + { + "title": "Other Settings", + "fields": [ + { + "type": "checkbox", + "label": "Enable hashing for user data conversions", + "value": "sendingUnHashedData", + "default": true, + "footerNote": "Rudderstack will hash your user data by default. Switch this off if you are already sending hashed data" + }, + { + "type": "checkbox", + "label": "Enable Event Deduplication", + "value": "enableDeduplication", + "default": false, + "footerNote": "If not enabled here, Rudderstack will send messageId as event_id field." + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "enableDeduplication", + "selectedValue": true + } + ], + "label": "Deduplication Key", + "value": "deduplicationKey", + "placeholder": "e.g: messageId", + "required": false, + "footerNote": "Rudderstack will send this key-value from payload as an event deduplication key" + }, + { + "type": "checkbox", + "label": "Enable Enhanced Match on Page Load", + "value": "enhancedMatch", + "required": false, + "default": true, + "footerNote": "If this setting is enabled, the Pinterest tag will be loaded with the existing traits of the logged user" + }, + { + "type": "dynamicCustomForm", + "value": "customProperties", + "footerNote": "If you wish to send any extra custom properties to Pinterest - in addition to the standard Pinterest properties - then list them below. These properties are case-insensitive, and can be nested. For example, if you want to send rudderanalytics.track('Event', {customProperty: { customValue: 2 }, someRandomMailId: 'user@gmail.com'}) then input these two property customProperty.customValue and someRandomMailId", + "customFields": [ + { + "type": "textInput", + "required": false, + "value": "properties", + "label": "Custom Properties", + "placeholder": "customProperty.customValue or someRandomMailId" + } + ] + }, + { + "type": "dynamicSelectForm", + "label": "Map Your Events To Pinterest Events.", + "labelLeft": "Event Name", + "labelRight": "Pinterest Event", + "value": "eventsMapping", + "keyLeft": "from", + "keyRight": "to", + "required": false, + "placeholderLeft": "e.g: Order Completed", + "placeholderRight": "e.g: Checkout", + "options": [ + { + "name": "Lead", + "value": "Lead" + }, + { + "name": "PageVisit", + "value": "PageVisit" + }, + { + "name": "ViewCategory", + "value": "ViewCategory" + }, + { + "name": "SignUp", + "value": "Signup" + }, + { + "name": "WatchVideo", + "value": "WatchVideo" + }, + { + "name": "Checkout", + "value": "Checkout" + }, + { + "name": "Search", + "value": "Search" + }, + { + "name": "AddToCart", + "value": "AddToCart" + }, + { + "name": "Custom", + "value": "Custom" + } + ] + } + ] + }, + { + "title": "Native SDK", + "fields": [ + { + "type": "checkbox", + "label": "Use device-mode to send events", + "value": "useNativeSDK", + "default": true + } + ] + }, + { + "title": "Client-side Events Filtering", + "sectionNote": "Applicable only for device-mode integrations. If enabled, it works only with either allowlisted or denylisted events", + "fields": [ + { + "type": "singleSelect", + "value": "eventFilteringOption", + "required": false, + "options": [ + { + "name": "Disable", + "value": "disable" + }, + { + "name": "Allowlist", + "value": "whitelistedEvents" + }, + { + "name": "Denylist", + "value": "blacklistedEvents" + } + ], + "defaultOption": { + "name": "Disable", + "value": "disable" + } + }, + { + "type": "dynamicCustomForm", + "value": "whitelistedEvents", + "label": "Allowlist", + "customFields": [ + { + "type": "textInput", + "value": "eventName", + "required": false, + "placeholder": "e.g: Anonymous Page Visit" + } + ] + }, + { + "type": "dynamicCustomForm", + "value": "blacklistedEvents", + "label": "Denylist", + "customFields": [ + { + "type": "textInput", + "value": "eventName", + "required": false, + "placeholder": "e.g: Credit Card Added" + } + ] + } + ] + }, + { + "title": "Consent Settings", + "fields": [ + { + "type": "dynamicCustomForm", + "value": "oneTrustCookieCategories", + "label": "OneTrust Cookie Categories", + "customFields": [ + { + "type": "textInput", + "placeholder": "Marketing", + "value": "oneTrustCookieCategory", + "label": "Category Name/ID", + "required": false + } + ] + } + ] + } + ] +} diff --git a/src/configurations/destinations/pipedream/db-config.json b/src/configurations/destinations/pipedream/db-config.json new file mode 100644 index 000000000..3131ed05a --- /dev/null +++ b/src/configurations/destinations/pipedream/db-config.json @@ -0,0 +1,27 @@ +{ + "name": "PIPEDREAM", + "displayName": "Pipedream", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": false, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "destConfig": { + "defaultConfig": ["pipedreamUrl", "pipedreamMethod", "headers"] + }, + "secretKeys": ["headers.to"] + } +} diff --git a/src/configurations/destinations/pipedream/metadata.json b/src/configurations/destinations/pipedream/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/pipedream/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/pipedream/schema.json b/src/configurations/destinations/pipedream/schema.json new file mode 100644 index 000000000..0d836e59f --- /dev/null +++ b/src/configurations/destinations/pipedream/schema.json @@ -0,0 +1,33 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["pipedreamUrl"], + "properties": { + "pipedreamUrl": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(https?|ftp)://[^\\s/$.?#].[^\\s]*$" + }, + "pipedreamMethod": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(^(POST|PUT|PATCH|GET|DELETE)$)" + }, + "headers": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100000})$" + } + } + } + } + } + } +} diff --git a/src/configurations/destinations/pipedream/ui-config.json b/src/configurations/destinations/pipedream/ui-config.json new file mode 100644 index 000000000..8a52bb2f2 --- /dev/null +++ b/src/configurations/destinations/pipedream/ui-config.json @@ -0,0 +1,60 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Pipedream URL", + "value": "pipedreamUrl", + "required": true, + "placeholder": "http://www.abcd.com", + "regex": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(https?|ftp)://[^\\s/$.?#].[^\\s]*$" + }, + { + "type": "singleSelect", + "label": "URL Method", + "value": "pipedreamMethod", + "placeholder": "POST", + "options": [ + { + "name": "POST", + "value": "POST" + }, + { + "name": "PUT", + "value": "PUT" + }, + { + "name": "PATCH", + "value": "PATCH" + }, + { + "name": "GET", + "value": "GET" + }, + { + "name": "DELETE", + "value": "DELETE" + } + ], + "defaultOption": { + "name": "POST", + "value": "POST" + } + }, + { + "type": "dynamicForm", + "label": "Headers", + "labelLeft": "Key", + "labelRight": "Value", + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "content-type", + "placeholderRight": "application/json", + "value": "headers" + } + ] + } + ] +} diff --git a/src/configurations/destinations/pipedrive/db-config.json b/src/configurations/destinations/pipedrive/db-config.json new file mode 100644 index 000000000..e8ec8d8bf --- /dev/null +++ b/src/configurations/destinations/pipedrive/db-config.json @@ -0,0 +1,34 @@ +{ + "name": "PIPEDRIVE", + "displayName": "Pipedrive", + "config": { + "transformAt": "router", + "transformAtV1": "router", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "reactnative", + "flutter", + "cordova" + ], + "destConfig": { + "defaultConfig": [ + "apiToken", + "userIdToken", + "groupIdToken", + "enableUserCreation", + "personsMap", + "leadsMap", + "organizationMap" + ] + }, + "secretKeys": ["apiToken"] + } +} diff --git a/src/configurations/destinations/pipedrive/metadata.json b/src/configurations/destinations/pipedrive/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/pipedrive/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/pipedrive/schema.json b/src/configurations/destinations/pipedrive/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/pipedrive/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/pipedrive/ui-config.json b/src/configurations/destinations/pipedrive/ui-config.json new file mode 100644 index 000000000..1130e499b --- /dev/null +++ b/src/configurations/destinations/pipedrive/ui-config.json @@ -0,0 +1,85 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Api Token", + "value": "apiToken", + "regex": ".*", + "required": true, + "secret": true, + "placeholder": "e.g. 13N0gkA9Be_2gR2afax2G4j6h4MoCOgmDcCRgopTc905", + "footerNote": "Your Pipedrive Api Token" + }, + { + "type": "textInput", + "label": "UserID Token", + "value": "userIdToken", + "regex": ".*", + "required": false, + "placeholder": "e.g. 13N0gkA9Be_2gR2afax2G4j6h4MoCOgmDcCRgopTc905", + "footerNote": "Your UserId Field Token" + }, + { + "type": "textInput", + "label": "GroupId Token", + "value": "groupIdToken", + "regex": ".*", + "required": false, + "placeholder": "e.g. 13N0gkA9Be_2gR2afax2G4j6h4MoCOgmDcCRgopTc905", + "footerNote": "Your GroupId Field Token" + } + ] + }, + { + "title": "Custom Field Settings", + "fields": [ + { + "type": "checkbox", + "label": "Enable User Creation", + "value": "enableUserCreation", + "default": false, + "footerNote": "If turned on, RudderStack will create User (if not found) for all events" + }, + { + "type": "dynamicForm", + "label": "Person Field Mapping", + "footerNote": "", + "labelLeft": "Field Name", + "labelRight": "Field Token", + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g: Gender", + "placeholderRight": "e.g: 3N0gkA9Be_2gR2afax2", + "value": "personsMap" + }, + { + "type": "dynamicForm", + "label": "Leads Field Mapping", + "footerNote": "", + "labelLeft": "Field Name", + "labelRight": "Field Token", + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g: Location", + "placeholderRight": "e.g: 3N0gkA9Be_2gR2afax2", + "value": "leadsMap" + }, + { + "type": "dynamicForm", + "label": "Organization Field Mapping", + "footerNote": "", + "labelLeft": "Field Name", + "labelRight": "Field Token", + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g: MemberCount", + "placeholderRight": "e.g: 3N0gkA9Be_2gR2afax2", + "value": "organizationMap" + } + ] + } + ] +} diff --git a/data/destinations/podsights/db_config.json b/src/configurations/destinations/podsights/db-config.json similarity index 100% rename from data/destinations/podsights/db_config.json rename to src/configurations/destinations/podsights/db-config.json diff --git a/data/destinations/podsights/metadata.json b/src/configurations/destinations/podsights/metadata.json similarity index 100% rename from data/destinations/podsights/metadata.json rename to src/configurations/destinations/podsights/metadata.json diff --git a/data/destinations/podsights/schema.json b/src/configurations/destinations/podsights/schema.json similarity index 100% rename from data/destinations/podsights/schema.json rename to src/configurations/destinations/podsights/schema.json diff --git a/data/destinations/podsights/ui_config.json b/src/configurations/destinations/podsights/ui-config.json similarity index 100% rename from data/destinations/podsights/ui_config.json rename to src/configurations/destinations/podsights/ui-config.json diff --git a/src/configurations/destinations/post_affiliate_pro/db-config.json b/src/configurations/destinations/post_affiliate_pro/db-config.json new file mode 100644 index 000000000..d6aabe6e6 --- /dev/null +++ b/src/configurations/destinations/post_affiliate_pro/db-config.json @@ -0,0 +1,55 @@ +{ + "name": "POST_AFFILIATE_PRO", + "displayName": "Post Affiliate Pro", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "url", + "mergeProducts", + "accountId", + "paramNameUserId", + "disableTrackingMethod", + "cookieDomain", + "cookieToCustomField", + "affLinkId", + "idName", + "cookieLinkId", + "cookieName", + "clickEvents", + "campaignToCustomField", + "affiliateToCustomField", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": ["web"], + "supportedMessageTypes": ["identify"], + "destConfig": { + "defaultConfig": [ + "url", + "mergeProducts", + "accountId", + "paramNameUserId", + "disableTrackingMethod", + "cookieDomain", + "affLinkId", + "affLinkId", + "idName", + "cookieLinkId", + "cookieName", + "clickEvents", + "cookieToCustomField", + "campaignToCustomField", + "affiliateToCustomField", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "web": ["useNativeSDK", "oneTrustCookieCategories"] + } + } +} diff --git a/src/configurations/destinations/post_affiliate_pro/metadata.json b/src/configurations/destinations/post_affiliate_pro/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/post_affiliate_pro/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/post_affiliate_pro/schema.json b/src/configurations/destinations/post_affiliate_pro/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/post_affiliate_pro/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/post_affiliate_pro/ui-config.json b/src/configurations/destinations/post_affiliate_pro/ui-config.json new file mode 100644 index 000000000..225c0c1e4 --- /dev/null +++ b/src/configurations/destinations/post_affiliate_pro/ui-config.json @@ -0,0 +1,218 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "URL of Post Affiliate Pro", + "value": "url", + "regex": "^(?!.*\\.ngrok\\.io).*$", + "required": true, + "placeholder": "https://abcdefgh.postaffiliatepro.com/scripts/trackjs.js" + }, + { + "type": "textInput", + "label": "Account Id", + "value": "accountId", + "required": false, + "placeholder": "default1", + "footerNote": "ID of your network merchant account" + }, + { + "type": "textInput", + "label": "Param Name UserId", + "value": "paramNameUserId", + "required": false, + "placeholder": "new_a_aid_parameter", + "footerNote": "Changed name of Affailiate ID / referrer ID parameter name" + }, + { + "type": "textInput", + "label": "Cookie Domain", + "value": "cookieDomain", + "regex": "^(?!.*\\.ngrok\\.io).*$", + "required": false, + "placeholder": "maindomain.com", + "footerNote": "" + }, + { + "type": "textInput", + "label": "Cookie To Custom Field", + "value": "cookieToCustomField", + "required": false, + "placeholder": "id_field", + "footerNote": "Id of the field where cookie will be written" + }, + { + "type": "textInput", + "label": "Campaign To Custom Field", + "value": "campaignToCustomField", + "required": false, + "placeholder": "campaignCookieInfoId", + "footerNote": "Id of the field where campaign will be written" + }, + { + "type": "textInput", + "label": "Affiliate To Custom Field", + "value": "affiliateToCustomField", + "required": false, + "placeholder": "id_field", + "footerNote": "Id of the field where affiliate will be written" + } + ] + }, + { + "title": "Affiliate To Link", + "fields": [ + { + "type": "textInput", + "label": "Affiliate Link Id", + "value": "affLinkId", + "placeholder": "affLinkId", + "footerNote": "Id of dom object where affiliateId needed to add." + }, + { + "type": "textInput", + "placeholder": "a_aid", + "label": "AffliateId parameter name", + "value": "idName", + "footerNote": "Param name for AffiliateId" + } + ] + }, + { + "title": "Cookie To Link", + "fields": [ + { + "type": "textInput", + "label": "Cookie Link Id", + "value": "cookieLinkId", + "placeholder": "cookieLinkId", + "footerNote": "Id of dom object where cookie needed to add." + }, + { + "type": "textInput", + "placeholder": "papCookie", + "label": "Cookie parameter name", + "value": "cookieName", + "footerNote": "Param name for Cookie" + } + ] + }, + { + "title": "Event Track Settings", + "fields": [ + { + "type": "checkbox", + "label": "Merge Products", + "value": "mergeProducts", + "required": false, + "default": true, + "footerNote": "If you make it false, individual sale object will be created for each products." + }, + { + "type": "checkbox", + "label": "Disable Tracking Method", + "value": "disableTrackingMethod", + "required": false, + "default": true, + "footerNote": "In case you wish to disable flash cookie creation for any reason make it false." + }, + { + "type": "textInput", + "label": "List of events for click", + "value": "clickEvents", + "required": false, + "placeholder": "clicked,visited", + "footerNote": "Enter the name of the events in a comma seperated form" + } + ] + }, + { + "title": "Native SDK", + "fields": [ + { + "type": "defaultCheckbox", + "label": "Use device-mode to send events", + "value": "useNativeSDK", + "default": true + } + ] + }, + { + "title": "Client-side Events Filtering", + "sectionNote": "Applicable only for device-mode integrations. If enabled, it works only with either allowlisted or denylisted events", + "fields": [ + { + "type": "singleSelect", + "value": "eventFilteringOption", + "required": false, + "options": [ + { + "name": "Disable", + "value": "disable" + }, + { + "name": "Allowlist", + "value": "whitelistedEvents" + }, + { + "name": "Denylist", + "value": "blacklistedEvents" + } + ], + "defaultOption": { + "name": "Disable", + "value": "disable" + } + }, + { + "type": "dynamicCustomForm", + "value": "whitelistedEvents", + "label": "Allowlist", + "customFields": [ + { + "type": "textInput", + "value": "eventName", + "required": false, + "placeholder": "e.g: Anonymous Page Visit" + } + ] + }, + { + "type": "dynamicCustomForm", + "value": "blacklistedEvents", + "label": "Denylist", + "customFields": [ + { + "type": "textInput", + "value": "eventName", + "required": false, + "placeholder": "e.g: Credit Card Added" + } + ] + } + ] + }, + { + "title": "Consent Settings", + "fields": [ + { + "type": "dynamicCustomForm", + "value": "oneTrustCookieCategories", + "label": "OneTrust Cookie Categories", + "customFields": [ + { + "type": "textInput", + "placeholder": "Marketing", + "value": "oneTrustCookieCategory", + "label": "Category Name/ID", + "required": false + } + ] + } + ] + } + ] +} diff --git a/data/destinations/postgres/db_config.json b/src/configurations/destinations/postgres/db-config.json similarity index 100% rename from data/destinations/postgres/db_config.json rename to src/configurations/destinations/postgres/db-config.json diff --git a/src/configurations/destinations/postgres/metadata.json b/src/configurations/destinations/postgres/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/postgres/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/postgres/schema.json b/src/configurations/destinations/postgres/schema.json new file mode 100644 index 000000000..733ff1f6f --- /dev/null +++ b/src/configurations/destinations/postgres/schema.json @@ -0,0 +1,300 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema", + "type": "object", + "required": [ + "host", + "database", + "user", + "password", + "port", + "sslMode", + "syncFrequency", + "useRudderStorage" + ], + "properties": { + "host": { + "type": "string", + "pattern": "(^env[.].+)|(?!.*.ngrok.io)^(.{1,100})$" + }, + "database": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + }, + "user": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + }, + "password": { + "type": "string", + "pattern": "(^env[.].+)|.+" + }, + "port": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + }, + "namespace": { + "type": "string", + "pattern": "(^env[.].*)|^((?!pg_|PG_|pG_|Pg_).{0,64})$" + }, + "sslMode": { + "type": "string", + "pattern": "^(disable|require|verify-ca)$" + }, + "syncFrequency": { + "type": "string", + "pattern": "^(30|60|180|360|720|1440)$", + "default": "30" + }, + "syncStartAt": { + "type": "string" + }, + "excludeWindow": { + "type": "object", + "required": ["excludeWindowStartTime", "excludeWindowEndTime"], + "properties": { + "excludeWindowStartTime": { + "type": "string" + }, + "excludeWindowEndTime": { + "type": "string" + } + } + }, + "jsonPaths": { + "type": "string", + "pattern": "(^env[.].*)|.*" + }, + "useRudderStorage": { + "type": "boolean", + "default": false + }, + "bucketProvider": { + "type": "string", + "pattern": "^(S3|GCS|AZURE_BLOB|MINIO)$" + } + }, + "allOf": [ + { + "if": { + "properties": { + "useSSH": { + "const": true + } + }, + "required": ["useSSH"] + }, + "then": { + "properties": { + "sshHost": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,255})$" + }, + "sshPort": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,255})$" + }, + "sshUser": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,255})$" + }, + "sshPublicKey": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,10000})$" + } + }, + "required": ["sshHost", "sshPort", "sshUser", "sshPublicKey"] + } + }, + { + "if": { + "properties": { + "useRudderStorage": { + "const": false + } + }, + "required": ["useRudderStorage"] + }, + "then": { + "required": ["bucketProvider"] + } + }, + { + "if": { + "properties": { + "bucketProvider": { + "const": "S3" + }, + "useRudderStorage": { + "const": false + } + }, + "required": ["bucketProvider", "useRudderStorage"] + }, + "then": { + "properties": { + "iamRoleARN": { + "type": "string" + }, + "roleBasedAuth": { + "type": "boolean" + }, + "bucketName": { + "type": "string", + "pattern": "(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$" + }, + "accessKeyID": { + "type": "string", + "pattern": "(^env[.].+)|^(.{0,100})$" + }, + "accessKey": { + "type": "string", + "pattern": "(^env[.].+)|^(.{0,100})$" + } + }, + "required": ["bucketName", "accessKeyID", "accessKey"] + } + }, + { + "if": { + "properties": { + "bucketProvider": { + "const": "GCS" + }, + "useRudderStorage": { + "const": false + } + }, + "required": ["bucketProvider", "useRudderStorage"] + }, + "then": { + "properties": { + "bucketName": { + "type": "string", + "pattern": "(^env[.].+)|^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$" + }, + "credentials": { + "type": "string", + "pattern": "(^env[.].+)|.+" + } + }, + "required": ["bucketName", "credentials"] + } + }, + { + "if": { + "properties": { + "bucketProvider": { + "const": "AZURE_BLOB" + }, + "useRudderStorage": { + "const": false + } + }, + "required": ["bucketProvider", "useRudderStorage"] + }, + "then": { + "properties": { + "containerName": { + "type": "string", + "pattern": "(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$" + }, + "accountName": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + } + }, + "required": ["containerName", "accountName"], + "anyOf": [ + { + "properties": { + "accountKey": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + } + }, + "required": ["accountKey"] + }, + { + "properties": { + "sasToken": { + "type": "string", + "pattern": "(^env[.].+)|^(.+)$" + }, + "useSASTokens": { + "const": true + } + }, + "required": ["useSASTokens", "sasToken"] + } + ] + } + }, + { + "if": { + "properties": { + "bucketProvider": { + "const": "MINIO" + }, + "useRudderStorage": { + "const": false + } + }, + "required": ["bucketProvider", "useRudderStorage"] + }, + "then": { + "properties": { + "bucketName": { + "type": "string", + "pattern": "(^env[.].+)|^((?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$" + }, + "accessKeyID": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + }, + "endPoint": { + "type": "string", + "pattern": "(^env[.].+)|^(?!.*\\.ngrok\\.io)(.{1,100})$" + }, + "secretAccessKey": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + }, + "useSSL": { + "type": "boolean" + } + }, + "required": ["bucketName", "endPoint", "accessKeyID", "secretAccessKey", "useSSL"] + } + }, + { + "if": { + "properties": { + "sslMode": { + "const": "verify-ca" + } + }, + "required": ["sslMode"] + }, + "then": { + "properties": { + "clientKey": { + "type": "string", + "pattern": "-----BEGIN RSA PRIVATE KEY-----.*-----END RSA PRIVATE KEY-----" + }, + "clientCert": { + "type": "string", + "pattern": "-----BEGIN CERTIFICATE-----.*-----END CERTIFICATE-----" + }, + "serverCA": { + "type": "string", + "pattern": "-----BEGIN CERTIFICATE-----.*-----END CERTIFICATE-----" + } + }, + "required": ["clientKey", "clientCert", "serverCA"] + } + } + ], + "additionalProperties": true + } +} diff --git a/data/destinations/postgres/ui_config.json b/src/configurations/destinations/postgres/ui-config.json similarity index 100% rename from data/destinations/postgres/ui_config.json rename to src/configurations/destinations/postgres/ui-config.json diff --git a/src/configurations/destinations/posthog/db-config.json b/src/configurations/destinations/posthog/db-config.json new file mode 100644 index 000000000..881a77ce3 --- /dev/null +++ b/src/configurations/destinations/posthog/db-config.json @@ -0,0 +1,59 @@ +{ + "name": "POSTHOG", + "displayName": "PostHog", + "config": { + "includeKeys": [ + "teamApiKey", + "yourInstance", + "autocapture", + "capturePageView", + "disableSessionRecording", + "propertyBlackList", + "xhrHeaders", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "enableLocalStoragePersistence", + "eventFilteringOption", + "useV2Group" + ], + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["alias", "group", "identify", "page", "screen", "track"], + "destConfig": { + "defaultConfig": [ + "teamApiKey", + "yourInstance", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption", + "useV2Group" + ], + "web": [ + "useNativeSDK", + "autocapture", + "capturePageView", + "disableSessionRecording", + "propertyBlackList", + "xhrHeaders", + "oneTrustCookieCategories", + "enableLocalStoragePersistence" + ] + }, + "secretKeys": [] + } +} diff --git a/src/configurations/destinations/posthog/metadata.json b/src/configurations/destinations/posthog/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/posthog/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/posthog/schema.json b/src/configurations/destinations/posthog/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/posthog/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/data/destinations/posthog/ui_config.json b/src/configurations/destinations/posthog/ui-config.json similarity index 100% rename from data/destinations/posthog/ui_config.json rename to src/configurations/destinations/posthog/ui-config.json diff --git a/src/configurations/destinations/profitwell/db-config.json b/src/configurations/destinations/profitwell/db-config.json new file mode 100644 index 000000000..44a5f3ab6 --- /dev/null +++ b/src/configurations/destinations/profitwell/db-config.json @@ -0,0 +1,41 @@ +{ + "name": "PROFITWELL", + "displayName": "ProfitWell", + "config": { + "transformAt": "router", + "transformAtV1": "router", + "saveDestinationResponse": true, + "includeKeys": [ + "publicApiKey", + "siteType", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "reactnative", + "flutter", + "cordova", + "warehouse" + ], + "supportedMessageTypes": ["identify"], + "destConfig": { + "defaultConfig": [ + "privateApiKey", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "web": ["useNativeSDK", "publicApiKey", "siteType", "oneTrustCookieCategories"] + }, + "secretKeys": ["privateApiKey", "publicApiKey"] + } +} diff --git a/src/configurations/destinations/profitwell/metadata.json b/src/configurations/destinations/profitwell/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/profitwell/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/profitwell/schema.json b/src/configurations/destinations/profitwell/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/profitwell/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/data/destinations/profitwell/ui_config.json b/src/configurations/destinations/profitwell/ui-config.json similarity index 100% rename from data/destinations/profitwell/ui_config.json rename to src/configurations/destinations/profitwell/ui-config.json diff --git a/data/destinations/qualaroo/db_config.json b/src/configurations/destinations/qualaroo/db-config.json similarity index 100% rename from data/destinations/qualaroo/db_config.json rename to src/configurations/destinations/qualaroo/db-config.json diff --git a/src/configurations/destinations/qualaroo/metadata.json b/src/configurations/destinations/qualaroo/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/qualaroo/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/data/destinations/qualaroo/schema.json b/src/configurations/destinations/qualaroo/schema.json similarity index 100% rename from data/destinations/qualaroo/schema.json rename to src/configurations/destinations/qualaroo/schema.json diff --git a/data/destinations/qualaroo/ui_config.json b/src/configurations/destinations/qualaroo/ui-config.json similarity index 100% rename from data/destinations/qualaroo/ui_config.json rename to src/configurations/destinations/qualaroo/ui-config.json diff --git a/src/configurations/destinations/qualtrics/db-config.json b/src/configurations/destinations/qualtrics/db-config.json new file mode 100644 index 000000000..d4c0531d2 --- /dev/null +++ b/src/configurations/destinations/qualtrics/db-config.json @@ -0,0 +1,33 @@ +{ + "name": "QUALTRICS", + "displayName": "Qualtrics", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "projectId", + "brandId", + "enableGenericPageTitle", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": ["web", "android", "ios"], + "destConfig": { + "defaultConfig": [ + "projectId", + "brandId", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "web": ["useNativeSDK", "enableGenericPageTitle", "oneTrustCookieCategories"], + "android": ["useNativeSDK"], + "ios": ["useNativeSDK"] + }, + "secretKeys": ["projectId"] + } +} diff --git a/src/configurations/destinations/qualtrics/metadata.json b/src/configurations/destinations/qualtrics/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/qualtrics/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/qualtrics/schema.json b/src/configurations/destinations/qualtrics/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/qualtrics/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/data/destinations/qualtrics/ui_config.json b/src/configurations/destinations/qualtrics/ui-config.json similarity index 100% rename from data/destinations/qualtrics/ui_config.json rename to src/configurations/destinations/qualtrics/ui-config.json diff --git a/src/configurations/destinations/quantummetric/db-config.json b/src/configurations/destinations/quantummetric/db-config.json new file mode 100644 index 000000000..c8768ba53 --- /dev/null +++ b/src/configurations/destinations/quantummetric/db-config.json @@ -0,0 +1,23 @@ +{ + "name": "QUANTUMMETRIC", + "displayName": "Quantum Metric", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "siteID", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": ["web"], + "destConfig": { + "defaultConfig": ["siteID", "blacklistedEvents", "whitelistedEvents", "eventFilteringOption"], + "web": ["useNativeSDK", "oneTrustCookieCategories"] + }, + "secretKeys": [] + } +} diff --git a/src/configurations/destinations/quantummetric/metadata.json b/src/configurations/destinations/quantummetric/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/quantummetric/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/quantummetric/schema.json b/src/configurations/destinations/quantummetric/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/quantummetric/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/data/destinations/quantummetric/ui_config.json b/src/configurations/destinations/quantummetric/ui-config.json similarity index 100% rename from data/destinations/quantummetric/ui_config.json rename to src/configurations/destinations/quantummetric/ui-config.json diff --git a/src/configurations/destinations/quora_pixel/db-config.json b/src/configurations/destinations/quora_pixel/db-config.json new file mode 100644 index 000000000..0527f99f8 --- /dev/null +++ b/src/configurations/destinations/quora_pixel/db-config.json @@ -0,0 +1,31 @@ +{ + "name": "QUORA_PIXEL", + "displayName": "Quora Pixel", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "pixelId", + "eventsToQPEvents", + "whitelistedEvents", + "blacklistedEvents", + "eventFilteringOption", + "oneTrustCookieCategories" + ], + "excludeKeys": [], + "supportedSourceTypes": ["web"], + "supportedMessageTypes": ["track"], + "destConfig": { + "defaultConfig": [ + "pixelId", + "eventsToQPEvents", + "whitelistedEvents", + "blacklistedEvents", + "eventFilteringOption" + ], + "web": ["useNativeSDK", "oneTrustCookieCategories"] + }, + "secretKeys": ["pixelId"] + } +} diff --git a/src/configurations/destinations/quora_pixel/metadata.json b/src/configurations/destinations/quora_pixel/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/quora_pixel/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/quora_pixel/schema.json b/src/configurations/destinations/quora_pixel/schema.json new file mode 100644 index 000000000..b74b4970e --- /dev/null +++ b/src/configurations/destinations/quora_pixel/schema.json @@ -0,0 +1,82 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["pixelId"], + "properties": { + "pixelId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "eventsToQPEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "eventFilteringOption": { + "type": "string", + "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + }, + "whitelistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "blacklistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "useNativeSDK": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "oneTrustCookieCategories": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } + } + } +} diff --git a/data/destinations/quora_pixel/ui_config.json b/src/configurations/destinations/quora_pixel/ui-config.json similarity index 100% rename from data/destinations/quora_pixel/ui_config.json rename to src/configurations/destinations/quora_pixel/ui-config.json diff --git a/src/configurations/destinations/reddit_pixel/db-config.json b/src/configurations/destinations/reddit_pixel/db-config.json new file mode 100644 index 000000000..807e64ac8 --- /dev/null +++ b/src/configurations/destinations/reddit_pixel/db-config.json @@ -0,0 +1,30 @@ +{ + "name": "REDDIT_PIXEL", + "displayName": "Reddit Pixel", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "advertiserId", + "eventMappingFromConfig", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": ["web"], + "destConfig": { + "defaultConfig": [ + "advertiserId", + "eventMappingFromConfig", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "web": ["useNativeSDK", "oneTrustCookieCategories"] + }, + "secretKeys": ["advertiserId"] + } +} diff --git a/src/configurations/destinations/reddit_pixel/metadata.json b/src/configurations/destinations/reddit_pixel/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/reddit_pixel/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/reddit_pixel/schema.json b/src/configurations/destinations/reddit_pixel/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/reddit_pixel/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/data/destinations/reddit_pixel/ui_config.json b/src/configurations/destinations/reddit_pixel/ui-config.json similarity index 100% rename from data/destinations/reddit_pixel/ui_config.json rename to src/configurations/destinations/reddit_pixel/ui-config.json diff --git a/src/configurations/destinations/redis/db-config.json b/src/configurations/destinations/redis/db-config.json new file mode 100644 index 000000000..ee66ede2e --- /dev/null +++ b/src/configurations/destinations/redis/db-config.json @@ -0,0 +1,37 @@ +{ + "name": "REDIS", + "displayName": "Redis", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "secretKeys": ["password", "caCertificate"], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["identify"], + "destConfig": { + "defaultConfig": [ + "address", + "database", + "password", + "prefix", + "secure", + "skipVerify", + "caCertificate", + "clusterMode" + ] + } + } +} diff --git a/src/configurations/destinations/redis/metadata.json b/src/configurations/destinations/redis/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/redis/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/redis/schema.json b/src/configurations/destinations/redis/schema.json new file mode 100644 index 000000000..e53c8f70c --- /dev/null +++ b/src/configurations/destinations/redis/schema.json @@ -0,0 +1,39 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "additionalProperties": false, + "required": ["address"], + "properties": { + "address": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,100})$" + }, + "password": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*" + }, + "clusterMode": { + "type": "boolean" + }, + "secure": { + "type": "boolean" + }, + "prefix": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "database": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "caCertificate": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|.*" + }, + "skipVerify": { + "type": "boolean" + } + } + } +} diff --git a/src/configurations/destinations/redis/ui-config.json b/src/configurations/destinations/redis/ui-config.json new file mode 100644 index 000000000..4a2f362af --- /dev/null +++ b/src/configurations/destinations/redis/ui-config.json @@ -0,0 +1,85 @@ +{ + "uiConfig": [ + { + "title": "1. Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Address", + "value": "address", + "regex": "(?!.*\\.ngrok\\.io)^(.{0,100})$", + "regexErrorMessage": "Invalid Address", + "required": true, + "placeholder": "e.g: localhost:6379" + }, + { + "type": "textInput", + "label": "Password", + "value": "password", + "regex": ".*", + "required": false, + "placeholder": "", + "secret": true + }, + { + "type": "textInput", + "label": "Database", + "value": "database", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Database", + "required": false, + "placeholder": "", + "preRequisiteField": { + "name": "clusterMode", + "selectedValue": false + } + }, + { + "type": "checkbox", + "label": "Cluster Mode", + "value": "clusterMode", + "default": true + }, + { + "type": "checkbox", + "label": "Secure", + "value": "secure", + "default": false + }, + { + "type": "checkbox", + "preRequisiteField": { + "name": "secure", + "selectedValue": true + }, + "label": "Skip verify", + "value": "skipVerify", + "default": false, + "footerNote": "if you are using self signed certificates make this field true" + }, + { + "type": "textareaInput", + "preRequisiteField": { + "name": "secure", + "selectedValue": true + }, + "label": "CA certificate", + "value": "caCertificate", + "regex": ".*", + "required": false, + "placeholder": "CA Certificate", + "footerNote": "Can be skipped for CA's that can be verified with any client (eg. Elasticache)" + }, + { + "type": "textInput", + "label": "Prefix", + "value": "prefix", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Prefix", + "required": false, + "placeholder": "" + } + ] + } + ] +} diff --git a/data/destinations/refiner/db_config.json b/src/configurations/destinations/refiner/db-config.json similarity index 100% rename from data/destinations/refiner/db_config.json rename to src/configurations/destinations/refiner/db-config.json diff --git a/src/configurations/destinations/refiner/metadata.json b/src/configurations/destinations/refiner/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/refiner/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/data/destinations/refiner/schema.json b/src/configurations/destinations/refiner/schema.json similarity index 100% rename from data/destinations/refiner/schema.json rename to src/configurations/destinations/refiner/schema.json diff --git a/data/destinations/refiner/ui_config.json b/src/configurations/destinations/refiner/ui-config.json similarity index 100% rename from data/destinations/refiner/ui_config.json rename to src/configurations/destinations/refiner/ui-config.json diff --git a/src/configurations/destinations/revenue_cat/db-config.json b/src/configurations/destinations/revenue_cat/db-config.json new file mode 100644 index 000000000..36d9b0b3e --- /dev/null +++ b/src/configurations/destinations/revenue_cat/db-config.json @@ -0,0 +1,28 @@ +{ + "name": "REVENUE_CAT", + "displayName": "Revenue Cat", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "web", + "cloud", + "mobile", + "android", + "ios", + "unity", + "amp", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["identify", "track"], + "destConfig": { + "defaultConfig": ["apiKey", "xPlatform"] + } + } +} diff --git a/src/configurations/destinations/revenue_cat/metadata.json b/src/configurations/destinations/revenue_cat/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/revenue_cat/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/revenue_cat/schema.json b/src/configurations/destinations/revenue_cat/schema.json new file mode 100644 index 000000000..62d31a40f --- /dev/null +++ b/src/configurations/destinations/revenue_cat/schema.json @@ -0,0 +1,17 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["apiKey"], + "properties": { + "apiKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "xPlatform": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(ios|android|amazon|macos|stripe|uikitformac)$" + } + } + } +} diff --git a/src/configurations/destinations/revenue_cat/ui-config.json b/src/configurations/destinations/revenue_cat/ui-config.json new file mode 100644 index 000000000..cf4e16c1c --- /dev/null +++ b/src/configurations/destinations/revenue_cat/ui-config.json @@ -0,0 +1,54 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Public API Key", + "value": "apiKey", + "regex": "^(.{1,100})$", + "required": true, + "placeholder": "e.g. b4a29aba5e75d99c8a18acd920ec1e2e", + "secret": true, + "footerNote": "Your Public API Key" + }, + { + "type": "singleSelect", + "label": "X-Platform", + "value": "xPlatform", + "options": [ + { + "name": "iOS", + "value": "ios" + }, + { + "name": "Android", + "value": "android" + }, + { + "name": "Amazon", + "value": "amazon" + }, + { + "name": "macOS", + "value": "macos" + }, + { + "name": "Stripe", + "value": "stripe" + }, + { + "name": "UI kit for mac", + "value": "uikitformac" + } + ], + "defaultOption": { + "name": "Stripe", + "value": "stripe" + } + } + ] + } + ] +} diff --git a/src/configurations/destinations/rockerbox/db-config.json b/src/configurations/destinations/rockerbox/db-config.json new file mode 100644 index 000000000..52ac4b212 --- /dev/null +++ b/src/configurations/destinations/rockerbox/db-config.json @@ -0,0 +1,52 @@ +{ + "name": "ROCKERBOX", + "displayName": "Rockerbox", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "advertiserId", + "eventsMap", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption", + "oneTrustCookieCategories", + "useNativeSDKToSend", + "clientAuthId", + "customDomain", + "enableCookieSync" + ], + "excludeKeys": [], + "supportedSourceTypes": [ + "amp", + "android", + "cordova", + "cloud", + "flutter", + "ios", + "reactnative", + "unity", + "warehouse", + "web" + ], + "supportedMessageTypes": ["identify", "track", "page"], + "destConfig": { + "defaultConfig": [ + "advertiserId", + "eventsMap", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "web": [ + "useNativeSDK", + "useNativeSDKToSend", + "clientAuthId", + "oneTrustCookieCategories", + "customDomain", + "enableCookieSync" + ] + } + } +} diff --git a/src/configurations/destinations/rockerbox/metadata.json b/src/configurations/destinations/rockerbox/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/rockerbox/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/rockerbox/schema.json b/src/configurations/destinations/rockerbox/schema.json new file mode 100644 index 000000000..c7db566a0 --- /dev/null +++ b/src/configurations/destinations/rockerbox/schema.json @@ -0,0 +1,114 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["advertiserId"], + "properties": { + "advertiserId": { + "type": "string" + }, + "clientAuthId": { + "type": "object", + "properties": { + "web": { + "type": "string" + } + } + }, + "customDomain": { + "type": "object", + "properties": { + "web": { + "type": "string", + "pattern": "^(?!.*\\.ngrok\\.io).*$" + } + } + }, + "enableCookieSync": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "eventsMap": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "eventFilteringOption": { + "type": "string", + "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + }, + "whitelistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "blacklistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "useNativeSDK": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "useNativeSDKToSend": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "oneTrustCookieCategories": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } + } + } +} diff --git a/data/destinations/rockerbox/ui_config.json b/src/configurations/destinations/rockerbox/ui-config.json similarity index 100% rename from data/destinations/rockerbox/ui_config.json rename to src/configurations/destinations/rockerbox/ui-config.json diff --git a/src/configurations/destinations/rollbar/db-config.json b/src/configurations/destinations/rollbar/db-config.json new file mode 100644 index 000000000..e8d9c578e --- /dev/null +++ b/src/configurations/destinations/rollbar/db-config.json @@ -0,0 +1,40 @@ +{ + "name": "ROLLBAR", + "displayName": "rollbar", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "accessToken", + "captureUncaughtException", + "captureUnhandledRejections", + "guessUncaughtFrames", + "codeVersion", + "environment", + "ignoredMessages", + "sourceMapEnabled", + "blacklistedEvents", + "whitelistedEvents" + ], + "excludeKeys": [], + "supportedSourceTypes": ["web"], + "supportedMessageTypes": ["identify"], + "destConfig": { + "defaultConfig": [ + "accessToken", + "captureUncaughtException", + "captureUnhandledRejections", + "guessUncaughtFrames", + "codeVersion", + "environment", + "ignoredMessages", + "sourceMapEnabled", + "blacklistedEvents", + "whitelistedEvents" + ], + "web": ["useNativeSDK", "oneTrustCookieCategories"] + }, + "secretKeys": ["accessToken"] + } +} diff --git a/src/configurations/destinations/rollbar/metadata.json b/src/configurations/destinations/rollbar/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/rollbar/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/rollbar/schema.json b/src/configurations/destinations/rollbar/schema.json new file mode 100644 index 000000000..60ccbf260 --- /dev/null +++ b/src/configurations/destinations/rollbar/schema.json @@ -0,0 +1,94 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "required": ["accessToken"], + "type": "object", + "properties": { + "accessToken": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "captureUncaughtException": { + "type": "boolean" + }, + "captureUnhandledRejections": { + "type": "boolean" + }, + "guessUncaughtFrames": { + "type": "boolean" + }, + "codeVersion": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "environment": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "ignoredMessages": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "sourceMapEnabled": { + "type": "boolean" + }, + "whitelistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "blacklistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "useNativeSDK": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "oneTrustCookieCategories": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } + } + } +} diff --git a/data/destinations/rollbar/ui_config.json b/src/configurations/destinations/rollbar/ui-config.json similarity index 100% rename from data/destinations/rollbar/ui_config.json rename to src/configurations/destinations/rollbar/ui-config.json diff --git a/data/destinations/rs/db_config.json b/src/configurations/destinations/rs/db-config.json similarity index 100% rename from data/destinations/rs/db_config.json rename to src/configurations/destinations/rs/db-config.json diff --git a/src/configurations/destinations/rs/metadata.json b/src/configurations/destinations/rs/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/rs/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/data/destinations/rs/schema.json b/src/configurations/destinations/rs/schema.json similarity index 100% rename from data/destinations/rs/schema.json rename to src/configurations/destinations/rs/schema.json diff --git a/data/destinations/rs/ui_config.json b/src/configurations/destinations/rs/ui-config.json similarity index 100% rename from data/destinations/rs/ui_config.json rename to src/configurations/destinations/rs/ui-config.json diff --git a/src/configurations/destinations/s3/db-config.json b/src/configurations/destinations/s3/db-config.json new file mode 100644 index 000000000..bf4dc92b8 --- /dev/null +++ b/src/configurations/destinations/s3/db-config.json @@ -0,0 +1,36 @@ +{ + "name": "S3", + "displayName": "Amazon S3", + "config": { + "transformAt": "none", + "transformAtV1": "none", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "cloudSource", + "flutter", + "cordova" + ], + "destConfig": { + "defaultConfig": [ + "bucketName", + "prefix", + "iamRoleARN", + "roleBasedAuth", + "accessKeyID", + "accessKey", + "enableSSE" + ] + }, + "secretKeys": ["accessKeyID", "accessKey"] + } +} diff --git a/src/configurations/destinations/s3/metadata.json b/src/configurations/destinations/s3/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/s3/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/s3/schema.json b/src/configurations/destinations/s3/schema.json new file mode 100644 index 000000000..09be03e4f --- /dev/null +++ b/src/configurations/destinations/s3/schema.json @@ -0,0 +1,30 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["bucketName"], + "properties": { + "bucketName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "prefix": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "iamRoleARN": { + "type": "string" + }, + "roleBasedAuth": { + "type": "boolean" + }, + "accessKeyID": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "enableSSE": { + "type": "boolean" + } + } + } +} diff --git a/src/configurations/destinations/s3/ui-config.json b/src/configurations/destinations/s3/ui-config.json new file mode 100644 index 000000000..57f0a94a0 --- /dev/null +++ b/src/configurations/destinations/s3/ui-config.json @@ -0,0 +1,84 @@ +{ + "uiConfig": [ + { + "title": "1. Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "S3 Bucket Name", + "value": "bucketName", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid S3 Bucket Name", + "required": true, + "placeholder": "e.g: s3-event-logs" + }, + { + "type": "textInput", + "label": "Prefix", + "value": "prefix", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Prefix", + "required": false, + "placeholder": "e.g: rudder" + }, + { + "type": "checkbox", + "label": "Role Based Authentication", + "value": "roleBasedAuth", + "default": false + }, + { + "type": "textInput", + "preRequisiteField": { + "name": "roleBasedAuth", + "selectedValue": true + }, + "label": "IAM Role ARN", + "value": "iamRoleARN", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Role ARN", + "required": false, + "placeholder": "e.g: arn:aws:iam::123456789012:role/S3Access", + "footerURL": { + "link": "https://www.rudderstack.com/docs/destinations/aws-iam-role-for-rudderstack/", + "text": "Instructions for creating IAM Role" + } + }, + { + "type": "textInput", + "preRequisiteField": { + "name": "roleBasedAuth", + "selectedValue": false + }, + "label": "AWS Access Key ID", + "value": "accessKeyID", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid AWS Access Key ID", + "required": false, + "placeholder": "e.g: access-key-id", + "secret": true + }, + { + "type": "textInput", + "preRequisiteField": { + "name": "roleBasedAuth", + "selectedValue": false + }, + "label": "AWS Secret Access Key", + "value": "accessKey", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid AWS Secret Access Key", + "required": false, + "placeholder": "e.g: secret-access-key", + "secret": true + }, + { + "type": "checkbox", + "label": "Enable Server Side Encryption?", + "value": "enableSSE", + "default": false + } + ] + } + ] +} diff --git a/src/configurations/destinations/s3_datalake/db-config.json b/src/configurations/destinations/s3_datalake/db-config.json new file mode 100644 index 000000000..d614949f4 --- /dev/null +++ b/src/configurations/destinations/s3_datalake/db-config.json @@ -0,0 +1,42 @@ +{ + "name": "S3_DATALAKE", + "displayName": "S3 Datalake", + "category": "warehouse", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "reactnative", + "cloudSource", + "flutter", + "warehouse", + "cordova" + ], + "destConfig": { + "defaultConfig": [ + "useGlue", + "region", + "bucketName", + "iamRoleARN", + "roleBasedAuth", + "accessKeyID", + "accessKey", + "prefix", + "namespace", + "syncFrequency", + "syncStartAt", + "excludeWindow" + ] + }, + "secretKeys": ["password", "accessKeyID", "accessKey"] + } +} diff --git a/src/configurations/destinations/s3_datalake/metadata.json b/src/configurations/destinations/s3_datalake/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/s3_datalake/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/s3_datalake/schema.json b/src/configurations/destinations/s3_datalake/schema.json new file mode 100644 index 000000000..cd37bb0ec --- /dev/null +++ b/src/configurations/destinations/s3_datalake/schema.json @@ -0,0 +1,71 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema", + "type": "object", + "required": ["bucketName", "useGlue", "syncFrequency"], + "properties": { + "bucketName": { + "type": "string", + "pattern": "(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$" + }, + "useGlue": { + "type": "boolean" + }, + "prefix": { + "type": "string", + "pattern": "(^env[.].*)|.*" + }, + "namespace": { + "type": "string", + "pattern": "(^env[.].*)|^((?!pg_|PG_|pG_|Pg_).{0,64})$" + }, + "iamRoleARN": { + "type": "string" + }, + "roleBasedAuth": { + "type": "boolean" + }, + "accessKeyID": { + "type": "string", + "pattern": "(^env[.].*)|.*" + }, + "accessKey": { + "type": "string", + "pattern": "(^env[.].*)|.*" + }, + "enableSSE": { + "type": "boolean" + }, + "syncFrequency": { + "type": "string", + "pattern": "^(30|60|180|360|720|1440)$", + "default": "30" + }, + "syncStartAt": { + "type": "string" + } + }, + "allOf": [ + { + "if": { + "properties": { + "useGlue": { + "const": true + } + }, + "required": ["useGlue"] + }, + "then": { + "properties": { + "region": { + "type": "string", + "pattern": "(^env[.].+)|.+" + } + }, + "required": ["region"] + } + } + ], + "additionalProperties": true + } +} diff --git a/src/configurations/destinations/s3_datalake/ui-config.json b/src/configurations/destinations/s3_datalake/ui-config.json new file mode 100644 index 000000000..522f02676 --- /dev/null +++ b/src/configurations/destinations/s3_datalake/ui-config.json @@ -0,0 +1,162 @@ +{ + "uiConfig": [ + { + "title": "Connection Credentials", + "fields": [ + { + "type": "textInput", + "label": "S3 Storage Bucket Name", + "labelNote": "S3 Bucket to store your event data", + "value": "bucketName", + "regex": "^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$", + "required": true, + "footerNote": "Please make sure the bucket exists in your S3" + }, + { + "type": "checkbox", + "label": "Register schema on AWS Glue", + "value": "useGlue", + "default": false, + "footerNote": "We register the schema on AWS Glue's Data Catalog if this option is enabled" + }, + { + "type": "textInput", + "label": "AWS Glue Region", + "labelNote": "Your AWS Glue region.Ex-For N.Virginia, this field's value would be 'us-east-1'", + "value": "region", + "regex": ".*", + "required": true, + "preRequisiteField": { + "name": "useGlue", + "selectedValue": true + } + }, + { + "type": "textInput", + "label": "S3 Prefix", + "labelNote": "If configured, all data pushed by rudderstack will be at s3:////", + "value": "prefix", + "regex": ".*", + "required": false, + "placeholder": "" + }, + { + "type": "textInput", + "label": "Namespace", + "value": "namespace", + "labelNote": "Defaults to source name.", + "regex": "^((?!pg_|PG_|pG_|Pg_).{0,64})$", + "required": false, + "footerNote": "All data for the destination would be pushed to s3:////rudder-datalake/.If glue is enabled, all table definitions are created in a database with name set to namespace." + }, + { + "type": "checkbox", + "label": "Role Based Authentication", + "value": "roleBasedAuth", + "default": false + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "roleBasedAuth", + "selectedValue": true + } + ], + "label": "IAM Role ARN", + "value": "iamRoleARN", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Role ARN", + "required": true, + "placeholder": "e.g: arn:aws:iam::123456789012:role/S3Access", + "footerURL": { + "link": "https://www.rudderstack.com/docs/destinations/aws-iam-role-for-rudderstack/", + "text": "Instructions for creating IAM Role" + } + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "roleBasedAuth", + "selectedValue": false + } + ], + "label": "AWS Access Key ID", + "value": "accessKeyID", + "regex": ".*", + "required": false, + "placeholder": "e.g: access-key-id", + "secret": true + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "roleBasedAuth", + "selectedValue": false + } + ], + "label": "AWS Secret Access Key", + "value": "accessKey", + "regex": ".*", + "required": false, + "placeholder": "e.g: secret-access-key", + "secret": true + }, + { + "type": "checkbox", + "label": "Enable Server Side Encryption For S3?", + "value": "enableSSE", + "default": false + }, + { + "type": "singleSelect", + "label": "Sync Frequency", + "value": "syncFrequency", + "options": [ + { + "name": "Every 30 minutes", + "value": "30" + }, + { + "name": "Every 1 hour", + "value": "60" + }, + { + "name": "Every 3 hours", + "value": "180" + }, + { + "name": "Every 6 hours", + "value": "360" + }, + { + "name": "Every 12 hours", + "value": "720" + }, + { + "name": "Every 24 hours", + "value": "1440" + } + ], + "defaultOption": { + "name": "Every 30 minutes", + "value": "30" + }, + "required": false + }, + { + "type": "timePicker", + "label": "Sync Starting At (Optional)", + "value": "syncStartAt", + "options": { + "omitSeconds": true + }, + "required": false, + "footerNote": "Note: Please specify time in UTC" + } + ] + } + ] +} diff --git a/src/configurations/destinations/salesforce/db-config.json b/src/configurations/destinations/salesforce/db-config.json new file mode 100644 index 000000000..b55e6686f --- /dev/null +++ b/src/configurations/destinations/salesforce/db-config.json @@ -0,0 +1,36 @@ +{ + "name": "SALESFORCE", + "displayName": "Salesforce", + "config": { + "supportsVisualMapper": true, + "transformAt": "router", + "transformAtV1": "router", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["identify"], + "destConfig": { + "defaultConfig": [ + "userName", + "password", + "initialAccessToken", + "mapProperties", + "sandbox", + "useContactId" + ] + }, + "secretKeys": ["password", "initialAccessToken"] + } +} diff --git a/src/configurations/destinations/salesforce/metadata.json b/src/configurations/destinations/salesforce/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/salesforce/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/salesforce/schema.json b/src/configurations/destinations/salesforce/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/salesforce/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/salesforce/ui-config.json b/src/configurations/destinations/salesforce/ui-config.json new file mode 100644 index 000000000..77c2e53c5 --- /dev/null +++ b/src/configurations/destinations/salesforce/ui-config.json @@ -0,0 +1,61 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "User Name", + "value": "userName", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid User Name", + "required": true, + "placeholder": "e.g. user_name" + }, + { + "type": "textInput", + "label": "Password", + "value": "password", + "regex": ".*", + "required": true, + "placeholder": "e.g. password", + "secret": true + }, + { + "type": "textInput", + "label": "Security Token", + "value": "initialAccessToken", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Security Token", + "required": true, + "placeholder": "e.g. ISnPS2LcOtn9bHf6Id6vG0jgh", + "secret": true + } + ] + }, + { + "title": "Other Settings", + "fields": [ + { + "type": "checkbox", + "label": "Map Rudder Properties to Salesforce Properties", + "value": "mapProperties", + "default": true + }, + { + "type": "checkbox", + "label": "Sandbox mode", + "value": "sandbox", + "default": false + }, + { + "type": "checkbox", + "label": "Use contactId for converted leads", + "value": "useContactId", + "default": false, + "footerNote": "It is suggested to enable this option when both lead and contact field mappings are same." + } + ] + } + ] +} diff --git a/data/destinations/satismeter/db_config.json b/src/configurations/destinations/satismeter/db-config.json similarity index 100% rename from data/destinations/satismeter/db_config.json rename to src/configurations/destinations/satismeter/db-config.json diff --git a/src/configurations/destinations/satismeter/metadata.json b/src/configurations/destinations/satismeter/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/satismeter/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/satismeter/schema.json b/src/configurations/destinations/satismeter/schema.json new file mode 100644 index 000000000..1876b819a --- /dev/null +++ b/src/configurations/destinations/satismeter/schema.json @@ -0,0 +1,91 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["writeKey"], + "properties": { + "writeKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "identifyAnonymousUsers": { + "type": "boolean" + }, + "recordSatismeterEvents": { + "type": "boolean" + }, + "updateEventNames": { + "type": "boolean" + }, + "eventsToStandard": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "eventFilteringOption": { + "type": "string", + "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + }, + "whitelistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "blacklistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "useNativeSDK": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "oneTrustCookieCategories": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } + } + } +} diff --git a/data/destinations/satismeter/ui_config.json b/src/configurations/destinations/satismeter/ui-config.json similarity index 100% rename from data/destinations/satismeter/ui_config.json rename to src/configurations/destinations/satismeter/ui-config.json diff --git a/src/configurations/destinations/segment/db-config.json b/src/configurations/destinations/segment/db-config.json new file mode 100644 index 000000000..140a3b130 --- /dev/null +++ b/src/configurations/destinations/segment/db-config.json @@ -0,0 +1,27 @@ +{ + "name": "SEGMENT", + "displayName": "Segment", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "destConfig": { + "defaultConfig": ["writeKey"] + }, + "secretKeys": [] + } +} diff --git a/src/configurations/destinations/segment/metadata.json b/src/configurations/destinations/segment/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/segment/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/segment/schema.json b/src/configurations/destinations/segment/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/segment/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/segment/ui-config.json b/src/configurations/destinations/segment/ui-config.json new file mode 100644 index 000000000..11a28881b --- /dev/null +++ b/src/configurations/destinations/segment/ui-config.json @@ -0,0 +1,18 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Segment Write Key", + "value": "writeKey", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Segment Write Key", + "required": true, + "placeholder": "e.g: bSjsdGYsOo9sjw23Shj" + } + ] + } + ] +} diff --git a/data/destinations/sendgrid/db_config.json b/src/configurations/destinations/sendgrid/db-config.json similarity index 100% rename from data/destinations/sendgrid/db_config.json rename to src/configurations/destinations/sendgrid/db-config.json diff --git a/src/configurations/destinations/sendgrid/metadata.json b/src/configurations/destinations/sendgrid/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/sendgrid/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/sendgrid/schema.json b/src/configurations/destinations/sendgrid/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/sendgrid/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/data/destinations/sendgrid/ui_config.json b/src/configurations/destinations/sendgrid/ui-config.json similarity index 100% rename from data/destinations/sendgrid/ui_config.json rename to src/configurations/destinations/sendgrid/ui-config.json diff --git a/data/destinations/sendinblue/db_config.json b/src/configurations/destinations/sendinblue/db-config.json similarity index 100% rename from data/destinations/sendinblue/db_config.json rename to src/configurations/destinations/sendinblue/db-config.json diff --git a/src/configurations/destinations/sendinblue/metadata.json b/src/configurations/destinations/sendinblue/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/sendinblue/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/sendinblue/schema.json b/src/configurations/destinations/sendinblue/schema.json new file mode 100644 index 000000000..7012e3565 --- /dev/null +++ b/src/configurations/destinations/sendinblue/schema.json @@ -0,0 +1,96 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["apiKey", "clientKey", "redirectionUrl"], + "properties": { + "apiKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "clientKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "doi": { "type": "boolean" }, + "templateId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$" + }, + "redirectionUrl": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$" + }, + "keyToContactAttributeMapping": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "sendTraitsInTrack": { "type": "boolean" }, + "eventFilteringOption": { + "type": "string", + "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + }, + "whitelistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "blacklistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "useNativeSDK": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "oneTrustCookieCategories": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } + } + } +} diff --git a/data/destinations/sendinblue/ui_config.json b/src/configurations/destinations/sendinblue/ui-config.json similarity index 100% rename from data/destinations/sendinblue/ui_config.json rename to src/configurations/destinations/sendinblue/ui-config.json diff --git a/src/configurations/destinations/sentry/db-config.json b/src/configurations/destinations/sentry/db-config.json new file mode 100644 index 000000000..26c35719a --- /dev/null +++ b/src/configurations/destinations/sentry/db-config.json @@ -0,0 +1,49 @@ +{ + "name": "SENTRY", + "displayName": "Sentry", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "dsn", + "environment", + "customVersionProperty", + "release", + "serverName", + "logger", + "ignoreErrors", + "includePaths", + "allowUrls", + "denyUrls", + "debugMode", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": ["web"], + "supportedMessageTypes": ["identify"], + "destConfig": { + "defaultConfig": [ + "dsn", + "environment", + "customVersionProperty", + "release", + "serverName", + "logger", + "ignoreErrors", + "includePaths", + "allowUrls", + "denyUrls", + "debugMode", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "web": ["useNativeSDK", "oneTrustCookieCategories"] + }, + "secretKeys": ["dsn"] + } +} diff --git a/src/configurations/destinations/sentry/metadata.json b/src/configurations/destinations/sentry/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/sentry/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/sentry/schema.json b/src/configurations/destinations/sentry/schema.json new file mode 100644 index 000000000..06cf96be3 --- /dev/null +++ b/src/configurations/destinations/sentry/schema.json @@ -0,0 +1,130 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "additionalProperties": false, + "required": ["dsn"], + "properties": { + "dsn": { + "type": "string" + }, + "environment": { + "type": "string" + }, + "customVersionProperty": { + "type": "string" + }, + "release": { + "type": "string" + }, + "serverName": { + "type": "string" + }, + "logger": { + "type": "string" + }, + "debugMode": { + "type": "boolean" + }, + "ignoreErrors": { + "type": "array", + "items": { + "type": "object", + "properties": { + "ignoreErrors": { + "type": "string" + } + } + } + }, + "includePaths": { + "type": "array", + "items": { + "type": "object", + "properties": { + "includePaths": { + "type": "string" + } + } + } + }, + "allowUrls": { + "type": "array", + "items": { + "type": "object", + "properties": { + "allowUrls": { + "type": "string", + "pattern": "^(?!.*\\.ngrok\\.io).*$" + } + } + } + }, + "denyUrls": { + "type": "array", + "items": { + "type": "object", + "properties": { + "denyUrls": { + "type": "string", + "pattern": "^(?!.*\\.ngrok\\.io).*$" + } + } + } + }, + "eventFilteringOption": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + }, + "whitelistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "blacklistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "useNativeSDK": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "oneTrustCookieCategories": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } + } + } +} diff --git a/data/destinations/sentry/ui_config.json b/src/configurations/destinations/sentry/ui-config.json similarity index 100% rename from data/destinations/sentry/ui_config.json rename to src/configurations/destinations/sentry/ui-config.json diff --git a/src/configurations/destinations/serenytics/db-config.json b/src/configurations/destinations/serenytics/db-config.json new file mode 100644 index 000000000..8c4845c3c --- /dev/null +++ b/src/configurations/destinations/serenytics/db-config.json @@ -0,0 +1,35 @@ +{ + "name": "SERENYTICS", + "displayName": "Serenytics", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["identify", "track", "group", "page", "screen", "alias"], + "destConfig": { + "defaultConfig": [ + "storageUrlIdentify", + "storageUrlTrack", + "eventToStorageUrlMap", + "storageUrlGroup", + "storageUrlAlias", + "storageUrlPage", + "storageUrlScreen" + ] + } + } +} diff --git a/src/configurations/destinations/serenytics/metadata.json b/src/configurations/destinations/serenytics/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/serenytics/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/serenytics/schema.json b/src/configurations/destinations/serenytics/schema.json new file mode 100644 index 000000000..7a0117fbc --- /dev/null +++ b/src/configurations/destinations/serenytics/schema.json @@ -0,0 +1,48 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "storageUrlIdentify": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,200})$" + }, + "storageUrlTrack": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,200})$" + }, + "storageUrlGroup": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,200})$" + }, + "storageUrlAlias": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,200})$" + }, + "storageUrlPage": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,200})$" + }, + "storageUrlScreen": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,200})$" + }, + "eventToStorageUrlMap": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,200})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,200})$" + } + } + } + } + } + } +} diff --git a/src/configurations/destinations/serenytics/ui-config.json b/src/configurations/destinations/serenytics/ui-config.json new file mode 100644 index 000000000..15061955b --- /dev/null +++ b/src/configurations/destinations/serenytics/ui-config.json @@ -0,0 +1,69 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Data Source Storage Url for Identify", + "value": "storageUrlIdentify", + "regex": "(?!.*\\.ngrok\\.io)^(.{1,200})$", + "required": false, + "placeholder": "e.g. https://api.serenytics.com/api/data_source/7e0670-8cd1-40da-93a3-10a5/push/f06274c43f8904735b9a06c3ae917" + }, + { + "type": "textInput", + "label": "Data Source Storage Url for Track", + "value": "storageUrlTrack", + "regex": "(?!.*\\.ngrok\\.io)^(.{1,200})$", + "required": false, + "placeholder": "e.g. https://api.serenytics.com/api/data_source/7e0670-8cd1-40da-93a3-10a5/push/f06274c43f8904735b9a06c3ae917" + }, + { + "type": "dynamicForm", + "label": "Event Specific Storage Url", + "value": "eventToStorageUrlMap", + "required": false, + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g. Order Completed", + "placeholderRight": "e.g https://api.serenytics.com/api/data_source/7e0670-8cd1-40da-93a3-10a5/push/f06274c43f8904735b9a06c3ae917", + "labelLeft": "Event Name", + "labelRight": "Data Source Storage Url for Event" + }, + { + "type": "textInput", + "label": "Data Source Storage Url for Group", + "value": "storageUrlGroup", + "regex": "(?!.*\\.ngrok\\.io)^(.{1,200})$", + "required": false, + "placeholder": "e.g. https://api.serenytics.com/api/data_source/7e0670-8cd1-40da-93a3-10a5/push/f06274c43f8904735b9a06c3ae917" + }, + { + "type": "textInput", + "label": "Data Source Storage Url for Alias", + "value": "storageUrlAlias", + "regex": "(?!.*\\.ngrok\\.io)^(.{1,200})$", + "required": false, + "placeholder": "e.g. https://api.serenytics.com/api/data_source/7e0670-8cd1-40da-93a3-10a5/push/f06274c43f8904735b9a06c3ae917" + }, + { + "type": "textInput", + "label": "Data Source Storage Url for Page", + "value": "storageUrlPage", + "regex": "(?!.*\\.ngrok\\.io)^(.{1,200})$", + "required": false, + "placeholder": "e.g. https://api.serenytics.com/api/data_source/7e0670-8cd1-40da-93a3-10a5/push/f06274c43f8904735b9a06c3ae917" + }, + { + "type": "textInput", + "label": "Data Source Storage Url for Screen", + "value": "storageUrlScreen", + "regex": "(?!.*\\.ngrok\\.io)^(.{1,200})$", + "required": false, + "placeholder": "e.g. https://api.serenytics.com/api/data_source/7e0670-8cd1-40da-93a3-10a5/push/f06274c43f8904735b9a06c3ae917" + } + ] + } + ] +} diff --git a/src/configurations/destinations/sfmc/db-config.json b/src/configurations/destinations/sfmc/db-config.json new file mode 100644 index 000000000..d166fc546 --- /dev/null +++ b/src/configurations/destinations/sfmc/db-config.json @@ -0,0 +1,37 @@ +{ + "name": "SFMC", + "displayName": "Salesforce Marketing Cloud", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["identify", "track"], + "destConfig": { + "defaultConfig": [ + "clientId", + "clientSecret", + "subDomain", + "createOrUpdateContacts", + "externalKey", + "eventToExternalKey", + "eventToPrimaryKey", + "eventToUUID" + ] + }, + "secretKeys": ["clientId", "clientSecret", "subDomain"] + } +} diff --git a/src/configurations/destinations/sfmc/metadata.json b/src/configurations/destinations/sfmc/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/sfmc/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/sfmc/schema.json b/src/configurations/destinations/sfmc/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/sfmc/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/sfmc/ui-config.json b/src/configurations/destinations/sfmc/ui-config.json new file mode 100644 index 000000000..2f89fa4ea --- /dev/null +++ b/src/configurations/destinations/sfmc/ui-config.json @@ -0,0 +1,101 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Client Id", + "value": "clientId", + "required": true, + "placeholder": "e.g. ow081701234iblovt1z0j8hm", + "secret": true + }, + { + "type": "textInput", + "label": "Client Secret", + "value": "clientSecret", + "required": true, + "placeholder": "e.g. Sm7Yoqpx1jpn1234Juvl61Ag", + "secret": true + }, + { + "type": "textInput", + "label": "Subdomain", + "value": "subDomain", + "required": true, + "placeholder": "e.g. mcxt4zx46412341jd9rp300hdc8y", + "secret": true + } + ] + }, + { + "title": "Identify Call Settings", + "fields": [ + { + "type": "checkbox", + "label": "Do Not Create or Update Contacts", + "value": "createOrUpdateContacts", + "default": false, + "footerNote": "To disable creating or updating contacts during an identify call, set this option to true." + }, + { + "type": "textInput", + "label": "Identify Data External Key", + "value": "externalKey", + "required": false, + "placeholder": "e.g. mcxt4zx46412341jd9rp300hdc8y", + "footerNote": "Use this setting if you would like Rudder identify events to create or update Data Extensions in SFMC. The External Key of the Salesforce Marketing Cloud Data Extension to which you'd like to send Identify data. You can find this in the SFMC interface by navigating to Data & Analytics > Contact Builder > Data Extensions; the extension's name will appear in the External Key column." + } + ] + }, + { + "title": "Track Call Settings", + "fields": [ + { + "type": "dynamicForm", + "label": "Map events to external key", + "labelLeft": "Event Name", + "labelRight": "External Key", + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g: Product Clicked", + "placeholderRight": "eg: 69364906-1111-1111-1111-7D9CD87F16EC", + "value": "eventToExternalKey" + }, + { + "type": "dynamicForm", + "label": "Map events to primary key", + "labelLeft": "Event Name", + "labelRight": "Primary Key", + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g: Product Clicked", + "placeholderRight": "eg: Contact Key", + "value": "eventToPrimaryKey", + "footerNote": "The target Data Extension's Primary Key. If a value is not provided, defaults to Contact Key. You can add multiple primary keys by separating them with commas. The primary key names should be same as that you have set in SFMC data extensions." + }, + { + "type": "dynamicCustomForm", + "value": "eventToUUID", + "customFields": [ + { + "type": "textInput", + "value": "event", + "label": "Event Name", + "placeholder": "e.g. Product Added", + "required": false + }, + { + "type": "checkbox", + "value": "uuid", + "label": "UUID", + "required": false, + "footerNote": "If this is checked then we will generate a UUID and pass it through to SMC as the value for Primary Key for this event called 'Uuid'. This will override the above Primary Key field." + } + ] + } + ] + } + ] +} diff --git a/src/configurations/destinations/shynet/db-config.json b/src/configurations/destinations/shynet/db-config.json new file mode 100644 index 000000000..53e7567d5 --- /dev/null +++ b/src/configurations/destinations/shynet/db-config.json @@ -0,0 +1,43 @@ +{ + "name": "SHYNET", + "displayName": "Shynet", + "config": { + "supportsVisualMapper": true, + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "heartBeatFrequencyInMs", + "shynetServiceUrl", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["page"], + "destConfig": { + "defaultConfig": [ + "heartBeatFrequencyInMs", + "shynetServiceUrl", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "web": ["useNativeSDK", "oneTrustCookieCategories"] + }, + "secretKeys": [] + } +} diff --git a/src/configurations/destinations/shynet/metadata.json b/src/configurations/destinations/shynet/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/shynet/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/shynet/schema.json b/src/configurations/destinations/shynet/schema.json new file mode 100644 index 000000000..63b32561a --- /dev/null +++ b/src/configurations/destinations/shynet/schema.json @@ -0,0 +1,70 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "required": ["shynetServiceUrl"], + "type": "object", + "properties": { + "heartBeatFrequencyInMs": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,10})$" + }, + "shynetServiceUrl": { + "type": "string", + "pattern": "^(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,300})$" + }, + "eventFilteringOption": { + "type": "string", + "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + }, + "useNativeSDK": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "whitelistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "blacklistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,300})$" + } + } + } + }, + "oneTrustCookieCategories": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } + } + } +} diff --git a/data/destinations/shynet/ui_config.json b/src/configurations/destinations/shynet/ui-config.json similarity index 100% rename from data/destinations/shynet/ui_config.json rename to src/configurations/destinations/shynet/ui-config.json diff --git a/src/configurations/destinations/signl4/db-config.json b/src/configurations/destinations/signl4/db-config.json new file mode 100644 index 000000000..c8ae3763f --- /dev/null +++ b/src/configurations/destinations/signl4/db-config.json @@ -0,0 +1,42 @@ +{ + "name": "SIGNL4", + "displayName": "SIGNL4", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["track"], + "destConfig": { + "defaultConfig": [ + "apiKey", + "s4ServiceValue", + "s4ServiceProperty", + "s4LocationValue", + "s4LocationProperty", + "s4AlertingScenarioValue", + "s4AlertingScenarioProperty", + "s4ExternalIDValue", + "s4ExternalIDProperty", + "s4StatusValue", + "s4StatusProperty", + "s4Filter", + "eventToTitleMapping" + ] + }, + "secretKeys": ["apiKey"] + } +} diff --git a/src/configurations/destinations/signl4/metadata.json b/src/configurations/destinations/signl4/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/signl4/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/signl4/schema.json b/src/configurations/destinations/signl4/schema.json new file mode 100644 index 000000000..29d12a215 --- /dev/null +++ b/src/configurations/destinations/signl4/schema.json @@ -0,0 +1,72 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["apiKey"], + "properties": { + "apiKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "s4ServiceValue": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "s4ServiceProperty": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "s4LocationValue": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "s4LocationProperty": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "s4AlertingScenarioValue": { + "type": "string", + "pattern": "^(single_ack|multi_ack|emergency)$" + }, + "s4AlertingScenarioProperty": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "s4ExternalIDValue": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "s4ExternalIDProperty": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "s4StatusValue": { + "type": "string", + "pattern": "^(new|acknowledged|resolved)$" + }, + "s4StatusProperty": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "s4Filter": { + "type": "boolean" + }, + "columnToPropertyMapping": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } +} diff --git a/src/configurations/destinations/signl4/ui-config.json b/src/configurations/destinations/signl4/ui-config.json new file mode 100644 index 000000000..686b55ff0 --- /dev/null +++ b/src/configurations/destinations/signl4/ui-config.json @@ -0,0 +1,205 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "API Key", + "value": "apiKey", + "regex": "^(.{1,300})$", + "regexErrorMessage": "Invalid API Key", + "required": true, + "placeholder": "e.g. gi11aat8xy", + "secret": true, + "footerNote": "Your SIGNL4 team secret" + } + ] + }, + { + "title": "X-S4-Service", + "fields": [ + { + "type": "textInput", + "label": "Default Value", + "value": "s4ServiceValue", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid X-S4-Service Value", + "required": false, + "placeholder": "e.g. Security", + "secret": false + }, + { + "type": "textInput", + "label": "RudderStack property name", + "value": "s4ServiceProperty", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid property name", + "required": false, + "placeholder": "e.g. service", + "secret": false, + "footerNote": "Assigns the Signl to the service/system category with the specified name" + } + ] + }, + { + "title": "X-S4-Location", + "fields": [ + { + "type": "textInput", + "label": "Default Value", + "value": "s4LocationValue", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid X-S4-Location Value", + "required": false, + "placeholder": "e.g. 40.6413111,-73.7781391", + "secret": false + }, + { + "type": "textInput", + "label": "RudderStack property name", + "value": "s4LocationProperty", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid property name", + "required": false, + "placeholder": "e.g. location", + "footerNote": "Transmit location information ('latitude, longitude') with your event" + } + ] + }, + { + "title": "X-S4-AlertingScenario", + "fields": [ + { + "type": "singleSelect", + "label": "Default Value", + "value": "s4AlertingScenarioValue", + "required": false, + "options": [ + { + "name": "single_ack", + "value": "single_ack" + }, + { + "name": "multi_ack", + "value": "multi_ack" + }, + { + "name": "emergency", + "value": "emergency" + } + ], + "defaultOption": { + "name": "single_ack", + "value": "single_ack" + } + }, + { + "type": "textInput", + "label": "RudderStack property name", + "value": "s4AlertingScenarioProperty", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid property name", + "required": false, + "placeholder": "e.g. alertingScenario", + "secret": false, + "footerNote": "Allows to control how SIGNL4 notifies the team" + } + ] + }, + { + "title": "X-S4-ExternalID", + "fields": [ + { + "type": "textInput", + "label": "Default Value", + "value": "s4ExternalIDValue", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid X-S4-ExternalID", + "required": false, + "placeholder": "e.g. INC091210", + "secret": false + }, + { + "type": "textInput", + "label": "RudderStack property name", + "value": "s4ExternalIDProperty", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid property name", + "required": false, + "placeholder": "e.g. externalId", + "secret": false, + "footerNote": "If the event originates from a record in a 3rd party system, use this parameter to pass the unique ID of that record" + } + ] + }, + { + "title": "X-S4-Status", + "fields": [ + { + "type": "singleSelect", + "label": "Default Value", + "value": "s4StatusValue", + "required": false, + "options": [ + { + "name": "new", + "value": "new" + }, + { + "name": "acknowledged", + "value": "acknowledged" + }, + { + "name": "resolved", + "value": "resolved" + } + ], + "defaultOption": { + "name": "new", + "value": "new" + } + }, + { + "type": "textInput", + "label": "RudderStack property name", + "value": "s4StatusProperty", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid property name", + "required": false, + "placeholder": "e.g. status", + "secret": false, + "footerNote": "Provide the value of status of the alert from the above options" + } + ] + }, + { + "title": "X-S4-Filtering", + "fields": [ + { + "type": "checkbox", + "label": "Enable to add filter", + "value": "s4Filter", + "default": false, + "footerNote": "Set it to true to apply event filtering for this event" + } + ] + }, + { + "title": "Event to title mapping", + "fields": [ + { + "type": "dynamicForm", + "label": "Map event name with the alert title", + "labelLeft": "Event Name", + "labelRight": "Alert Title", + "value": "eventToTitleMapping", + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g: Product Viewed", + "placeholderRight": "e.g: Viewed Product" + } + ] + } + ] +} diff --git a/src/configurations/destinations/singular/db-config.json b/src/configurations/destinations/singular/db-config.json new file mode 100644 index 000000000..479ffc366 --- /dev/null +++ b/src/configurations/destinations/singular/db-config.json @@ -0,0 +1,43 @@ +{ + "name": "SINGULAR", + "displayName": "Singular", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "apiKey", + "apiSecret", + "sessionEventList", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "flutter", + "reactnative", + "cordova", + "web", + "amp", + "cloud", + "warehouse" + ], + "destConfig": { + "defaultConfig": [ + "apiKey", + "apiSecret", + "sessionEventList", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "android": ["useNativeSDK"], + "ios": ["useNativeSDK"], + "reactnative": ["useNativeSDK"], + "cordova": ["useNativeSDK"] + } + } +} diff --git a/src/configurations/destinations/singular/metadata.json b/src/configurations/destinations/singular/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/singular/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/singular/schema.json b/src/configurations/destinations/singular/schema.json new file mode 100644 index 000000000..78fa1f7ef --- /dev/null +++ b/src/configurations/destinations/singular/schema.json @@ -0,0 +1,66 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["apiKey"], + "properties": { + "apiKey": { + "type": "string" + }, + "apiSecret": { + "type": "string" + }, + "sessionEventList": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "eventFilteringOption": { + "type": "string", + "pattern": "(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + }, + "whitelistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "blacklistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "useNativeSDK": { + "type": "object", + "properties": { + "android": { + "type": "boolean" + }, + "ios": { + "type": "boolean" + } + } + } + } + } +} diff --git a/src/configurations/destinations/singular/ui-config.json b/src/configurations/destinations/singular/ui-config.json new file mode 100644 index 000000000..9f25102b6 --- /dev/null +++ b/src/configurations/destinations/singular/ui-config.json @@ -0,0 +1,109 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "API Key", + "value": "apiKey", + "regex": "^[a-zA-Z0-9_]*$", + "regexErrorMessage": "Invalid API Key", + "required": true, + "placeholder": "e.g: abcd_456e5678", + "secret": true + }, + { + "type": "textInput", + "label": "Secret", + "value": "apiSecret", + "regex": "^[a-zA-Z0-9]*$", + "regexErrorMessage": "Invalid Secret Key", + "required": false, + "placeholder": "e.g: r344c6e48c0r87y6iio567b67ad61324", + "secret": true + }, + { + "type": "dynamicCustomForm", + "value": "sessionEventList", + "label": "Session Event Name", + "footerNote": "The event name to use as a Session event", + "customFields": [ + { + "type": "textInput", + "value": "sessionEventName", + "required": false, + "placeholder": "e.g: Session Event Name" + } + ] + } + ] + }, + { + "title": "Native SDK", + "fields": [ + { + "type": "checkbox", + "label": "Use device-mode to send events", + "value": "useNativeSDK", + "default": true + } + ] + }, + { + "title": "Client-side Events Filtering", + "sectionNote": "Applicable only for device-mode integrations. If enabled, it works only with either allowlisted or denylisted events", + "fields": [ + { + "type": "singleSelect", + "value": "eventFilteringOption", + "required": false, + "options": [ + { + "name": "Disable", + "value": "disable" + }, + { + "name": "Allowlist", + "value": "whitelistedEvents" + }, + { + "name": "Denylist", + "value": "blacklistedEvents" + } + ], + "defaultOption": { + "name": "Disable", + "value": "disable" + } + }, + { + "type": "dynamicCustomForm", + "value": "whitelistedEvents", + "label": "Allowlist", + "customFields": [ + { + "type": "textInput", + "value": "eventName", + "required": false, + "placeholder": "e.g: Anonymous Page Visit" + } + ] + }, + { + "type": "dynamicCustomForm", + "value": "blacklistedEvents", + "label": "Denylist", + "customFields": [ + { + "type": "textInput", + "value": "eventName", + "required": false, + "placeholder": "e.g: Credit Card Added" + } + ] + } + ] + } + ] +} diff --git a/src/configurations/destinations/slack/db-config.json b/src/configurations/destinations/slack/db-config.json new file mode 100644 index 000000000..7144f7b40 --- /dev/null +++ b/src/configurations/destinations/slack/db-config.json @@ -0,0 +1,34 @@ +{ + "name": "SLACK", + "displayName": "Slack", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["identify", "track"], + "destConfig": { + "defaultConfig": [ + "eventChannelSettings", + "identifyTemplate", + "eventTemplateSettings", + "webhookUrl", + "whitelistedTraitsSettings" + ] + }, + "secretKeys": [] + } +} diff --git a/src/configurations/destinations/slack/metadata.json b/src/configurations/destinations/slack/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/slack/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/slack/schema.json b/src/configurations/destinations/slack/schema.json new file mode 100644 index 000000000..97e49def8 --- /dev/null +++ b/src/configurations/destinations/slack/schema.json @@ -0,0 +1,65 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "webhookUrl": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{0,100})" + }, + "identifyTemplate": { + "type": "string" + }, + "eventChannelSettings": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "eventChannel": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "eventRegex": { + "type": "boolean" + } + } + } + }, + "eventTemplateSettings": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "eventTemplate": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,1000})$" + }, + "eventRegex": { + "type": "boolean" + } + } + } + }, + "whitelistedTraitsSettings": { + "type": "array", + "items": { + "type": "object", + "properties": { + "trait": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})" + } + } + } + } + } + } +} diff --git a/src/configurations/destinations/slack/ui-config.json b/src/configurations/destinations/slack/ui-config.json new file mode 100644 index 000000000..7dd401592 --- /dev/null +++ b/src/configurations/destinations/slack/ui-config.json @@ -0,0 +1,122 @@ +{ + "uiConfig": [ + { + "title": "Event Channels", + "fields": [ + { + "type": "dynamicCustomForm", + "value": "eventChannelSettings", + "customFields": [ + { + "type": "textInput", + "label": "Event Name", + "value": "eventName", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Event Name", + "required": false, + "placeholder": "e.g: ABCDEFG" + }, + { + "type": "textInput", + "label": "Event Channel", + "value": "eventChannel", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Event Channel", + "required": false, + "placeholder": "e.g: ABCDEFG" + }, + { + "type": "checkbox", + "label": "Regex Matching", + "value": "eventRegex", + "default": false + } + ] + } + ] + }, + { + "title": "Identify Template", + "fields": [ + { + "type": "textInput", + "label": "Identify Template", + "value": "identifyTemplate", + "regex": "^(.{0,1000})$", + "regexErrorMessage": "Invalid Identify Template", + "required": false, + "placeholder": "e.g: ABCDEFG" + } + ] + }, + { + "title": "Event Template", + "fields": [ + { + "type": "dynamicCustomForm", + "value": "eventTemplateSettings", + "customFields": [ + { + "type": "textInput", + "label": "Event Name", + "value": "eventName", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Event Name", + "required": false, + "placeholder": "e.g: ABCDEFG" + }, + { + "type": "textInput", + "label": "Event Template", + "value": "eventTemplate", + "regex": "^(.{0,1000})$", + "regexErrorMessage": "Invalid Event Template", + "required": false, + "placeholder": "e.g: ABCDEFG" + }, + { + "type": "checkbox", + "label": "Regex Matching", + "value": "eventRegex", + "default": false + } + ] + } + ] + }, + { + "title": "Incoming Webhook Url", + "fields": [ + { + "type": "textInput", + "label": "Webhook Url", + "value": "webhookUrl", + "regex": "(?!.*\\.ngrok\\.io)^(.{0,100})$", + "regexErrorMessage": "Invalid Webhook Url", + "required": true, + "placeholder": "e.g: ABCDEFG" + } + ] + }, + { + "title": "Whitelisted Traits", + "fields": [ + { + "type": "dynamicCustomForm", + "value": "whitelistedTraitsSettings", + "customFields": [ + { + "type": "textInput", + "label": "Trait", + "value": "trait", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Trait", + "required": false, + "placeholder": "e.g: ABCDEFG" + } + ] + } + ] + } + ] +} diff --git a/src/configurations/destinations/snap_pixel/db-config.json b/src/configurations/destinations/snap_pixel/db-config.json new file mode 100644 index 000000000..c237bec30 --- /dev/null +++ b/src/configurations/destinations/snap_pixel/db-config.json @@ -0,0 +1,36 @@ +{ + "name": "SNAP_PIXEL", + "displayName": "Snap Pixel", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "pixelId", + "hashMethod", + "eventMappingFromConfig", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption", + "deduplicationKey", + "enableDeduplication" + ], + "excludeKeys": [], + "supportedSourceTypes": ["web"], + "destConfig": { + "defaultConfig": [ + "pixelId", + "hashMethod", + "eventMappingFromConfig", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption", + "deduplicationKey", + "enableDeduplication" + ], + "web": ["useNativeSDK", "oneTrustCookieCategories"] + }, + "secretKeys": ["pixelId"] + } +} diff --git a/src/configurations/destinations/snap_pixel/metadata.json b/src/configurations/destinations/snap_pixel/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/snap_pixel/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/snap_pixel/schema.json b/src/configurations/destinations/snap_pixel/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/snap_pixel/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/data/destinations/snap_pixel/ui_config.json b/src/configurations/destinations/snap_pixel/ui-config.json similarity index 100% rename from data/destinations/snap_pixel/ui_config.json rename to src/configurations/destinations/snap_pixel/ui-config.json diff --git a/src/configurations/destinations/snapchat_conversion/db-config.json b/src/configurations/destinations/snapchat_conversion/db-config.json new file mode 100644 index 000000000..0fbcb39f1 --- /dev/null +++ b/src/configurations/destinations/snapchat_conversion/db-config.json @@ -0,0 +1,36 @@ +{ + "name": "SNAPCHAT_CONVERSION", + "displayName": "Snapchat Conversion", + "config": { + "transformAt": "router", + "transformAtV1": "router", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["track"], + "destConfig": { + "defaultConfig": [ + "apiKey", + "pixelId", + "snapAppId", + "appId", + "rudderEventsToSnapEvents", + "enableDeduplication", + "deduplicationKey" + ] + }, + "secretKeys": ["apiKey"] + } +} diff --git a/src/configurations/destinations/snapchat_conversion/metadata.json b/src/configurations/destinations/snapchat_conversion/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/snapchat_conversion/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/snapchat_conversion/schema.json b/src/configurations/destinations/snapchat_conversion/schema.json new file mode 100644 index 000000000..1837c8152 --- /dev/null +++ b/src/configurations/destinations/snapchat_conversion/schema.json @@ -0,0 +1,46 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["apiKey"], + "properties": { + "apiKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,500})$" + }, + "pixelId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "snapAppId": { + "type": "string" + }, + "appId": { + "type": "string" + }, + "rudderEventsToSnapEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "enableDeduplication": { + "type": "boolean" + }, + "deduplicationKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + } + } + } +} diff --git a/src/configurations/destinations/snapchat_conversion/ui-config.json b/src/configurations/destinations/snapchat_conversion/ui-config.json new file mode 100644 index 000000000..4289c527f --- /dev/null +++ b/src/configurations/destinations/snapchat_conversion/ui-config.json @@ -0,0 +1,215 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "API Token", + "value": "apiKey", + "regex": "^(.{1,500})$", + "required": true, + "placeholder": "e.g. MTp6WHZyNbJXZVNMMm11AlJ1R1BXeVVBOkk0dFk5dkEybUVEWAw5NHk5dXBYUjBIdWp6QzZCNC1TMEFGU9QwYVdnUjg", + "secret": true, + "footerNote": "Your Conversion API Token" + }, + { + "type": "textInput", + "label": "Pixel ID", + "value": "pixelId", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Pixel ID", + "required": false, + "placeholder": "e.g: 836d6231-aad6-4e41-9cbb-5854565cad8e", + "secret": true, + "footerNote": "Your Pixel ID" + }, + { + "type": "textInput", + "label": "Snap App ID", + "value": "snapAppId", + "required": false, + "placeholder": "e.g: 836d6231-aad6-4e41-9cbb-5854565cad8e", + "secret": true, + "footerNote": "Your Snap App ID" + }, + { + "type": "textInput", + "label": "App ID", + "value": "appId", + "required": false, + "placeholder": "e.g: 836d6231-aad6-4e41-9cbb-5854565cad8e", + "secret": true, + "footerNote": "Your App ID" + } + ] + }, + { + "title": "Event Settings", + "fields": [ + { + "type": "dynamicSelectForm", + "label": "Map your events with Snapchat Standard Events", + "labelLeft": "Event Name", + "labelRight": "Standard Event Name", + "value": "rudderEventsToSnapEvents", + "keyLeft": "from", + "keyRight": "to", + "required": false, + "placeholderLeft": "e.g. Product Searched", + "options": [ + { + "name": "Products Searched", + "value": "products_searched" + }, + { + "name": "Product List Viewed", + "value": "product_list_viewed" + }, + { + "name": "Promotion Viewed", + "value": "promotion_viewed" + }, + { + "name": "Promotion Clicked", + "value": "promotion_clicked" + }, + { + "name": "Product Viewed", + "value": "product_viewed" + }, + { + "name": "Checkout Started", + "value": "checkout_started" + }, + { + "name": "Payment Info Entered", + "value": "payment_info_entered" + }, + { + "name": "Order Completed", + "value": "order_completed" + }, + { + "name": "Product Added", + "value": "product_added" + }, + { + "name": "Product Added To Wishlist", + "value": "product_added_to_wishlist" + }, + { + "name": "Sign Up", + "value": "sign_up" + }, + { + "name": "App Open", + "value": "app_open" + }, + { + "name": "Save", + "value": "save" + }, + { + "name": "Subscribe", + "value": "subscribe" + }, + { + "name": "Complete Tutorial", + "value": "complete_tutorial" + }, + { + "name": "Invite", + "value": "invite" + }, + { + "name": "Login", + "value": "login" + }, + { + "name": "Share", + "value": "share" + }, + { + "name": "Reserve", + "value": "reserve" + }, + { + "name": "Achievement Unlocked", + "value": "achievement_unlocked" + }, + { + "name": "Spent Credits", + "value": "spent_credits" + }, + { + "name": "Rate", + "value": "rate" + }, + { + "name": "Start Trial", + "value": "start_trial" + }, + { + "name": "List View", + "value": "list_view" + }, + { + "name": "Page View", + "value": "page_view" + }, + { + "name": "App Install", + "value": "app_install" + }, + { + "name": "Custom Event 1", + "value": "custom_event_1" + }, + { + "name": "Custom Event 2", + "value": "custom_event_2" + }, + { + "name": "Custom Event 3", + "value": "custom_event_3" + }, + { + "name": "Custom Event 4", + "value": "custom_event_4" + }, + { + "name": "Custom Event 5", + "value": "custom_event_5" + } + ] + } + ] + }, + { + "title": "Other Settings", + "fields": [ + { + "type": "checkbox", + "label": "Enable Event Deduplication", + "value": "enableDeduplication", + "default": false + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "enableDeduplication", + "selectedValue": true + } + ], + "label": "Deduplication Key", + "value": "deduplicationKey", + "placeholder": "e.g: messageId", + "required": false, + "footerNote": "RudderStack will use this field for deduplication. If nothing is specified, messageId field will be used." + } + ] + } + ] +} diff --git a/src/configurations/destinations/snapchat_custom_audience/db-config.json b/src/configurations/destinations/snapchat_custom_audience/db-config.json new file mode 100644 index 000000000..f50fdb41b --- /dev/null +++ b/src/configurations/destinations/snapchat_custom_audience/db-config.json @@ -0,0 +1,22 @@ +{ + "name": "SNAPCHAT_CUSTOM_AUDIENCE", + "displayName": "Snapchat Custom Audience", + "config": { + "auth": { + "type": "OAuth", + "role": "snapchat_custom_audience", + "rudderScopes": ["delivery"] + }, + "transformAt": "router", + "transformAtV1": "router", + "saveDestinationResponse": true, + "includeKeys": ["segmentId", "schema", "disableHashing"], + "excludeKeys": [], + "supportedSourceTypes": ["cloud", "warehouse"], + "supportedMessageTypes": ["audiencelist"], + "destConfig": { + "defaultConfig": ["rudderAccountId", "segmentId", "schema", "disableHashing"] + }, + "secretKeys": ["segmentId"] + } +} diff --git a/src/configurations/destinations/snapchat_custom_audience/metadata.json b/src/configurations/destinations/snapchat_custom_audience/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/snapchat_custom_audience/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/snapchat_custom_audience/schema.json b/src/configurations/destinations/snapchat_custom_audience/schema.json new file mode 100644 index 000000000..ab4216f7c --- /dev/null +++ b/src/configurations/destinations/snapchat_custom_audience/schema.json @@ -0,0 +1,20 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["segmentId"], + "properties": { + "segmentId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "schema": { + "type": "string", + "pattern": "^(email|phone|mobileAdId)$" + }, + "disableHashing": { + "type": "boolean" + } + } + } +} diff --git a/src/configurations/destinations/snapchat_custom_audience/ui-config.json b/src/configurations/destinations/snapchat_custom_audience/ui-config.json new file mode 100644 index 000000000..4f860c172 --- /dev/null +++ b/src/configurations/destinations/snapchat_custom_audience/ui-config.json @@ -0,0 +1,56 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Segment Id", + "value": "segmentId", + "regex": "^(.{1,100})$", + "regexErrorMessage": "Invalid Segment Id", + "required": true, + "placeholder": "e.g. 4996042382964722", + "secret": true + } + ] + }, + { + "title": "Event Settings", + "fields": [ + { + "type": "singleSelect", + "label": "Schema", + "value": "schema", + "required": true, + "mode": "single", + "options": [ + { + "name": "Email", + "value": "email" + }, + { + "name": "Phone", + "value": "phone" + }, + { + "name": "Mobile Ad Id", + "value": "mobileAdId" + } + ], + "defaultOption": { + "name": "Email", + "value": "email" + }, + "footerNote": "Schema of your Audience" + }, + { + "type": "checkbox", + "label": "Disable Hashing", + "value": "disableHashing", + "default": false + } + ] + } + ] +} diff --git a/src/configurations/destinations/snapengage/db-config.json b/src/configurations/destinations/snapengage/db-config.json new file mode 100644 index 000000000..a4f896b38 --- /dev/null +++ b/src/configurations/destinations/snapengage/db-config.json @@ -0,0 +1,34 @@ +{ + "name": "SNAPENGAGE", + "displayName": "SnapEngage", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "widgetId", + "recordLiveChatEvents", + "updateEventNames", + "eventsToStandard", + "eventFilteringOption", + "blacklistedEvents", + "whitelistedEvents" + ], + "excludeKeys": [], + "supportedSourceTypes": ["web"], + "supportedMessageTypes": ["identify", "track"], + "destConfig": { + "defaultConfig": [ + "widgetId", + "recordLiveChatEvents", + "updateEventNames", + "eventsToStandard", + "eventFilteringOption", + "blacklistedEvents", + "whitelistedEvents" + ], + "web": ["useNativeSDK", "oneTrustCookieCategories"] + }, + "secretKeys": ["widgetId"] + } +} diff --git a/src/configurations/destinations/snapengage/metadata.json b/src/configurations/destinations/snapengage/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/snapengage/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/snapengage/schema.json b/src/configurations/destinations/snapengage/schema.json new file mode 100644 index 000000000..f1cf98ec8 --- /dev/null +++ b/src/configurations/destinations/snapengage/schema.json @@ -0,0 +1,80 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "required": ["widgetId"], + "type": "object", + "properties": { + "widgetId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "recordLiveChatEvents": { + "type": "boolean" + }, + "updateEventNames": { + "type": "boolean" + }, + "eventsToStandard": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "eventFilteringOption": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(disable|whitelistedEvents|blacklistedEvents)$" + }, + "whitelistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "blacklistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "oneTrustCookieCategories": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } + } + } +} diff --git a/data/destinations/snapengage/ui_config.json b/src/configurations/destinations/snapengage/ui-config.json similarity index 100% rename from data/destinations/snapengage/ui_config.json rename to src/configurations/destinations/snapengage/ui-config.json diff --git a/src/configurations/destinations/snowflake/db-config.json b/src/configurations/destinations/snowflake/db-config.json new file mode 100644 index 000000000..eb1e09aff --- /dev/null +++ b/src/configurations/destinations/snowflake/db-config.json @@ -0,0 +1,55 @@ +{ + "name": "SNOWFLAKE", + "displayName": "Snowflake", + "category": "warehouse", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "reactnative", + "cloudSource", + "flutter", + "cordova" + ], + "destConfig": { + "defaultConfig": [ + "account", + "database", + "warehouse", + "user", + "password", + "cloudProvider", + "bucketName", + "containerName", + "storageIntegration", + "iamRoleARN", + "roleBasedAuth", + "accessKeyID", + "accessKey", + "accountName", + "accountKey", + "useSASTokens", + "sasToken", + "credentials", + "namespace", + "prefix", + "syncFrequency", + "syncStartAt", + "enableSSE", + "excludeWindow", + "jsonPaths", + "useRudderStorage" + ] + }, + "secretKeys": ["password", "accessKeyID", "accessKey", "accountKey", "sasToken"] + } +} diff --git a/src/configurations/destinations/snowflake/metadata.json b/src/configurations/destinations/snowflake/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/snowflake/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/snowflake/schema.json b/src/configurations/destinations/snowflake/schema.json new file mode 100644 index 000000000..0fa10cf88 --- /dev/null +++ b/src/configurations/destinations/snowflake/schema.json @@ -0,0 +1,226 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema", + "type": "object", + "required": [ + "account", + "database", + "warehouse", + "user", + "password", + "syncFrequency", + "useRudderStorage" + ], + "properties": { + "account": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + }, + "database": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + }, + "warehouse": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + }, + "user": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + }, + "password": { + "type": "string", + "pattern": "(^env[.].+)|.+" + }, + "namespace": { + "type": "string", + "pattern": "(^env[.].*)|^((?!pg_|PG_|pG_|Pg_).{0,64})$" + }, + "syncFrequency": { + "type": "string", + "pattern": "^(30|60|180|360|720|1440)$", + "default": "30" + }, + "syncStartAt": { + "type": "string" + }, + "excludeWindow": { + "type": "object", + "required": ["excludeWindowStartTime", "excludeWindowEndTime"], + "properties": { + "excludeWindowStartTime": { + "type": "string" + }, + "excludeWindowEndTime": { + "type": "string" + } + } + }, + "jsonPaths": { + "type": "string", + "pattern": "(^env[.].*)|.*" + }, + "useRudderStorage": { + "type": "boolean", + "default": false + }, + "cloudProvider": { + "type": "string", + "pattern": "^(AWS|GCP|AZURE)$" + } + }, + "allOf": [ + { + "if": { + "properties": { + "useRudderStorage": { + "const": false + } + }, + "required": ["useRudderStorage"] + }, + "then": { + "required": ["cloudProvider"] + } + }, + { + "if": { + "properties": { + "useRudderStorage": { + "const": false + } + }, + "required": ["useRudderStorage"] + }, + "then": { + "properties": { + "prefix": { + "type": "string", + "pattern": "(^env[.].*)|^(.{0,100})$" + } + } + } + }, + { + "if": { + "properties": { + "cloudProvider": { + "const": "AWS" + }, + "useRudderStorage": { + "const": false + } + }, + "required": ["cloudProvider", "useRudderStorage"] + }, + "then": { + "properties": { + "iamRoleARN": { + "type": "string" + }, + "roleBasedAuth": { + "type": "boolean" + }, + "bucketName": { + "type": "string", + "pattern": "(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$" + }, + "accessKeyID": { + "type": "string", + "pattern": "(^env[.].+)|^(.{0,100})$" + }, + "accessKey": { + "type": "string", + "pattern": "(^env[.].+)|^(.{0,100})$" + }, + "enableSSE": { + "type": "boolean" + } + } + } + }, + { + "if": { + "properties": { + "cloudProvider": { + "const": "GCP" + }, + "useRudderStorage": { + "const": false + } + }, + "required": ["cloudProvider", "useRudderStorage"] + }, + "then": { + "properties": { + "bucketName": { + "type": "string", + "pattern": "(^env[.].+)|^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$" + }, + "credentials": { + "type": "string", + "pattern": "(^env[.].+)|.+" + }, + "storageIntegration": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + } + } + } + }, + { + "if": { + "properties": { + "cloudProvider": { + "const": "AZURE" + }, + "useRudderStorage": { + "const": false + } + }, + "required": ["cloudProvider", "useRudderStorage"] + }, + "then": { + "properties": { + "containerName": { + "type": "string", + "pattern": "(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$" + }, + "accountName": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + }, + "storageIntegration": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + } + }, + "anyOf": [ + { + "properties": { + "accountKey": { + "type": "string", + "pattern": "(^env[.].+)|^(.{1,100})$" + } + }, + "required": ["accountKey"] + }, + { + "properties": { + "sasToken": { + "type": "string", + "pattern": "(^env[.].+)|^(.+)$" + }, + "useSASTokens": { + "const": true + } + }, + "required": ["sasToken", "useSASTokens"] + } + ] + } + } + ], + "additionalProperties": true + } +} diff --git a/src/configurations/destinations/snowflake/ui-config.json b/src/configurations/destinations/snowflake/ui-config.json new file mode 100644 index 000000000..9c333b533 --- /dev/null +++ b/src/configurations/destinations/snowflake/ui-config.json @@ -0,0 +1,538 @@ +{ + "uiConfig": [ + { + "title": "1. Connection Credentials", + "fields": [ + { + "type": "textInput", + "label": "Account", + "value": "account", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Account", + "placeholder": "e.g: qya54180.us-east-1", + "required": true + }, + { + "type": "textInput", + "label": "Database", + "value": "database", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Database", + "placeholder": "e.g: RUDDER_EVENTS", + "required": true + }, + { + "type": "textInput", + "label": "Warehouse", + "value": "warehouse", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Database", + "placeholder": "e.g: RUDDER_WAREHOUSE", + "required": true + }, + { + "type": "textInput", + "label": "User", + "value": "user", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid User", + "placeholder": "e.g: RUDDER_USER", + "required": true + }, + { + "type": "textInput", + "label": "Password", + "value": "password", + "regex": ".*", + "placeholder": "e.g: RUDDER_PASSWORD", + "required": true, + "secret": true + }, + { + "type": "textInput", + "label": "Namespace", + "labelNote": "Schema name for the warehouse where the tables are created", + "value": "namespace", + "regex": "^((?!pg_|PG_|pG_|Pg_).{0,64})$", + "regexErrorMessage": "Invalid Namespace", + "required": false, + "placeholder": "e.g: RUDDER_NAMESPACE", + "footerNote": "Default will be the source name" + }, + { + "type": "singleSelect", + "label": "Sync Frequency", + "value": "syncFrequency", + "options": [ + { + "name": "Every 30 minutes", + "value": "30" + }, + { + "name": "Every 1 hour", + "value": "60" + }, + { + "name": "Every 3 hours", + "value": "180" + }, + { + "name": "Every 6 hours", + "value": "360" + }, + { + "name": "Every 12 hours", + "value": "720" + }, + { + "name": "Every 24 hours", + "value": "1440" + } + ], + "defaultOption": { + "name": "Every 30 minutes", + "value": "30" + }, + "required": false + }, + { + "type": "timePicker", + "label": "Sync Starting At (Optional)", + "value": "syncStartAt", + "options": { + "omitSeconds": true, + "minuteStep": 15 + }, + "required": false, + "footerNote": "Note: Please specify time in UTC" + }, + { + "type": "timeRangePicker", + "label": "Exclude window (Optional)", + "value": "excludeWindow", + "startTime": { + "label": "start time", + "value": "excludeWindowStartTime" + }, + "endTime": { + "label": "end time", + "value": "excludeWindowEndTime" + }, + "options": { + "omitSeconds": true, + "minuteStep": 1 + }, + "required": false, + "footerNote": "Note: Please specify time in UTC" + }, + { + "type": "textInput", + "label": "Json columns (Optional)", + "labelNote": "Specify required json properties in dot notation separated by commas", + "value": "jsonPaths", + "regex": "^(.*)$", + "placeholder": "e.g: testMap.nestedMap, testArray", + "required": false, + "footerURL": { + "link": "https://www.rudderstack.com/docs/data-warehouse-integrations/snowflake/#configuring-snowflake-destination-in-rudderstack", + "text": "Instructions for setting up the json columns" + } + } + ] + }, + { + "title": "Object Storage Configuration", + "fields": [ + { + "type": "checkbox", + "label": "Use RudderStack managed object storage", + "value": "useRudderStorage", + "default": false, + "footerNote": "Note: Only available for RudderStack managed data planes" + }, + { + "type": "singleSelect", + "label": "Choose your Cloud", + "value": "cloudProvider", + "options": [ + { + "name": "Amazon Web Services", + "value": "AWS" + }, + { + "name": "Google Cloud Platform", + "value": "GCP" + }, + { + "name": "Microsoft Azure", + "value": "AZURE" + } + ], + "defaultOption": { + "name": "Amazon Web Services", + "value": "AWS" + }, + "required": true, + "preRequisiteField": { + "name": "useRudderStorage", + "selectedValue": false + } + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "cloudProvider", + "selectedValue": "AWS" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "Staging S3 Storage Bucket Name", + "labelNote": "S3 Bucket to store data before loading into Snowflake", + "value": "bucketName", + "regex": "^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$", + "regexErrorMessage": "Invalid Staging S3 Storage Bucket Name", + "placeholder": "e.g: s3-event-logs", + "required": true, + "footerNote": "Please make sure the bucket exists in your S3" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "cloudProvider", + "selectedValue": "GCP" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "Staging GCS Object Storage Bucket Name", + "labelNote": "GCS Bucket to store data before loading into Snowflake", + "value": "bucketName", + "regex": "^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$", + "regexErrorMessage": "Invalid Staging GCS Object Storage Bucket Name", + "required": true, + "placeholder": "e.g: gcs-event-logs", + "footerNote": "Please make sure the bucket exists in your GCS" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "cloudProvider", + "selectedValue": "AZURE" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "Staging Azure Blob Storage Container Name", + "labelNote": "Container to store data before loading into Snowflake", + "value": "containerName", + "regex": "^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$", + "regexErrorMessage": "Invalid Staging Azure Blob Storage Container Name", + "required": true, + "placeholder": "e.g: azure-event-logs", + "footerNote": "Please make sure the container exists in your Azure Blob Storage" + }, + { + "type": "textInput", + "label": "Prefix", + "value": "prefix", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Prefix", + "required": false, + "placeholder": "e.g: rudder", + "preRequisiteField": { + "name": "useRudderStorage", + "selectedValue": false + } + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "cloudProvider", + "selectedValue": "AWS" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "Storage Integration", + "value": "storageIntegration", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Storage Integration", + "placeholder": "e.g: aws_int", + "footerURL": { + "link": "https://docs.snowflake.com/en/user-guide/data-load-s3-config.html#option-1-configuring-a-snowflake-storage-integration", + "text": "Instructions for setting up the integration" + } + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "cloudProvider", + "selectedValue": "GCP" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "Storage Integration", + "value": "storageIntegration", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Storage Integration", + "required": true, + "placeholder": "e.g: gcs_int", + "footerURL": { + "link": "https://docs.snowflake.com/en/user-guide/data-load-gcs-config.html", + "text": "Instructions for setting up the integration" + } + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "cloudProvider", + "selectedValue": "AZURE" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "Storage Integration", + "value": "storageIntegration", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Storage Integration", + "required": true, + "placeholder": "e.g: azure_int", + "footerURL": { + "link": "https://docs.snowflake.com/en/user-guide/data-load-azure-config.html#option-1-configuring-a-snowflake-storage-integration", + "text": "Instructions for setting up the integration" + } + }, + { + "type": "checkbox", + "preRequisiteField": [ + { + "name": "cloudProvider", + "selectedValue": "AWS" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "Role Based Authentication", + "value": "roleBasedAuth", + "default": false + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "cloudProvider", + "selectedValue": "AWS" + }, + { + "name": "useRudderStorage", + "selectedValue": false + }, + { + "name": "roleBasedAuth", + "selectedValue": true + } + ], + "label": "IAM Role ARN", + "value": "iamRoleARN", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Role ARN", + "required": true, + "placeholder": "e.g: arn:aws:iam::123456789012:role/S3Access", + "footerURL": { + "link": "https://www.rudderstack.com/docs/destinations/aws-iam-role-for-rudderstack/", + "text": "Instructions for creating IAM Role" + } + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "cloudProvider", + "selectedValue": "AWS" + }, + { + "name": "useRudderStorage", + "selectedValue": false + }, + { + "name": "roleBasedAuth", + "selectedValue": false + } + ], + "label": "AWS Access Key ID", + "value": "accessKeyID", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid AWS Access Key ID", + "required": true, + "placeholder": "e.g: access-key-id", + "secret": true + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "cloudProvider", + "selectedValue": "AWS" + }, + { + "name": "useRudderStorage", + "selectedValue": false + }, + { + "name": "roleBasedAuth", + "selectedValue": false + } + ], + "label": "AWS Secret Access Key", + "value": "accessKey", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid AWS Secret Access Key", + "required": true, + "placeholder": "e.g: secret-access-key", + "secret": true + }, + { + "type": "checkbox", + "preRequisiteField": [ + { + "name": "cloudProvider", + "selectedValue": "AWS" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "Enable Server Side Encryption For S3?", + "value": "enableSSE", + "default": false + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "cloudProvider", + "selectedValue": "AZURE" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "Azure Blob Storage Account Name", + "value": "accountName", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Azure Blob Storage Account Name", + "required": true, + "placeholder": "e.g: account-name" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "cloudProvider", + "selectedValue": "AZURE" + }, + { + "name": "useRudderStorage", + "selectedValue": false + }, + { + "name": "useSASTokens", + "selectedValue": false + } + ], + "label": "Azure Blob Storage Account Key", + "value": "accountKey", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Azure Blob Storage Account Key", + "required": true, + "secret": true, + "placeholder": "e.g: account-key" + }, + { + "type": "textInput", + "preRequisiteField": [ + { + "name": "cloudProvider", + "selectedValue": "AZURE" + }, + { + "name": "useRudderStorage", + "selectedValue": false + }, + { + "name": "useSASTokens", + "selectedValue": true + } + ], + "label": "Azure Blob Storage SAS Token", + "value": "sasToken", + "regex": "^(.+)$", + "regexErrorMessage": "Invalid Azure Blob Storage SAS Token", + "required": true, + "placeholder": "e.g: sas-token", + "secret": true + }, + { + "type": "checkbox", + "preRequisiteField": [ + { + "name": "cloudProvider", + "selectedValue": "AZURE" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "Use shared access signature (SAS) Tokens", + "value": "useSASTokens", + "default": false, + "footerNote": "Use this to Grant limited access to Azure Storage resources using shared access signatures (SAS)" + }, + { + "type": "textareaInput", + "preRequisiteField": [ + { + "name": "cloudProvider", + "selectedValue": "GCP" + }, + { + "name": "useRudderStorage", + "selectedValue": false + } + ], + "label": "Credentials", + "labelNote": "GCP Service Account credentials JSON for RudderStack to use in loading data into your Google Cloud Storage", + "value": "credentials", + "regex": ".*", + "required": true, + "footerNote": "Create a service account in your GCP Project for RudderStack with roles of 'storage.objectCreator'" + } + ] + } + ] +} diff --git a/src/configurations/destinations/splitio/db-config.json b/src/configurations/destinations/splitio/db-config.json new file mode 100644 index 000000000..4cc045ae1 --- /dev/null +++ b/src/configurations/destinations/splitio/db-config.json @@ -0,0 +1,28 @@ +{ + "name": "SPLITIO", + "displayName": "Split.io", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "reactnative", + "flutter", + "cordova", + "warehouse" + ], + "supportedMessageTypes": ["group", "identify", "page", "screen", "track"], + "destConfig": { + "defaultConfig": ["apiKey", "environment", "trafficType"] + }, + "secretKeys": ["apiKey"] + } +} diff --git a/src/configurations/destinations/splitio/metadata.json b/src/configurations/destinations/splitio/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/splitio/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/splitio/schema.json b/src/configurations/destinations/splitio/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/splitio/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/splitio/ui-config.json b/src/configurations/destinations/splitio/ui-config.json new file mode 100644 index 000000000..58ce715d4 --- /dev/null +++ b/src/configurations/destinations/splitio/ui-config.json @@ -0,0 +1,37 @@ +{ + "uiConfig": [ + { + "title": "1. Connection Credentials", + "fields": [ + { + "type": "textInput", + "label": "API Key", + "value": "apiKey", + "required": true, + "placeholder": "e.g: 45lgoasdphhsskbsglho22quopat4850glv0", + "secret": true + }, + { + "type": "textInput", + "label": "Environment", + "value": "environment", + "required": false, + "placeholder": "e.g: production", + "secret": false + } + ] + }, + { + "title": "2. Information on Traffic", + "fields": [ + { + "type": "textInput", + "label": "Traffic Type", + "value": "trafficType", + "placeholder": "e.g: user", + "required": true + } + ] + } + ] +} diff --git a/src/configurations/destinations/statsig/db-config.json b/src/configurations/destinations/statsig/db-config.json new file mode 100644 index 000000000..353edd3d6 --- /dev/null +++ b/src/configurations/destinations/statsig/db-config.json @@ -0,0 +1,29 @@ +{ + "name": "STATSIG", + "displayName": "Statsig", + "config": { + "transformAt": "router", + "transformAtV1": "router", + "cdkEnabled": true, + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "reactnative", + "flutter", + "cordova", + "warehouse" + ], + "supportedMessageTypes": ["alias", "group", "identify", "page", "screen", "track"], + "destConfig": { + "defaultConfig": ["secretKey"] + }, + "secretKeys": ["secretKey"] + } +} diff --git a/src/configurations/destinations/statsig/metadata.json b/src/configurations/destinations/statsig/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/statsig/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/statsig/schema.json b/src/configurations/destinations/statsig/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/statsig/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/statsig/ui-config.json b/src/configurations/destinations/statsig/ui-config.json new file mode 100644 index 000000000..358c481a2 --- /dev/null +++ b/src/configurations/destinations/statsig/ui-config.json @@ -0,0 +1,18 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Secret Key", + "value": "secretKey", + "regex": ".*", + "required": true, + "placeholder": "e.g. secret-tHe5ecr37", + "secret": true + } + ] + } + ] +} diff --git a/src/configurations/destinations/tiktok_ads/db-config.json b/src/configurations/destinations/tiktok_ads/db-config.json new file mode 100644 index 000000000..cd0184e08 --- /dev/null +++ b/src/configurations/destinations/tiktok_ads/db-config.json @@ -0,0 +1,17 @@ +{ + "name": "TIKTOK_ADS", + "displayName": "TikTok Ads", + "config": { + "transformAt": "router", + "transformAtV1": "router", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": ["web", "cloud", "mobile"], + "supportedMessageTypes": ["track"], + "destConfig": { + "defaultConfig": ["accessToken", "pixelCode", "hashUserProperties", "eventsToStandard"] + }, + "secretKeys": ["accessToken", "pixelCode"] + } +} diff --git a/src/configurations/destinations/tiktok_ads/metadata.json b/src/configurations/destinations/tiktok_ads/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/tiktok_ads/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/tiktok_ads/schema.json b/src/configurations/destinations/tiktok_ads/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/tiktok_ads/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/tiktok_ads/ui-config.json b/src/configurations/destinations/tiktok_ads/ui-config.json new file mode 100644 index 000000000..461ccadea --- /dev/null +++ b/src/configurations/destinations/tiktok_ads/ui-config.json @@ -0,0 +1,111 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Access Token", + "value": "accessToken", + "regex": ".*", + "required": true, + "placeholder": "e.g. 1234ac663758946dfea3520b394bbac611b371f7", + "secret": true, + "footerNote": "TikTok Long Term Access Token" + }, + { + "type": "textInput", + "label": "Pixel Code", + "value": "pixelCode", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Pixel Code", + "required": true, + "placeholder": "e.g: A1T8T4UYGVIQA8ORZMX9", + "secret": true, + "footerNote": "Your Pixel Code" + }, + { + "type": "checkbox", + "label": "Hash Contextual User Properties (SHA-256)", + "value": "hashUserProperties", + "default": true, + "footerNote": "To hash user properties like email and phone number using SHA-256. Only applicable for cloud mode." + } + ] + }, + { + "title": "Event Settings", + "fields": [ + { + "type": "dynamicSelectForm", + "label": "Mapping to trigger the TikTok Ads standard events for the respective Events", + "labelLeft": "Event Name", + "labelRight": "Standard Events", + "value": "eventsToStandard", + "keyLeft": "from", + "keyRight": "to", + "required": false, + "placeholderLeft": "e.g: Sign up completed", + "options": [ + { + "name": "Add Payment Info", + "value": "AddPaymentInfo" + }, + { + "name": "Add To Cart", + "value": "AddToCart" + }, + { + "name": "Add To Wishlist", + "value": "AddToWishlist" + }, + { + "name": "Click Button", + "value": "ClickButton" + }, + { + "name": "Complete Payment", + "value": "CompletePayment" + }, + { + "name": "Complete Registration", + "value": "CompleteRegistration" + }, + { + "name": "Contact", + "value": "Contact" + }, + { + "name": "Download", + "value": "Download" + }, + { + "name": "Initiate Checkout", + "value": "InitiateCheckout" + }, + { + "name": "Place An Order", + "value": "PlaceAnOrder" + }, + { + "name": "Search", + "value": "Search" + }, + { + "name": "Submit Form", + "value": "SubmitForm" + }, + { + "name": "Subscribe", + "value": "Subscribe" + }, + { + "name": "View Content", + "value": "ViewContent" + } + ] + } + ] + } + ] +} diff --git a/src/configurations/destinations/trengo/db-config.json b/src/configurations/destinations/trengo/db-config.json new file mode 100644 index 000000000..dabb4090d --- /dev/null +++ b/src/configurations/destinations/trengo/db-config.json @@ -0,0 +1,34 @@ +{ + "name": "TRENGO", + "displayName": "Trengo", + "config": { + "transformAt": "router", + "transformAtV1": "router", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "reactnative", + "flutter", + "cordova", + "warehouse" + ], + "supportedMessageTypes": ["identify", "track"], + "destConfig": { + "defaultConfig": [ + "apiToken", + "channelId", + "channelIdentifier", + "enableDedup", + "eventTemplateMap" + ] + }, + "secretKeys": ["apiToken"] + } +} diff --git a/src/configurations/destinations/trengo/metadata.json b/src/configurations/destinations/trengo/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/trengo/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/trengo/schema.json b/src/configurations/destinations/trengo/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/trengo/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/trengo/ui-config.json b/src/configurations/destinations/trengo/ui-config.json new file mode 100644 index 000000000..fdf02d2bc --- /dev/null +++ b/src/configurations/destinations/trengo/ui-config.json @@ -0,0 +1,70 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "API Token", + "value": "apiToken", + "regex": ".*", + "required": true, + "placeholder": "e.g: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiIxIiwian..", + "secret": true + } + ] + }, + { + "title": "Destination Settings", + "fields": [ + { + "type": "textInput", + "label": "Channel Id", + "value": "channelId", + "regex": ".*", + "required": true, + "placeholder": "e.g: 89002" + }, + { + "type": "singleSelect", + "label": "Channel Identifier", + "value": "channelIdentifier", + "options": [ + { + "name": "Email", + "value": "email" + }, + { + "name": "Phone", + "value": "phone" + } + ], + "defaultOption": { + "name": "Email", + "value": "email" + }, + "required": true + }, + { + "type": "checkbox", + "label": "Enable deduplication for Contacts", + "value": "enableDedup", + "default": true, + "footerNote": "Note: Disabling this field will create a possibility to create duplicate contacts, before disabling it view the destination docs to understand the full implications" + }, + { + "type": "dynamicForm", + "label": "Map events with template", + "labelLeft": "Event Name", + "labelRight": "Event Template", + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g: Product Purchased", + "placeholderRight": "e.g: {{event}} Triggered", + "value": "eventTemplateMap", + "footerNote": "You can map specific events with custom templates. Note:To track events to Trengo adding event name in the key is mandatory. For details please view destination docs." + } + ] + } + ] +} diff --git a/src/configurations/destinations/tvsquared/db-config.json b/src/configurations/destinations/tvsquared/db-config.json new file mode 100644 index 000000000..f6b465572 --- /dev/null +++ b/src/configurations/destinations/tvsquared/db-config.json @@ -0,0 +1,34 @@ +{ + "name": "TVSQUARED", + "displayName": "TVSquared", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "brandId", + "clientId", + "eventWhiteList", + "customMetrics", + "blacklistedEvents", + "whitelistedEvents", + "oneTrustCookieCategories", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": ["web"], + "destConfig": { + "defaultConfig": [ + "brandId", + "clientId", + "eventWhiteList", + "customMetrics", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "web": ["useNativeSDK", "oneTrustCookieCategories"] + }, + "secretKeys": ["credentials"] + } +} diff --git a/src/configurations/destinations/tvsquared/metadata.json b/src/configurations/destinations/tvsquared/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/tvsquared/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/tvsquared/schema.json b/src/configurations/destinations/tvsquared/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/tvsquared/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/data/destinations/tvsquared/ui_config.json b/src/configurations/destinations/tvsquared/ui-config.json similarity index 100% rename from data/destinations/tvsquared/ui_config.json rename to src/configurations/destinations/tvsquared/ui-config.json diff --git a/src/configurations/destinations/user/db-config.json b/src/configurations/destinations/user/db-config.json new file mode 100644 index 000000000..0b91273e6 --- /dev/null +++ b/src/configurations/destinations/user/db-config.json @@ -0,0 +1,46 @@ +{ + "name": "USER", + "displayName": "user.com", + "config": { + "transformAt": "router", + "transformAtV1": "router", + "saveDestinationResponse": true, + "includeKeys": [ + "apiKey", + "appSubdomain", + "userAttributesMapping", + "userEvents", + "rsEventName", + "userEventName", + "eventProperties", + "companyAttributesMapping" + ], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["track", "identify", "group", "page"], + "destConfig": { + "defaultConfig": [ + "apiKey", + "appSubdomain", + "userAttributesMapping", + "userEvents", + "rsEventName", + "userEventName", + "eventProperties", + "companyAttributesMapping" + ] + }, + "secretKeys": ["apiKey"] + } +} diff --git a/src/configurations/destinations/user/metadata.json b/src/configurations/destinations/user/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/user/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/user/schema.json b/src/configurations/destinations/user/schema.json new file mode 100644 index 000000000..8e91fff97 --- /dev/null +++ b/src/configurations/destinations/user/schema.json @@ -0,0 +1,81 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["apiKey"], + "properties": { + "apiKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,500})$" + }, + "appSubdomain": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,500})$" + }, + "userAttributesMapping": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "userEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "rsEventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "userEventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "eventProperties": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } + }, + "companyAttributesMapping": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } +} diff --git a/src/configurations/destinations/user/ui-config.json b/src/configurations/destinations/user/ui-config.json new file mode 100644 index 000000000..225eda9e1 --- /dev/null +++ b/src/configurations/destinations/user/ui-config.json @@ -0,0 +1,92 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Public REST API Key", + "value": "apiKey", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid API Key", + "required": true, + "placeholder": "e.g: 1d6583b196d34de28a3g19ahadde4b0z" + }, + { + "type": "textInput", + "label": "Your App Subdomain", + "value": "appSubdomain", + "regex": "^(.{0,500})$", + "regexErrorMessage": "Invalid App Subdomain", + "required": true, + "placeholder": "e.g: commander" + } + ] + }, + { + "title": "Mapping Configurations", + "fields": [ + { + "type": "dynamicForm", + "label": "Map Rudder user attributes to User.com user attributes", + "value": "userAttributesMapping", + "required": false, + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g. userIndustry", + "placeholderRight": "e.g. industry", + "labelLeft": "Rudder Property", + "labelRight": "user.com user attribute" + }, + { + "type": "dynamicCustomForm", + "label": "Map RudderStack event name to User.com event name", + "value": "userEvents", + "customFields": [ + { + "type": "textInput", + "label": "RudderStack Event Name", + "value": "rsEventName", + "regex": "^(.{0,100})$", + "required": false, + "placeholder": "e.g Products Searched", + "footerNote": "Enter the RudderStack event name you want to map" + }, + { + "type": "textInput", + "label": "User.com Event Name", + "value": "userEventName", + "regex": "^(.{0,100})$", + "required": false, + "placeholder": "e.g Search", + "footerNote": "Enter the corresponding User.com event name you want to map" + }, + { + "type": "dynamicForm", + "label": "Map your Event Property", + "value": "eventProperties", + "labelLeft": "RudderStack Property Name", + "labelRight": "User.com Event Attribute Name", + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g firstName", + "placeholderRight": "e.g first_name" + } + ] + }, + { + "type": "dynamicForm", + "label": "Map Rudder company attributes to User.com company attributes", + "value": "companyAttributesMapping", + "required": false, + "keyLeft": "from", + "keyRight": "to", + "placeholderLeft": "e.g. companyCategoty", + "placeholderRight": "e.g. category", + "labelLeft": "Rudder Property", + "labelRight": "user.com company attribute" + } + ] + } + ] +} diff --git a/src/configurations/destinations/userlist/db-config.json b/src/configurations/destinations/userlist/db-config.json new file mode 100644 index 000000000..a097a3833 --- /dev/null +++ b/src/configurations/destinations/userlist/db-config.json @@ -0,0 +1,29 @@ +{ + "name": "USERLIST", + "displayName": "Userlist", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "cdkEnabled": true, + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["group", "identify", "track"], + "destConfig": { + "defaultConfig": ["pushKey"] + }, + "secretKeys": ["pushKey"] + } +} diff --git a/src/configurations/destinations/userlist/metadata.json b/src/configurations/destinations/userlist/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/userlist/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/userlist/schema.json b/src/configurations/destinations/userlist/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/userlist/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/userlist/ui-config.json b/src/configurations/destinations/userlist/ui-config.json new file mode 100644 index 000000000..111d685d5 --- /dev/null +++ b/src/configurations/destinations/userlist/ui-config.json @@ -0,0 +1,18 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Userlist Push Key", + "value": "pushKey", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Userlist Push Key", + "required": true, + "placeholder": "e.g: sk_UuCIkdGmSnN4OaBCCFOuJaBcb3O2wD8S" + } + ] + } + ] +} diff --git a/src/configurations/destinations/variance/db-config.json b/src/configurations/destinations/variance/db-config.json new file mode 100644 index 000000000..b0baa5254 --- /dev/null +++ b/src/configurations/destinations/variance/db-config.json @@ -0,0 +1,28 @@ +{ + "name": "VARIANCE", + "displayName": "Variance", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "cdkEnabled": true, + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "reactnative", + "flutter", + "cordova", + "warehouse" + ], + "destConfig": { + "defaultConfig": ["webhookUrl", "authHeader"] + }, + "secretKeys": ["authHeader"] + } +} diff --git a/src/configurations/destinations/variance/metadata.json b/src/configurations/destinations/variance/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/variance/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/variance/schema.json b/src/configurations/destinations/variance/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/destinations/variance/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/destinations/variance/ui-config.json b/src/configurations/destinations/variance/ui-config.json new file mode 100644 index 000000000..3eaa6ec45 --- /dev/null +++ b/src/configurations/destinations/variance/ui-config.json @@ -0,0 +1,26 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Webhook URL", + "value": "webhookUrl", + "required": true, + "placeholder": "https://your-org.variance.com", + "regex": "^(?!.*\\.ngrok\\.io).*" + }, + { + "type": "textInput", + "label": "Authorization Header Value", + "value": "authHeader", + "required": true, + "placeholder": "", + "regex": ".*", + "secret": true + } + ] + } + ] +} diff --git a/src/configurations/destinations/vero/db-config.json b/src/configurations/destinations/vero/db-config.json new file mode 100644 index 000000000..d12e61a8a --- /dev/null +++ b/src/configurations/destinations/vero/db-config.json @@ -0,0 +1,40 @@ +{ + "name": "VERO", + "displayName": "Vero", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "apiKey", + "authToken", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption", + "oneTrustCookieCategories" + ], + "excludeKeys": [], + "supportedSourceTypes": [ + "amp", + "android", + "cordova", + "cloud", + "flutter", + "ios", + "reactnative", + "unity", + "warehouse", + "web" + ], + "supportedMessageTypes": ["identify", "track", "page", "screen", "alias"], + "destConfig": { + "defaultConfig": [ + "authToken", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "web": ["apiKey", "useNativeSDK", "oneTrustCookieCategories"] + } + } +} diff --git a/src/configurations/destinations/vero/metadata.json b/src/configurations/destinations/vero/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/vero/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/vero/schema.json b/src/configurations/destinations/vero/schema.json new file mode 100644 index 000000000..d1fef5b0c --- /dev/null +++ b/src/configurations/destinations/vero/schema.json @@ -0,0 +1,70 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": [], + "properties": { + "apiKey": { + "type": "object", + "properties": { + "web": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + }, + "authToken": { + "type": "string" + }, + "whitelistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "blacklistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "useNativeSDK": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "oneTrustCookieCategories": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } + } + } +} diff --git a/data/destinations/vero/ui_config.json b/src/configurations/destinations/vero/ui-config.json similarity index 100% rename from data/destinations/vero/ui_config.json rename to src/configurations/destinations/vero/ui-config.json diff --git a/src/configurations/destinations/vwo/db-config.json b/src/configurations/destinations/vwo/db-config.json new file mode 100644 index 000000000..b140bf4a0 --- /dev/null +++ b/src/configurations/destinations/vwo/db-config.json @@ -0,0 +1,39 @@ +{ + "name": "VWO", + "displayName": "VWO", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [ + "accountId", + "isSPA", + "sendExperimentTrack", + "sendExperimentIdentify", + "libraryTolerance", + "settingsTolerance", + "useExistingJquery", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": ["web"], + "destConfig": { + "defaultConfig": [ + "accountId", + "isSPA", + "sendExperimentTrack", + "sendExperimentIdentify", + "libraryTolerance", + "settingsTolerance", + "useExistingJquery", + "blacklistedEvents", + "whitelistedEvents", + "eventFilteringOption" + ], + "web": ["useNativeSDK", "oneTrustCookieCategories"] + }, + "secretKeys": [] + } +} diff --git a/src/configurations/destinations/vwo/metadata.json b/src/configurations/destinations/vwo/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/vwo/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/vwo/schema.json b/src/configurations/destinations/vwo/schema.json new file mode 100644 index 000000000..e6be2d9dd --- /dev/null +++ b/src/configurations/destinations/vwo/schema.json @@ -0,0 +1,86 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["accountId"], + "properties": { + "accountId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "isSPA": { + "type": "boolean" + }, + "sendExperimentTrack": { + "type": "boolean" + }, + "sendExperimentIdentify": { + "type": "boolean" + }, + "libraryTolerance": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "settingsTolerance": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "useExistingJquery": { + "type": "boolean" + }, + "eventFilteringOption": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(^(disable|whitelistedEvents|blacklistedEvents)$)" + }, + "whitelistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "blacklistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "useNativeSDK": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "oneTrustCookieCategories": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } + } + } +} diff --git a/data/destinations/vwo/ui_config.json b/src/configurations/destinations/vwo/ui-config.json similarity index 100% rename from data/destinations/vwo/ui_config.json rename to src/configurations/destinations/vwo/ui-config.json diff --git a/src/configurations/destinations/webengage/db-config.json b/src/configurations/destinations/webengage/db-config.json new file mode 100644 index 000000000..8b9ddb71f --- /dev/null +++ b/src/configurations/destinations/webengage/db-config.json @@ -0,0 +1,28 @@ +{ + "name": "WEBENGAGE", + "displayName": "WebEngage", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "web", + "cloud", + "mobile", + "android", + "ios", + "unity", + "amp", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["identify", "track", "page", "screen"], + "destConfig": { + "defaultConfig": ["licenseCode", "apiKey", "dataCenter"] + } + } +} diff --git a/src/configurations/destinations/webengage/metadata.json b/src/configurations/destinations/webengage/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/webengage/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/webengage/schema.json b/src/configurations/destinations/webengage/schema.json new file mode 100644 index 000000000..9a2b616cf --- /dev/null +++ b/src/configurations/destinations/webengage/schema.json @@ -0,0 +1,21 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["licenseCode", "apiKey", "dataCenter"], + "properties": { + "licenseCode": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "apiKey": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "dataCenter": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(standard|ind)$" + } + } + } +} diff --git a/src/configurations/destinations/webengage/ui-config.json b/src/configurations/destinations/webengage/ui-config.json new file mode 100644 index 000000000..30165635b --- /dev/null +++ b/src/configurations/destinations/webengage/ui-config.json @@ -0,0 +1,46 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "License Code", + "value": "licenseCode", + "regex": "^(.{1,100})$", + "required": true, + "placeholder": "e.g. b4a29aba", + "secret": true + }, + { + "type": "textInput", + "label": "Api Key", + "value": "apiKey", + "regex": "^(.{1,100})$", + "required": true, + "placeholder": "e.g. b4a29aba17jmbad7b6c1a5asjghj", + "secret": true + }, + { + "type": "singleSelect", + "label": "Data Center", + "value": "dataCenter", + "options": [ + { + "name": "Standard", + "value": "standard" + }, + { + "name": "IND", + "value": "ind" + } + ], + "defaultOption": { + "name": "Standard", + "value": "standard" + } + } + ] + } + ] +} diff --git a/src/configurations/destinations/webhook/db-config.json b/src/configurations/destinations/webhook/db-config.json new file mode 100644 index 000000000..6c0ab2613 --- /dev/null +++ b/src/configurations/destinations/webhook/db-config.json @@ -0,0 +1,27 @@ +{ + "name": "WEBHOOK", + "displayName": "Webhook", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": false, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "destConfig": { + "defaultConfig": ["webhookUrl", "webhookMethod", "headers"] + }, + "secretKeys": ["headers.to"] + } +} diff --git a/src/configurations/destinations/webhook/metadata.json b/src/configurations/destinations/webhook/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/webhook/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/data/destinations/webhook/schema.json b/src/configurations/destinations/webhook/schema.json similarity index 100% rename from data/destinations/webhook/schema.json rename to src/configurations/destinations/webhook/schema.json diff --git a/data/destinations/webhook/ui_config.json b/src/configurations/destinations/webhook/ui-config.json similarity index 100% rename from data/destinations/webhook/ui_config.json rename to src/configurations/destinations/webhook/ui-config.json diff --git a/src/configurations/destinations/woopra/db-config.json b/src/configurations/destinations/woopra/db-config.json new file mode 100644 index 000000000..f9b9a82b8 --- /dev/null +++ b/src/configurations/destinations/woopra/db-config.json @@ -0,0 +1,58 @@ +{ + "name": "WOOPRA", + "displayName": "WOOPRA", + "config": { + "transformAt": "router", + "transformAtV1": "router", + "saveDestinationResponse": true, + "includeKeys": [ + "projectName", + "cookieName", + "cookiePath", + "cookieDomain", + "clickTracking", + "downloadTracking", + "hideCampaign", + "idleTimeout", + "ignoreQueryUrl", + "outgoingIgnoreSubdomain", + "outgoingTracking", + "whitelistedEvents", + "blacklistedEvents", + "eventFilteringOption" + ], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "reactnative", + "flutter", + "cordova", + "warehouse" + ], + "supportedMessageTypes": ["identify", "track", "page"], + "destConfig": { + "defaultConfig": [ + "projectName", + "cookieName", + "cookiePath", + "cookieDomain", + "clickTracking", + "downloadTracking", + "hideCampaign", + "idleTimeout", + "ignoreQueryUrl", + "outgoingIgnoreSubdomain", + "outgoingTracking", + "whitelistedEvents", + "blacklistedEvents", + "eventFilteringOption" + ], + "web": ["useNativeSDK", "oneTrustCookieCategories"] + } + } +} diff --git a/src/configurations/destinations/woopra/metadata.json b/src/configurations/destinations/woopra/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/woopra/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/woopra/schema.json b/src/configurations/destinations/woopra/schema.json new file mode 100644 index 000000000..9b6f6d189 --- /dev/null +++ b/src/configurations/destinations/woopra/schema.json @@ -0,0 +1,92 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["projectName"], + "properties": { + "projectName": { + "type": "string", + "pattern": "^(([a-z0-9]+[.])+[a-z]{1,})$" + }, + "cookieName": { + "type": "string" + }, + "cookieDomain": { + "type": "string" + }, + "clickTracking": { + "type": "boolean" + }, + "cookiePath": { + "type": "string" + }, + "downloadTracking": { + "type": "boolean" + }, + "hideCampaign": { + "type": "boolean" + }, + "idleTimeout": { + "type": "string" + }, + "ignoreQueryUrl": { + "type": "boolean" + }, + "outgoingIgnoreSubdomain": { + "type": "boolean" + }, + "outgoingTracking": { + "type": "boolean" + }, + "whitelistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "blacklistedEvents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "eventName": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "useNativeSDK": { + "type": "object", + "properties": { + "web": { + "type": "boolean" + } + } + }, + "oneTrustCookieCategories": { + "type": "object", + "properties": { + "web": { + "type": "array", + "items": { + "type": "object", + "properties": { + "oneTrustCookieCategory": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } + } + } +} diff --git a/data/destinations/woopra/ui_config.json b/src/configurations/destinations/woopra/ui-config.json similarity index 100% rename from data/destinations/woopra/ui_config.json rename to src/configurations/destinations/woopra/ui-config.json diff --git a/src/configurations/destinations/wootric/db-config.json b/src/configurations/destinations/wootric/db-config.json new file mode 100644 index 000000000..b3929cce3 --- /dev/null +++ b/src/configurations/destinations/wootric/db-config.json @@ -0,0 +1,28 @@ +{ + "name": "WOOTRIC", + "displayName": "Wootric", + "config": { + "transformAt": "router", + "transformAtV1": "router", + "saveDestinationResponse": true, + "includeKeys": ["username", "password", "accountToken"], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "reactnative", + "flutter", + "cordova", + "warehouse" + ], + "supportedMessageTypes": ["identify", "track"], + "destConfig": { + "defaultConfig": ["username", "password", "accountToken"] + }, + "secretKeys": ["password", "accountToken"] + } +} diff --git a/src/configurations/destinations/wootric/metadata.json b/src/configurations/destinations/wootric/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/wootric/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/wootric/schema.json b/src/configurations/destinations/wootric/schema.json new file mode 100644 index 000000000..15cde354c --- /dev/null +++ b/src/configurations/destinations/wootric/schema.json @@ -0,0 +1,21 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["username", "password", "accountToken"], + "properties": { + "username": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "password": { + "type": "string", + "pattern": "(^env[.].+)|.+" + }, + "accountToken": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + } + } + } +} diff --git a/src/configurations/destinations/wootric/ui-config.json b/src/configurations/destinations/wootric/ui-config.json new file mode 100644 index 000000000..f3426fb2b --- /dev/null +++ b/src/configurations/destinations/wootric/ui-config.json @@ -0,0 +1,38 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Username", + "value": "username", + "regex": "^(.{1,100})$", + "regexErrorMessage": "Invalid User", + "required": true, + "placeholder": "e.g. test@gmail.com", + "secret": false + }, + { + "type": "textInput", + "label": "Password", + "value": "password", + "regex": ".*", + "required": true, + "placeholder": "e.g. password@123", + "secret": true + }, + { + "type": "textInput", + "label": "Account Token", + "value": "accountToken", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Account Token", + "required": true, + "placeholder": "e.g. NPS-123456", + "secret": true + } + ] + } + ] +} diff --git a/src/configurations/destinations/yahoo_dsp/db-config.json b/src/configurations/destinations/yahoo_dsp/db-config.json new file mode 100644 index 000000000..54cf0dcf5 --- /dev/null +++ b/src/configurations/destinations/yahoo_dsp/db-config.json @@ -0,0 +1,26 @@ +{ + "name": "YAHOO_DSP", + "displayName": "Yahoo DSP", + "config": { + "transformAt": "router", + "transformAtV1": "router", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": ["cloud", "warehouse"], + "syncBehaviours": [], + "supportedMessageTypes": ["audiencelist"], + "destConfig": { + "defaultConfig": [ + "clientId", + "clientSecret", + "audienceId", + "accountId", + "audienceType", + "hashRequired", + "seedListType" + ] + }, + "secretKeys": ["clientId", "clientSecret"] + } +} diff --git a/src/configurations/destinations/yahoo_dsp/metadata.json b/src/configurations/destinations/yahoo_dsp/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/yahoo_dsp/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/yahoo_dsp/schema.json b/src/configurations/destinations/yahoo_dsp/schema.json new file mode 100644 index 000000000..14b110d6b --- /dev/null +++ b/src/configurations/destinations/yahoo_dsp/schema.json @@ -0,0 +1,36 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["clientId", "clientSecret", "audienceId", "accountId"], + "properties": { + "clientId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "clientSecret": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$" + }, + "audienceId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$" + }, + "accountId": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$" + }, + "audienceType": { + "type": "string", + "pattern": "^(EMAIL|DEVICE_ID|IP_ADDRESS)$" + }, + "seedListType": { + "type": "string", + "pattern": "^(GPADVID|IDFA)$" + }, + "hashRequired": { + "type": "boolean" + } + } + } +} diff --git a/src/configurations/destinations/yahoo_dsp/ui-config.json b/src/configurations/destinations/yahoo_dsp/ui-config.json new file mode 100644 index 000000000..dbe0dc1b9 --- /dev/null +++ b/src/configurations/destinations/yahoo_dsp/ui-config.json @@ -0,0 +1,126 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Client Id", + "value": "clientId", + "regex": "^(.{1,100})$", + "regexErrorMessage": "Invalid Client Id", + "required": true, + "placeholder": "e.g. b05ebeb8-a223-3cd6-z4c5-9512d3d66d431", + "secret": true, + "footerNote": "Put your Client Id here, it will be used for generating access token." + }, + { + "type": "textInput", + "label": "Client Secret", + "value": "clientSecret", + "regex": "^(.{1,100})$", + "regexErrorMessage": "Invalid Client Secret", + "required": true, + "placeholder": "e.g: XpewiPsz3yc9LrADR43f9h53jADLccXTykHCcA6eEoFR4rXQ", + "secret": true, + "footerNote": "Put your Client Secret here, it will be used for generating access token." + } + ] + }, + { + "title": "Account Setting", + "fields": [ + { + "type": "textInput", + "label": "Account Id", + "value": "accountId", + "regex": "^[0-9]+$", + "regexErrorMessage": "Invalid Account Id", + "required": true, + "placeholder": "e.g. 84223", + "secret": false, + "footerNote": "Your Account Id" + } + ] + }, + { + "title": "Audience Settings", + "fields": [ + { + "type": "singleSelect", + "label": "Audience Type", + "value": "audienceType", + "required": true, + "placeholder": "Email", + "options": [ + { + "name": "Email", + "value": "EMAIL" + }, + { + "name": "Device Id", + "value": "DEVICE_ID" + }, + { + "name": "IP Address", + "value": "IP_ADDRESS" + } + ], + "defaultOption": { + "name": "Email", + "value": "EMAIL" + } + }, + { + "type": "singleSelect", + "label": "Seed List Type", + "value": "seedListType", + "required": true, + "placeholder": "Google (GPADVID)", + "options": [ + { + "name": "Google (GPADVID)", + "value": "GPADVID" + }, + { + "name": "Apple (IDFA)", + "value": "IDFA" + } + ], + "defaultOption": { + "name": "Google (GPADVID)", + "value": "GPADVID" + }, + "preRequisiteField": { + "name": "audienceType", + "selectedValue": "DEVICE_ID" + }, + "footerNote": "Your device type" + }, + { + "type": "textInput", + "label": "Audience Id", + "value": "audienceId", + "regex": "^[0-9]+$", + "regexErrorMessage": "Invalid Audience Id", + "required": true, + "placeholder": "e.g. 53213445", + "secret": false, + "footerNote": "The audience id of the audience to which you want to sync the data" + } + ] + }, + { + "title": "Event Setting", + "fields": [ + { + "type": "checkbox", + "label": "Hash Required", + "value": "hashRequired", + "default": true, + "footerNote": "Toggle it off if hashing is not required" + } + ] + } + ] +} diff --git a/data/destinations/yandex_metrica/db_config.json b/src/configurations/destinations/yandex_metrica/db-config.json similarity index 100% rename from data/destinations/yandex_metrica/db_config.json rename to src/configurations/destinations/yandex_metrica/db-config.json diff --git a/src/configurations/destinations/yandex_metrica/metadata.json b/src/configurations/destinations/yandex_metrica/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/yandex_metrica/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/data/destinations/yandex_metrica/schema.json b/src/configurations/destinations/yandex_metrica/schema.json similarity index 100% rename from data/destinations/yandex_metrica/schema.json rename to src/configurations/destinations/yandex_metrica/schema.json diff --git a/data/destinations/yandex_metrica/ui_config.json b/src/configurations/destinations/yandex_metrica/ui-config.json similarity index 100% rename from data/destinations/yandex_metrica/ui_config.json rename to src/configurations/destinations/yandex_metrica/ui-config.json diff --git a/src/configurations/destinations/zapier/db-config.json b/src/configurations/destinations/zapier/db-config.json new file mode 100644 index 000000000..536faa863 --- /dev/null +++ b/src/configurations/destinations/zapier/db-config.json @@ -0,0 +1,29 @@ +{ + "name": "ZAPIER", + "displayName": "Zapier", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "cdkEnabled": true, + "includeKeys": ["zapUrl", "trackEventsToZap", "pageScreenEventsToZap"], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "reactnative", + "flutter", + "cordova", + "warehouse" + ], + "supportedMessageTypes": ["track", "page", "screen"], + "destConfig": { + "defaultConfig": ["zapUrl", "trackEventsToZap", "pageScreenEventsToZap"] + }, + "secretKeys": ["zapUrl"] + } +} diff --git a/src/configurations/destinations/zapier/metadata.json b/src/configurations/destinations/zapier/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/zapier/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/zapier/schema.json b/src/configurations/destinations/zapier/schema.json new file mode 100644 index 000000000..69b8ab81e --- /dev/null +++ b/src/configurations/destinations/zapier/schema.json @@ -0,0 +1,45 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": ["zapUrl"], + "properties": { + "zapUrl": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,100})$" + }, + "trackEventsToZap": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + }, + "pageScreenEventsToZap": { + "type": "array", + "items": { + "type": "object", + "properties": { + "from": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "to": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + } + } + } + } + } + } +} diff --git a/src/configurations/destinations/zapier/ui-config.json b/src/configurations/destinations/zapier/ui-config.json new file mode 100644 index 000000000..23c8e3cb9 --- /dev/null +++ b/src/configurations/destinations/zapier/ui-config.json @@ -0,0 +1,46 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Zap URL", + "value": "zapUrl", + "regex": "(?!.*\\.ngrok\\.io)^(.{1,100})$", + "regexErrorMessage": "Invalid Zap URL", + "required": true, + "placeholder": "e.g. https://hooks.zapier.com/hooks/catch/123456/abcdefg/", + "secret": true, + "footerNote": "Enter the ZAP URL where all your events should go" + }, + { + "type": "dynamicForm", + "label": "Mapping Track Events to a particular Zap", + "labelLeft": "Event Name", + "labelRight": "Zap URL", + "keyLeft": "from", + "keyRight": "to", + "required": false, + "placeholderLeft": "e.g: Submit", + "placeholderRight": "e.g: https://hooks.zapier.com/hooks/catch/123456/abcdefg/", + "value": "trackEventsToZap", + "footerNote": "Enter the Track events to be sent to the specified ZAP URL" + }, + { + "type": "dynamicForm", + "label": "Mapping Page/Screen Events to a particular Zap", + "labelLeft": "Event Name", + "labelRight": "Zap URL", + "keyLeft": "from", + "keyRight": "to", + "required": false, + "placeholderLeft": "e.g: Submit", + "placeholderRight": "e.g: https://hooks.zapier.com/hooks/catch/123456/abcdefg/", + "value": "pageScreenEventsToZap", + "footerNote": "Enter the Page or Screen events to be sent to the specified ZAP URL" + } + ] + } + ] +} diff --git a/src/configurations/destinations/zendesk/db-config.json b/src/configurations/destinations/zendesk/db-config.json new file mode 100644 index 000000000..1bc4aa6c9 --- /dev/null +++ b/src/configurations/destinations/zendesk/db-config.json @@ -0,0 +1,36 @@ +{ + "name": "ZENDESK", + "displayName": "Zendesk", + "config": { + "transformAt": "processor", + "transformAtV1": "processor", + "saveDestinationResponse": true, + "includeKeys": [], + "excludeKeys": [], + "supportedSourceTypes": [ + "android", + "ios", + "web", + "unity", + "amp", + "cloud", + "warehouse", + "reactnative", + "flutter", + "cordova" + ], + "supportedMessageTypes": ["group", "identify", "track"], + "destConfig": { + "defaultConfig": [ + "email", + "apiToken", + "domain", + "createUsersAsVerified", + "sendGroupCallsWithoutUserId", + "removeUsersFromOrganization", + "searchByExternalId" + ] + }, + "secretKeys": ["apiToken"] + } +} diff --git a/src/configurations/destinations/zendesk/metadata.json b/src/configurations/destinations/zendesk/metadata.json new file mode 100644 index 000000000..59c4d726b --- /dev/null +++ b/src/configurations/destinations/zendesk/metadata.json @@ -0,0 +1,25 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "connectionMode": { + "cloud-mode": true, + "device-mode": ["web", "android"] + }, + "supportedMethods": { + "cloud-mode": ["track", "identify"], + "device-mode": { + "web": ["track", "identify"] + } + }, + "releaseStatus": "beta", + "sourceCode": { + "android": { + "github": "", + "version": "v1.0.0" + } + } + } +} diff --git a/src/configurations/destinations/zendesk/schema.json b/src/configurations/destinations/zendesk/schema.json new file mode 100644 index 000000000..d8cafc20e --- /dev/null +++ b/src/configurations/destinations/zendesk/schema.json @@ -0,0 +1,34 @@ +{ + "configSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "additionalProperties": false, + "required": ["email", "apiToken", "domain"], + "properties": { + "email": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "apiToken": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "domain": { + "type": "string", + "pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$" + }, + "createUsersAsVerified": { + "type": "boolean" + }, + "sendGroupCallsWithoutUserId": { + "type": "boolean" + }, + "removeUsersFromOrganization": { + "type": "boolean" + }, + "searchByExternalId": { + "type": "boolean" + } + } + } +} diff --git a/src/configurations/destinations/zendesk/ui-config.json b/src/configurations/destinations/zendesk/ui-config.json new file mode 100644 index 000000000..fabdf3c55 --- /dev/null +++ b/src/configurations/destinations/zendesk/ui-config.json @@ -0,0 +1,62 @@ +{ + "uiConfig": [ + { + "title": "Connection Settings", + "fields": [ + { + "type": "textInput", + "label": "Email", + "value": "email", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Email Address", + "required": true, + "placeholder": "e.g: abc@xyz.com" + }, + { + "type": "textInput", + "label": "API Token", + "value": "apiToken", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid API Token", + "required": true, + "placeholder": "API Token for Zendesk login", + "secret": true + }, + { + "type": "textInput", + "label": "Zendesk Subdomain", + "value": "domain", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Zendesk Subdomain", + "required": true, + "placeholder": "Subdomain only not including .zendesk.com" + }, + { + "type": "checkbox", + "label": "Create users as verified", + "value": "createUsersAsVerified", + "default": false + }, + { + "type": "checkbox", + "label": "Send Group Calls without User ID", + "value": "sendGroupCallsWithoutUserId", + "default": false + }, + { + "type": "checkbox", + "label": "Enable Removing Users from Organizations", + "value": "removeUsersFromOrganization", + "default": false + }, + { + "type": "checkbox", + "label": "Update user's primary email", + "value": "searchByExternalId", + "default": false, + "footerNote": "If enabled, RudderStack sets the email in the event as the user's primary email in Zendesk, replacing the previous primary email. Otherwise, it is set as the secondary email, if any primary email exists." + } + ] + } + ] +} diff --git a/data/sources/GainsightPX/db_config.json b/src/configurations/sources/GainsightPX/db-config.json similarity index 100% rename from data/sources/GainsightPX/db_config.json rename to src/configurations/sources/GainsightPX/db-config.json diff --git a/data/sources/mailjet/metadata.json b/src/configurations/sources/GainsightPX/metadata.json similarity index 100% rename from data/sources/mailjet/metadata.json rename to src/configurations/sources/GainsightPX/metadata.json diff --git a/src/configurations/sources/GainsightPX/schema.json b/src/configurations/sources/GainsightPX/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/GainsightPX/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/data/sources/mailjet/ui_config.json b/src/configurations/sources/GainsightPX/ui-config.json similarity index 100% rename from data/sources/mailjet/ui_config.json rename to src/configurations/sources/GainsightPX/ui-config.json diff --git a/src/configurations/sources/active_campaign/db-config.json b/src/configurations/sources/active_campaign/db-config.json new file mode 100644 index 000000000..b0a4f3cca --- /dev/null +++ b/src/configurations/sources/active_campaign/db-config.json @@ -0,0 +1,5 @@ +{ + "name": "active_campaign", + "category": "cloud", + "displayName": "Active campaign" +} diff --git a/data/sources/moengage/metadata.json b/src/configurations/sources/active_campaign/metadata.json similarity index 100% rename from data/sources/moengage/metadata.json rename to src/configurations/sources/active_campaign/metadata.json diff --git a/src/configurations/sources/active_campaign/schema.json b/src/configurations/sources/active_campaign/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/active_campaign/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/active_campaign/ui-config.json b/src/configurations/sources/active_campaign/ui-config.json new file mode 100644 index 000000000..842286f81 --- /dev/null +++ b/src/configurations/sources/active_campaign/ui-config.json @@ -0,0 +1,38 @@ +{ + "uiConfig": { + "auth": { + "type": "form", + "secretFields": ["apiKey"], + "nameField": "rudder_account_name", + "config": [ + { + "fields": [ + { + "type": "textInput", + "label": "Account Name", + "value": "rudder_account_name", + "regex": ".*", + "required": true, + "placeholder": "e.g: account name" + }, + { + "type": "textInput", + "label": "URL", + "value": "url", + "placeholder": "e.g https://rudderstack.api-us1.com", + "required": true + }, + { + "type": "textInput", + "label": "API Key", + "value": "apiKey", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true + } + ] + } + ] + } + } +} diff --git a/src/configurations/sources/amp/db-config.json b/src/configurations/sources/amp/db-config.json new file mode 100644 index 000000000..faa7e9169 --- /dev/null +++ b/src/configurations/sources/amp/db-config.json @@ -0,0 +1,4 @@ +{ + "name": "AMP", + "displayName": "AMP" +} diff --git a/data/sources/olark/metadata.json b/src/configurations/sources/amp/metadata.json similarity index 100% rename from data/sources/olark/metadata.json rename to src/configurations/sources/amp/metadata.json diff --git a/src/configurations/sources/amp/schema.json b/src/configurations/sources/amp/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/amp/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/data/sources/moengage/ui_config.json b/src/configurations/sources/amp/ui-config.json similarity index 100% rename from data/sources/moengage/ui_config.json rename to src/configurations/sources/amp/ui-config.json diff --git a/src/configurations/sources/android/db-config.json b/src/configurations/sources/android/db-config.json new file mode 100644 index 000000000..8ed6a5da5 --- /dev/null +++ b/src/configurations/sources/android/db-config.json @@ -0,0 +1,4 @@ +{ + "name": "Android", + "displayName": "Android" +} diff --git a/data/sources/pagerduty/metadata.json b/src/configurations/sources/android/metadata.json similarity index 100% rename from data/sources/pagerduty/metadata.json rename to src/configurations/sources/android/metadata.json diff --git a/src/configurations/sources/android/schema.json b/src/configurations/sources/android/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/android/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/data/sources/olark/ui_config.json b/src/configurations/sources/android/ui-config.json similarity index 100% rename from data/sources/olark/ui_config.json rename to src/configurations/sources/android/ui-config.json diff --git a/src/configurations/sources/appcenter/db-config.json b/src/configurations/sources/appcenter/db-config.json new file mode 100644 index 000000000..fbf8ec57a --- /dev/null +++ b/src/configurations/sources/appcenter/db-config.json @@ -0,0 +1,5 @@ +{ + "name": "Appcenter", + "category": "webhook", + "displayName": "App Center" +} diff --git a/data/sources/pipedream/metadata.json b/src/configurations/sources/appcenter/metadata.json similarity index 100% rename from data/sources/pipedream/metadata.json rename to src/configurations/sources/appcenter/metadata.json diff --git a/src/configurations/sources/appcenter/schema.json b/src/configurations/sources/appcenter/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/appcenter/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/data/sources/pagerduty/ui_config.json b/src/configurations/sources/appcenter/ui-config.json similarity index 100% rename from data/sources/pagerduty/ui_config.json rename to src/configurations/sources/appcenter/ui-config.json diff --git a/src/configurations/sources/appsflyer/db-config.json b/src/configurations/sources/appsflyer/db-config.json new file mode 100644 index 000000000..ebfc5c803 --- /dev/null +++ b/src/configurations/sources/appsflyer/db-config.json @@ -0,0 +1,5 @@ +{ + "name": "appsflyer", + "category": "webhook", + "displayName": "AppsFlyer" +} diff --git a/data/sources/refiner/metadata.json b/src/configurations/sources/appsflyer/metadata.json similarity index 100% rename from data/sources/refiner/metadata.json rename to src/configurations/sources/appsflyer/metadata.json diff --git a/src/configurations/sources/appsflyer/schema.json b/src/configurations/sources/appsflyer/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/appsflyer/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/data/sources/pipedream/ui_config.json b/src/configurations/sources/appsflyer/ui-config.json similarity index 100% rename from data/sources/pipedream/ui_config.json rename to src/configurations/sources/appsflyer/ui-config.json diff --git a/src/configurations/sources/auth0/db-config.json b/src/configurations/sources/auth0/db-config.json new file mode 100644 index 000000000..cd8157065 --- /dev/null +++ b/src/configurations/sources/auth0/db-config.json @@ -0,0 +1,5 @@ +{ + "name": "Auth0", + "category": "webhook", + "displayName": "Auth0" +} diff --git a/data/sources/satismeter/metadata.json b/src/configurations/sources/auth0/metadata.json similarity index 100% rename from data/sources/satismeter/metadata.json rename to src/configurations/sources/auth0/metadata.json diff --git a/src/configurations/sources/auth0/schema.json b/src/configurations/sources/auth0/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/auth0/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/data/sources/refiner/ui_config.json b/src/configurations/sources/auth0/ui-config.json similarity index 100% rename from data/sources/refiner/ui_config.json rename to src/configurations/sources/auth0/ui-config.json diff --git a/src/configurations/sources/bigquery/db-config.json b/src/configurations/sources/bigquery/db-config.json new file mode 100644 index 000000000..aff600473 --- /dev/null +++ b/src/configurations/sources/bigquery/db-config.json @@ -0,0 +1,10 @@ +{ + "name": "bigquery", + "category": "warehouse", + "displayName": "BigQuery", + "options": { + "syncBehaviours": ["upsert", "mirror"], + "isSqlModelSupported": true, + "isAudienceSupported": true + } +} diff --git a/src/configurations/sources/bigquery/metadata.json b/src/configurations/sources/bigquery/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/bigquery/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/bigquery/schema.json b/src/configurations/sources/bigquery/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/bigquery/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/bigquery/ui-config.json b/src/configurations/sources/bigquery/ui-config.json new file mode 100644 index 000000000..29e241c64 --- /dev/null +++ b/src/configurations/sources/bigquery/ui-config.json @@ -0,0 +1,59 @@ +{ + "uiConfig": [ + { + "title": "Connection Credentials", + "secretFields": ["credentials"], + "docLinks": { + "grantPermissions": "https://docs.rudderstack.com/reverse-etl/google-bigquery/#granting-permissions", + "verifyingCredentials": "https://docs.rudderstack.com/reverse-etl/google-bigquery/#what-do-the-three-validations-under-verifying-credentials-imply", + "jsonMapperUseInstructions": "https://docs.rudderstack.com/reverse-etl/google-bigquery/#specifying-the-data-to-import", + "setupInstructions": "https://docs.rudderstack.com/reverse-etl/google-bigquery" + }, + "schemaAlias": "Dataset", + "nameField": "project", + "fields": [ + { + "type": "textareaInput", + "subType": "JSON", + "label": "Credentials", + "labelNote": "GCP Service Account credentials JSON for RudderStack to use in loading data into your BigQuery database", + "value": "credentials", + "regex": ".*", + "required": true, + "secret": true + }, + { + "type": "textInput", + "label": "Project ID", + "labelNote": "GCP Project ID where your BigQuery database is located.", + "value": "project", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true, + "infoTooltip": "Inferred from project_id field in the credentials settings.", + "addInAccountSummary": true, + "readOnly": true, + "obtainValueFromField": { + "name": "credentials", + "key": "project_id" + } + }, + { + "type": "textInput", + "label": "Service account", + "value": "serviceAccount", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Email Address", + "required": true, + "infoTooltip": "Inferred from client_email field in the credentials settings.", + "addInAccountSummary": true, + "readOnly": true, + "obtainValueFromField": { + "name": "credentials", + "key": "client_email" + } + } + ] + } + ] +} diff --git a/src/configurations/sources/bing_ads/db-config.json b/src/configurations/sources/bing_ads/db-config.json new file mode 100644 index 000000000..c9e77221e --- /dev/null +++ b/src/configurations/sources/bing_ads/db-config.json @@ -0,0 +1,5 @@ +{ + "name": "bing_ads", + "category": "cloud", + "displayName": "Bing ads" +} diff --git a/src/configurations/sources/bing_ads/metadata.json b/src/configurations/sources/bing_ads/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/bing_ads/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/bing_ads/schema.json b/src/configurations/sources/bing_ads/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/bing_ads/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/bing_ads/ui-config.json b/src/configurations/sources/bing_ads/ui-config.json new file mode 100644 index 000000000..9497b10b2 --- /dev/null +++ b/src/configurations/sources/bing_ads/ui-config.json @@ -0,0 +1,51 @@ +{ + "uiConfig": { + "auth": { + "type": "OAuth" + }, + "config": [ + { + "title": "Source Settings", + "fields": [ + { + "type": "dynamicSelect", + "method": "post", + "url": "/cloudSources/info/roles/bing_ads/info/accounts", + "label": "Customer Account", + "value": "customerAccountId", + "responseKey": "accounts", + "valueKey": "accountId", + "labelKey": "accountName", + "required": true + }, + { + "type": "dynamicSelect", + "method": "get", + "url": "/cloudSources/info/roles/bing_ads/info/reports", + "label": "Report Name", + "value": "report.name", + "responseKey": "reports", + "required": true + }, + { + "type": "dynamicSelect", + "method": "get", + "url": "/cloudSources/info/roles/bing_ads/info/columns/${preRequisiteValue}", + "label": "Report Columns", + "value": "report.columns", + "multiple": true, + "responseKey": "columns", + "valueKey": "name", + "labelKey": "name", + "required": true, + "mode": "multiple", + "preRequisiteField": { + "name": "report.name", + "includeValue": true + } + } + ] + } + ] + } +} diff --git a/src/configurations/sources/braze/db-config.json b/src/configurations/sources/braze/db-config.json new file mode 100644 index 000000000..b73683596 --- /dev/null +++ b/src/configurations/sources/braze/db-config.json @@ -0,0 +1,5 @@ +{ + "name": "Braze", + "category": "webhook", + "displayName": "Braze" +} diff --git a/src/configurations/sources/braze/metadata.json b/src/configurations/sources/braze/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/braze/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/braze/schema.json b/src/configurations/sources/braze/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/braze/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/data/sources/satismeter/ui_config.json b/src/configurations/sources/braze/ui-config.json similarity index 100% rename from data/sources/satismeter/ui_config.json rename to src/configurations/sources/braze/ui-config.json diff --git a/src/configurations/sources/canny/db-config.json b/src/configurations/sources/canny/db-config.json new file mode 100644 index 000000000..b3d081636 --- /dev/null +++ b/src/configurations/sources/canny/db-config.json @@ -0,0 +1,5 @@ +{ + "name": "canny", + "category": "webhook", + "displayName": "Canny" +} diff --git a/src/configurations/sources/canny/metadata.json b/src/configurations/sources/canny/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/canny/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/canny/schema.json b/src/configurations/sources/canny/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/canny/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/canny/ui-config.json b/src/configurations/sources/canny/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/canny/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/clickhouse/db-config.json b/src/configurations/sources/clickhouse/db-config.json new file mode 100644 index 000000000..c9d500e12 --- /dev/null +++ b/src/configurations/sources/clickhouse/db-config.json @@ -0,0 +1,8 @@ +{ + "name": "clickhouse", + "category": "warehouse", + "displayName": "ClickHouse", + "options": { + "isCredentialsValidationSupported": true + } +} diff --git a/src/configurations/sources/clickhouse/metadata.json b/src/configurations/sources/clickhouse/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/clickhouse/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/clickhouse/schema.json b/src/configurations/sources/clickhouse/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/clickhouse/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/clickhouse/ui-config.json b/src/configurations/sources/clickhouse/ui-config.json new file mode 100644 index 000000000..4f27dddae --- /dev/null +++ b/src/configurations/sources/clickhouse/ui-config.json @@ -0,0 +1,92 @@ +{ + "uiConfig": [ + { + "title": "Connection Credentials", + "secretFields": ["password"], + "docLinks": { + "jsonMapperUseInstructions": "https://docs.rudderstack.com/reverse-etl/clickhouse/#specifying-the-data-to-import", + "setupInstructions": "https://docs.rudderstack.com/reverse-etl/clickhouse" + }, + "nameField": "user", + "fields": [ + { + "type": "textInput", + "label": "Host", + "value": "host", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true, + "addInAccountSummary": true, + "trim": true + }, + { + "type": "textInput", + "label": "Port", + "inputFieldType": "number", + "value": "port", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true + }, + { + "type": "textInput", + "label": "Database", + "value": "dbname", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true, + "addInAccountSummary": true, + "trim": true + }, + { + "type": "textInput", + "label": "User", + "value": "user", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true, + "trim": true + }, + { + "type": "textInput", + "label": "Password", + "value": "password", + "inputFieldType": "password", + "regex": ".*", + "required": false, + "secret": true + }, + { + "type": "checkbox", + "label": "Secure", + "value": "secure", + "default": false + }, + { + "type": "checkbox", + "preRequisiteField": { + "name": "secure", + "selectedValue": true + }, + "label": "Skip verify", + "value": "skipVerify", + "default": false, + "footerNote": "If you are using self signed certificates set this field to true" + }, + { + "type": "textareaInput", + "preRequisiteField": { + "name": "secure", + "selectedValue": true + }, + "label": "CA certificate", + "value": "caCertificate", + "regex": ".*", + "required": false, + "placeholder": "CA Certificate", + "trim": true + } + ] + } + ] +} diff --git a/src/configurations/sources/cordova/db-config.json b/src/configurations/sources/cordova/db-config.json new file mode 100644 index 000000000..12c39f29e --- /dev/null +++ b/src/configurations/sources/cordova/db-config.json @@ -0,0 +1,4 @@ +{ + "name": "Cordova", + "displayName": "Cordova" +} diff --git a/src/configurations/sources/cordova/metadata.json b/src/configurations/sources/cordova/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/cordova/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/cordova/schema.json b/src/configurations/sources/cordova/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/cordova/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/cordova/ui-config.json b/src/configurations/sources/cordova/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/cordova/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/customerio/db-config.json b/src/configurations/sources/customerio/db-config.json new file mode 100644 index 000000000..1d9adf660 --- /dev/null +++ b/src/configurations/sources/customerio/db-config.json @@ -0,0 +1,5 @@ +{ + "name": "Customerio", + "category": "webhook", + "displayName": "Customerio" +} diff --git a/src/configurations/sources/customerio/metadata.json b/src/configurations/sources/customerio/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/customerio/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/customerio/schema.json b/src/configurations/sources/customerio/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/customerio/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/customerio/ui-config.json b/src/configurations/sources/customerio/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/customerio/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/databricks/db-config.json b/src/configurations/sources/databricks/db-config.json new file mode 100644 index 000000000..dcf354a1c --- /dev/null +++ b/src/configurations/sources/databricks/db-config.json @@ -0,0 +1,10 @@ +{ + "name": "databricks", + "category": "warehouse", + "displayName": "Databricks", + "options": { + "syncBehaviours": ["upsert"], + "isSqlModelSupported": false, + "hidden": true + } +} diff --git a/src/configurations/sources/databricks/metadata.json b/src/configurations/sources/databricks/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/databricks/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/databricks/schema.json b/src/configurations/sources/databricks/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/databricks/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/databricks/ui-config.json b/src/configurations/sources/databricks/ui-config.json new file mode 100644 index 000000000..4f8d7c2e0 --- /dev/null +++ b/src/configurations/sources/databricks/ui-config.json @@ -0,0 +1,57 @@ +{ + "uiConfig": [ + { + "title": "Connection Credentials", + "secretFields": ["token"], + "docLinks": { + "grantPermissions": "https://www.rudderstack.com/docs/reverse-etl/databricks/#granting-permissions", + "verifyingCredentials": "https://www.rudderstack.com/docs/reverse-etl/databricks/#what-do-the-three-validations-under-verifying-credentials-imply", + "jsonMapperUseInstructions": "https://www.rudderstack.com/docs/reverse-etl/databricks/#specifying-the-data-to-import", + "setupInstructions": "https://www.rudderstack.com/docs/reverse-etl/databricks" + }, + "nameField": "host", + "fields": [ + { + "type": "textInput", + "label": "Host", + "value": "host", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true, + "addInAccountSummary": true, + "trim": true + }, + { + "type": "textInput", + "label": "Port", + "value": "port", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true, + "addInAccountSummary": false, + "inputFieldType": "number" + }, + { + "type": "textInput", + "label": "Path", + "value": "path", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true, + "addInAccountSummary": true, + "trim": true + }, + { + "type": "textInput", + "label": "Token", + "value": "token", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true, + "addInAccountSummary": false, + "secret": true + } + ] + } + ] +} diff --git a/src/configurations/sources/dotnet/db-config.json b/src/configurations/sources/dotnet/db-config.json new file mode 100644 index 000000000..29eb39740 --- /dev/null +++ b/src/configurations/sources/dotnet/db-config.json @@ -0,0 +1,4 @@ +{ + "name": "DotNet", + "displayName": ".Net" +} diff --git a/src/configurations/sources/dotnet/metadata.json b/src/configurations/sources/dotnet/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/dotnet/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/dotnet/schema.json b/src/configurations/sources/dotnet/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/dotnet/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/dotnet/ui-config.json b/src/configurations/sources/dotnet/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/dotnet/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/extole/db-config.json b/src/configurations/sources/extole/db-config.json new file mode 100644 index 000000000..84166498c --- /dev/null +++ b/src/configurations/sources/extole/db-config.json @@ -0,0 +1,5 @@ +{ + "name": "Extole", + "category": "webhook", + "displayName": "Extole" +} diff --git a/src/configurations/sources/extole/metadata.json b/src/configurations/sources/extole/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/extole/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/extole/schema.json b/src/configurations/sources/extole/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/extole/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/extole/ui-config.json b/src/configurations/sources/extole/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/extole/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/data/sources/facebook_ads/db_config.json b/src/configurations/sources/facebook_ads/db-config.json similarity index 100% rename from data/sources/facebook_ads/db_config.json rename to src/configurations/sources/facebook_ads/db-config.json diff --git a/src/configurations/sources/facebook_ads/metadata.json b/src/configurations/sources/facebook_ads/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/facebook_ads/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/facebook_ads/schema.json b/src/configurations/sources/facebook_ads/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/facebook_ads/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/facebook_ads/ui-config.json b/src/configurations/sources/facebook_ads/ui-config.json new file mode 100644 index 000000000..f8095e692 --- /dev/null +++ b/src/configurations/sources/facebook_ads/ui-config.json @@ -0,0 +1,109 @@ +{ + "uiConfig": { + "auth": { + "type": "OAuth" + }, + "config": [ + { + "title": "Source Settings", + "fields": [ + { + "type": "dynamicSelect", + "method": "post", + "url": "/cloudSources/info/roles/facebook_ads/info/accounts", + "label": "Page", + "labelKey": "name", + "valueKey": "account_id", + "value": "account_id", + "responseKey": "data", + "required": true + }, + { + "type": "singleSelect", + "label": "Historical data", + "value": "first_time_date_preset", + "options": [ + { + "name": "Last 2 years", + "value": "last_2_years" + }, + { + "name": "Last 1 year", + "value": "last_1_year" + }, + { + "name": "Last 6 months", + "value": "last_6_months" + }, + { + "name": "Last 90 days", + "value": "last_90_days" + }, + { + "name": "Last 30 days", + "value": "last_30_days" + }, + { + "name": "Last 28 days", + "value": "last_28_days" + }, + { + "name": "Last 14 days", + "value": "last_14_days" + }, + { + "name": "Last 7 days", + "value": "last_7_days" + }, + { + "name": "Last 3 days", + "value": "last_3_days" + } + ], + "defaultOption": { + "name": "Last 14 days", + "value": "last_14_days" + }, + "required": true + }, + { + "type": "singleSelect", + "label": "Attribution window", + "value": "date_preset", + "options": [ + { + "name": "Last 90 days", + "value": "last_90_days" + }, + { + "name": "Last 30 days", + "value": "last_30_days" + }, + { + "name": "Last 28 days", + "value": "last_28_days" + }, + { + "name": "Last 14 days", + "value": "last_14_days" + }, + { + "name": "Last 7 days", + "value": "last_7_days" + }, + { + "name": "Last 3 days", + "value": "last_3_days" + } + ], + "defaultOption": { + "name": "Last 3 days", + "value": "last_3_days" + }, + "required": true + } + ] + } + ] + } +} diff --git a/src/configurations/sources/flutter/db-config.json b/src/configurations/sources/flutter/db-config.json new file mode 100644 index 000000000..edb160934 --- /dev/null +++ b/src/configurations/sources/flutter/db-config.json @@ -0,0 +1,4 @@ +{ + "name": "Flutter", + "displayName": "Flutter" +} diff --git a/src/configurations/sources/flutter/metadata.json b/src/configurations/sources/flutter/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/flutter/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/flutter/schema.json b/src/configurations/sources/flutter/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/flutter/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/flutter/ui-config.json b/src/configurations/sources/flutter/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/flutter/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/freshdesk/db-config.json b/src/configurations/sources/freshdesk/db-config.json new file mode 100644 index 000000000..a58918234 --- /dev/null +++ b/src/configurations/sources/freshdesk/db-config.json @@ -0,0 +1,8 @@ +{ + "name": "freshdesk", + "category": "cloud", + "displayName": "Freshdesk", + "options": { + "hidden": true + } +} diff --git a/src/configurations/sources/freshdesk/metadata.json b/src/configurations/sources/freshdesk/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/freshdesk/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/freshdesk/schema.json b/src/configurations/sources/freshdesk/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/freshdesk/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/freshdesk/ui-config.json b/src/configurations/sources/freshdesk/ui-config.json new file mode 100644 index 000000000..76940eaa0 --- /dev/null +++ b/src/configurations/sources/freshdesk/ui-config.json @@ -0,0 +1,35 @@ +{ + "uiConfig": { + "auth": { + "type": "form", + "secretFields": ["apiKey"], + "nameField": "rudder_account_name", + "config": [ + { + "fields": [ + { + "type": "textInput", + "label": "Account Name", + "value": "rudder_account_name", + "regex": ".*", + "required": true, + "placeholder": "e.g: account name" + }, + { + "type": "textInput", + "label": "Subdomain", + "value": "subdomain", + "required": true + }, + { + "type": "textInput", + "label": "API Key", + "value": "apiKey", + "required": true + } + ] + } + ] + } + } +} diff --git a/src/configurations/sources/go/db-config.json b/src/configurations/sources/go/db-config.json new file mode 100644 index 000000000..5566be666 --- /dev/null +++ b/src/configurations/sources/go/db-config.json @@ -0,0 +1,4 @@ +{ + "name": "Go", + "displayName": "Go" +} diff --git a/src/configurations/sources/go/metadata.json b/src/configurations/sources/go/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/go/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/go/schema.json b/src/configurations/sources/go/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/go/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/go/ui-config.json b/src/configurations/sources/go/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/go/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/google_adwords/db-config.json b/src/configurations/sources/google_adwords/db-config.json new file mode 100644 index 000000000..6b092c4b7 --- /dev/null +++ b/src/configurations/sources/google_adwords/db-config.json @@ -0,0 +1,8 @@ +{ + "name": "google_adwords", + "category": "cloud", + "displayName": "Google AdWords", + "options": { + "hidden": true + } +} diff --git a/src/configurations/sources/google_adwords/metadata.json b/src/configurations/sources/google_adwords/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/google_adwords/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/google_adwords/schema.json b/src/configurations/sources/google_adwords/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/google_adwords/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/google_adwords/ui-config.json b/src/configurations/sources/google_adwords/ui-config.json new file mode 100644 index 000000000..4f8584c30 --- /dev/null +++ b/src/configurations/sources/google_adwords/ui-config.json @@ -0,0 +1,63 @@ +{ + "uiConfig": { + "auth": { + "type": "OAuth" + }, + "config": [ + { + "title": "Source Settings", + "fields": [ + { + "type": "dynamicSelect", + "method": "post", + "url": "/cloudSources/info/roles/google_adwords/info/customerIds", + "label": "Customer ID", + "labelKey": "name", + "valueKey": "id", + "value": "customerId", + "required": true + }, + { + "type": "datePicker", + "label": "Start date", + "value": "startDate", + "format": "YYYY-MM-DD", + "required": true + }, + { + "type": "singleSelect", + "label": "Conversion window", + "value": "conversionWindow", + "options": [ + { + "name": "Last 30 days", + "value": 30 + }, + { + "name": "Last 28 days", + "value": 28 + }, + { + "name": "Last 14 days", + "value": 14 + }, + { + "name": "Last 7 days", + "value": 7 + }, + { + "name": "Last 3 days", + "value": 3 + } + ], + "defaultOption": { + "name": "Last 30 days", + "value": 30 + }, + "required": true + } + ] + } + ] + } +} diff --git a/src/configurations/sources/google_analytics/db-config.json b/src/configurations/sources/google_analytics/db-config.json new file mode 100644 index 000000000..6b69f2149 --- /dev/null +++ b/src/configurations/sources/google_analytics/db-config.json @@ -0,0 +1,8 @@ +{ + "name": "google_analytics", + "category": "cloud", + "displayName": "Google Analytics", + "options": { + "hidden": true + } +} diff --git a/src/configurations/sources/google_analytics/metadata.json b/src/configurations/sources/google_analytics/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/google_analytics/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/google_analytics/schema.json b/src/configurations/sources/google_analytics/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/google_analytics/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/google_analytics/ui-config.json b/src/configurations/sources/google_analytics/ui-config.json new file mode 100644 index 000000000..c09038ace --- /dev/null +++ b/src/configurations/sources/google_analytics/ui-config.json @@ -0,0 +1,74 @@ +{ + "uiConfig": { + "auth": { + "type": "OAuth" + }, + "config": [ + { + "title": "Source Settings", + "fields": [ + { + "type": "dynamicSelect", + "method": "post", + "url": "/cloudSources/info/roles/google_analytics/info/views", + "label": "View", + "labelKey": "name", + "valueKey": "id", + "responseKey": "views", + "value": "viewId", + "required": true + }, + { + "type": "dynamicSelect", + "method": "post", + "url": "/cloudSources/info/roles/google_analytics/info/columns", + "label": "Dimensions", + "labelKey": "name", + "valueKey": "id", + "responseKey": "dimensions", + "value": "dimensions", + "required": true, + "preRequisiteField": { + "name": "viewId", + "includeValue": true, + "includeToRequest": { + "transformKey": "id" + } + }, + "mode": "multiple" + }, + { + "type": "dynamicSelect", + "method": "post", + "url": "/cloudSources/info/roles/google_analytics/info/columns", + "label": "Metrics", + "labelKey": "name", + "valueKey": "id", + "responseKey": "metrics", + "value": "metrics", + "required": true, + "preRequisiteField": { + "name": "viewId", + "includeValue": true, + "includeToRequest": { + "transformKey": "id" + } + }, + "mode": "multiple" + }, + { + "type": "datePicker", + "label": "Start from date", + "value": "dateSince", + "format": "YYYY-MM-DD", + "description": "Earliest report date", + "preRequisiteField": { + "name": "viewId" + }, + "required": true + } + ] + } + ] + } +} diff --git a/src/configurations/sources/google_search_console/db-config.json b/src/configurations/sources/google_search_console/db-config.json new file mode 100644 index 000000000..ef9d258ed --- /dev/null +++ b/src/configurations/sources/google_search_console/db-config.json @@ -0,0 +1,8 @@ +{ + "name": "google_search_console", + "category": "cloud", + "displayName": "Google Search Console", + "options": { + "hidden": true + } +} diff --git a/src/configurations/sources/google_search_console/metadata.json b/src/configurations/sources/google_search_console/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/google_search_console/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/google_search_console/schema.json b/src/configurations/sources/google_search_console/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/google_search_console/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/google_search_console/ui-config.json b/src/configurations/sources/google_search_console/ui-config.json new file mode 100644 index 000000000..98e8b9c08 --- /dev/null +++ b/src/configurations/sources/google_search_console/ui-config.json @@ -0,0 +1,48 @@ +{ + "uiConfig": { + "auth": { + "type": "OAuth" + }, + "config": [ + { + "title": "Source Settings", + "fields": [ + { + "type": "textInput", + "label": "Site URL", + "value": "siteUrl", + "required": true + }, + { + "type": "singleSelect", + "label": "Dimensions", + "value": "date_preset", + "mode": "multiple", + "options": [ + { + "name": "country", + "value": "country" + }, + { + "name": "device", + "value": "device" + }, + { + "name": "page", + "value": "page" + } + ], + "required": true + }, + { + "type": "datePicker", + "label": "Start from date", + "value": "dateSince", + "format": "YYYY-MM-DD", + "required": true + } + ] + } + ] + } +} diff --git a/src/configurations/sources/google_sheets/db-config.json b/src/configurations/sources/google_sheets/db-config.json new file mode 100644 index 000000000..a683e17f2 --- /dev/null +++ b/src/configurations/sources/google_sheets/db-config.json @@ -0,0 +1,5 @@ +{ + "name": "google_sheets", + "category": "cloud", + "displayName": "Google Sheets" +} diff --git a/src/configurations/sources/google_sheets/metadata.json b/src/configurations/sources/google_sheets/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/google_sheets/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/google_sheets/schema.json b/src/configurations/sources/google_sheets/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/google_sheets/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/google_sheets/ui-config.json b/src/configurations/sources/google_sheets/ui-config.json new file mode 100644 index 000000000..57378f01b --- /dev/null +++ b/src/configurations/sources/google_sheets/ui-config.json @@ -0,0 +1,66 @@ +{ + "uiConfig": { + "auth": { + "type": "OAuth" + }, + "config": [ + { + "title": "Source Settings", + "fields": [ + { + "type": "dynamicSelect", + "method": "post", + "url": "/cloudSources/info/roles/google_sheets/info/sheets", + "label": "SpreadSheet", + "labelKey": "filename", + "valueKey": "id", + "responseKey": "sheets", + "value": "spreadsheet", + "showSearch": true, + "required": true + }, + { + "type": "dynamicSelect", + "label": "Worksheet", + "value": "worksheet", + "responseKey": "sheets", + "showSearch": true, + "valueKey": "properties.title", + "labelKey": "properties.title", + "method": "post", + "url": "/cloudSources/info/roles/google_sheets/info/sheets/${preRequisiteValue}", + "required": true, + "preRequisiteField": { + "name": "spreadsheet", + "includeValue": true + } + }, + { + "type": "textInput", + "label": "Header row", + "inputFieldType": "number", + "value": "header_offset", + "default": 1, + "min": 1, + "required": true, + "disabledNormalMode": true, + "preRequisiteField": { + "name": "spreadsheet" + } + }, + { + "type": "textInput", + "inputFieldType": "number", + "min": 1, + "label": "First data row", + "value": "top_row_offset", + "disabledNormalMode": true, + "preRequisiteField": { + "name": "spreadsheet" + } + } + ] + } + ] + } +} diff --git a/src/configurations/sources/http/db-config.json b/src/configurations/sources/http/db-config.json new file mode 100644 index 000000000..5c94af8c3 --- /dev/null +++ b/src/configurations/sources/http/db-config.json @@ -0,0 +1,4 @@ +{ + "name": "HTTP", + "displayName": "HTTP" +} diff --git a/src/configurations/sources/http/metadata.json b/src/configurations/sources/http/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/http/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/http/schema.json b/src/configurations/sources/http/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/http/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/http/ui-config.json b/src/configurations/sources/http/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/http/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/hubspot/db-config.json b/src/configurations/sources/hubspot/db-config.json new file mode 100644 index 000000000..0695d3f7a --- /dev/null +++ b/src/configurations/sources/hubspot/db-config.json @@ -0,0 +1,8 @@ +{ + "name": "hubspot", + "category": "cloud", + "displayName": "Hubspot", + "options": { + "hidden": true + } +} diff --git a/src/configurations/sources/hubspot/metadata.json b/src/configurations/sources/hubspot/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/hubspot/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/hubspot/schema.json b/src/configurations/sources/hubspot/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/hubspot/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/hubspot/ui-config.json b/src/configurations/sources/hubspot/ui-config.json new file mode 100644 index 000000000..ecf87872d --- /dev/null +++ b/src/configurations/sources/hubspot/ui-config.json @@ -0,0 +1,33 @@ +{ + "uiConfig": { + "auth": { + "type": "OAuth", + "config": [ + { + "fields": [ + { + "type": "singleSelect", + "label": "Hubspot software", + "value": "role", + "required": true, + "options": [ + { + "name": "Marketing", + "value": "hubspot" + }, + { + "name": "CRM", + "value": "hubspot_crm" + } + ], + "defaultOption": { + "name": "Marketing", + "value": "hubspot" + } + } + ] + } + ] + } + } +} diff --git a/src/configurations/sources/hubspot_crm/db-config.json b/src/configurations/sources/hubspot_crm/db-config.json new file mode 100644 index 000000000..c1c9194ff --- /dev/null +++ b/src/configurations/sources/hubspot_crm/db-config.json @@ -0,0 +1,8 @@ +{ + "name": "hubspot_crm", + "category": "cloud", + "displayName": "Hubspot CRM", + "options": { + "hidden": true + } +} diff --git a/src/configurations/sources/hubspot_crm/metadata.json b/src/configurations/sources/hubspot_crm/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/hubspot_crm/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/hubspot_crm/schema.json b/src/configurations/sources/hubspot_crm/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/hubspot_crm/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/hubspot_crm/ui-config.json b/src/configurations/sources/hubspot_crm/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/hubspot_crm/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/intercom/db-config.json b/src/configurations/sources/intercom/db-config.json new file mode 100644 index 000000000..45c31382a --- /dev/null +++ b/src/configurations/sources/intercom/db-config.json @@ -0,0 +1,8 @@ +{ + "name": "intercom", + "category": "cloud", + "displayName": "Intercom", + "options": { + "hidden": true + } +} diff --git a/src/configurations/sources/intercom/metadata.json b/src/configurations/sources/intercom/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/intercom/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/intercom/schema.json b/src/configurations/sources/intercom/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/intercom/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/intercom/ui-config.json b/src/configurations/sources/intercom/ui-config.json new file mode 100644 index 000000000..a5ba1b3e2 --- /dev/null +++ b/src/configurations/sources/intercom/ui-config.json @@ -0,0 +1,7 @@ +{ + "uiConfig": { + "auth": { + "type": "OAuth" + } + } +} diff --git a/src/configurations/sources/ios/db-config.json b/src/configurations/sources/ios/db-config.json new file mode 100644 index 000000000..2d62f7c24 --- /dev/null +++ b/src/configurations/sources/ios/db-config.json @@ -0,0 +1,4 @@ +{ + "name": "iOS", + "displayName": "iOS" +} diff --git a/src/configurations/sources/ios/metadata.json b/src/configurations/sources/ios/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/ios/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/ios/schema.json b/src/configurations/sources/ios/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/ios/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/ios/ui-config.json b/src/configurations/sources/ios/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/ios/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/iterable/db-config.json b/src/configurations/sources/iterable/db-config.json new file mode 100644 index 000000000..1e28ced19 --- /dev/null +++ b/src/configurations/sources/iterable/db-config.json @@ -0,0 +1,5 @@ +{ + "name": "iterable", + "category": "webhook", + "displayName": "Iterable" +} diff --git a/src/configurations/sources/iterable/metadata.json b/src/configurations/sources/iterable/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/iterable/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/iterable/schema.json b/src/configurations/sources/iterable/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/iterable/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/iterable/ui-config.json b/src/configurations/sources/iterable/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/iterable/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/java/db-config.json b/src/configurations/sources/java/db-config.json new file mode 100644 index 000000000..fa2c20a87 --- /dev/null +++ b/src/configurations/sources/java/db-config.json @@ -0,0 +1,4 @@ +{ + "name": "Java", + "displayName": "Java" +} diff --git a/src/configurations/sources/java/metadata.json b/src/configurations/sources/java/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/java/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/java/schema.json b/src/configurations/sources/java/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/java/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/java/ui-config.json b/src/configurations/sources/java/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/java/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/javascript/db-config.json b/src/configurations/sources/javascript/db-config.json new file mode 100644 index 000000000..0fd3d6912 --- /dev/null +++ b/src/configurations/sources/javascript/db-config.json @@ -0,0 +1,4 @@ +{ + "name": "Javascript", + "displayName": "Javascript" +} diff --git a/src/configurations/sources/javascript/metadata.json b/src/configurations/sources/javascript/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/javascript/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/javascript/schema.json b/src/configurations/sources/javascript/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/javascript/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/javascript/ui-config.json b/src/configurations/sources/javascript/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/javascript/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/looker/db-config.json b/src/configurations/sources/looker/db-config.json new file mode 100644 index 000000000..e827cd393 --- /dev/null +++ b/src/configurations/sources/looker/db-config.json @@ -0,0 +1,4 @@ +{ + "name": "Looker", + "displayName": "Looker" +} diff --git a/src/configurations/sources/looker/metadata.json b/src/configurations/sources/looker/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/looker/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/looker/schema.json b/src/configurations/sources/looker/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/looker/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/looker/ui-config.json b/src/configurations/sources/looker/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/looker/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/mailchimp/db-config.json b/src/configurations/sources/mailchimp/db-config.json new file mode 100644 index 000000000..1eb1548be --- /dev/null +++ b/src/configurations/sources/mailchimp/db-config.json @@ -0,0 +1,5 @@ +{ + "name": "mailchimp", + "category": "cloud", + "displayName": "Mailchimp" +} diff --git a/src/configurations/sources/mailchimp/metadata.json b/src/configurations/sources/mailchimp/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/mailchimp/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/mailchimp/schema.json b/src/configurations/sources/mailchimp/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/mailchimp/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/mailchimp/ui-config.json b/src/configurations/sources/mailchimp/ui-config.json new file mode 100644 index 000000000..1d07598c0 --- /dev/null +++ b/src/configurations/sources/mailchimp/ui-config.json @@ -0,0 +1,49 @@ +{ + "uiConfig": { + "auth": { + "type": "OAuth" + }, + "config": [ + { + "title": "Source Settings", + "fields": [ + { + "type": "singleSelect", + "label": "Earliest campaign year", + "value": "firstTimeFetchCampaignsSinceYear", + "footerNote": "Fetch monthly reports starting from this year.", + "required": true, + "options": [2020, 2019, 2018, 2017, 2016, 2015], + "default": 2019 + }, + { + "type": "singleSelect", + "label": "Campaign fetch period", + "value": "fetchCampaignsDaysAgo", + "footerNote": "Starting month for each monthly report.", + "required": true, + "options": [ + { + "name": "1 day", + "value": 1 + }, + { + "name": "1 week", + "value": 7 + }, + { + "name": "2 weeks", + "value": 14 + }, + { + "name": "1 month", + "value": 30 + } + ], + "default": 1 + } + ] + } + ] + } +} diff --git a/data/sources/mailjet/db_config.json b/src/configurations/sources/mailjet/db-config.json similarity index 100% rename from data/sources/mailjet/db_config.json rename to src/configurations/sources/mailjet/db-config.json diff --git a/src/configurations/sources/mailjet/metadata.json b/src/configurations/sources/mailjet/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/mailjet/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/mailjet/schema.json b/src/configurations/sources/mailjet/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/mailjet/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/mailjet/ui-config.json b/src/configurations/sources/mailjet/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/mailjet/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/mailmodo/db-config.json b/src/configurations/sources/mailmodo/db-config.json new file mode 100644 index 000000000..ef4a8b24c --- /dev/null +++ b/src/configurations/sources/mailmodo/db-config.json @@ -0,0 +1,5 @@ +{ + "name": "mailmodo", + "category": "webhook", + "displayName": "Mailmodo" +} diff --git a/src/configurations/sources/mailmodo/metadata.json b/src/configurations/sources/mailmodo/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/mailmodo/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/mailmodo/schema.json b/src/configurations/sources/mailmodo/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/mailmodo/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/mailmodo/ui-config.json b/src/configurations/sources/mailmodo/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/mailmodo/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/marketo/db-config.json b/src/configurations/sources/marketo/db-config.json new file mode 100644 index 000000000..a35162892 --- /dev/null +++ b/src/configurations/sources/marketo/db-config.json @@ -0,0 +1,5 @@ +{ + "name": "marketo", + "category": "cloud", + "displayName": "Marketo" +} diff --git a/src/configurations/sources/marketo/metadata.json b/src/configurations/sources/marketo/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/marketo/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/marketo/schema.json b/src/configurations/sources/marketo/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/marketo/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/marketo/ui-config.json b/src/configurations/sources/marketo/ui-config.json new file mode 100644 index 000000000..ba0c0428d --- /dev/null +++ b/src/configurations/sources/marketo/ui-config.json @@ -0,0 +1,67 @@ +{ + "uiConfig": { + "auth": { + "type": "form", + "secretFields": ["clientSecret"], + "nameField": "rudder_account_name", + "config": [ + { + "fields": [ + { + "type": "textInput", + "label": "Account Name", + "value": "rudder_account_name", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true, + "placeholder": "e.g: account name" + }, + { + "type": "textInput", + "label": "Marketo Client ID", + "value": "clientId", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true, + "placeholder": "e.g: client id" + }, + { + "type": "textInput", + "label": "Marketo Client Secret", + "value": "clientSecret", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true, + "placeholder": "e.g: client secret", + "secret": true + }, + { + "type": "textInput", + "label": "Marketo Munchkin Account ID", + "value": "munchkinId", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true, + "placeholder": "e.g: munchkin account id", + "secret": true + } + ] + } + ] + }, + "config": [ + { + "title": "Source Settings", + "fields": [ + { + "type": "datePicker", + "label": "Start date", + "value": "startDate", + "format": "YYYY-MM-DD", + "required": true + } + ] + } + ] + } +} diff --git a/src/configurations/sources/mixpanel/db-config.json b/src/configurations/sources/mixpanel/db-config.json new file mode 100644 index 000000000..67d99f770 --- /dev/null +++ b/src/configurations/sources/mixpanel/db-config.json @@ -0,0 +1,8 @@ +{ + "name": "mixpanel", + "category": "cloud", + "displayName": "Mixpanel", + "options": { + "hidden": true + } +} diff --git a/src/configurations/sources/mixpanel/metadata.json b/src/configurations/sources/mixpanel/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/mixpanel/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/mixpanel/schema.json b/src/configurations/sources/mixpanel/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/mixpanel/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/mixpanel/ui-config.json b/src/configurations/sources/mixpanel/ui-config.json new file mode 100644 index 000000000..51d151461 --- /dev/null +++ b/src/configurations/sources/mixpanel/ui-config.json @@ -0,0 +1,464 @@ +{ + "uiConfig": { + "auth": { + "type": "form", + "secretFields": ["apisecret"], + "nameField": "rudder_account_name", + "config": [ + { + "fields": [ + { + "type": "textInput", + "label": "Account Name", + "value": "rudder_account_name", + "regex": ".*", + "required": true, + "placeholder": "e.g: account name" + }, + { + "type": "textInput", + "label": "API Key", + "value": "apikey", + "required": true + }, + { + "type": "textInput", + "label": "API Secret", + "value": "apisecret", + "required": true + }, + { + "type": "singleSelect", + "showSearch": true, + "label": "Project timezone", + "value": "timezone", + "required": true, + "options": [ + "US/Alaska", + "US/Arizona", + "US/Central", + "US/Eastern", + "US/Hawaii", + "US/Mountain", + "US/Pacific", + "Africa/Abidjan", + "Africa/Accra", + "Africa/Addis_Ababa", + "Africa/Algiers", + "Africa/Asmara", + "Africa/Bamako", + "Africa/Bangui", + "Africa/Banjul", + "Africa/Bissau", + "Africa/Blantyre", + "Africa/Brazzaville", + "Africa/Bujumbura", + "Africa/Cairo", + "Africa/Casablanca", + "Africa/Ceuta", + "Africa/Conakry", + "Africa/Dakar", + "Africa/Dar_es_Salaam", + "Africa/Djibouti", + "Africa/Douala", + "Africa/El_Aaiun", + "Africa/Freetown", + "Africa/Gaborone", + "Africa/Harare", + "Africa/Johannesburg", + "Africa/Kampala", + "Africa/Khartoum", + "Africa/Kigali", + "Africa/Kinshasa", + "Africa/Lagos", + "Africa/Libreville", + "Africa/Lome", + "Africa/Luanda", + "Africa/Lubumbashi", + "Africa/Lusaka", + "Africa/Malabo", + "Africa/Maputo", + "Africa/Maseru", + "Africa/Mbabane", + "Africa/Mogadishu", + "Africa/Monrovia", + "Africa/Nairobi", + "Africa/Ndjamena", + "Africa/Niamey", + "Africa/Nouakchott", + "Africa/Ouagadougou", + "Africa/Porto-Novo", + "Africa/Sao_Tome", + "Africa/Tripoli", + "Africa/Tunis", + "Africa/Windhoek", + "America/Adak", + "America/Anchorage", + "America/Anguilla", + "America/Antigua", + "America/Araguaina", + "America/Argentina/Buenos_Aires", + "America/Argentina/Catamarca", + "America/Argentina/Cordoba", + "America/Argentina/Jujuy", + "America/Argentina/La_Rioja", + "America/Argentina/Mendoza", + "America/Argentina/Rio_Gallegos", + "America/Argentina/Salta", + "America/Argentina/San_Juan", + "America/Argentina/San_Luis", + "America/Argentina/Tucuman", + "America/Argentina/Ushuaia", + "America/Aruba", + "America/Asuncion", + "America/Atikokan", + "America/Bahia", + "America/Bahia_Banderas", + "America/Barbados", + "America/Belem", + "America/Belize", + "America/Blanc-Sablon", + "America/Boa_Vista", + "America/Bogota", + "America/Boise", + "America/Cambridge_Bay", + "America/Campo_Grande", + "America/Cancun", + "America/Caracas", + "America/Cayenne", + "America/Cayman", + "America/Chicago", + "America/Chihuahua", + "America/Costa_Rica", + "America/Cuiaba", + "America/Curacao", + "America/Danmarkshavn", + "America/Dawson", + "America/Dawson_Creek", + "America/Denver", + "America/Detroit", + "America/Dominica", + "America/Edmonton", + "America/Eirunepe", + "America/El_Salvador", + "America/Fortaleza", + "America/Glace_Bay", + "America/Godthab", + "America/Goose_Bay", + "America/Grand_Turk", + "America/Grenada", + "America/Guadeloupe", + "America/Guatemala", + "America/Guayaquil", + "America/Guyana", + "America/Halifax", + "America/Havana", + "America/Hermosillo", + "America/Indiana/Indianapolis", + "America/Indiana/Knox", + "America/Indiana/Marengo", + "America/Indiana/Petersburg", + "America/Indiana/Tell_City", + "America/Indiana/Vevay", + "America/Indiana/Vincennes", + "America/Indiana/Winamac", + "America/Inuvik", + "America/Iqaluit", + "America/Jamaica", + "America/Juneau", + "America/Kentucky/Louisville", + "America/Kentucky/Monticello", + "America/La_Paz", + "America/Lima", + "America/Los_Angeles", + "America/Maceio", + "America/Managua", + "America/Manaus", + "America/Martinique", + "America/Matamoros", + "America/Mazatlan", + "America/Menominee", + "America/Merida", + "America/Mexico_City", + "America/Miquelon", + "America/Moncton", + "America/Monterrey", + "America/Montevideo", + "America/Montreal", + "America/Montserrat", + "America/Nassau", + "America/New_York", + "America/Nipigon", + "America/Nome", + "America/Noronha", + "America/North_Dakota/Center", + "America/North_Dakota/New_Salem", + "America/Ojinaga", + "America/Panama", + "America/Pangnirtung", + "America/Paramaribo", + "America/Phoenix", + "America/Port-au-Prince", + "America/Porto_Velho", + "America/Port_of_Spain", + "America/Puerto_Rico", + "America/Rainy_River", + "America/Rankin_Inlet", + "America/Recife", + "America/Regina", + "America/Resolute", + "America/Rio_Branco", + "America/Santarem", + "America/Santa_Isabel", + "America/Santiago", + "America/Santo_Domingo", + "America/Sao_Paulo", + "America/Scoresbysund", + "America/St_Johns", + "America/St_Kitts", + "America/St_Lucia", + "America/St_Thomas", + "America/St_Vincent", + "America/Swift_Current", + "America/Tegucigalpa", + "America/Thule", + "America/Thunder_Bay", + "America/Tijuana", + "America/Toronto", + "America/Tortola", + "America/Vancouver", + "America/Whitehorse", + "America/Winnipeg", + "America/Yakutat", + "America/Yellowknife", + "Antarctica/Casey", + "Antarctica/Davis", + "Antarctica/DumontDUrville", + "Antarctica/Macquarie", + "Antarctica/Mawson", + "Antarctica/McMurdo", + "Antarctica/Palmer", + "Antarctica/Rothera", + "Antarctica/Syowa", + "Antarctica/Vostok", + "Asia/Aden", + "Asia/Almaty", + "Asia/Amman", + "Asia/Anadyr", + "Asia/Aqtau", + "Asia/Aqtobe", + "Asia/Ashgabat", + "Asia/Baghdad", + "Asia/Bahrain", + "Asia/Baku", + "Asia/Bangkok", + "Asia/Beirut", + "Asia/Bishkek", + "Asia/Brunei", + "Asia/Choibalsan", + "Asia/Chongqing", + "Asia/Colombo", + "Asia/Damascus", + "Asia/Dhaka", + "Asia/Dili", + "Asia/Dubai", + "Asia/Dushanbe", + "Asia/Gaza", + "Asia/Harbin", + "Asia/Hong_Kong", + "Asia/Hovd", + "Asia/Ho_Chi_Minh", + "Asia/Irkutsk", + "Asia/Jakarta", + "Asia/Jayapura", + "Asia/Jerusalem", + "Asia/Kabul", + "Asia/Kamchatka", + "Asia/Karachi", + "Asia/Kashgar", + "Asia/Kathmandu", + "Asia/Kolkata", + "Asia/Krasnoyarsk", + "Asia/Kuala_Lumpur", + "Asia/Kuching", + "Asia/Kuwait", + "Asia/Macau", + "Asia/Magadan", + "Asia/Makassar", + "Asia/Manila", + "Asia/Muscat", + "Asia/Nicosia", + "Asia/Novokuznetsk", + "Asia/Novosibirsk", + "Asia/Omsk", + "Asia/Oral", + "Asia/Phnom_Penh", + "Asia/Pontianak", + "Asia/Pyongyang", + "Asia/Qatar", + "Asia/Qyzylorda", + "Asia/Rangoon", + "Asia/Riyadh", + "Asia/Sakhalin", + "Asia/Samarkand", + "Asia/Seoul", + "Asia/Shanghai", + "Asia/Singapore", + "Asia/Taipei", + "Asia/Tashkent", + "Asia/Tbilisi", + "Asia/Tehran", + "Asia/Thimphu", + "Asia/Tokyo", + "Asia/Ulaanbaatar", + "Asia/Urumqi", + "Asia/Vientiane", + "Asia/Vladivostok", + "Asia/Yakutsk", + "Asia/Yekaterinburg", + "Asia/Yerevan", + "Atlantic/Azores", + "Atlantic/Bermuda", + "Atlantic/Canary", + "Atlantic/Cape_Verde", + "Atlantic/Faroe", + "Atlantic/Madeira", + "Atlantic/Reykjavik", + "Atlantic/South_Georgia", + "Atlantic/Stanley", + "Atlantic/St_Helena", + "Australia/Adelaide", + "Australia/Brisbane", + "Australia/Broken_Hill", + "Australia/Currie", + "Australia/Darwin", + "Australia/Eucla", + "Australia/Hobart", + "Australia/Lindeman", + "Australia/Lord_Howe", + "Australia/Melbourne", + "Australia/Perth", + "Australia/Sydney", + "Canada/Atlantic", + "Canada/Central", + "Canada/Eastern", + "Canada/Mountain", + "Canada/Newfoundland", + "Canada/Pacific", + "Europe/Amsterdam", + "Europe/Andorra", + "Europe/Athens", + "Europe/Belgrade", + "Europe/Berlin", + "Europe/Brussels", + "Europe/Bucharest", + "Europe/Budapest", + "Europe/Chisinau", + "Europe/Copenhagen", + "Europe/Dublin", + "Europe/Gibraltar", + "Europe/Helsinki", + "Europe/Istanbul", + "Europe/Kaliningrad", + "Europe/Kiev", + "Europe/Lisbon", + "Europe/London", + "Europe/Luxembourg", + "Europe/Madrid", + "Europe/Malta", + "Europe/Minsk", + "Europe/Monaco", + "Europe/Moscow", + "Europe/Oslo", + "Europe/Paris", + "Europe/Prague", + "Europe/Riga", + "Europe/Rome", + "Europe/Samara", + "Europe/Simferopol", + "Europe/Sofia", + "Europe/Stockholm", + "Europe/Tallinn", + "Europe/Tirane", + "Europe/Uzhgorod", + "Europe/Vaduz", + "Europe/Vienna", + "Europe/Vilnius", + "Europe/Volgograd", + "Europe/Warsaw", + "Europe/Zaporozhye", + "Europe/Zurich", + "GMT", + "Indian/Antananarivo", + "Indian/Chagos", + "Indian/Christmas", + "Indian/Cocos", + "Indian/Comoro", + "Indian/Kerguelen", + "Indian/Mahe", + "Indian/Maldives", + "Indian/Mauritius", + "Indian/Mayotte", + "Indian/Reunion", + "Pacific/Apia", + "Pacific/Auckland", + "Pacific/Chatham", + "Pacific/Chuuk", + "Pacific/Easter", + "Pacific/Efate", + "Pacific/Enderbury", + "Pacific/Fakaofo", + "Pacific/Fiji", + "Pacific/Funafuti", + "Pacific/Galapagos", + "Pacific/Gambier", + "Pacific/Guadalcanal", + "Pacific/Guam", + "Pacific/Honolulu", + "Pacific/Johnston", + "Pacific/Kiritimati", + "Pacific/Kosrae", + "Pacific/Kwajalein", + "Pacific/Majuro", + "Pacific/Marquesas", + "Pacific/Midway", + "Pacific/Nauru", + "Pacific/Niue", + "Pacific/Norfolk", + "Pacific/Noumea", + "Pacific/Pago_Pago", + "Pacific/Palau", + "Pacific/Pitcairn", + "Pacific/Pohnpei", + "Pacific/Port_Moresby", + "Pacific/Rarotonga", + "Pacific/Saipan", + "Pacific/Tahiti", + "Pacific/Tarawa", + "Pacific/Tongatapu", + "Pacific/Wake", + "Pacific/Wallis", + "UTC" + ], + "default": "UTC" + } + ] + } + ] + }, + "config": [ + { + "title": "Source Settings", + "fields": [ + { + "type": "datePicker", + "label": "Import Mixpanel events since", + "value": "startFromDate", + "format": "YYYY-MM-DD", + "required": true + } + ] + } + ] + } +} diff --git a/data/sources/moengage/db_config.json b/src/configurations/sources/moengage/db-config.json similarity index 100% rename from data/sources/moengage/db_config.json rename to src/configurations/sources/moengage/db-config.json diff --git a/src/configurations/sources/moengage/metadata.json b/src/configurations/sources/moengage/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/moengage/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/moengage/schema.json b/src/configurations/sources/moengage/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/moengage/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/moengage/ui-config.json b/src/configurations/sources/moengage/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/moengage/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/monday/db-config.json b/src/configurations/sources/monday/db-config.json new file mode 100644 index 000000000..a2e05e9de --- /dev/null +++ b/src/configurations/sources/monday/db-config.json @@ -0,0 +1,5 @@ +{ + "name": "monday", + "category": "webhook", + "displayName": "Monday Source" +} diff --git a/src/configurations/sources/monday/metadata.json b/src/configurations/sources/monday/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/monday/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/monday/schema.json b/src/configurations/sources/monday/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/monday/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/monday/ui-config.json b/src/configurations/sources/monday/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/monday/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/mysql/db-config.json b/src/configurations/sources/mysql/db-config.json new file mode 100644 index 000000000..789e69194 --- /dev/null +++ b/src/configurations/sources/mysql/db-config.json @@ -0,0 +1,9 @@ +{ + "name": "mysql", + "category": "warehouse", + "displayName": "MySql", + "options": { + "syncBehaviours": ["upsert", "mirror"], + "isSqlModelSupported": false + } +} diff --git a/src/configurations/sources/mysql/metadata.json b/src/configurations/sources/mysql/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/mysql/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/mysql/schema.json b/src/configurations/sources/mysql/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/mysql/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/mysql/ui-config.json b/src/configurations/sources/mysql/ui-config.json new file mode 100644 index 000000000..87b0c8b08 --- /dev/null +++ b/src/configurations/sources/mysql/ui-config.json @@ -0,0 +1,77 @@ +{ + "uiConfig": [ + { + "title": "Connection Credentials", + "secretFields": ["password"], + "docLinks": {}, + "nameField": "user", + "fields": [ + { + "type": "textInput", + "label": "Host", + "value": "host", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true, + "addInAccountSummary": true + }, + { + "type": "textInput", + "label": "Port", + "value": "port", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true, + "addInAccountSummary": false, + "inputFieldType": "number" + }, + { + "type": "textInput", + "label": "Database", + "value": "dbname", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true, + "addInAccountSummary": true + }, + { + "type": "textInput", + "label": "User", + "value": "user", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true + }, + { + "type": "textInput", + "label": "Password", + "value": "password", + "inputFieldType": "password", + "regex": ".*", + "required": true, + "secret": true + }, + { + "type": "singleSelect", + "label": "SSL Mode", + "value": "sslmode", + "options": [ + { + "name": "false", + "value": "false" + }, + { + "name": "skip-verify", + "value": "skip-verify" + } + ], + "defaultOption": { + "name": "false", + "value": "false" + }, + "required": true + } + ] + } + ] +} diff --git a/src/configurations/sources/netsuite/db-config.json b/src/configurations/sources/netsuite/db-config.json new file mode 100644 index 000000000..bdbaef438 --- /dev/null +++ b/src/configurations/sources/netsuite/db-config.json @@ -0,0 +1,5 @@ +{ + "name": "netsuite", + "category": "cloud", + "displayName": "NetSuite" +} diff --git a/src/configurations/sources/netsuite/metadata.json b/src/configurations/sources/netsuite/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/netsuite/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/netsuite/schema.json b/src/configurations/sources/netsuite/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/netsuite/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/netsuite/ui-config.json b/src/configurations/sources/netsuite/ui-config.json new file mode 100644 index 000000000..95f1de4ce --- /dev/null +++ b/src/configurations/sources/netsuite/ui-config.json @@ -0,0 +1,86 @@ +{ + "uiConfig": { + "auth": { + "type": "form", + "secretFields": ["consumerKey", "consumerSecret", "tokenId", "tokenSecret"], + "nameField": "rudder_account_name", + "config": [ + { + "fields": [ + { + "type": "textInput", + "label": "Account Name", + "value": "rudder_account_name", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true, + "placeholder": "e.g: account name" + }, + { + "type": "textInput", + "label": "Account Id", + "value": "accountId", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true + }, + { + "type": "textInput", + "label": "Consumer Key", + "value": "consumerKey", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true + }, + { + "type": "textInput", + "label": "Consumer Secret", + "value": "consumerSecret", + "inputType": "password", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true + }, + { + "type": "textInput", + "label": "Token ID", + "value": "tokenId", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true + }, + { + "type": "textInput", + "label": "Token Secret", + "inputType": "password", + "value": "tokenSecret", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true + } + ] + } + ] + }, + "config": [ + { + "title": "Source Settings", + "fields": [ + { + "type": "datePicker", + "label": "Historical sync start date", + "value": "startDateIso", + "format": "YYYY-MM-DD", + "required": true + }, + { + "type": "textInput", + "label": "Rudder Restlet URL", + "value": "restletUrl", + "footerNote": "In order to sync saved searches, you need to install https://js.blendo.co/netsuite/v1/restlet.js script in your Netsuite account, and paste the generated Restlet URL here." + } + ] + } + ] + } +} diff --git a/src/configurations/sources/node/db-config.json b/src/configurations/sources/node/db-config.json new file mode 100644 index 000000000..6bd678118 --- /dev/null +++ b/src/configurations/sources/node/db-config.json @@ -0,0 +1,4 @@ +{ + "name": "Node", + "displayName": "Node" +} diff --git a/src/configurations/sources/node/metadata.json b/src/configurations/sources/node/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/node/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/node/schema.json b/src/configurations/sources/node/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/node/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/node/ui-config.json b/src/configurations/sources/node/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/node/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/data/sources/olark/db_config.json b/src/configurations/sources/olark/db-config.json similarity index 100% rename from data/sources/olark/db_config.json rename to src/configurations/sources/olark/db-config.json diff --git a/src/configurations/sources/olark/metadata.json b/src/configurations/sources/olark/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/olark/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/olark/schema.json b/src/configurations/sources/olark/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/olark/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/olark/ui-config.json b/src/configurations/sources/olark/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/olark/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/data/sources/pagerduty/db_config.json b/src/configurations/sources/pagerduty/db-config.json similarity index 100% rename from data/sources/pagerduty/db_config.json rename to src/configurations/sources/pagerduty/db-config.json diff --git a/src/configurations/sources/pagerduty/metadata.json b/src/configurations/sources/pagerduty/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/pagerduty/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/pagerduty/schema.json b/src/configurations/sources/pagerduty/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/pagerduty/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/pagerduty/ui-config.json b/src/configurations/sources/pagerduty/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/pagerduty/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/pardot/db-config.json b/src/configurations/sources/pardot/db-config.json new file mode 100644 index 000000000..8486cf31a --- /dev/null +++ b/src/configurations/sources/pardot/db-config.json @@ -0,0 +1,5 @@ +{ + "name": "pardot", + "category": "cloud", + "displayName": "Pardot" +} diff --git a/src/configurations/sources/pardot/metadata.json b/src/configurations/sources/pardot/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/pardot/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/pardot/schema.json b/src/configurations/sources/pardot/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/pardot/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/pardot/ui-config.json b/src/configurations/sources/pardot/ui-config.json new file mode 100644 index 000000000..c5dd496d4 --- /dev/null +++ b/src/configurations/sources/pardot/ui-config.json @@ -0,0 +1,41 @@ +{ + "uiConfig": { + "auth": { + "type": "form", + "secretFields": ["password"], + "nameField": "rudder_account_name", + "config": [ + { + "fields": [ + { + "type": "textInput", + "label": "Account Name", + "value": "rudder_account_name", + "regex": ".*", + "required": true, + "placeholder": "e.g: account name" + }, + { + "type": "textInput", + "label": "Email", + "value": "email", + "required": true + }, + { + "type": "textInput", + "label": "User Key", + "value": "userKey", + "required": true + }, + { + "type": "textInput", + "label": "Password", + "value": "password", + "required": true + } + ] + } + ] + } + } +} diff --git a/src/configurations/sources/php/db-config.json b/src/configurations/sources/php/db-config.json new file mode 100644 index 000000000..4cf429c39 --- /dev/null +++ b/src/configurations/sources/php/db-config.json @@ -0,0 +1,4 @@ +{ + "name": "PHP", + "displayName": "PHP" +} diff --git a/src/configurations/sources/php/metadata.json b/src/configurations/sources/php/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/php/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/php/schema.json b/src/configurations/sources/php/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/php/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/php/ui-config.json b/src/configurations/sources/php/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/php/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/data/sources/pipedream/db_config.json b/src/configurations/sources/pipedream/db-config.json similarity index 100% rename from data/sources/pipedream/db_config.json rename to src/configurations/sources/pipedream/db-config.json diff --git a/src/configurations/sources/pipedream/metadata.json b/src/configurations/sources/pipedream/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/pipedream/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/pipedream/schema.json b/src/configurations/sources/pipedream/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/pipedream/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/pipedream/ui-config.json b/src/configurations/sources/pipedream/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/pipedream/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/pipedrive/db-config.json b/src/configurations/sources/pipedrive/db-config.json new file mode 100644 index 000000000..daae40401 --- /dev/null +++ b/src/configurations/sources/pipedrive/db-config.json @@ -0,0 +1,5 @@ +{ + "name": "pipedrive", + "category": "cloud", + "displayName": "Pipedrive" +} diff --git a/src/configurations/sources/pipedrive/metadata.json b/src/configurations/sources/pipedrive/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/pipedrive/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/pipedrive/schema.json b/src/configurations/sources/pipedrive/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/pipedrive/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/pipedrive/ui-config.json b/src/configurations/sources/pipedrive/ui-config.json new file mode 100644 index 000000000..d01174c8b --- /dev/null +++ b/src/configurations/sources/pipedrive/ui-config.json @@ -0,0 +1,32 @@ +{ + "uiConfig": { + "auth": { + "type": "form", + "secretFields": ["apiKey"], + "nameField": "rudder_account_name", + "config": [ + { + "fields": [ + { + "type": "textInput", + "label": "Account Name", + "value": "rudder_account_name", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true, + "placeholder": "e.g: account name" + }, + { + "type": "textInput", + "label": "Api Key", + "value": "apiKey", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true + } + ] + } + ] + } + } +} diff --git a/src/configurations/sources/postgres/db-config.json b/src/configurations/sources/postgres/db-config.json new file mode 100644 index 000000000..5dba73028 --- /dev/null +++ b/src/configurations/sources/postgres/db-config.json @@ -0,0 +1,9 @@ +{ + "name": "postgres", + "category": "warehouse", + "displayName": "Postgres", + "options": { + "syncBehaviours": ["upsert", "mirror"], + "isSqlModelSupported": true + } +} diff --git a/src/configurations/sources/postgres/metadata.json b/src/configurations/sources/postgres/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/postgres/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/postgres/schema.json b/src/configurations/sources/postgres/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/postgres/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/postgres/ui-config.json b/src/configurations/sources/postgres/ui-config.json new file mode 100644 index 000000000..856386a95 --- /dev/null +++ b/src/configurations/sources/postgres/ui-config.json @@ -0,0 +1,84 @@ +{ + "uiConfig": [ + { + "title": "Connection Credentials", + "secretFields": ["password"], + "docLinks": { + "grantPermissions": "https://docs.rudderstack.com/reverse-etl/postgresql/#granting-permissions", + "verifyingCredentials": "https://docs.rudderstack.com/reverse-etl/postgresql/#what-do-the-three-validations-under-verifying-credentials-imply", + "jsonMapperUseInstructions": "https://docs.rudderstack.com/reverse-etl/postgresql/#specifying-the-data-to-import", + "setupInstructions": "https://docs.rudderstack.com/reverse-etl/postgresql" + }, + "nameField": "user", + "fields": [ + { + "type": "textInput", + "label": "Host", + "value": "host", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true, + "addInAccountSummary": true, + "trim": true + }, + { + "type": "textInput", + "label": "Database", + "value": "dbname", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true, + "addInAccountSummary": true, + "trim": true + }, + { + "type": "textInput", + "label": "User", + "value": "user", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true, + "trim": true + }, + { + "type": "textInput", + "label": "Password", + "value": "password", + "inputFieldType": "password", + "regex": ".*", + "required": true, + "secret": true + }, + { + "type": "textInput", + "label": "Port", + "value": "port", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "inputFieldType": "number", + "required": true + }, + { + "type": "singleSelect", + "label": "SSL Mode", + "value": "sslMode", + "options": [ + { + "name": "disable", + "value": "disable" + }, + { + "name": "require", + "value": "require" + } + ], + "defaultOption": { + "name": "disable", + "value": "disable" + }, + "required": true + } + ] + } + ] +} diff --git a/src/configurations/sources/posthog/db-config.json b/src/configurations/sources/posthog/db-config.json new file mode 100644 index 000000000..9bbe877f2 --- /dev/null +++ b/src/configurations/sources/posthog/db-config.json @@ -0,0 +1,4 @@ +{ + "name": "POSTHOG", + "displayName": "PostHog" +} diff --git a/src/configurations/sources/posthog/metadata.json b/src/configurations/sources/posthog/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/posthog/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/posthog/schema.json b/src/configurations/sources/posthog/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/posthog/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/posthog/ui-config.json b/src/configurations/sources/posthog/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/posthog/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/python/db-config.json b/src/configurations/sources/python/db-config.json new file mode 100644 index 000000000..b6b0243f7 --- /dev/null +++ b/src/configurations/sources/python/db-config.json @@ -0,0 +1,4 @@ +{ + "name": "Python", + "displayName": "Python" +} diff --git a/src/configurations/sources/python/metadata.json b/src/configurations/sources/python/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/python/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/python/schema.json b/src/configurations/sources/python/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/python/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/python/ui-config.json b/src/configurations/sources/python/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/python/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/quickbooks/db-config.json b/src/configurations/sources/quickbooks/db-config.json new file mode 100644 index 000000000..3a1e6bb55 --- /dev/null +++ b/src/configurations/sources/quickbooks/db-config.json @@ -0,0 +1,5 @@ +{ + "name": "quickbooks", + "category": "cloud", + "displayName": "Quickbooks" +} diff --git a/src/configurations/sources/quickbooks/metadata.json b/src/configurations/sources/quickbooks/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/quickbooks/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/quickbooks/schema.json b/src/configurations/sources/quickbooks/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/quickbooks/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/quickbooks/ui-config.json b/src/configurations/sources/quickbooks/ui-config.json new file mode 100644 index 000000000..a5ba1b3e2 --- /dev/null +++ b/src/configurations/sources/quickbooks/ui-config.json @@ -0,0 +1,7 @@ +{ + "uiConfig": { + "auth": { + "type": "OAuth" + } + } +} diff --git a/src/configurations/sources/react_native/db-config.json b/src/configurations/sources/react_native/db-config.json new file mode 100644 index 000000000..b66c752cc --- /dev/null +++ b/src/configurations/sources/react_native/db-config.json @@ -0,0 +1,4 @@ +{ + "name": "ReactNative", + "displayName": "React Native" +} diff --git a/src/configurations/sources/react_native/metadata.json b/src/configurations/sources/react_native/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/react_native/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/react_native/schema.json b/src/configurations/sources/react_native/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/react_native/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/react_native/ui-config.json b/src/configurations/sources/react_native/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/react_native/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/reactnative/db-config.json b/src/configurations/sources/reactnative/db-config.json new file mode 100644 index 000000000..26a5977dc --- /dev/null +++ b/src/configurations/sources/reactnative/db-config.json @@ -0,0 +1,4 @@ +{ + "displayName": "React Native", + "name": "ReactNative" +} diff --git a/src/configurations/sources/reactnative/metadata.json b/src/configurations/sources/reactnative/metadata.json new file mode 100644 index 000000000..04b72d189 --- /dev/null +++ b/src/configurations/sources/reactnative/metadata.json @@ -0,0 +1 @@ +{ "docCategory": "", "docLink": "" } diff --git a/src/configurations/sources/redshift/db-config.json b/src/configurations/sources/redshift/db-config.json new file mode 100644 index 000000000..29a31f353 --- /dev/null +++ b/src/configurations/sources/redshift/db-config.json @@ -0,0 +1,10 @@ +{ + "name": "redshift", + "category": "warehouse", + "displayName": "Redshift", + "options": { + "syncBehaviours": ["upsert", "mirror"], + "isSqlModelSupported": true, + "isAudienceSupported": true + } +} diff --git a/src/configurations/sources/redshift/metadata.json b/src/configurations/sources/redshift/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/redshift/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/redshift/schema.json b/src/configurations/sources/redshift/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/redshift/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/redshift/ui-config.json b/src/configurations/sources/redshift/ui-config.json new file mode 100644 index 000000000..d1a5aa783 --- /dev/null +++ b/src/configurations/sources/redshift/ui-config.json @@ -0,0 +1,84 @@ +{ + "uiConfig": [ + { + "title": "Connection Credentials", + "secretFields": ["password"], + "docLinks": { + "grantPermissions": "https://docs.rudderstack.com/reverse-etl/amazon-redshift/#granting-permissions", + "verifyingCredentials": "https://docs.rudderstack.com/reverse-etl/amazon-redshift/#what-do-the-three-validations-under-verifying-credentials-imply", + "jsonMapperUseInstructions": "https://docs.rudderstack.com/reverse-etl/amazon-redshift/#specifying-the-data-to-import", + "setupInstructions": "https://docs.rudderstack.com/reverse-etl/amazon-redshift" + }, + "nameField": "user", + "fields": [ + { + "type": "textInput", + "label": "Host", + "value": "host", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true, + "addInAccountSummary": true, + "trim": true + }, + { + "type": "textInput", + "label": "Port", + "inputFieldType": "number", + "value": "port", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true + }, + { + "type": "textInput", + "label": "Database", + "value": "dbname", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true, + "addInAccountSummary": true, + "trim": true + }, + { + "type": "textInput", + "label": "User", + "value": "user", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true, + "trim": true + }, + { + "type": "textInput", + "label": "Password", + "value": "password", + "inputFieldType": "password", + "regex": ".*", + "required": true, + "secret": true + }, + { + "type": "singleSelect", + "label": "SSL Mode", + "value": "sslMode", + "options": [ + { + "name": "disable", + "value": "disable" + }, + { + "name": "require", + "value": "require" + } + ], + "defaultOption": { + "name": "disable", + "value": "disable" + }, + "required": true + } + ] + } + ] +} diff --git a/data/sources/refiner/db_config.json b/src/configurations/sources/refiner/db-config.json similarity index 100% rename from data/sources/refiner/db_config.json rename to src/configurations/sources/refiner/db-config.json diff --git a/src/configurations/sources/refiner/metadata.json b/src/configurations/sources/refiner/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/refiner/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/refiner/schema.json b/src/configurations/sources/refiner/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/refiner/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/refiner/ui-config.json b/src/configurations/sources/refiner/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/refiner/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/ruby/db-config.json b/src/configurations/sources/ruby/db-config.json new file mode 100644 index 000000000..f4614b130 --- /dev/null +++ b/src/configurations/sources/ruby/db-config.json @@ -0,0 +1,4 @@ +{ + "name": "Ruby", + "displayName": "Ruby" +} diff --git a/src/configurations/sources/ruby/metadata.json b/src/configurations/sources/ruby/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/ruby/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/ruby/schema.json b/src/configurations/sources/ruby/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/ruby/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/ruby/ui-config.json b/src/configurations/sources/ruby/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/ruby/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/rust/db-config.json b/src/configurations/sources/rust/db-config.json new file mode 100644 index 000000000..17fe274c5 --- /dev/null +++ b/src/configurations/sources/rust/db-config.json @@ -0,0 +1,4 @@ +{ + "name": "Rust", + "displayName": "Rust" +} diff --git a/src/configurations/sources/rust/metadata.json b/src/configurations/sources/rust/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/rust/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/rust/schema.json b/src/configurations/sources/rust/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/rust/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/rust/ui-config.json b/src/configurations/sources/rust/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/rust/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/s3/db-config.json b/src/configurations/sources/s3/db-config.json new file mode 100644 index 000000000..5c3d05740 --- /dev/null +++ b/src/configurations/sources/s3/db-config.json @@ -0,0 +1,9 @@ +{ + "name": "s3", + "category": "warehouse", + "displayName": "Amazon S3", + "options": { + "skipWarehouseSchemaConfig": true, + "isCredentialsValidationSupported": true + } +} diff --git a/src/configurations/sources/s3/metadata.json b/src/configurations/sources/s3/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/s3/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/s3/schema.json b/src/configurations/sources/s3/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/s3/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/s3/ui-config.json b/src/configurations/sources/s3/ui-config.json new file mode 100644 index 000000000..80c31521b --- /dev/null +++ b/src/configurations/sources/s3/ui-config.json @@ -0,0 +1,86 @@ +{ + "uiConfig": [ + { + "title": "Connection Credentials", + "docLinks": { + "jsonMapperUseInstructions": "https://docs.rudderstack.com/reverse-etl/amazon-s3/#specifying-the-data-to-import", + "setupInstructions": "https://docs.rudderstack.com/reverse-etl/amazon-s3" + }, + "nameField": "rudder_account_name", + "secretFields": ["accessKey"], + "fields": [ + { + "type": "singleSelect", + "label": "Connection Mode", + "value": "connectionMode", + "options": [ + { + "name": "Cross-Account Role (recommended)", + "value": "crossAccountRole" + }, + { + "name": "Access Key", + "value": "accessKey" + } + ], + "defaultOption": { + "value": "crossAccountRole" + } + }, + { + "type": "textInput", + "label": "Account Name", + "value": "rudder_account_name", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true, + "trim": true + }, + { + "type": "textInput", + "label": "AWS Access Key ID", + "value": "accessKeyID", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true, + "placeholder": "e.g: access-key-id", + "secret": true, + "trim": true, + "preRequisiteField": { + "name": "connectionMode", + "selectedValue": "accessKey" + } + }, + { + "type": "textInput", + "label": "AWS Secret Access Key", + "value": "accessKey", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "inputFieldType": "password", + "required": true, + "placeholder": "e.g: secret-access-key", + "secret": true, + "preRequisiteField": { + "name": "connectionMode", + "selectedValue": "accessKey" + } + }, + { + "type": "textInput", + "label": "Role ARN", + "value": "roleARN", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Role ARN", + "required": true, + "placeholder": "arn:aws:iam::xxxx:role/xxxx", + "preRequisiteField": { + "name": "connectionMode", + "selectedValue": "crossAccountRole" + }, + "footerNote": "Please follow our docs to create the role ARN. For creating the role add the Account ID: `422074288268` and use Workspace Id as the External Id." + } + ] + } + ] +} diff --git a/src/configurations/sources/salesforce/db-config.json b/src/configurations/sources/salesforce/db-config.json new file mode 100644 index 000000000..8b34aa336 --- /dev/null +++ b/src/configurations/sources/salesforce/db-config.json @@ -0,0 +1,8 @@ +{ + "name": "salesforce", + "category": "cloud", + "displayName": "Salesforce", + "options": { + "hidden": true + } +} diff --git a/src/configurations/sources/salesforce/metadata.json b/src/configurations/sources/salesforce/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/salesforce/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/salesforce/schema.json b/src/configurations/sources/salesforce/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/salesforce/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/salesforce/ui-config.json b/src/configurations/sources/salesforce/ui-config.json new file mode 100644 index 000000000..a5ba1b3e2 --- /dev/null +++ b/src/configurations/sources/salesforce/ui-config.json @@ -0,0 +1,7 @@ +{ + "uiConfig": { + "auth": { + "type": "OAuth" + } + } +} diff --git a/data/sources/satismeter/db_config.json b/src/configurations/sources/satismeter/db-config.json similarity index 100% rename from data/sources/satismeter/db_config.json rename to src/configurations/sources/satismeter/db-config.json diff --git a/src/configurations/sources/satismeter/metadata.json b/src/configurations/sources/satismeter/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/satismeter/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/satismeter/schema.json b/src/configurations/sources/satismeter/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/satismeter/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/satismeter/ui-config.json b/src/configurations/sources/satismeter/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/satismeter/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/segment/db-config.json b/src/configurations/sources/segment/db-config.json new file mode 100644 index 000000000..61a2808c4 --- /dev/null +++ b/src/configurations/sources/segment/db-config.json @@ -0,0 +1,5 @@ +{ + "name": "Segment", + "category": "webhook", + "displayName": "Segment" +} diff --git a/src/configurations/sources/segment/metadata.json b/src/configurations/sources/segment/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/segment/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/segment/schema.json b/src/configurations/sources/segment/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/segment/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/segment/ui-config.json b/src/configurations/sources/segment/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/segment/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/sendgrid/db-config.json b/src/configurations/sources/sendgrid/db-config.json new file mode 100644 index 000000000..a0c54ac60 --- /dev/null +++ b/src/configurations/sources/sendgrid/db-config.json @@ -0,0 +1,8 @@ +{ + "name": "sendgrid", + "category": "cloud", + "displayName": "SendGrid", + "options": { + "hidden": true + } +} diff --git a/src/configurations/sources/sendgrid/metadata.json b/src/configurations/sources/sendgrid/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/sendgrid/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/sendgrid/schema.json b/src/configurations/sources/sendgrid/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/sendgrid/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/sendgrid/ui-config.json b/src/configurations/sources/sendgrid/ui-config.json new file mode 100644 index 000000000..0b566bc45 --- /dev/null +++ b/src/configurations/sources/sendgrid/ui-config.json @@ -0,0 +1,31 @@ +{ + "uiConfig": { + "auth": { + "type": "form", + "secretFields": ["apiKey"], + "nameField": "rudder_account_name", + "config": [ + { + "fields": [ + { + "type": "textInput", + "label": "Account Name", + "value": "rudder_account_name", + "regex": ".*", + "required": true, + "placeholder": "e.g: account name" + }, + { + "type": "textInput", + "label": "API Key", + "value": "apiKey", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true + } + ] + } + ] + } + } +} diff --git a/src/configurations/sources/shopify/db-config.json b/src/configurations/sources/shopify/db-config.json new file mode 100644 index 000000000..8690245b3 --- /dev/null +++ b/src/configurations/sources/shopify/db-config.json @@ -0,0 +1,8 @@ +{ + "name": "Shopify", + "category": "webhook", + "displayName": "Shopify", + "options": { + "isBeta": false + } +} diff --git a/src/configurations/sources/shopify/metadata.json b/src/configurations/sources/shopify/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/shopify/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/shopify/schema.json b/src/configurations/sources/shopify/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/shopify/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/shopify/ui-config.json b/src/configurations/sources/shopify/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/shopify/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/signl4/db-config.json b/src/configurations/sources/signl4/db-config.json new file mode 100644 index 000000000..7d2dcd37c --- /dev/null +++ b/src/configurations/sources/signl4/db-config.json @@ -0,0 +1,5 @@ +{ + "name": "signl4", + "category": "webhook", + "displayName": "SIGNL4" +} diff --git a/src/configurations/sources/signl4/metadata.json b/src/configurations/sources/signl4/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/signl4/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/signl4/schema.json b/src/configurations/sources/signl4/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/signl4/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/signl4/ui-config.json b/src/configurations/sources/signl4/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/signl4/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/singer-recurly/db-config.json b/src/configurations/sources/singer-recurly/db-config.json new file mode 100644 index 000000000..cdf13e149 --- /dev/null +++ b/src/configurations/sources/singer-recurly/db-config.json @@ -0,0 +1,10 @@ +{ + "name": "singer-recurly", + "category": "singer-protocol", + "displayName": "Recurly", + "options": { + "isBeta": false, + "image": "rudderstack/source-recurly:v2.0.0", + "digest": "sha256:628d6c46a6b468f5df0ea637cbe1a37afcaade40bfea1110e8ded74a2187a5cd" + } +} diff --git a/src/configurations/sources/singer-recurly/metadata.json b/src/configurations/sources/singer-recurly/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/singer-recurly/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/singer-recurly/schema.json b/src/configurations/sources/singer-recurly/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/singer-recurly/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/singer-recurly/ui-config.json b/src/configurations/sources/singer-recurly/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/singer-recurly/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/data/sources/singer_amplitude/db_config.json b/src/configurations/sources/singer_amplitude/db-config.json similarity index 100% rename from data/sources/singer_amplitude/db_config.json rename to src/configurations/sources/singer_amplitude/db-config.json diff --git a/src/configurations/sources/singer_amplitude/metadata.json b/src/configurations/sources/singer_amplitude/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/singer_amplitude/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/singer_amplitude/schema.json b/src/configurations/sources/singer_amplitude/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/singer_amplitude/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/singer_amplitude/ui-config.json b/src/configurations/sources/singer_amplitude/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/singer_amplitude/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/singer_bing_ads/db-config.json b/src/configurations/sources/singer_bing_ads/db-config.json new file mode 100644 index 000000000..4d2efd4e6 --- /dev/null +++ b/src/configurations/sources/singer_bing_ads/db-config.json @@ -0,0 +1,12 @@ +{ + "name": "singer-bing-ads", + "category": "singer-protocol", + "displayName": "Bing Ads V2", + "options": { + "auth": { + "oauthRole": "bing_ads" + }, + "isBeta": true, + "image": "rudderstack/source-bing-ads:v4.0.5" + } +} diff --git a/src/configurations/sources/singer_bing_ads/metadata.json b/src/configurations/sources/singer_bing_ads/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/singer_bing_ads/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/singer_bing_ads/schema.json b/src/configurations/sources/singer_bing_ads/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/singer_bing_ads/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/singer_bing_ads/ui-config.json b/src/configurations/sources/singer_bing_ads/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/singer_bing_ads/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/singer_chargebee/db-config.json b/src/configurations/sources/singer_chargebee/db-config.json new file mode 100644 index 000000000..3d7bdf75d --- /dev/null +++ b/src/configurations/sources/singer_chargebee/db-config.json @@ -0,0 +1,9 @@ +{ + "name": "singer-chargebee", + "category": "singer-protocol", + "displayName": "Chargebee", + "options": { + "image": "rudderstack/source-chargebee:v2.0.0", + "digest": "sha256:b83d459bef179ebc5f17b82e0d58a1df111df5e59730ebe41137c06df7510061" + } +} diff --git a/src/configurations/sources/singer_chargebee/metadata.json b/src/configurations/sources/singer_chargebee/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/singer_chargebee/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/singer_chargebee/schema.json b/src/configurations/sources/singer_chargebee/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/singer_chargebee/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/singer_chargebee/ui-config.json b/src/configurations/sources/singer_chargebee/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/singer_chargebee/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/singer_customer_io/db-config.json b/src/configurations/sources/singer_customer_io/db-config.json new file mode 100644 index 000000000..4a9e17ff7 --- /dev/null +++ b/src/configurations/sources/singer_customer_io/db-config.json @@ -0,0 +1,9 @@ +{ + "name": "singer-customer-io", + "category": "singer-protocol", + "displayName": "Customer.io", + "options": { + "image": "rudderstack/source-customer-io:v1", + "digest": "sha256:177b64138c431332337ef946ff903a31883de51068475504978371797b8dd481" + } +} diff --git a/src/configurations/sources/singer_customer_io/metadata.json b/src/configurations/sources/singer_customer_io/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/singer_customer_io/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/singer_customer_io/schema.json b/src/configurations/sources/singer_customer_io/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/singer_customer_io/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/singer_customer_io/ui-config.json b/src/configurations/sources/singer_customer_io/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/singer_customer_io/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/singer_facebook_marketing/db-config.json b/src/configurations/sources/singer_facebook_marketing/db-config.json new file mode 100644 index 000000000..2976df3c7 --- /dev/null +++ b/src/configurations/sources/singer_facebook_marketing/db-config.json @@ -0,0 +1,10 @@ +{ + "name": "singer-facebook-marketing", + "category": "singer-protocol", + "displayName": "Facebook Marketing", + "options": { + "isBeta": true, + "image": "rudderstack/source-facebook-marketing:v4.0.1", + "hidden": false + } +} diff --git a/src/configurations/sources/singer_facebook_marketing/metadata.json b/src/configurations/sources/singer_facebook_marketing/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/singer_facebook_marketing/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/singer_facebook_marketing/schema.json b/src/configurations/sources/singer_facebook_marketing/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/singer_facebook_marketing/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/singer_facebook_marketing/ui-config.json b/src/configurations/sources/singer_facebook_marketing/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/singer_facebook_marketing/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/singer_freshdesk/db-config.json b/src/configurations/sources/singer_freshdesk/db-config.json new file mode 100644 index 000000000..d68336593 --- /dev/null +++ b/src/configurations/sources/singer_freshdesk/db-config.json @@ -0,0 +1,8 @@ +{ + "name": "singer-freshdesk", + "category": "singer-protocol", + "displayName": "Freshdesk", + "options": { + "image": "rudderstack/source-freshdesk:v4.0.3" + } +} diff --git a/src/configurations/sources/singer_freshdesk/metadata.json b/src/configurations/sources/singer_freshdesk/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/singer_freshdesk/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/singer_freshdesk/schema.json b/src/configurations/sources/singer_freshdesk/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/singer_freshdesk/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/singer_freshdesk/ui-config.json b/src/configurations/sources/singer_freshdesk/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/singer_freshdesk/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/singer_google_ads/db-config.json b/src/configurations/sources/singer_google_ads/db-config.json new file mode 100644 index 000000000..6b888bed2 --- /dev/null +++ b/src/configurations/sources/singer_google_ads/db-config.json @@ -0,0 +1,13 @@ +{ + "name": "singer-google_adwords", + "category": "singer-protocol", + "displayName": "Google ads", + "options": { + "auth": { + "provider": "Google" + }, + "digest": "sha256:9b52972787a0747792ed43d0d909eee3f0d1c3fe755b2492e109d63cd9731fd6", + "image": "rudderstack/source-google-ads:v4.0.6", + "isBeta": false + } +} diff --git a/src/configurations/sources/singer_google_ads/metadata.json b/src/configurations/sources/singer_google_ads/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/singer_google_ads/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/singer_google_ads/schema.json b/src/configurations/sources/singer_google_ads/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/singer_google_ads/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/singer_google_ads/ui-config.json b/src/configurations/sources/singer_google_ads/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/singer_google_ads/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/singer_google_analytics/db-config.json b/src/configurations/sources/singer_google_analytics/db-config.json new file mode 100644 index 000000000..e5b02601f --- /dev/null +++ b/src/configurations/sources/singer_google_analytics/db-config.json @@ -0,0 +1,12 @@ +{ + "name": "singer-google-analytics", + "category": "singer-protocol", + "displayName": "Google Analytics", + "options": { + "auth": { + "oauthRole": "singer-google-analytics", + "provider": "Google" + }, + "image": "rudderstack/source-google-analytics:v2.1" + } +} diff --git a/src/configurations/sources/singer_google_analytics/metadata.json b/src/configurations/sources/singer_google_analytics/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/singer_google_analytics/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/singer_google_analytics/schema.json b/src/configurations/sources/singer_google_analytics/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/singer_google_analytics/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/singer_google_analytics/ui-config.json b/src/configurations/sources/singer_google_analytics/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/singer_google_analytics/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/singer_google_analytics_v4/db-config.json b/src/configurations/sources/singer_google_analytics_v4/db-config.json new file mode 100644 index 000000000..78bc5904b --- /dev/null +++ b/src/configurations/sources/singer_google_analytics_v4/db-config.json @@ -0,0 +1,13 @@ +{ + "name": "singer-google-analytics-v4", + "category": "singer-protocol", + "displayName": "Google Analytics 4", + "options": { + "auth": { + "oauthRole": "singer-google-analytics", + "provider": "Google" + }, + "isBeta": true, + "image": "rudderstack/source-google-analytics-v4:v4.0.1" + } +} diff --git a/src/configurations/sources/singer_google_analytics_v4/metadata.json b/src/configurations/sources/singer_google_analytics_v4/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/singer_google_analytics_v4/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/singer_google_analytics_v4/schema.json b/src/configurations/sources/singer_google_analytics_v4/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/singer_google_analytics_v4/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/singer_google_analytics_v4/ui-config.json b/src/configurations/sources/singer_google_analytics_v4/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/singer_google_analytics_v4/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/data/sources/singer_google_search_console/db_config.json b/src/configurations/sources/singer_google_search_console/db-config.json similarity index 100% rename from data/sources/singer_google_search_console/db_config.json rename to src/configurations/sources/singer_google_search_console/db-config.json diff --git a/src/configurations/sources/singer_google_search_console/metadata.json b/src/configurations/sources/singer_google_search_console/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/singer_google_search_console/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/singer_google_search_console/schema.json b/src/configurations/sources/singer_google_search_console/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/singer_google_search_console/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/singer_google_search_console/ui-config.json b/src/configurations/sources/singer_google_search_console/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/singer_google_search_console/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/singer_google_sheets/db-config.json b/src/configurations/sources/singer_google_sheets/db-config.json new file mode 100644 index 000000000..aac722666 --- /dev/null +++ b/src/configurations/sources/singer_google_sheets/db-config.json @@ -0,0 +1,12 @@ +{ + "name": "singer-google-sheets", + "category": "singer-protocol", + "displayName": "Google Sheets V2", + "options": { + "auth": { + "provider": "Google" + }, + "isBeta": true, + "image": "rudderstack/source-google-sheets:v4.0.5" + } +} diff --git a/src/configurations/sources/singer_google_sheets/metadata.json b/src/configurations/sources/singer_google_sheets/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/singer_google_sheets/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/singer_google_sheets/schema.json b/src/configurations/sources/singer_google_sheets/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/singer_google_sheets/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/singer_google_sheets/ui-config.json b/src/configurations/sources/singer_google_sheets/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/singer_google_sheets/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/singer_hubspot/db-config.json b/src/configurations/sources/singer_hubspot/db-config.json new file mode 100644 index 000000000..8ca5504b5 --- /dev/null +++ b/src/configurations/sources/singer_hubspot/db-config.json @@ -0,0 +1,12 @@ +{ + "name": "singer-hubspot", + "category": "singer-protocol", + "displayName": "HubSpot", + "options": { + "auth": { + "oauthRole": "hubspot" + }, + "image": "rudderstack/source-hubspot:v4.0.5", + "isBeta": false + } +} diff --git a/src/configurations/sources/singer_hubspot/metadata.json b/src/configurations/sources/singer_hubspot/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/singer_hubspot/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/singer_hubspot/schema.json b/src/configurations/sources/singer_hubspot/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/singer_hubspot/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/singer_hubspot/ui-config.json b/src/configurations/sources/singer_hubspot/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/singer_hubspot/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/data/sources/singer_intercom/db_config.json b/src/configurations/sources/singer_intercom/db-config.json similarity index 100% rename from data/sources/singer_intercom/db_config.json rename to src/configurations/sources/singer_intercom/db-config.json diff --git a/src/configurations/sources/singer_intercom/metadata.json b/src/configurations/sources/singer_intercom/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/singer_intercom/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/singer_intercom/schema.json b/src/configurations/sources/singer_intercom/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/singer_intercom/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/singer_intercom/ui-config.json b/src/configurations/sources/singer_intercom/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/singer_intercom/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/data/sources/singer_iterable/db_config.json b/src/configurations/sources/singer_iterable/db-config.json similarity index 100% rename from data/sources/singer_iterable/db_config.json rename to src/configurations/sources/singer_iterable/db-config.json diff --git a/src/configurations/sources/singer_iterable/metadata.json b/src/configurations/sources/singer_iterable/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/singer_iterable/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/singer_iterable/schema.json b/src/configurations/sources/singer_iterable/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/singer_iterable/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/singer_iterable/ui-config.json b/src/configurations/sources/singer_iterable/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/singer_iterable/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/singer_klaviyo/db-config.json b/src/configurations/sources/singer_klaviyo/db-config.json new file mode 100644 index 000000000..b23e95142 --- /dev/null +++ b/src/configurations/sources/singer_klaviyo/db-config.json @@ -0,0 +1,9 @@ +{ + "name": "singer-klaviyo", + "category": "singer-protocol", + "displayName": "Klaviyo", + "options": { + "digest": "sha256:da89670d1800b8b8e96987bc4a9660a383e7ba7d400d210908580f3c7fd07332", + "image": "rudderstack/source-klaviyo:v2.0.0" + } +} diff --git a/src/configurations/sources/singer_klaviyo/metadata.json b/src/configurations/sources/singer_klaviyo/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/singer_klaviyo/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/singer_klaviyo/schema.json b/src/configurations/sources/singer_klaviyo/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/singer_klaviyo/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/singer_klaviyo/ui-config.json b/src/configurations/sources/singer_klaviyo/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/singer_klaviyo/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/singer_mailchimp/db-config.json b/src/configurations/sources/singer_mailchimp/db-config.json new file mode 100644 index 000000000..22256f6b3 --- /dev/null +++ b/src/configurations/sources/singer_mailchimp/db-config.json @@ -0,0 +1,13 @@ +{ + "name": "singer-mailchimp", + "category": "singer-protocol", + "displayName": "Mailchimp", + "options": { + "auth": { + "oauthRole": "mailchimp" + }, + "isBeta": true, + "image": "rudderstack/source-mailchimp:v1", + "hidden": true + } +} diff --git a/src/configurations/sources/singer_mailchimp/metadata.json b/src/configurations/sources/singer_mailchimp/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/singer_mailchimp/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/singer_mailchimp/schema.json b/src/configurations/sources/singer_mailchimp/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/singer_mailchimp/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/singer_mailchimp/ui-config.json b/src/configurations/sources/singer_mailchimp/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/singer_mailchimp/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/singer_mixpanel/db-config.json b/src/configurations/sources/singer_mixpanel/db-config.json new file mode 100644 index 000000000..197955808 --- /dev/null +++ b/src/configurations/sources/singer_mixpanel/db-config.json @@ -0,0 +1,8 @@ +{ + "name": "singer-mixpanel", + "category": "singer-protocol", + "displayName": "Mixpanel", + "options": { + "image": "rudderstack/source-mixpanel:v2.0.1" + } +} diff --git a/src/configurations/sources/singer_mixpanel/metadata.json b/src/configurations/sources/singer_mixpanel/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/singer_mixpanel/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/singer_mixpanel/schema.json b/src/configurations/sources/singer_mixpanel/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/singer_mixpanel/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/singer_mixpanel/ui-config.json b/src/configurations/sources/singer_mixpanel/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/singer_mixpanel/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/singer_pardot/db-config.json b/src/configurations/sources/singer_pardot/db-config.json new file mode 100644 index 000000000..795732fa0 --- /dev/null +++ b/src/configurations/sources/singer_pardot/db-config.json @@ -0,0 +1,13 @@ +{ + "name": "singer-pardot", + "category": "singer-protocol", + "displayName": "Pardot", + "options": { + "auth": { + "oauthRole": "pardot" + }, + "isBeta": true, + "image": "rudderstack/source-pardot:v1", + "hidden": true + } +} diff --git a/src/configurations/sources/singer_pardot/metadata.json b/src/configurations/sources/singer_pardot/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/singer_pardot/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/singer_pardot/schema.json b/src/configurations/sources/singer_pardot/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/singer_pardot/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/singer_pardot/ui-config.json b/src/configurations/sources/singer_pardot/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/singer_pardot/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/singer_pipedrive/db-config.json b/src/configurations/sources/singer_pipedrive/db-config.json new file mode 100644 index 000000000..ce2fbf2c1 --- /dev/null +++ b/src/configurations/sources/singer_pipedrive/db-config.json @@ -0,0 +1,13 @@ +{ + "name": "singer-pipedrive", + "category": "singer-protocol", + "displayName": "Pipedrive", + "options": { + "auth": { + "oauthRole": "pipedrive" + }, + "isBeta": true, + "image": "rudderstack/source-pipedrive:v1", + "hidden": true + } +} diff --git a/src/configurations/sources/singer_pipedrive/metadata.json b/src/configurations/sources/singer_pipedrive/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/singer_pipedrive/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/singer_pipedrive/schema.json b/src/configurations/sources/singer_pipedrive/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/singer_pipedrive/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/singer_pipedrive/ui-config.json b/src/configurations/sources/singer_pipedrive/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/singer_pipedrive/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/singer_quickbooks/db-config.json b/src/configurations/sources/singer_quickbooks/db-config.json new file mode 100644 index 000000000..90f87b2fe --- /dev/null +++ b/src/configurations/sources/singer_quickbooks/db-config.json @@ -0,0 +1,13 @@ +{ + "name": "singer-quickbooks", + "category": "singer-protocol", + "displayName": "Quickbooks", + "options": { + "auth": { + "oauthRole": "quickbooks" + }, + "isBeta": true, + "image": "rudderstack/source-quickbooks:v1", + "hidden": true + } +} diff --git a/src/configurations/sources/singer_quickbooks/metadata.json b/src/configurations/sources/singer_quickbooks/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/singer_quickbooks/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/singer_quickbooks/schema.json b/src/configurations/sources/singer_quickbooks/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/singer_quickbooks/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/singer_quickbooks/ui-config.json b/src/configurations/sources/singer_quickbooks/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/singer_quickbooks/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/data/sources/singer_salesforce/db_config.json b/src/configurations/sources/singer_salesforce/db-config.json similarity index 100% rename from data/sources/singer_salesforce/db_config.json rename to src/configurations/sources/singer_salesforce/db-config.json diff --git a/src/configurations/sources/singer_salesforce/metadata.json b/src/configurations/sources/singer_salesforce/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/singer_salesforce/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/singer_salesforce/schema.json b/src/configurations/sources/singer_salesforce/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/singer_salesforce/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/singer_salesforce/ui-config.json b/src/configurations/sources/singer_salesforce/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/singer_salesforce/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/data/sources/singer_sendgrid/db_config.json b/src/configurations/sources/singer_sendgrid/db-config.json similarity index 100% rename from data/sources/singer_sendgrid/db_config.json rename to src/configurations/sources/singer_sendgrid/db-config.json diff --git a/src/configurations/sources/singer_sendgrid/metadata.json b/src/configurations/sources/singer_sendgrid/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/singer_sendgrid/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/singer_sendgrid/schema.json b/src/configurations/sources/singer_sendgrid/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/singer_sendgrid/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/singer_sendgrid/ui-config.json b/src/configurations/sources/singer_sendgrid/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/singer_sendgrid/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/singer_stripe/db-config.json b/src/configurations/sources/singer_stripe/db-config.json new file mode 100644 index 000000000..f29836d89 --- /dev/null +++ b/src/configurations/sources/singer_stripe/db-config.json @@ -0,0 +1,10 @@ +{ + "name": "singer-stripe", + "category": "singer-protocol", + "displayName": "Stripe", + "options": { + "isBeta": true, + "image": "rudderstack/source-stripe:v1", + "hidden": true + } +} diff --git a/src/configurations/sources/singer_stripe/metadata.json b/src/configurations/sources/singer_stripe/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/singer_stripe/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/singer_stripe/schema.json b/src/configurations/sources/singer_stripe/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/singer_stripe/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/singer_stripe/ui-config.json b/src/configurations/sources/singer_stripe/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/singer_stripe/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/singer_zendesk_chat/db-config.json b/src/configurations/sources/singer_zendesk_chat/db-config.json new file mode 100644 index 000000000..d5982f834 --- /dev/null +++ b/src/configurations/sources/singer_zendesk_chat/db-config.json @@ -0,0 +1,11 @@ +{ + "name": "singer-zendesk-chat", + "category": "singer-protocol", + "displayName": "Zendesk Chat", + "options": { + "auth": { + "oauthRole": "singer-zendesk-chat" + }, + "image": "rudderstack/source-zendesk-chat:v2.0.2" + } +} diff --git a/src/configurations/sources/singer_zendesk_chat/metadata.json b/src/configurations/sources/singer_zendesk_chat/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/singer_zendesk_chat/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/singer_zendesk_chat/schema.json b/src/configurations/sources/singer_zendesk_chat/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/singer_zendesk_chat/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/singer_zendesk_chat/ui-config.json b/src/configurations/sources/singer_zendesk_chat/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/singer_zendesk_chat/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/singer_zendesk_support/db-config.json b/src/configurations/sources/singer_zendesk_support/db-config.json new file mode 100644 index 000000000..49a7bd6d5 --- /dev/null +++ b/src/configurations/sources/singer_zendesk_support/db-config.json @@ -0,0 +1,8 @@ +{ + "name": "singer-zendesk-support", + "category": "singer-protocol", + "displayName": "Zendesk Support", + "options": { + "image": "rudderstack/source-zendesk-support:v1" + } +} diff --git a/src/configurations/sources/singer_zendesk_support/metadata.json b/src/configurations/sources/singer_zendesk_support/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/singer_zendesk_support/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/singer_zendesk_support/schema.json b/src/configurations/sources/singer_zendesk_support/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/singer_zendesk_support/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/singer_zendesk_support/ui-config.json b/src/configurations/sources/singer_zendesk_support/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/singer_zendesk_support/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/snowflake/db-config.json b/src/configurations/sources/snowflake/db-config.json new file mode 100644 index 000000000..8446a930b --- /dev/null +++ b/src/configurations/sources/snowflake/db-config.json @@ -0,0 +1,10 @@ +{ + "name": "snowflake", + "category": "warehouse", + "displayName": "Snowflake", + "options": { + "syncBehaviours": ["upsert", "mirror"], + "isSqlModelSupported": true, + "isAudienceSupported": true + } +} diff --git a/src/configurations/sources/snowflake/metadata.json b/src/configurations/sources/snowflake/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/snowflake/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/snowflake/schema.json b/src/configurations/sources/snowflake/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/snowflake/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/snowflake/ui-config.json b/src/configurations/sources/snowflake/ui-config.json new file mode 100644 index 000000000..42828fac9 --- /dev/null +++ b/src/configurations/sources/snowflake/ui-config.json @@ -0,0 +1,89 @@ +{ + "uiConfig": [ + { + "title": "Connection Credentials", + "secretFields": ["password"], + "docLinks": { + "grantPermissions": "https://docs.rudderstack.com/reverse-etl/snowflake/#granting-permissions", + "verifyingCredentials": "https://docs.rudderstack.com/reverse-etl/snowflake/#what-do-the-three-validations-under-verifying-credentials-imply", + "jsonMapperUseInstructions": "https://docs.rudderstack.com/reverse-etl/snowflake/#specifying-the-data-to-import", + "setupInstructions": "https://docs.rudderstack.com/reverse-etl/snowflake" + }, + "nameField": "account", + "fields": [ + { + "type": "textInput", + "label": "Account", + "value": "account", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true, + "addInAccountSummary": true, + "trim": true + }, + { + "type": "textInput", + "label": "Database", + "value": "dbname", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true, + "addInAccountSummary": true, + "trim": true + }, + { + "type": "textInput", + "label": "Warehouse", + "value": "warehouse", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true, + "addInAccountSummary": true, + "trim": true + }, + { + "type": "textInput", + "label": "User", + "value": "user", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true, + "trim": true + }, + { + "type": "textInput", + "label": "Password", + "value": "password", + "inputFieldType": "password", + "regex": ".*", + "required": true, + "secret": true + }, + { + "type": "singleSelect", + "label": "Choose your Cloud", + "value": "cloudProvider", + "options": [ + { + "name": "Amazon Web Services", + "value": "AWS" + }, + { + "name": "Google Cloud Platform", + "value": "GCP" + }, + { + "name": "Microsoft Azure", + "value": "AZURE" + } + ], + "defaultOption": { + "name": "Amazon Web Services", + "value": "AWS" + }, + "required": true + } + ] + } + ] +} diff --git a/src/configurations/sources/stripe/db-config.json b/src/configurations/sources/stripe/db-config.json new file mode 100644 index 000000000..5bed2d211 --- /dev/null +++ b/src/configurations/sources/stripe/db-config.json @@ -0,0 +1,5 @@ +{ + "name": "stripe", + "category": "cloud", + "displayName": "Stripe" +} diff --git a/src/configurations/sources/stripe/metadata.json b/src/configurations/sources/stripe/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/stripe/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/stripe/schema.json b/src/configurations/sources/stripe/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/stripe/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/stripe/ui-config.json b/src/configurations/sources/stripe/ui-config.json new file mode 100644 index 000000000..7dc4084fe --- /dev/null +++ b/src/configurations/sources/stripe/ui-config.json @@ -0,0 +1,130 @@ +{ + "uiConfig": { + "auth": { + "type": "OAuth" + }, + "config": [ + { + "title": "Source Settings", + "fields": [ + { + "type": "singleSelect", + "label": "Stripe Version", + "value": "stripeVersion", + "options": [ + { + "name": "2020-08-27", + "value": "2020-08-27" + }, + { + "name": "2020-03-02", + "value": "2020-03-02" + }, + { + "name": "2019-12-03", + "value": "2019-12-03" + }, + { + "name": "2019-11-05", + "value": "2019-11-05" + }, + { + "name": "2019-10-17", + "value": "2019-10-17" + }, + { + "name": "2019-10-08", + "value": "2019-10-08" + }, + { + "name": "2019-09-09", + "value": "2019-09-09" + }, + { + "name": "2019-08-14", + "value": "2019-08-14" + }, + { + "name": "2019-05-16", + "value": "2019-05-16" + }, + { + "name": "2019-03-14", + "value": "2019-03-14" + }, + { + "name": "2019-02-19", + "value": "2019-02-19" + }, + { + "name": "2019-02-11", + "value": "2019-02-11" + }, + { + "name": "2018-11-08", + "value": "2018-11-08" + }, + { + "name": "2018-10-31", + "value": "2018-10-31" + }, + { + "name": "2018-09-24", + "value": "2018-09-24" + }, + { + "name": "2018-08-23", + "value": "2018-08-23" + }, + { + "name": "2018-07-27", + "value": "2018-07-27" + }, + { + "name": "2018-05-21", + "value": "2018-05-21" + }, + { + "name": "2018-02-28", + "value": "2018-02-28" + }, + { + "name": "2018-02-05", + "value": "2018-02-05" + }, + { + "name": "2018-01-23", + "value": "2018-01-23" + }, + { + "name": "2017-12-14", + "value": "2017-12-14" + }, + { + "name": "2017-08-15", + "value": "2017-08-15" + }, + { + "name": "2017-05-25", + "value": "2017-05-25" + }, + { + "name": "2017-04-06", + "value": "2017-04-06" + }, + { + "name": "2017-02-14", + "value": "2017-02-14" + } + ], + "defaultOption": { + "name": "Default Version", + "value": "" + }, + "required": true + } + ] + } + ] + } +} diff --git a/src/configurations/sources/unity/db-config.json b/src/configurations/sources/unity/db-config.json new file mode 100644 index 000000000..de6fbaec4 --- /dev/null +++ b/src/configurations/sources/unity/db-config.json @@ -0,0 +1,4 @@ +{ + "name": "Unity", + "displayName": "Unity" +} diff --git a/src/configurations/sources/unity/metadata.json b/src/configurations/sources/unity/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/unity/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/unity/schema.json b/src/configurations/sources/unity/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/unity/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/unity/ui-config.json b/src/configurations/sources/unity/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/unity/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/webhook/db-config.json b/src/configurations/sources/webhook/db-config.json new file mode 100644 index 000000000..34fe376f4 --- /dev/null +++ b/src/configurations/sources/webhook/db-config.json @@ -0,0 +1,5 @@ +{ + "name": "webhook", + "category": "webhook", + "displayName": "Webhook Source" +} diff --git a/src/configurations/sources/webhook/metadata.json b/src/configurations/sources/webhook/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/webhook/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/webhook/schema.json b/src/configurations/sources/webhook/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/webhook/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/webhook/ui-config.json b/src/configurations/sources/webhook/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/webhook/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/src/configurations/sources/xero/db-config.json b/src/configurations/sources/xero/db-config.json new file mode 100644 index 000000000..2b1219ea9 --- /dev/null +++ b/src/configurations/sources/xero/db-config.json @@ -0,0 +1,11 @@ +{ + "name": "xero", + "category": "cloud", + "displayName": "Xero", + "options": { + "auth": { + "provider": "Xero" + }, + "hidden": true + } +} diff --git a/src/configurations/sources/xero/metadata.json b/src/configurations/sources/xero/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/xero/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/xero/schema.json b/src/configurations/sources/xero/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/xero/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/xero/ui-config.json b/src/configurations/sources/xero/ui-config.json new file mode 100644 index 000000000..e5572ee64 --- /dev/null +++ b/src/configurations/sources/xero/ui-config.json @@ -0,0 +1,42 @@ +{ + "uiConfig": { + "auth": { + "type": "OAuth" + }, + "config": [ + { + "title": "Source Settings", + "fields": [ + { + "method": "post", + "type": "dynamicSelect", + "url": "/cloudSources/info/roles/xero/info/tenants", + "label": "Tenant Id", + "labelKey": "tenantId", + "valueKey": "tenantId", + "value": "tenantId", + "required": true + }, + { + "type": "singleSelect", + "label": "Earliest report year", + "value": "reportStartYear", + "footerNote": "Fetch monthly reports starting from this year.", + "required": true, + "options": [2019, 2018, 2017, 2016, 2015], + "default": 2019 + }, + { + "type": "singleSelect", + "label": "Report starting month", + "value": "reportPastMonths", + "footerNote": "Starting month for each monthly report.", + "required": true, + "options": [1, 3, 6, 12], + "default": 6 + } + ] + } + ] + } +} diff --git a/src/configurations/sources/zendesk/db-config.json b/src/configurations/sources/zendesk/db-config.json new file mode 100644 index 000000000..3ee109de9 --- /dev/null +++ b/src/configurations/sources/zendesk/db-config.json @@ -0,0 +1,8 @@ +{ + "name": "zendesk", + "category": "cloud", + "displayName": "Zendesk", + "options": { + "hidden": true + } +} diff --git a/src/configurations/sources/zendesk/metadata.json b/src/configurations/sources/zendesk/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/zendesk/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/zendesk/schema.json b/src/configurations/sources/zendesk/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/zendesk/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/zendesk/ui-config.json b/src/configurations/sources/zendesk/ui-config.json new file mode 100644 index 000000000..ee2947ec8 --- /dev/null +++ b/src/configurations/sources/zendesk/ui-config.json @@ -0,0 +1,39 @@ +{ + "uiConfig": { + "auth": { + "type": "form", + "secretFields": ["token"], + "nameField": "username", + "config": [ + { + "fields": [ + { + "type": "textInput", + "label": "Subdomain", + "value": "subdomain", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true + }, + { + "type": "textInput", + "label": "Zendesk username (Email)", + "value": "username", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true + }, + { + "type": "textInput", + "label": "Token", + "value": "token", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value", + "required": true + } + ] + } + ] + } + } +} diff --git a/src/configurations/sources/zendesk_chat/db-config.json b/src/configurations/sources/zendesk_chat/db-config.json new file mode 100644 index 000000000..adafd83db --- /dev/null +++ b/src/configurations/sources/zendesk_chat/db-config.json @@ -0,0 +1,8 @@ +{ + "name": "zendesk_chat", + "category": "cloud", + "displayName": "Zendesk Chat", + "options": { + "hidden": true + } +} diff --git a/src/configurations/sources/zendesk_chat/metadata.json b/src/configurations/sources/zendesk_chat/metadata.json new file mode 100644 index 000000000..1aa657680 --- /dev/null +++ b/src/configurations/sources/zendesk_chat/metadata.json @@ -0,0 +1,13 @@ +{ + "metadata": { + "primaryCategory": "", + "secondaryCategory": [], + "docLink": "", + "logoPath": "", + "releaseStatus": "beta", + "sourceCode": { + "github": "", + "version": "v1.0.0" + } + } +} diff --git a/src/configurations/sources/zendesk_chat/schema.json b/src/configurations/sources/zendesk_chat/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/zendesk_chat/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/zendesk_chat/ui-config.json b/src/configurations/sources/zendesk_chat/ui-config.json new file mode 100644 index 000000000..29166a44c --- /dev/null +++ b/src/configurations/sources/zendesk_chat/ui-config.json @@ -0,0 +1,22 @@ +{ + "uiConfig": { + "auth": { + "type": "OAuth", + "config": [ + { + "fields": [ + { + "type": "textInput", + "label": "Subdomain", + "value": "subdomain", + "required": true, + "footerNote": "Subdomain of your Zendesk Chat URL", + "regex": "^(.{0,100})$", + "regexErrorMessage": "Invalid Value" + } + ] + } + ] + } + } +} diff --git a/src/index.ts b/src/index.ts new file mode 100644 index 000000000..80bf090fa --- /dev/null +++ b/src/index.ts @@ -0,0 +1 @@ +export * from './validator'; diff --git a/src/validations/__tests__/validation.test.ts b/src/validations/__tests__/validation.test.ts deleted file mode 100644 index 048139ed6..000000000 --- a/src/validations/__tests__/validation.test.ts +++ /dev/null @@ -1,68 +0,0 @@ -/* eslint-disable max-len */ -import init, { validateConfig } from '../validator'; -import fs from 'fs'; -import path from 'path'; - -type TestConfigSchema = { - [key: string]: unknown; -}; - -function getDestNames(path:any) { - return fs.readdirSync(path).filter(function (file) { - return fs.statSync(path+'/'+file).isDirectory(); - }); -} - -// dynamically fetch all the destination names -const destNameArray = getDestNames(path.join(process.cwd(),'data','destinations')); - -const testDatas: Array = []; - -// console.log(destNameArray) - -destNameArray.forEach((dest: any) => { - try { - testDatas[dest] = JSON.parse( - fs.readFileSync( - path.resolve( - __dirname, - `./validation_test_data/${dest.toLowerCase()}_test.json`, - ), - 'utf-8', - ), - ); - } catch (e) {} -}); - -function delay(ms: number) { - return new Promise((resolve) => setTimeout(resolve, ms)); -} - -describe('Validator Tests', () => { - beforeAll(async () => { - init(); - await delay(1000); - }); - let destCount = 1; - Object.keys(testDatas).forEach((dest: any) => { - let payloadCount = 0; - describe(`${destCount}. ${dest}`, () => { - Object.values(testDatas[dest]).forEach((td: any) => { - it(`Payload ${payloadCount}`, async () => { - if (td.result === true) { - expect(validateConfig(dest, td.config)).toBeUndefined(); - } - if (td.result === false) { - try { - validateConfig(dest, td.config); - } catch (err: any) { - expect(err.message).toEqual(JSON.stringify(td.err)); - } - } - }); - payloadCount += 1; - }); - destCount += 1; - }); - }); -}); diff --git a/src/validations/__tests__/validation_test_data/adobe_analytics_test.json b/src/validations/__tests__/validation_test_data/adobe_analytics_test.json deleted file mode 100644 index 8a64058f8..000000000 --- a/src/validations/__tests__/validation_test_data/adobe_analytics_test.json +++ /dev/null @@ -1,409 +0,0 @@ -[ - { - "config": { - "trackingServerUrl": "https://www.rudderstack.com/docs/destinations/streaming-destinations/adobe-analytics", - "trackingServerSecureUrl": "https://www.rudderstack.com/docs/destinations/streaming-destinations/adobe-analytics/", - "reportSuiteIds": "id001, id002", - "sslHeartbeat": true, - "heartbeatTrackingServerUrl": "https://heartbeat.com", - "useUtf8Charset": true, - "useSecureServerSide": true, - "proxyNormalUrl": "", - "proxyHeartbeatUrl": "", - "marketingCloudOrgId": "org10121", - "dropVisitorId": true, - "timestampOption": "enabled", - "timestampOptionalReporting": true, - "noFallbackVisitorId": false, - "preferVisitorId": true, - "trackPageName": true, - "contextDataPrefix": "rudderstack-context", - "useLegacyLinkName": true, - "pageNameFallbackTostring": false, - "sendFalseValues": true, - "productIdentifier": "sku", - "eventFilteringOption": "blacklistedEvents", - "eventsToTypes": [ - { - "from": "video start", - "to": "heartbeatPlaybackStarted" - }, - { - "from": "video end", - "to": "heartbeatPlaybackCompleted" - } - ], - "listDelimiter": [ - { - "from": "listPhone", - "to": "," - }, - { - "from": "listMobile", - "to": "|" - } - ], - "propsDelimiter": [ - { - "from": "customPhone", - "to": "," - }, - { - "from": "customMobile", - "to": "|" - } - ], - "eventMerchProperties": [ - { - "eventMerchProperties": "currency" - }, - { - "eventMerchProperties": "location" - } - ], - "productMerchProperties": [ - { - "productMerchProperties": "productName" - }, - { - "productMerchProperties": "productInventory" - } - ], - "whitelistedEvents": [ - { - "eventName": "" - } - ], - "blacklistedEvents": [ - { - "eventName": "Restart Checkout" - }, - { - "eventName": "Restart Initiated" - } - ], - "rudderEventsToAdobeEvents": [ - { - "from": "product searched", - "to": "ps1,ps2" - } - ], - "contextDataMapping": [ - { - "from": "page.name", - "to": "pName" - }, - { - "from": "page.url", - "to": "pUrl" - } - ], - "mobileEventMapping": [ - { - "from": "page.name", - "to": "pName" - }, - { - "from": "page.url", - "to": "pUrl" - } - ], - "eVarMapping": [ - { - "from": "phone", - "to": "1" - }, - { - "from": "mobile", - "to": "2" - } - ], - "hierMapping": [ - { - "from": "phone", - "to": "1" - }, - { - "from": "mobile", - "to": "2" - } - ], - "listMapping": [ - { - "from": "listPhone", - "to": "1" - }, - { - "from": "listMobile", - "to": "2" - } - ], - "customPropsMapping": [ - { - "from": "phone", - "to": "1" - }, - { - "from": "mobile", - "to": "2" - } - ], - "eventMerchEventToAdobeEvent": [ - { - "from": "Order Completed", - "to": "merchEvent1" - } - ], - "productMerchEventToAdobeEvent": [ - { - "from": "Product Ordered", - "to": "MerchProduct1" - } - ], - "productMerchEvarsMap": [ - { - "from": "phone", - "to": "1" - }, - { - "from": "mobile", - "to": "2" - } - ], - "useNativeSDK": { - "web": true - }, - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "Marketing" - } - ] - } - }, - "result": true - }, - { - "config": { - "trackingServerUrl": "https://www.rudderstack.com/docs/destinations/streaming-destinations/adobe-analytics", - "trackingServerSecureUrl": "", - "sslHeartbeat": false, - "heartbeatTrackingServerUrl": "", - "useUtf8Charset": false, - "useSecureServerSide": false, - "proxyNormalUrl": "", - "proxyHeartbeatUrl": "", - "marketingCloudOrgId": "org10121", - "dropVisitorId": false, - "timestampOption": "enabled", - "timestampOptionalReporting": true, - "noFallbackVisitorId": false, - "preferVisitorId": false, - "trackPageName": true, - "contextDataPrefix": "rudderstack-context", - "useLegacyLinkName": true, - "pageNameFallbackTostring": false, - "sendFalseValues": true, - "productIdentifier": "sku", - "eventsToTypes": [ - { - "from": "video start", - "to": "heartbeatPlaybackStarted" - }, - { - "from": "video end", - "to": "heartbeatPlaybackCompleted" - } - ], - "listDelimiter": [ - { - "from": "customList", - "to": "|" - }, - { - "from": "listMobile", - "to": "|" - } - ], - "propsDelimiter": [ - { - "from": "customPhone", - "to": "," - }, - { - "from": "customMobile", - "to": "|" - } - ], - "eventMerchProperties": [ - { - "eventMerchProperties": "currency" - }, - { - "eventMerchProperties": "location" - } - ], - "productMerchProperties": [ - { - "productMerchProperties": "productName" - }, - { - "productMerchProperties": "productInventory" - } - ], - "rudderEventsToAdobeEvents": [ - { - "from": "product searched", - "to": "ps1,ps2" - } - ], - "contextDataMapping": [ - { - "from": "page.name", - "to": "pName" - }, - { - "from": "page.url", - "to": "pUrl" - } - ], - "mobileEventMapping": [ - { - "from": "page.name", - "to": "pName" - }, - { - "from": "page.url", - "to": "pUrl" - } - ], - "eVarMapping": [ - { - "from": "phone", - "to": "1" - }, - { - "from": "mobile", - "to": "2" - } - ] - }, - "result": false, - "err": [" must have required property 'reportSuiteIds'"] - }, - { - "config": { - "trackingServerUrl": "https://www.rudderstack.com/docs/destinations/streaming-destinations/adobe-analytics", - "trackingServerSecureUrl": "", - "sslHeartbeat": false, - "heartbeatTrackingServerUrl": "", - "useUtf8Charset": false, - "useSecureServerSide": false, - "proxyNormalUrl": "", - "proxyHeartbeatUrl": "", - "marketingCloudOrgId": "org10121", - "dropVisitorId": false, - "timestampOption": "enabled", - "timestampOptionalReporting": true, - "noFallbackVisitorId": false, - "preferVisitorId": false, - "trackPageName": true, - "contextDataPrefix": "rudderstack-context", - "useLegacyLinkName": true, - "pageNameFallbackTostring": false, - "sendFalseValues": true, - "productIdentifier": "sku", - "eventsToTypes": [ - { - "from": "video start", - "to": "heartbeatPlaybackStarted" - }, - { - "from": "video end", - "to": "heartbeatPlaybackCompleted" - } - ], - "listDelimiter": [ - { - "from": "", - "to": "" - }, - { - "from": "listMobile", - "to": "|" - } - ], - "propsDelimiter": [ - { - "from": "customPhone", - "to": "," - }, - { - "from": "customMobile", - "to": "|" - } - ], - "eventMerchProperties": [ - { - "eventMerchProperties": "currency" - }, - { - "eventMerchProperties": "location" - } - ], - "productMerchProperties": [ - { - "productMerchProperties": "productName" - }, - { - "productMerchProperties": "productInventory" - } - ], - "rudderEventsToAdobeEvents": [ - { - "from": "product searched", - "to": "ps1,ps2" - } - ], - "contextDataMapping": [ - { - "from": "page.name", - "to": "pName" - }, - { - "from": "page.url", - "to": "pUrl" - } - ], - "mobileEventMapping": [ - { - "from": "page.name", - "to": "pName" - }, - { - "from": "page.url", - "to": "pUrl" - } - ], - "eVarMapping": [ - { - "from": "phone", - "to": "1" - }, - { - "from": "mobile", - "to": "2" - } - ] - }, - "result": false, - "err": [" must have required property 'reportSuiteIds'"] - }, - { - "config": { - "reportSuiteIds": "navvalue01" - }, - "result": true - } -] - \ No newline at end of file diff --git a/src/validations/__tests__/validation_test_data/adroll_test.json b/src/validations/__tests__/validation_test_data/adroll_test.json deleted file mode 100644 index 32a50fcf7..000000000 --- a/src/validations/__tests__/validation_test_data/adroll_test.json +++ /dev/null @@ -1,189 +0,0 @@ -[ - { - "config": { - "advId": "ARHUQ4I4QRA5PEKHSWXFX1", - "pixId": "4UA3SEMV6DCPAHIKVOXS4E", - "eventFilteringOption": "whitelistedEvents", - "whitelistedEvents": [ - { - "eventName": "w1" - }, - { - "eventName": "w2" - } - ], - "blacklistedEvents": [ - { - "eventName": "b1" - } - ], - "useNativeSDK": { - "web": true - }, - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "Marketing" - } - ] - } - }, - "result": true - }, - { - "config": { - "pixId": "4UA3SEMV6DCPAHIKVOXS4E", - "eventFilteringOption": "whitelistedEvents", - "whitelistedEvents": [ - { - "eventName": "w1" - }, - { - "eventName": "w2" - } - ], - "blacklistedEvents": [ - { - "eventName": "b1" - } - ], - "useNativeSDK": { - "web": true - }, - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "Marketing" - } - ] - } - }, - "result": false, - "err": [ - " must have required property 'advId'" - ] - }, - { - "config": { - "advId": "ARHUQ4I4QRA5PEKHSWXFX1", - "pixId": "4UA3SEMV6DCPAHIKVOXS4E", - "eventFilteringOption": "disable", - "whitelistedEvents": [ - { - "eventName": "" - }, - { - "eventName": "" - } - ], - "blacklistedEvents": [ - { - "eventName": "" - } - ], - "useNativeSDK": { - "web": true - }, - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "" - } - ] - } - }, - "result": true - }, - { - "config": { - "advId": "ARHUQ4I4QRA5PEKHSWXFX1", - "pixId": "4UA3SEMV6DCPAHIKVOXS4E", - "eventFilteringOption": "whitelistedEvents", - "whitelistedEvents": [ - { - "eventName": "w1" - }, - { - "eventName": "w2" - } - ], - "blacklistedEvents": [ - { - "eventName": "b1" - } - ], - "useNativeSDK": true, - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "Marketing" - } - ] - } - }, - "result": false, - "err": ["useNativeSDK must be object"] - }, - { - "config": { - "advId": "ARHUQ4I4QRA5PEKHSWXFX1", - "eventFilteringOption": "whitelistedEvents", - "whitelistedEvents": [ - { - "eventName": "w1" - }, - { - "eventName": "w2" - } - ], - "blacklistedEvents": [ - { - "eventName": "b1" - } - ], - "useNativeSDK": { - "web": true - }, - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "Marketing" - } - ] - } - }, - "result": false, - "err": [ - " must have required property 'pixId'" - ] - }, - { - "config": { - "advId": "ARHUQ4I4QRA5PEKHSWXFX1", - "pixId": "4UA3SEMV6DCPAHIKVOXS4E", - "eventFilteringOption": "whitelistedEvents", - "whitelistedEvents": [], - "blacklistedEvents": [ - { - "eventName": { - "key": "eventValue" - } - } - ], - "useNativeSDK": { - "web": true - }, - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "Marketing" - } - ] - } - }, - "result": false, - "err": [ - "blacklistedEvents.0.eventName must be string" - ] - } -] \ No newline at end of file diff --git a/src/validations/__tests__/validation_test_data/af_test.json b/src/validations/__tests__/validation_test_data/af_test.json deleted file mode 100644 index 1db9cc90c..000000000 --- a/src/validations/__tests__/validation_test_data/af_test.json +++ /dev/null @@ -1,109 +0,0 @@ -[ - { - "config": { - "devKey": "aSL8jBa1DG9erAmMxRPiLM", - "androidAppId": "com.yara.fw.stage", - "appleAppId": "1202646468", - "useRichEventName": true, - "sharingFilter": "all", - "eventFilteringOption": "whitelistedEvents", - "whitelistedEvents": [ - { - "eventName": "devKey_event" - } - ], - "blacklistedEvents": [ - { - "eventName": "" - } - ] - }, - "result": true - }, - { - "config": { - "useNativeSDK": { - "android": true - }, - "androidAppId": "in.mintpro.debug", - "useRichEventName": true, - "sharingFilter": "all", - "eventFilteringOption": "disable", - "whitelistedEvents": [ - { - "eventName": "" - } - ] - }, - "result": false, - "err" : [" must have required property 'devKey'"] - }, - { - "config": { - "devKey": "KPH1PgKOKNst12LgFnQ8EI", - "androidAppId": "com.mycom.android.parent.debug", - "appleAppId": "id1251122201", - "useRichEventName": false, - "sharingFilter": "all", - "eventFilteringOption": "blacklistedEvents", - "whitelistedEvents": [ - { - "eventName": "Onboarding Opening" - } - ], - "blacklistedEvents": [ - { - "eventName": "Application Backgrounded" - } - ], - "useNativeSDK": { - "ios": true - } - }, - "result": true - }, - { - "config": { - "devKey": "P4kRcaFz8d6WwjpoosM3M1", - "useNativeSDK": { - "ios": true - }, - "appleAppId": "1524157507", - "androidAppId": "" - }, - "result": true - }, - { - "config": { - "devKey": "fSk3Lt3dVaWRTQ8H5m7BvI", - "useRichEventName": false, - "sharingFilter": "all", - "useNativeSDK": { - "reactnative": false - }, - "appleAppId": 1565920403 - }, - "result": false, - "err": ["appleAppId must be string"] - }, - { - "config": { - "devKey": "aSL8jBa1DG9erAmMxRPiLM", - "androidAppId": "com.yara.fw.stage", - "appleAppId": "1202646468", - "useRichEventName": true, - "sharingFilter": "qwssjfhncbhfjehduhendhhcidkfhhzvvxxpoiqwbfhfjjdskkdhviiwyrtehegdgyksjhjffmcnbcnvopoqweebdgggvcjkicjjcjcjnnzxxcxxxsdjjhjhjfhfgffhhhtjjjwwoo", - "eventFilteringOption": "whitelistedEvents", - "useNativeSDK": { - "cordova": true - }, - "whitelistedEvents": [ - { - "eventName": "devKey_event" - } - ] - }, - "result": false, - "err": ["sharingFilter must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$\""] - } -] \ No newline at end of file diff --git a/src/validations/__tests__/validation_test_data/am_test.json b/src/validations/__tests__/validation_test_data/am_test.json deleted file mode 100644 index 85f5252fe..000000000 --- a/src/validations/__tests__/validation_test_data/am_test.json +++ /dev/null @@ -1,448 +0,0 @@ -[ - { - "config": { - "apiKey": "8559811e41334c6d22b5c4b5f6s7gb70", - "apiSecret": "a41d5bc768831f083e3dacwecfgf7398", - "groupTypeTrait": "company_id", - "groupValueTrait": "company_name", - "trackAllPages": false, - "trackCategorizedPages": true, - "trackNamedPages": true, - "trackProductsOnce": false, - "trackRevenuePerProduct": false, - "versionName": "1.11.3", - "residencyServer":"standard", - "traitsToIncrement": [ - { - "traits": "presentclass" - }, - { - "traits": "presentgrade" - } - ], - "traitsToPrepend": [ - { - "traits": "prequelclass" - } - ], - "traitsToSetOnce": [ - { - "traits": "initialclass" - } - ], - "useNativeSDK": { - "web": false - }, - "preferAnonymousIdForDeviceId": { - "web": false - }, - "deviceIdFromUrlParam": { - "web": false - }, - "forceHttps": { - "web": false - }, - "trackGclid": { - "web": true - }, - "trackReferrer": { - "web": true - }, - "saveParamsReferrerOncePerSession": { - "web": true - }, - "trackUtmProperties": { - "web": true - }, - "unsetParamsReferrerOnNewSession": { - "web": false - }, - "batchEvents": { - "web": false - }, - "eventUploadPeriodMillis": { - "web": "30000" - }, - "eventUploadThreshold": { - "web": "30" - }, - "blacklistedEvents": [ - { - "eventName": "AM sample removed" - } - ], - "whitelistedEvents": [ - { - "eventName": "AM allowed customer check" - } - ], - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "Marketing" - } - ] - } - }, - "result": true - }, - { - "config": { - "apiSecret": "a41d5bc768831f083e2swcwecfgf7398", - "groupTypeTrait": "", - "groupValueTrait": "", - "trackAllPages": true, - "trackCategorizedPages": true, - "trackNamedPages": true, - "trackProductsOnce": false, - "trackRevenuePerProduct": false, - "versionName": "1.0.1", - "residencyServer":"EU", - "traitsToIncrement": [ - { - "traits": "profile_trait" - } - ], - "traitsToSetOnce": [ - { - "traits": "init" - }, - { - "traits": "init02" - } - ], - "useNativeSDK": { - "web": false - }, - "preferAnonymousIdForDeviceId": { - "web": false - }, - "deviceIdFromUrlParam": { - "web": false - }, - "forceHttps": { - "web": true - }, - "trackGclid": { - "web": true - }, - "trackReferrer": { - "web": true - }, - "saveParamsReferrerOncePerSession": { - "web": true - }, - "trackUtmProperties": { - "web": false - }, - "unsetParamsReferrerOnNewSession": { - "web": false - }, - "batchEvents": { - "web": false - }, - "eventUploadPeriodMillis": { - "web": "30000" - }, - "eventUploadThreshold": { - "web": "30" - } - }, - "result": false, - "err": [" must have required property 'apiKey'"] - }, - { - "config": { - "apiKey": "32fc323b8c13214e46470b519edpo401", - "groupTypeTrait": "Finsys_app_Stage", - "groupValueTrait": "Finsys Stage", - "trackAllPages": true, - "trackCategorizedPages": true, - "trackNamedPages": true, - "trackProductsOnce": true, - "trackRevenuePerProduct": true, - "versionName": "", - "residencyServer":"standard", - "traitsToIncrement": [ - { - "traits": "" - } - ], - "traitsToSetOnce": [ - { - "traits": "" - } - ], - "traitsToAppend": [ - { - "traits": "" - } - ], - "traitsToPrepend": [ - { - "traits": "" - } - ] - }, - "result": true - }, - { - "config": { - "apiKey": "12fd322b8c13214e36450b519typo402", - "groupTypeTrait": "Modelorama_app_Stage", - "groupValueTrait": "Modelorama Stage", - "trackAllPages": true, - "trackCategorizedPages": true, - "trackNamedPages": true, - "trackProductsOnce": true, - "trackRevenuePerProduct": true, - "versionName": "", - "residencyServer":"standard", - "traitsToIncrement": [ - { - "traits": "" - } - ], - "traitsToSetOnce": [ - { - "traits": "" - } - ], - "traitsToAppend": [ - { - "traits": "" - } - ], - "traitsToPrepend": [ - { - "traits": "" - } - ] - }, - "result": true - }, - { - "config": { - "apiKey": "1173185cre3a65172943ba1e41113dwd", - "groupTypeTrait": { - "prop": "new" - }, - "groupValueTrait": "", - "trackAllPages": true, - "trackCategorizedPages": true, - "trackNamedPages": true, - "trackProductsOnce": false, - "trackRevenuePerProduct": false, - "versionName": "", - "residencyServer":"standard", - "traitsToIncrement": [ - { - "traits": "" - } - ], - "traitsToSetOnce": [ - { - "traits": "" - } - ], - "traitsToAppend": [ - { - "traits": "" - } - ], - "traitsToPrepend": [ - { - "traits": "" - } - ], - "useNativeSDK": {}, - "preferAnonymousIdForDeviceId": {}, - "deviceIdFromUrlParam": {}, - "forceHttps": {}, - "trackGclid": {}, - "trackReferrer": {}, - "saveParamsReferrerOncePerSession": {}, - "trackUtmProperties": {}, - "unsetParamsReferrerOnNewSession": {}, - "batchEvents": {}, - "eventUploadPeriodMillis": {}, - "eventUploadThreshold": {}, - "blacklistedEvents": [], - "whitelistedEvents": [] - }, - "result": false, - "err": ["groupTypeTrait must be string"] - }, - { - "config": { - "apiKey": "1173185cre3a65172943ba1e41113dwd", - "groupTypeTrait": "", - "groupValueTrait": "", - "trackAllPages": true, - "trackCategorizedPages": false, - "trackNamedPages": true, - "trackProductsOnce": false, - "trackRevenuePerProduct": false, - "versionName": "1.1.01", - "residencyServer":"standard", - "traitsToIncrement": [ - { - "traits": { - "trait_name": "common01" - } - } - ], - "traitsToSetOnce": [ - { - "traits": "" - } - ], - "traitsToAppend": [ - { - "traits": "" - } - ], - "traitsToPrepend": [ - { - "traits": "" - } - ], - "useNativeSDK": {}, - "preferAnonymousIdForDeviceId": {}, - "deviceIdFromUrlParam": {}, - "forceHttps": {}, - "trackGclid": {}, - "trackReferrer": {}, - "saveParamsReferrerOncePerSession": {}, - "trackUtmProperties": {}, - "unsetParamsReferrerOnNewSession": {}, - "batchEvents": {}, - "eventUploadPeriodMillis": {}, - "eventUploadThreshold": {}, - "blacklistedEvents": [], - "whitelistedEvents": [] - }, - "result": false, - "err": ["traitsToIncrement.0.traits must be string"] - }, - { - "config": { - "apiKey": "8559811e41334c6d22b5c4b5f6s7gb70", - "apiSecret": "a41d5bc768831f083e3dacwecfgf7398", - "groupTypeTrait": "college_id", - "groupValueTrait": "college_name", - "trackAllPages": false, - "trackCategorizedPages": true, - "trackNamedPages": true, - "trackProductsOnce": false, - "trackRevenuePerProduct": false, - "versionName": "1.11.3", - "residencyServer":"standard", - "traitsToIncrement": [ - { - "traits": "" - } - ], - "useNativeSDK": { - "web": false - }, - "preferAnonymousIdForDeviceId": { - "web": false - }, - "deviceIdFromUrlParam": { - "web": false - }, - "forceHttps": { - "web": false - }, - "trackGclid": { - "web": true - }, - "trackReferrer": { - "web": true - }, - "saveParamsReferrerOncePerSession": { - "web": true - }, - "trackUtmProperties": { - "web": true - }, - "unsetParamsReferrerOnNewSession": { - "web": false - }, - "batchEvents": { - "web": false - }, - "eventUploadPeriodMillis": { - "web": "3a-6b0000" - }, - "eventUploadThreshold": { - "web": "30" - } - }, - "result": false, - "err": [ - "eventUploadPeriodMillis.web must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^([0-9]{0,100})$\"" - ] - }, - { - "config": { - "apiKey": "8559811e41334c6d22b5c4b5f6s7gb70", - "apiSecret": "a41d5bc768831f083e3dacwecfgf7398", - "groupTypeTrait": "college_id", - "groupValueTrait": "college_name", - "trackAllPages": false, - "trackCategorizedPages": true, - "trackNamedPages": true, - "trackProductsOnce": false, - "trackRevenuePerProduct": false, - "versionName": "1.11.3", - "residencyServer":"EU", - "traitsToIncrement": [ - { - "traits": "" - } - ], - "useNativeSDK": { - "web": false - }, - "preferAnonymousIdForDeviceId": { - "web": false - }, - "deviceIdFromUrlParam": { - "web": false - }, - "forceHttps": { - "web": false - }, - "trackGclid": { - "web": true - }, - "trackReferrer": { - "web": true - }, - "saveParamsReferrerOncePerSession": { - "web": true - }, - "trackUtmProperties": { - "web": true - }, - "unsetParamsReferrerOnNewSession": { - "web": false - }, - "batchEvents": { - "web": false - }, - "eventUploadPeriodMillis": { - "web": "5672" - }, - "eventUploadThreshold": { - "web": "30c" - } - }, - "result": false, - "err": [ - "eventUploadThreshold.web must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^([0-9]{0,100})$\"" - ] - } -] diff --git a/src/validations/__tests__/validation_test_data/attentive_tag_test.json b/src/validations/__tests__/validation_test_data/attentive_tag_test.json deleted file mode 100644 index 8ba0bbdd9..000000000 --- a/src/validations/__tests__/validation_test_data/attentive_tag_test.json +++ /dev/null @@ -1,25 +0,0 @@ -[ - { - "config": { - "apiKey": "", - "signUpSourceId": "123456" - }, - "result": false, - "err": ["apiKey must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\""] - }, - { - "config": { - "apiKey": "str_1435jbakh012", - "signUpSourceId": "123y56" - }, - "result": false, - "err": ["signUpSourceId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$\""] - }, - { - "config": { - "apiKey": "jkdhfkjdhfkjdhr38yhr3f3", - "signUpSourceId": "123456" - }, - "result": true - } -] diff --git a/src/validations/__tests__/validation_test_data/axeptio_test.json b/src/validations/__tests__/validation_test_data/axeptio_test.json deleted file mode 100644 index 14b30c5bc..000000000 --- a/src/validations/__tests__/validation_test_data/axeptio_test.json +++ /dev/null @@ -1,48 +0,0 @@ -[ - { - "config": { - "clientId": "dskh4ryfhc347896ryfh", - "toggleToActivateCallback": true, - "eventFilteringOption": "disable", - "whitelistedEvents": [{ "eventName": "" }], - "blacklistedEvents": [{ "eventName": "" }], - "oneTrustCookieCategories": { "web": [{ "oneTrustCookieCategory": "" }] }, - "useNativeSDK": { - "web": false - } - }, - "result": true - }, - { - "config": { - "clientId": "", - "toggleToActivateCallback": true, - "eventFilteringOption": "disable", - "whitelistedEvents": [{ "eventName": "" }], - "blacklistedEvents": [{ "eventName": "" }], - "oneTrustCookieCategories": { "web": [{ "oneTrustCookieCategory": "" }] }, - "useNativeSDK": { - "web": false - } - }, - "result": false, - "err": [ - "clientId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"" - ] - }, - { - "config": { - "clientId": "dskh4ryfhc347896ryfh", - "toggleToActivateCallback": "false", - "eventFilteringOption": "disable", - "whitelistedEvents": [{ "eventName": "" }], - "blacklistedEvents": [{ "eventName": "" }], - "oneTrustCookieCategories": { "web": [{ "oneTrustCookieCategory": "" }] }, - "useNativeSDK": { - "web": false - } - }, - "result": false, - "err": ["toggleToActivateCallback must be boolean"] - } -] diff --git a/src/validations/__tests__/validation_test_data/azure_datalake_test.json b/src/validations/__tests__/validation_test_data/azure_datalake_test.json deleted file mode 100644 index 0402ef87b..000000000 --- a/src/validations/__tests__/validation_test_data/azure_datalake_test.json +++ /dev/null @@ -1,179 +0,0 @@ -[ - { - "config": { - "containerName": "test-container", - "prefix": "xyzxx", - "namespace": "eu_new3", - "accountName": "test-account-name", - "accountKey": "test-azure-account-key", - "syncFrequency": "30" - }, - "result": true - }, - { - "config": { - "containerName": "test-container", - "prefix": "xyzxx", - "namespace": "eu_new3", - "accountName": "test-account-name", - "accountKey": "test-azure-account-key", - "sasToken": "", - "useSASTokens": false, - "syncFrequency": "30" - }, - "result": true - }, - { - "config": { - "containerName": "test-container", - "prefix": "xyzxx", - "namespace": "eu_new3", - "accountName": "test-account-name", - "accountKey": "", - "sasToken": "test-azure-sas-token", - "useSASTokens": true, - "syncFrequency": "30" - }, - "result": true - }, - { - "config": { - "containerName": "test-container", - "prefix": "xyzxx", - "namespace": "eu_new3", - "accountName": "test-account-name", - "accountKey": "test-azure-account-key", - "sasToken": "test-azure-sas-token", - "useSASTokens": true, - "syncFrequency": "30" - }, - "result": true - }, - { - "config": { - "containerName": "test-container", - "prefix": "xyzxx", - "namespace": "eu_new3", - "accountName": "test-account-name", - "accountKey": "test-azure-account-key", - "sasToken": "test-azure-sas-token", - "useSASTokens": false, - "syncFrequency": "30" - }, - "result": true - }, - { - "config": { - "containerName": "test-container", - "prefix": "xyzxx", - "namespace": "eu_new3", - "accountName": "test-account-name", - "syncFrequency": "30" - }, - "result": false, - "err": [ - " must have required property 'accountKey'", - " must have required property 'useSASTokens'", - " must have required property 'sasToken'", - " must match a schema in anyOf" - ] - }, - { - "config": { - "containerName": "test-container-test-container-test-container-test-container-test-container-test-container-test-container-test-container-", - "prefix": "xyzxx", - "namespace": "eu_new3", - "accountName": "test-account-name", - "accountKey": "test-azure-account-key", - "syncFrequency": "30" - }, - "result": false, - "err": [ - "containerName must match pattern \"(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$\"" - ] - }, - { - "config": { - "containerName": "test.container", - "prefix": "xyzxx", - "namespace": "eu_new3", - "accountName": "test-account-name", - "accountKey": "test-azure-account-key", - "syncFrequency": "30" - }, - "result": false, - "err": [ - "containerName must match pattern \"(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$\"" - ] - }, - { - "config": { - "containerName": "testContainer", - "prefix": "xyzxx", - "namespace": "eu_new3", - "accountName": "test-account-name", - "accountKey": "test-azure-account-key", - "syncFrequency": "30" - }, - "result": false, - "err": [ - "containerName must match pattern \"(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$\"" - ] - }, - { - "config": { - "containerName": "ab", - "prefix": "xyzxx", - "namespace": "eu_new3", - "accountName": "test-account-name", - "accountKey": "test-azure-account-key", - "syncFrequency": "30" - }, - "result": false, - "err": [ - "containerName must match pattern \"(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$\"" - ] - }, - { - "config": { - "containerName": "ab..ab", - "prefix": "xyzxx", - "namespace": "eu_new3", - "accountName": "test-account-name", - "accountKey": "test-azure-account-key", - "syncFrequency": "30" - }, - "result": false, - "err": [ - "containerName must match pattern \"(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$\"" - ] - }, - { - "config": { - "containerName": "ab--ab", - "prefix": "xyzxx", - "namespace": "eu_new3", - "accountName": "test-account-name", - "accountKey": "test-azure-account-key", - "syncFrequency": "30" - }, - "result": false, - "err": [ - "containerName must match pattern \"(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$\"" - ] - }, - { - "config": { - "containerName": "1.2.3.4", - "prefix": "xyzxx", - "namespace": "eu_new3", - "accountName": "test-account-name", - "accountKey": "test-azure-account-key", - "syncFrequency": "30" - }, - "result": false, - "err": [ - "containerName must match pattern \"(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$\"" - ] - } -] \ No newline at end of file diff --git a/src/validations/__tests__/validation_test_data/azure_synapse_test.json b/src/validations/__tests__/validation_test_data/azure_synapse_test.json deleted file mode 100644 index b8849f812..000000000 --- a/src/validations/__tests__/validation_test_data/azure_synapse_test.json +++ /dev/null @@ -1,276 +0,0 @@ -[ - { - "config": { - "host": "test-host", - "database": "test-database", - "user": "test-user", - "password": "test-password", - "port": "0000", - "sslMode": "disable", - "bucketProvider": "S3", - "syncFrequency": "30", - "useRudderStorage": false, - "bucketName": "test-bucket", - "accessKeyID": "test-access-key-id", - "accessKey": "test-access-key" - }, - "result": true - }, - { - "config": { - "host": "test-host", - "database": "test-database", - "user": "test-user", - "password": "test-password", - "port": "0000", - "sslMode": "disable", - "syncFrequency": "30", - "useRudderStorage": false, - "bucketProvider": "GCS", - "bucketName": "test-bucket", - "endPoint": "", - "useSSL": true, - "credentials": "{}", - "excludeWindow": { - "excludeWindowStartTime": "", - "excludeWindowEndTime": "" - }, - "syncStartAt": "16:30" - }, - "result": true - }, - { - "config": { - "host": "test-host", - "database": "test-database", - "user": "test-user", - "password": "test-password", - "port": "0000", - "sslMode": "disable", - "syncFrequency": "30", - "useRudderStorage": false, - "bucketProvider": "AZURE_BLOB", - "containerName": "test-container", - "accountName": "test-account-name", - "accountKey": "test-azure-account-key", - "useSSL": true - }, - "result": true - }, - { - "config": { - "host": "test-host", - "database": "test-database", - "user": "test-user", - "password": "test-password", - "port": "0000", - "sslMode": "disable", - "syncFrequency": "30", - "useRudderStorage": false, - "bucketProvider": "AZURE_BLOB", - "containerName": "test-container", - "accountName": "test-account-name", - "accountKey": "test-azure-account-key", - "sasToken": "", - "useSASTokens": false, - "useSSL": true - }, - "result": true - }, - { - "config": { - "host": "test-host", - "database": "test-database", - "user": "test-user", - "password": "test-password", - "port": "0000", - "sslMode": "disable", - "syncFrequency": "30", - "useRudderStorage": false, - "bucketProvider": "AZURE_BLOB", - "containerName": "test-container", - "accountName": "test-account-name", - "accountKey": "", - "sasToken": "test-azure-sas-token", - "useSASTokens": true, - "useSSL": true - }, - "result": true - }, - { - "config": { - "host": "test-host", - "database": "test-database", - "user": "test-user", - "password": "test-password", - "port": "0000", - "sslMode": "disable", - "syncFrequency": "30", - "useRudderStorage": false, - "bucketProvider": "AZURE_BLOB", - "containerName": "test-container", - "accountName": "test-account-name", - "accountKey": "test-azure-account-key", - "sasToken": "test-azure-sas-token", - "useSASTokens": true, - "useSSL": true - }, - "result": true - }, - { - "config": { - "host": "test-host", - "database": "test-database", - "user": "test-user", - "password": "test-password", - "port": "0000", - "sslMode": "disable", - "syncFrequency": "30", - "useRudderStorage": false, - "bucketProvider": "AZURE_BLOB", - "containerName": "test-container", - "accountName": "test-account-name", - "accountKey": "test-azure-account-key", - "sasToken": "test-azure-sas-token", - "useSASTokens": false, - "useSSL": true - }, - "result": true - }, - { - "config": { - "host": "test-host", - "database": "test-database", - "user": "test-user", - "password": "test-password", - "port": "0000", - "sslMode": "disable", - "syncFrequency": "30", - "useRudderStorage": false, - "bucketProvider": "AZURE_BLOB", - "containerName": "test-container", - "accountName": "test-account-name", - "useSSL": true - }, - "result": false, - "err": [ - " must have required property 'accountKey'", - " must have required property 'useSASTokens'", - " must have required property 'sasToken'", - " must match a schema in anyOf", - " must match \"then\" schema" - ] - }, - { - "config": { - "host": "test-host", - "database": "test-database", - "user": "test-user", - "password": "test-password", - "port": "0000", - "useRudderStorage": false, - "sslMode": "disable", - "bucketProvider": "MINIO", - "syncFrequency": "30", - "bucketName": "test-bucket", - "accessKeyID": "test-access-key-id", - "secretAccessKey": "test-secret-access-key", - "endPoint": "https:test.com", - "useSSL": true - }, - "result": true - }, - { - "config": { - "host": "test-host", - "database": "test-database", - "user": "test-user", - "password": "test-password", - "port": "0000", - "sslMode": "disable", - "bucketProvider": "S3", - "useRudderStorage": false, - "syncFrequency": "30", - "bucketName": "ab..ab", - "accessKeyID": "test-access-key-id", - "accessKey": "test-access-key" - }, - "result": false, - "err": [ - "bucketName must match pattern \"(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"", - " must match \"then\" schema" - ] - }, - { - "config": { - "host": "test-host", - "database": "test-database", - "user": "test-user", - "password": "test-password", - "port": "0000", - "sslMode": "disable", - "syncFrequency": "30", - "useRudderStorage": false, - "bucketProvider": "GCS", - "bucketName": "test..bucket", - "endPoint": "", - "useSSL": true, - "credentials": "{}", - "excludeWindow": { - "excludeWindowStartTime": "", - "excludeWindowEndTime": "" - }, - "syncStartAt": "16:30" - }, - "result": false, - "err": [ - "bucketName must match pattern \"(^env[.].+)|^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$\"", - " must match \"then\" schema" - ] - }, - { - "config": { - "host": "test-host", - "database": "test-database", - "user": "test-user", - "password": "test-password", - "port": "0000", - "sslMode": "disable", - "syncFrequency": "30", - "useRudderStorage": false, - "bucketProvider": "AZURE_BLOB", - "containerName": "test--container", - "accountName": "test-account-name", - "accountKey": "test-azure-account-key", - "useSSL": true - }, - "result": false, - "err": [ - "containerName must match pattern \"(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$\"", - " must match \"then\" schema" - ] - }, - { - "config": { - "host": "test-host", - "database": "test-database", - "user": "test-user", - "password": "test-password", - "port": "0000", - "useRudderStorage": false, - "sslMode": "disable", - "bucketProvider": "MINIO", - "syncFrequency": "30", - "bucketName": "1.2.3.4", - "accessKeyID": "test-access-key-id", - "secretAccessKey": "test-secret-access-key", - "endPoint": "https:test.com", - "useSSL": true - }, - "result": false, - "err": [ - "bucketName must match pattern \"(^env[.].+)|^((?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"", - " must match \"then\" schema" - ] - } -] \ No newline at end of file diff --git a/src/validations/__tests__/validation_test_data/canny_test.json b/src/validations/__tests__/validation_test_data/canny_test.json deleted file mode 100644 index 9dfc0ad5d..000000000 --- a/src/validations/__tests__/validation_test_data/canny_test.json +++ /dev/null @@ -1,49 +0,0 @@ -[ - { - "config": { - "apiKey": "abcd123", - "eventsToEvents": [ - { - "from": "First", - "to": "createVote" - } - ] - }, - "result": true - }, - { - "config": { - "apiKey": "", - "eventsToEvents": [ - { - "from": "First", - "to": "createPost" - } - ] - }, - "result": false, - "err": [ - "apiKey must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"" - ] - }, - { - "config": { - "apiKey": "abcd", - "eventsToEvents": [ - { - "from": "First", - "to": "createPost" - }, - { - "from": "Second", - "to": "createPost" - }, - { - "from": "First", - "to": "createVote" - } - ] - }, - "result": true - } -] diff --git a/src/validations/__tests__/validation_test_data/clickhouse_test.json b/src/validations/__tests__/validation_test_data/clickhouse_test.json deleted file mode 100644 index b8849f812..000000000 --- a/src/validations/__tests__/validation_test_data/clickhouse_test.json +++ /dev/null @@ -1,276 +0,0 @@ -[ - { - "config": { - "host": "test-host", - "database": "test-database", - "user": "test-user", - "password": "test-password", - "port": "0000", - "sslMode": "disable", - "bucketProvider": "S3", - "syncFrequency": "30", - "useRudderStorage": false, - "bucketName": "test-bucket", - "accessKeyID": "test-access-key-id", - "accessKey": "test-access-key" - }, - "result": true - }, - { - "config": { - "host": "test-host", - "database": "test-database", - "user": "test-user", - "password": "test-password", - "port": "0000", - "sslMode": "disable", - "syncFrequency": "30", - "useRudderStorage": false, - "bucketProvider": "GCS", - "bucketName": "test-bucket", - "endPoint": "", - "useSSL": true, - "credentials": "{}", - "excludeWindow": { - "excludeWindowStartTime": "", - "excludeWindowEndTime": "" - }, - "syncStartAt": "16:30" - }, - "result": true - }, - { - "config": { - "host": "test-host", - "database": "test-database", - "user": "test-user", - "password": "test-password", - "port": "0000", - "sslMode": "disable", - "syncFrequency": "30", - "useRudderStorage": false, - "bucketProvider": "AZURE_BLOB", - "containerName": "test-container", - "accountName": "test-account-name", - "accountKey": "test-azure-account-key", - "useSSL": true - }, - "result": true - }, - { - "config": { - "host": "test-host", - "database": "test-database", - "user": "test-user", - "password": "test-password", - "port": "0000", - "sslMode": "disable", - "syncFrequency": "30", - "useRudderStorage": false, - "bucketProvider": "AZURE_BLOB", - "containerName": "test-container", - "accountName": "test-account-name", - "accountKey": "test-azure-account-key", - "sasToken": "", - "useSASTokens": false, - "useSSL": true - }, - "result": true - }, - { - "config": { - "host": "test-host", - "database": "test-database", - "user": "test-user", - "password": "test-password", - "port": "0000", - "sslMode": "disable", - "syncFrequency": "30", - "useRudderStorage": false, - "bucketProvider": "AZURE_BLOB", - "containerName": "test-container", - "accountName": "test-account-name", - "accountKey": "", - "sasToken": "test-azure-sas-token", - "useSASTokens": true, - "useSSL": true - }, - "result": true - }, - { - "config": { - "host": "test-host", - "database": "test-database", - "user": "test-user", - "password": "test-password", - "port": "0000", - "sslMode": "disable", - "syncFrequency": "30", - "useRudderStorage": false, - "bucketProvider": "AZURE_BLOB", - "containerName": "test-container", - "accountName": "test-account-name", - "accountKey": "test-azure-account-key", - "sasToken": "test-azure-sas-token", - "useSASTokens": true, - "useSSL": true - }, - "result": true - }, - { - "config": { - "host": "test-host", - "database": "test-database", - "user": "test-user", - "password": "test-password", - "port": "0000", - "sslMode": "disable", - "syncFrequency": "30", - "useRudderStorage": false, - "bucketProvider": "AZURE_BLOB", - "containerName": "test-container", - "accountName": "test-account-name", - "accountKey": "test-azure-account-key", - "sasToken": "test-azure-sas-token", - "useSASTokens": false, - "useSSL": true - }, - "result": true - }, - { - "config": { - "host": "test-host", - "database": "test-database", - "user": "test-user", - "password": "test-password", - "port": "0000", - "sslMode": "disable", - "syncFrequency": "30", - "useRudderStorage": false, - "bucketProvider": "AZURE_BLOB", - "containerName": "test-container", - "accountName": "test-account-name", - "useSSL": true - }, - "result": false, - "err": [ - " must have required property 'accountKey'", - " must have required property 'useSASTokens'", - " must have required property 'sasToken'", - " must match a schema in anyOf", - " must match \"then\" schema" - ] - }, - { - "config": { - "host": "test-host", - "database": "test-database", - "user": "test-user", - "password": "test-password", - "port": "0000", - "useRudderStorage": false, - "sslMode": "disable", - "bucketProvider": "MINIO", - "syncFrequency": "30", - "bucketName": "test-bucket", - "accessKeyID": "test-access-key-id", - "secretAccessKey": "test-secret-access-key", - "endPoint": "https:test.com", - "useSSL": true - }, - "result": true - }, - { - "config": { - "host": "test-host", - "database": "test-database", - "user": "test-user", - "password": "test-password", - "port": "0000", - "sslMode": "disable", - "bucketProvider": "S3", - "useRudderStorage": false, - "syncFrequency": "30", - "bucketName": "ab..ab", - "accessKeyID": "test-access-key-id", - "accessKey": "test-access-key" - }, - "result": false, - "err": [ - "bucketName must match pattern \"(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"", - " must match \"then\" schema" - ] - }, - { - "config": { - "host": "test-host", - "database": "test-database", - "user": "test-user", - "password": "test-password", - "port": "0000", - "sslMode": "disable", - "syncFrequency": "30", - "useRudderStorage": false, - "bucketProvider": "GCS", - "bucketName": "test..bucket", - "endPoint": "", - "useSSL": true, - "credentials": "{}", - "excludeWindow": { - "excludeWindowStartTime": "", - "excludeWindowEndTime": "" - }, - "syncStartAt": "16:30" - }, - "result": false, - "err": [ - "bucketName must match pattern \"(^env[.].+)|^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$\"", - " must match \"then\" schema" - ] - }, - { - "config": { - "host": "test-host", - "database": "test-database", - "user": "test-user", - "password": "test-password", - "port": "0000", - "sslMode": "disable", - "syncFrequency": "30", - "useRudderStorage": false, - "bucketProvider": "AZURE_BLOB", - "containerName": "test--container", - "accountName": "test-account-name", - "accountKey": "test-azure-account-key", - "useSSL": true - }, - "result": false, - "err": [ - "containerName must match pattern \"(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$\"", - " must match \"then\" schema" - ] - }, - { - "config": { - "host": "test-host", - "database": "test-database", - "user": "test-user", - "password": "test-password", - "port": "0000", - "useRudderStorage": false, - "sslMode": "disable", - "bucketProvider": "MINIO", - "syncFrequency": "30", - "bucketName": "1.2.3.4", - "accessKeyID": "test-access-key-id", - "secretAccessKey": "test-secret-access-key", - "endPoint": "https:test.com", - "useSSL": true - }, - "result": false, - "err": [ - "bucketName must match pattern \"(^env[.].+)|^((?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"", - " must match \"then\" schema" - ] - } -] \ No newline at end of file diff --git a/src/validations/__tests__/validation_test_data/clickup_test.json b/src/validations/__tests__/validation_test_data/clickup_test.json deleted file mode 100644 index 7dfdb8119..000000000 --- a/src/validations/__tests__/validation_test_data/clickup_test.json +++ /dev/null @@ -1,105 +0,0 @@ -[ - { - "config": { - "apiToken": "pk_880343042_1W64ZBPLP71H5YAYAUEJHSRL", - "listId": "175496000", - "keyToCustomFieldName": [ - { - "from": "Industry", - "to": "industry" - } - ], - "whitelistedEvents": [{ "eventName": "" }] - }, - "result": true - }, - { - "config": { - "apiToken": "pk_880343042_1W64ZBPLP71H5YAYAUEJHSRL", - "listId": "175496000", - "keyToCustomFieldName": [ - { - "from": "Industry", - "to": "industry" - }, - { - "from": "Account Size", - "to": "accountSize" - }, - { - "from": "Contact Title", - "to": "contactTitle" - }, - { - "from": "Payment Status", - "to": "paymentStatus" - } - ], - "whitelistedEvents": [ - { "eventName": "" }, - { "eventName": "Product Viewed" } - ] - }, - "result": true - }, - { - "config": { - "apiToken": 8872341, - "listId": "175496000", - "keyToCustomFieldName": [ - { - "from": "Industry", - "to": "industry" - } - ] - }, - "result": false, - "err": ["apiToken must be string"] - }, - { - "config": { - "apiToken": "", - "listId": "175496000", - "keyToCustomFieldName": [ - { - "from": "Industry", - "to": "industry" - } - ] - }, - "result": false, - "err": [ - "apiToken must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"" - ] - }, - { - "config": { - "apiToken": "8872341", - "listId": "", - "keyToCustomFieldName": [ - { - "from": "Industry", - "to": "industry" - } - ] - }, - "result": false, - "err": [ - "listId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"" - ] - }, - { - "config": { - "listId": "175496000" - }, - "result": false, - "err": [" must have required property 'apiToken'"] - }, - { - "config": { - "apiToken": "8872341" - }, - "result": false, - "err": [" must have required property 'listId'"] - } -] diff --git a/src/validations/__tests__/validation_test_data/convertflow_test.json b/src/validations/__tests__/validation_test_data/convertflow_test.json deleted file mode 100644 index 3c72c6a05..000000000 --- a/src/validations/__tests__/validation_test_data/convertflow_test.json +++ /dev/null @@ -1,72 +0,0 @@ -[ - { - "config": { - "websiteId": "", - "toggleToSendData": false, - "eventsList": "cfView", - "eventsMapping": [ - { - "from": "cfView", - "to": "Viewed CTA" - } - ], - "eventFilteringOption": "disable", - "whitelistedEvents": [{ "eventName": "" }], - "blacklistedEvents": [{ "eventName": "" }], - "oneTrustCookieCategories": { "web": [{ "oneTrustCookieCategory": "" }] }, - "useNativeSDK": { - "web": false - } - }, - "result": false, - "err": [ - "websiteId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,10})$\"" - ] - }, - { - "config": { - "websiteId": "47838", - "toggleToSendData": "false", - "eventsList": "cfView", - "eventsMapping": [ - { - "from": "cfView", - "to": "Viewed CTA" - } - ], - "eventFilteringOption": "disable", - "whitelistedEvents": [{ "eventName": "" }], - "blacklistedEvents": [{ "eventName": "" }], - "oneTrustCookieCategories": { "web": [{ "oneTrustCookieCategory": "" }] }, - "useNativeSDK": { - "web": false - } - }, - "result": false, - "err": [ - "toggleToSendData must be boolean" - ] - - }, - { - "config": { - "websiteId": "23894", - "toggleToSendData": true, - "eventsList": "cfView", - "eventsMapping": [ - { - "from": "cfView", - "to": "Viewed CTA" - } - ], - "eventFilteringOption": "disable", - "whitelistedEvents": [{ "eventName": "" }], - "blacklistedEvents": [{ "eventName": "" }], - "oneTrustCookieCategories": { "web": [{ "oneTrustCookieCategory": "" }] }, - "useNativeSDK": { - "web": false - } - }, - "result": true - } -] diff --git a/src/validations/__tests__/validation_test_data/criteo_test.json b/src/validations/__tests__/validation_test_data/criteo_test.json deleted file mode 100644 index 7ed489e45..000000000 --- a/src/validations/__tests__/validation_test_data/criteo_test.json +++ /dev/null @@ -1,131 +0,0 @@ -[ - { - "config": { - "accountId": "12", - "homePageUrl": "https://www.google.com", - "hashMethod": "md5", - "fieldMapping": [ - { - "from": "signup", - "to": "billing" - } - ], - "whitelistedEvents": [ - { - "eventName": "login" - } - ], - "blacklistedEvents": [ - { - "eventName": "ad_disabled" - } - ], - "eventFilteringOption": "whitelistedEvents", - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "product" - } - ] - }, - "eventsToStandard": [ - { - "from": "add to cart", - "to": "product viewed" - }, - { - "from": "cart checkout", - "to": "cart viewed" - } - ] - }, - "useNativeSDK": { - "web": false - }, - "result": true - }, - { - "config": { - "accountId": "", - "homePageUrl": "https://www.facebook.com", - "hashMethod": "md5", - "fieldMapping": [ - { - "from": "signup", - "to": "billing" - } - ], - "whitelistedEvents": [ - { - "eventName": "login" - } - ], - "blacklistedEvents": [ - { - "eventName": "ad_disabled" - } - ], - "eventFilteringOption": "whitelistedEvents", - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "product" - } - ] - }, - "eventsToStandard": [ - { - "from": "add to cart", - "to": "product viewed" - }, - { - "from": "cart checkout", - "to": "cart viewed" - } - ] - }, - "useNativeSDK": { - "web": false - }, - "result": false, - "err": [ - "accountId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[1-9]+$\"" - ] - }, - { - "config": { - "accountId": "15", - "fieldMapping": [ - { - "from": "login", - "to": "logout" - } - ], - "whitelistedEvents": [ - { - "eventName": "product added" - } - ], - "blacklistedEvents": [ - { - "eventName": "ad_disabled" - } - ], - "eventFilteringOption": "whitelistedEvents", - "eventsToStandard": [ - { - "from": "add to cart", - "to": "product viewed" - }, - { - "from": "cart checkout", - "to": "cart viewed" - } - ] - }, - "useNativeSDK": { - "web": false - }, - "result": true - } -] diff --git a/src/validations/__tests__/validation_test_data/custify_test.json b/src/validations/__tests__/validation_test_data/custify_test.json deleted file mode 100644 index 4f9b52b36..000000000 --- a/src/validations/__tests__/validation_test_data/custify_test.json +++ /dev/null @@ -1,32 +0,0 @@ -[ - { - "config": { - "apiKey": "testapikey", - "sendAnonymousId": true - }, - "result": true - }, - { - "config": { - "sendAnonymousId": true - }, - "result": false, - "err": [" must have required property 'apiKey'"] - }, - { - "description": "TODO:We dont have a validation for empty string need to figure out this", - "config": { - "apiKey": "", - "sendAnonymousId": true - }, - "result": true - }, - { - "config": { - "apiKey": "testapikey", - "sendAnonymousId": 123 - }, - "result": false, - "err": ["sendAnonymousId must be boolean"] - } -] \ No newline at end of file diff --git a/src/validations/__tests__/validation_test_data/customerio_test.json b/src/validations/__tests__/validation_test_data/customerio_test.json deleted file mode 100644 index b3f69b62b..000000000 --- a/src/validations/__tests__/validation_test_data/customerio_test.json +++ /dev/null @@ -1,167 +0,0 @@ -[ - { - "config": { - "siteID": "95bd1331112976i0ff9b", - "apiKey": "95bd1331112976i0ff9b", - "deviceTokenEventName": "device_token_registered", - "datacenterEU": false, - "eventFilteringOption": "disable", - "whitelistedEvents": [ - { - "eventName": "eventmodel" - } - ], - "blacklistedEvents": [ - { - "eventName": "taxmodel" - } - ], - "useNativeSDK": { - "web": false - }, - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "Marketing" - } - ] - } - }, - "result": true - }, - { - "config": { - "apiKey": "95bd1331112976i0ff9b", - "deviceTokenEventName": "device_token_registered", - "datacenterEU": false, - "eventFilteringOption": "whitelistedEvents", - "whitelistedEvents": [ - { - "eventName": "eventmodel" - } - ], - "blacklistedEvents": [ - { - "eventName": "taxmodel" - } - ], - "useNativeSDK": { - "web": false - }, - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "" - } - ] - } - }, - "result": false, - "err": [" must have required property 'siteID'"] - }, - { - "config": { - "siteID": "95bd1331112976i0ff9b", - "apiKey": "95bd1330072974f0ff9b", - "deviceTokenEventName": "device_location_registered", - "datacenterEU": true, - "whitelistedEvents": [ - { - "eventName": "practice" - } - ], - "blacklistedEvents": [ - { - "eventName": "spam_listings" - } - ], - "useNativeSDK": { - "web": false - }, - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "Sales" - } - ] - } - }, - "result": true - }, - { - "config": { - "siteID": "15bd1331112976i0ff9b", - "apiKey": "15bd1331112976i0ff9b", - "deviceTokenEventName": "device_id_removed", - "datacenterEU": false, - "eventFilteringOption": "disable", - "whitelistedEvents": [ - { - "eventName": [ - "e1", - "v1" - ] - } - ], - "blacklistedEvents": [ - { - "eventName": "taxmodel" - } - ], - "useNativeSDK": { - "web": false - }, - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "Pitch" - } - ] - } - }, - "result": false, - "err": ["whitelistedEvents.0.eventName must be string"] - }, - { - "config": { - "siteID": "95bd1331112976i0ff9b", - "apiKey": "95bd1331112976i0ff9b", - "deviceTokenEventName": "device_token_registered", - "datacenterEU": "Germany", - "eventFilteringOption": "disable", - "useNativeSDK": { - "web": false - }, - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "Marketing" - } - ] - } - }, - "result": false, - "err": ["datacenterEU must be boolean"] - }, - { - "config": { - "siteID": "95bd1331112976i0ff9b", - "apiKey": "95bd1331112976i0ff9b", - "deviceTokenEventName": "qwsafpmznjhbfjhchdgeiuudhwgvdfkzxuiookaghhrytedhgfgjslalapooiqnbvemixuhevvsjklodjdokhuijghqwnvzxccdwsalkijediwhfwibkjnkji", - "datacenterEU": true, - "eventFilteringOption": "disable", - "useNativeSDK": { - "web": false - }, - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "Marketing" - } - ] - } - }, - "result": false, - "err": ["deviceTokenEventName must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$\""] - } -] \ No newline at end of file diff --git a/src/validations/__tests__/validation_test_data/dcm_floodlight_test.json b/src/validations/__tests__/validation_test_data/dcm_floodlight_test.json deleted file mode 100644 index 581274ba0..000000000 --- a/src/validations/__tests__/validation_test_data/dcm_floodlight_test.json +++ /dev/null @@ -1,266 +0,0 @@ -[ - { - "config": { - "advertiserId": "22448662", - "activityTag": "", - "groupTag": "", - "conversionEvents": [ - { - "eventName": "Product viewed", - "floodlightActivityTag": "signu01", - "floodlightGroupTag": "conv01", - "salesTag": false, - "customVariables": [ - { - "from": "RudderstackProperty1", - "to": "1" - }, - { - "from": "RudderstackProperty2", - "to": "2" - } - ] - }, - { - "eventName": "Order Complete", - "floodlightActivityTag": "signu01", - "floodlightGroupTag": "conv02", - "salesTag": false, - "customVariables": [ - { - "from": "", - "to": "" - } - ] - } - ] - }, - "result": true - }, - { - "config": { - "advertiserId": "22448662", - "activityTag": "", - "groupTag": "", - "conversionEvents": [ - { - "eventName": "Product viewed", - "floodlightActivityTag": "signu01", - "floodlightGroupTag": "conv01", - "salesTag": false, - "customVariables": [ - { - "from": "RudderstackProperty1", - "to": "u1" - }, - { - "from": "RudderstackProperty2", - "to": "2" - } - ] - }, - { - "eventName": "Order Complete", - "floodlightActivityTag": "signu01", - "floodlightGroupTag": "conv02", - "salesTag": false, - "customVariables": [ - { - "from": "", - "to": "" - } - ] - } - ] - }, - "result": false, - "err": [ - "conversionEvents.0.customVariables.0.to must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^([0-9]{0,100})$\"" - ] - }, - { - "config": { - "advertiserId": "12AUXUS123", - "activityTag": "", - "groupTag": "", - "conversionEvents": [ - { - "eventName": "Product viewed", - "floodlightActivityTag": "signu01", - "floodlightGroupTag": "conv01", - "salesTag": false, - "customVariables": [ - { - "from": "RudderstackProperty1", - "to": "1" - }, - { - "from": "RudderstackProperty2", - "to": "2" - } - ] - }, - { - "eventName": "Order Complete", - "floodlightActivityTag": "signu01", - "floodlightGroupTag": "conv02", - "salesTag": false, - "customVariables": [ - { - "from": "", - "to": "" - } - ] - } - ] - }, - "result": false, - "err": [ - "advertiserId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^([0-9]{0,100})$\"" - ] - }, - { - "config": { - "advertiserId": "22448662", - "activityTag": "", - "groupTag": "", - "conversionEvents": [ - { - "eventName": "Product viewed", - "floodlightActivityTag": "signu01", - "floodlightGroupTag": "conv01", - "salesTag": false, - "customVariables": [ - { - "from": "RudderstackProperty1", - "to": "1" - }, - { - "from": "RudderstackProperty2", - "to": "2" - } - ] - }, - { - "eventName": "Order Complete", - "floodlightActivityTag": "signu01", - "floodlightGroupTag": "conv02", - "salesTag": false, - "customVariables": [ - { - "from": "", - "to": "" - } - ] - } - ], - "eventFilteringOption": "disable", - "whitelistedEvents": [ - { - "eventName": "" - } - ], - "blacklistedEvents": [ - { - "eventName": "" - } - ], - "useNativeSDK": { - "web": true - }, - "conversionLinker": { - "web": true - }, - "allowAdPersonalizationSignals": { - "web": true - }, - "tagFormat": "globalSiteTag", - "doubleclickId": { - "web": true - }, - "googleNetworkId": { - "web": "1234" - }, - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "" - } - ] - } - }, - "result": true - }, - { - "config": { - "advertiserId": "22448662", - "activityTag": "", - "groupTag": "", - "conversionEvents": [ - { - "eventName": "Product viewed", - "floodlightActivityTag": "signu01", - "floodlightGroupTag": "conv01", - "salesTag": false, - "customVariables": [ - { - "from": "RudderstackProperty1", - "to": "1" - }, - { - "from": "RudderstackProperty2", - "to": "2" - } - ] - }, - { - "eventName": "Order Complete", - "floodlightActivityTag": "signu01", - "floodlightGroupTag": "conv02", - "salesTag": false, - "customVariables": [ - { - "from": "", - "to": "" - } - ] - } - ], - "eventFilteringOption": "disable", - "whitelistedEvents": [ - { - "eventName": "" - } - ], - "blacklistedEvents": [ - { - "eventName": "" - } - ], - "useNativeSDK": { - "web": false - }, - "conversionLinker": { - "web": true - }, - "allowAdPersonalizationSignals": { - "web": true - }, - "tagFormat": "iframeTag", - "doubleclickId": { - "web": false - }, - "googleNetworkId": { - "web": "1234" - }, - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "" - } - ] - } - }, - "result": true - } -] \ No newline at end of file diff --git a/src/validations/__tests__/validation_test_data/deltalake_test.json b/src/validations/__tests__/validation_test_data/deltalake_test.json deleted file mode 100644 index eb81cc15a..000000000 --- a/src/validations/__tests__/validation_test_data/deltalake_test.json +++ /dev/null @@ -1,226 +0,0 @@ -[ - { - "config": { - "host": "test-host", - "path": "test-path", - "token": "test-token", - "port": "0000", - "bucketProvider": "S3", - "syncFrequency": "30", - "enableSSE": false, - "useRudderStorage": false, - "useSTSTokens": false, - "bucketName": "test-bucket", - "accessKeyID": "test-access-key-id", - "accessKey": "test-access-key" - }, - "result": true - }, - { - "config": { - "host": "test-host", - "path": "test-path", - "token": "test-token", - "port": "0000", - "sslMode": "disable", - "syncFrequency": "30", - "useRudderStorage": false, - "bucketProvider": "GCS", - "bucketName": "test-bucket", - "endPoint": "", - "useSSL": true, - "credentials": "{}", - "excludeWindow": { - "excludeWindowStartTime": "", - "excludeWindowEndTime": "" - }, - "syncStartAt": "16:30" - }, - "result": true - }, - { - "config": { - "host": "test-host", - "path": "test-path", - "token": "test-token", - "port": "0000", - "sslMode": "disable", - "syncFrequency": "30", - "useRudderStorage": false, - "bucketProvider": "AZURE_BLOB", - "containerName": "test-container", - "accountName": "test-account-name", - "accountKey": "test-azure-account-key", - "useSSL": true - }, - "result": true - }, - { - "config": { - "host": "test-host", - "path": "test-path", - "token": "test-token", - "port": "0000", - "sslMode": "disable", - "syncFrequency": "30", - "useRudderStorage": false, - "bucketProvider": "AZURE_BLOB", - "containerName": "test-container", - "accountName": "test-account-name", - "accountKey": "test-azure-account-key", - "sasToken": "", - "useSASTokens": false, - "useSSL": true - }, - "result": true - }, - { - "config": { - "host": "test-host", - "path": "test-path", - "token": "test-token", - "port": "0000", - "sslMode": "disable", - "syncFrequency": "30", - "useRudderStorage": false, - "bucketProvider": "AZURE_BLOB", - "containerName": "test-container", - "accountName": "test-account-name", - "accountKey": "", - "sasToken": "test-azure-sas-token", - "useSASTokens": true, - "useSSL": true - }, - "result": true - }, - { - "config": { - "host": "test-host", - "path": "test-path", - "token": "test-token", - "port": "0000", - "sslMode": "disable", - "syncFrequency": "30", - "useRudderStorage": false, - "bucketProvider": "AZURE_BLOB", - "containerName": "test-container", - "accountName": "test-account-name", - "accountKey": "test-azure-account-key", - "sasToken": "test-azure-sas-token", - "useSASTokens": true, - "useSSL": true - }, - "result": true - }, - { - "config": { - "host": "test-host", - "path": "test-path", - "token": "test-token", - "port": "0000", - "sslMode": "disable", - "syncFrequency": "30", - "useRudderStorage": false, - "bucketProvider": "AZURE_BLOB", - "containerName": "test-container", - "accountName": "test-account-name", - "accountKey": "test-azure-account-key", - "sasToken": "test-azure-sas-token", - "useSASTokens": false, - "useSSL": true - }, - "result": true - }, - { - "config": { - "host": "test-host", - "path": "test-path", - "token": "test-token", - "port": "0000", - "sslMode": "disable", - "syncFrequency": "30", - "useRudderStorage": false, - "bucketProvider": "AZURE_BLOB", - "containerName": "test-container", - "accountName": "test-account-name", - "useSSL": true - }, - "result": false, - "err": [ - " must have required property 'accountKey'", - " must have required property 'useSASTokens'", - " must have required property 'sasToken'", - " must match a schema in anyOf", - " must match \"then\" schema" - ] - }, - { - "config": { - "host": "test-host", - "path": "test-path", - "token": "test-token", - "port": "0000", - "sslMode": "disable", - "bucketProvider": "S3", - "enableSSE": false, - "useRudderStorage": false, - "useSTSTokens": false, - "syncFrequency": "30", - "bucketName": "ab..ab", - "accessKeyID": "test-access-key-id", - "accessKey": "test-access-key" - }, - "result": false, - "err": [ - "bucketName must match pattern \"(^env[.].*)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"", - " must match \"then\" schema" - ] - }, - { - "config": { - "host": "test-host", - "path": "test-path", - "token": "test-token", - "port": "0000", - "sslMode": "disable", - "syncFrequency": "30", - "useRudderStorage": false, - "bucketProvider": "GCS", - "bucketName": "test..bucket", - "endPoint": "", - "useSSL": true, - "credentials": "{}", - "excludeWindow": { - "excludeWindowStartTime": "", - "excludeWindowEndTime": "" - }, - "syncStartAt": "16:30" - }, - "result": false, - "err": [ - "bucketName must match pattern \"(^env[.].*)|^((?!goog)(?!.*google.*)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$\"", - " must match \"then\" schema" - ] - }, - { - "config": { - "host": "test-host", - "path": "test-path", - "token": "test-token", - "port": "0000", - "sslMode": "disable", - "syncFrequency": "30", - "useRudderStorage": false, - "bucketProvider": "AZURE_BLOB", - "containerName": "test--container", - "accountName": "test-account-name", - "accountKey": "test-azure-account-key", - "useSSL": true - }, - "result": false, - "err": [ - "containerName must match pattern \"(^env[.].*)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$\"", - " must match \"then\" schema" - ] - } -] \ No newline at end of file diff --git a/src/validations/__tests__/validation_test_data/discord_test.json b/src/validations/__tests__/validation_test_data/discord_test.json deleted file mode 100644 index 5cda29a3a..000000000 --- a/src/validations/__tests__/validation_test_data/discord_test.json +++ /dev/null @@ -1,80 +0,0 @@ -[ - { - "config": { - "identifyTemplate": "", - "webhookUrl": "https://api.discord.com/1234/5678/1457", - "embedTitleTemplate": "", - "embedDescriptionTemplate": "", - "embedFlag": true, - "eventTemplateSettings": [ - { - "eventName": "", - "eventTemplate": "", - "eventRegex": false - } - ], - "whitelistedTraitsSettings": [ - { - "trait": "" - } - ] - }, - "result": true - }, - { - "config": { - "identifyTemplate": "", - "webhookUrl": "https://api.discord.com/1234/5678/1457", - "embedFlag": false, - "eventTemplateSettings": [ - { - "eventName": "abc", - "eventTemplate": "a: {{properties.a}} {{properties.newLine}} b: {{properties.b}}", - "eventRegex": false - } - ], - "whitelistedTraitsSettings": [ - { - "trait": "" - } - ] - }, - "result": true - }, - { - "config": { - "identifyTemplate": "", - "embedTitleTemplate": "Rudderstack Message", - "embedDescriptionTemplate": " {{name}}", - "embedFlag": true, - "webhookUrl": "" - }, - "result": false, - "err": [ - "webhookUrl must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(https?|ftp)://[^\\s/$.?#].[^\\s]*$\"" - ] - }, - { - "config": { - "identifyTemplate": "", - "webhookUrl": "https://api.discord.com/1234/5678/1457", - "eventTemplateSettings": [ - { - "eventName": 1234, - "eventTemplate": "a: {{properties.a}} {{properties.newLine}} b: {{properties.b}}", - "eventRegex": "false" - } - ], - "whitelistedTraitsSettings": [ - { - "trait": "" - } - ] - }, - "result": false, - "err": [ - "eventTemplateSettings.0.eventName must be string", - "eventTemplateSettings.0.eventRegex must be boolean" - ] - } -] \ No newline at end of file diff --git a/src/validations/__tests__/validation_test_data/facebook_pixel_test.json b/src/validations/__tests__/validation_test_data/facebook_pixel_test.json deleted file mode 100644 index 7c039b233..000000000 --- a/src/validations/__tests__/validation_test_data/facebook_pixel_test.json +++ /dev/null @@ -1,202 +0,0 @@ -[ - { - "config": { - "pixelId": "471828257250906", - "accessToken": "EABAKGVmm4FjBAKAHtWZB4er7fVTjFdJD33daH3ZB340qWk7Nv9MwZCOE0f27EKZA1LQxkQD8hQy1ZBb3SkIgeLcqZAbVtVXbpumoOtpqkP9fRqM0bZCeozeWkH3Y4TZCUpUeUsgKwGDqZB9QrrZCGwRcF9YZAvPDjZAT0YJjWNWQCKhnMQ2OEnrjtJmJgsWDicELxEAZD", - "standardPageCall": true, - "valueFieldIdentifier": "properties.price", - "advancedMapping": false, - "limitedDataUSage": false, - "testDestination": false, - "testEventCode": "", - "eventFilteringOption": "whitelistedEvents", - "eventsToEvents": [ - { - "from": "named", - "to": "class" - } - ], - "eventCustomProperties": [ - { - "eventCustomProperties": "custom101" - } - ], - "blacklistPiiProperties": [ - { - "blacklistPiiProperties": "", - "blacklistPiiHash": true - } - ], - "whitelistPiiProperties": [ - { - "whitelistPiiProperties": "passed" - } - ], - "whitelistedEvents": [ - { - "eventName": "login" - } - ], - "blacklistedEvents": [ - { - "eventName": "adblocker_disabled" - } - ], - "categoryToContent": [ - { - "from": "app_signup", - "to": "completed" - } - ] - }, - "result": true - }, - { - "config": { - "accessToken": "EABAKGVmm4FjB7fVTjFdJD33daH3ZB340qWk7Nv9MwZCOE0f27EKZA1LQxkQD8hQy1ZBb3SkIgeLcqZAbVtVXbpumoOtpqkP9fRqM0bZCeozeWkH3Y4TZCUpUeUsgKwGDqZB9QrrZCGwRcF9YZAvPDjZAT0YJjWNWQCKhnMQ2OEnrjtJmJgsWDicELxEAZD", - "standardPageCall": false, - "valueFieldIdentifier": "properties.price", - "advancedMapping": false, - "limitedDataUSage": true, - "testDestination": false, - "testEventCode": "", - "eventFilteringOption": "whitelistedEvents", - "eventsToEvents": [ - { - "from": "name", - "to": "grade" - } - ], - "eventCustomProperties": [ - { - "eventCustomProperties": "remarks" - } - ], - "blacklistPiiProperties": [ - { - "blacklistPiiProperties": "", - "blacklistPiiHash": true - } - ], - "whitelistPiiProperties": [ - { - "whitelistPiiProperties": "passed" - } - ], - "whitelistedEvents": [ - { - "eventName": "" - } - ], - "blacklistedEvents": [ - { - "eventName": "" - } - ], - "categoryToContent": [ - { - "from": "app_signup", - "to": "completed" - } - ] - }, - "result": false, - "err": [" must have required property 'pixelId'"] - }, - { - "config": { - "pixelId": "295131421571462", - "advancedMapping": false, - "blacklistPiiProperties": [ - { - "blacklistPiiProperties": "", - "blacklistPiiHash": false - } - ], - "eventsToEvents": [ - { - "from": "PageView", - "to": "ViewContent" - } - ], - "useNativeSDK": { - "web": true - } - }, - "result": true - }, - { - "config": { - "pixelId": "457112234567291", - "accessToken": "EAAEOkKbzt8cBAJFgWYuG6bE5ycjssu71bCg4F4wzPh682n4YEBOZAmjbcdlru53CIvXt1MJb9SpliIGbauYrjxzyGtzBmyVenyyJkZCHX2KtoMVn7njwFNk3jtEUDYOS49OOE5YSbZBUznGlICSfZAAjBUyQ8cXmu0LtfXpXsA6gqjjqd1vXHLv8ycGY2CIZS", - "standardPageCall": false, - "valueFieldIdentifier": "properties.price", - "advancedMapping": false, - "limitedDataUSage": false, - "testDestination": false, - "testEventCode": "TEST83176", - "eventFilteringOption": "disable", - "eventsToEvents": [ - { - "from": "app terminated", - "to": "close" - }, - { - "from": "app installed", - "to": "init" - } - ], - "useNativeSDK": { - "web": true - } - }, - "result": true - }, - { - "config": { - "pixelId": "457112234567291", - "accessToken": "EAAEOkKbzt8cBAJFgWYuG6bE5ycjssu71bCg4F4wzPh682n4YEBOZAmjbcdlru53CIvXt1MJb9SpliIGbauYrjxzyGtzBmyVenyyJkZCHX2KtoMVn7njwFNk3jtEUDYOS49OOE5YSbZBUznGlICSfZAAjBUyQ8cXmu0LtfXpXsA6gqjjqd1vXHLv8ycGY2CIZS", - "standardPageCall": false, - "valueFieldIdentifier": "properties.price", - "advancedMapping": false, - "limitedDataUSage": true, - "testDestination": true, - "testEventCode": "TEST1010", - "eventFilteringOption": "disable", - "eventsToEvents": [ - { - "from": "app terminated", - "to": "close" - } - ], - "useNativeSDK": { - "web": true - } - }, - "result": true - }, - { - "config": { - "pixelId": "457112234567291", - "accessToken": "EAAEOkKbzt8cBAJFgWYuG6bE5ycjssu71bCg4F4wzPh682n4YEBOZAmjbcdlru53CIvXt1MJb9SpliIGbauYrjxzyGtzBmyVenyyJkZCHX2KtoMVn7njwFNk3jtEUDYOS49OOE5YSbZBUznGlICSfZAAjBUyQ8cXmu0LtfXpXsA6gqjjqd1vXHLv8ycGY2CIZS", - "standardPageCall": false, - "valueFieldIdentifier": "properties.price", - "advancedMapping": false, - "limitedDataUSage": false, - "testDestination": true, - "testEventCode": "EAAEOkKbzt8cBAJFgWYuG6bE5ycjssu71bCg4F4wzPh682n4YEBOZAmjbcdlru53CIvXt1MJb9SpliIGbauYrjxzyGtzBmyVenyyJkZCHX2KtoMVn7njwFNk3jtEUDYOS49OOE5YSbZBUznGlICSfZAAjBUyQ8cXmu0LtfXpXsA6gqjjqd1vXHLv8ycGY2CIZS", - "eventFilteringOption": "disable", - "eventsToEvents": [ - { - "from": "app terminated", - "to": "close" - } - ], - "useNativeSDK": { - "web": true - } - }, - "result": false, - "err": ["testEventCode must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$\""] - } -] \ No newline at end of file diff --git a/src/validations/__tests__/validation_test_data/freshmarketer_test.json b/src/validations/__tests__/validation_test_data/freshmarketer_test.json deleted file mode 100644 index aa868af47..000000000 --- a/src/validations/__tests__/validation_test_data/freshmarketer_test.json +++ /dev/null @@ -1,43 +0,0 @@ -[ - { - "config": { - "apiKey": "", - "domain": "mytest-1234" - }, - "result": false, - "err": [ - "apiKey must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"" - ] - }, - { - "config": { - "apiKey": "adhs123-adhs123-adhs3", - "domain": "mytest-1234" - }, - "result": true - }, - { - "config": { - "apiKey": "adhs123-adhs123-adhs3" - }, - "result": false, - "err": [" must have required property 'domain'"] - }, - { - "config": { - "domain": "mytest-1234" - }, - "result": false, - "err": [" must have required property 'apiKey'"] - }, - { - "config": { - "apiKey": "adhs123-adhs123-adhs3", - "domain": "" - }, - "result": false, - "err": [ - "domain must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"" - ] - } -] diff --git a/src/validations/__tests__/validation_test_data/freshsales_test.json b/src/validations/__tests__/validation_test_data/freshsales_test.json deleted file mode 100644 index aa868af47..000000000 --- a/src/validations/__tests__/validation_test_data/freshsales_test.json +++ /dev/null @@ -1,43 +0,0 @@ -[ - { - "config": { - "apiKey": "", - "domain": "mytest-1234" - }, - "result": false, - "err": [ - "apiKey must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"" - ] - }, - { - "config": { - "apiKey": "adhs123-adhs123-adhs3", - "domain": "mytest-1234" - }, - "result": true - }, - { - "config": { - "apiKey": "adhs123-adhs123-adhs3" - }, - "result": false, - "err": [" must have required property 'domain'"] - }, - { - "config": { - "domain": "mytest-1234" - }, - "result": false, - "err": [" must have required property 'apiKey'"] - }, - { - "config": { - "apiKey": "adhs123-adhs123-adhs3", - "domain": "" - }, - "result": false, - "err": [ - "domain must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"" - ] - } -] diff --git a/src/validations/__tests__/validation_test_data/ga4_test.json b/src/validations/__tests__/validation_test_data/ga4_test.json deleted file mode 100644 index 9f0cd7902..000000000 --- a/src/validations/__tests__/validation_test_data/ga4_test.json +++ /dev/null @@ -1,167 +0,0 @@ -[ - { - "config": { - "apiSecret": "QyWIGHj8QhG2L4ePAPiXCA", - "typesOfClient": "gtag", - "measurementId": "G-T40PE6KET4", - "firebaseAppId": "", - "blockPageViewEvent": true, - "extendPageViewParams": true, - "sendUserId": true, - "eventFilteringOption": "disable", - "whitelistedEvents": [{ "eventName": "" }], - "blacklistedEvents": [{ "eventName": "" }], - "useNativeSDK": { - "web": false - }, - "debugMode" : false, - "oneTrustCookieCategories": { "web": [{ "oneTrustCookieCategory": "" }] }, - "enableServerSideIdentify": false, - "sendLoginSignup": false, - "generateLead": false - }, - "result": true - }, - { - "config": { - "apiSecret": "QyWIGHj8QhG2L4ePAPiXCA", - "typesOfClient": "gtag", - "measurementId": "F40RN6STS2", - "firebaseAppId": "", - "blockPageViewEvent": true, - "extendPageViewParams": true, - "sendUserId": true, - "eventFilteringOption": "disable", - "whitelistedEvents": [{ "eventName": "" }], - "blacklistedEvents": [{ "eventName": "" }], - "useNativeSDK": { - "web": false - }, - "debugMode" : false, - "oneTrustCookieCategories": { "web": [{ "oneTrustCookieCategory": "" }] }, - "enableServerSideIdentify": false, - "sendLoginSignup": false, - "generateLead": false - }, - "result": false, - "err": [ - "measurementId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(G-.{1,100})$|^$\"" - ] - }, - { - "config": { - "apiSecret": "QyWIGHj8QhG2L4ePAPiXCA", - "typesOfClient": "firebase", - "measurementId": "G-T40PE6KET4", - "firebaseAppId": "2:637908496727:web:a4284b4c99e329d5", - "blockPageViewEvent": true, - "extendPageViewParams": true, - "sendUserId": true, - "eventFilteringOption": "disable", - "whitelistedEvents": [{ "eventName": "" }], - "blacklistedEvents": [{ "eventName": "" }], - "useNativeSDK": { - "web": false - }, - "debugMode" : false, - "oneTrustCookieCategories": { "web": [{ "oneTrustCookieCategory": "" }] }, - "enableServerSideIdentify": false, - "sendLoginSignup": false, - "generateLead": false - }, - "result": true - }, - { - "config": { - "apiSecret": "QyWIGHj8QhG2L4ePAPiXCA", - "measurementId": "G-T40PE6KET4", - "blockPageViewEvent": true, - "extendPageViewParams": true, - "sendUserId": true, - "eventFilteringOption": "disable", - "whitelistedEvents": [{ "eventName": "" }], - "blacklistedEvents": [{ "eventName": "" }], - "useNativeSDK": { - "web": true - }, - "debugMode" : true, - "oneTrustCookieCategories": { "web": [{ "oneTrustCookieCategory": "" }] }, - "enableServerSideIdentify": false, - "sendLoginSignup": false, - "generateLead": false - }, - "result": true - }, - { - "config": { - "apiSecret": "QyWIGHj8QhG2L4ePAPiXCA", - "typesOfClient": "firebase", - "measurementId": "G-T40PE6KET4", - "blockPageViewEvent": true, - "extendPageViewParams": true, - "sendUserId": true, - "eventFilteringOption": "disable", - "whitelistedEvents": [{ "eventName": "" }], - "blacklistedEvents": [{ "eventName": "" }], - "useNativeSDK": { - "web": false - }, - "debugMode" : false, - "oneTrustCookieCategories": { "web": [{ "oneTrustCookieCategory": "" }] }, - "enableServerSideIdentify": false, - "sendLoginSignup": false, - "generateLead": false - }, - "result": true - }, - { - "config": { - "apiSecret": "QyWIGHj8QhG2L4ePAPiXCA", - "measurementId": "G-T40PE6KET4", - "typesOfClient": "firebase", - "firebaseAppId": "2:637908496727:web:a4284b4c99e329d5", - "blockPageViewEvent": true, - "extendPageViewParams": true, - "sendUserId": true, - "eventFilteringOption": "disable", - "whitelistedEvents": [{ "eventName": "" }], - "blacklistedEvents": [{ "eventName": "" }], - "useNativeSDK": { - "web": false - }, - "debugMode" : false, - "oneTrustCookieCategories": { "web": [{ "oneTrustCookieCategory": "" }] }, - "enableServerSideIdentify": false, - "sendLoginSignup": false, - "generateLead": false - }, - "result": true - }, - { - "config": { - "apiSecret": "JjWUIHj4QhG2L7eZDZiXCA", - "typesOfClient": "gtag", - "blockPageViewEvent": false, - "extendPageViewParams": false, - "sendUserId": false, - "eventFilteringOption": "disable", - "measurementId": "G-F40RN6STS2", - "whitelistedEvents": [{ "eventName": "" }], - "blacklistedEvents": [{ "eventName": "" }], - "firebaseAppId": "", - "useNativeSDK": { - "web": false - }, - "debugMode" : false, - "oneTrustCookieCategories": { "web": [{ "oneTrustCookieCategory": "" }] }, - "enableServerSideIdentify": true, - "sendLoginSignup": true, - "newOrExistingUserTrait": "firstLogin", - "loginSignupMethod": "method", - "generateLead": true, - "generateLeadValueTrait": "value", - "generateLeadCurrencyTrait": "currency" - }, - "result": true - } -] \ No newline at end of file diff --git a/src/validations/__tests__/validation_test_data/ga_test.json b/src/validations/__tests__/validation_test_data/ga_test.json deleted file mode 100644 index 1175fd154..000000000 --- a/src/validations/__tests__/validation_test_data/ga_test.json +++ /dev/null @@ -1,302 +0,0 @@ -[ - { - "config": { - "trackingID": "UA-152564043-4", - "eventFilteringOption": "whitelistedEvents", - "doubleClick": false, - "enhancedLinkAttribution": false, - "includeSearch": false, - "enableServerSideIdentify": false, - "serverSideIdentifyEventCategory": "", - "serverSideIdentifyEventAction": "", - "disableMd5": false, - "anonymizeIp": false, - "enhancedEcommerce": false, - "nonInteraction": false, - "sendUserId": true, - "contentGroupings": [ - { - "from": "topic", - "to": "contentGroup1" - } - ], - "dimensions": [ - { - "from": "topic", - "to": "contentGroup1" - } - ], - "whitelistedEvents": [ - { - "eventName": "testing01" - } - ], - "blacklistedEvents": [ - { - "eventName": "untested110" - } - ] - }, - "result": true - }, - { - "config": { - "doubleClick": false, - "enhancedLinkAttribution": true, - "includeSearch": false, - "enableServerSideIdentify": false, - "serverSideIdentifyEventCategory": "", - "serverSideIdentifyEventAction": "", - "disableMd5": false, - "anonymizeIp": true, - "enhancedEcommerce": true, - "nonInteraction": false, - "sendUserId": false, - "useNativeSDK": { - "web": true - }, - "trackCategorizedPages": { - "web": true - }, - "trackNamedPages": { - "web": true - }, - "sampleRate": { - "web": "100" - }, - "siteSpeedSampleRate": { - "web": "1" - }, - "resetCustomDimensionsOnPage": { - "web": [ - { - "resetCustomDimensionsOnPage": "" - } - ] - }, - "setAllMappedProps": { - "web": true - }, - "domain": { - "web": "auto" - }, - "optimize": { - "web": "" - }, - "useGoogleAmpClientId": { - "web": false - }, - "namedTracker": { - "web": false - }, - "contentGroupings": [ - { - "from": "topic", - "to": "contentGroup1" - } - ], - "dimensions": [ - { - "from": "topic", - "to": "contentGroup1" - } - ], - "blacklistedEvents": [], - "whitelistedEvents": [] - }, - "result": false, - "err": [" must have required property 'trackingID'"] - }, - { - "config": { - "trackingID": "{{ config.tc || UA-151524043-4 }}", - "eventFilteringOption": "whitelistedEvents", - "doubleClick": false, - "enhancedLinkAttribution": false, - "includeSearch": false, - "enableServerSideIdentify": false, - "serverSideIdentifyEventCategory": "", - "serverSideIdentifyEventAction": "", - "disableMd5": false, - "anonymizeIp": false, - "enhancedEcommerce": false, - "nonInteraction": false, - "sendUserId": false, - "contentGroupings": [ - { - "from": "topic", - "to": "contentGroup1" - } - ], - "dimensions": [ - { - "from": "topic", - "to": "contentGroup1" - } - ], - "whitelistedEvents": [ - { - "eventName": "testing01" - } - ], - "blacklistedEvents": [ - { - "eventName": "untested110" - } - ] - }, - "result": true - }, - { - "config": { - "trackingID": "UA-147418433-1", - "doubleClick": true, - "enhancedLinkAttribution": true, - "includeSearch": true, - "enableServerSideIdentify": false, - "serverSideIdentifyEventCategory": "", - "serverSideIdentifyEventAction": "", - "anonymizeIp": false, - "enhancedEcommerce": false, - "nonInteraction": false, - "sendUserId": false, - "contentGroupings": [ - { - "from": "topic", - "to": "contentGroup1" - } - ], - "dimensions": [ - { - "from": "topic", - "to": "contentGroup1" - } - ], - "useNativeSDK": { - "web": false - }, - "sampleRate": { - "web": "100" - }, - "siteSpeedSampleRate": { - "web": "1" - }, - "namedTracker": { - "web": false - }, - "disableMd5": true - }, - "result": true - }, - { - "config": { - "trackingID": "UA-45731234-5", - "doubleClick": true, - "enhancedLinkAttribution": true, - "includeSearch": false, - "enableServerSideIdentify": "disable", - "serverSideIdentifyEventCategory": "", - "serverSideIdentifyEventAction": "", - "disableMd5": false, - "anonymizeIp": false, - "enhancedEcommerce": false, - "nonInteraction": false, - "sendUserId": true, - "useNativeSDK": { - "web": false - }, - "trackCategorizedPages": { - "web": true - }, - "trackNamedPages": { - "web": true - }, - "sampleRate": { - "web": "100" - }, - "siteSpeedSampleRate": { - "web": "1" - }, - "resetCustomDimensionsOnPage": { - "web": [ - { - "resetCustomDimensionsOnPage": "" - } - ] - }, - "contentGroupings": [ - { - "from": "topic", - "to": "contentGroup1" - } - ], - "dimensions": [ - { - "from": "topic", - "to": "contentGroup1" - } - ], - "setAllMappedProps": { - "web": true - }, - "domain": { - "web": "auto" - }, - "optimize": { - "web": "" - }, - "useGoogleAmpClientId": { - "web": false - }, - "namedTracker": { - "web": false - }, - "blacklistedEvents": [], - "whitelistedEvents": [] - }, - "result": false, - "err": ["enableServerSideIdentify must be boolean"] - }, - { - "config": { - "trackingID": "UA-147128492-1", - "doubleClick": true, - "enhancedLinkAttribution": true, - "includeSearch": true, - "enableServerSideIdentify": false, - "serverSideIdentifyEventCategory": "{{ serverside.config.ct || categoryVal }}", - "serverSideIdentifyEventAction": "wqerasfdhjgfvbvbasfdhjgfvbvbjkjjkjigywddhjgfvbvbasfdhjgfvbvbjkjjkjigywdasfdhjgfasfdhjgfvbvbjkjfewddhjgfvbvbasfdhjgfvbvbjkjjkjigywdasfdhjgf", - "anonymizeIp": false, - "enhancedEcommerce": false, - "nonInteraction": false, - "sendUserId": false, - "useNativeSDK": { - "web": false - }, - "contentGroupings": [ - { - "from": "topic", - "to": "contentGroup1" - } - ], - "dimensions": [ - { - "from": "topic", - "to": "contentGroup1" - } - ], - "sampleRate": { - "web": "100" - }, - "siteSpeedSampleRate": { - "web": "1" - }, - "namedTracker": { - "web": false - }, - "disableMd5": true - }, - "result": false, - "err": ["serverSideIdentifyEventAction must match pattern \"(^env[.].+)|(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^(.{0,100})$)\""] - } -] \ No newline at end of file diff --git a/src/validations/__tests__/validation_test_data/gcs_test.json b/src/validations/__tests__/validation_test_data/gcs_test.json deleted file mode 100644 index ab9c8622e..000000000 --- a/src/validations/__tests__/validation_test_data/gcs_test.json +++ /dev/null @@ -1,46 +0,0 @@ -[ - { - "config": { - "bucketName": "event-logs", - "prefix": "sb", - "credentials": "{\n \"type\": \"service_account\",\n \"project_id\": \"zendeskapp-52b17\",\n \"private_key_id\": \"5c06b82205fee64749cf031ec7b3ff0bafca8c12\",\n \"private_key\": \"-----BEGIN PRIVATE KEY-----\\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC3OaB3J8FIcsT8\\nUL1e8TruKgZDNOdAbigSteA70Ptzv2N37+LtvRENpNVsEGkP2PPu53er8jlUV9PR\\nrBXpRjS06rFhld6E2wZ2Psp5XAdHTSLTpfIX6Ly4hyn5BlhTlT0ZEEjBqvi4q6TL\\nw369rVJaymzo3U+6E617Ggt2E5E0ZfjYoEXKF2FWf7G79EBen+sVu2YrEz80S/9E\\nhrsiXGbfApLcs/CkL7eEbFmfspW5niCoYKca7AhG0uHQC4yfH9w1GbZtRvsc3dij\\npwL3+iYpUMAwfQkDCbuCjFqgpSxFzlD88Px6q5J6W59y0k0gO6bkouxL6NNPoOME\\nUNGi/noPAgMBAAECggEAGof9LOk0SzsskVlYT+cAFgbpeOeFtDuJ5kpbdGiVU1Q7\\ni91QJQW+HOrT6VMnq3RKajsuhdb20eLqg093Asbi5e71YtXn7qFP5Q/APjotvEzh\\nRfgfFLLjn5gZjfuLDwYACWDlcCnDh0DPhZ6YJntyU+mWQ1KcngCwcQVl8yHv4kAX\\nmE+C8hb12IDEsX1rB09DJSt0FqMFvwJP+PGFbOSefSykbdE6bsJpKgGlHO9FDxtk\\nieZcm2ODqocvbjWko93yWZ/Ozun9zx/59d3DVBd/EEmbzFq/OV+m7ZmcXw5mOZmg\\ntYNvQhPoXHLJQ91DE58z0Hqo5HYjys40zrLnST7A3QKBgQDpDoz8ZL2o7KK9Iyl9\\npm8xXCWxflep1w6gXjksrjsIbmw2+x3mTsmVW6i++w6eea7tGcIVQvuQlCKU+FnR\\n0eHzdrhpWrkIuLegdZ46sguXEUxcU9j6heR3aKE//z/0CIHA4hyvxJtUTf0slErJ\\n09I6xOdgVkWZctnqijSV85VejQKBgQDJQzoszq6Fm/kPNNi4Z2gZlRQq+yievNQV\\nO+4hrcONoHZNyYYHGMYqmbyZu5doltgYyMdDXzMMReJPjCnOE3McA7x5PE9jLiKa\\nMp5lcfUS81RODE+me7OA6rfIUkoNMJxYhV0TSZVBXpAxDoF/r9IZ0tQbiGRXkbhr\\nGyhAYAOSCwKBgQCodcgbOIaPcF1B8gSvunptZ3onjne3YKhF61XQojAxq/+0zleS\\nfijgOV0Ej1zF2JdE83WDAOPuYeWNYOcr71YwMgSiwt01HLA+4EX7j28pR2u24TTa\\nAaZfWdYU+GA1+WAxGEA8HRVaHvV+H8LfmKlBqcrFrBarEIXMLxJLwcKakQKBgFmf\\nlkhdwVm+GyqqXdfANJsvx8tcDLqjW84Y4fIdbveifQwmsYh3f8d4roPHBaWNhq2C\\nuzlFK3ZLqHvD7tnVz2yqPUO/l5qS8NW5tM9376qAsQoQcWexrj26SBzsiA1XmEfT\\nG597JPv3ID64NvKlWOom+E1Kb2SPf5Ayh7ojB3QBAoGAF6Jbeo3X+H12EOrPzVIV\\neUcJO2yWt7XNrGoXgLd7Hb4R9BNl8AAJqaZ9fvpTXCWNNRbaR829wuLecrc+MOJF\\n6N8Cd1s+Mjih4FE8OKVbrtc0IgM+hh2ryGrvRRF9SIDLOrEDxnsqLOHDld8FEIfl\\naOoM4S4ZRMyf2VvgqH2Lnsw=\\n-----END PRIVATE KEY-----\\n\",\n \"client_email\": \"rudderstack@zendeskapp-52b17.iam.gserviceaccount.com\",\n \"client_id\": \"101630212963057039580\",\n \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n \"token_uri\": \"https://oauth2.googleapis.com/token\",\n \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n \"client_x509_cert_url\": \"https://www.googleapis.com/robot/v1/metadata/x509/rudderstack%40zendeskapp-52b17.iam.gserviceaccount.com\"\n}", - "testConnection": false - }, - "result": true - }, - { - "config": { - "bucketName": "rudderstack-test-1", - "prefix": "rudder", - "credentials": "" - }, - "result": true - }, - { - "config": { - "bucketName": "Active Campaign NHN", - "prefix": "", - "credentials": "", - "testConnection": false, - "testConnectionTS": 1621944688891 - }, - "result": true - }, - { - "config": { - "bucketName": "fasdfsa", - "credentials": "{\nsadfas:\"asdf\"\n}" - }, - "result": true - }, - { - "config": { - "bucketName": "", - "credentials": "{\nsadfas:\"asdf\"\n}" - }, - "result": false, - "err": [ - " must have required property 'bucketName'" - ] - } -] diff --git a/src/validations/__tests__/validation_test_data/google_cloud_function_test.json b/src/validations/__tests__/validation_test_data/google_cloud_function_test.json deleted file mode 100644 index 636c4537f..000000000 --- a/src/validations/__tests__/validation_test_data/google_cloud_function_test.json +++ /dev/null @@ -1,21 +0,0 @@ -[ - { - "config": { - "triggerType": "Http", - "googleCloudFunctionUrl": "http://sample.com/url", - "apiKeyId": "1d6583b196d34de28a3g19ahadde4b0z" - }, - "result": true - }, - { - "config": { - "triggerType": "Http", - "googleCloudFunctionUrl": "http://sample.com/url", - "apiKeyId": "1d6583b196d34de28a3g19ahadde4b0z" - }, - "result": false, - "err": [ - "GCF url must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$\"" - ] - } -] diff --git a/src/validations/__tests__/validation_test_data/googleads_test.json b/src/validations/__tests__/validation_test_data/googleads_test.json deleted file mode 100644 index 0313883c3..000000000 --- a/src/validations/__tests__/validation_test_data/googleads_test.json +++ /dev/null @@ -1,209 +0,0 @@ -[ - { - "config": { - "conversionID": "AW-12321", - "eventFilteringOption": "whitelistedEvents", - "defaultPageConversion": "poiiopqwewqwwqewq", - "sendPageView": true, - "conversionLinker": true, - "disableAdPersonalization": true, - "whitelistedEvents": [ - { - "eventName": "login page" - } - ], - "blacklistedEvents": [ - { - "eventName": "" - } - ], - "pageLoadConversions": [ - { - "conversionLabel": "ofwinqeoqwefnoewqo9", - "name": "test" - } - ], - "clickEventConversions": [ - { - "conversionLabel": "1qinqwqoqewfnoewqo9", - "name": "clickTest" - } - ], - "useNativeSDK": { - "web": true - }, - "dynamicRemarketing": { - "web": true - }, - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "Sales" - } - ] - } - }, - "result": true - }, - { - "config": { - "conversionID": "AW-12321", - "eventFilteringOption": "whitelistedEvents", - "defaultPageConversion": "poiiopqwewqwwqewq", - "sendPageView": true, - "conversionLinker": true, - "disableAdPersonalization": true, - "whitelistedEvents": [ - { - "eventName": "login page" - } - ], - "blacklistedEvents": [ - { - "eventName": "" - } - ], - "pageLoadConversions": [ - { - "conversionLabel": "ofwinqeoqwefnoewqo9", - "name": "test" - }, - { - "conversionLabel": "idwhcbiwdfbciwdfw", - "name": "entry" - } - ], - "clickEventConversions": [ - { - "conversionLabel": "1qinqwqoqewfnoewqo9", - "name": "clickTest" - }, - { - "conversionLabel": "qwertyasagehrstshregs", - "name": "clickedPrev" - } - ], - "useNativeSDK": { - "web": true - }, - "dynamicRemarketing": { - "web": true - }, - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "Business Tool" - } - ] - } - }, - "result": true - }, - { - "config": { - "conversionID": "AW-114432", - "useNativeSDK": { - "web": true - }, - "dynamicRemarketing": { - "web": true - } - }, - "result": true - }, - { - "config": { - "eventFilteringOption": "whitelistedEvents", - "defaultPageConversion": "poiiopqwewqwwqewq", - "sendPageView": true, - "conversionLinker": true, - "disableAdPersonalization": true, - "whitelistedEvents": [ - { - "eventName": "login page" - } - ], - "blacklistedEvents": [ - { - "eventName": "" - } - ], - "pageLoadConversions": [ - { - "conversionLabel": "ofwinqeoqwefnoewqo9", - "name": "test" - } - ], - "clickEventConversions": [ - { - "conversionLabel": "1qinqwqoqewfnoewqo9", - "name": "clickTest" - } - ], - "useNativeSDK": { - "web": true - }, - "dynamicRemarketing": { - "web": true - }, - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "Sales" - } - ] - } - }, - "result": false, - "err": [" must have required property 'conversionID'"] - }, - { - "config": { - "conversionID": "AW-12321", - "eventFilteringOption": "whitelistedEvents", - "defaultPageConversion": "poiiopqwewqwwqewq", - "sendPageView": { - "sendPageView": true - }, - "conversionLinker": true, - "disableAdPersonalization": true, - "whitelistedEvents": [ - { - "eventName": "login page" - } - ], - "blacklistedEvents": [ - { - "eventName": "" - } - ], - "pageLoadConversions": [ - { - "conversionLabel": "ofwinqeoqwefnoewqo9", - "name": "test" - } - ], - "clickEventConversions": [ - { - "conversionLabel": "1qinqwqoqewfnoewqo9", - "name": "clickTest" - } - ], - "useNativeSDK": { - "web": true - }, - "dynamicRemarketing": { - "web": true - }, - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "Marketing" - } - ] - } - }, - "result": false, - "err": ["sendPageView must be boolean"] - } -] \ No newline at end of file diff --git a/src/validations/__tests__/validation_test_data/gtm_test.json b/src/validations/__tests__/validation_test_data/gtm_test.json deleted file mode 100644 index 079bb61d0..000000000 --- a/src/validations/__tests__/validation_test_data/gtm_test.json +++ /dev/null @@ -1,75 +0,0 @@ -[ - { - "config": { - "containerID": "GTM-ADDA", - "serverUrl": "https://gtm.rudder.com", - "eventFilteringOption": "whitelistedEvents", - "whitelistedEvents": [ - { - "eventName": "registration" - } - ], - "blacklistedEvents": [ - { - "eventName": "" - } - ], - "useNativeSDK": { - "web": true - }, - "oneTrustCookieCategories": { - "web": [] - } - }, - "result": true - }, - { - "config": { - "serverUrl": "https://gtm.rudder.com", - "eventFilteringOption": "whitelistedEvents", - "whitelistedEvents": [ - { - "eventName": "registration" - } - ], - "blacklistedEvents": [ - { - "eventName": "" - } - ], - "useNativeSDK": { - "web": true - }, - "oneTrustCookieCategories": { - "web": [] - } - }, - "result": false, - "err": [" must have required property 'containerID'"] - }, - { - "config": { - "containerID": "GTM-ADDA", - "serverUrl": "badurl", - "eventFilteringOption": "whitelistedEvents", - "whitelistedEvents": [ - { - "eventName": "registration" - } - ], - "blacklistedEvents": [ - { - "eventName": "" - } - ], - "useNativeSDK": { - "web": true - }, - "oneTrustCookieCategories": { - "web": [] - } - }, - "result": false, - "err": ["serverUrl must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$\""] - } -] \ No newline at end of file diff --git a/src/validations/__tests__/validation_test_data/iterable_test.json b/src/validations/__tests__/validation_test_data/iterable_test.json deleted file mode 100644 index 65dcc746e..000000000 --- a/src/validations/__tests__/validation_test_data/iterable_test.json +++ /dev/null @@ -1,93 +0,0 @@ -[ - { - "config": { - "apiKey": "73983282843839749873", - "mapToSingleEvent": true, - "trackAllPages": false, - "trackCategorisedPages": true, - "trackNamedPages": true, - "useNativeSDK": { - "web": true - }, - "initialisationIdentifier": { - "web": "email" - }, - "getInAppEventMapping": { - "web": [ - { - "eventName": "sale notification" - }, - { - "eventName": "festival discount" - } - ] - }, - "purchaseEventMapping": { - "web": [ - { - "eventName": "Checkout Done" - } - ] - }, - "sendTrackForInapp": { - "web": true - }, - "animationDuration": { - "web": "200" - }, - "displayInterval": { - "web": "2500" - }, - "onOpenScreenReaderMessage": { - "web": "" - }, - "onOpenNodeToTakeFocus": { - "web": "" - }, - "packageName": { - "web": "my-package-test" - }, - "rightOffset": { - "web": "15" - }, - "topOffset": { - "web": "11" - }, - "bottomOffset": { - "web": "24%" - }, - "handleLinks": { - "web": "open-all-new-tab" - }, - "closeButtonColor": { - "web": "blue" - }, - "closeButtonSize": { - "web": "" - }, - "closeButtonColorTopOffset": { - "web": "3%" - }, - "closeButtonColorSideOffset": { - "web": "2%" - }, - "iconPath": { - "web": "" - }, - "isRequiredToDismissMessage": { - "web": true - }, - "closeButtonPosition": { - "web": "" - }, - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "" - } - ] - } - }, - "result": true - } -] \ No newline at end of file diff --git a/src/validations/__tests__/validation_test_data/lambda_test.json b/src/validations/__tests__/validation_test_data/lambda_test.json deleted file mode 100644 index 44692f197..000000000 --- a/src/validations/__tests__/validation_test_data/lambda_test.json +++ /dev/null @@ -1,67 +0,0 @@ -[ - { - "config": { - "accessKeyId": "bSjsdGYsOo9sjw23Shj", - "accessKey": "1d6583b196d34de28a3g19ahadde4b0z", - "roleBasedAuth": false, - "region": "us-east-1" - }, - "result": false, - "err": [" must have required property 'lambda'"] - }, - { - "config": { - "accessKeyId": "bSjsdGYsOo9sjw23-_(Shj", - "accessKey": "1d6583b196d34de28a3g19ahadde4b0z", - "roleBasedAuth": false, - "region": "us-east-1", - "lambda": "myFunction" - }, - "result": true - }, - { - "config": { - "accessKeyId": "bSjsdGYsOo9sjw23-_(Shj", - "accessKey": "1d6583b196d34de28a3g19ahadde4b0z", - "roleBasedAuth": false, - "region": "ufgrgrt", - "lambda": "myFunction" - }, - "result": true - }, - { - "config": { - "iamRoleARN": "arn:aws:iam::123456789012:role/LambdaAccess", - "externalID": "1d6583b196d34de28a3g19ahadde4b0z", - "roleBasedAuth": true, - "region": "us-east-2", - "lambda": "myFunction", - "maxBatchSize": "50" - }, - "result": true - }, - { - "config": { - "iamRoleARN": "arn:aws:iam::123456789012:role/LambdaAccess", - "externalID": 1, - "roleBasedAuth": true, - "region": "us-east-2", - "lambda": "myFunction", - "maxBatchSize": "50" - }, - "result": false, - "err": ["externalID must be string"] - }, - { - "config": { - "iamRoleARN": "arn:aws:iam::123456789012:role/LambdaAccess", - "externalID": "1d6583b196d34de28a3g19ahadde4b0z", - "roleBasedAuth": true, - "region": "us-east-2", - "lambda": "myFunction", - "maxBatchSize": "vsrbsr" - }, - "result": false, - "err": ["maxBatchSize must match pattern \"^$|^[1-9]\\d*$\""] - } -] diff --git a/src/validations/__tests__/validation_test_data/marketo_static_list_test.json b/src/validations/__tests__/validation_test_data/marketo_static_list_test.json deleted file mode 100644 index 09ee39754..000000000 --- a/src/validations/__tests__/validation_test_data/marketo_static_list_test.json +++ /dev/null @@ -1,31 +0,0 @@ -[{ - "config": { - "clientId":"893yh2ef823yf0", - "clientSecret":"238923hr2o08f", - "accountId": "di0e298dy23r982f", - "staticListId":"9031" - }, - "result": true - }, - { - "config": { - "clientId":"32313124", - "clientSecret":"113442", - "accountId": "aaa", - "staticListId":"9031" - }, - "result": true - }, - { - "config": { - "clientId":"893yh2ef823yf0", - "clientSecret":"238923hr2o08f", - "accountId": "", - "staticListId":"9031" - }, - "result": false, - "err": [ - "accountId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"" - ] - }] - \ No newline at end of file diff --git a/src/validations/__tests__/validation_test_data/matomo_test.json b/src/validations/__tests__/validation_test_data/matomo_test.json deleted file mode 100644 index d8c4cb2ff..000000000 --- a/src/validations/__tests__/validation_test_data/matomo_test.json +++ /dev/null @@ -1,189 +0,0 @@ -[ - { - "config": { - "siteId": "1", - "serverUrl": "com.yara.fw.stage", - "eventsMapToGoalId": [ - { - "from": "Set GoalId", - "to": "123" - } - ], - "eventsToStandard": [ - { - "from": "Track Ping", - "to": "ping" - } - ], - "trackAllContentImpressions": true, - "trackVisibleContentImpressions": true, - "checkOnScroll": true, - "timeIntervalInMs": "15", - "logAllContentBlocksOnPage": true, - "enableHeartBeatTimer": true, - "activeTimeInseconds": "25", - "enableLinkTracking": true, - "disablePerformanceTracking": true, - "enableCrossDomainLinking": true, - "setCrossDomainLinkingTimeout": true, - "timeout": "10", - "getCrossDomainLinkingUrlParameter": true, - "disableBrowserFeatureDetection": true - }, - "result": true - }, - { - "config": { - "siteId": "1", - "serverUrl": "com.yara.fw.stage", - "eventsMapToGoalId": [ - { - "from": "Set GoalId", - "to": "123" - } - ], - "eventsToStandard": [ - { - "from": "Track Ping", - "to": "ping" - } - ], - "trackAllContentImpressions": true, - "trackVisibleContentImpressions": true, - "checkOnScroll": false, - "timeIntervalInMs": "15b", - "logAllContentBlocksOnPage": true, - "enableHeartBeatTimer": true, - "activeTimeInseconds": "25", - "enableLinkTracking": true, - "disablePerformanceTracking": true, - "enableCrossDomainLinking": true, - "setCrossDomainLinkingTimeout": true, - "timeout": "10", - "getCrossDomainLinkingUrlParameter": true, - "disableBrowserFeatureDetection": true - }, - "result": false, - "err": [ - "timeIntervalInMs must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$\"" - ] - }, - { - "config": { - "siteId": "3", - "serverUrl": "com.yara.fw.stage", - "eventsMapToGoalId": [ - { - "from": "Set GoalId", - "to": "123" - } - ], - "eventsToStandard": [ - { - "from": "Track Ping", - "to": "ping" - }, - { - "from": "Test", - "to": "Track Link" - } - ], - "trackAllContentImpressions": true, - "trackVisibleContentImpressions": true, - "checkOnScroll": true, - "timeIntervalInMs": "15", - "logAllContentBlocksOnPage": true, - "enableHeartBeatTimer": true, - "activeTimeInseconds": "", - "enableLinkTracking": true, - "disablePerformanceTracking": true, - "enableCrossDomainLinking": true, - "setCrossDomainLinkingTimeout": true, - "timeout": "10", - "getCrossDomainLinkingUrlParameter": true, - "disableBrowserFeatureDetection": true - }, - "result": false, - "err": [ - "activeTimeInseconds must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$\"" - ] - }, - { - "config": { - "siteId": "3", - "serverUrl": "com.yara.fw.stage", - "eventsMapToGoalId": [ - { - "from": "Set GoalId", - "to": "123" - } - ], - "eventsToStandard": [ - { - "from": "Track Ping", - "to": "ping" - }, - { - "from": "Test", - "to": "Track Link" - } - ], - "trackAllContentImpressions": true, - "trackVisibleContentImpressions": true, - "checkOnScroll": true, - "timeIntervalInMs": "15", - "logAllContentBlocksOnPage": true, - "enableHeartBeatTimer": true, - "activeTimeInseconds": "5", - "enableLinkTracking": true, - "disablePerformanceTracking": false, - "enableCrossDomainLinking": false, - "setCrossDomainLinkingTimeout": true, - "timeout": "", - "getCrossDomainLinkingUrlParameter": false, - "disableBrowserFeatureDetection": false - }, - "result": false, - "err": [ - "timeout must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$\"" - ] - }, - { - "config": { - "serverUrl": "com.yara.fw.stage", - "eventsMapToGoalId": [], - "eventsToStandard": [], - "trackAllContentImpressions": false, - "trackVisibleContentImpressions": false, - "logAllContentBlocksOnPage": false, - "enableHeartBeatTimer": false, - "enableLinkTracking": false, - "disablePerformanceTracking": false, - "enableCrossDomainLinking": false, - "setCrossDomainLinkingTimeout": false, - "getCrossDomainLinkingUrlParameter": false, - "disableBrowserFeatureDetection": false - }, - "result": false, - "err": [" must have required property 'siteId'"] - }, - { - "config": { - "siteId": "34b", - "serverUrl": "com.yara.fw.stage", - "eventsMapToGoalId": [], - "eventsToStandard": [], - "trackAllContentImpressions": true, - "trackVisibleContentImpressions": false, - "logAllContentBlocksOnPage": false, - "enableHeartBeatTimer": false, - "enableLinkTracking": false, - "disablePerformanceTracking": false, - "enableCrossDomainLinking": false, - "setCrossDomainLinkingTimeout": false, - "getCrossDomainLinkingUrlParameter": false, - "disableBrowserFeatureDetection": false - }, - "result": true - } -] diff --git a/src/validations/__tests__/validation_test_data/mautic_test.json b/src/validations/__tests__/validation_test_data/mautic_test.json deleted file mode 100644 index 437316ba4..000000000 --- a/src/validations/__tests__/validation_test_data/mautic_test.json +++ /dev/null @@ -1,59 +0,0 @@ -[ - { - "config": { - "userName": "abc@work.com", - "password": "1234yui", - "subDomainName": "work", - "lookUpField": "email" - }, - "result": true - }, - { - "config": { - "userName": "abc@test.com", - "password": "1234yui", - "subDomainName": "work", - "lookUpField": "" - }, - "result": false, - "err": [ - "lookUpField must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"" - ] - }, - { - "config": { - "userName": "abc@work.com", - "password": "", - "subDomainName": "work", - "lookUpField": "email" - }, - "result": false, - "err": [ - "password must match pattern \"(^env[.].+)|.+\"" - ] - }, - { - "config": { - "userName": "abc@work.com", - "password": "1234yui", - "subDomainName": "", - "lookUpField": "email" - }, - "result": false, - "err": [ - "subDomainName must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"" - ] - }, - { - "config": { - "userName": "", - "password": "1234yui", - "subDomainName": "work", - "lookUpField": "email" - }, - "result": false, - "err": [ - "userName must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"" - ] - } -] diff --git a/src/validations/__tests__/validation_test_data/microsoft_clarity_test.json b/src/validations/__tests__/validation_test_data/microsoft_clarity_test.json deleted file mode 100644 index 41921659b..000000000 --- a/src/validations/__tests__/validation_test_data/microsoft_clarity_test.json +++ /dev/null @@ -1,78 +0,0 @@ -[ - { - "config": { - "cookieConsent": true, - "eventFilteringOption": "disable", - "whitelistedEvents": [ - { - "eventName": "" - } - ], - "blacklistedEvents": [ - { - "eventName": "" - } - ] - }, - "result": false, - "err": [" must have required property 'projectId'"] - }, - { - "config": { - "projectId": "", - "cookieConsent": true, - "eventFilteringOption": "disable", - "whitelistedEvents": [ - { - "eventName": "" - } - ], - "blacklistedEvents": [ - { - "eventName": "" - } - ] - }, - "result": false, - "err": [ - "projectId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"" - ] - }, - { - "config": { - "projectId": "ej81fqgqfc", - "cookieConsent": "true", - "eventFilteringOption": "disable", - "whitelistedEvents": [ - { - "eventName": "" - } - ], - "blacklistedEvents": [ - { - "eventName": "" - } - ] - }, - "result": false, - "err": ["cookieConsent must be boolean"] - }, - { - "config": { - "projectId": "ej81fqgqfc", - "cookieConsent": false, - "eventFilteringOption": "disable", - "whitelistedEvents": [ - { - "eventName": "" - } - ], - "blacklistedEvents": [ - { - "eventName": "" - } - ] - }, - "result": false - } -] diff --git a/src/validations/__tests__/validation_test_data/monday_test.json b/src/validations/__tests__/validation_test_data/monday_test.json deleted file mode 100644 index d5184b3db..000000000 --- a/src/validations/__tests__/validation_test_data/monday_test.json +++ /dev/null @@ -1,75 +0,0 @@ -[ - { - "config": { - "apiToken": "", - "boardId": "483949233", - "groupTitle": "", - "columnToPropertyMapping": [ - { - "from": "Work Status", - "to": "status" - } - ], - "whitelistedEvents": [{ "eventName": "" }] - }, - "result": false, - "err": [ - "apiToken must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,300})$\"" - ] - }, - { - "config": { - "apiToken": "eywwakzdjiksjhriherniSFsjhnskdojsSDFhsdns.sSRSSREWdnfnsjshfjsjskshfiskskdS__Fskilhih", - "boardId": "", - "groupTitle": "", - "columnToPropertyMapping": [ - { - "from": "Work Status", - "to": "status" - } - ], - "whitelistedEvents": [{ "eventName": "Product added to cart" }] - }, - "result": false, - "err": [ - "boardId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"" - ] - }, - { - "config": { - "apiToken": "eywwakzdjiksjhriherniSFsjhnskdojsSDFhsdns.sSRSSREWdnfnsjshfjsjskshfiskskdS__Fskilhih", - "boardId": "323826323", - "groupTitle": false, - "columnToPropertyMapping": [ - { - "from": "Work Status", - "to": "status" - } - ], - "whitelistedEvents": [ - { "eventName": "Product purchased" }, - { "eventName": "Product added to cart" } - ] - }, - "result": false, - "err": ["groupTitle must be string"] - }, - { - "config": { - "apiToken": "eywwakzdjiksjhriherniSFsjhnskdojsSDFhsdns.sSRSSREWdnfnsjshfjsjskshfiskskdS__Fskilhih", - "boardId": "323826323", - "groupTitle": "Active deals", - "columnToPropertyMapping": [ - { - "from": "Work Status", - "to": "status" - } - ], - "whitelistedEvents": [ - { "eventName": "Product purchased" }, - { "eventName": "Product added to cart" } - ] - }, - "result": true - } -] diff --git a/src/validations/__tests__/validation_test_data/mp_test.json b/src/validations/__tests__/validation_test_data/mp_test.json deleted file mode 100644 index 033944d7d..000000000 --- a/src/validations/__tests__/validation_test_data/mp_test.json +++ /dev/null @@ -1,169 +0,0 @@ -[ - { - "config": { - "token": "2de18c6hf6v45201ab43d2344b0c128x", - "apiSecret": "1c078994c2141897ffaf71c36a75v227", - "dataResidency": "us", - "people": false, - "setAllTraitsByDefault": false, - "consolidatedPageCalls": true, - "trackCategorizedPages": false, - "trackNamedPages": false, - "sourceName": "AWS", - "crossSubdomainCookie": true, - "persistence": "cookie", - "secureCookie": true, - "superProperties": [ - { - "property": "super001" - } - ], - "peopleProperties": [ - { - "property": "maidenName" - } - ], - "eventIncrements": [ - { - "property": "triggerName" - } - ], - "propIncrements": [ - { - "property": "extraProps" - } - ], - "groupKeySettings": [ - { - "groupKey": "gg101" - } - ], - "useNativeSDK": { - "android": false - }, - "blacklistedEvents": [ - { - "eventName": "black" - } - ], - "whitelistedEvents": [ - { - "eventName": "white" - } - ], - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "Marketing" - } - ] - } - }, - "result": true - }, - { - "config": { - "apiSecret": "8ac88f162ddfefd91156565c431611fb", - "dataResidency": "us", - "groupKeySettings": [ - { - "groupKey": "admissions" - } - ] - }, - "result": false, - "err": [" must have required property 'token'"] - }, - { - "config": { - "token": "2de18c6hf6v45201ab43d2344b0c128x", - "dataResidency": "us", - "people": false, - "setAllTraitsByDefault": false, - "consolidatedPageCalls": true, - "trackCategorizedPages": false, - "trackNamedPages": false, - "crossSubdomainCookie": false, - "persistence": "localStorage", - "secureCookie": false, - "eventFilteringOption": "disable", - "useNativeSDK": { - "web": false - }, - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "Marketing" - } - ] - } - }, - "result": true - }, - { - "config": { - "token": "2de18c6hf6v45201ab43d2344b0c128x", - "dataResidency": "us", - "people": true, - "trackNamedPages": false, - "crossSubdomainCookie": false, - "persistence": "localStorage", - "secureCookie": false, - "eventFilteringOption": "disable", - "useNativeSDK": { - "web": false - }, - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "Marketing" - } - ] - } - }, - "result": true - }, - { - "config": { - "token": "2de18c6hf6v45201ab43d2344b0c128x", - "dataResidency": "us", - "people": false, - "setAllTraitsByDefault": false, - "consolidatedPageCalls": false, - "trackCategorizedPages": false, - "trackNamedPages": { - "name": true - }, - "crossSubdomainCookie": false, - "persistence": "localStorage", - "secureCookie": false, - "eventFilteringOption": "disable", - "useNativeSDK": { - "web": false - } - }, - "result": false, - "err": ["trackNamedPages must be boolean"] - }, - { - "config": { - "token": "2de18c6hf6v45201ab43d2344b0c128x", - "dataResidency": "us", - "people": false, - "setAllTraitsByDefault": false, - "consolidatedPageCalls": false, - "trackCategorizedPages": false, - "trackNamedPages": false, - "sourceName": "qflkmnzhahdgfhdhfe9he9wfhwe9fhweqdwgygqdwiqflkmnzhahdgfhdhfe9he9wfhwe9fhweqdwgygqdwiqflkmnzhahdgfhdhfe9he9wfhwe9fhweqdwgygqdwi", - "crossSubdomainCookie": false, - "persistence": "localStorage", - "secureCookie": false, - "eventFilteringOption": "disable", - "useNativeSDK": { - "web": false - } - }, - "result": false, - "err": ["sourceName must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$\""] - } -] \ No newline at end of file diff --git a/src/validations/__tests__/validation_test_data/mssql_test.json b/src/validations/__tests__/validation_test_data/mssql_test.json deleted file mode 100644 index b8849f812..000000000 --- a/src/validations/__tests__/validation_test_data/mssql_test.json +++ /dev/null @@ -1,276 +0,0 @@ -[ - { - "config": { - "host": "test-host", - "database": "test-database", - "user": "test-user", - "password": "test-password", - "port": "0000", - "sslMode": "disable", - "bucketProvider": "S3", - "syncFrequency": "30", - "useRudderStorage": false, - "bucketName": "test-bucket", - "accessKeyID": "test-access-key-id", - "accessKey": "test-access-key" - }, - "result": true - }, - { - "config": { - "host": "test-host", - "database": "test-database", - "user": "test-user", - "password": "test-password", - "port": "0000", - "sslMode": "disable", - "syncFrequency": "30", - "useRudderStorage": false, - "bucketProvider": "GCS", - "bucketName": "test-bucket", - "endPoint": "", - "useSSL": true, - "credentials": "{}", - "excludeWindow": { - "excludeWindowStartTime": "", - "excludeWindowEndTime": "" - }, - "syncStartAt": "16:30" - }, - "result": true - }, - { - "config": { - "host": "test-host", - "database": "test-database", - "user": "test-user", - "password": "test-password", - "port": "0000", - "sslMode": "disable", - "syncFrequency": "30", - "useRudderStorage": false, - "bucketProvider": "AZURE_BLOB", - "containerName": "test-container", - "accountName": "test-account-name", - "accountKey": "test-azure-account-key", - "useSSL": true - }, - "result": true - }, - { - "config": { - "host": "test-host", - "database": "test-database", - "user": "test-user", - "password": "test-password", - "port": "0000", - "sslMode": "disable", - "syncFrequency": "30", - "useRudderStorage": false, - "bucketProvider": "AZURE_BLOB", - "containerName": "test-container", - "accountName": "test-account-name", - "accountKey": "test-azure-account-key", - "sasToken": "", - "useSASTokens": false, - "useSSL": true - }, - "result": true - }, - { - "config": { - "host": "test-host", - "database": "test-database", - "user": "test-user", - "password": "test-password", - "port": "0000", - "sslMode": "disable", - "syncFrequency": "30", - "useRudderStorage": false, - "bucketProvider": "AZURE_BLOB", - "containerName": "test-container", - "accountName": "test-account-name", - "accountKey": "", - "sasToken": "test-azure-sas-token", - "useSASTokens": true, - "useSSL": true - }, - "result": true - }, - { - "config": { - "host": "test-host", - "database": "test-database", - "user": "test-user", - "password": "test-password", - "port": "0000", - "sslMode": "disable", - "syncFrequency": "30", - "useRudderStorage": false, - "bucketProvider": "AZURE_BLOB", - "containerName": "test-container", - "accountName": "test-account-name", - "accountKey": "test-azure-account-key", - "sasToken": "test-azure-sas-token", - "useSASTokens": true, - "useSSL": true - }, - "result": true - }, - { - "config": { - "host": "test-host", - "database": "test-database", - "user": "test-user", - "password": "test-password", - "port": "0000", - "sslMode": "disable", - "syncFrequency": "30", - "useRudderStorage": false, - "bucketProvider": "AZURE_BLOB", - "containerName": "test-container", - "accountName": "test-account-name", - "accountKey": "test-azure-account-key", - "sasToken": "test-azure-sas-token", - "useSASTokens": false, - "useSSL": true - }, - "result": true - }, - { - "config": { - "host": "test-host", - "database": "test-database", - "user": "test-user", - "password": "test-password", - "port": "0000", - "sslMode": "disable", - "syncFrequency": "30", - "useRudderStorage": false, - "bucketProvider": "AZURE_BLOB", - "containerName": "test-container", - "accountName": "test-account-name", - "useSSL": true - }, - "result": false, - "err": [ - " must have required property 'accountKey'", - " must have required property 'useSASTokens'", - " must have required property 'sasToken'", - " must match a schema in anyOf", - " must match \"then\" schema" - ] - }, - { - "config": { - "host": "test-host", - "database": "test-database", - "user": "test-user", - "password": "test-password", - "port": "0000", - "useRudderStorage": false, - "sslMode": "disable", - "bucketProvider": "MINIO", - "syncFrequency": "30", - "bucketName": "test-bucket", - "accessKeyID": "test-access-key-id", - "secretAccessKey": "test-secret-access-key", - "endPoint": "https:test.com", - "useSSL": true - }, - "result": true - }, - { - "config": { - "host": "test-host", - "database": "test-database", - "user": "test-user", - "password": "test-password", - "port": "0000", - "sslMode": "disable", - "bucketProvider": "S3", - "useRudderStorage": false, - "syncFrequency": "30", - "bucketName": "ab..ab", - "accessKeyID": "test-access-key-id", - "accessKey": "test-access-key" - }, - "result": false, - "err": [ - "bucketName must match pattern \"(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"", - " must match \"then\" schema" - ] - }, - { - "config": { - "host": "test-host", - "database": "test-database", - "user": "test-user", - "password": "test-password", - "port": "0000", - "sslMode": "disable", - "syncFrequency": "30", - "useRudderStorage": false, - "bucketProvider": "GCS", - "bucketName": "test..bucket", - "endPoint": "", - "useSSL": true, - "credentials": "{}", - "excludeWindow": { - "excludeWindowStartTime": "", - "excludeWindowEndTime": "" - }, - "syncStartAt": "16:30" - }, - "result": false, - "err": [ - "bucketName must match pattern \"(^env[.].+)|^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$\"", - " must match \"then\" schema" - ] - }, - { - "config": { - "host": "test-host", - "database": "test-database", - "user": "test-user", - "password": "test-password", - "port": "0000", - "sslMode": "disable", - "syncFrequency": "30", - "useRudderStorage": false, - "bucketProvider": "AZURE_BLOB", - "containerName": "test--container", - "accountName": "test-account-name", - "accountKey": "test-azure-account-key", - "useSSL": true - }, - "result": false, - "err": [ - "containerName must match pattern \"(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$\"", - " must match \"then\" schema" - ] - }, - { - "config": { - "host": "test-host", - "database": "test-database", - "user": "test-user", - "password": "test-password", - "port": "0000", - "useRudderStorage": false, - "sslMode": "disable", - "bucketProvider": "MINIO", - "syncFrequency": "30", - "bucketName": "1.2.3.4", - "accessKeyID": "test-access-key-id", - "secretAccessKey": "test-secret-access-key", - "endPoint": "https:test.com", - "useSSL": true - }, - "result": false, - "err": [ - "bucketName must match pattern \"(^env[.].+)|^((?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"", - " must match \"then\" schema" - ] - } -] \ No newline at end of file diff --git a/src/validations/__tests__/validation_test_data/one_signal_test.json b/src/validations/__tests__/validation_test_data/one_signal_test.json deleted file mode 100644 index cd013d00a..000000000 --- a/src/validations/__tests__/validation_test_data/one_signal_test.json +++ /dev/null @@ -1,36 +0,0 @@ -[ - { - "config": { - "appId": "", - "emailDeviceType": false, - "smsDeviceType": false, - "eventAsTags": false, - "allowedProperties": [{ "propertyName": "" }] - }, - "result": false, - "err": [ - "appId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"" - ] - }, - { - "config": { - "appId": "7acc2c99-818c-4a28-b98e-6cd8a994da65", - "emailDeviceType": false, - "smsDeviceType": false, - "eventAsTags": false, - "allowedProperties": [{ "propertyName": "" }] - }, - "result": true - }, - { - "config": { - "appId": "7acc2c99-818c-4a28-b98e-6cd8a994da65", - "emailDeviceType": "false", - "smsDeviceType": false, - "eventAsTags": false, - "allowedProperties": [{ "propertyName": "" }] - }, - "result": false, - "err": ["emailDeviceType must be boolean"] - } -] \ No newline at end of file diff --git a/src/validations/__tests__/validation_test_data/persistIq_test.json b/src/validations/__tests__/validation_test_data/persistIq_test.json deleted file mode 100644 index 5a82e2c38..000000000 --- a/src/validations/__tests__/validation_test_data/persistIq_test.json +++ /dev/null @@ -1,28 +0,0 @@ -[{ - "config": { - "apiKey":"893yh2ef823yf0", - "persistIqAttributesMapping": [ - { - "from": "useroccupation", - "to": "occupation" - } - ] - }, - "result": true - }, - { - "config": { - "apiKey":"", - "persistIqAttributesMapping": [ - { - "from": "useroccupation", - "to": "occupation" - } - ] - }, - "result": false, - "err": [ - "apiKey must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"" - ] - }] - \ No newline at end of file diff --git a/src/validations/__tests__/validation_test_data/pinterest_tag_test.json b/src/validations/__tests__/validation_test_data/pinterest_tag_test.json deleted file mode 100644 index 2dcd388ec..000000000 --- a/src/validations/__tests__/validation_test_data/pinterest_tag_test.json +++ /dev/null @@ -1,142 +0,0 @@ -[ - { - "config": { - "tagId": "123456789", - "advertiserId": "429047995", - "appId": "429047995", - "enhancedMatch": true, - "sendingUnHashedData": true, - "enableDeduplication": true, - "deduplicationKey": "messageId", - "customProperties": [ - { - "properties": "customProperty.customValue" - }, - { - "properties": "randomValue" - } - ], - "eventsMapping": [ - { - "from": "Track Ping", - "to": "ping" - } - ] - }, - "result": true - }, - { - "config": { - "tagId": "123456789abc", - "advertiserId": "429047995", - "appId": "429047995", - "sendingUnHashedData": false, - "enableDeduplication": true, - "deduplicationKey": "messageId", - "enhancedMatch": true, - "customProperties": [ - { - "properties": "presentclass" - }, - { - "properties": "presentgrade" - } - ], - "eventsMapping": [ - { - "from": "Track Ping", - "to": "ping" - } - ] - }, - "result": false, - "err": [ - "tagId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$\"" - ] - }, - { - "config": { - "tagId": "123456789", - "advertiserId": "429047995abc", - "appId": "429047995", - "sendingUnHashedData": false, - "enhancedMatch": true, - "enableDeduplication": false, - "customProperties": [ - { - "properties": "presentclass" - }, - { - "properties": "presentgrade" - } - ], - "eventsMapping": [ - { - "from": "Track Ping", - "to": "ping" - } - ] - }, - "result": false, - "err": [ - "advertiserId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$\"" - ] - }, - { - "config": { - "tagId": "123456789", - "advertiserId": "429047995", - "appId": "429047995abc", - "sendingUnHashedData": true, - "enableDeduplication": false, - "enhancedMatch": false, - "customProperties": [ - { - "properties": "presentclass" - }, - { - "properties": "presentgrade" - } - ], - "eventsMapping": [ - { - "from": "Track Ping", - "to": "ping" - } - ] - }, - "result": false, - "err": [ - "appId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$\"" - ] - }, - { - "config": { - "tagId": "123456789", - "advertiserId": "429047995", - "appId": "429047995", - "sendingUnHashedData": true, - "enableDeduplication": true, - "deduplicationKey": "", - "enhancedMatch": false, - "customProperties": [ - { - "properties": "presentclass" - }, - { - "properties": "presentgrade" - } - ], - "eventsMapping": [ - { - "from": "Track Ping", - "to": "ping" - } - ] - }, - "result": false, - "err": [ - "deduplicationKey must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"" - ] - } -] \ No newline at end of file diff --git a/src/validations/__tests__/validation_test_data/pipedream_test.json b/src/validations/__tests__/validation_test_data/pipedream_test.json deleted file mode 100644 index cfa1e3ee2..000000000 --- a/src/validations/__tests__/validation_test_data/pipedream_test.json +++ /dev/null @@ -1,90 +0,0 @@ -[ - { - "config": { - "pipedreamUrl": "http://sample.com/url", - "pipedreamMethod": "GET", - "headers": [ - { - "from": "a", - "to": "a" - }, - { - "from": "b", - "to": "b" - }, - { - "from": "c", - "to": "c" - } - ] - }, - "result": true - }, - { - "config": { - "pipedreamMethod": "POST", - "headers": [ - { - "from": "a", - "to": "a" - }, - { - "from": "b", - "to": "b" - }, - { - "from": "c", - "to": "c" - } - ] - }, - "result": false, - "err": [" must have required property 'pipedreamUrl'"] - }, - { - "config": { - "pipedreamUrl": "https://pipedream.site/cd6e1235-142d-6355-155e-feee12cb3c49", - "pipedreamMethod": "POST" - }, - "result": true - }, - { - "config": { - "pipedreamUrl": "http://sample.com/api/hooks/url", - "pipedreamMethod": "POST", - "headers": [ - { - "from": "Authorization", - "to": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCINiIsInR5cCI6IkpXVCkYTJkMDA4ZTcwMGNiIsInR5cCI6IkpXVCXIiOiI2MTE1NTJmYWYyNGE2ODAwMTJjYjhiNzQiLCJvcmciOiI2MGRjN2M2MWU5ZDliM2MzOTVjZWI5ZGIiLCJvcmdOYW1lIjoibmVpZ2hib3IiLCJ1c2VyVHlwZSI6Im1hY2hpbmUiLCJwb2QiOiJwcm9kMSIsInJvbGVzIjpbIm9yZy5hZG1pbiIsIm9yZy5ob29rcyIsIm9yZy5wZXJtaXNzaW9uIiwib3JnLnVzZXIiXSwiYXVkIjoidXJuOmNvbnN1bWVyIiwiaXNzIjoidXJuOmFwaSIsInN1YiI6IjYxMTU1MmZhZjI0YTY4MDAxMmNiOGI3NCJ9.CwzS9X8bQqC3lNt5WlxbHosJZ8sL-ogUTNh_ORBNIIw" - } - ] - }, - "result": true - }, - { - "config": { - "pipedreamUrl": "ftp://bridgettl.com/wbh", - "pipedreamMethod": "GET", - "headers": [ - { - "from": "isSecure", - "to": "secure010qpo12" - } - ] - }, - "result": true - }, - { - "config": { - "pipedreamUrl": "http://test.ec-example.example.com", - "pipedreamMethod": "POST", - "headers": [ - { - "from": "isSecure", - "to": "101" - } - ] - }, - "result": true - } - ] \ No newline at end of file diff --git a/src/validations/__tests__/validation_test_data/podsights_test.json b/src/validations/__tests__/validation_test_data/podsights_test.json deleted file mode 100644 index 3587d37c8..000000000 --- a/src/validations/__tests__/validation_test_data/podsights_test.json +++ /dev/null @@ -1,68 +0,0 @@ -[ - { - "config": { - "pixelId": "", - "eventsToQPEvents": [ - { - "from": "Order Completed", - "to": "Purchase" - } - ], - "eventFilteringOption": "disable", - "whitelistedEvents": [{ "eventName": "" }], - "blacklistedEvents": [{ "eventName": "" }] - }, - "result": false, - "err": [ - "pixelId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"" - ] - }, - { - "config": { - "eventsToQPEvents": [ - { - "from": "Order Completed", - "to": "Purchase" - } - ], - "enableAliasCall": false, - "eventFilteringOption": "disable", - "whitelistedEvents": [{ "eventName": "" }], - "blacklistedEvents": [{ "eventName": "" }] - }, - "result": false, - "err": [" must have required property 'pixelId'"] - }, - { - "config": { - "pixelId": 1234, - "eventsToQPEvents": [ - { - "from": "Order Completed", - "to": "Purchase" - } - ], - "enableAliasCall": true, - "eventFilteringOption": "disable", - "whitelistedEvents": [{ "eventName": "" }], - "blacklistedEvents": [{ "eventName": "" }] - }, - "result": false, - "err": ["pixelId must be string"] - }, - { - "config": { - "pixelId": "qwerty1234qwerty", - "eventsToQPEvents": [ - { - "from": "Order Completed", - "to": "Purchase" - } - ], - "eventFilteringOption": "disable", - "whitelistedEvents": [{ "eventName": "" }], - "blacklistedEvents": [{ "eventName": "" }] - }, - "result": true - } -] diff --git a/src/validations/__tests__/validation_test_data/refiner_test.json b/src/validations/__tests__/validation_test_data/refiner_test.json deleted file mode 100644 index a26a20685..000000000 --- a/src/validations/__tests__/validation_test_data/refiner_test.json +++ /dev/null @@ -1,98 +0,0 @@ -[ - { - "config": { - "apiKey": "d2bnp1ubi9x6zq1p89h5hyx2hf5q1k3v", - "webClientApiKey": "d2bnp1ubi9x6zq1p845487293848yx2hf5q1k3v", - "eventFilteringOption": "disable", - "whitelistedEvents": [ - { - "eventName": "" - } - ], - "blacklistedEvents": [ - { - "eventName": "" - } - ] - }, - "result": true - }, - { - "config": { - "webClientApiKey": "d2bnp1ubi9x6zq1p845487293848yx2hf5q1k3v", - "eventFilteringOption": "disable", - "whitelistedEvents": [ - { - "eventName": "" - } - ], - "blacklistedEvents": [ - { - "eventName": "" - } - ] - }, - "result": false, - "err": [" must have required property 'apiKey'"] - }, - { - "config": { - "apiKey": "", - "webClientApiKey": "d2bnp1ubi9x6zq1p845487293848yx2hf5q1k3v", - "eventFilteringOption": "disable", - "whitelistedEvents": [ - { - "eventName": "" - } - ], - "blacklistedEvents": [ - { - "eventName": "" - } - ] - }, - "result": false, - "err": [ - "apiKey must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"" - ] - }, - { - "config": { - "apiKey": "d2bnp1ubi9x6zq1p89h5hyx2hf5q1k3v", - "webClientApiKey": "", - "eventFilteringOption": "disable", - "whitelistedEvents": [ - { - "eventName": "" - } - ], - "blacklistedEvents": [ - { - "eventName": "" - } - ] - }, - "result": false, - "err": [ - "webClientApiKey must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"" - ] - }, - { - "config": { - "apiKey": "d2bnp1ubi9x6zq1p89h5hyx2hf5q1k3v", - "eventFilteringOption": "disable", - "whitelistedEvents": [ - { - "eventName": "" - } - ], - "blacklistedEvents": [ - { - "eventName": "" - } - ] - }, - "result": false, - "err": [" must have required property 'webClientApiKey'"] - } -] diff --git a/src/validations/__tests__/validation_test_data/revenue_cat_test.json b/src/validations/__tests__/validation_test_data/revenue_cat_test.json deleted file mode 100644 index b2a7b4936..000000000 --- a/src/validations/__tests__/validation_test_data/revenue_cat_test.json +++ /dev/null @@ -1,19 +0,0 @@ -[ - { - "config": { - "apiKey": "", - "xPlatform": "stripe" - }, - "result": false, - "err": [ - "apiKey must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"" - ] - }, - { - "config": { - "apiKey": "str_1435jbakh012", - "xPlatform": "amazon" - }, - "result": true - } -] diff --git a/src/validations/__tests__/validation_test_data/rockerbox_test.json b/src/validations/__tests__/validation_test_data/rockerbox_test.json deleted file mode 100644 index f607850bc..000000000 --- a/src/validations/__tests__/validation_test_data/rockerbox_test.json +++ /dev/null @@ -1,139 +0,0 @@ -[ - { - "config": { - "advertiserId": "test id", - "eventFilteringOption": "disable", - "whitelistedEvents": [ - { - "eventName": "" - } - ], - "blacklistedEvents": [ - { - "eventName": "" - } - ], - "eventsMap": [ - { - "from": "Product Added", - "to": "conv.add_to_cart" - } - ], - "useNativeSDK": { - "web": true - }, - "useNativeSDKToSend": { - "web": true - }, - "clientAuthId": { - "web": "test-client-auth-id" - }, - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "Marketing Sample" - } - ] - }, - "customDomain": { - "web": "" - }, - "enableCookieSync": { - "web": false - } - }, - "result": true - }, - { - "config": { - "eventFilteringOption": "disable", - "whitelistedEvents": [ - { - "eventName": "" - } - ], - "blacklistedEvents": [ - { - "eventName": "" - } - ], - "eventsMap": [ - { - "from": "Product Added", - "to": "conv.add_to_cart" - } - ], - "useNativeSDK": { - "web": true - }, - "useNativeSDKToSend": { - "web": true - }, - "clientAuthId": { - "web": "test-client-auth-id" - }, - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "Marketing Sample" - } - ] - }, - "customDomain": { - "web": "" - }, - "enableCookieSync": { - "web": false - } - }, - "result": false, - "err": [ - " must have required property 'advertiserId'" - ] - }, - { - "config": { - "advertiserId": "test id", - "eventFilteringOption": "disable", - "whitelistedEvents": [ - { - "eventName": "" - } - ], - "blacklistedEvents": [ - { - "eventName": "" - } - ], - "eventsMap": [ - { - "from": "Product Added", - "to": "conv.add_to_cart" - } - ], - "useNativeSDK": { - "web": true - }, - "useNativeSDKToSend": { - "web": true - }, - "clientAuthId": { - "web": "test-client-auth-id" - }, - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "Marketing Sample" - } - ] - }, - "customDomain": { - "web": "https://cookiedomain.com" - }, - "enableCookieSync": { - "web": true - } - }, - "result": true - } -] \ No newline at end of file diff --git a/src/validations/__tests__/validation_test_data/s3_datalake_test.json b/src/validations/__tests__/validation_test_data/s3_datalake_test.json deleted file mode 100644 index 9e75ddba9..000000000 --- a/src/validations/__tests__/validation_test_data/s3_datalake_test.json +++ /dev/null @@ -1,108 +0,0 @@ -[ - { - "config": { - "bucketName": "test-bucket", - "useGlue": true, - "prefix": "xyzxx", - "namespace": "eu_new3", - "accessKeyID": "", - "accessKey": "", - "syncFrequency": "30", - "region": "us-east-1" - }, - "result": true - }, - { - "config": { - "bucketName": "test-bucket-test-bucket-test-bucket-test-bucket-test-bucket-test-bucket-test-bucket-test-bucket-test-bucket", - "useGlue": true, - "prefix": "xyzxx", - "namespace": "eu_new3", - "accessKeyID": "", - "accessKey": "", - "syncFrequency": "30", - "region": "us-east-1" - }, - "result": false, - "err": [ - "bucketName must match pattern \"(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"" - ] - }, - { - "config": { - "bucketName": "test.bucket", - "useGlue": true, - "prefix": "xyzxx", - "namespace": "eu_new3", - "accessKeyID": "", - "accessKey": "", - "syncFrequency": "30", - "region": "us-east-1" - }, - "result": true - }, - { - "config": { - "bucketName": "testBucket", - "useGlue": true, - "prefix": "xyzxx", - "namespace": "eu_new3", - "accessKeyID": "", - "accessKey": "", - "syncFrequency": "30", - "region": "us-east-1" - }, - "result": false, - "err": [ - "bucketName must match pattern \"(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"" - ] - }, - { - "config": { - "bucketName": "ab", - "useGlue": true, - "prefix": "xyzxx", - "namespace": "eu_new3", - "accessKeyID": "", - "accessKey": "", - "syncFrequency": "30", - "region": "us-east-1" - }, - "result": false, - "err": [ - "bucketName must match pattern \"(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"" - ] - }, - { - "config": { - "bucketName": "ab..ab", - "useGlue": true, - "prefix": "xyzxx", - "namespace": "eu_new3", - "accessKeyID": "", - "accessKey": "", - "syncFrequency": "30", - "region": "us-east-1" - }, - "result": false, - "err": [ - "bucketName must match pattern \"(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"" - ] - }, - { - "config": { - "bucketName": "xn--abc", - "useGlue": true, - "prefix": "xyzxx", - "namespace": "eu_new3", - "accessKeyID": "", - "accessKey": "", - "syncFrequency": "30", - "region": "us-east-1" - }, - "result": false, - "err": [ - "bucketName must match pattern \"(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"" - ] - } -] \ No newline at end of file diff --git a/src/validations/__tests__/validation_test_data/s3_test.json b/src/validations/__tests__/validation_test_data/s3_test.json deleted file mode 100644 index f958e5329..000000000 --- a/src/validations/__tests__/validation_test_data/s3_test.json +++ /dev/null @@ -1,70 +0,0 @@ -[ - { - "config": { - "bucketName": "traveltesting", - "prefix": "load-GA", - "accessKeyID": "AKIAJOJJ2DSTMP1SB2IL", - "accessKey": "qsmYPTbeifaSdOD+Qqq2s+fsSmDQxF1ylqCfV0xa", - "enableSSE": false - }, - "result": true - }, - { - "config": { - "prefix": "rudder", - "accessKeyID": "ZKOAQLY2HJ7QLD6BLVF3", - "accessKey": "VZElJiPgn/vBwKWEQk6RpbdOxZIQn1iS5CjE5vD8", - "enableSSE": true, - "testConnection": false, - "testConnectionTS": 1627655059687 - }, - "result": false, - "err": [" must have required property 'bucketName'"] - }, - { - "config": { - "bucketName": "iqw.btex.deltalake.production", - "accessKeyID": "ZKOAQLY2HJ7QLD6BLVF3", - "accessKey": "I1luLPZlFOkCfgZIkdAuzr1/fhjLXiHopKC4qvg3", - "enableSSE": true - }, - "result": true - }, - { - "config": { - "bucketName": "iqw.btex.deltalake.production", - "prefix": "tashforcenonsse/app_events/", - "accessKeyID": "ZKOAQLY2HJ7QLD6BLVF3", - "accessKey": "I1luLPZlFOkCfgZIkdAuzr1/fhjLXiHopKC4qvg3" - }, - "result": true - }, - { - "config": { - "bucketName": "iqw.btex.deltalake.production", - "prefix": [ - "p1", - "p2" - ], - "accessKeyID": "ZKOAQLY2HJ7QLD6BLVF3", - "accessKey": "I1luLPZlFOkCfgZIkdAuzr1/fhjLXiHopKC4qvg3", - "enableSSE": false - }, - "result": false, - "err": ["prefix must be string"] - }, - { - "config": { - "bucketName": "iqw.btex.deltalake.production", - "prefix": [ - "p1qpqowoeujdjhfsjcbcnfhhruthgdhdhffpoahwbseytxyideodjfwoefhdwofwbqbckjqowjhdbsjhdhdbfdefbvbswdbswvdwvuqvqooiwqdwcwewef", - "p2" - ], - "accessKeyID": "ZKOAQLY2HJ7QLD6BLVF3", - "accessKey": "I1luLPZlFOkCfgZIkdAuzr1/fhjLXiHopKC4qvg3", - "enableSSE": false - }, - "result": false, - "err": ["prefix must be string"] - } -] \ No newline at end of file diff --git a/src/validations/__tests__/validation_test_data/satismeter_test.json b/src/validations/__tests__/validation_test_data/satismeter_test.json deleted file mode 100644 index 442457247..000000000 --- a/src/validations/__tests__/validation_test_data/satismeter_test.json +++ /dev/null @@ -1,65 +0,0 @@ -[ - { - "config": { - "writeKey": "dh9823rg2fy923f09", - "recordSatismeterEvents": true, - "identifyAnonymousUsers": true, - "updateEventNames": true, - "eventsToStandard": [ - { - "from": "abc", - "to": "display" - } - ], - "eventFilteringOption": "disable", - "whitelistedEvents": [ - { - "eventName": "" - } - ], - "blacklistedEvents": [ - { - "eventName": "" - } - ] - }, - "result": true - }, - { - "config": { - "writeKey": "", - "recordSatismeterEvents": true, - "identifyAnonymousUsers": false, - "updateEventNames": true, - "eventsToStandard": [ - { - "from": "abc", - "to": "dismiss" - }, - { - "from": "abc", - "to": "complete" - }, - { - "from": "def", - "to": "progress" - } - ], - "eventFilteringOption": "disable", - "whitelistedEvents": [ - { - "eventName": "" - } - ], - "blacklistedEvents": [ - { - "eventName": "" - } - ] - }, - "result": false, - "err": [ - "writeKey must match pattern \"^(([a-z0-9]+[.])+[a-z]{1,})$\"" - ] - } -] diff --git a/src/validations/__tests__/validation_test_data/sendinblue_test.json b/src/validations/__tests__/validation_test_data/sendinblue_test.json deleted file mode 100644 index f12fe6848..000000000 --- a/src/validations/__tests__/validation_test_data/sendinblue_test.json +++ /dev/null @@ -1,113 +0,0 @@ -[ - { - "config": { - "apiKey": "xkeysib-cI7d098201bW5acf0453FY1b64fsej32da3f8ae01d7c8f9b78L43153d814td000020eb9-1e4M595C0", - "clientKey": "1vd0i6w1al7q38ap5kucurfy", - "doi": true, - "templateId": "2", - "redirectionUrl": "https://my.sendinblue.com/", - "sendTraitsInTrack": false, - "contactAttributeMapping": [ - { - "from": "area_code", - "to": "AREA" - }, - { - "from": "location", - "to": "LOCATION" - } - ] - }, - "result": true - }, - { - "config": { - "apiKey": "xkeysib-cI7d098201bW5acf0453FY1b64fsej32da3f8ae01d7c8f9b78L43153d814td000020eb9-1e4M595C0", - "clientKey": "1vd0i6w1al7q38ap5kucurfy" - }, - "result": true - }, - { - "config": { - "clientKey": "1vd0i6w1al7q38ap5kucurfy", - "doi": true, - "templateId": "2", - "redirectionUrl": "https://my.sendinblue.com/" - }, - "result": false, - "err": [" must have required property 'apiKey'"] - }, - { - "config": { - "apiKey": "xkeysib-cI7d098201bW5acf0453FY1b64fsej32da3f8ae01d7c8f9b78L43153d814td000020eb9-1e4M595C0", - "doi": true, - "templateId": "2", - "redirectionUrl": "https://my.sendinblue.com/" - }, - "result": false, - "err": [" must have required property 'clientKey'"] - }, - { - "config": { - "apiKey": "xkeysib-cI7d098201bW5acf0453FY1b64fsej32da3f8ae01d7c8f9b78L43153d814td000020eb9-1e4M595C0", - "clientKey": "1vd0i6w1al7q38ap5kucurfy", - "doi": true, - "templateId": "2" - }, - "result": false, - "err": [" must have required property 'redirectionUrl'"] - }, - { - "config": { - "apiKey": 1234, - "clientKey": "1vd0i6w1al7q38ap5kucurfy" - }, - "result": false, - "err": ["apiKey must be string"] - }, - { - "config": { - "apiKey": "xkeysib-cI7d098201bW5acf0453FY1b64fsej32da3f8ae01d7c8f9b78L43153d814td000020eb9-1e4M595C0", - "clientKey": 1234 - }, - "result": false, - "err": ["clientKey must be string"] - }, - { - "config": { - "apiKey": "xkeysib-cI7d098201bW5acf0453FY1b64fsej32da3f8ae01d7c8f9b78L43153d814td000020eb9-1e4M595C0", - "clientKey": "1vd0i6w1al7q38ap5kucurfy", - "doi": true, - "templateId": "abc123", - "redirectionUrl": "https://my.sendinblue.com/" - }, - "result": false, - "err": [ - "templateId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$\"" - ] - }, - { - "config": { - "apiKey": "xkeysib-cI7d098201bW5acf0453FY1b64fsej32da3f8ae01d7c8f9b78L43153d814td000020eb9-1e4M595C0", - "clientKey": "1vd0i6w1al7q38ap5kucurfy", - "doi": true, - "templateId": 2, - "redirectionUrl": "https://my.sendinblue.com/" - }, - "result": false, - "err": ["templateId must be string"] - }, - { - "config": { - "apiKey": "xkeysib-cI7d098201bW5acf0453FY1b64fsej32da3f8ae01d7c8f9b78L43153d814td000020eb9-1e4M595C0", - "clientKey": "1vd0i6w1al7q38ap5kucurfy", - "doi": true, - "templateId": "2", - "redirectionUrl": "xyz" - }, - "result": false, - "err": [ - "redirectionUrl must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$\"" - ] - } -] diff --git a/src/validations/__tests__/validation_test_data/sentry_test.json b/src/validations/__tests__/validation_test_data/sentry_test.json deleted file mode 100644 index b06dcdcb0..000000000 --- a/src/validations/__tests__/validation_test_data/sentry_test.json +++ /dev/null @@ -1,73 +0,0 @@ -[ - { - "config": { - "dsn": "https://42152b1ac22647378fd808fbdb442798@o1142740.ingest.sentry.io/6201791", - "environment": "production", - "customVersionProperty": "window.kaholo.version", - "release": "window.kaholo.version", - "serverName": "server", - "logger": "sentry", - "debugMode": false, - "eventFilteringOption": "disable", - "ignoreErrors": [{ "ignoreErrors": "" }], - "includePaths": [{ "includePaths": "" }], - "allowUrls": [{ "allowUrls": "" }], - "denyUrls": [{ "denyUrls": "" }], - "whitelistedEvents": [{ "eventName": "" }], - "blacklistedEvents": [{ "eventName": "" }], - "useNativeSDK": { "web": true }, - "oneTrustCookieCategories": { - "web": [{ "oneTrustCookieCategory": "Debugging" }] - } - }, - "result": true - }, - { - "config": { - "dsn": "https://eed83226fcb849babf7982f074cf86f0@o1069456.ingest.sentry.io/6064106", - "environment": "production", - "customVersionProperty": "", - "release": "", - "serverName": "", - "logger": "", - "debugMode": false, - "ignoreErrors": [{ "ignoreErrors": "" }], - "includePaths": [{ "includePaths": "" }], - "allowUrls": [{ "allowUrls": "" }], - "denyUrls": [{ "denyUrls": "" }], - "useNativeSDK": { "web": true }, - "blacklistedEvents": {}, - "whitelistedEvents": {}, - "oneTrustCookieCategories": { "web": [{ "oneTrustCookieCategory": "" }] } - }, - "result": false, - "err": [ - "whitelistedEvents must be array", - "blacklistedEvents must be array" - ] - }, - { - "config": { - "dsn": "https://eed83226fcb849babf7982f074cf86f0@o1069456.ingest.sentry.io/6064106", - "environment": "development", - "customVersionProperty": "", - "release": "", - "serverName": "", - "logger": "", - "debugMode": false, - "ignoreErrors": [{ "ignoreErrors": "" }], - "includePaths": [{ "includePaths": "" }], - "allowUrls": [{ "allowUrls": "" }], - "denyUrls": [{ "denyUrls": "" }], - "useNativeSDK": { "web": true }, - "blackListedEvents": {}, - "whiteListedEvents": {}, - "oneTrustCookieCategories": { "web": [{ "oneTrustCookieCategory": "" }] } - }, - "result": false, - "err": [ - " must NOT have additional properties", - " must NOT have additional properties" - ] - } -] diff --git a/src/validations/__tests__/validation_test_data/shynet_test.json b/src/validations/__tests__/validation_test_data/shynet_test.json deleted file mode 100644 index 02c50615c..000000000 --- a/src/validations/__tests__/validation_test_data/shynet_test.json +++ /dev/null @@ -1,35 +0,0 @@ -[ - { - "config": { - "heartBeatFrequencyInMs": "11234", - "shynetServiceUrl": "https://localhost:5555/ingress/5b3470a9-be69-4298-9ec1-3fe3f483738c/script.js" - }, - "result": true - }, - { - "config": { - "heartBeatFrequencyInMs": "", - "shynetServiceUrl": "http://localhost:5555/ingress/5b3470a9-be69-4298-9ec1-3fe3f483738c/script.js" - }, - "result": true - }, - { - "config": { - "heartBeatFrequencyInMs": "5000000000000000000000000000000000000", - "shynetServiceUrl": "https://wwww.mysite.com/ingress/5b3470a9-be69-4298-9ec1-354354354wefdv/script.js" - }, - "result": false, - "err": [ - "heartBeatFrequencyInMs must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,10})$\"" - ] - }, - { - "config": { - "heartBeatFrequencyInMs": "2000", - "shynetServiceUrl": "" - }, - "err": [ - "shynetServiceUrl must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,300})$\"" - ] - } -] diff --git a/src/validations/__tests__/validation_test_data/singular_test.json b/src/validations/__tests__/validation_test_data/singular_test.json deleted file mode 100644 index 0aafd8cfd..000000000 --- a/src/validations/__tests__/validation_test_data/singular_test.json +++ /dev/null @@ -1,85 +0,0 @@ -[ - { - "config": { - "apiKey": "nowstack_3a8df6629b0be0cf6xxa22fb2220e929_811168a9", - "apiSecret": "", - "eventFilteringOption": "disable", - "sessionEventList": [ - { - "sessionEventName": "App Session New" - } - ], - "whitelistedEvents": [ - { - "eventName": "" - } - ], - "blacklistedEvents": [ - { - "eventName": "" - } - ], - "useNativeSDK": { - "android": true - } - }, - "result": true - }, - { - "config": { - "apiSecret": "h2rh3g23hr92rh9hfew", - "eventFilteringOption": "disable", - "sessionEventList": [ - { - "sessionEventName": "App Session New" - } - ], - "whitelistedEvents": [ - { - "eventName": "" - } - ], - "blacklistedEvents": [ - { - "eventName": "" - } - ], - "useNativeSDK": { - "android": true - } - }, - "result": false, - "err": [ - " must have required property 'apiKey'" - ] - }, - { - "config": { - "apiKey": "nowstack_3a8df6629b0be0cf6xxa22fb2220e929_811168a9", - "apiSecret": "gidawgaigfa", - "eventFilteringOption": "disable", - "sessionEventList": [ - { - "sessionEventName": "Application Session" - }, - { - "sessionEventName": "New Campaign Session" - } - ], - "whitelistedEvents": [ - { - "eventName": "" - } - ], - "blacklistedEvents": [ - { - "eventName": "" - } - ], - "useNativeSDK": { - "android": true - } - }, - "result": true - } -] diff --git a/src/validations/__tests__/validation_test_data/slack_test.json b/src/validations/__tests__/validation_test_data/slack_test.json deleted file mode 100644 index 6459442bf..000000000 --- a/src/validations/__tests__/validation_test_data/slack_test.json +++ /dev/null @@ -1,57 +0,0 @@ -[ - { - "config": { - "identifyTemplate": "", - "webhookUrl": "", - "eventChannelSettings": [ - { "eventName": "", "eventChannel": "", "eventRegex": false } - ], - "eventTemplateSettings": [ - { "eventName": "", "eventTemplate": "", "eventRegex": false } - ], - "whitelistedTraitsSettings": [{ "trait": "" }] - }, - "result": true - }, - { - "config": { - "identifyTemplate": "", - "webhookUrl": "https://hooks.slack.com/services/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", - "eventChannelSettings": [ - { "eventName": "XYZ", "eventChannel": "@srikanth", "eventRegex": false } - ], - "eventTemplateSettings": [ - { - "eventName": "abc", - "eventTemplate": "a: {{properties.a}} {{properties.newLine}} b: {{properties.b}}", - "eventRegex": false - } - ], - "whitelistedTraitsSettings": [{ "trait": "" }] - }, - "result": true - }, - { "config": { "identifyTemplate": "", "webhookUrl": "" }, "result": true }, - { - "config": { - "identifyTemplate": "", - "webhookUrl": "https://hooks.slack.com/services/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", - "eventChannelSettings": [ - { "eventName": "XYZ", "eventChannel": "@srikanth", "eventRegex": false } - ], - "eventTemplateSettings": [ - { - "eventName": 1234, - "eventTemplate": "a: {{properties.a}} {{properties.newLine}} b: {{properties.b}}", - "eventRegex": "false" - } - ], - "whitelistedTraitsSettings": [{ "trait": "" }] - }, - "result": false, - "err": [ - "eventTemplateSettings.0.eventName must be string", - "eventTemplateSettings.0.eventRegex must be boolean" - ] - } -] diff --git a/src/validations/__tests__/validation_test_data/snapchat_conversion_test.json b/src/validations/__tests__/validation_test_data/snapchat_conversion_test.json deleted file mode 100644 index 01dca838c..000000000 --- a/src/validations/__tests__/validation_test_data/snapchat_conversion_test.json +++ /dev/null @@ -1,35 +0,0 @@ -[ - { - "config": { - "apiKey": "MTp6WHZyNbJXZVNMMm11AlJ1R1BXeVVBOkk0dFk5dkEybUVEWAw5NHk5dXBYUjBIdWp6QzZCNC1TMEFGU9QwYVdnUjg", - "pixelId": "836d6231-aad6-4e41-9cbb-5854565cad8e", - "enableDeduplication": false - }, - "result": true - }, - { - "config": { - "pixelId": "836d6231-aad6-4e41-9cbb-5854565cad8e", - "enableDeduplication": true, - "deduplicationKey": "messageId" - }, - "result": false, - "err": [" must have required property 'apiKey'"] - }, - { - "config": { - "apiKey": "MTp6WHZyNbJXZVNMMm11AlJ1R1BXeVVBOkk0dFk5dkEybUVEWAw5NHk5dXBYUjBIdWp6QzZCNC1TMEFGU9QwYVdnUjg", - "pixelId": "836d6231-aad6-4e41-9cbb-5854565cad8e", - "enableDeduplication": true, - "deduplicationKey": "messageId", - "rudderEventsToSnapEvents": [ - { - "from": "prodSearch", - "to": "products_searched" - } - ] - - }, - "result": true - } -] diff --git a/src/validations/__tests__/validation_test_data/snapengage_test.json b/src/validations/__tests__/validation_test_data/snapengage_test.json deleted file mode 100644 index e1959ed23..000000000 --- a/src/validations/__tests__/validation_test_data/snapengage_test.json +++ /dev/null @@ -1,63 +0,0 @@ -[ - { - "config": { - "widgetId": "11234", - "recordLiveChatEvents": true, - "updateEventNames": true, - "eventsToStandard": [ - { - "from": "abc", - "to": "startChat" - } - ] - }, - "result": true - }, - { - "config": { - "widgetId": "11234", - "recordLiveChatEvents": true, - "updateEventNames": true, - "eventsToStandard": [ - { - "from": "abc", - "to": "startChat" - }, - { - "from": "abc", - "to": "chatMessageSent" - }, - { - "from": "def", - "to": "chatMessageReceived" - } - ] - }, - "result": true - }, - { - "config": { - "widgetId": "11234", - "recordLiveChatEvents": true, - "updateEventNames": false - }, - "result": true - }, - { - "config": { - "widgetId": "", - "recordLiveChatEvents": true, - "updateEventNames": true, - "eventsToStandard": [ - { - "from": "abc", - "to": "startChat" - } - ] - }, - "result": false, - "err": [ - "widgetId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"" - ] - } -] diff --git a/src/validations/__tests__/validation_test_data/vero_test.json b/src/validations/__tests__/validation_test_data/vero_test.json deleted file mode 100644 index c24169c6c..000000000 --- a/src/validations/__tests__/validation_test_data/vero_test.json +++ /dev/null @@ -1,103 +0,0 @@ -[ - { - "config": { - "authToken": "MOx2ZmMwLNE2A2IdNKL0N2VhN2I3ZGY1MTVmMzA1ODk0YmIkNDZhNTojMTk3YTBlMTg1YmU1NWM0MDA2ZDVmZjY0ZGFiOTVkNDMyYTcwOWFk", - "apiKey": { - "web": "755fc11162r14c41ar7e7df232f305984bb021a1" - }, - "useNativeSDK": { - "web": false - }, - "blacklistedEvents": { - "web": [ - { - "eventName": "Pin Generated" - }, - { - "eventName": "Pin Expired" - } - ] - }, - "whitelistedEvents": { - "web": [ - { - "eventName": "" - } - ] - }, - "eventFilteringOption": { - "web": "blacklistedEvents" - }, - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "Sales" - }, - { - "oneTrustCookieCategory": "Marketing" - } - ] - } - }, - "result": false, - "err": ["whitelistedEvents must be array","blacklistedEvents must be array"] - }, - { - "config": { - "authToken": "wbiwefbwiefbfkbfwekj", - "eventFilteringOption": "disable", - "whitelistedEvents": [ - { - "eventName": "" - } - ], - "blacklistedEvents": [ - { - "eventName": "" - } - ], - "apiKey": { - "web": "bkajbdskasbdkbadasdsa" - }, - "useNativeSDK": { - "web": false - }, - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "" - } - ] - } - }, - "result": true - }, - { - "config": { - "eventFilteringOption": "disable", - "whitelistedEvents": [ - { - "eventName": "" - } - ], - "blacklistedEvents": [ - { - "eventName": "" - } - ], - "apiKey": "djykdftkuf", - "useNativeSDK": { - "web": false - }, - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "" - } - ] - } - }, - "result": false, - "err": ["apiKey must be object"] - } -] \ No newline at end of file diff --git a/src/validations/__tests__/validation_test_data/vwo_test.json b/src/validations/__tests__/validation_test_data/vwo_test.json deleted file mode 100644 index 9bad2083f..000000000 --- a/src/validations/__tests__/validation_test_data/vwo_test.json +++ /dev/null @@ -1,109 +0,0 @@ -[ - { - "config": { - "accountId": "68869", - "isSPA": true, - "sendExperimentTrack": false, - "sendExperimentIdentify": true, - "eventFilteringOption": "blacklistedEvents", - "libraryTolerance": "2500", - "settingsTolerance": "2000", - "useExistingJquery": true, - "whitelistedEvents": [], - "blacklistedEvents": [ - { - "eventName": "b1" - }, - { - "eventName": "b2" - } - ], - "useNativeSDK": { - "web": true - } - }, - "result": true - }, - { - "config": { - "accountId": "68869", - "isSPA": true, - "sendExperimentTrack": false, - "sendExperimentIdentify": true, - "eventFilteringOption": "whitelistedEvents", - "libraryTolerance": "2500", - "settingsTolerance": "2000", - "useExistingJquery": true, - "whitelistedEvents": [ - { - "eventName": "w1 allowed" - }, - { - "eventName": "w2 allowed" - } - ], - "blacklistedEvents": [ - { - "eventName": "b1" - }, - { - "eventName": "b2" - } - ], - "useNativeSDK": { - "web": true - } - }, - "result": true - }, - { - "config": { - "isSPA": true, - "sendExperimentTrack": false, - "sendExperimentIdentify": true, - "eventFilteringOption": "blacklistedEvents", - "libraryTolerance": "2500", - "settingsTolerance": "2000", - "useExistingJquery": true, - "whitelistedEvents": [], - "blacklistedEvents": [ - { - "eventName": "b1" - }, - { - "eventName": "b2" - } - ], - "useNativeSDK": { - "web": true - } - }, - "result": false, - "err": [" must have required property 'accountId'"] - }, - { - "config": { - "accountId": "68869", - "isSPA": true, - "sendExperimentTrack": true, - "sendExperimentIdentify": false, - "eventFilteringOption": "whitelistedEvents", - "libraryTolerance": "1500", - "settingsTolerance": "2300", - "useExistingJquery": true, - "whitelistedEvents": [ - { - "eventName": { - "name": "whitelistedEventObject1" - } - } - ], - "blacklistedEvents": [], - "useNativeSDK": { - "web": true - } - }, - "result": false, - "err": ["whitelistedEvents.0.eventName must be string"] - } -] \ No newline at end of file diff --git a/src/validations/__tests__/validation_test_data/webengage_test.json b/src/validations/__tests__/validation_test_data/webengage_test.json deleted file mode 100644 index 8d4d558a9..000000000 --- a/src/validations/__tests__/validation_test_data/webengage_test.json +++ /dev/null @@ -1,32 +0,0 @@ -[ - { - "config": { - "licenseCode": "", - "apiKey": "asdf123sad", - "dataCenter": "standard" - }, - "result": false, - "err": [ - "licenseCode must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"" - ] - }, - { - "config": { - "licenseCode": "adhs123", - "apiKey": "", - "dataCenter": "ind" - }, - "result": false, - "err": [ - "apiKey must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"" - ] - }, - { - "config": { - "licenseCode": "adhs123", - "apiKey": "ajsdgkh21", - "dataCenter": "standard" - }, - "result": true - } -] diff --git a/src/validations/__tests__/validation_test_data/woopra_test.json b/src/validations/__tests__/validation_test_data/woopra_test.json deleted file mode 100644 index 6f834539a..000000000 --- a/src/validations/__tests__/validation_test_data/woopra_test.json +++ /dev/null @@ -1,37 +0,0 @@ -[ - { - "config": { - "projectName": "abcwork.com", - "cookieName": "iugefiu23", - "cookiePath": "folder/tmp", - "cookieDomain": "testing.com", - "clickTracking": false, - "downloadTracking": true, - "hideCampaign": true, - "idleTimeout": "30000", - "ignoreQueryUrl": false, - "outgoingIgnoreSubdomain": true, - "outgoingTracking": true - }, - "result": true - }, - { - "config": { - "projectName": "abc1", - "cookieName": "iugefiu23", - "cookiePath": "folder/tmp", - "cookieDomain": "testing.com", - "clickTracking": false, - "downloadTracking": true, - "hideCampaign": true, - "idleTimeout": "20000", - "ignoreQueryUrl": false, - "outgoingIgnoreSubdomain": true, - "outgoingTracking": true - }, - "result": false, - "err": [ - "projectName must match pattern \"^(([a-z0-9]+[.])+[a-z]{1,})$\"" - ] - } -] \ No newline at end of file diff --git a/src/validations/__tests__/validation_test_data/wootric_test.json b/src/validations/__tests__/validation_test_data/wootric_test.json deleted file mode 100644 index 42df6c24f..000000000 --- a/src/validations/__tests__/validation_test_data/wootric_test.json +++ /dev/null @@ -1,43 +0,0 @@ -[ - { - "config": { - "username": "testUser@example.com", - "password": "Hn7zefEy9FNYz$!J", - "accountToken": "NPS-8f872341" - }, - "result": true - }, - { - "config": { - "username": "", - "password": "Hn7zefEy9FNYz$!J", - "accountToken": "NPS-8f872341" - }, - "result": false, - "err": [ - "username must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"" - ] - }, - { - "config": { - "username": "username123", - "password": "Hn7zefEy9FNYz$!J", - "accountToken": "NPS-8f872341" - }, - "result": false, - "err": [ - "username must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"" - ] - }, - { - "config": { - "username": "testUser@example.com", - "password": "Hn7zefEy9FNYz", - "accountToken": 8872341 - }, - "result": false, - "err": [ - "accountToken must be string" - ] - } -] diff --git a/src/validations/__tests__/validation_test_data/yahoo_dsp_test.json b/src/validations/__tests__/validation_test_data/yahoo_dsp_test.json deleted file mode 100644 index 7ba513d41..000000000 --- a/src/validations/__tests__/validation_test_data/yahoo_dsp_test.json +++ /dev/null @@ -1,107 +0,0 @@ -[ - { - "config": { - "clientId": "", - "clientSecret": "dheAscasz6yc9LrRRIPimE9h5dssfdsLccXTykHCcA6eEoFR4rXQ", - "audienceId": "138383", - "accountId": "42423", - "audienceType": "EMAIL", - "hashRequired": false - }, - "result": false, - "err": [ - "clientId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"" - ] - }, - { - "config": { - "clientId": "a43deb8-a123-4cd6-b4c5-958b3d66d431", - "clientSecret": "", - "audienceId": "138383", - "accountId": "42423", - "audienceType": "EMAIL", - "hashRequired": false - }, - "result": false, - "err": [ - "clientSecret must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"" - ] - }, - { - "config": { - "clientId": "a43deb8-a123-4cd6-b4c5-958b3d66d431", - "clientSecret": "dheAscasz6yc9LrRRIPimE9h5dssfdsLccXTykHCcA6eEoFR4rXQ", - "audienceId": "138383", - "accountId": "42423", - "audienceType": "DEVICE_ID", - "seedListType": "GPADVID", - "hashRequired": false - }, - "result": true - }, - { - "config": { - "clientId": "a43deb8-a123-4cd6-b4c5-958b3d66d431", - "clientSecret": "dheAscasz6yc9LrRRIPimE9h5dssfdsLccXTykHCcA6eEoFR4rXQ", - "audienceId": "", - "accountId": "42423", - "audienceType": "EMAIL", - "hashRequired": false - }, - "result": false, - "err": [ - "audienceId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$\"" - ] - }, - { - "config": { - "clientId": "a43deb8-a123-4cd6-b4c5-958b3d66d431", - "clientSecret": "dheAscasz6yc9LrRRIPimE9h5dssfdsLccXTykHCcA6eEoFR4rXQ", - "audienceId": "138383", - "accountId": "", - "audienceType": "EMAIL", - "hashRequired": false - }, - "result": false, - "err": [ - "accountId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$\"" - ] - }, - { - "config": { - "clientId": "a43deb8-a123-4cd6-b4c5-958b3d66d431", - "clientSecret": "dheAscasz6yc9LrRRIPimE9h5dssfdsLccXTykHCcA6eEoFR4rXQ", - "audienceId": "138383", - "accountId": "53421", - "audienceType": "", - "hashRequired": false - }, - "result": false, - "err": ["audienceType must match pattern \"^(EMAIL|DEVICE_ID|IP_ADDRESS)$\""] - }, - { - "config": { - "clientId": "a43deb8-a123-4cd6-b4c5-958b3d66d431", - "clientSecret": "dheAscasz6yc9LrRRIPimE9h5dssfdsLccXTykHCcA6eEoFR4rXQ", - "audienceId": "138383", - "accountId": "53421", - "audienceType": "DEVICE_ID", - "seedListType": "", - "hashRequired": false - }, - "result": false, - "err": ["seedListType must match pattern \"^(GPADVID|IDFA)$\""] - }, - { - "config": { - "clientId": "a43deb8-a123-4cd6-b4c5-958b3d66d431", - "clientSecret": "dheAscasz6yc9LrRRIPimE9h5dssfdsLccXTykHCcA6eEoFR4rXQ", - "audienceId": "138383", - "accountId": "53421", - "audienceType": "DEVICE_ID", - "hashRequired": "" - }, - "result": false, - "err": ["hashRequired must be boolean"] - } -] diff --git a/src/validations/__tests__/validation_test_data/yandex_metrica_test.json b/src/validations/__tests__/validation_test_data/yandex_metrica_test.json deleted file mode 100644 index 811b14673..000000000 --- a/src/validations/__tests__/validation_test_data/yandex_metrica_test.json +++ /dev/null @@ -1,381 +0,0 @@ -[ - { - "config": { - "tagId": "", - "clickMap": false, - "trackLinks": false, - "trackBounce": false, - "webvisor": false, - "containerName": "dataLayer", - "eventNameToYandexEvent": [ - { - "from": "Order Done", - "to": "add" - } - ], - "goalId": "4342432", - "eventFilteringOption": "disable", - "whitelistedEvents": [ - { - "eventName": "" - } - ], - "blacklistedEvents": [ - { - "eventName": "" - } - ], - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "" - } - ] - }, - "useNativeSDK": { - "web": false - } - }, - "result": false, - "err": [ - "tagId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"" - ] - }, - { - "config": { - "tagId": "34324223", - "clickMap": "false", - "trackLinks": false, - "trackBounce": false, - "webvisor": false, - "containerName": "dataLayer", - "eventNameToYandexEvent": [ - { - "from": "Order Done", - "to": "add" - } - ], - "goalId": "4342432", - "eventFilteringOption": "disable", - "whitelistedEvents": [ - { - "eventName": "" - } - ], - "blacklistedEvents": [ - { - "eventName": "" - } - ], - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "" - } - ] - }, - "useNativeSDK": { - "web": false - } - }, - "result": false, - "err": ["clickMap must be boolean"] - }, - { - "config": { - "tagId": "34324223", - "clickMap": false, - "trackLinks": false, - "trackBounce": false, - "webvisor": false, - "containerName": "", - "eventNameToYandexEvent": [ - { - "from": true, - "to": "add" - } - ], - "goalId": "4342432", - "eventFilteringOption": "disable", - "whitelistedEvents": [ - { - "eventName": "" - } - ], - "blacklistedEvents": [ - { - "eventName": "" - } - ], - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "" - } - ] - }, - "useNativeSDK": { - "web": false - } - }, - "result": false, - "err": ["eventNameToYandexEvent.0.from must be string"] - }, - { - "config": { - "tagId": "34324223", - "clickMap": false, - "trackLinks": false, - "trackBounce": false, - "webvisor": false, - "containerName": false, - "eventNameToYandexEvent": [ - { - "from": "Order Done", - "to": "add" - } - ], - "goalId": "4342432", - "eventFilteringOption": "disable", - "whitelistedEvents": [ - { - "eventName": "" - } - ], - "blacklistedEvents": [ - { - "eventName": "" - } - ], - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "" - } - ] - }, - "useNativeSDK": { - "web": false - } - }, - "result": false, - "err": ["containerName must be string"] - }, - { - "config": { - "tagId": "34324223", - "clickMap": false, - "trackLinks": false, - "trackBounce": false, - "webvisor": false, - "containerName": "dataLayer", - "eventNameToYandexEvent": [ - { - "from": "Order Done", - "to": "add" - } - ], - "goalId": "43dfd443", - "eventFilteringOption": "disable", - "whitelistedEvents": [ - { - "eventName": "" - } - ], - "blacklistedEvents": [ - { - "eventName": "" - } - ], - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "" - } - ] - }, - "useNativeSDK": { - "web": false - } - }, - "result": false, - "err": [ - "goalId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$\"" - ] - }, - { - "config": { - "tagId": "43849343", - "clickMap": false, - "trackLinks": false, - "trackBounce": false, - "webvisor": false, - "containerName": "dataLayer", - "eventNameToYandexEvent": [ - { - "from": "Order Done", - "to": "purchase" - }, - { - "from": "Viewing Product", - "to": "detail" - } - ], - "goalId": "4342432", - "eventFilteringOption": "disable", - "whitelistedEvents": [ - { - "eventName": "" - } - ], - "blacklistedEvents": [ - { - "eventName": "" - } - ], - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "" - } - ] - }, - "useNativeSDK": { - "web": "false" - } - }, - "result": false, - "err": ["useNativeSDK.web must be boolean"] - }, - { - "config": { - "tagId": "43849343", - "clickMap": false, - "trackLinks": false, - "trackBounce": false, - "webvisor": false, - "containerName": "dataLayer", - "eventNameToYandexEvent": [ - { - "from": "Order Done", - "to": "purchase" - }, - { - "from": "Viewing Product", - "to": "detail" - } - ], - "goalId": "4342432", - "eventFilteringOption": "disable", - "whitelistedEvents": [ - { - "eventName": 123 - } - ], - "blacklistedEvents": [ - { - "eventName": "" - } - ], - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "" - } - ] - }, - "useNativeSDK": { - "web": false - } - }, - "result": false, - "err": ["whitelistedEvents.0.eventName must be string"] - }, - { - "config": { - "tagId": "43849343", - "clickMap": false, - "trackLinks": false, - "trackBounce": false, - "webvisor": false, - "containerName": "dataLayer", - "eventNameToYandexEvent": [ - { - "from": "Order Done", - "to": "purchase" - }, - { - "from": "Viewing Product", - "to": "detail" - } - ], - "goalId": "4342432", - "eventFilteringOption": true, - "whitelistedEvents": [ - { - "eventName": "" - } - ], - "blacklistedEvents": [ - { - "eventName": "" - } - ], - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "" - } - ] - }, - "useNativeSDK": { - "web": false - } - }, - "result": false, - "err": ["eventFilteringOption must be string"] - }, - { - "config": { - "tagId": "43849343", - "clickMap": false, - "trackLinks": false, - "trackBounce": false, - "webvisor": false, - "containerName": "dataLayer", - "eventNameToYandexEvent": [ - { - "from": "Order Done", - "to": "purchase" - }, - { - "from": "Viewing Product", - "to": "detail" - } - ], - "goalId": "4342432", - "eventFilteringOption": "disable", - "whitelistedEvents": [ - { - "eventName": "" - } - ], - "blacklistedEvents": [ - { - "eventName": "" - } - ], - "oneTrustCookieCategories": { - "web": [ - { - "oneTrustCookieCategory": "" - } - ] - }, - "useNativeSDK": { - "web": false - } - }, - "result": true - } -] diff --git a/src/validations/validator.ts b/src/validations/validator.ts deleted file mode 100644 index 079c81a34..000000000 --- a/src/validations/validator.ts +++ /dev/null @@ -1,68 +0,0 @@ -import fs from 'fs'; -import path from 'path'; -import glob from 'glob'; -import { promisify } from 'util'; -import Ajv, { ValidateFunction } from 'ajv'; - -const globPromisified = promisify(glob); -const readFile = promisify(fs.readFile); - -const ajv = new Ajv({ - allErrors: true, - useDefaults: true, - strict: false, - strictSchema: false, - strictRequired: false, - strictNumbers: true, - strictTypes: true, - strictTuples: true, -}); - -let validators: Record = {}; - -async function importJsonFromFile(file: string) { - const content = await readFile(file, { encoding: 'utf-8' }); - return JSON.parse(content); -} - -async function initAjvValidators() { - const files = await globPromisified(path.join(process.cwd(),'data','destinations/*/schema.json')); - const filePromises = files.map(importJsonFromFile); - const contents = await Promise.all(filePromises); - - files.forEach((file, i) => { - const filename = path.basename(path.dirname(file)); - validators[filename] = ajv.compile(contents[i]["configSchema"] || {}); - }); -} - -export function validateConfig(definitionName: string, config: any, - throwErrorOnMissingValidations: boolean = false) { - if (!definitionName) { - throw new Error('Missing definitionName'); - } - - const validationMethod = validators[definitionName]; - if (!validationMethod && throwErrorOnMissingValidations) { - throw new Error(`No validation method found for definition ${definitionName}`); - } - - // console.log(definitionName, validationMethod, !validationMethod(config), " -- ", (validationMethod && !validationMethod(config))); - - if (validationMethod && !validationMethod(config)) { - let errorMessages: string[] = []; - if (validationMethod.errors?.length) { - errorMessages = validationMethod.errors.map(((e) => { - const propertyName = e.instancePath.slice(1).replace(/\//g, '.'); - return `${propertyName} ${e.message}`; - })); - } - - throw new Error(errorMessages.length ? JSON.stringify(errorMessages) : 'Validation failed'); - } -} - -export default function init() { - validators = {}; - initAjvValidators(); -} diff --git a/src/validator/index.ts b/src/validator/index.ts new file mode 100644 index 000000000..1c615132c --- /dev/null +++ b/src/validator/index.ts @@ -0,0 +1,72 @@ +import fs from 'fs'; +import path from 'path'; +import glob from 'glob'; +import { promisify } from 'util'; +import Ajv, { ValidateFunction } from 'ajv'; + +const globPromisified = promisify(glob); +const readFile = promisify(fs.readFile); + +const ajv = new Ajv({ + allErrors: true, + useDefaults: true, + strict: false, + strictSchema: false, + strictRequired: false, + strictNumbers: true, + strictTypes: true, + strictTuples: true, +}); + +let validators: Record = {}; + +async function importJsonFromFile(file: string) { + const content = await readFile(file, { encoding: 'utf-8' }); + return JSON.parse(content); +} + +async function initAjvValidators() { + const files = await globPromisified(path.join(__dirname, '../configurations/**/schema.json')); + const filePromises = files.map(importJsonFromFile); + const contents = await Promise.all(filePromises); + + files.forEach((file, i) => { + const intgDir = path.dirname(file); + const intgName = path.basename(intgDir); + const intgType = path.basename(path.dirname(intgDir)); + validators[`${intgType}___${intgName}`] = ajv.compile(contents[i]?.configSchema || {}); + }); +} + +export function validateConfig( + definitionName: string, + config: Record, + intgType: string, + throwErrorOnMissingValidations = false, +) { + if (!definitionName) { + throw new Error('Missing definitionName'); + } + + const validationMethod = validators[`${intgType}___${definitionName}`]; + if (!validationMethod && throwErrorOnMissingValidations) { + throw new Error(`No validation method found for definition ${definitionName}`); + } + + if (validationMethod && !validationMethod(config)) { + let errorMessages: string[] = []; + if (validationMethod.errors?.length) { + errorMessages = validationMethod.errors.map((e) => { + const propertyName = e.instancePath.slice(1).replace(/\//g, '.'); + return `${propertyName} ${e.message}`; + }); + } + + throw new Error(JSON.stringify(errorMessages)); + } +} + +export async function init() { + validators = {}; + await initAjvValidators(); +} diff --git a/src/validations/__tests__/validation_test_data/active_campaign_test.json b/test/data/validation/destinations/active_campaign.json similarity index 100% rename from src/validations/__tests__/validation_test_data/active_campaign_test.json rename to test/data/validation/destinations/active_campaign.json diff --git a/test/data/validation/destinations/adobe_analytics.json b/test/data/validation/destinations/adobe_analytics.json new file mode 100644 index 000000000..d4424731d --- /dev/null +++ b/test/data/validation/destinations/adobe_analytics.json @@ -0,0 +1,408 @@ +[ + { + "config": { + "trackingServerUrl": "https://www.rudderstack.com/docs/destinations/streaming-destinations/adobe-analytics", + "trackingServerSecureUrl": "https://www.rudderstack.com/docs/destinations/streaming-destinations/adobe-analytics/", + "reportSuiteIds": "id001, id002", + "sslHeartbeat": true, + "heartbeatTrackingServerUrl": "https://heartbeat.com", + "useUtf8Charset": true, + "useSecureServerSide": true, + "proxyNormalUrl": "", + "proxyHeartbeatUrl": "", + "marketingCloudOrgId": "org10121", + "dropVisitorId": true, + "timestampOption": "enabled", + "timestampOptionalReporting": true, + "noFallbackVisitorId": false, + "preferVisitorId": true, + "trackPageName": true, + "contextDataPrefix": "rudderstack-context", + "useLegacyLinkName": true, + "pageNameFallbackTostring": false, + "sendFalseValues": true, + "productIdentifier": "sku", + "eventFilteringOption": "blacklistedEvents", + "eventsToTypes": [ + { + "from": "video start", + "to": "heartbeatPlaybackStarted" + }, + { + "from": "video end", + "to": "heartbeatPlaybackCompleted" + } + ], + "listDelimiter": [ + { + "from": "listPhone", + "to": "," + }, + { + "from": "listMobile", + "to": "|" + } + ], + "propsDelimiter": [ + { + "from": "customPhone", + "to": "," + }, + { + "from": "customMobile", + "to": "|" + } + ], + "eventMerchProperties": [ + { + "eventMerchProperties": "currency" + }, + { + "eventMerchProperties": "location" + } + ], + "productMerchProperties": [ + { + "productMerchProperties": "productName" + }, + { + "productMerchProperties": "productInventory" + } + ], + "whitelistedEvents": [ + { + "eventName": "" + } + ], + "blacklistedEvents": [ + { + "eventName": "Restart Checkout" + }, + { + "eventName": "Restart Initiated" + } + ], + "rudderEventsToAdobeEvents": [ + { + "from": "product searched", + "to": "ps1,ps2" + } + ], + "contextDataMapping": [ + { + "from": "page.name", + "to": "pName" + }, + { + "from": "page.url", + "to": "pUrl" + } + ], + "mobileEventMapping": [ + { + "from": "page.name", + "to": "pName" + }, + { + "from": "page.url", + "to": "pUrl" + } + ], + "eVarMapping": [ + { + "from": "phone", + "to": "1" + }, + { + "from": "mobile", + "to": "2" + } + ], + "hierMapping": [ + { + "from": "phone", + "to": "1" + }, + { + "from": "mobile", + "to": "2" + } + ], + "listMapping": [ + { + "from": "listPhone", + "to": "1" + }, + { + "from": "listMobile", + "to": "2" + } + ], + "customPropsMapping": [ + { + "from": "phone", + "to": "1" + }, + { + "from": "mobile", + "to": "2" + } + ], + "eventMerchEventToAdobeEvent": [ + { + "from": "Order Completed", + "to": "merchEvent1" + } + ], + "productMerchEventToAdobeEvent": [ + { + "from": "Product Ordered", + "to": "MerchProduct1" + } + ], + "productMerchEvarsMap": [ + { + "from": "phone", + "to": "1" + }, + { + "from": "mobile", + "to": "2" + } + ], + "useNativeSDK": { + "web": true + }, + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "Marketing" + } + ] + } + }, + "result": true + }, + { + "config": { + "trackingServerUrl": "https://www.rudderstack.com/docs/destinations/streaming-destinations/adobe-analytics", + "trackingServerSecureUrl": "", + "sslHeartbeat": false, + "heartbeatTrackingServerUrl": "", + "useUtf8Charset": false, + "useSecureServerSide": false, + "proxyNormalUrl": "", + "proxyHeartbeatUrl": "", + "marketingCloudOrgId": "org10121", + "dropVisitorId": false, + "timestampOption": "enabled", + "timestampOptionalReporting": true, + "noFallbackVisitorId": false, + "preferVisitorId": false, + "trackPageName": true, + "contextDataPrefix": "rudderstack-context", + "useLegacyLinkName": true, + "pageNameFallbackTostring": false, + "sendFalseValues": true, + "productIdentifier": "sku", + "eventsToTypes": [ + { + "from": "video start", + "to": "heartbeatPlaybackStarted" + }, + { + "from": "video end", + "to": "heartbeatPlaybackCompleted" + } + ], + "listDelimiter": [ + { + "from": "customList", + "to": "|" + }, + { + "from": "listMobile", + "to": "|" + } + ], + "propsDelimiter": [ + { + "from": "customPhone", + "to": "," + }, + { + "from": "customMobile", + "to": "|" + } + ], + "eventMerchProperties": [ + { + "eventMerchProperties": "currency" + }, + { + "eventMerchProperties": "location" + } + ], + "productMerchProperties": [ + { + "productMerchProperties": "productName" + }, + { + "productMerchProperties": "productInventory" + } + ], + "rudderEventsToAdobeEvents": [ + { + "from": "product searched", + "to": "ps1,ps2" + } + ], + "contextDataMapping": [ + { + "from": "page.name", + "to": "pName" + }, + { + "from": "page.url", + "to": "pUrl" + } + ], + "mobileEventMapping": [ + { + "from": "page.name", + "to": "pName" + }, + { + "from": "page.url", + "to": "pUrl" + } + ], + "eVarMapping": [ + { + "from": "phone", + "to": "1" + }, + { + "from": "mobile", + "to": "2" + } + ] + }, + "result": false, + "err": [" must have required property 'reportSuiteIds'"] + }, + { + "config": { + "trackingServerUrl": "https://www.rudderstack.com/docs/destinations/streaming-destinations/adobe-analytics", + "trackingServerSecureUrl": "", + "sslHeartbeat": false, + "heartbeatTrackingServerUrl": "", + "useUtf8Charset": false, + "useSecureServerSide": false, + "proxyNormalUrl": "", + "proxyHeartbeatUrl": "", + "marketingCloudOrgId": "org10121", + "dropVisitorId": false, + "timestampOption": "enabled", + "timestampOptionalReporting": true, + "noFallbackVisitorId": false, + "preferVisitorId": false, + "trackPageName": true, + "contextDataPrefix": "rudderstack-context", + "useLegacyLinkName": true, + "pageNameFallbackTostring": false, + "sendFalseValues": true, + "productIdentifier": "sku", + "eventsToTypes": [ + { + "from": "video start", + "to": "heartbeatPlaybackStarted" + }, + { + "from": "video end", + "to": "heartbeatPlaybackCompleted" + } + ], + "listDelimiter": [ + { + "from": "", + "to": "" + }, + { + "from": "listMobile", + "to": "|" + } + ], + "propsDelimiter": [ + { + "from": "customPhone", + "to": "," + }, + { + "from": "customMobile", + "to": "|" + } + ], + "eventMerchProperties": [ + { + "eventMerchProperties": "currency" + }, + { + "eventMerchProperties": "location" + } + ], + "productMerchProperties": [ + { + "productMerchProperties": "productName" + }, + { + "productMerchProperties": "productInventory" + } + ], + "rudderEventsToAdobeEvents": [ + { + "from": "product searched", + "to": "ps1,ps2" + } + ], + "contextDataMapping": [ + { + "from": "page.name", + "to": "pName" + }, + { + "from": "page.url", + "to": "pUrl" + } + ], + "mobileEventMapping": [ + { + "from": "page.name", + "to": "pName" + }, + { + "from": "page.url", + "to": "pUrl" + } + ], + "eVarMapping": [ + { + "from": "phone", + "to": "1" + }, + { + "from": "mobile", + "to": "2" + } + ] + }, + "result": false, + "err": [" must have required property 'reportSuiteIds'"] + }, + { + "config": { + "reportSuiteIds": "navvalue01" + }, + "result": true + } +] diff --git a/test/data/validation/destinations/adroll.json b/test/data/validation/destinations/adroll.json new file mode 100644 index 000000000..0843d2dc4 --- /dev/null +++ b/test/data/validation/destinations/adroll.json @@ -0,0 +1,183 @@ +[ + { + "config": { + "advId": "ARHUQ4I4QRA5PEKHSWXFX1", + "pixId": "4UA3SEMV6DCPAHIKVOXS4E", + "eventFilteringOption": "whitelistedEvents", + "whitelistedEvents": [ + { + "eventName": "w1" + }, + { + "eventName": "w2" + } + ], + "blacklistedEvents": [ + { + "eventName": "b1" + } + ], + "useNativeSDK": { + "web": true + }, + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "Marketing" + } + ] + } + }, + "result": true + }, + { + "config": { + "pixId": "4UA3SEMV6DCPAHIKVOXS4E", + "eventFilteringOption": "whitelistedEvents", + "whitelistedEvents": [ + { + "eventName": "w1" + }, + { + "eventName": "w2" + } + ], + "blacklistedEvents": [ + { + "eventName": "b1" + } + ], + "useNativeSDK": { + "web": true + }, + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "Marketing" + } + ] + } + }, + "result": false, + "err": [" must have required property 'advId'"] + }, + { + "config": { + "advId": "ARHUQ4I4QRA5PEKHSWXFX1", + "pixId": "4UA3SEMV6DCPAHIKVOXS4E", + "eventFilteringOption": "disable", + "whitelistedEvents": [ + { + "eventName": "" + }, + { + "eventName": "" + } + ], + "blacklistedEvents": [ + { + "eventName": "" + } + ], + "useNativeSDK": { + "web": true + }, + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "" + } + ] + } + }, + "result": true + }, + { + "config": { + "advId": "ARHUQ4I4QRA5PEKHSWXFX1", + "pixId": "4UA3SEMV6DCPAHIKVOXS4E", + "eventFilteringOption": "whitelistedEvents", + "whitelistedEvents": [ + { + "eventName": "w1" + }, + { + "eventName": "w2" + } + ], + "blacklistedEvents": [ + { + "eventName": "b1" + } + ], + "useNativeSDK": true, + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "Marketing" + } + ] + } + }, + "result": false, + "err": ["useNativeSDK must be object"] + }, + { + "config": { + "advId": "ARHUQ4I4QRA5PEKHSWXFX1", + "eventFilteringOption": "whitelistedEvents", + "whitelistedEvents": [ + { + "eventName": "w1" + }, + { + "eventName": "w2" + } + ], + "blacklistedEvents": [ + { + "eventName": "b1" + } + ], + "useNativeSDK": { + "web": true + }, + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "Marketing" + } + ] + } + }, + "result": false, + "err": [" must have required property 'pixId'"] + }, + { + "config": { + "advId": "ARHUQ4I4QRA5PEKHSWXFX1", + "pixId": "4UA3SEMV6DCPAHIKVOXS4E", + "eventFilteringOption": "whitelistedEvents", + "whitelistedEvents": [], + "blacklistedEvents": [ + { + "eventName": { + "key": "eventValue" + } + } + ], + "useNativeSDK": { + "web": true + }, + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "Marketing" + } + ] + } + }, + "result": false, + "err": ["blacklistedEvents.0.eventName must be string"] + } +] diff --git a/test/data/validation/destinations/af.json b/test/data/validation/destinations/af.json new file mode 100644 index 000000000..0986bd918 --- /dev/null +++ b/test/data/validation/destinations/af.json @@ -0,0 +1,111 @@ +[ + { + "config": { + "devKey": "aSL8jBa1DG9erAmMxRPiLM", + "androidAppId": "com.yara.fw.stage", + "appleAppId": "1202646468", + "useRichEventName": true, + "sharingFilter": "all", + "eventFilteringOption": "whitelistedEvents", + "whitelistedEvents": [ + { + "eventName": "devKey_event" + } + ], + "blacklistedEvents": [ + { + "eventName": "" + } + ] + }, + "result": true + }, + { + "config": { + "useNativeSDK": { + "android": true + }, + "androidAppId": "in.mintpro.debug", + "useRichEventName": true, + "sharingFilter": "all", + "eventFilteringOption": "disable", + "whitelistedEvents": [ + { + "eventName": "" + } + ] + }, + "result": false, + "err": [" must have required property 'devKey'"] + }, + { + "config": { + "devKey": "KPH1PgKOKNst12LgFnQ8EI", + "androidAppId": "com.mycom.android.parent.debug", + "appleAppId": "id1251122201", + "useRichEventName": false, + "sharingFilter": "all", + "eventFilteringOption": "blacklistedEvents", + "whitelistedEvents": [ + { + "eventName": "Onboarding Opening" + } + ], + "blacklistedEvents": [ + { + "eventName": "Application Backgrounded" + } + ], + "useNativeSDK": { + "ios": true + } + }, + "result": true + }, + { + "config": { + "devKey": "P4kRcaFz8d6WwjpoosM3M1", + "useNativeSDK": { + "ios": true + }, + "appleAppId": "1524157507", + "androidAppId": "" + }, + "result": true + }, + { + "config": { + "devKey": "fSk3Lt3dVaWRTQ8H5m7BvI", + "useRichEventName": false, + "sharingFilter": "all", + "useNativeSDK": { + "reactnative": false + }, + "appleAppId": 1565920403 + }, + "result": false, + "err": ["appleAppId must be string"] + }, + { + "config": { + "devKey": "aSL8jBa1DG9erAmMxRPiLM", + "androidAppId": "com.yara.fw.stage", + "appleAppId": "1202646468", + "useRichEventName": true, + "sharingFilter": "qwssjfhncbhfjehduhendhhcidkfhhzvvxxpoiqwbfhfjjdskkdhviiwyrtehegdgyksjhjffmcnbcnvopoqweebdgggvcjkicjjcjcjnnzxxcxxxsdjjhjhjfhfgffhhhtjjjwwoo", + "eventFilteringOption": "whitelistedEvents", + "useNativeSDK": { + "cordova": true + }, + "whitelistedEvents": [ + { + "eventName": "devKey_event" + } + ] + }, + "result": false, + "err": [ + "sharingFilter must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$\"" + ] + } +] diff --git a/test/data/validation/destinations/am.json b/test/data/validation/destinations/am.json new file mode 100644 index 000000000..df95f5aa0 --- /dev/null +++ b/test/data/validation/destinations/am.json @@ -0,0 +1,448 @@ +[ + { + "config": { + "apiKey": "8559811e41334c6d22b5c4b5f6s7gb70", + "apiSecret": "a41d5bc768831f083e3dacwecfgf7398", + "groupTypeTrait": "company_id", + "groupValueTrait": "company_name", + "trackAllPages": false, + "trackCategorizedPages": true, + "trackNamedPages": true, + "trackProductsOnce": false, + "trackRevenuePerProduct": false, + "versionName": "1.11.3", + "residencyServer": "standard", + "traitsToIncrement": [ + { + "traits": "presentclass" + }, + { + "traits": "presentgrade" + } + ], + "traitsToPrepend": [ + { + "traits": "prequelclass" + } + ], + "traitsToSetOnce": [ + { + "traits": "initialclass" + } + ], + "useNativeSDK": { + "web": false + }, + "preferAnonymousIdForDeviceId": { + "web": false + }, + "deviceIdFromUrlParam": { + "web": false + }, + "forceHttps": { + "web": false + }, + "trackGclid": { + "web": true + }, + "trackReferrer": { + "web": true + }, + "saveParamsReferrerOncePerSession": { + "web": true + }, + "trackUtmProperties": { + "web": true + }, + "unsetParamsReferrerOnNewSession": { + "web": false + }, + "batchEvents": { + "web": false + }, + "eventUploadPeriodMillis": { + "web": "30000" + }, + "eventUploadThreshold": { + "web": "30" + }, + "blacklistedEvents": [ + { + "eventName": "AM sample removed" + } + ], + "whitelistedEvents": [ + { + "eventName": "AM allowed customer check" + } + ], + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "Marketing" + } + ] + } + }, + "result": true + }, + { + "config": { + "apiSecret": "a41d5bc768831f083e2swcwecfgf7398", + "groupTypeTrait": "", + "groupValueTrait": "", + "trackAllPages": true, + "trackCategorizedPages": true, + "trackNamedPages": true, + "trackProductsOnce": false, + "trackRevenuePerProduct": false, + "versionName": "1.0.1", + "residencyServer": "EU", + "traitsToIncrement": [ + { + "traits": "profile_trait" + } + ], + "traitsToSetOnce": [ + { + "traits": "init" + }, + { + "traits": "init02" + } + ], + "useNativeSDK": { + "web": false + }, + "preferAnonymousIdForDeviceId": { + "web": false + }, + "deviceIdFromUrlParam": { + "web": false + }, + "forceHttps": { + "web": true + }, + "trackGclid": { + "web": true + }, + "trackReferrer": { + "web": true + }, + "saveParamsReferrerOncePerSession": { + "web": true + }, + "trackUtmProperties": { + "web": false + }, + "unsetParamsReferrerOnNewSession": { + "web": false + }, + "batchEvents": { + "web": false + }, + "eventUploadPeriodMillis": { + "web": "30000" + }, + "eventUploadThreshold": { + "web": "30" + } + }, + "result": false, + "err": [" must have required property 'apiKey'"] + }, + { + "config": { + "apiKey": "32fc323b8c13214e46470b519edpo401", + "groupTypeTrait": "Finsys_app_Stage", + "groupValueTrait": "Finsys Stage", + "trackAllPages": true, + "trackCategorizedPages": true, + "trackNamedPages": true, + "trackProductsOnce": true, + "trackRevenuePerProduct": true, + "versionName": "", + "residencyServer": "standard", + "traitsToIncrement": [ + { + "traits": "" + } + ], + "traitsToSetOnce": [ + { + "traits": "" + } + ], + "traitsToAppend": [ + { + "traits": "" + } + ], + "traitsToPrepend": [ + { + "traits": "" + } + ] + }, + "result": true + }, + { + "config": { + "apiKey": "12fd322b8c13214e36450b519typo402", + "groupTypeTrait": "Modelorama_app_Stage", + "groupValueTrait": "Modelorama Stage", + "trackAllPages": true, + "trackCategorizedPages": true, + "trackNamedPages": true, + "trackProductsOnce": true, + "trackRevenuePerProduct": true, + "versionName": "", + "residencyServer": "standard", + "traitsToIncrement": [ + { + "traits": "" + } + ], + "traitsToSetOnce": [ + { + "traits": "" + } + ], + "traitsToAppend": [ + { + "traits": "" + } + ], + "traitsToPrepend": [ + { + "traits": "" + } + ] + }, + "result": true + }, + { + "config": { + "apiKey": "1173185cre3a65172943ba1e41113dwd", + "groupTypeTrait": { + "prop": "new" + }, + "groupValueTrait": "", + "trackAllPages": true, + "trackCategorizedPages": true, + "trackNamedPages": true, + "trackProductsOnce": false, + "trackRevenuePerProduct": false, + "versionName": "", + "residencyServer": "standard", + "traitsToIncrement": [ + { + "traits": "" + } + ], + "traitsToSetOnce": [ + { + "traits": "" + } + ], + "traitsToAppend": [ + { + "traits": "" + } + ], + "traitsToPrepend": [ + { + "traits": "" + } + ], + "useNativeSDK": {}, + "preferAnonymousIdForDeviceId": {}, + "deviceIdFromUrlParam": {}, + "forceHttps": {}, + "trackGclid": {}, + "trackReferrer": {}, + "saveParamsReferrerOncePerSession": {}, + "trackUtmProperties": {}, + "unsetParamsReferrerOnNewSession": {}, + "batchEvents": {}, + "eventUploadPeriodMillis": {}, + "eventUploadThreshold": {}, + "blacklistedEvents": [], + "whitelistedEvents": [] + }, + "result": false, + "err": ["groupTypeTrait must be string"] + }, + { + "config": { + "apiKey": "1173185cre3a65172943ba1e41113dwd", + "groupTypeTrait": "", + "groupValueTrait": "", + "trackAllPages": true, + "trackCategorizedPages": false, + "trackNamedPages": true, + "trackProductsOnce": false, + "trackRevenuePerProduct": false, + "versionName": "1.1.01", + "residencyServer": "standard", + "traitsToIncrement": [ + { + "traits": { + "trait_name": "common01" + } + } + ], + "traitsToSetOnce": [ + { + "traits": "" + } + ], + "traitsToAppend": [ + { + "traits": "" + } + ], + "traitsToPrepend": [ + { + "traits": "" + } + ], + "useNativeSDK": {}, + "preferAnonymousIdForDeviceId": {}, + "deviceIdFromUrlParam": {}, + "forceHttps": {}, + "trackGclid": {}, + "trackReferrer": {}, + "saveParamsReferrerOncePerSession": {}, + "trackUtmProperties": {}, + "unsetParamsReferrerOnNewSession": {}, + "batchEvents": {}, + "eventUploadPeriodMillis": {}, + "eventUploadThreshold": {}, + "blacklistedEvents": [], + "whitelistedEvents": [] + }, + "result": false, + "err": ["traitsToIncrement.0.traits must be string"] + }, + { + "config": { + "apiKey": "8559811e41334c6d22b5c4b5f6s7gb70", + "apiSecret": "a41d5bc768831f083e3dacwecfgf7398", + "groupTypeTrait": "college_id", + "groupValueTrait": "college_name", + "trackAllPages": false, + "trackCategorizedPages": true, + "trackNamedPages": true, + "trackProductsOnce": false, + "trackRevenuePerProduct": false, + "versionName": "1.11.3", + "residencyServer": "standard", + "traitsToIncrement": [ + { + "traits": "" + } + ], + "useNativeSDK": { + "web": false + }, + "preferAnonymousIdForDeviceId": { + "web": false + }, + "deviceIdFromUrlParam": { + "web": false + }, + "forceHttps": { + "web": false + }, + "trackGclid": { + "web": true + }, + "trackReferrer": { + "web": true + }, + "saveParamsReferrerOncePerSession": { + "web": true + }, + "trackUtmProperties": { + "web": true + }, + "unsetParamsReferrerOnNewSession": { + "web": false + }, + "batchEvents": { + "web": false + }, + "eventUploadPeriodMillis": { + "web": "3a-6b0000" + }, + "eventUploadThreshold": { + "web": "30" + } + }, + "result": false, + "err": [ + "eventUploadPeriodMillis.web must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^([0-9]{0,100})$\"" + ] + }, + { + "config": { + "apiKey": "8559811e41334c6d22b5c4b5f6s7gb70", + "apiSecret": "a41d5bc768831f083e3dacwecfgf7398", + "groupTypeTrait": "college_id", + "groupValueTrait": "college_name", + "trackAllPages": false, + "trackCategorizedPages": true, + "trackNamedPages": true, + "trackProductsOnce": false, + "trackRevenuePerProduct": false, + "versionName": "1.11.3", + "residencyServer": "EU", + "traitsToIncrement": [ + { + "traits": "" + } + ], + "useNativeSDK": { + "web": false + }, + "preferAnonymousIdForDeviceId": { + "web": false + }, + "deviceIdFromUrlParam": { + "web": false + }, + "forceHttps": { + "web": false + }, + "trackGclid": { + "web": true + }, + "trackReferrer": { + "web": true + }, + "saveParamsReferrerOncePerSession": { + "web": true + }, + "trackUtmProperties": { + "web": true + }, + "unsetParamsReferrerOnNewSession": { + "web": false + }, + "batchEvents": { + "web": false + }, + "eventUploadPeriodMillis": { + "web": "5672" + }, + "eventUploadThreshold": { + "web": "30c" + } + }, + "result": false, + "err": [ + "eventUploadThreshold.web must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^([0-9]{0,100})$\"" + ] + } +] diff --git a/test/data/validation/destinations/attentive_tag.json b/test/data/validation/destinations/attentive_tag.json new file mode 100644 index 000000000..15e0140a8 --- /dev/null +++ b/test/data/validation/destinations/attentive_tag.json @@ -0,0 +1,27 @@ +[ + { + "config": { + "apiKey": "", + "signUpSourceId": "123456" + }, + "result": false, + "err": ["apiKey must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\""] + }, + { + "config": { + "apiKey": "str_1435jbakh012", + "signUpSourceId": "123y56" + }, + "result": false, + "err": [ + "signUpSourceId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$\"" + ] + }, + { + "config": { + "apiKey": "jkdhfkjdhfkjdhr38yhr3f3", + "signUpSourceId": "123456" + }, + "result": true + } +] diff --git a/src/validations/__tests__/validation_test_data/attribution_test.json b/test/data/validation/destinations/attribution.json similarity index 100% rename from src/validations/__tests__/validation_test_data/attribution_test.json rename to test/data/validation/destinations/attribution.json diff --git a/src/validations/__tests__/validation_test_data/awin_test.json b/test/data/validation/destinations/awin.json similarity index 100% rename from src/validations/__tests__/validation_test_data/awin_test.json rename to test/data/validation/destinations/awin.json diff --git a/test/data/validation/destinations/axeptio.json b/test/data/validation/destinations/axeptio.json new file mode 100644 index 000000000..d22c80c38 --- /dev/null +++ b/test/data/validation/destinations/axeptio.json @@ -0,0 +1,46 @@ +[ + { + "config": { + "clientId": "dskh4ryfhc347896ryfh", + "toggleToActivateCallback": true, + "eventFilteringOption": "disable", + "whitelistedEvents": [{ "eventName": "" }], + "blacklistedEvents": [{ "eventName": "" }], + "oneTrustCookieCategories": { "web": [{ "oneTrustCookieCategory": "" }] }, + "useNativeSDK": { + "web": false + } + }, + "result": true + }, + { + "config": { + "clientId": "", + "toggleToActivateCallback": true, + "eventFilteringOption": "disable", + "whitelistedEvents": [{ "eventName": "" }], + "blacklistedEvents": [{ "eventName": "" }], + "oneTrustCookieCategories": { "web": [{ "oneTrustCookieCategory": "" }] }, + "useNativeSDK": { + "web": false + } + }, + "result": false, + "err": ["clientId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\""] + }, + { + "config": { + "clientId": "dskh4ryfhc347896ryfh", + "toggleToActivateCallback": "false", + "eventFilteringOption": "disable", + "whitelistedEvents": [{ "eventName": "" }], + "blacklistedEvents": [{ "eventName": "" }], + "oneTrustCookieCategories": { "web": [{ "oneTrustCookieCategory": "" }] }, + "useNativeSDK": { + "web": false + } + }, + "result": false, + "err": ["toggleToActivateCallback must be boolean"] + } +] diff --git a/test/data/validation/destinations/azure_datalake.json b/test/data/validation/destinations/azure_datalake.json new file mode 100644 index 000000000..3c02daa5a --- /dev/null +++ b/test/data/validation/destinations/azure_datalake.json @@ -0,0 +1,165 @@ +[ + { + "config": { + "containerName": "test-container", + "prefix": "xyzxx", + "namespace": "eu_new3", + "accountName": "test-account-name", + "accountKey": "test-azure-account-key", + "syncFrequency": "30" + }, + "result": true + }, + { + "config": { + "containerName": "test-container", + "prefix": "xyzxx", + "namespace": "eu_new3", + "accountName": "test-account-name", + "accountKey": "test-azure-account-key", + "sasToken": "", + "useSASTokens": false, + "syncFrequency": "30" + }, + "result": true + }, + { + "config": { + "containerName": "test-container", + "prefix": "xyzxx", + "namespace": "eu_new3", + "accountName": "test-account-name", + "accountKey": "", + "sasToken": "test-azure-sas-token", + "useSASTokens": true, + "syncFrequency": "30" + }, + "result": true + }, + { + "config": { + "containerName": "test-container", + "prefix": "xyzxx", + "namespace": "eu_new3", + "accountName": "test-account-name", + "accountKey": "test-azure-account-key", + "sasToken": "test-azure-sas-token", + "useSASTokens": true, + "syncFrequency": "30" + }, + "result": true + }, + { + "config": { + "containerName": "test-container", + "prefix": "xyzxx", + "namespace": "eu_new3", + "accountName": "test-account-name", + "accountKey": "test-azure-account-key", + "sasToken": "test-azure-sas-token", + "useSASTokens": false, + "syncFrequency": "30" + }, + "result": true + }, + { + "config": { + "containerName": "test-container", + "prefix": "xyzxx", + "namespace": "eu_new3", + "accountName": "test-account-name", + "syncFrequency": "30" + }, + "result": false, + "err": [ + " must have required property 'accountKey'", + " must have required property 'useSASTokens'", + " must have required property 'sasToken'", + " must match a schema in anyOf" + ] + }, + { + "config": { + "containerName": "test-container-test-container-test-container-test-container-test-container-test-container-test-container-test-container-", + "prefix": "xyzxx", + "namespace": "eu_new3", + "accountName": "test-account-name", + "accountKey": "test-azure-account-key", + "syncFrequency": "30" + }, + "result": false, + "err": ["containerName must match pattern \"(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$\""] + }, + { + "config": { + "containerName": "test.container", + "prefix": "xyzxx", + "namespace": "eu_new3", + "accountName": "test-account-name", + "accountKey": "test-azure-account-key", + "syncFrequency": "30" + }, + "result": false, + "err": ["containerName must match pattern \"(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$\""] + }, + { + "config": { + "containerName": "testContainer", + "prefix": "xyzxx", + "namespace": "eu_new3", + "accountName": "test-account-name", + "accountKey": "test-azure-account-key", + "syncFrequency": "30" + }, + "result": false, + "err": ["containerName must match pattern \"(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$\""] + }, + { + "config": { + "containerName": "ab", + "prefix": "xyzxx", + "namespace": "eu_new3", + "accountName": "test-account-name", + "accountKey": "test-azure-account-key", + "syncFrequency": "30" + }, + "result": false, + "err": ["containerName must match pattern \"(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$\""] + }, + { + "config": { + "containerName": "ab..ab", + "prefix": "xyzxx", + "namespace": "eu_new3", + "accountName": "test-account-name", + "accountKey": "test-azure-account-key", + "syncFrequency": "30" + }, + "result": false, + "err": ["containerName must match pattern \"(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$\""] + }, + { + "config": { + "containerName": "ab--ab", + "prefix": "xyzxx", + "namespace": "eu_new3", + "accountName": "test-account-name", + "accountKey": "test-azure-account-key", + "syncFrequency": "30" + }, + "result": false, + "err": ["containerName must match pattern \"(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$\""] + }, + { + "config": { + "containerName": "1.2.3.4", + "prefix": "xyzxx", + "namespace": "eu_new3", + "accountName": "test-account-name", + "accountKey": "test-azure-account-key", + "syncFrequency": "30" + }, + "result": false, + "err": ["containerName must match pattern \"(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$\""] + } +] diff --git a/test/data/validation/destinations/azure_synapse.json b/test/data/validation/destinations/azure_synapse.json new file mode 100644 index 000000000..4800b22f4 --- /dev/null +++ b/test/data/validation/destinations/azure_synapse.json @@ -0,0 +1,276 @@ +[ + { + "config": { + "host": "test-host", + "database": "test-database", + "user": "test-user", + "password": "test-password", + "port": "0000", + "sslMode": "disable", + "bucketProvider": "S3", + "syncFrequency": "30", + "useRudderStorage": false, + "bucketName": "test-bucket", + "accessKeyID": "test-access-key-id", + "accessKey": "test-access-key" + }, + "result": true + }, + { + "config": { + "host": "test-host", + "database": "test-database", + "user": "test-user", + "password": "test-password", + "port": "0000", + "sslMode": "disable", + "syncFrequency": "30", + "useRudderStorage": false, + "bucketProvider": "GCS", + "bucketName": "test-bucket", + "endPoint": "", + "useSSL": true, + "credentials": "{}", + "excludeWindow": { + "excludeWindowStartTime": "", + "excludeWindowEndTime": "" + }, + "syncStartAt": "16:30" + }, + "result": true + }, + { + "config": { + "host": "test-host", + "database": "test-database", + "user": "test-user", + "password": "test-password", + "port": "0000", + "sslMode": "disable", + "syncFrequency": "30", + "useRudderStorage": false, + "bucketProvider": "AZURE_BLOB", + "containerName": "test-container", + "accountName": "test-account-name", + "accountKey": "test-azure-account-key", + "useSSL": true + }, + "result": true + }, + { + "config": { + "host": "test-host", + "database": "test-database", + "user": "test-user", + "password": "test-password", + "port": "0000", + "sslMode": "disable", + "syncFrequency": "30", + "useRudderStorage": false, + "bucketProvider": "AZURE_BLOB", + "containerName": "test-container", + "accountName": "test-account-name", + "accountKey": "test-azure-account-key", + "sasToken": "", + "useSASTokens": false, + "useSSL": true + }, + "result": true + }, + { + "config": { + "host": "test-host", + "database": "test-database", + "user": "test-user", + "password": "test-password", + "port": "0000", + "sslMode": "disable", + "syncFrequency": "30", + "useRudderStorage": false, + "bucketProvider": "AZURE_BLOB", + "containerName": "test-container", + "accountName": "test-account-name", + "accountKey": "", + "sasToken": "test-azure-sas-token", + "useSASTokens": true, + "useSSL": true + }, + "result": true + }, + { + "config": { + "host": "test-host", + "database": "test-database", + "user": "test-user", + "password": "test-password", + "port": "0000", + "sslMode": "disable", + "syncFrequency": "30", + "useRudderStorage": false, + "bucketProvider": "AZURE_BLOB", + "containerName": "test-container", + "accountName": "test-account-name", + "accountKey": "test-azure-account-key", + "sasToken": "test-azure-sas-token", + "useSASTokens": true, + "useSSL": true + }, + "result": true + }, + { + "config": { + "host": "test-host", + "database": "test-database", + "user": "test-user", + "password": "test-password", + "port": "0000", + "sslMode": "disable", + "syncFrequency": "30", + "useRudderStorage": false, + "bucketProvider": "AZURE_BLOB", + "containerName": "test-container", + "accountName": "test-account-name", + "accountKey": "test-azure-account-key", + "sasToken": "test-azure-sas-token", + "useSASTokens": false, + "useSSL": true + }, + "result": true + }, + { + "config": { + "host": "test-host", + "database": "test-database", + "user": "test-user", + "password": "test-password", + "port": "0000", + "sslMode": "disable", + "syncFrequency": "30", + "useRudderStorage": false, + "bucketProvider": "AZURE_BLOB", + "containerName": "test-container", + "accountName": "test-account-name", + "useSSL": true + }, + "result": false, + "err": [ + " must have required property 'accountKey'", + " must have required property 'useSASTokens'", + " must have required property 'sasToken'", + " must match a schema in anyOf", + " must match \"then\" schema" + ] + }, + { + "config": { + "host": "test-host", + "database": "test-database", + "user": "test-user", + "password": "test-password", + "port": "0000", + "useRudderStorage": false, + "sslMode": "disable", + "bucketProvider": "MINIO", + "syncFrequency": "30", + "bucketName": "test-bucket", + "accessKeyID": "test-access-key-id", + "secretAccessKey": "test-secret-access-key", + "endPoint": "https:test.com", + "useSSL": true + }, + "result": true + }, + { + "config": { + "host": "test-host", + "database": "test-database", + "user": "test-user", + "password": "test-password", + "port": "0000", + "sslMode": "disable", + "bucketProvider": "S3", + "useRudderStorage": false, + "syncFrequency": "30", + "bucketName": "ab..ab", + "accessKeyID": "test-access-key-id", + "accessKey": "test-access-key" + }, + "result": false, + "err": [ + "bucketName must match pattern \"(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"", + " must match \"then\" schema" + ] + }, + { + "config": { + "host": "test-host", + "database": "test-database", + "user": "test-user", + "password": "test-password", + "port": "0000", + "sslMode": "disable", + "syncFrequency": "30", + "useRudderStorage": false, + "bucketProvider": "GCS", + "bucketName": "test..bucket", + "endPoint": "", + "useSSL": true, + "credentials": "{}", + "excludeWindow": { + "excludeWindowStartTime": "", + "excludeWindowEndTime": "" + }, + "syncStartAt": "16:30" + }, + "result": false, + "err": [ + "bucketName must match pattern \"(^env[.].+)|^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$\"", + " must match \"then\" schema" + ] + }, + { + "config": { + "host": "test-host", + "database": "test-database", + "user": "test-user", + "password": "test-password", + "port": "0000", + "sslMode": "disable", + "syncFrequency": "30", + "useRudderStorage": false, + "bucketProvider": "AZURE_BLOB", + "containerName": "test--container", + "accountName": "test-account-name", + "accountKey": "test-azure-account-key", + "useSSL": true + }, + "result": false, + "err": [ + "containerName must match pattern \"(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$\"", + " must match \"then\" schema" + ] + }, + { + "config": { + "host": "test-host", + "database": "test-database", + "user": "test-user", + "password": "test-password", + "port": "0000", + "useRudderStorage": false, + "sslMode": "disable", + "bucketProvider": "MINIO", + "syncFrequency": "30", + "bucketName": "1.2.3.4", + "accessKeyID": "test-access-key-id", + "secretAccessKey": "test-secret-access-key", + "endPoint": "https:test.com", + "useSSL": true + }, + "result": false, + "err": [ + "bucketName must match pattern \"(^env[.].+)|^((?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"", + " must match \"then\" schema" + ] + } +] diff --git a/src/validations/__tests__/validation_test_data/bq_test.json b/test/data/validation/destinations/bq.json similarity index 100% rename from src/validations/__tests__/validation_test_data/bq_test.json rename to test/data/validation/destinations/bq.json diff --git a/src/validations/__tests__/validation_test_data/braze_test.json b/test/data/validation/destinations/braze.json similarity index 100% rename from src/validations/__tests__/validation_test_data/braze_test.json rename to test/data/validation/destinations/braze.json diff --git a/test/data/validation/destinations/canny.json b/test/data/validation/destinations/canny.json new file mode 100644 index 000000000..251d5396b --- /dev/null +++ b/test/data/validation/destinations/canny.json @@ -0,0 +1,47 @@ +[ + { + "config": { + "apiKey": "abcd123", + "eventsToEvents": [ + { + "from": "First", + "to": "createVote" + } + ] + }, + "result": true + }, + { + "config": { + "apiKey": "", + "eventsToEvents": [ + { + "from": "First", + "to": "createPost" + } + ] + }, + "result": false, + "err": ["apiKey must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\""] + }, + { + "config": { + "apiKey": "abcd", + "eventsToEvents": [ + { + "from": "First", + "to": "createPost" + }, + { + "from": "Second", + "to": "createPost" + }, + { + "from": "First", + "to": "createVote" + } + ] + }, + "result": true + } +] diff --git a/test/data/validation/destinations/clickhouse.json b/test/data/validation/destinations/clickhouse.json new file mode 100644 index 000000000..4800b22f4 --- /dev/null +++ b/test/data/validation/destinations/clickhouse.json @@ -0,0 +1,276 @@ +[ + { + "config": { + "host": "test-host", + "database": "test-database", + "user": "test-user", + "password": "test-password", + "port": "0000", + "sslMode": "disable", + "bucketProvider": "S3", + "syncFrequency": "30", + "useRudderStorage": false, + "bucketName": "test-bucket", + "accessKeyID": "test-access-key-id", + "accessKey": "test-access-key" + }, + "result": true + }, + { + "config": { + "host": "test-host", + "database": "test-database", + "user": "test-user", + "password": "test-password", + "port": "0000", + "sslMode": "disable", + "syncFrequency": "30", + "useRudderStorage": false, + "bucketProvider": "GCS", + "bucketName": "test-bucket", + "endPoint": "", + "useSSL": true, + "credentials": "{}", + "excludeWindow": { + "excludeWindowStartTime": "", + "excludeWindowEndTime": "" + }, + "syncStartAt": "16:30" + }, + "result": true + }, + { + "config": { + "host": "test-host", + "database": "test-database", + "user": "test-user", + "password": "test-password", + "port": "0000", + "sslMode": "disable", + "syncFrequency": "30", + "useRudderStorage": false, + "bucketProvider": "AZURE_BLOB", + "containerName": "test-container", + "accountName": "test-account-name", + "accountKey": "test-azure-account-key", + "useSSL": true + }, + "result": true + }, + { + "config": { + "host": "test-host", + "database": "test-database", + "user": "test-user", + "password": "test-password", + "port": "0000", + "sslMode": "disable", + "syncFrequency": "30", + "useRudderStorage": false, + "bucketProvider": "AZURE_BLOB", + "containerName": "test-container", + "accountName": "test-account-name", + "accountKey": "test-azure-account-key", + "sasToken": "", + "useSASTokens": false, + "useSSL": true + }, + "result": true + }, + { + "config": { + "host": "test-host", + "database": "test-database", + "user": "test-user", + "password": "test-password", + "port": "0000", + "sslMode": "disable", + "syncFrequency": "30", + "useRudderStorage": false, + "bucketProvider": "AZURE_BLOB", + "containerName": "test-container", + "accountName": "test-account-name", + "accountKey": "", + "sasToken": "test-azure-sas-token", + "useSASTokens": true, + "useSSL": true + }, + "result": true + }, + { + "config": { + "host": "test-host", + "database": "test-database", + "user": "test-user", + "password": "test-password", + "port": "0000", + "sslMode": "disable", + "syncFrequency": "30", + "useRudderStorage": false, + "bucketProvider": "AZURE_BLOB", + "containerName": "test-container", + "accountName": "test-account-name", + "accountKey": "test-azure-account-key", + "sasToken": "test-azure-sas-token", + "useSASTokens": true, + "useSSL": true + }, + "result": true + }, + { + "config": { + "host": "test-host", + "database": "test-database", + "user": "test-user", + "password": "test-password", + "port": "0000", + "sslMode": "disable", + "syncFrequency": "30", + "useRudderStorage": false, + "bucketProvider": "AZURE_BLOB", + "containerName": "test-container", + "accountName": "test-account-name", + "accountKey": "test-azure-account-key", + "sasToken": "test-azure-sas-token", + "useSASTokens": false, + "useSSL": true + }, + "result": true + }, + { + "config": { + "host": "test-host", + "database": "test-database", + "user": "test-user", + "password": "test-password", + "port": "0000", + "sslMode": "disable", + "syncFrequency": "30", + "useRudderStorage": false, + "bucketProvider": "AZURE_BLOB", + "containerName": "test-container", + "accountName": "test-account-name", + "useSSL": true + }, + "result": false, + "err": [ + " must have required property 'accountKey'", + " must have required property 'useSASTokens'", + " must have required property 'sasToken'", + " must match a schema in anyOf", + " must match \"then\" schema" + ] + }, + { + "config": { + "host": "test-host", + "database": "test-database", + "user": "test-user", + "password": "test-password", + "port": "0000", + "useRudderStorage": false, + "sslMode": "disable", + "bucketProvider": "MINIO", + "syncFrequency": "30", + "bucketName": "test-bucket", + "accessKeyID": "test-access-key-id", + "secretAccessKey": "test-secret-access-key", + "endPoint": "https:test.com", + "useSSL": true + }, + "result": true + }, + { + "config": { + "host": "test-host", + "database": "test-database", + "user": "test-user", + "password": "test-password", + "port": "0000", + "sslMode": "disable", + "bucketProvider": "S3", + "useRudderStorage": false, + "syncFrequency": "30", + "bucketName": "ab..ab", + "accessKeyID": "test-access-key-id", + "accessKey": "test-access-key" + }, + "result": false, + "err": [ + "bucketName must match pattern \"(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"", + " must match \"then\" schema" + ] + }, + { + "config": { + "host": "test-host", + "database": "test-database", + "user": "test-user", + "password": "test-password", + "port": "0000", + "sslMode": "disable", + "syncFrequency": "30", + "useRudderStorage": false, + "bucketProvider": "GCS", + "bucketName": "test..bucket", + "endPoint": "", + "useSSL": true, + "credentials": "{}", + "excludeWindow": { + "excludeWindowStartTime": "", + "excludeWindowEndTime": "" + }, + "syncStartAt": "16:30" + }, + "result": false, + "err": [ + "bucketName must match pattern \"(^env[.].+)|^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$\"", + " must match \"then\" schema" + ] + }, + { + "config": { + "host": "test-host", + "database": "test-database", + "user": "test-user", + "password": "test-password", + "port": "0000", + "sslMode": "disable", + "syncFrequency": "30", + "useRudderStorage": false, + "bucketProvider": "AZURE_BLOB", + "containerName": "test--container", + "accountName": "test-account-name", + "accountKey": "test-azure-account-key", + "useSSL": true + }, + "result": false, + "err": [ + "containerName must match pattern \"(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$\"", + " must match \"then\" schema" + ] + }, + { + "config": { + "host": "test-host", + "database": "test-database", + "user": "test-user", + "password": "test-password", + "port": "0000", + "useRudderStorage": false, + "sslMode": "disable", + "bucketProvider": "MINIO", + "syncFrequency": "30", + "bucketName": "1.2.3.4", + "accessKeyID": "test-access-key-id", + "secretAccessKey": "test-secret-access-key", + "endPoint": "https:test.com", + "useSSL": true + }, + "result": false, + "err": [ + "bucketName must match pattern \"(^env[.].+)|^((?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"", + " must match \"then\" schema" + ] + } +] diff --git a/test/data/validation/destinations/clickup.json b/test/data/validation/destinations/clickup.json new file mode 100644 index 000000000..e1d881a33 --- /dev/null +++ b/test/data/validation/destinations/clickup.json @@ -0,0 +1,98 @@ +[ + { + "config": { + "apiToken": "pk_880343042_1W64ZBPLP71H5YAYAUEJHSRL", + "listId": "175496000", + "keyToCustomFieldName": [ + { + "from": "Industry", + "to": "industry" + } + ], + "whitelistedEvents": [{ "eventName": "" }] + }, + "result": true + }, + { + "config": { + "apiToken": "pk_880343042_1W64ZBPLP71H5YAYAUEJHSRL", + "listId": "175496000", + "keyToCustomFieldName": [ + { + "from": "Industry", + "to": "industry" + }, + { + "from": "Account Size", + "to": "accountSize" + }, + { + "from": "Contact Title", + "to": "contactTitle" + }, + { + "from": "Payment Status", + "to": "paymentStatus" + } + ], + "whitelistedEvents": [{ "eventName": "" }, { "eventName": "Product Viewed" }] + }, + "result": true + }, + { + "config": { + "apiToken": 8872341, + "listId": "175496000", + "keyToCustomFieldName": [ + { + "from": "Industry", + "to": "industry" + } + ] + }, + "result": false, + "err": ["apiToken must be string"] + }, + { + "config": { + "apiToken": "", + "listId": "175496000", + "keyToCustomFieldName": [ + { + "from": "Industry", + "to": "industry" + } + ] + }, + "result": false, + "err": ["apiToken must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\""] + }, + { + "config": { + "apiToken": "8872341", + "listId": "", + "keyToCustomFieldName": [ + { + "from": "Industry", + "to": "industry" + } + ] + }, + "result": false, + "err": ["listId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\""] + }, + { + "config": { + "listId": "175496000" + }, + "result": false, + "err": [" must have required property 'apiToken'"] + }, + { + "config": { + "apiToken": "8872341" + }, + "result": false, + "err": [" must have required property 'listId'"] + } +] diff --git a/test/data/validation/destinations/convertflow.json b/test/data/validation/destinations/convertflow.json new file mode 100644 index 000000000..581439807 --- /dev/null +++ b/test/data/validation/destinations/convertflow.json @@ -0,0 +1,67 @@ +[ + { + "config": { + "websiteId": "", + "toggleToSendData": false, + "eventsList": "cfView", + "eventsMapping": [ + { + "from": "cfView", + "to": "Viewed CTA" + } + ], + "eventFilteringOption": "disable", + "whitelistedEvents": [{ "eventName": "" }], + "blacklistedEvents": [{ "eventName": "" }], + "oneTrustCookieCategories": { "web": [{ "oneTrustCookieCategory": "" }] }, + "useNativeSDK": { + "web": false + } + }, + "result": false, + "err": ["websiteId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,10})$\""] + }, + { + "config": { + "websiteId": "47838", + "toggleToSendData": "false", + "eventsList": "cfView", + "eventsMapping": [ + { + "from": "cfView", + "to": "Viewed CTA" + } + ], + "eventFilteringOption": "disable", + "whitelistedEvents": [{ "eventName": "" }], + "blacklistedEvents": [{ "eventName": "" }], + "oneTrustCookieCategories": { "web": [{ "oneTrustCookieCategory": "" }] }, + "useNativeSDK": { + "web": false + } + }, + "result": false, + "err": ["toggleToSendData must be boolean"] + }, + { + "config": { + "websiteId": "23894", + "toggleToSendData": true, + "eventsList": "cfView", + "eventsMapping": [ + { + "from": "cfView", + "to": "Viewed CTA" + } + ], + "eventFilteringOption": "disable", + "whitelistedEvents": [{ "eventName": "" }], + "blacklistedEvents": [{ "eventName": "" }], + "oneTrustCookieCategories": { "web": [{ "oneTrustCookieCategory": "" }] }, + "useNativeSDK": { + "web": false + } + }, + "result": true + } +] diff --git a/test/data/validation/destinations/criteo.json b/test/data/validation/destinations/criteo.json new file mode 100644 index 000000000..0e3454de6 --- /dev/null +++ b/test/data/validation/destinations/criteo.json @@ -0,0 +1,129 @@ +[ + { + "config": { + "accountId": "12", + "homePageUrl": "https://www.google.com", + "hashMethod": "md5", + "fieldMapping": [ + { + "from": "signup", + "to": "billing" + } + ], + "whitelistedEvents": [ + { + "eventName": "login" + } + ], + "blacklistedEvents": [ + { + "eventName": "ad_disabled" + } + ], + "eventFilteringOption": "whitelistedEvents", + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "product" + } + ] + }, + "eventsToStandard": [ + { + "from": "add to cart", + "to": "product viewed" + }, + { + "from": "cart checkout", + "to": "cart viewed" + } + ] + }, + "useNativeSDK": { + "web": false + }, + "result": true + }, + { + "config": { + "accountId": "", + "homePageUrl": "https://www.facebook.com", + "hashMethod": "md5", + "fieldMapping": [ + { + "from": "signup", + "to": "billing" + } + ], + "whitelistedEvents": [ + { + "eventName": "login" + } + ], + "blacklistedEvents": [ + { + "eventName": "ad_disabled" + } + ], + "eventFilteringOption": "whitelistedEvents", + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "product" + } + ] + }, + "eventsToStandard": [ + { + "from": "add to cart", + "to": "product viewed" + }, + { + "from": "cart checkout", + "to": "cart viewed" + } + ] + }, + "useNativeSDK": { + "web": false + }, + "result": false, + "err": ["accountId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[1-9]+$\""] + }, + { + "config": { + "accountId": "15", + "fieldMapping": [ + { + "from": "login", + "to": "logout" + } + ], + "whitelistedEvents": [ + { + "eventName": "product added" + } + ], + "blacklistedEvents": [ + { + "eventName": "ad_disabled" + } + ], + "eventFilteringOption": "whitelistedEvents", + "eventsToStandard": [ + { + "from": "add to cart", + "to": "product viewed" + }, + { + "from": "cart checkout", + "to": "cart viewed" + } + ] + }, + "useNativeSDK": { + "web": false + }, + "result": true + } +] diff --git a/test/data/validation/destinations/custify.json b/test/data/validation/destinations/custify.json new file mode 100644 index 000000000..d95e516aa --- /dev/null +++ b/test/data/validation/destinations/custify.json @@ -0,0 +1,32 @@ +[ + { + "config": { + "apiKey": "testapikey", + "sendAnonymousId": true + }, + "result": true + }, + { + "config": { + "sendAnonymousId": true + }, + "result": false, + "err": [" must have required property 'apiKey'"] + }, + { + "description": "TODO:We dont have a validation for empty string need to figure out this", + "config": { + "apiKey": "", + "sendAnonymousId": true + }, + "result": true + }, + { + "config": { + "apiKey": "testapikey", + "sendAnonymousId": 123 + }, + "result": false, + "err": ["sendAnonymousId must be boolean"] + } +] diff --git a/test/data/validation/destinations/customerio.json b/test/data/validation/destinations/customerio.json new file mode 100644 index 000000000..96df60d0a --- /dev/null +++ b/test/data/validation/destinations/customerio.json @@ -0,0 +1,166 @@ +[ + { + "config": { + "siteID": "95bd1331112976i0ff9b", + "apiKey": "95bd1331112976i0ff9b", + "deviceTokenEventName": "device_token_registered", + "datacenterEU": false, + "eventFilteringOption": "disable", + "whitelistedEvents": [ + { + "eventName": "eventmodel" + } + ], + "blacklistedEvents": [ + { + "eventName": "taxmodel" + } + ], + "useNativeSDK": { + "web": false + }, + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "Marketing" + } + ] + } + }, + "result": true + }, + { + "config": { + "apiKey": "95bd1331112976i0ff9b", + "deviceTokenEventName": "device_token_registered", + "datacenterEU": false, + "eventFilteringOption": "whitelistedEvents", + "whitelistedEvents": [ + { + "eventName": "eventmodel" + } + ], + "blacklistedEvents": [ + { + "eventName": "taxmodel" + } + ], + "useNativeSDK": { + "web": false + }, + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "" + } + ] + } + }, + "result": false, + "err": [" must have required property 'siteID'"] + }, + { + "config": { + "siteID": "95bd1331112976i0ff9b", + "apiKey": "95bd1330072974f0ff9b", + "deviceTokenEventName": "device_location_registered", + "datacenterEU": true, + "whitelistedEvents": [ + { + "eventName": "practice" + } + ], + "blacklistedEvents": [ + { + "eventName": "spam_listings" + } + ], + "useNativeSDK": { + "web": false + }, + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "Sales" + } + ] + } + }, + "result": true + }, + { + "config": { + "siteID": "15bd1331112976i0ff9b", + "apiKey": "15bd1331112976i0ff9b", + "deviceTokenEventName": "device_id_removed", + "datacenterEU": false, + "eventFilteringOption": "disable", + "whitelistedEvents": [ + { + "eventName": ["e1", "v1"] + } + ], + "blacklistedEvents": [ + { + "eventName": "taxmodel" + } + ], + "useNativeSDK": { + "web": false + }, + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "Pitch" + } + ] + } + }, + "result": false, + "err": ["whitelistedEvents.0.eventName must be string"] + }, + { + "config": { + "siteID": "95bd1331112976i0ff9b", + "apiKey": "95bd1331112976i0ff9b", + "deviceTokenEventName": "device_token_registered", + "datacenterEU": "Germany", + "eventFilteringOption": "disable", + "useNativeSDK": { + "web": false + }, + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "Marketing" + } + ] + } + }, + "result": false, + "err": ["datacenterEU must be boolean"] + }, + { + "config": { + "siteID": "95bd1331112976i0ff9b", + "apiKey": "95bd1331112976i0ff9b", + "deviceTokenEventName": "qwsafpmznjhbfjhchdgeiuudhwgvdfkzxuiookaghhrytedhgfgjslalapooiqnbvemixuhevvsjklodjdokhuijghqwnvzxccdwsalkijediwhfwibkjnkji", + "datacenterEU": true, + "eventFilteringOption": "disable", + "useNativeSDK": { + "web": false + }, + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "Marketing" + } + ] + } + }, + "result": false, + "err": [ + "deviceTokenEventName must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$\"" + ] + } +] diff --git a/test/data/validation/destinations/dcm_floodlight.json b/test/data/validation/destinations/dcm_floodlight.json new file mode 100644 index 000000000..2284f8851 --- /dev/null +++ b/test/data/validation/destinations/dcm_floodlight.json @@ -0,0 +1,266 @@ +[ + { + "config": { + "advertiserId": "22448662", + "activityTag": "", + "groupTag": "", + "conversionEvents": [ + { + "eventName": "Product viewed", + "floodlightActivityTag": "signu01", + "floodlightGroupTag": "conv01", + "salesTag": false, + "customVariables": [ + { + "from": "RudderstackProperty1", + "to": "1" + }, + { + "from": "RudderstackProperty2", + "to": "2" + } + ] + }, + { + "eventName": "Order Complete", + "floodlightActivityTag": "signu01", + "floodlightGroupTag": "conv02", + "salesTag": false, + "customVariables": [ + { + "from": "", + "to": "" + } + ] + } + ] + }, + "result": true + }, + { + "config": { + "advertiserId": "22448662", + "activityTag": "", + "groupTag": "", + "conversionEvents": [ + { + "eventName": "Product viewed", + "floodlightActivityTag": "signu01", + "floodlightGroupTag": "conv01", + "salesTag": false, + "customVariables": [ + { + "from": "RudderstackProperty1", + "to": "u1" + }, + { + "from": "RudderstackProperty2", + "to": "2" + } + ] + }, + { + "eventName": "Order Complete", + "floodlightActivityTag": "signu01", + "floodlightGroupTag": "conv02", + "salesTag": false, + "customVariables": [ + { + "from": "", + "to": "" + } + ] + } + ] + }, + "result": false, + "err": [ + "conversionEvents.0.customVariables.0.to must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^([0-9]{0,100})$\"" + ] + }, + { + "config": { + "advertiserId": "12AUXUS123", + "activityTag": "", + "groupTag": "", + "conversionEvents": [ + { + "eventName": "Product viewed", + "floodlightActivityTag": "signu01", + "floodlightGroupTag": "conv01", + "salesTag": false, + "customVariables": [ + { + "from": "RudderstackProperty1", + "to": "1" + }, + { + "from": "RudderstackProperty2", + "to": "2" + } + ] + }, + { + "eventName": "Order Complete", + "floodlightActivityTag": "signu01", + "floodlightGroupTag": "conv02", + "salesTag": false, + "customVariables": [ + { + "from": "", + "to": "" + } + ] + } + ] + }, + "result": false, + "err": [ + "advertiserId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^([0-9]{0,100})$\"" + ] + }, + { + "config": { + "advertiserId": "22448662", + "activityTag": "", + "groupTag": "", + "conversionEvents": [ + { + "eventName": "Product viewed", + "floodlightActivityTag": "signu01", + "floodlightGroupTag": "conv01", + "salesTag": false, + "customVariables": [ + { + "from": "RudderstackProperty1", + "to": "1" + }, + { + "from": "RudderstackProperty2", + "to": "2" + } + ] + }, + { + "eventName": "Order Complete", + "floodlightActivityTag": "signu01", + "floodlightGroupTag": "conv02", + "salesTag": false, + "customVariables": [ + { + "from": "", + "to": "" + } + ] + } + ], + "eventFilteringOption": "disable", + "whitelistedEvents": [ + { + "eventName": "" + } + ], + "blacklistedEvents": [ + { + "eventName": "" + } + ], + "useNativeSDK": { + "web": true + }, + "conversionLinker": { + "web": true + }, + "allowAdPersonalizationSignals": { + "web": true + }, + "tagFormat": "globalSiteTag", + "doubleclickId": { + "web": true + }, + "googleNetworkId": { + "web": "1234" + }, + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "" + } + ] + } + }, + "result": true + }, + { + "config": { + "advertiserId": "22448662", + "activityTag": "", + "groupTag": "", + "conversionEvents": [ + { + "eventName": "Product viewed", + "floodlightActivityTag": "signu01", + "floodlightGroupTag": "conv01", + "salesTag": false, + "customVariables": [ + { + "from": "RudderstackProperty1", + "to": "1" + }, + { + "from": "RudderstackProperty2", + "to": "2" + } + ] + }, + { + "eventName": "Order Complete", + "floodlightActivityTag": "signu01", + "floodlightGroupTag": "conv02", + "salesTag": false, + "customVariables": [ + { + "from": "", + "to": "" + } + ] + } + ], + "eventFilteringOption": "disable", + "whitelistedEvents": [ + { + "eventName": "" + } + ], + "blacklistedEvents": [ + { + "eventName": "" + } + ], + "useNativeSDK": { + "web": false + }, + "conversionLinker": { + "web": true + }, + "allowAdPersonalizationSignals": { + "web": true + }, + "tagFormat": "iframeTag", + "doubleclickId": { + "web": false + }, + "googleNetworkId": { + "web": "1234" + }, + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "" + } + ] + } + }, + "result": true + } +] diff --git a/test/data/validation/destinations/deltalake.json b/test/data/validation/destinations/deltalake.json new file mode 100644 index 000000000..36b265565 --- /dev/null +++ b/test/data/validation/destinations/deltalake.json @@ -0,0 +1,226 @@ +[ + { + "config": { + "host": "test-host", + "path": "test-path", + "token": "test-token", + "port": "0000", + "bucketProvider": "S3", + "syncFrequency": "30", + "enableSSE": false, + "useRudderStorage": false, + "useSTSTokens": false, + "bucketName": "test-bucket", + "accessKeyID": "test-access-key-id", + "accessKey": "test-access-key" + }, + "result": true + }, + { + "config": { + "host": "test-host", + "path": "test-path", + "token": "test-token", + "port": "0000", + "sslMode": "disable", + "syncFrequency": "30", + "useRudderStorage": false, + "bucketProvider": "GCS", + "bucketName": "test-bucket", + "endPoint": "", + "useSSL": true, + "credentials": "{}", + "excludeWindow": { + "excludeWindowStartTime": "", + "excludeWindowEndTime": "" + }, + "syncStartAt": "16:30" + }, + "result": true + }, + { + "config": { + "host": "test-host", + "path": "test-path", + "token": "test-token", + "port": "0000", + "sslMode": "disable", + "syncFrequency": "30", + "useRudderStorage": false, + "bucketProvider": "AZURE_BLOB", + "containerName": "test-container", + "accountName": "test-account-name", + "accountKey": "test-azure-account-key", + "useSSL": true + }, + "result": true + }, + { + "config": { + "host": "test-host", + "path": "test-path", + "token": "test-token", + "port": "0000", + "sslMode": "disable", + "syncFrequency": "30", + "useRudderStorage": false, + "bucketProvider": "AZURE_BLOB", + "containerName": "test-container", + "accountName": "test-account-name", + "accountKey": "test-azure-account-key", + "sasToken": "", + "useSASTokens": false, + "useSSL": true + }, + "result": true + }, + { + "config": { + "host": "test-host", + "path": "test-path", + "token": "test-token", + "port": "0000", + "sslMode": "disable", + "syncFrequency": "30", + "useRudderStorage": false, + "bucketProvider": "AZURE_BLOB", + "containerName": "test-container", + "accountName": "test-account-name", + "accountKey": "", + "sasToken": "test-azure-sas-token", + "useSASTokens": true, + "useSSL": true + }, + "result": true + }, + { + "config": { + "host": "test-host", + "path": "test-path", + "token": "test-token", + "port": "0000", + "sslMode": "disable", + "syncFrequency": "30", + "useRudderStorage": false, + "bucketProvider": "AZURE_BLOB", + "containerName": "test-container", + "accountName": "test-account-name", + "accountKey": "test-azure-account-key", + "sasToken": "test-azure-sas-token", + "useSASTokens": true, + "useSSL": true + }, + "result": true + }, + { + "config": { + "host": "test-host", + "path": "test-path", + "token": "test-token", + "port": "0000", + "sslMode": "disable", + "syncFrequency": "30", + "useRudderStorage": false, + "bucketProvider": "AZURE_BLOB", + "containerName": "test-container", + "accountName": "test-account-name", + "accountKey": "test-azure-account-key", + "sasToken": "test-azure-sas-token", + "useSASTokens": false, + "useSSL": true + }, + "result": true + }, + { + "config": { + "host": "test-host", + "path": "test-path", + "token": "test-token", + "port": "0000", + "sslMode": "disable", + "syncFrequency": "30", + "useRudderStorage": false, + "bucketProvider": "AZURE_BLOB", + "containerName": "test-container", + "accountName": "test-account-name", + "useSSL": true + }, + "result": false, + "err": [ + " must have required property 'accountKey'", + " must have required property 'useSASTokens'", + " must have required property 'sasToken'", + " must match a schema in anyOf", + " must match \"then\" schema" + ] + }, + { + "config": { + "host": "test-host", + "path": "test-path", + "token": "test-token", + "port": "0000", + "sslMode": "disable", + "bucketProvider": "S3", + "enableSSE": false, + "useRudderStorage": false, + "useSTSTokens": false, + "syncFrequency": "30", + "bucketName": "ab..ab", + "accessKeyID": "test-access-key-id", + "accessKey": "test-access-key" + }, + "result": false, + "err": [ + "bucketName must match pattern \"(^env[.].*)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"", + " must match \"then\" schema" + ] + }, + { + "config": { + "host": "test-host", + "path": "test-path", + "token": "test-token", + "port": "0000", + "sslMode": "disable", + "syncFrequency": "30", + "useRudderStorage": false, + "bucketProvider": "GCS", + "bucketName": "test..bucket", + "endPoint": "", + "useSSL": true, + "credentials": "{}", + "excludeWindow": { + "excludeWindowStartTime": "", + "excludeWindowEndTime": "" + }, + "syncStartAt": "16:30" + }, + "result": false, + "err": [ + "bucketName must match pattern \"(^env[.].*)|^((?!goog)(?!.*google.*)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$\"", + " must match \"then\" schema" + ] + }, + { + "config": { + "host": "test-host", + "path": "test-path", + "token": "test-token", + "port": "0000", + "sslMode": "disable", + "syncFrequency": "30", + "useRudderStorage": false, + "bucketProvider": "AZURE_BLOB", + "containerName": "test--container", + "accountName": "test-account-name", + "accountKey": "test-azure-account-key", + "useSSL": true + }, + "result": false, + "err": [ + "containerName must match pattern \"(^env[.].*)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$\"", + " must match \"then\" schema" + ] + } +] diff --git a/test/data/validation/destinations/discord.json b/test/data/validation/destinations/discord.json new file mode 100644 index 000000000..2ba16ac4d --- /dev/null +++ b/test/data/validation/destinations/discord.json @@ -0,0 +1,80 @@ +[ + { + "config": { + "identifyTemplate": "", + "webhookUrl": "https://api.discord.com/1234/5678/1457", + "embedTitleTemplate": "", + "embedDescriptionTemplate": "", + "embedFlag": true, + "eventTemplateSettings": [ + { + "eventName": "", + "eventTemplate": "", + "eventRegex": false + } + ], + "whitelistedTraitsSettings": [ + { + "trait": "" + } + ] + }, + "result": true + }, + { + "config": { + "identifyTemplate": "", + "webhookUrl": "https://api.discord.com/1234/5678/1457", + "embedFlag": false, + "eventTemplateSettings": [ + { + "eventName": "abc", + "eventTemplate": "a: {{properties.a}} {{properties.newLine}} b: {{properties.b}}", + "eventRegex": false + } + ], + "whitelistedTraitsSettings": [ + { + "trait": "" + } + ] + }, + "result": true + }, + { + "config": { + "identifyTemplate": "", + "embedTitleTemplate": "Rudderstack Message", + "embedDescriptionTemplate": " {{name}}", + "embedFlag": true, + "webhookUrl": "" + }, + "result": false, + "err": [ + "webhookUrl must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(https?|ftp)://[^\\s/$.?#].[^\\s]*$\"" + ] + }, + { + "config": { + "identifyTemplate": "", + "webhookUrl": "https://api.discord.com/1234/5678/1457", + "eventTemplateSettings": [ + { + "eventName": 1234, + "eventTemplate": "a: {{properties.a}} {{properties.newLine}} b: {{properties.b}}", + "eventRegex": "false" + } + ], + "whitelistedTraitsSettings": [ + { + "trait": "" + } + ] + }, + "result": false, + "err": [ + "eventTemplateSettings.0.eventName must be string", + "eventTemplateSettings.0.eventRegex must be boolean" + ] + } +] diff --git a/test/data/validation/destinations/facebook_pixel.json b/test/data/validation/destinations/facebook_pixel.json new file mode 100644 index 000000000..c358c6aaf --- /dev/null +++ b/test/data/validation/destinations/facebook_pixel.json @@ -0,0 +1,204 @@ +[ + { + "config": { + "pixelId": "471828257250906", + "accessToken": "EABAKGVmm4FjBAKAHtWZB4er7fVTjFdJD33daH3ZB340qWk7Nv9MwZCOE0f27EKZA1LQxkQD8hQy1ZBb3SkIgeLcqZAbVtVXbpumoOtpqkP9fRqM0bZCeozeWkH3Y4TZCUpUeUsgKwGDqZB9QrrZCGwRcF9YZAvPDjZAT0YJjWNWQCKhnMQ2OEnrjtJmJgsWDicELxEAZD", + "standardPageCall": true, + "valueFieldIdentifier": "properties.price", + "advancedMapping": false, + "limitedDataUSage": false, + "testDestination": false, + "testEventCode": "", + "eventFilteringOption": "whitelistedEvents", + "eventsToEvents": [ + { + "from": "named", + "to": "class" + } + ], + "eventCustomProperties": [ + { + "eventCustomProperties": "custom101" + } + ], + "blacklistPiiProperties": [ + { + "blacklistPiiProperties": "", + "blacklistPiiHash": true + } + ], + "whitelistPiiProperties": [ + { + "whitelistPiiProperties": "passed" + } + ], + "whitelistedEvents": [ + { + "eventName": "login" + } + ], + "blacklistedEvents": [ + { + "eventName": "adblocker_disabled" + } + ], + "categoryToContent": [ + { + "from": "app_signup", + "to": "completed" + } + ] + }, + "result": true + }, + { + "config": { + "accessToken": "EABAKGVmm4FjB7fVTjFdJD33daH3ZB340qWk7Nv9MwZCOE0f27EKZA1LQxkQD8hQy1ZBb3SkIgeLcqZAbVtVXbpumoOtpqkP9fRqM0bZCeozeWkH3Y4TZCUpUeUsgKwGDqZB9QrrZCGwRcF9YZAvPDjZAT0YJjWNWQCKhnMQ2OEnrjtJmJgsWDicELxEAZD", + "standardPageCall": false, + "valueFieldIdentifier": "properties.price", + "advancedMapping": false, + "limitedDataUSage": true, + "testDestination": false, + "testEventCode": "", + "eventFilteringOption": "whitelistedEvents", + "eventsToEvents": [ + { + "from": "name", + "to": "grade" + } + ], + "eventCustomProperties": [ + { + "eventCustomProperties": "remarks" + } + ], + "blacklistPiiProperties": [ + { + "blacklistPiiProperties": "", + "blacklistPiiHash": true + } + ], + "whitelistPiiProperties": [ + { + "whitelistPiiProperties": "passed" + } + ], + "whitelistedEvents": [ + { + "eventName": "" + } + ], + "blacklistedEvents": [ + { + "eventName": "" + } + ], + "categoryToContent": [ + { + "from": "app_signup", + "to": "completed" + } + ] + }, + "result": false, + "err": [" must have required property 'pixelId'"] + }, + { + "config": { + "pixelId": "295131421571462", + "advancedMapping": false, + "blacklistPiiProperties": [ + { + "blacklistPiiProperties": "", + "blacklistPiiHash": false + } + ], + "eventsToEvents": [ + { + "from": "PageView", + "to": "ViewContent" + } + ], + "useNativeSDK": { + "web": true + } + }, + "result": true + }, + { + "config": { + "pixelId": "457112234567291", + "accessToken": "EAAEOkKbzt8cBAJFgWYuG6bE5ycjssu71bCg4F4wzPh682n4YEBOZAmjbcdlru53CIvXt1MJb9SpliIGbauYrjxzyGtzBmyVenyyJkZCHX2KtoMVn7njwFNk3jtEUDYOS49OOE5YSbZBUznGlICSfZAAjBUyQ8cXmu0LtfXpXsA6gqjjqd1vXHLv8ycGY2CIZS", + "standardPageCall": false, + "valueFieldIdentifier": "properties.price", + "advancedMapping": false, + "limitedDataUSage": false, + "testDestination": false, + "testEventCode": "TEST83176", + "eventFilteringOption": "disable", + "eventsToEvents": [ + { + "from": "app terminated", + "to": "close" + }, + { + "from": "app installed", + "to": "init" + } + ], + "useNativeSDK": { + "web": true + } + }, + "result": true + }, + { + "config": { + "pixelId": "457112234567291", + "accessToken": "EAAEOkKbzt8cBAJFgWYuG6bE5ycjssu71bCg4F4wzPh682n4YEBOZAmjbcdlru53CIvXt1MJb9SpliIGbauYrjxzyGtzBmyVenyyJkZCHX2KtoMVn7njwFNk3jtEUDYOS49OOE5YSbZBUznGlICSfZAAjBUyQ8cXmu0LtfXpXsA6gqjjqd1vXHLv8ycGY2CIZS", + "standardPageCall": false, + "valueFieldIdentifier": "properties.price", + "advancedMapping": false, + "limitedDataUSage": true, + "testDestination": true, + "testEventCode": "TEST1010", + "eventFilteringOption": "disable", + "eventsToEvents": [ + { + "from": "app terminated", + "to": "close" + } + ], + "useNativeSDK": { + "web": true + } + }, + "result": true + }, + { + "config": { + "pixelId": "457112234567291", + "accessToken": "EAAEOkKbzt8cBAJFgWYuG6bE5ycjssu71bCg4F4wzPh682n4YEBOZAmjbcdlru53CIvXt1MJb9SpliIGbauYrjxzyGtzBmyVenyyJkZCHX2KtoMVn7njwFNk3jtEUDYOS49OOE5YSbZBUznGlICSfZAAjBUyQ8cXmu0LtfXpXsA6gqjjqd1vXHLv8ycGY2CIZS", + "standardPageCall": false, + "valueFieldIdentifier": "properties.price", + "advancedMapping": false, + "limitedDataUSage": false, + "testDestination": true, + "testEventCode": "EAAEOkKbzt8cBAJFgWYuG6bE5ycjssu71bCg4F4wzPh682n4YEBOZAmjbcdlru53CIvXt1MJb9SpliIGbauYrjxzyGtzBmyVenyyJkZCHX2KtoMVn7njwFNk3jtEUDYOS49OOE5YSbZBUznGlICSfZAAjBUyQ8cXmu0LtfXpXsA6gqjjqd1vXHLv8ycGY2CIZS", + "eventFilteringOption": "disable", + "eventsToEvents": [ + { + "from": "app terminated", + "to": "close" + } + ], + "useNativeSDK": { + "web": true + } + }, + "result": false, + "err": [ + "testEventCode must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$\"" + ] + } +] diff --git a/test/data/validation/destinations/freshmarketer.json b/test/data/validation/destinations/freshmarketer.json new file mode 100644 index 000000000..6bece2cec --- /dev/null +++ b/test/data/validation/destinations/freshmarketer.json @@ -0,0 +1,39 @@ +[ + { + "config": { + "apiKey": "", + "domain": "mytest-1234" + }, + "result": false, + "err": ["apiKey must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\""] + }, + { + "config": { + "apiKey": "adhs123-adhs123-adhs3", + "domain": "mytest-1234" + }, + "result": true + }, + { + "config": { + "apiKey": "adhs123-adhs123-adhs3" + }, + "result": false, + "err": [" must have required property 'domain'"] + }, + { + "config": { + "domain": "mytest-1234" + }, + "result": false, + "err": [" must have required property 'apiKey'"] + }, + { + "config": { + "apiKey": "adhs123-adhs123-adhs3", + "domain": "" + }, + "result": false, + "err": ["domain must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\""] + } +] diff --git a/test/data/validation/destinations/freshsales.json b/test/data/validation/destinations/freshsales.json new file mode 100644 index 000000000..6bece2cec --- /dev/null +++ b/test/data/validation/destinations/freshsales.json @@ -0,0 +1,39 @@ +[ + { + "config": { + "apiKey": "", + "domain": "mytest-1234" + }, + "result": false, + "err": ["apiKey must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\""] + }, + { + "config": { + "apiKey": "adhs123-adhs123-adhs3", + "domain": "mytest-1234" + }, + "result": true + }, + { + "config": { + "apiKey": "adhs123-adhs123-adhs3" + }, + "result": false, + "err": [" must have required property 'domain'"] + }, + { + "config": { + "domain": "mytest-1234" + }, + "result": false, + "err": [" must have required property 'apiKey'"] + }, + { + "config": { + "apiKey": "adhs123-adhs123-adhs3", + "domain": "" + }, + "result": false, + "err": ["domain must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\""] + } +] diff --git a/test/data/validation/destinations/ga.json b/test/data/validation/destinations/ga.json new file mode 100644 index 000000000..5fcaf86c1 --- /dev/null +++ b/test/data/validation/destinations/ga.json @@ -0,0 +1,304 @@ +[ + { + "config": { + "trackingID": "UA-152564043-4", + "eventFilteringOption": "whitelistedEvents", + "doubleClick": false, + "enhancedLinkAttribution": false, + "includeSearch": false, + "enableServerSideIdentify": false, + "serverSideIdentifyEventCategory": "", + "serverSideIdentifyEventAction": "", + "disableMd5": false, + "anonymizeIp": false, + "enhancedEcommerce": false, + "nonInteraction": false, + "sendUserId": true, + "contentGroupings": [ + { + "from": "topic", + "to": "contentGroup1" + } + ], + "dimensions": [ + { + "from": "topic", + "to": "contentGroup1" + } + ], + "whitelistedEvents": [ + { + "eventName": "testing01" + } + ], + "blacklistedEvents": [ + { + "eventName": "untested110" + } + ] + }, + "result": true + }, + { + "config": { + "doubleClick": false, + "enhancedLinkAttribution": true, + "includeSearch": false, + "enableServerSideIdentify": false, + "serverSideIdentifyEventCategory": "", + "serverSideIdentifyEventAction": "", + "disableMd5": false, + "anonymizeIp": true, + "enhancedEcommerce": true, + "nonInteraction": false, + "sendUserId": false, + "useNativeSDK": { + "web": true + }, + "trackCategorizedPages": { + "web": true + }, + "trackNamedPages": { + "web": true + }, + "sampleRate": { + "web": "100" + }, + "siteSpeedSampleRate": { + "web": "1" + }, + "resetCustomDimensionsOnPage": { + "web": [ + { + "resetCustomDimensionsOnPage": "" + } + ] + }, + "setAllMappedProps": { + "web": true + }, + "domain": { + "web": "auto" + }, + "optimize": { + "web": "" + }, + "useGoogleAmpClientId": { + "web": false + }, + "namedTracker": { + "web": false + }, + "contentGroupings": [ + { + "from": "topic", + "to": "contentGroup1" + } + ], + "dimensions": [ + { + "from": "topic", + "to": "contentGroup1" + } + ], + "blacklistedEvents": [], + "whitelistedEvents": [] + }, + "result": false, + "err": [" must have required property 'trackingID'"] + }, + { + "config": { + "trackingID": "{{ config.tc || UA-151524043-4 }}", + "eventFilteringOption": "whitelistedEvents", + "doubleClick": false, + "enhancedLinkAttribution": false, + "includeSearch": false, + "enableServerSideIdentify": false, + "serverSideIdentifyEventCategory": "", + "serverSideIdentifyEventAction": "", + "disableMd5": false, + "anonymizeIp": false, + "enhancedEcommerce": false, + "nonInteraction": false, + "sendUserId": false, + "contentGroupings": [ + { + "from": "topic", + "to": "contentGroup1" + } + ], + "dimensions": [ + { + "from": "topic", + "to": "contentGroup1" + } + ], + "whitelistedEvents": [ + { + "eventName": "testing01" + } + ], + "blacklistedEvents": [ + { + "eventName": "untested110" + } + ] + }, + "result": true + }, + { + "config": { + "trackingID": "UA-147418433-1", + "doubleClick": true, + "enhancedLinkAttribution": true, + "includeSearch": true, + "enableServerSideIdentify": false, + "serverSideIdentifyEventCategory": "", + "serverSideIdentifyEventAction": "", + "anonymizeIp": false, + "enhancedEcommerce": false, + "nonInteraction": false, + "sendUserId": false, + "contentGroupings": [ + { + "from": "topic", + "to": "contentGroup1" + } + ], + "dimensions": [ + { + "from": "topic", + "to": "contentGroup1" + } + ], + "useNativeSDK": { + "web": false + }, + "sampleRate": { + "web": "100" + }, + "siteSpeedSampleRate": { + "web": "1" + }, + "namedTracker": { + "web": false + }, + "disableMd5": true + }, + "result": true + }, + { + "config": { + "trackingID": "UA-45731234-5", + "doubleClick": true, + "enhancedLinkAttribution": true, + "includeSearch": false, + "enableServerSideIdentify": "disable", + "serverSideIdentifyEventCategory": "", + "serverSideIdentifyEventAction": "", + "disableMd5": false, + "anonymizeIp": false, + "enhancedEcommerce": false, + "nonInteraction": false, + "sendUserId": true, + "useNativeSDK": { + "web": false + }, + "trackCategorizedPages": { + "web": true + }, + "trackNamedPages": { + "web": true + }, + "sampleRate": { + "web": "100" + }, + "siteSpeedSampleRate": { + "web": "1" + }, + "resetCustomDimensionsOnPage": { + "web": [ + { + "resetCustomDimensionsOnPage": "" + } + ] + }, + "contentGroupings": [ + { + "from": "topic", + "to": "contentGroup1" + } + ], + "dimensions": [ + { + "from": "topic", + "to": "contentGroup1" + } + ], + "setAllMappedProps": { + "web": true + }, + "domain": { + "web": "auto" + }, + "optimize": { + "web": "" + }, + "useGoogleAmpClientId": { + "web": false + }, + "namedTracker": { + "web": false + }, + "blacklistedEvents": [], + "whitelistedEvents": [] + }, + "result": false, + "err": ["enableServerSideIdentify must be boolean"] + }, + { + "config": { + "trackingID": "UA-147128492-1", + "doubleClick": true, + "enhancedLinkAttribution": true, + "includeSearch": true, + "enableServerSideIdentify": false, + "serverSideIdentifyEventCategory": "{{ serverside.config.ct || categoryVal }}", + "serverSideIdentifyEventAction": "wqerasfdhjgfvbvbasfdhjgfvbvbjkjjkjigywddhjgfvbvbasfdhjgfvbvbjkjjkjigywdasfdhjgfasfdhjgfvbvbjkjfewddhjgfvbvbasfdhjgfvbvbjkjjkjigywdasfdhjgf", + "anonymizeIp": false, + "enhancedEcommerce": false, + "nonInteraction": false, + "sendUserId": false, + "useNativeSDK": { + "web": false + }, + "contentGroupings": [ + { + "from": "topic", + "to": "contentGroup1" + } + ], + "dimensions": [ + { + "from": "topic", + "to": "contentGroup1" + } + ], + "sampleRate": { + "web": "100" + }, + "siteSpeedSampleRate": { + "web": "1" + }, + "namedTracker": { + "web": false + }, + "disableMd5": true + }, + "result": false, + "err": [ + "serverSideIdentifyEventAction must match pattern \"(^env[.].+)|(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^(.{0,100})$)\"" + ] + } +] diff --git a/test/data/validation/destinations/ga4.json b/test/data/validation/destinations/ga4.json new file mode 100644 index 000000000..97e4b524c --- /dev/null +++ b/test/data/validation/destinations/ga4.json @@ -0,0 +1,167 @@ +[ + { + "config": { + "apiSecret": "QyWIGHj8QhG2L4ePAPiXCA", + "typesOfClient": "gtag", + "measurementId": "G-T40PE6KET4", + "firebaseAppId": "", + "blockPageViewEvent": true, + "extendPageViewParams": true, + "sendUserId": true, + "eventFilteringOption": "disable", + "whitelistedEvents": [{ "eventName": "" }], + "blacklistedEvents": [{ "eventName": "" }], + "useNativeSDK": { + "web": false + }, + "debugMode": false, + "oneTrustCookieCategories": { "web": [{ "oneTrustCookieCategory": "" }] }, + "enableServerSideIdentify": false, + "sendLoginSignup": false, + "generateLead": false + }, + "result": true + }, + { + "config": { + "apiSecret": "QyWIGHj8QhG2L4ePAPiXCA", + "typesOfClient": "gtag", + "measurementId": "F40RN6STS2", + "firebaseAppId": "", + "blockPageViewEvent": true, + "extendPageViewParams": true, + "sendUserId": true, + "eventFilteringOption": "disable", + "whitelistedEvents": [{ "eventName": "" }], + "blacklistedEvents": [{ "eventName": "" }], + "useNativeSDK": { + "web": false + }, + "debugMode": false, + "oneTrustCookieCategories": { "web": [{ "oneTrustCookieCategory": "" }] }, + "enableServerSideIdentify": false, + "sendLoginSignup": false, + "generateLead": false + }, + "result": false, + "err": [ + "measurementId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(G-.{1,100})$|^$\"" + ] + }, + { + "config": { + "apiSecret": "QyWIGHj8QhG2L4ePAPiXCA", + "typesOfClient": "firebase", + "measurementId": "G-T40PE6KET4", + "firebaseAppId": "2:637908496727:web:a4284b4c99e329d5", + "blockPageViewEvent": true, + "extendPageViewParams": true, + "sendUserId": true, + "eventFilteringOption": "disable", + "whitelistedEvents": [{ "eventName": "" }], + "blacklistedEvents": [{ "eventName": "" }], + "useNativeSDK": { + "web": false + }, + "debugMode": false, + "oneTrustCookieCategories": { "web": [{ "oneTrustCookieCategory": "" }] }, + "enableServerSideIdentify": false, + "sendLoginSignup": false, + "generateLead": false + }, + "result": true + }, + { + "config": { + "apiSecret": "QyWIGHj8QhG2L4ePAPiXCA", + "measurementId": "G-T40PE6KET4", + "blockPageViewEvent": true, + "extendPageViewParams": true, + "sendUserId": true, + "eventFilteringOption": "disable", + "whitelistedEvents": [{ "eventName": "" }], + "blacklistedEvents": [{ "eventName": "" }], + "useNativeSDK": { + "web": true + }, + "debugMode": true, + "oneTrustCookieCategories": { "web": [{ "oneTrustCookieCategory": "" }] }, + "enableServerSideIdentify": false, + "sendLoginSignup": false, + "generateLead": false + }, + "result": true + }, + { + "config": { + "apiSecret": "QyWIGHj8QhG2L4ePAPiXCA", + "typesOfClient": "firebase", + "measurementId": "G-T40PE6KET4", + "blockPageViewEvent": true, + "extendPageViewParams": true, + "sendUserId": true, + "eventFilteringOption": "disable", + "whitelistedEvents": [{ "eventName": "" }], + "blacklistedEvents": [{ "eventName": "" }], + "useNativeSDK": { + "web": false + }, + "debugMode": false, + "oneTrustCookieCategories": { "web": [{ "oneTrustCookieCategory": "" }] }, + "enableServerSideIdentify": false, + "sendLoginSignup": false, + "generateLead": false + }, + "result": true + }, + { + "config": { + "apiSecret": "QyWIGHj8QhG2L4ePAPiXCA", + "measurementId": "G-T40PE6KET4", + "typesOfClient": "firebase", + "firebaseAppId": "2:637908496727:web:a4284b4c99e329d5", + "blockPageViewEvent": true, + "extendPageViewParams": true, + "sendUserId": true, + "eventFilteringOption": "disable", + "whitelistedEvents": [{ "eventName": "" }], + "blacklistedEvents": [{ "eventName": "" }], + "useNativeSDK": { + "web": false + }, + "debugMode": false, + "oneTrustCookieCategories": { "web": [{ "oneTrustCookieCategory": "" }] }, + "enableServerSideIdentify": false, + "sendLoginSignup": false, + "generateLead": false + }, + "result": true + }, + { + "config": { + "apiSecret": "JjWUIHj4QhG2L7eZDZiXCA", + "typesOfClient": "gtag", + "blockPageViewEvent": false, + "extendPageViewParams": false, + "sendUserId": false, + "eventFilteringOption": "disable", + "measurementId": "G-F40RN6STS2", + "whitelistedEvents": [{ "eventName": "" }], + "blacklistedEvents": [{ "eventName": "" }], + "firebaseAppId": "", + "useNativeSDK": { + "web": false + }, + "debugMode": false, + "oneTrustCookieCategories": { "web": [{ "oneTrustCookieCategory": "" }] }, + "enableServerSideIdentify": true, + "sendLoginSignup": true, + "newOrExistingUserTrait": "firstLogin", + "loginSignupMethod": "method", + "generateLead": true, + "generateLeadValueTrait": "value", + "generateLeadCurrencyTrait": "currency" + }, + "result": true + } +] diff --git a/test/data/validation/destinations/gcs.json b/test/data/validation/destinations/gcs.json new file mode 100644 index 000000000..86ac2033a --- /dev/null +++ b/test/data/validation/destinations/gcs.json @@ -0,0 +1,46 @@ +[ + { + "config": { + "bucketName": "event-logs", + "prefix": "sb", + "credentials": "{\n \"type\": \"service_account\",\n \"project_id\": \"zendeskapp-52b17\",\n \"private_key_id\": \"5c06b82205fee64749cf031ec7b3ff0bafca8c12\",\n \"private_key\": \"-----BEGIN PRIVATE KEY-----\\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC3OaB3J8FIcsT8\\nUL1e8TruKgZDNOdAbigSteA70Ptzv2N37+LtvRENpNVsEGkP2PPu53er8jlUV9PR\\nrBXpRjS06rFhld6E2wZ2Psp5XAdHTSLTpfIX6Ly4hyn5BlhTlT0ZEEjBqvi4q6TL\\nw369rVJaymzo3U+6E617Ggt2E5E0ZfjYoEXKF2FWf7G79EBen+sVu2YrEz80S/9E\\nhrsiXGbfApLcs/CkL7eEbFmfspW5niCoYKca7AhG0uHQC4yfH9w1GbZtRvsc3dij\\npwL3+iYpUMAwfQkDCbuCjFqgpSxFzlD88Px6q5J6W59y0k0gO6bkouxL6NNPoOME\\nUNGi/noPAgMBAAECggEAGof9LOk0SzsskVlYT+cAFgbpeOeFtDuJ5kpbdGiVU1Q7\\ni91QJQW+HOrT6VMnq3RKajsuhdb20eLqg093Asbi5e71YtXn7qFP5Q/APjotvEzh\\nRfgfFLLjn5gZjfuLDwYACWDlcCnDh0DPhZ6YJntyU+mWQ1KcngCwcQVl8yHv4kAX\\nmE+C8hb12IDEsX1rB09DJSt0FqMFvwJP+PGFbOSefSykbdE6bsJpKgGlHO9FDxtk\\nieZcm2ODqocvbjWko93yWZ/Ozun9zx/59d3DVBd/EEmbzFq/OV+m7ZmcXw5mOZmg\\ntYNvQhPoXHLJQ91DE58z0Hqo5HYjys40zrLnST7A3QKBgQDpDoz8ZL2o7KK9Iyl9\\npm8xXCWxflep1w6gXjksrjsIbmw2+x3mTsmVW6i++w6eea7tGcIVQvuQlCKU+FnR\\n0eHzdrhpWrkIuLegdZ46sguXEUxcU9j6heR3aKE//z/0CIHA4hyvxJtUTf0slErJ\\n09I6xOdgVkWZctnqijSV85VejQKBgQDJQzoszq6Fm/kPNNi4Z2gZlRQq+yievNQV\\nO+4hrcONoHZNyYYHGMYqmbyZu5doltgYyMdDXzMMReJPjCnOE3McA7x5PE9jLiKa\\nMp5lcfUS81RODE+me7OA6rfIUkoNMJxYhV0TSZVBXpAxDoF/r9IZ0tQbiGRXkbhr\\nGyhAYAOSCwKBgQCodcgbOIaPcF1B8gSvunptZ3onjne3YKhF61XQojAxq/+0zleS\\nfijgOV0Ej1zF2JdE83WDAOPuYeWNYOcr71YwMgSiwt01HLA+4EX7j28pR2u24TTa\\nAaZfWdYU+GA1+WAxGEA8HRVaHvV+H8LfmKlBqcrFrBarEIXMLxJLwcKakQKBgFmf\\nlkhdwVm+GyqqXdfANJsvx8tcDLqjW84Y4fIdbveifQwmsYh3f8d4roPHBaWNhq2C\\nuzlFK3ZLqHvD7tnVz2yqPUO/l5qS8NW5tM9376qAsQoQcWexrj26SBzsiA1XmEfT\\nG597JPv3ID64NvKlWOom+E1Kb2SPf5Ayh7ojB3QBAoGAF6Jbeo3X+H12EOrPzVIV\\neUcJO2yWt7XNrGoXgLd7Hb4R9BNl8AAJqaZ9fvpTXCWNNRbaR829wuLecrc+MOJF\\n6N8Cd1s+Mjih4FE8OKVbrtc0IgM+hh2ryGrvRRF9SIDLOrEDxnsqLOHDld8FEIfl\\naOoM4S4ZRMyf2VvgqH2Lnsw=\\n-----END PRIVATE KEY-----\\n\",\n \"client_email\": \"rudderstack@zendeskapp-52b17.iam.gserviceaccount.com\",\n \"client_id\": \"101630212963057039580\",\n \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n \"token_uri\": \"https://oauth2.googleapis.com/token\",\n \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n \"client_x509_cert_url\": \"https://www.googleapis.com/robot/v1/metadata/x509/rudderstack%40zendeskapp-52b17.iam.gserviceaccount.com\"\n}", + "testConnection": false + }, + "result": true + }, + { + "config": { + "bucketName": "rudderstack-test-1", + "prefix": "rudder", + "credentials": "" + }, + "result": true + }, + { + "config": { + "bucketName": "Active Campaign NHN", + "prefix": "", + "credentials": "", + "testConnection": false, + "testConnectionTS": 1621944688891 + }, + "result": true + }, + { + "config": { + "bucketName": "fasdfsa", + "credentials": "{\nsadfas:\"asdf\"\n}" + }, + "result": true + }, + { + "config": { + "bucketName": "", + "credentials": "{\nsadfas:\"asdf\"\n}" + }, + "result": false, + "err": [ + "bucketName must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"" + ] + } +] diff --git a/src/validations/__tests__/validation_test_data/gcs_datalake_test.json b/test/data/validation/destinations/gcs_datalake.json similarity index 100% rename from src/validations/__tests__/validation_test_data/gcs_datalake_test.json rename to test/data/validation/destinations/gcs_datalake.json diff --git a/src/validations/__tests__/validation_test_data/google_ads_offline_conversions_test.json b/test/data/validation/destinations/google_ads_offline_conversions.json similarity index 100% rename from src/validations/__tests__/validation_test_data/google_ads_offline_conversions_test.json rename to test/data/validation/destinations/google_ads_offline_conversions.json diff --git a/src/validations/__tests__/validation_test_data/google_adwords_offline_conversions_test.json b/test/data/validation/destinations/google_adwords_offline_conversions.json similarity index 100% rename from src/validations/__tests__/validation_test_data/google_adwords_offline_conversions_test.json rename to test/data/validation/destinations/google_adwords_offline_conversions.json diff --git a/test/data/validation/destinations/google_cloud_function.json b/test/data/validation/destinations/google_cloud_function.json new file mode 100644 index 000000000..bd64dc495 --- /dev/null +++ b/test/data/validation/destinations/google_cloud_function.json @@ -0,0 +1,22 @@ +[ + { + "config": { + "triggerType": "Http", + "googleCloudFunctionUrl": "http://sample.com/url", + "apiKeyId": "1d6583b196d34de28a3g19ahadde4b0z" + }, + "result": true + }, + { + "config": { + "triggerType": "Http", + "googleCloudFunctionUrl": "htp://sample.com/url", + "apiKeyId": "1d6583b196d34de28a3g19ahadde4b0z" + }, + "result": false, + "err": [ + "googleCloudFunctionUrl must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$\"", + " must match \"then\" schema" + ] + } +] diff --git a/test/data/validation/destinations/googleads.json b/test/data/validation/destinations/googleads.json new file mode 100644 index 000000000..fe1ac21da --- /dev/null +++ b/test/data/validation/destinations/googleads.json @@ -0,0 +1,209 @@ +[ + { + "config": { + "conversionID": "AW-12321", + "eventFilteringOption": "whitelistedEvents", + "defaultPageConversion": "poiiopqwewqwwqewq", + "sendPageView": true, + "conversionLinker": true, + "disableAdPersonalization": true, + "whitelistedEvents": [ + { + "eventName": "login page" + } + ], + "blacklistedEvents": [ + { + "eventName": "" + } + ], + "pageLoadConversions": [ + { + "conversionLabel": "ofwinqeoqwefnoewqo9", + "name": "test" + } + ], + "clickEventConversions": [ + { + "conversionLabel": "1qinqwqoqewfnoewqo9", + "name": "clickTest" + } + ], + "useNativeSDK": { + "web": true + }, + "dynamicRemarketing": { + "web": true + }, + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "Sales" + } + ] + } + }, + "result": true + }, + { + "config": { + "conversionID": "AW-12321", + "eventFilteringOption": "whitelistedEvents", + "defaultPageConversion": "poiiopqwewqwwqewq", + "sendPageView": true, + "conversionLinker": true, + "disableAdPersonalization": true, + "whitelistedEvents": [ + { + "eventName": "login page" + } + ], + "blacklistedEvents": [ + { + "eventName": "" + } + ], + "pageLoadConversions": [ + { + "conversionLabel": "ofwinqeoqwefnoewqo9", + "name": "test" + }, + { + "conversionLabel": "idwhcbiwdfbciwdfw", + "name": "entry" + } + ], + "clickEventConversions": [ + { + "conversionLabel": "1qinqwqoqewfnoewqo9", + "name": "clickTest" + }, + { + "conversionLabel": "qwertyasagehrstshregs", + "name": "clickedPrev" + } + ], + "useNativeSDK": { + "web": true + }, + "dynamicRemarketing": { + "web": true + }, + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "Business Tool" + } + ] + } + }, + "result": true + }, + { + "config": { + "conversionID": "AW-114432", + "useNativeSDK": { + "web": true + }, + "dynamicRemarketing": { + "web": true + } + }, + "result": true + }, + { + "config": { + "eventFilteringOption": "whitelistedEvents", + "defaultPageConversion": "poiiopqwewqwwqewq", + "sendPageView": true, + "conversionLinker": true, + "disableAdPersonalization": true, + "whitelistedEvents": [ + { + "eventName": "login page" + } + ], + "blacklistedEvents": [ + { + "eventName": "" + } + ], + "pageLoadConversions": [ + { + "conversionLabel": "ofwinqeoqwefnoewqo9", + "name": "test" + } + ], + "clickEventConversions": [ + { + "conversionLabel": "1qinqwqoqewfnoewqo9", + "name": "clickTest" + } + ], + "useNativeSDK": { + "web": true + }, + "dynamicRemarketing": { + "web": true + }, + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "Sales" + } + ] + } + }, + "result": false, + "err": [" must have required property 'conversionID'"] + }, + { + "config": { + "conversionID": "AW-12321", + "eventFilteringOption": "whitelistedEvents", + "defaultPageConversion": "poiiopqwewqwwqewq", + "sendPageView": { + "sendPageView": true + }, + "conversionLinker": true, + "disableAdPersonalization": true, + "whitelistedEvents": [ + { + "eventName": "login page" + } + ], + "blacklistedEvents": [ + { + "eventName": "" + } + ], + "pageLoadConversions": [ + { + "conversionLabel": "ofwinqeoqwefnoewqo9", + "name": "test" + } + ], + "clickEventConversions": [ + { + "conversionLabel": "1qinqwqoqewfnoewqo9", + "name": "clickTest" + } + ], + "useNativeSDK": { + "web": true + }, + "dynamicRemarketing": { + "web": true + }, + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "Marketing" + } + ] + } + }, + "result": false, + "err": ["sendPageView must be boolean"] + } +] diff --git a/test/data/validation/destinations/gtm.json b/test/data/validation/destinations/gtm.json new file mode 100644 index 000000000..80152fa2d --- /dev/null +++ b/test/data/validation/destinations/gtm.json @@ -0,0 +1,77 @@ +[ + { + "config": { + "containerID": "GTM-ADDA", + "serverUrl": "https://gtm.rudder.com", + "eventFilteringOption": "whitelistedEvents", + "whitelistedEvents": [ + { + "eventName": "registration" + } + ], + "blacklistedEvents": [ + { + "eventName": "" + } + ], + "useNativeSDK": { + "web": true + }, + "oneTrustCookieCategories": { + "web": [] + } + }, + "result": true + }, + { + "config": { + "serverUrl": "https://gtm.rudder.com", + "eventFilteringOption": "whitelistedEvents", + "whitelistedEvents": [ + { + "eventName": "registration" + } + ], + "blacklistedEvents": [ + { + "eventName": "" + } + ], + "useNativeSDK": { + "web": true + }, + "oneTrustCookieCategories": { + "web": [] + } + }, + "result": false, + "err": [" must have required property 'containerID'"] + }, + { + "config": { + "containerID": "GTM-ADDA", + "serverUrl": "badurl", + "eventFilteringOption": "whitelistedEvents", + "whitelistedEvents": [ + { + "eventName": "registration" + } + ], + "blacklistedEvents": [ + { + "eventName": "" + } + ], + "useNativeSDK": { + "web": true + }, + "oneTrustCookieCategories": { + "web": [] + } + }, + "result": false, + "err": [ + "serverUrl must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$\"" + ] + } +] diff --git a/src/validations/__tests__/validation_test_data/hs_test.json b/test/data/validation/destinations/hs.json similarity index 100% rename from src/validations/__tests__/validation_test_data/hs_test.json rename to test/data/validation/destinations/hs.json diff --git a/test/data/validation/destinations/iterable.json b/test/data/validation/destinations/iterable.json new file mode 100644 index 000000000..c1692ac1b --- /dev/null +++ b/test/data/validation/destinations/iterable.json @@ -0,0 +1,93 @@ +[ + { + "config": { + "apiKey": "73983282843839749873", + "mapToSingleEvent": true, + "trackAllPages": false, + "trackCategorisedPages": true, + "trackNamedPages": true, + "useNativeSDK": { + "web": true + }, + "initialisationIdentifier": { + "web": "email" + }, + "getInAppEventMapping": { + "web": [ + { + "eventName": "sale notification" + }, + { + "eventName": "festival discount" + } + ] + }, + "purchaseEventMapping": { + "web": [ + { + "eventName": "Checkout Done" + } + ] + }, + "sendTrackForInapp": { + "web": true + }, + "animationDuration": { + "web": "200" + }, + "displayInterval": { + "web": "2500" + }, + "onOpenScreenReaderMessage": { + "web": "" + }, + "onOpenNodeToTakeFocus": { + "web": "" + }, + "packageName": { + "web": "my-package-test" + }, + "rightOffset": { + "web": "15" + }, + "topOffset": { + "web": "11" + }, + "bottomOffset": { + "web": "24%" + }, + "handleLinks": { + "web": "open-all-new-tab" + }, + "closeButtonColor": { + "web": "blue" + }, + "closeButtonSize": { + "web": "" + }, + "closeButtonColorTopOffset": { + "web": "3%" + }, + "closeButtonColorSideOffset": { + "web": "2%" + }, + "iconPath": { + "web": "" + }, + "isRequiredToDismissMessage": { + "web": true + }, + "closeButtonPosition": { + "web": "" + }, + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "" + } + ] + } + }, + "result": true + } +] diff --git a/test/data/validation/destinations/lambda.json b/test/data/validation/destinations/lambda.json new file mode 100644 index 000000000..25c45d146 --- /dev/null +++ b/test/data/validation/destinations/lambda.json @@ -0,0 +1,53 @@ +[ + { + "config": { + "accessKeyId": "bSjsdGYsOo9sjw23Shj", + "accessKey": "1d6583b196d34de28a3g19ahadde4b0z", + "roleBasedAuth": false, + "region": "us-east-1" + }, + "result": false, + "err": [" must have required property 'lambda'"] + }, + { + "config": { + "accessKeyId": "bSjsdGYsOo9sjw23-_(Shj", + "accessKey": "1d6583b196d34de28a3g19ahadde4b0z", + "roleBasedAuth": false, + "region": "us-east-1", + "lambda": "myFunction" + }, + "result": true + }, + { + "config": { + "accessKeyId": "bSjsdGYsOo9sjw23-_(Shj", + "accessKey": "1d6583b196d34de28a3g19ahadde4b0z", + "roleBasedAuth": false, + "region": "ufgrgrt", + "lambda": "myFunction" + }, + "result": true + }, + { + "config": { + "iamRoleARN": "arn:aws:iam::123456789012:role/LambdaAccess", + "roleBasedAuth": true, + "region": "us-east-2", + "lambda": "myFunction", + "maxBatchSize": "50" + }, + "result": true + }, + { + "config": { + "iamRoleARN": "arn:aws:iam::123456789012:role/LambdaAccess", + "roleBasedAuth": true, + "region": "us-east-2", + "lambda": "myFunction", + "maxBatchSize": "vsrbsr" + }, + "result": false, + "err": ["maxBatchSize must match pattern \"^$|^[1-9]\\d*$\""] + } +] diff --git a/src/validations/__tests__/validation_test_data/livechat_test.json b/test/data/validation/destinations/livechat.json similarity index 100% rename from src/validations/__tests__/validation_test_data/livechat_test.json rename to test/data/validation/destinations/livechat.json diff --git a/src/validations/__tests__/validation_test_data/mailjet.test.json b/test/data/validation/destinations/mailjet.json similarity index 100% rename from src/validations/__tests__/validation_test_data/mailjet.test.json rename to test/data/validation/destinations/mailjet.json diff --git a/src/validations/__tests__/validation_test_data/mailjet_test.json b/test/data/validation/destinations/mailjet.test.json similarity index 100% rename from src/validations/__tests__/validation_test_data/mailjet_test.json rename to test/data/validation/destinations/mailjet.test.json diff --git a/test/data/validation/destinations/marketo_static_list.json b/test/data/validation/destinations/marketo_static_list.json new file mode 100644 index 000000000..b8e98946d --- /dev/null +++ b/test/data/validation/destinations/marketo_static_list.json @@ -0,0 +1,32 @@ +[ + { + "config": { + "clientId": "893yh2ef823yf0", + "clientSecret": "238923hr2o08f", + "accountId": "di0e298dy23r982f", + "staticListId": "9031" + }, + "result": true + }, + { + "config": { + "clientId": "32313124", + "clientSecret": "113442", + "accountId": "aaa", + "staticListId": "9031" + }, + "result": true + }, + { + "config": { + "clientId": "893yh2ef823yf0", + "clientSecret": "238923hr2o08f", + "accountId": "", + "staticListId": "9031" + }, + "result": false, + "err": [ + "accountId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"" + ] + } +] diff --git a/test/data/validation/destinations/matomo.json b/test/data/validation/destinations/matomo.json new file mode 100644 index 000000000..dbdf3e616 --- /dev/null +++ b/test/data/validation/destinations/matomo.json @@ -0,0 +1,187 @@ +[ + { + "config": { + "siteId": "1", + "serverUrl": "com.yara.fw.stage", + "eventsMapToGoalId": [ + { + "from": "Set GoalId", + "to": "123" + } + ], + "eventsToStandard": [ + { + "from": "Track Ping", + "to": "ping" + } + ], + "trackAllContentImpressions": true, + "trackVisibleContentImpressions": true, + "checkOnScroll": true, + "timeIntervalInMs": "15", + "logAllContentBlocksOnPage": true, + "enableHeartBeatTimer": true, + "activeTimeInseconds": "25", + "enableLinkTracking": true, + "disablePerformanceTracking": true, + "enableCrossDomainLinking": true, + "setCrossDomainLinkingTimeout": true, + "timeout": "10", + "getCrossDomainLinkingUrlParameter": true, + "disableBrowserFeatureDetection": true + }, + "result": true + }, + { + "config": { + "siteId": "1", + "serverUrl": "com.yara.fw.stage", + "eventsMapToGoalId": [ + { + "from": "Set GoalId", + "to": "123" + } + ], + "eventsToStandard": [ + { + "from": "Track Ping", + "to": "ping" + } + ], + "trackAllContentImpressions": true, + "trackVisibleContentImpressions": true, + "checkOnScroll": false, + "timeIntervalInMs": "15b", + "logAllContentBlocksOnPage": true, + "enableHeartBeatTimer": true, + "activeTimeInseconds": "25", + "enableLinkTracking": true, + "disablePerformanceTracking": true, + "enableCrossDomainLinking": true, + "setCrossDomainLinkingTimeout": true, + "timeout": "10", + "getCrossDomainLinkingUrlParameter": true, + "disableBrowserFeatureDetection": true + }, + "result": false, + "err": [ + "timeIntervalInMs must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$\"" + ] + }, + { + "config": { + "siteId": "3", + "serverUrl": "com.yara.fw.stage", + "eventsMapToGoalId": [ + { + "from": "Set GoalId", + "to": "123" + } + ], + "eventsToStandard": [ + { + "from": "Track Ping", + "to": "ping" + }, + { + "from": "Test", + "to": "Track Link" + } + ], + "trackAllContentImpressions": true, + "trackVisibleContentImpressions": true, + "checkOnScroll": true, + "timeIntervalInMs": "15", + "logAllContentBlocksOnPage": true, + "enableHeartBeatTimer": true, + "activeTimeInseconds": "", + "enableLinkTracking": true, + "disablePerformanceTracking": true, + "enableCrossDomainLinking": true, + "setCrossDomainLinkingTimeout": true, + "timeout": "10", + "getCrossDomainLinkingUrlParameter": true, + "disableBrowserFeatureDetection": true + }, + "result": false, + "err": [ + "activeTimeInseconds must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$\"" + ] + }, + { + "config": { + "siteId": "3", + "serverUrl": "com.yara.fw.stage", + "eventsMapToGoalId": [ + { + "from": "Set GoalId", + "to": "123" + } + ], + "eventsToStandard": [ + { + "from": "Track Ping", + "to": "ping" + }, + { + "from": "Test", + "to": "Track Link" + } + ], + "trackAllContentImpressions": true, + "trackVisibleContentImpressions": true, + "checkOnScroll": true, + "timeIntervalInMs": "15", + "logAllContentBlocksOnPage": true, + "enableHeartBeatTimer": true, + "activeTimeInseconds": "5", + "enableLinkTracking": true, + "disablePerformanceTracking": false, + "enableCrossDomainLinking": false, + "setCrossDomainLinkingTimeout": true, + "timeout": "", + "getCrossDomainLinkingUrlParameter": false, + "disableBrowserFeatureDetection": false + }, + "result": false, + "err": ["timeout must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$\""] + }, + { + "config": { + "serverUrl": "com.yara.fw.stage", + "eventsMapToGoalId": [], + "eventsToStandard": [], + "trackAllContentImpressions": false, + "trackVisibleContentImpressions": false, + "logAllContentBlocksOnPage": false, + "enableHeartBeatTimer": false, + "enableLinkTracking": false, + "disablePerformanceTracking": false, + "enableCrossDomainLinking": false, + "setCrossDomainLinkingTimeout": false, + "getCrossDomainLinkingUrlParameter": false, + "disableBrowserFeatureDetection": false + }, + "result": false, + "err": [" must have required property 'siteId'"] + }, + { + "config": { + "siteId": "34b", + "serverUrl": "com.yara.fw.stage", + "eventsMapToGoalId": [], + "eventsToStandard": [], + "trackAllContentImpressions": true, + "trackVisibleContentImpressions": false, + "logAllContentBlocksOnPage": false, + "enableHeartBeatTimer": false, + "enableLinkTracking": false, + "disablePerformanceTracking": false, + "enableCrossDomainLinking": false, + "setCrossDomainLinkingTimeout": false, + "getCrossDomainLinkingUrlParameter": false, + "disableBrowserFeatureDetection": false + }, + "result": true + } +] diff --git a/test/data/validation/destinations/mautic.json b/test/data/validation/destinations/mautic.json new file mode 100644 index 000000000..6b50db0fc --- /dev/null +++ b/test/data/validation/destinations/mautic.json @@ -0,0 +1,55 @@ +[ + { + "config": { + "userName": "abc@work.com", + "password": "1234yui", + "subDomainName": "work", + "lookUpField": "email" + }, + "result": true + }, + { + "config": { + "userName": "abc@test.com", + "password": "1234yui", + "subDomainName": "work", + "lookUpField": "" + }, + "result": false, + "err": [ + "lookUpField must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"" + ] + }, + { + "config": { + "userName": "abc@work.com", + "password": "", + "subDomainName": "work", + "lookUpField": "email" + }, + "result": false, + "err": ["password must match pattern \"(^env[.].+)|.+\""] + }, + { + "config": { + "userName": "abc@work.com", + "password": "1234yui", + "subDomainName": "", + "lookUpField": "email" + }, + "result": false, + "err": [ + "subDomainName must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"" + ] + }, + { + "config": { + "userName": "", + "password": "1234yui", + "subDomainName": "work", + "lookUpField": "email" + }, + "result": false, + "err": ["userName must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\""] + } +] diff --git a/test/data/validation/destinations/microsoft_clarity.json b/test/data/validation/destinations/microsoft_clarity.json new file mode 100644 index 000000000..77c0373cc --- /dev/null +++ b/test/data/validation/destinations/microsoft_clarity.json @@ -0,0 +1,60 @@ +[ + { + "config": { + "cookieConsent": true, + "eventFilteringOption": "disable", + "whitelistedEvents": [ + { + "eventName": "" + } + ], + "blacklistedEvents": [ + { + "eventName": "" + } + ] + }, + "result": false, + "err": [" must have required property 'projectId'"] + }, + { + "config": { + "projectId": "", + "cookieConsent": true, + "eventFilteringOption": "disable", + "whitelistedEvents": [ + { + "eventName": "" + } + ], + "blacklistedEvents": [ + { + "eventName": "" + } + ] + }, + "result": false, + "err": [ + "projectId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"" + ] + }, + { + "config": { + "projectId": "ej81fqgqfc", + "cookieConsent": "true", + "eventFilteringOption": "disable", + "whitelistedEvents": [ + { + "eventName": "" + } + ], + "blacklistedEvents": [ + { + "eventName": "" + } + ] + }, + "result": false, + "err": ["cookieConsent must be boolean"] + } +] diff --git a/test/data/validation/destinations/monday.json b/test/data/validation/destinations/monday.json new file mode 100644 index 000000000..0a995412f --- /dev/null +++ b/test/data/validation/destinations/monday.json @@ -0,0 +1,71 @@ +[ + { + "config": { + "apiToken": "", + "boardId": "483949233", + "groupTitle": "", + "columnToPropertyMapping": [ + { + "from": "Work Status", + "to": "status" + } + ], + "whitelistedEvents": [{ "eventName": "" }] + }, + "result": false, + "err": ["apiToken must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,300})$\""] + }, + { + "config": { + "apiToken": "eywwakzdjiksjhriherniSFsjhnskdojsSDFhsdns.sSRSSREWdnfnsjshfjsjskshfiskskdS__Fskilhih", + "boardId": "", + "groupTitle": "", + "columnToPropertyMapping": [ + { + "from": "Work Status", + "to": "status" + } + ], + "whitelistedEvents": [{ "eventName": "Product added to cart" }] + }, + "result": false, + "err": ["boardId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\""] + }, + { + "config": { + "apiToken": "eywwakzdjiksjhriherniSFsjhnskdojsSDFhsdns.sSRSSREWdnfnsjshfjsjskshfiskskdS__Fskilhih", + "boardId": "323826323", + "groupTitle": false, + "columnToPropertyMapping": [ + { + "from": "Work Status", + "to": "status" + } + ], + "whitelistedEvents": [ + { "eventName": "Product purchased" }, + { "eventName": "Product added to cart" } + ] + }, + "result": false, + "err": ["groupTitle must be string"] + }, + { + "config": { + "apiToken": "eywwakzdjiksjhriherniSFsjhnskdojsSDFhsdns.sSRSSREWdnfnsjshfjsjskshfiskskdS__Fskilhih", + "boardId": "323826323", + "groupTitle": "Active deals", + "columnToPropertyMapping": [ + { + "from": "Work Status", + "to": "status" + } + ], + "whitelistedEvents": [ + { "eventName": "Product purchased" }, + { "eventName": "Product added to cart" } + ] + }, + "result": true + } +] diff --git a/src/validations/__tests__/validation_test_data/mouseflow_test.json b/test/data/validation/destinations/mouseflow.json similarity index 100% rename from src/validations/__tests__/validation_test_data/mouseflow_test.json rename to test/data/validation/destinations/mouseflow.json diff --git a/test/data/validation/destinations/mp.json b/test/data/validation/destinations/mp.json new file mode 100644 index 000000000..d88f4be8a --- /dev/null +++ b/test/data/validation/destinations/mp.json @@ -0,0 +1,171 @@ +[ + { + "config": { + "token": "2de18c6hf6v45201ab43d2344b0c128x", + "apiSecret": "1c078994c2141897ffaf71c36a75v227", + "dataResidency": "us", + "people": false, + "setAllTraitsByDefault": false, + "consolidatedPageCalls": true, + "trackCategorizedPages": false, + "trackNamedPages": false, + "sourceName": "AWS", + "crossSubdomainCookie": true, + "persistence": "cookie", + "secureCookie": true, + "superProperties": [ + { + "property": "super001" + } + ], + "peopleProperties": [ + { + "property": "maidenName" + } + ], + "eventIncrements": [ + { + "property": "triggerName" + } + ], + "propIncrements": [ + { + "property": "extraProps" + } + ], + "groupKeySettings": [ + { + "groupKey": "gg101" + } + ], + "useNativeSDK": { + "android": false + }, + "blacklistedEvents": [ + { + "eventName": "black" + } + ], + "whitelistedEvents": [ + { + "eventName": "white" + } + ], + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "Marketing" + } + ] + } + }, + "result": true + }, + { + "config": { + "apiSecret": "8ac88f162ddfefd91156565c431611fb", + "dataResidency": "us", + "groupKeySettings": [ + { + "groupKey": "admissions" + } + ] + }, + "result": false, + "err": [" must have required property 'token'"] + }, + { + "config": { + "token": "2de18c6hf6v45201ab43d2344b0c128x", + "dataResidency": "us", + "people": false, + "setAllTraitsByDefault": false, + "consolidatedPageCalls": true, + "trackCategorizedPages": false, + "trackNamedPages": false, + "crossSubdomainCookie": false, + "persistence": "localStorage", + "secureCookie": false, + "eventFilteringOption": "disable", + "useNativeSDK": { + "web": false + }, + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "Marketing" + } + ] + } + }, + "result": true + }, + { + "config": { + "token": "2de18c6hf6v45201ab43d2344b0c128x", + "dataResidency": "us", + "people": true, + "trackNamedPages": false, + "crossSubdomainCookie": false, + "persistence": "localStorage", + "secureCookie": false, + "eventFilteringOption": "disable", + "useNativeSDK": { + "web": false + }, + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "Marketing" + } + ] + } + }, + "result": true + }, + { + "config": { + "token": "2de18c6hf6v45201ab43d2344b0c128x", + "dataResidency": "us", + "people": false, + "setAllTraitsByDefault": false, + "consolidatedPageCalls": false, + "trackCategorizedPages": false, + "trackNamedPages": { + "name": true + }, + "crossSubdomainCookie": false, + "persistence": "localStorage", + "secureCookie": false, + "eventFilteringOption": "disable", + "useNativeSDK": { + "web": false + } + }, + "result": false, + "err": ["trackNamedPages must be boolean"] + }, + { + "config": { + "token": "2de18c6hf6v45201ab43d2344b0c128x", + "dataResidency": "us", + "people": false, + "setAllTraitsByDefault": false, + "consolidatedPageCalls": false, + "trackCategorizedPages": false, + "trackNamedPages": false, + "sourceName": "qflkmnzhahdgfhdhfe9he9wfhwe9fhweqdwgygqdwiqflkmnzhahdgfhdhfe9he9wfhwe9fhweqdwgygqdwiqflkmnzhahdgfhdhfe9he9wfhwe9fhweqdwgygqdwi", + "crossSubdomainCookie": false, + "persistence": "localStorage", + "secureCookie": false, + "eventFilteringOption": "disable", + "useNativeSDK": { + "web": false + } + }, + "result": false, + "err": [ + "sourceName must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$\"" + ] + } +] diff --git a/test/data/validation/destinations/mssql.json b/test/data/validation/destinations/mssql.json new file mode 100644 index 000000000..4800b22f4 --- /dev/null +++ b/test/data/validation/destinations/mssql.json @@ -0,0 +1,276 @@ +[ + { + "config": { + "host": "test-host", + "database": "test-database", + "user": "test-user", + "password": "test-password", + "port": "0000", + "sslMode": "disable", + "bucketProvider": "S3", + "syncFrequency": "30", + "useRudderStorage": false, + "bucketName": "test-bucket", + "accessKeyID": "test-access-key-id", + "accessKey": "test-access-key" + }, + "result": true + }, + { + "config": { + "host": "test-host", + "database": "test-database", + "user": "test-user", + "password": "test-password", + "port": "0000", + "sslMode": "disable", + "syncFrequency": "30", + "useRudderStorage": false, + "bucketProvider": "GCS", + "bucketName": "test-bucket", + "endPoint": "", + "useSSL": true, + "credentials": "{}", + "excludeWindow": { + "excludeWindowStartTime": "", + "excludeWindowEndTime": "" + }, + "syncStartAt": "16:30" + }, + "result": true + }, + { + "config": { + "host": "test-host", + "database": "test-database", + "user": "test-user", + "password": "test-password", + "port": "0000", + "sslMode": "disable", + "syncFrequency": "30", + "useRudderStorage": false, + "bucketProvider": "AZURE_BLOB", + "containerName": "test-container", + "accountName": "test-account-name", + "accountKey": "test-azure-account-key", + "useSSL": true + }, + "result": true + }, + { + "config": { + "host": "test-host", + "database": "test-database", + "user": "test-user", + "password": "test-password", + "port": "0000", + "sslMode": "disable", + "syncFrequency": "30", + "useRudderStorage": false, + "bucketProvider": "AZURE_BLOB", + "containerName": "test-container", + "accountName": "test-account-name", + "accountKey": "test-azure-account-key", + "sasToken": "", + "useSASTokens": false, + "useSSL": true + }, + "result": true + }, + { + "config": { + "host": "test-host", + "database": "test-database", + "user": "test-user", + "password": "test-password", + "port": "0000", + "sslMode": "disable", + "syncFrequency": "30", + "useRudderStorage": false, + "bucketProvider": "AZURE_BLOB", + "containerName": "test-container", + "accountName": "test-account-name", + "accountKey": "", + "sasToken": "test-azure-sas-token", + "useSASTokens": true, + "useSSL": true + }, + "result": true + }, + { + "config": { + "host": "test-host", + "database": "test-database", + "user": "test-user", + "password": "test-password", + "port": "0000", + "sslMode": "disable", + "syncFrequency": "30", + "useRudderStorage": false, + "bucketProvider": "AZURE_BLOB", + "containerName": "test-container", + "accountName": "test-account-name", + "accountKey": "test-azure-account-key", + "sasToken": "test-azure-sas-token", + "useSASTokens": true, + "useSSL": true + }, + "result": true + }, + { + "config": { + "host": "test-host", + "database": "test-database", + "user": "test-user", + "password": "test-password", + "port": "0000", + "sslMode": "disable", + "syncFrequency": "30", + "useRudderStorage": false, + "bucketProvider": "AZURE_BLOB", + "containerName": "test-container", + "accountName": "test-account-name", + "accountKey": "test-azure-account-key", + "sasToken": "test-azure-sas-token", + "useSASTokens": false, + "useSSL": true + }, + "result": true + }, + { + "config": { + "host": "test-host", + "database": "test-database", + "user": "test-user", + "password": "test-password", + "port": "0000", + "sslMode": "disable", + "syncFrequency": "30", + "useRudderStorage": false, + "bucketProvider": "AZURE_BLOB", + "containerName": "test-container", + "accountName": "test-account-name", + "useSSL": true + }, + "result": false, + "err": [ + " must have required property 'accountKey'", + " must have required property 'useSASTokens'", + " must have required property 'sasToken'", + " must match a schema in anyOf", + " must match \"then\" schema" + ] + }, + { + "config": { + "host": "test-host", + "database": "test-database", + "user": "test-user", + "password": "test-password", + "port": "0000", + "useRudderStorage": false, + "sslMode": "disable", + "bucketProvider": "MINIO", + "syncFrequency": "30", + "bucketName": "test-bucket", + "accessKeyID": "test-access-key-id", + "secretAccessKey": "test-secret-access-key", + "endPoint": "https:test.com", + "useSSL": true + }, + "result": true + }, + { + "config": { + "host": "test-host", + "database": "test-database", + "user": "test-user", + "password": "test-password", + "port": "0000", + "sslMode": "disable", + "bucketProvider": "S3", + "useRudderStorage": false, + "syncFrequency": "30", + "bucketName": "ab..ab", + "accessKeyID": "test-access-key-id", + "accessKey": "test-access-key" + }, + "result": false, + "err": [ + "bucketName must match pattern \"(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"", + " must match \"then\" schema" + ] + }, + { + "config": { + "host": "test-host", + "database": "test-database", + "user": "test-user", + "password": "test-password", + "port": "0000", + "sslMode": "disable", + "syncFrequency": "30", + "useRudderStorage": false, + "bucketProvider": "GCS", + "bucketName": "test..bucket", + "endPoint": "", + "useSSL": true, + "credentials": "{}", + "excludeWindow": { + "excludeWindowStartTime": "", + "excludeWindowEndTime": "" + }, + "syncStartAt": "16:30" + }, + "result": false, + "err": [ + "bucketName must match pattern \"(^env[.].+)|^((?!goog)(?!.*google.*)(?!^(\\d+(\\.|$)){4}$)(?!.*\\.\\..*)[a-z0-9][a-z0-9-._]{1,61}[a-z0-9])$\"", + " must match \"then\" schema" + ] + }, + { + "config": { + "host": "test-host", + "database": "test-database", + "user": "test-user", + "password": "test-password", + "port": "0000", + "sslMode": "disable", + "syncFrequency": "30", + "useRudderStorage": false, + "bucketProvider": "AZURE_BLOB", + "containerName": "test--container", + "accountName": "test-account-name", + "accountKey": "test-azure-account-key", + "useSSL": true + }, + "result": false, + "err": [ + "containerName must match pattern \"(^env[.].+)|^(?=.{3,63}$)[a-z0-9]+(-[a-z0-9]+)*$\"", + " must match \"then\" schema" + ] + }, + { + "config": { + "host": "test-host", + "database": "test-database", + "user": "test-user", + "password": "test-password", + "port": "0000", + "useRudderStorage": false, + "sslMode": "disable", + "bucketProvider": "MINIO", + "syncFrequency": "30", + "bucketName": "1.2.3.4", + "accessKeyID": "test-access-key-id", + "secretAccessKey": "test-secret-access-key", + "endPoint": "https:test.com", + "useSSL": true + }, + "result": false, + "err": [ + "bucketName must match pattern \"(^env[.].+)|^((?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"", + " must match \"then\" schema" + ] + } +] diff --git a/src/validations/__tests__/validation_test_data/new_relic_test.json b/test/data/validation/destinations/new_relic.json similarity index 100% rename from src/validations/__tests__/validation_test_data/new_relic_test.json rename to test/data/validation/destinations/new_relic.json diff --git a/test/data/validation/destinations/one_signal.json b/test/data/validation/destinations/one_signal.json new file mode 100644 index 000000000..4d9a122e0 --- /dev/null +++ b/test/data/validation/destinations/one_signal.json @@ -0,0 +1,34 @@ +[ + { + "config": { + "appId": "", + "emailDeviceType": false, + "smsDeviceType": false, + "eventAsTags": false, + "allowedProperties": [{ "propertyName": "" }] + }, + "result": false, + "err": ["appId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\""] + }, + { + "config": { + "appId": "7acc2c99-818c-4a28-b98e-6cd8a994da65", + "emailDeviceType": false, + "smsDeviceType": false, + "eventAsTags": false, + "allowedProperties": [{ "propertyName": "" }] + }, + "result": true + }, + { + "config": { + "appId": "7acc2c99-818c-4a28-b98e-6cd8a994da65", + "emailDeviceType": "false", + "smsDeviceType": false, + "eventAsTags": false, + "allowedProperties": [{ "propertyName": "" }] + }, + "result": false, + "err": ["emailDeviceType must be boolean"] + } +] diff --git a/src/validations/__tests__/validation_test_data/pagerduty_test.json b/test/data/validation/destinations/pagerduty.json similarity index 100% rename from src/validations/__tests__/validation_test_data/pagerduty_test.json rename to test/data/validation/destinations/pagerduty.json diff --git a/test/data/validation/destinations/persistIq.json b/test/data/validation/destinations/persistIq.json new file mode 100644 index 000000000..885d80f80 --- /dev/null +++ b/test/data/validation/destinations/persistIq.json @@ -0,0 +1,27 @@ +[ + { + "config": { + "apiKey": "893yh2ef823yf0", + "persistIqAttributesMapping": [ + { + "from": "useroccupation", + "to": "occupation" + } + ] + }, + "result": true + }, + { + "config": { + "apiKey": "", + "persistIqAttributesMapping": [ + { + "from": "useroccupation", + "to": "occupation" + } + ] + }, + "result": false, + "err": ["apiKey must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\""] + } +] diff --git a/src/validations/__tests__/validation_test_data/personalize_test.json b/test/data/validation/destinations/personalize.json similarity index 100% rename from src/validations/__tests__/validation_test_data/personalize_test.json rename to test/data/validation/destinations/personalize.json diff --git a/test/data/validation/destinations/pinterest_tag.json b/test/data/validation/destinations/pinterest_tag.json new file mode 100644 index 000000000..1bcf1d251 --- /dev/null +++ b/test/data/validation/destinations/pinterest_tag.json @@ -0,0 +1,136 @@ +[ + { + "config": { + "tagId": "123456789", + "advertiserId": "429047995", + "appId": "429047995", + "enhancedMatch": true, + "sendingUnHashedData": true, + "enableDeduplication": true, + "deduplicationKey": "messageId", + "customProperties": [ + { + "properties": "customProperty.customValue" + }, + { + "properties": "randomValue" + } + ], + "eventsMapping": [ + { + "from": "Track Ping", + "to": "ping" + } + ] + }, + "result": true + }, + { + "config": { + "tagId": "123456789abc", + "advertiserId": "429047995", + "appId": "429047995", + "sendingUnHashedData": false, + "enableDeduplication": true, + "deduplicationKey": "messageId", + "enhancedMatch": true, + "customProperties": [ + { + "properties": "presentclass" + }, + { + "properties": "presentgrade" + } + ], + "eventsMapping": [ + { + "from": "Track Ping", + "to": "ping" + } + ] + }, + "result": false, + "err": ["tagId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]*$\""] + }, + { + "config": { + "tagId": "123456789", + "advertiserId": "429047995abc", + "appId": "429047995", + "sendingUnHashedData": false, + "enhancedMatch": true, + "enableDeduplication": false, + "customProperties": [ + { + "properties": "presentclass" + }, + { + "properties": "presentgrade" + } + ], + "eventsMapping": [ + { + "from": "Track Ping", + "to": "ping" + } + ] + }, + "result": false, + "err": ["advertiserId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]*$\""] + }, + { + "config": { + "tagId": "123456789", + "advertiserId": "429047995", + "appId": "429047995abc", + "sendingUnHashedData": true, + "enableDeduplication": false, + "enhancedMatch": false, + "customProperties": [ + { + "properties": "presentclass" + }, + { + "properties": "presentgrade" + } + ], + "eventsMapping": [ + { + "from": "Track Ping", + "to": "ping" + } + ] + }, + "result": false, + "err": ["appId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]*$\""] + }, + { + "config": { + "tagId": "123456789", + "advertiserId": "429047995", + "appId": "429047995", + "sendingUnHashedData": true, + "enableDeduplication": true, + "deduplicationKey": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "enhancedMatch": false, + "customProperties": [ + { + "properties": "presentclass" + }, + { + "properties": "presentgrade" + } + ], + "eventsMapping": [ + { + "from": "Track Ping", + "to": "ping" + } + ] + }, + "result": false, + "err": [ + "deduplicationKey must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$\"" + ] + } +] diff --git a/test/data/validation/destinations/pipedream.json b/test/data/validation/destinations/pipedream.json new file mode 100644 index 000000000..bf32f989c --- /dev/null +++ b/test/data/validation/destinations/pipedream.json @@ -0,0 +1,90 @@ +[ + { + "config": { + "pipedreamUrl": "http://sample.com/url", + "pipedreamMethod": "GET", + "headers": [ + { + "from": "a", + "to": "a" + }, + { + "from": "b", + "to": "b" + }, + { + "from": "c", + "to": "c" + } + ] + }, + "result": true + }, + { + "config": { + "pipedreamMethod": "POST", + "headers": [ + { + "from": "a", + "to": "a" + }, + { + "from": "b", + "to": "b" + }, + { + "from": "c", + "to": "c" + } + ] + }, + "result": false, + "err": [" must have required property 'pipedreamUrl'"] + }, + { + "config": { + "pipedreamUrl": "https://pipedream.site/cd6e1235-142d-6355-155e-feee12cb3c49", + "pipedreamMethod": "POST" + }, + "result": true + }, + { + "config": { + "pipedreamUrl": "http://sample.com/api/hooks/url", + "pipedreamMethod": "POST", + "headers": [ + { + "from": "Authorization", + "to": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCINiIsInR5cCI6IkpXVCkYTJkMDA4ZTcwMGNiIsInR5cCI6IkpXVCXIiOiI2MTE1NTJmYWYyNGE2ODAwMTJjYjhiNzQiLCJvcmciOiI2MGRjN2M2MWU5ZDliM2MzOTVjZWI5ZGIiLCJvcmdOYW1lIjoibmVpZ2hib3IiLCJ1c2VyVHlwZSI6Im1hY2hpbmUiLCJwb2QiOiJwcm9kMSIsInJvbGVzIjpbIm9yZy5hZG1pbiIsIm9yZy5ob29rcyIsIm9yZy5wZXJtaXNzaW9uIiwib3JnLnVzZXIiXSwiYXVkIjoidXJuOmNvbnN1bWVyIiwiaXNzIjoidXJuOmFwaSIsInN1YiI6IjYxMTU1MmZhZjI0YTY4MDAxMmNiOGI3NCJ9.CwzS9X8bQqC3lNt5WlxbHosJZ8sL-ogUTNh_ORBNIIw" + } + ] + }, + "result": true + }, + { + "config": { + "pipedreamUrl": "ftp://bridgettl.com/wbh", + "pipedreamMethod": "GET", + "headers": [ + { + "from": "isSecure", + "to": "secure010qpo12" + } + ] + }, + "result": true + }, + { + "config": { + "pipedreamUrl": "http://test.ec-example.example.com", + "pipedreamMethod": "POST", + "headers": [ + { + "from": "isSecure", + "to": "101" + } + ] + }, + "result": true + } +] diff --git a/test/data/validation/destinations/podsights.json b/test/data/validation/destinations/podsights.json new file mode 100644 index 000000000..f0f99cc73 --- /dev/null +++ b/test/data/validation/destinations/podsights.json @@ -0,0 +1,66 @@ +[ + { + "config": { + "pixelId": "", + "eventsToQPEvents": [ + { + "from": "Order Completed", + "to": "Purchase" + } + ], + "eventFilteringOption": "disable", + "whitelistedEvents": [{ "eventName": "" }], + "blacklistedEvents": [{ "eventName": "" }] + }, + "result": false, + "err": ["pixelId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\""] + }, + { + "config": { + "eventsToQPEvents": [ + { + "from": "Order Completed", + "to": "Purchase" + } + ], + "enableAliasCall": false, + "eventFilteringOption": "disable", + "whitelistedEvents": [{ "eventName": "" }], + "blacklistedEvents": [{ "eventName": "" }] + }, + "result": false, + "err": [" must have required property 'pixelId'"] + }, + { + "config": { + "pixelId": 1234, + "eventsToQPEvents": [ + { + "from": "Order Completed", + "to": "Purchase" + } + ], + "enableAliasCall": true, + "eventFilteringOption": "disable", + "whitelistedEvents": [{ "eventName": "" }], + "blacklistedEvents": [{ "eventName": "" }] + }, + "result": false, + "err": ["pixelId must be string"] + }, + { + "config": { + "pixelId": "qwerty1234qwerty", + "eventsToQPEvents": [ + { + "from": "Order Completed", + "to": "Purchase" + } + ], + "eventFilteringOption": "disable", + "whitelistedEvents": [{ "eventName": "" }], + "blacklistedEvents": [{ "eventName": "" }] + }, + "result": true + } +] diff --git a/src/validations/__tests__/validation_test_data/postgres_test.json b/test/data/validation/destinations/postgres.json similarity index 100% rename from src/validations/__tests__/validation_test_data/postgres_test.json rename to test/data/validation/destinations/postgres.json diff --git a/src/validations/__tests__/validation_test_data/qualaroo_test.json b/test/data/validation/destinations/qualaroo.json similarity index 100% rename from src/validations/__tests__/validation_test_data/qualaroo_test.json rename to test/data/validation/destinations/qualaroo.json diff --git a/src/validations/__tests__/validation_test_data/quora_pixel_test.json b/test/data/validation/destinations/quora_pixel.json similarity index 100% rename from src/validations/__tests__/validation_test_data/quora_pixel_test.json rename to test/data/validation/destinations/quora_pixel.json diff --git a/src/validations/__tests__/validation_test_data/redis_test.json b/test/data/validation/destinations/redis.json similarity index 100% rename from src/validations/__tests__/validation_test_data/redis_test.json rename to test/data/validation/destinations/redis.json diff --git a/test/data/validation/destinations/refiner.json b/test/data/validation/destinations/refiner.json new file mode 100644 index 000000000..3b5822647 --- /dev/null +++ b/test/data/validation/destinations/refiner.json @@ -0,0 +1,96 @@ +[ + { + "config": { + "apiKey": "d2bnp1ubi9x6zq1p89h5hyx2hf5q1k3v", + "webClientApiKey": "d2bnp1ubi9x6zq1p845487293848yx2hf5q1k3v", + "eventFilteringOption": "disable", + "whitelistedEvents": [ + { + "eventName": "" + } + ], + "blacklistedEvents": [ + { + "eventName": "" + } + ] + }, + "result": true + }, + { + "config": { + "webClientApiKey": "d2bnp1ubi9x6zq1p845487293848yx2hf5q1k3v", + "eventFilteringOption": "disable", + "whitelistedEvents": [ + { + "eventName": "" + } + ], + "blacklistedEvents": [ + { + "eventName": "" + } + ] + }, + "result": false, + "err": [" must have required property 'apiKey'"] + }, + { + "config": { + "apiKey": "", + "webClientApiKey": "d2bnp1ubi9x6zq1p845487293848yx2hf5q1k3v", + "eventFilteringOption": "disable", + "whitelistedEvents": [ + { + "eventName": "" + } + ], + "blacklistedEvents": [ + { + "eventName": "" + } + ] + }, + "result": false, + "err": ["apiKey must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\""] + }, + { + "config": { + "apiKey": "d2bnp1ubi9x6zq1p89h5hyx2hf5q1k3v", + "webClientApiKey": "", + "eventFilteringOption": "disable", + "whitelistedEvents": [ + { + "eventName": "" + } + ], + "blacklistedEvents": [ + { + "eventName": "" + } + ] + }, + "result": false, + "err": [ + "webClientApiKey must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"" + ] + }, + { + "config": { + "apiKey": "d2bnp1ubi9x6zq1p89h5hyx2hf5q1k3v", + "eventFilteringOption": "disable", + "whitelistedEvents": [ + { + "eventName": "" + } + ], + "blacklistedEvents": [ + { + "eventName": "" + } + ] + }, + "result": false, + "err": [" must have required property 'webClientApiKey'"] + } +] diff --git a/test/data/validation/destinations/revenue_cat.json b/test/data/validation/destinations/revenue_cat.json new file mode 100644 index 000000000..fe856f14a --- /dev/null +++ b/test/data/validation/destinations/revenue_cat.json @@ -0,0 +1,17 @@ +[ + { + "config": { + "apiKey": "", + "xPlatform": "stripe" + }, + "result": false, + "err": ["apiKey must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\""] + }, + { + "config": { + "apiKey": "str_1435jbakh012", + "xPlatform": "amazon" + }, + "result": true + } +] diff --git a/test/data/validation/destinations/rockerbox.json b/test/data/validation/destinations/rockerbox.json new file mode 100644 index 000000000..ad7104661 --- /dev/null +++ b/test/data/validation/destinations/rockerbox.json @@ -0,0 +1,137 @@ +[ + { + "config": { + "advertiserId": "test id", + "eventFilteringOption": "disable", + "whitelistedEvents": [ + { + "eventName": "" + } + ], + "blacklistedEvents": [ + { + "eventName": "" + } + ], + "eventsMap": [ + { + "from": "Product Added", + "to": "conv.add_to_cart" + } + ], + "useNativeSDK": { + "web": true + }, + "useNativeSDKToSend": { + "web": true + }, + "clientAuthId": { + "web": "test-client-auth-id" + }, + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "Marketing Sample" + } + ] + }, + "customDomain": { + "web": "" + }, + "enableCookieSync": { + "web": false + } + }, + "result": true + }, + { + "config": { + "eventFilteringOption": "disable", + "whitelistedEvents": [ + { + "eventName": "" + } + ], + "blacklistedEvents": [ + { + "eventName": "" + } + ], + "eventsMap": [ + { + "from": "Product Added", + "to": "conv.add_to_cart" + } + ], + "useNativeSDK": { + "web": true + }, + "useNativeSDKToSend": { + "web": true + }, + "clientAuthId": { + "web": "test-client-auth-id" + }, + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "Marketing Sample" + } + ] + }, + "customDomain": { + "web": "" + }, + "enableCookieSync": { + "web": false + } + }, + "result": false, + "err": [" must have required property 'advertiserId'"] + }, + { + "config": { + "advertiserId": "test id", + "eventFilteringOption": "disable", + "whitelistedEvents": [ + { + "eventName": "" + } + ], + "blacklistedEvents": [ + { + "eventName": "" + } + ], + "eventsMap": [ + { + "from": "Product Added", + "to": "conv.add_to_cart" + } + ], + "useNativeSDK": { + "web": true + }, + "useNativeSDKToSend": { + "web": true + }, + "clientAuthId": { + "web": "test-client-auth-id" + }, + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "Marketing Sample" + } + ] + }, + "customDomain": { + "web": "https://cookiedomain.com" + }, + "enableCookieSync": { + "web": true + } + }, + "result": true + } +] diff --git a/src/validations/__tests__/validation_test_data/rollbar_test.json b/test/data/validation/destinations/rollbar.json similarity index 100% rename from src/validations/__tests__/validation_test_data/rollbar_test.json rename to test/data/validation/destinations/rollbar.json diff --git a/src/validations/__tests__/validation_test_data/rs_test.json b/test/data/validation/destinations/rs.json similarity index 100% rename from src/validations/__tests__/validation_test_data/rs_test.json rename to test/data/validation/destinations/rs.json diff --git a/test/data/validation/destinations/s3.json b/test/data/validation/destinations/s3.json new file mode 100644 index 000000000..6be637a5b --- /dev/null +++ b/test/data/validation/destinations/s3.json @@ -0,0 +1,67 @@ +[ + { + "config": { + "bucketName": "traveltesting", + "prefix": "load-GA", + "accessKeyID": "AKIAJOJJ2DSTMP1SB2IL", + "accessKey": "qsmYPTbeifaSdOD+Qqq2s+fsSmDQxF1ylqCfV0xa", + "enableSSE": false + }, + "result": true + }, + { + "config": { + "prefix": "rudder", + "accessKeyID": "ZKOAQLY2HJ7QLD6BLVF3", + "accessKey": "VZElJiPgn/vBwKWEQk6RpbdOxZIQn1iS5CjE5vD8", + "enableSSE": true, + "testConnection": false, + "testConnectionTS": 1627655059687 + }, + "result": false, + "err": [" must have required property 'bucketName'"] + }, + { + "config": { + "bucketName": "iqw.btex.deltalake.production", + "accessKeyID": "ZKOAQLY2HJ7QLD6BLVF3", + "accessKey": "I1luLPZlFOkCfgZIkdAuzr1/fhjLXiHopKC4qvg3", + "enableSSE": true + }, + "result": true + }, + { + "config": { + "bucketName": "iqw.btex.deltalake.production", + "prefix": "tashforcenonsse/app_events/", + "accessKeyID": "ZKOAQLY2HJ7QLD6BLVF3", + "accessKey": "I1luLPZlFOkCfgZIkdAuzr1/fhjLXiHopKC4qvg3" + }, + "result": true + }, + { + "config": { + "bucketName": "iqw.btex.deltalake.production", + "prefix": ["p1", "p2"], + "accessKeyID": "ZKOAQLY2HJ7QLD6BLVF3", + "accessKey": "I1luLPZlFOkCfgZIkdAuzr1/fhjLXiHopKC4qvg3", + "enableSSE": false + }, + "result": false, + "err": ["prefix must be string"] + }, + { + "config": { + "bucketName": "iqw.btex.deltalake.production", + "prefix": [ + "p1qpqowoeujdjhfsjcbcnfhhruthgdhdhffpoahwbseytxyideodjfwoefhdwofwbqbckjqowjhdbsjhdhdbfdefbvbswdbswvdwvuqvqooiwqdwcwewef", + "p2" + ], + "accessKeyID": "ZKOAQLY2HJ7QLD6BLVF3", + "accessKey": "I1luLPZlFOkCfgZIkdAuzr1/fhjLXiHopKC4qvg3", + "enableSSE": false + }, + "result": false, + "err": ["prefix must be string"] + } +] diff --git a/test/data/validation/destinations/s3_datalake.json b/test/data/validation/destinations/s3_datalake.json new file mode 100644 index 000000000..fd8d29dd4 --- /dev/null +++ b/test/data/validation/destinations/s3_datalake.json @@ -0,0 +1,108 @@ +[ + { + "config": { + "bucketName": "test-bucket", + "useGlue": true, + "prefix": "xyzxx", + "namespace": "eu_new3", + "accessKeyID": "", + "accessKey": "", + "syncFrequency": "30", + "region": "us-east-1" + }, + "result": true + }, + { + "config": { + "bucketName": "test-bucket-test-bucket-test-bucket-test-bucket-test-bucket-test-bucket-test-bucket-test-bucket-test-bucket", + "useGlue": true, + "prefix": "xyzxx", + "namespace": "eu_new3", + "accessKeyID": "", + "accessKey": "", + "syncFrequency": "30", + "region": "us-east-1" + }, + "result": false, + "err": [ + "bucketName must match pattern \"(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"" + ] + }, + { + "config": { + "bucketName": "test.bucket", + "useGlue": true, + "prefix": "xyzxx", + "namespace": "eu_new3", + "accessKeyID": "", + "accessKey": "", + "syncFrequency": "30", + "region": "us-east-1" + }, + "result": true + }, + { + "config": { + "bucketName": "testBucket", + "useGlue": true, + "prefix": "xyzxx", + "namespace": "eu_new3", + "accessKeyID": "", + "accessKey": "", + "syncFrequency": "30", + "region": "us-east-1" + }, + "result": false, + "err": [ + "bucketName must match pattern \"(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"" + ] + }, + { + "config": { + "bucketName": "ab", + "useGlue": true, + "prefix": "xyzxx", + "namespace": "eu_new3", + "accessKeyID": "", + "accessKey": "", + "syncFrequency": "30", + "region": "us-east-1" + }, + "result": false, + "err": [ + "bucketName must match pattern \"(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"" + ] + }, + { + "config": { + "bucketName": "ab..ab", + "useGlue": true, + "prefix": "xyzxx", + "namespace": "eu_new3", + "accessKeyID": "", + "accessKey": "", + "syncFrequency": "30", + "region": "us-east-1" + }, + "result": false, + "err": [ + "bucketName must match pattern \"(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"" + ] + }, + { + "config": { + "bucketName": "xn--abc", + "useGlue": true, + "prefix": "xyzxx", + "namespace": "eu_new3", + "accessKeyID": "", + "accessKey": "", + "syncFrequency": "30", + "region": "us-east-1" + }, + "result": false, + "err": [ + "bucketName must match pattern \"(^env[.].+)|^((?!^xn--)(?!.*\\.\\..*)(?!^(\\d+(\\.|$)){4}$)[a-z0-9][a-z0-9-.]{1,61}[a-z0-9])$\"" + ] + } +] diff --git a/test/data/validation/destinations/satismeter.json b/test/data/validation/destinations/satismeter.json new file mode 100644 index 000000000..fb222d63c --- /dev/null +++ b/test/data/validation/destinations/satismeter.json @@ -0,0 +1,63 @@ +[ + { + "config": { + "writeKey": "dh9823rg2fy923f09", + "recordSatismeterEvents": true, + "identifyAnonymousUsers": true, + "updateEventNames": true, + "eventsToStandard": [ + { + "from": "abc", + "to": "display" + } + ], + "eventFilteringOption": "disable", + "whitelistedEvents": [ + { + "eventName": "" + } + ], + "blacklistedEvents": [ + { + "eventName": "" + } + ] + }, + "result": true + }, + { + "config": { + "writeKey": "", + "recordSatismeterEvents": true, + "identifyAnonymousUsers": false, + "updateEventNames": true, + "eventsToStandard": [ + { + "from": "abc", + "to": "dismiss" + }, + { + "from": "abc", + "to": "complete" + }, + { + "from": "def", + "to": "progress" + } + ], + "eventFilteringOption": "disable", + "whitelistedEvents": [ + { + "eventName": "" + } + ], + "blacklistedEvents": [ + { + "eventName": "" + } + ] + }, + "result": false, + "err": ["writeKey must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\""] + } +] diff --git a/test/data/validation/destinations/sendinblue.json b/test/data/validation/destinations/sendinblue.json new file mode 100644 index 000000000..56aa69bfe --- /dev/null +++ b/test/data/validation/destinations/sendinblue.json @@ -0,0 +1,114 @@ +[ + { + "config": { + "apiKey": "xkeysib-cI7d098201bW5acf0453FY1b64fsej32da3f8ae01d7c8f9b78L43153d814td000020eb9-1e4M595C0", + "clientKey": "1vd0i6w1al7q38ap5kucurfy", + "doi": true, + "templateId": "2", + "redirectionUrl": "https://my.sendinblue.com/", + "sendTraitsInTrack": false, + "contactAttributeMapping": [ + { + "from": "area_code", + "to": "AREA" + }, + { + "from": "location", + "to": "LOCATION" + } + ] + }, + "result": true + }, + { + "config": { + "apiKey": "xkeysib-cI7d098201bW5acf0453FY1b64fsej32da3f8ae01d7c8f9b78L43153d814td000020eb9-1e4M595C0", + "clientKey": "1vd0i6w1al7q38ap5kucurfy", + "redirectionUrl": "https://my.sendinblue.com/" + }, + "result": true + }, + { + "config": { + "clientKey": "1vd0i6w1al7q38ap5kucurfy", + "doi": true, + "templateId": "2", + "redirectionUrl": "https://my.sendinblue.com/" + }, + "result": false, + "err": [" must have required property 'apiKey'"] + }, + { + "config": { + "apiKey": "xkeysib-cI7d098201bW5acf0453FY1b64fsej32da3f8ae01d7c8f9b78L43153d814td000020eb9-1e4M595C0", + "doi": true, + "templateId": "2", + "redirectionUrl": "https://my.sendinblue.com/" + }, + "result": false, + "err": [" must have required property 'clientKey'"] + }, + { + "config": { + "apiKey": "xkeysib-cI7d098201bW5acf0453FY1b64fsej32da3f8ae01d7c8f9b78L43153d814td000020eb9-1e4M595C0", + "clientKey": "1vd0i6w1al7q38ap5kucurfy", + "doi": true, + "templateId": "2" + }, + "result": false, + "err": [" must have required property 'redirectionUrl'"] + }, + { + "config": { + "apiKey": 1234, + "clientKey": "1vd0i6w1al7q38ap5kucurfy", + "redirectionUrl": "https://my.sendinblue.com/" + }, + "result": false, + "err": ["apiKey must be string"] + }, + { + "config": { + "apiKey": "xkeysib-cI7d098201bW5acf0453FY1b64fsej32da3f8ae01d7c8f9b78L43153d814td000020eb9-1e4M595C0", + "clientKey": 1234, + "redirectionUrl": "https://my.sendinblue.com/" + }, + "result": false, + "err": ["clientKey must be string"] + }, + { + "config": { + "apiKey": "xkeysib-cI7d098201bW5acf0453FY1b64fsej32da3f8ae01d7c8f9b78L43153d814td000020eb9-1e4M595C0", + "clientKey": "1vd0i6w1al7q38ap5kucurfy", + "doi": true, + "templateId": "abc123", + "redirectionUrl": "https://my.sendinblue.com/" + }, + "result": false, + "err": ["templateId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$\""] + }, + { + "config": { + "apiKey": "xkeysib-cI7d098201bW5acf0453FY1b64fsej32da3f8ae01d7c8f9b78L43153d814td000020eb9-1e4M595C0", + "clientKey": "1vd0i6w1al7q38ap5kucurfy", + "doi": true, + "templateId": 2, + "redirectionUrl": "https://my.sendinblue.com/" + }, + "result": false, + "err": ["templateId must be string"] + }, + { + "config": { + "apiKey": "xkeysib-cI7d098201bW5acf0453FY1b64fsej32da3f8ae01d7c8f9b78L43153d814td000020eb9-1e4M595C0", + "clientKey": "1vd0i6w1al7q38ap5kucurfy", + "doi": true, + "templateId": "2", + "redirectionUrl": "xyz" + }, + "result": false, + "err": [ + "redirectionUrl must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$\"" + ] + } +] diff --git a/test/data/validation/destinations/sentry.json b/test/data/validation/destinations/sentry.json new file mode 100644 index 000000000..8f4941300 --- /dev/null +++ b/test/data/validation/destinations/sentry.json @@ -0,0 +1,67 @@ +[ + { + "config": { + "dsn": "https://42152b1ac22647378fd808fbdb442798@o1142740.ingest.sentry.io/6201791", + "environment": "production", + "customVersionProperty": "window.kaholo.version", + "release": "window.kaholo.version", + "serverName": "server", + "logger": "sentry", + "debugMode": false, + "eventFilteringOption": "disable", + "ignoreErrors": [{ "ignoreErrors": "" }], + "includePaths": [{ "includePaths": "" }], + "allowUrls": [{ "allowUrls": "" }], + "denyUrls": [{ "denyUrls": "" }], + "whitelistedEvents": [{ "eventName": "" }], + "blacklistedEvents": [{ "eventName": "" }], + "useNativeSDK": { "web": true }, + "oneTrustCookieCategories": { + "web": [{ "oneTrustCookieCategory": "Debugging" }] + } + }, + "result": true + }, + { + "config": { + "dsn": "https://eed83226fcb849babf7982f074cf86f0@o1069456.ingest.sentry.io/6064106", + "environment": "production", + "customVersionProperty": "", + "release": "", + "serverName": "", + "logger": "", + "debugMode": false, + "ignoreErrors": [{ "ignoreErrors": "" }], + "includePaths": [{ "includePaths": "" }], + "allowUrls": [{ "allowUrls": "" }], + "denyUrls": [{ "denyUrls": "" }], + "useNativeSDK": { "web": true }, + "blacklistedEvents": {}, + "whitelistedEvents": {}, + "oneTrustCookieCategories": { "web": [{ "oneTrustCookieCategory": "" }] } + }, + "result": false, + "err": ["whitelistedEvents must be array", "blacklistedEvents must be array"] + }, + { + "config": { + "dsn": "https://eed83226fcb849babf7982f074cf86f0@o1069456.ingest.sentry.io/6064106", + "environment": "development", + "customVersionProperty": "", + "release": "", + "serverName": "", + "logger": "", + "debugMode": false, + "ignoreErrors": [{ "ignoreErrors": "" }], + "includePaths": [{ "includePaths": "" }], + "allowUrls": [{ "allowUrls": "" }], + "denyUrls": [{ "denyUrls": "" }], + "useNativeSDK": { "web": true }, + "blackListedEvents": {}, + "whiteListedEvents": {}, + "oneTrustCookieCategories": { "web": [{ "oneTrustCookieCategory": "" }] } + }, + "result": false, + "err": [" must NOT have additional properties", " must NOT have additional properties"] + } +] diff --git a/test/data/validation/destinations/shynet.json b/test/data/validation/destinations/shynet.json new file mode 100644 index 000000000..ab7eedf51 --- /dev/null +++ b/test/data/validation/destinations/shynet.json @@ -0,0 +1,35 @@ +[ + { + "config": { + "heartBeatFrequencyInMs": "11234", + "shynetServiceUrl": "https://localhost:5555/ingress/5b3470a9-be69-4298-9ec1-3fe3f483738c/script.js" + }, + "result": true + }, + { + "config": { + "heartBeatFrequencyInMs": "", + "shynetServiceUrl": "http://localhost:5555/ingress/5b3470a9-be69-4298-9ec1-3fe3f483738c/script.js" + }, + "result": true + }, + { + "config": { + "heartBeatFrequencyInMs": "5000000000000000000000000000000000000", + "shynetServiceUrl": "https://wwww.mysite.com/ingress/5b3470a9-be69-4298-9ec1-354354354wefdv/script.js" + }, + "result": false, + "err": [ + "heartBeatFrequencyInMs must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,10})$\"" + ] + }, + { + "config": { + "heartBeatFrequencyInMs": "2000", + "shynetServiceUrl": "" + }, + "err": [ + "shynetServiceUrl must match pattern \"^(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|(?!.*\\.ngrok\\.io)^(.{1,300})$\"" + ] + } +] diff --git a/test/data/validation/destinations/singular.json b/test/data/validation/destinations/singular.json new file mode 100644 index 000000000..a2b804d1b --- /dev/null +++ b/test/data/validation/destinations/singular.json @@ -0,0 +1,83 @@ +[ + { + "config": { + "apiKey": "nowstack_3a8df6629b0be0cf6xxa22fb2220e929_811168a9", + "apiSecret": "", + "eventFilteringOption": "disable", + "sessionEventList": [ + { + "sessionEventName": "App Session New" + } + ], + "whitelistedEvents": [ + { + "eventName": "" + } + ], + "blacklistedEvents": [ + { + "eventName": "" + } + ], + "useNativeSDK": { + "android": true + } + }, + "result": true + }, + { + "config": { + "apiSecret": "h2rh3g23hr92rh9hfew", + "eventFilteringOption": "disable", + "sessionEventList": [ + { + "sessionEventName": "App Session New" + } + ], + "whitelistedEvents": [ + { + "eventName": "" + } + ], + "blacklistedEvents": [ + { + "eventName": "" + } + ], + "useNativeSDK": { + "android": true + } + }, + "result": false, + "err": [" must have required property 'apiKey'"] + }, + { + "config": { + "apiKey": "nowstack_3a8df6629b0be0cf6xxa22fb2220e929_811168a9", + "apiSecret": "gidawgaigfa", + "eventFilteringOption": "disable", + "sessionEventList": [ + { + "sessionEventName": "Application Session" + }, + { + "sessionEventName": "New Campaign Session" + } + ], + "whitelistedEvents": [ + { + "eventName": "" + } + ], + "blacklistedEvents": [ + { + "eventName": "" + } + ], + "useNativeSDK": { + "android": true + } + }, + "result": true + } +] diff --git a/test/data/validation/destinations/slack.json b/test/data/validation/destinations/slack.json new file mode 100644 index 000000000..990a6e76a --- /dev/null +++ b/test/data/validation/destinations/slack.json @@ -0,0 +1,53 @@ +[ + { + "config": { + "identifyTemplate": "", + "webhookUrl": "", + "eventChannelSettings": [{ "eventName": "", "eventChannel": "", "eventRegex": false }], + "eventTemplateSettings": [{ "eventName": "", "eventTemplate": "", "eventRegex": false }], + "whitelistedTraitsSettings": [{ "trait": "" }] + }, + "result": true + }, + { + "config": { + "identifyTemplate": "", + "webhookUrl": "https://hooks.slack.com/services/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", + "eventChannelSettings": [ + { "eventName": "XYZ", "eventChannel": "@srikanth", "eventRegex": false } + ], + "eventTemplateSettings": [ + { + "eventName": "abc", + "eventTemplate": "a: {{properties.a}} {{properties.newLine}} b: {{properties.b}}", + "eventRegex": false + } + ], + "whitelistedTraitsSettings": [{ "trait": "" }] + }, + "result": true + }, + { "config": { "identifyTemplate": "", "webhookUrl": "" }, "result": true }, + { + "config": { + "identifyTemplate": "", + "webhookUrl": "https://hooks.slack.com/services/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", + "eventChannelSettings": [ + { "eventName": "XYZ", "eventChannel": "@srikanth", "eventRegex": false } + ], + "eventTemplateSettings": [ + { + "eventName": 1234, + "eventTemplate": "a: {{properties.a}} {{properties.newLine}} b: {{properties.b}}", + "eventRegex": "false" + } + ], + "whitelistedTraitsSettings": [{ "trait": "" }] + }, + "result": false, + "err": [ + "eventTemplateSettings.0.eventName must be string", + "eventTemplateSettings.0.eventRegex must be boolean" + ] + } +] diff --git a/test/data/validation/destinations/snapchat_conversion.json b/test/data/validation/destinations/snapchat_conversion.json new file mode 100644 index 000000000..743066226 --- /dev/null +++ b/test/data/validation/destinations/snapchat_conversion.json @@ -0,0 +1,34 @@ +[ + { + "config": { + "apiKey": "MTp6WHZyNbJXZVNMMm11AlJ1R1BXeVVBOkk0dFk5dkEybUVEWAw5NHk5dXBYUjBIdWp6QzZCNC1TMEFGU9QwYVdnUjg", + "pixelId": "836d6231-aad6-4e41-9cbb-5854565cad8e", + "enableDeduplication": false + }, + "result": true + }, + { + "config": { + "pixelId": "836d6231-aad6-4e41-9cbb-5854565cad8e", + "enableDeduplication": true, + "deduplicationKey": "messageId" + }, + "result": false, + "err": [" must have required property 'apiKey'"] + }, + { + "config": { + "apiKey": "MTp6WHZyNbJXZVNMMm11AlJ1R1BXeVVBOkk0dFk5dkEybUVEWAw5NHk5dXBYUjBIdWp6QzZCNC1TMEFGU9QwYVdnUjg", + "pixelId": "836d6231-aad6-4e41-9cbb-5854565cad8e", + "enableDeduplication": true, + "deduplicationKey": "messageId", + "rudderEventsToSnapEvents": [ + { + "from": "prodSearch", + "to": "products_searched" + } + ] + }, + "result": true + } +] diff --git a/test/data/validation/destinations/snapengage.json b/test/data/validation/destinations/snapengage.json new file mode 100644 index 000000000..82b393488 --- /dev/null +++ b/test/data/validation/destinations/snapengage.json @@ -0,0 +1,61 @@ +[ + { + "config": { + "widgetId": "11234", + "recordLiveChatEvents": true, + "updateEventNames": true, + "eventsToStandard": [ + { + "from": "abc", + "to": "startChat" + } + ] + }, + "result": true + }, + { + "config": { + "widgetId": "11234", + "recordLiveChatEvents": true, + "updateEventNames": true, + "eventsToStandard": [ + { + "from": "abc", + "to": "startChat" + }, + { + "from": "abc", + "to": "chatMessageSent" + }, + { + "from": "def", + "to": "chatMessageReceived" + } + ] + }, + "result": true + }, + { + "config": { + "widgetId": "11234", + "recordLiveChatEvents": true, + "updateEventNames": false + }, + "result": true + }, + { + "config": { + "widgetId": "", + "recordLiveChatEvents": true, + "updateEventNames": true, + "eventsToStandard": [ + { + "from": "abc", + "to": "startChat" + } + ] + }, + "result": false, + "err": ["widgetId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\""] + } +] diff --git a/src/validations/__tests__/validation_test_data/snowflake_test.json b/test/data/validation/destinations/snowflake.json similarity index 100% rename from src/validations/__tests__/validation_test_data/snowflake_test.json rename to test/data/validation/destinations/snowflake.json diff --git a/test/data/validation/destinations/vero.json b/test/data/validation/destinations/vero.json new file mode 100644 index 000000000..d3d7758ff --- /dev/null +++ b/test/data/validation/destinations/vero.json @@ -0,0 +1,103 @@ +[ + { + "config": { + "authToken": "MOx2ZmMwLNE2A2IdNKL0N2VhN2I3ZGY1MTVmMzA1ODk0YmIkNDZhNTojMTk3YTBlMTg1YmU1NWM0MDA2ZDVmZjY0ZGFiOTVkNDMyYTcwOWFk", + "apiKey": { + "web": "755fc11162r14c41ar7e7df232f305984bb021a1" + }, + "useNativeSDK": { + "web": false + }, + "blacklistedEvents": { + "web": [ + { + "eventName": "Pin Generated" + }, + { + "eventName": "Pin Expired" + } + ] + }, + "whitelistedEvents": { + "web": [ + { + "eventName": "" + } + ] + }, + "eventFilteringOption": { + "web": "blacklistedEvents" + }, + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "Sales" + }, + { + "oneTrustCookieCategory": "Marketing" + } + ] + } + }, + "result": false, + "err": ["whitelistedEvents must be array", "blacklistedEvents must be array"] + }, + { + "config": { + "authToken": "wbiwefbwiefbfkbfwekj", + "eventFilteringOption": "disable", + "whitelistedEvents": [ + { + "eventName": "" + } + ], + "blacklistedEvents": [ + { + "eventName": "" + } + ], + "apiKey": { + "web": "bkajbdskasbdkbadasdsa" + }, + "useNativeSDK": { + "web": false + }, + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "" + } + ] + } + }, + "result": true + }, + { + "config": { + "eventFilteringOption": "disable", + "whitelistedEvents": [ + { + "eventName": "" + } + ], + "blacklistedEvents": [ + { + "eventName": "" + } + ], + "apiKey": "djykdftkuf", + "useNativeSDK": { + "web": false + }, + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "" + } + ] + } + }, + "result": false, + "err": ["apiKey must be object"] + } +] diff --git a/test/data/validation/destinations/vwo.json b/test/data/validation/destinations/vwo.json new file mode 100644 index 000000000..15c9f2666 --- /dev/null +++ b/test/data/validation/destinations/vwo.json @@ -0,0 +1,109 @@ +[ + { + "config": { + "accountId": "68869", + "isSPA": true, + "sendExperimentTrack": false, + "sendExperimentIdentify": true, + "eventFilteringOption": "blacklistedEvents", + "libraryTolerance": "2500", + "settingsTolerance": "2000", + "useExistingJquery": true, + "whitelistedEvents": [], + "blacklistedEvents": [ + { + "eventName": "b1" + }, + { + "eventName": "b2" + } + ], + "useNativeSDK": { + "web": true + } + }, + "result": true + }, + { + "config": { + "accountId": "68869", + "isSPA": true, + "sendExperimentTrack": false, + "sendExperimentIdentify": true, + "eventFilteringOption": "whitelistedEvents", + "libraryTolerance": "2500", + "settingsTolerance": "2000", + "useExistingJquery": true, + "whitelistedEvents": [ + { + "eventName": "w1 allowed" + }, + { + "eventName": "w2 allowed" + } + ], + "blacklistedEvents": [ + { + "eventName": "b1" + }, + { + "eventName": "b2" + } + ], + "useNativeSDK": { + "web": true + } + }, + "result": true + }, + { + "config": { + "isSPA": true, + "sendExperimentTrack": false, + "sendExperimentIdentify": true, + "eventFilteringOption": "blacklistedEvents", + "libraryTolerance": "2500", + "settingsTolerance": "2000", + "useExistingJquery": true, + "whitelistedEvents": [], + "blacklistedEvents": [ + { + "eventName": "b1" + }, + { + "eventName": "b2" + } + ], + "useNativeSDK": { + "web": true + } + }, + "result": false, + "err": [" must have required property 'accountId'"] + }, + { + "config": { + "accountId": "68869", + "isSPA": true, + "sendExperimentTrack": true, + "sendExperimentIdentify": false, + "eventFilteringOption": "whitelistedEvents", + "libraryTolerance": "1500", + "settingsTolerance": "2300", + "useExistingJquery": true, + "whitelistedEvents": [ + { + "eventName": { + "name": "whitelistedEventObject1" + } + } + ], + "blacklistedEvents": [], + "useNativeSDK": { + "web": true + } + }, + "result": false, + "err": ["whitelistedEvents.0.eventName must be string"] + } +] diff --git a/test/data/validation/destinations/webengage.json b/test/data/validation/destinations/webengage.json new file mode 100644 index 000000000..287cebab0 --- /dev/null +++ b/test/data/validation/destinations/webengage.json @@ -0,0 +1,30 @@ +[ + { + "config": { + "licenseCode": "", + "apiKey": "asdf123sad", + "dataCenter": "standard" + }, + "result": false, + "err": [ + "licenseCode must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"" + ] + }, + { + "config": { + "licenseCode": "adhs123", + "apiKey": "", + "dataCenter": "ind" + }, + "result": false, + "err": ["apiKey must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\""] + }, + { + "config": { + "licenseCode": "adhs123", + "apiKey": "ajsdgkh21", + "dataCenter": "standard" + }, + "result": true + } +] diff --git a/src/validations/__tests__/validation_test_data/webhook_test.json b/test/data/validation/destinations/webhook.json similarity index 100% rename from src/validations/__tests__/validation_test_data/webhook_test.json rename to test/data/validation/destinations/webhook.json diff --git a/test/data/validation/destinations/woopra.json b/test/data/validation/destinations/woopra.json new file mode 100644 index 000000000..61ea5ae7d --- /dev/null +++ b/test/data/validation/destinations/woopra.json @@ -0,0 +1,35 @@ +[ + { + "config": { + "projectName": "abcwork.com", + "cookieName": "iugefiu23", + "cookiePath": "folder/tmp", + "cookieDomain": "testing.com", + "clickTracking": false, + "downloadTracking": true, + "hideCampaign": true, + "idleTimeout": "30000", + "ignoreQueryUrl": false, + "outgoingIgnoreSubdomain": true, + "outgoingTracking": true + }, + "result": true + }, + { + "config": { + "projectName": "abc1", + "cookieName": "iugefiu23", + "cookiePath": "folder/tmp", + "cookieDomain": "testing.com", + "clickTracking": false, + "downloadTracking": true, + "hideCampaign": true, + "idleTimeout": "20000", + "ignoreQueryUrl": false, + "outgoingIgnoreSubdomain": true, + "outgoingTracking": true + }, + "result": false, + "err": ["projectName must match pattern \"^(([a-z0-9]+[.])+[a-z]{1,})$\""] + } +] diff --git a/test/data/validation/destinations/wootric.json b/test/data/validation/destinations/wootric.json new file mode 100644 index 000000000..b187f3f7b --- /dev/null +++ b/test/data/validation/destinations/wootric.json @@ -0,0 +1,37 @@ +[ + { + "config": { + "username": "testUser@example.com", + "password": "Hn7zefEy9FNYz$!J", + "accountToken": "NPS-8f872341" + }, + "result": true + }, + { + "config": { + "username": "", + "password": "Hn7zefEy9FNYz$!J", + "accountToken": "NPS-8f872341" + }, + "result": false, + "err": ["username must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\""] + }, + { + "config": { + "username": "", + "password": "Hn7zefEy9FNYz$!J", + "accountToken": "NPS-8f872341" + }, + "result": false, + "err": ["username must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\""] + }, + { + "config": { + "username": "testUser@example.com", + "password": "Hn7zefEy9FNYz", + "accountToken": 8872341 + }, + "result": false, + "err": ["accountToken must be string"] + } +] diff --git a/test/data/validation/destinations/yahoo_dsp.json b/test/data/validation/destinations/yahoo_dsp.json new file mode 100644 index 000000000..79eafedfc --- /dev/null +++ b/test/data/validation/destinations/yahoo_dsp.json @@ -0,0 +1,101 @@ +[ + { + "config": { + "clientId": "", + "clientSecret": "dheAscasz6yc9LrRRIPimE9h5dssfdsLccXTykHCcA6eEoFR4rXQ", + "audienceId": "138383", + "accountId": "42423", + "audienceType": "EMAIL", + "hashRequired": false + }, + "result": false, + "err": ["clientId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\""] + }, + { + "config": { + "clientId": "a43deb8-a123-4cd6-b4c5-958b3d66d431", + "clientSecret": "", + "audienceId": "138383", + "accountId": "42423", + "audienceType": "EMAIL", + "hashRequired": false + }, + "result": false, + "err": [ + "clientSecret must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\"" + ] + }, + { + "config": { + "clientId": "a43deb8-a123-4cd6-b4c5-958b3d66d431", + "clientSecret": "dheAscasz6yc9LrRRIPimE9h5dssfdsLccXTykHCcA6eEoFR4rXQ", + "audienceId": "138383", + "accountId": "42423", + "audienceType": "DEVICE_ID", + "seedListType": "GPADVID", + "hashRequired": false + }, + "result": true + }, + { + "config": { + "clientId": "a43deb8-a123-4cd6-b4c5-958b3d66d431", + "clientSecret": "dheAscasz6yc9LrRRIPimE9h5dssfdsLccXTykHCcA6eEoFR4rXQ", + "audienceId": "", + "accountId": "42423", + "audienceType": "EMAIL", + "hashRequired": false + }, + "result": false, + "err": ["audienceId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$\""] + }, + { + "config": { + "clientId": "a43deb8-a123-4cd6-b4c5-958b3d66d431", + "clientSecret": "dheAscasz6yc9LrRRIPimE9h5dssfdsLccXTykHCcA6eEoFR4rXQ", + "audienceId": "138383", + "accountId": "", + "audienceType": "EMAIL", + "hashRequired": false + }, + "result": false, + "err": ["accountId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$\""] + }, + { + "config": { + "clientId": "a43deb8-a123-4cd6-b4c5-958b3d66d431", + "clientSecret": "dheAscasz6yc9LrRRIPimE9h5dssfdsLccXTykHCcA6eEoFR4rXQ", + "audienceId": "138383", + "accountId": "53421", + "audienceType": "", + "hashRequired": false + }, + "result": false, + "err": ["audienceType must match pattern \"^(EMAIL|DEVICE_ID|IP_ADDRESS)$\""] + }, + { + "config": { + "clientId": "a43deb8-a123-4cd6-b4c5-958b3d66d431", + "clientSecret": "dheAscasz6yc9LrRRIPimE9h5dssfdsLccXTykHCcA6eEoFR4rXQ", + "audienceId": "138383", + "accountId": "53421", + "audienceType": "DEVICE_ID", + "seedListType": "", + "hashRequired": false + }, + "result": false, + "err": ["seedListType must match pattern \"^(GPADVID|IDFA)$\""] + }, + { + "config": { + "clientId": "a43deb8-a123-4cd6-b4c5-958b3d66d431", + "clientSecret": "dheAscasz6yc9LrRRIPimE9h5dssfdsLccXTykHCcA6eEoFR4rXQ", + "audienceId": "138383", + "accountId": "53421", + "audienceType": "DEVICE_ID", + "hashRequired": "" + }, + "result": false, + "err": ["hashRequired must be boolean"] + } +] diff --git a/test/data/validation/destinations/yandex_metrica.json b/test/data/validation/destinations/yandex_metrica.json new file mode 100644 index 000000000..a80688d60 --- /dev/null +++ b/test/data/validation/destinations/yandex_metrica.json @@ -0,0 +1,377 @@ +[ + { + "config": { + "tagId": "", + "clickMap": false, + "trackLinks": false, + "trackBounce": false, + "webvisor": false, + "containerName": "dataLayer", + "eventNameToYandexEvent": [ + { + "from": "Order Done", + "to": "add" + } + ], + "goalId": "4342432", + "eventFilteringOption": "disable", + "whitelistedEvents": [ + { + "eventName": "" + } + ], + "blacklistedEvents": [ + { + "eventName": "" + } + ], + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "" + } + ] + }, + "useNativeSDK": { + "web": false + } + }, + "result": false, + "err": ["tagId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$\""] + }, + { + "config": { + "tagId": "34324223", + "clickMap": "false", + "trackLinks": false, + "trackBounce": false, + "webvisor": false, + "containerName": "dataLayer", + "eventNameToYandexEvent": [ + { + "from": "Order Done", + "to": "add" + } + ], + "goalId": "4342432", + "eventFilteringOption": "disable", + "whitelistedEvents": [ + { + "eventName": "" + } + ], + "blacklistedEvents": [ + { + "eventName": "" + } + ], + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "" + } + ] + }, + "useNativeSDK": { + "web": false + } + }, + "result": false, + "err": ["clickMap must be boolean"] + }, + { + "config": { + "tagId": "34324223", + "clickMap": false, + "trackLinks": false, + "trackBounce": false, + "webvisor": false, + "containerName": "", + "eventNameToYandexEvent": [ + { + "from": true, + "to": "add" + } + ], + "goalId": "4342432", + "eventFilteringOption": "disable", + "whitelistedEvents": [ + { + "eventName": "" + } + ], + "blacklistedEvents": [ + { + "eventName": "" + } + ], + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "" + } + ] + }, + "useNativeSDK": { + "web": false + } + }, + "result": false, + "err": ["eventNameToYandexEvent.0.from must be string"] + }, + { + "config": { + "tagId": "34324223", + "clickMap": false, + "trackLinks": false, + "trackBounce": false, + "webvisor": false, + "containerName": false, + "eventNameToYandexEvent": [ + { + "from": "Order Done", + "to": "add" + } + ], + "goalId": "4342432", + "eventFilteringOption": "disable", + "whitelistedEvents": [ + { + "eventName": "" + } + ], + "blacklistedEvents": [ + { + "eventName": "" + } + ], + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "" + } + ] + }, + "useNativeSDK": { + "web": false + } + }, + "result": false, + "err": ["containerName must be string"] + }, + { + "config": { + "tagId": "34324223", + "clickMap": false, + "trackLinks": false, + "trackBounce": false, + "webvisor": false, + "containerName": "dataLayer", + "eventNameToYandexEvent": [ + { + "from": "Order Done", + "to": "add" + } + ], + "goalId": "43dfd443", + "eventFilteringOption": "disable", + "whitelistedEvents": [ + { + "eventName": "" + } + ], + "blacklistedEvents": [ + { + "eventName": "" + } + ], + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "" + } + ] + }, + "useNativeSDK": { + "web": false + } + }, + "result": false, + "err": ["goalId must match pattern \"(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^[0-9]+$\""] + }, + { + "config": { + "tagId": "43849343", + "clickMap": false, + "trackLinks": false, + "trackBounce": false, + "webvisor": false, + "containerName": "dataLayer", + "eventNameToYandexEvent": [ + { + "from": "Order Done", + "to": "purchase" + }, + { + "from": "Viewing Product", + "to": "detail" + } + ], + "goalId": "4342432", + "eventFilteringOption": "disable", + "whitelistedEvents": [ + { + "eventName": "" + } + ], + "blacklistedEvents": [ + { + "eventName": "" + } + ], + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "" + } + ] + }, + "useNativeSDK": { + "web": "false" + } + }, + "result": false, + "err": ["useNativeSDK.web must be boolean"] + }, + { + "config": { + "tagId": "43849343", + "clickMap": false, + "trackLinks": false, + "trackBounce": false, + "webvisor": false, + "containerName": "dataLayer", + "eventNameToYandexEvent": [ + { + "from": "Order Done", + "to": "purchase" + }, + { + "from": "Viewing Product", + "to": "detail" + } + ], + "goalId": "4342432", + "eventFilteringOption": "disable", + "whitelistedEvents": [ + { + "eventName": 123 + } + ], + "blacklistedEvents": [ + { + "eventName": "" + } + ], + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "" + } + ] + }, + "useNativeSDK": { + "web": false + } + }, + "result": false, + "err": ["whitelistedEvents.0.eventName must be string"] + }, + { + "config": { + "tagId": "43849343", + "clickMap": false, + "trackLinks": false, + "trackBounce": false, + "webvisor": false, + "containerName": "dataLayer", + "eventNameToYandexEvent": [ + { + "from": "Order Done", + "to": "purchase" + }, + { + "from": "Viewing Product", + "to": "detail" + } + ], + "goalId": "4342432", + "eventFilteringOption": true, + "whitelistedEvents": [ + { + "eventName": "" + } + ], + "blacklistedEvents": [ + { + "eventName": "" + } + ], + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "" + } + ] + }, + "useNativeSDK": { + "web": false + } + }, + "result": false, + "err": ["eventFilteringOption must be string"] + }, + { + "config": { + "tagId": "43849343", + "clickMap": false, + "trackLinks": false, + "trackBounce": false, + "webvisor": false, + "containerName": "dataLayer", + "eventNameToYandexEvent": [ + { + "from": "Order Done", + "to": "purchase" + }, + { + "from": "Viewing Product", + "to": "detail" + } + ], + "goalId": "4342432", + "eventFilteringOption": "disable", + "whitelistedEvents": [ + { + "eventName": "" + } + ], + "blacklistedEvents": [ + { + "eventName": "" + } + ], + "oneTrustCookieCategories": { + "web": [ + { + "oneTrustCookieCategory": "" + } + ] + }, + "useNativeSDK": { + "web": false + } + }, + "result": true + } +] diff --git a/src/validations/__tests__/validation_test_data/zapier_test.json b/test/data/validation/destinations/zapier.json similarity index 100% rename from src/validations/__tests__/validation_test_data/zapier_test.json rename to test/data/validation/destinations/zapier.json diff --git a/src/validations/__tests__/validation_test_data/zendesk_test.json b/test/data/validation/destinations/zendesk.json similarity index 100% rename from src/validations/__tests__/validation_test_data/zendesk_test.json rename to test/data/validation/destinations/zendesk.json diff --git a/test/validation.test.ts b/test/validation.test.ts new file mode 100644 index 000000000..fd1c74cae --- /dev/null +++ b/test/validation.test.ts @@ -0,0 +1,131 @@ +/* eslint-disable no-console */ +/* eslint-disable max-len */ +import fs from 'fs'; +import path from 'path'; +import Commander from 'commander'; +import { init, validateConfig } from '../src'; + +const command = new Commander.Command(); +command + .allowUnknownOption() + .option('-d, --destinations ', 'Enter destination names separated by comma', 'all') + .option('-s, --sources ', 'Enter source names separated by comma', 'all') + .parse(); + +const cmdOpts = command.opts(); + +function getIntegrationNames(type) { + const dirPath = path.resolve(`src/configurations/${type}`); + return fs.readdirSync(dirPath).filter((file) => fs.statSync(`${dirPath}/${file}`).isDirectory()); +} + +function getIntegrationData(name, type) { + let intgData; + try { + intgData = JSON.parse( + fs.readFileSync(path.resolve(__dirname, `./data/validation/${type}/${name}.json`), 'utf-8'), + ); + } catch (e) { + // console.error(e); + // console.error(`Unable to load test data for: "${name}" (${type})`); + } + return intgData; +} + +let destList: string[] = []; +if (cmdOpts.destinations !== 'all') { + destList = cmdOpts.destinations + .split(',') + .map((x: string) => x.trim()) + .filter((x: string) => x); + console.log(`Destinations specified: ${destList}`); +} else { + destList = getIntegrationNames('destinations'); +} +const destTcData = {}; +destList.forEach((d) => { + const intgData = getIntegrationData(d, 'destinations'); + if (intgData) destTcData[d] = intgData; +}); + +let srcList: string[] = []; +if (cmdOpts.sources !== 'all') { + srcList = cmdOpts.sources + .split(',') + .map((x: string) => x.trim()) + .filter((x: string) => x); + console.log(`Sources specified: ${srcList}`); +} else { + srcList = getIntegrationNames('sources'); +} +const srcTcData = {}; +srcList.forEach((s) => { + const intgData = getIntegrationData(s, 'sources'); + if (intgData) srcTcData[s] = intgData; +}); + +describe('Core Tests', () => { + it('If invalid integration name is provide, throw error', async () => { + expect(() => { + validateConfig('', {}, 'destinations', true); + }).toThrow('Missing definitionName'); + }); + + it('If unknown integration name is provided, throw error', async () => { + await init(); + + const invalidIntg = 'INVALID_INTEGRATION_NAME'; + expect(() => { + validateConfig(invalidIntg, {}, 'destinations', true); + }).toThrow(`No validation method found for definition ${invalidIntg}`); + }); + + it('If unknown integration name is provided and throw errors flag is disabled, no error should be thrown', async () => { + await init(); + + const invalidIntg = 'INVALID_INTEGRATION_NAME'; + expect(() => { + validateConfig(invalidIntg, {}, 'destinations'); + }).not.toThrow(); + }); +}); + +describe('Validation Tests', () => { + beforeAll(async () => { + await init(); + }); + + // Destination tests + Object.keys(destTcData).forEach((dest: string, destIdx: number) => { + describe(`${destIdx + 1}. Destination - ${dest}`, () => { + destTcData[dest].forEach((td: Record, tcIdx: number) => { + it(`TC ${tcIdx + 1}`, async () => { + if (td.result === true) { + expect(validateConfig(dest, td.config, 'destinations', true)).toBeUndefined(); + } else { + expect(() => { + validateConfig(dest, td.config, 'destinations', true); + }).toThrow(JSON.stringify(td.err)); + } + }); + }); + }); + }); + + // Source tests + Object.keys(srcTcData).forEach((src: string, srcIdx: number) => { + describe(`${srcIdx + 1}. Source - ${src}`, () => { + srcTcData[src].forEach((td: Record, tcIdx: number) => { + it(`TC ${tcIdx + 1}`, async () => { + if (td.result === true) { + expect(validateConfig(src, td.config, 'sources', true)).toBeUndefined(); + } else { + expect(() => { + validateConfig(src, td.config, 'sources', true); + }).toThrow(JSON.stringify(td.err)); + } + }); + }); + }); + }); +}); diff --git a/tsconfig.json b/tsconfig.json index 8090e9c76..44fe22170 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,5 +1,4 @@ { - "extends": "./tsconfig.paths.json", "compilerOptions": { /* Basic Options */ // "incremental": true, /* Enable incremental compilation */ @@ -59,12 +58,6 @@ "experimentalDecorators": true /* Enables experimental support for ES7 decorators. */, "emitDecoratorMetadata": true /* Enables experimental support for emitting type metadata for decorators. */ }, - "include": [ - "./**/*.ts", - "./**/*.js", - ], - "exclude": [ - "dist", - "node_modules", - ] + "include": ["./**/*.ts", "./**/*.js"], + "exclude": ["test", "dist", "node_modules"] } diff --git a/tsconfig.paths.json b/tsconfig.paths.json deleted file mode 100644 index 4d27f0dad..000000000 --- a/tsconfig.paths.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "compilerOptions": { - "paths": { - "src/*": ["src/*"] - } - } -}