auth0-deploy-cli 7.13.1 → 7.14.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/.circleci/config.yml +40 -11
  2. package/.eslintignore +1 -0
  3. package/.github/dependabot.yml +3 -0
  4. package/.nyc_output/1b0a2de3-0dae-4f80-9af7-f45cabfd5e99.json +1 -0
  5. package/.nyc_output/50c50e87-6b9d-4f9f-b6bb-a462368ff653.json +1 -0
  6. package/.nyc_output/cd0c5bb1-9480-4de3-b099-e95349d10f89.json +1 -0
  7. package/.nyc_output/processinfo/1b0a2de3-0dae-4f80-9af7-f45cabfd5e99.json +1 -0
  8. package/.nyc_output/processinfo/50c50e87-6b9d-4f9f-b6bb-a462368ff653.json +1 -0
  9. package/.nyc_output/processinfo/cd0c5bb1-9480-4de3-b099-e95349d10f89.json +1 -0
  10. package/.nyc_output/processinfo/index.json +1 -0
  11. package/.prettierignore +2 -1
  12. package/CHANGELOG.md +34 -1
  13. package/README.md +122 -65
  14. package/coverage/lcov-report/base.css +224 -0
  15. package/coverage/lcov-report/block-navigation.js +87 -0
  16. package/coverage/lcov-report/favicon.png +0 -0
  17. package/coverage/lcov-report/index.html +251 -0
  18. package/coverage/lcov-report/prettify.css +1 -0
  19. package/coverage/lcov-report/prettify.js +2 -0
  20. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  21. package/coverage/lcov-report/sorter.js +196 -0
  22. package/coverage/lcov-report/src/args.ts.html +505 -0
  23. package/coverage/lcov-report/src/commands/export.ts.html +274 -0
  24. package/coverage/lcov-report/src/commands/import.ts.html +250 -0
  25. package/coverage/lcov-report/src/commands/index.html +131 -0
  26. package/coverage/lcov-report/src/configFactory.ts.html +175 -0
  27. package/coverage/lcov-report/src/context/defaults.ts.html +196 -0
  28. package/coverage/lcov-report/src/context/directory/handlers/actions.ts.html +355 -0
  29. package/coverage/lcov-report/src/context/directory/handlers/attackProtection.ts.html +307 -0
  30. package/coverage/lcov-report/src/context/directory/handlers/branding.ts.html +448 -0
  31. package/coverage/lcov-report/src/context/directory/handlers/clientGrants.ts.html +262 -0
  32. package/coverage/lcov-report/src/context/directory/handlers/clients.ts.html +319 -0
  33. package/coverage/lcov-report/src/context/directory/handlers/connections.ts.html +370 -0
  34. package/coverage/lcov-report/src/context/directory/handlers/customDomains.ts.html +223 -0
  35. package/coverage/lcov-report/src/context/directory/handlers/databases.ts.html +544 -0
  36. package/coverage/lcov-report/src/context/directory/handlers/emailProvider.ts.html +241 -0
  37. package/coverage/lcov-report/src/context/directory/handlers/emailTemplates.ts.html +316 -0
  38. package/coverage/lcov-report/src/context/directory/handlers/guardianFactorProviders.ts.html +256 -0
  39. package/coverage/lcov-report/src/context/directory/handlers/guardianFactorTemplates.ts.html +247 -0
  40. package/coverage/lcov-report/src/context/directory/handlers/guardianFactors.ts.html +247 -0
  41. package/coverage/lcov-report/src/context/directory/handlers/guardianPhoneFactorMessageTypes.ts.html +214 -0
  42. package/coverage/lcov-report/src/context/directory/handlers/guardianPhoneFactorSelectedProvider.ts.html +226 -0
  43. package/coverage/lcov-report/src/context/directory/handlers/guardianPolicies.ts.html +214 -0
  44. package/coverage/lcov-report/src/context/directory/handlers/hooks.ts.html +274 -0
  45. package/coverage/lcov-report/src/context/directory/handlers/index.html +551 -0
  46. package/coverage/lcov-report/src/context/directory/handlers/index.ts.html +304 -0
  47. package/coverage/lcov-report/src/context/directory/handlers/logStreams.ts.html +220 -0
  48. package/coverage/lcov-report/src/context/directory/handlers/migrations.ts.html +196 -0
  49. package/coverage/lcov-report/src/context/directory/handlers/organizations.ts.html +289 -0
  50. package/coverage/lcov-report/src/context/directory/handlers/pages.ts.html +334 -0
  51. package/coverage/lcov-report/src/context/directory/handlers/prompts.ts.html +313 -0
  52. package/coverage/lcov-report/src/context/directory/handlers/resourceServers.ts.html +229 -0
  53. package/coverage/lcov-report/src/context/directory/handlers/roles.ts.html +253 -0
  54. package/coverage/lcov-report/src/context/directory/handlers/rules.ts.html +262 -0
  55. package/coverage/lcov-report/src/context/directory/handlers/rulesConfigs.ts.html +193 -0
  56. package/coverage/lcov-report/src/context/directory/handlers/tenant.ts.html +289 -0
  57. package/coverage/lcov-report/src/context/directory/handlers/themes.ts.html +232 -0
  58. package/coverage/lcov-report/src/context/directory/handlers/triggers.ts.html +214 -0
  59. package/coverage/lcov-report/src/context/directory/index.html +116 -0
  60. package/coverage/lcov-report/src/context/directory/index.ts.html +400 -0
  61. package/coverage/lcov-report/src/context/index.html +131 -0
  62. package/coverage/lcov-report/src/context/index.ts.html +475 -0
  63. package/coverage/lcov-report/src/context/yaml/handlers/actions.ts.html +349 -0
  64. package/coverage/lcov-report/src/context/yaml/handlers/attackProtection.ts.html +193 -0
  65. package/coverage/lcov-report/src/context/yaml/handlers/branding.ts.html +391 -0
  66. package/coverage/lcov-report/src/context/yaml/handlers/clientGrants.ts.html +199 -0
  67. package/coverage/lcov-report/src/context/yaml/handlers/clients.ts.html +301 -0
  68. package/coverage/lcov-report/src/context/yaml/handlers/connections.ts.html +394 -0
  69. package/coverage/lcov-report/src/context/yaml/handlers/customDomains.ts.html +151 -0
  70. package/coverage/lcov-report/src/context/yaml/handlers/databases.ts.html +346 -0
  71. package/coverage/lcov-report/src/context/yaml/handlers/emailProvider.ts.html +208 -0
  72. package/coverage/lcov-report/src/context/yaml/handlers/emailTemplates.ts.html +241 -0
  73. package/coverage/lcov-report/src/context/yaml/handlers/guardianFactorProviders.ts.html +151 -0
  74. package/coverage/lcov-report/src/context/yaml/handlers/guardianFactorTemplates.ts.html +151 -0
  75. package/coverage/lcov-report/src/context/yaml/handlers/guardianFactors.ts.html +151 -0
  76. package/coverage/lcov-report/src/context/yaml/handlers/guardianPhoneFactorMessageTypes.ts.html +151 -0
  77. package/coverage/lcov-report/src/context/yaml/handlers/guardianPhoneFactorSelectedProvider.ts.html +169 -0
  78. package/coverage/lcov-report/src/context/yaml/handlers/guardianPolicies.ts.html +151 -0
  79. package/coverage/lcov-report/src/context/yaml/handlers/hooks.ts.html +280 -0
  80. package/coverage/lcov-report/src/context/yaml/handlers/index.html +551 -0
  81. package/coverage/lcov-report/src/context/yaml/handlers/index.ts.html +298 -0
  82. package/coverage/lcov-report/src/context/yaml/handlers/logStreams.ts.html +151 -0
  83. package/coverage/lcov-report/src/context/yaml/handlers/migrations.ts.html +145 -0
  84. package/coverage/lcov-report/src/context/yaml/handlers/organizations.ts.html +235 -0
  85. package/coverage/lcov-report/src/context/yaml/handlers/pages.ts.html +268 -0
  86. package/coverage/lcov-report/src/context/yaml/handlers/prompts.ts.html +154 -0
  87. package/coverage/lcov-report/src/context/yaml/handlers/resourceServers.ts.html +154 -0
  88. package/coverage/lcov-report/src/context/yaml/handlers/roles.ts.html +199 -0
  89. package/coverage/lcov-report/src/context/yaml/handlers/rules.ts.html +253 -0
  90. package/coverage/lcov-report/src/context/yaml/handlers/rulesConfigs.ts.html +181 -0
  91. package/coverage/lcov-report/src/context/yaml/handlers/tenant.ts.html +235 -0
  92. package/coverage/lcov-report/src/context/yaml/handlers/themes.ts.html +154 -0
  93. package/coverage/lcov-report/src/context/yaml/handlers/triggers.ts.html +172 -0
  94. package/coverage/lcov-report/src/context/yaml/index.html +116 -0
  95. package/coverage/lcov-report/src/context/yaml/index.ts.html +568 -0
  96. package/coverage/lcov-report/src/index.html +221 -0
  97. package/coverage/lcov-report/src/index.ts.html +361 -0
  98. package/coverage/lcov-report/src/logger.ts.html +133 -0
  99. package/coverage/lcov-report/src/readonly.ts.html +346 -0
  100. package/coverage/lcov-report/src/sessionDurationsToMinutes.ts.html +154 -0
  101. package/coverage/lcov-report/src/tools/auth0/client.ts.html +604 -0
  102. package/coverage/lcov-report/src/tools/auth0/handlers/actions.ts.html +793 -0
  103. package/coverage/lcov-report/src/tools/auth0/handlers/attackProtection.ts.html +367 -0
  104. package/coverage/lcov-report/src/tools/auth0/handlers/branding.ts.html +427 -0
  105. package/coverage/lcov-report/src/tools/auth0/handlers/clientGrants.ts.html +418 -0
  106. package/coverage/lcov-report/src/tools/auth0/handlers/clients.ts.html +340 -0
  107. package/coverage/lcov-report/src/tools/auth0/handlers/connections.ts.html +598 -0
  108. package/coverage/lcov-report/src/tools/auth0/handlers/customDomains.ts.html +379 -0
  109. package/coverage/lcov-report/src/tools/auth0/handlers/databases.ts.html +436 -0
  110. package/coverage/lcov-report/src/tools/auth0/handlers/default.ts.html +1027 -0
  111. package/coverage/lcov-report/src/tools/auth0/handlers/emailProvider.ts.html +274 -0
  112. package/coverage/lcov-report/src/tools/auth0/handlers/emailTemplates.ts.html +337 -0
  113. package/coverage/lcov-report/src/tools/auth0/handlers/guardianFactorProviders.ts.html +301 -0
  114. package/coverage/lcov-report/src/tools/auth0/handlers/guardianFactorTemplates.ts.html +265 -0
  115. package/coverage/lcov-report/src/tools/auth0/handlers/guardianFactors.ts.html +241 -0
  116. package/coverage/lcov-report/src/tools/auth0/handlers/guardianPhoneFactorMessageTypes.ts.html +337 -0
  117. package/coverage/lcov-report/src/tools/auth0/handlers/guardianPhoneFactorSelectedProvider.ts.html +331 -0
  118. package/coverage/lcov-report/src/tools/auth0/handlers/guardianPolicies.ts.html +256 -0
  119. package/coverage/lcov-report/src/tools/auth0/handlers/hooks.ts.html +829 -0
  120. package/coverage/lcov-report/src/tools/auth0/handlers/index.html +566 -0
  121. package/coverage/lcov-report/src/tools/auth0/handlers/index.ts.html +295 -0
  122. package/coverage/lcov-report/src/tools/auth0/handlers/logStreams.ts.html +346 -0
  123. package/coverage/lcov-report/src/tools/auth0/handlers/migrations.ts.html +319 -0
  124. package/coverage/lcov-report/src/tools/auth0/handlers/organizations.ts.html +949 -0
  125. package/coverage/lcov-report/src/tools/auth0/handlers/pages.ts.html +517 -0
  126. package/coverage/lcov-report/src/tools/auth0/handlers/prompts.ts.html +913 -0
  127. package/coverage/lcov-report/src/tools/auth0/handlers/resourceServers.ts.html +412 -0
  128. package/coverage/lcov-report/src/tools/auth0/handlers/roles.ts.html +751 -0
  129. package/coverage/lcov-report/src/tools/auth0/handlers/rules.ts.html +727 -0
  130. package/coverage/lcov-report/src/tools/auth0/handlers/rulesConfigs.ts.html +256 -0
  131. package/coverage/lcov-report/src/tools/auth0/handlers/tenant.ts.html +466 -0
  132. package/coverage/lcov-report/src/tools/auth0/handlers/themes.ts.html +1882 -0
  133. package/coverage/lcov-report/src/tools/auth0/handlers/triggers.ts.html +430 -0
  134. package/coverage/lcov-report/src/tools/auth0/index.html +146 -0
  135. package/coverage/lcov-report/src/tools/auth0/index.ts.html +355 -0
  136. package/coverage/lcov-report/src/tools/auth0/schema.ts.html +184 -0
  137. package/coverage/lcov-report/src/tools/calculateChanges.ts.html +688 -0
  138. package/coverage/lcov-report/src/tools/constants.ts.html +610 -0
  139. package/coverage/lcov-report/src/tools/deploy.ts.html +181 -0
  140. package/coverage/lcov-report/src/tools/index.html +191 -0
  141. package/coverage/lcov-report/src/tools/index.ts.html +127 -0
  142. package/coverage/lcov-report/src/tools/utils.ts.html +796 -0
  143. package/coverage/lcov-report/src/tools/validationError.ts.html +127 -0
  144. package/coverage/lcov-report/src/types.ts.html +1093 -0
  145. package/coverage/lcov-report/src/utils.ts.html +679 -0
  146. package/coverage/lcov.info +7168 -0
  147. package/docs/available-resource-config-formats.md +19 -0
  148. package/docs/configuring-the-deploy-cli.md +140 -0
  149. package/docs/excluding-from-management.md +81 -0
  150. package/docs/how-to-contribute.md +49 -0
  151. package/docs/keyword-replacement.md +45 -0
  152. package/docs/multi-environment-workflow.md +98 -0
  153. package/docs/terraform-provider.md +20 -0
  154. package/docs/using-as-cli.md +89 -0
  155. package/docs/using-as-node-module.md +114 -0
  156. package/examples/yaml/config.json.example +1 -1
  157. package/lib/context/directory/handlers/connections.js +3 -2
  158. package/lib/context/yaml/handlers/connections.js +5 -2
  159. package/lib/context/yaml/handlers/pages.js +1 -1
  160. package/lib/tools/auth0/handlers/tenant.d.ts +12 -1
  161. package/lib/tools/auth0/handlers/tenant.js +39 -4
  162. package/lib/tools/auth0/handlers/themes.js +11 -3
  163. package/lib/types.d.ts +6 -7
  164. package/lib/utils.d.ts +1 -1
  165. package/package.json +11 -5
@@ -0,0 +1 @@
1
+ {"parent":"50c50e87-6b9d-4f9f-b6bb-a462368ff653","pid":719,"argv":["/home/circleci/.nvm/versions/node/v16.16.0/bin/node","/home/circleci/repo/node_modules/mocha/bin/mocha","-r","/home/circleci/repo/node_modules/ts-mocha/src/index.js","--recursive","test/**/*.test*","--exclude","test/e2e/*","--timeout","5000"],"execArgv":[],"cwd":"/home/circleci/repo","time":1659374822700,"ppid":712,"coverageFilename":"/home/circleci/repo/.nyc_output/1b0a2de3-0dae-4f80-9af7-f45cabfd5e99.json","externalId":"","uuid":"1b0a2de3-0dae-4f80-9af7-f45cabfd5e99","files":["/home/circleci/repo/src/logger.ts","/home/circleci/repo/src/context/index.ts","/home/circleci/repo/src/context/yaml/index.ts","/home/circleci/repo/src/tools/index.ts","/home/circleci/repo/src/tools/constants.ts","/home/circleci/repo/src/tools/deploy.ts","/home/circleci/repo/src/tools/auth0/index.ts","/home/circleci/repo/src/tools/auth0/client.ts","/home/circleci/repo/src/tools/utils.ts","/home/circleci/repo/src/tools/auth0/schema.ts","/home/circleci/repo/src/tools/auth0/handlers/index.ts","/home/circleci/repo/src/tools/auth0/handlers/rules.ts","/home/circleci/repo/src/tools/validationError.ts","/home/circleci/repo/src/tools/auth0/handlers/default.ts","/home/circleci/repo/src/tools/calculateChanges.ts","/home/circleci/repo/src/tools/auth0/handlers/rulesConfigs.ts","/home/circleci/repo/src/tools/auth0/handlers/hooks.ts","/home/circleci/repo/src/tools/auth0/handlers/pages.ts","/home/circleci/repo/src/tools/auth0/handlers/resourceServers.ts","/home/circleci/repo/src/tools/auth0/handlers/databases.ts","/home/circleci/repo/src/tools/auth0/handlers/connections.ts","/home/circleci/repo/src/tools/auth0/handlers/clients.ts","/home/circleci/repo/src/tools/auth0/handlers/tenant.ts","/home/circleci/repo/src/tools/auth0/handlers/emailProvider.ts","/home/circleci/repo/src/tools/auth0/handlers/emailTemplates.ts","/home/circleci/repo/src/tools/auth0/handlers/clientGrants.ts","/home/circleci/repo/src/tools/auth0/handlers/guardianFactors.ts","/home/circleci/repo/src/tools/auth0/handlers/guardianFactorProviders.ts","/home/circleci/repo/src/tools/auth0/handlers/guardianFactorTemplates.ts","/home/circleci/repo/src/tools/auth0/handlers/guardianPolicies.ts","/home/circleci/repo/src/tools/auth0/handlers/guardianPhoneFactorSelectedProvider.ts","/home/circleci/repo/src/tools/auth0/handlers/guardianPhoneFactorMessageTypes.ts","/home/circleci/repo/src/tools/auth0/handlers/roles.ts","/home/circleci/repo/src/tools/auth0/handlers/branding.ts","/home/circleci/repo/src/tools/auth0/handlers/prompts.ts","/home/circleci/repo/src/types.ts","/home/circleci/repo/src/tools/auth0/handlers/migrations.ts","/home/circleci/repo/src/tools/auth0/handlers/actions.ts","/home/circleci/repo/src/tools/auth0/handlers/triggers.ts","/home/circleci/repo/src/tools/auth0/handlers/organizations.ts","/home/circleci/repo/src/tools/auth0/handlers/attackProtection.ts","/home/circleci/repo/src/tools/auth0/handlers/logStreams.ts","/home/circleci/repo/src/tools/auth0/handlers/customDomains.ts","/home/circleci/repo/src/tools/auth0/handlers/themes.ts","/home/circleci/repo/src/utils.ts","/home/circleci/repo/src/context/yaml/handlers/index.ts","/home/circleci/repo/src/context/yaml/handlers/pages.ts","/home/circleci/repo/src/context/yaml/handlers/rules.ts","/home/circleci/repo/src/context/yaml/handlers/hooks.ts","/home/circleci/repo/src/context/yaml/handlers/clients.ts","/home/circleci/repo/src/context/yaml/handlers/tenant.ts","/home/circleci/repo/src/sessionDurationsToMinutes.ts","/home/circleci/repo/src/context/yaml/handlers/emailProvider.ts","/home/circleci/repo/src/context/defaults.ts","/home/circleci/repo/src/context/yaml/handlers/connections.ts","/home/circleci/repo/src/context/yaml/handlers/databases.ts","/home/circleci/repo/src/context/yaml/handlers/emailTemplates.ts","/home/circleci/repo/src/context/yaml/handlers/clientGrants.ts","/home/circleci/repo/src/context/yaml/handlers/rulesConfigs.ts","/home/circleci/repo/src/context/yaml/handlers/resourceServers.ts","/home/circleci/repo/src/context/yaml/handlers/guardianFactors.ts","/home/circleci/repo/src/context/yaml/handlers/guardianFactorProviders.ts","/home/circleci/repo/src/context/yaml/handlers/guardianFactorTemplates.ts","/home/circleci/repo/src/context/yaml/handlers/guardianPhoneFactorMessageTypes.ts","/home/circleci/repo/src/context/yaml/handlers/guardianPhoneFactorSelectedProvider.ts","/home/circleci/repo/src/context/yaml/handlers/guardianPolicies.ts","/home/circleci/repo/src/context/yaml/handlers/roles.ts","/home/circleci/repo/src/context/yaml/handlers/organizations.ts","/home/circleci/repo/src/context/yaml/handlers/migrations.ts","/home/circleci/repo/src/context/yaml/handlers/actions.ts","/home/circleci/repo/src/context/yaml/handlers/triggers.ts","/home/circleci/repo/src/context/yaml/handlers/attackProtection.ts","/home/circleci/repo/src/context/yaml/handlers/branding.ts","/home/circleci/repo/src/context/yaml/handlers/logStreams.ts","/home/circleci/repo/src/context/yaml/handlers/prompts.ts","/home/circleci/repo/src/context/yaml/handlers/customDomains.ts","/home/circleci/repo/src/context/yaml/handlers/themes.ts","/home/circleci/repo/src/readonly.ts","/home/circleci/repo/src/context/directory/index.ts","/home/circleci/repo/src/context/directory/handlers/index.ts","/home/circleci/repo/src/context/directory/handlers/pages.ts","/home/circleci/repo/src/context/directory/handlers/rules.ts","/home/circleci/repo/src/context/directory/handlers/hooks.ts","/home/circleci/repo/src/context/directory/handlers/clients.ts","/home/circleci/repo/src/context/directory/handlers/tenant.ts","/home/circleci/repo/src/context/directory/handlers/emailProvider.ts","/home/circleci/repo/src/context/directory/handlers/connections.ts","/home/circleci/repo/src/context/directory/handlers/databases.ts","/home/circleci/repo/src/context/directory/handlers/emailTemplates.ts","/home/circleci/repo/src/context/directory/handlers/clientGrants.ts","/home/circleci/repo/src/context/directory/handlers/rulesConfigs.ts","/home/circleci/repo/src/context/directory/handlers/resourceServers.ts","/home/circleci/repo/src/context/directory/handlers/guardianFactors.ts","/home/circleci/repo/src/context/directory/handlers/guardianFactorProviders.ts","/home/circleci/repo/src/context/directory/handlers/guardianFactorTemplates.ts","/home/circleci/repo/src/context/directory/handlers/guardianPhoneFactorMessageTypes.ts","/home/circleci/repo/src/context/directory/handlers/guardianPhoneFactorSelectedProvider.ts","/home/circleci/repo/src/context/directory/handlers/guardianPolicies.ts","/home/circleci/repo/src/context/directory/handlers/roles.ts","/home/circleci/repo/src/context/directory/handlers/migrations.ts","/home/circleci/repo/src/context/directory/handlers/actions.ts","/home/circleci/repo/src/context/directory/handlers/organizations.ts","/home/circleci/repo/src/context/directory/handlers/triggers.ts","/home/circleci/repo/src/context/directory/handlers/attackProtection.ts","/home/circleci/repo/src/context/directory/handlers/branding.ts","/home/circleci/repo/src/context/directory/handlers/logStreams.ts","/home/circleci/repo/src/context/directory/handlers/prompts.ts","/home/circleci/repo/src/context/directory/handlers/customDomains.ts","/home/circleci/repo/src/context/directory/handlers/themes.ts","/home/circleci/repo/src/index.ts","/home/circleci/repo/src/args.ts","/home/circleci/repo/src/commands/import.ts","/home/circleci/repo/src/configFactory.ts","/home/circleci/repo/src/commands/export.ts"]}
@@ -0,0 +1 @@
1
+ {"parent":"cd0c5bb1-9480-4de3-b099-e95349d10f89","pid":712,"argv":["/home/circleci/.nvm/versions/node/v16.16.0/bin/node","/home/circleci/repo/node_modules/.bin/ts-mocha","-p","tsconfig.json","--recursive","test/**/*.test*","--exclude","test/e2e/*","--timeout","5000"],"execArgv":[],"cwd":"/home/circleci/repo","time":1659374822594,"ppid":711,"coverageFilename":"/home/circleci/repo/.nyc_output/50c50e87-6b9d-4f9f-b6bb-a462368ff653.json","externalId":"","uuid":"50c50e87-6b9d-4f9f-b6bb-a462368ff653","files":[]}
@@ -0,0 +1 @@
1
+ {"parent":null,"pid":700,"argv":["/home/circleci/.nvm/versions/node/v16.16.0/bin/node","/home/circleci/.nvm/versions/node/v16.16.0/bin/npm","run","test"],"execArgv":[],"cwd":"/home/circleci/repo","time":1659374822249,"ppid":689,"coverageFilename":"/home/circleci/repo/.nyc_output/cd0c5bb1-9480-4de3-b099-e95349d10f89.json","externalId":"","uuid":"cd0c5bb1-9480-4de3-b099-e95349d10f89","files":[]}
@@ -0,0 +1 @@
1
+ {"processes":{"1b0a2de3-0dae-4f80-9af7-f45cabfd5e99":{"parent":"50c50e87-6b9d-4f9f-b6bb-a462368ff653","children":[]},"50c50e87-6b9d-4f9f-b6bb-a462368ff653":{"parent":"cd0c5bb1-9480-4de3-b099-e95349d10f89","children":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"]},"cd0c5bb1-9480-4de3-b099-e95349d10f89":{"parent":null,"children":["50c50e87-6b9d-4f9f-b6bb-a462368ff653"]}},"files":{"/home/circleci/repo/src/logger.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/index.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/yaml/index.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/tools/index.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/tools/constants.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/tools/deploy.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/tools/auth0/index.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/tools/auth0/client.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/tools/utils.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/tools/auth0/schema.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/tools/auth0/handlers/index.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/tools/auth0/handlers/rules.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/tools/validationError.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/tools/auth0/handlers/default.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/tools/calculateChanges.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/tools/auth0/handlers/rulesConfigs.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/tools/auth0/handlers/hooks.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/tools/auth0/handlers/pages.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/tools/auth0/handlers/resourceServers.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/tools/auth0/handlers/databases.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/tools/auth0/handlers/connections.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/tools/auth0/handlers/clients.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/tools/auth0/handlers/tenant.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/tools/auth0/handlers/emailProvider.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/tools/auth0/handlers/emailTemplates.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/tools/auth0/handlers/clientGrants.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/tools/auth0/handlers/guardianFactors.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/tools/auth0/handlers/guardianFactorProviders.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/tools/auth0/handlers/guardianFactorTemplates.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/tools/auth0/handlers/guardianPolicies.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/tools/auth0/handlers/guardianPhoneFactorSelectedProvider.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/tools/auth0/handlers/guardianPhoneFactorMessageTypes.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/tools/auth0/handlers/roles.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/tools/auth0/handlers/branding.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/tools/auth0/handlers/prompts.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/types.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/tools/auth0/handlers/migrations.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/tools/auth0/handlers/actions.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/tools/auth0/handlers/triggers.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/tools/auth0/handlers/organizations.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/tools/auth0/handlers/attackProtection.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/tools/auth0/handlers/logStreams.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/tools/auth0/handlers/customDomains.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/tools/auth0/handlers/themes.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/utils.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/yaml/handlers/index.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/yaml/handlers/pages.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/yaml/handlers/rules.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/yaml/handlers/hooks.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/yaml/handlers/clients.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/yaml/handlers/tenant.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/sessionDurationsToMinutes.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/yaml/handlers/emailProvider.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/defaults.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/yaml/handlers/connections.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/yaml/handlers/databases.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/yaml/handlers/emailTemplates.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/yaml/handlers/clientGrants.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/yaml/handlers/rulesConfigs.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/yaml/handlers/resourceServers.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/yaml/handlers/guardianFactors.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/yaml/handlers/guardianFactorProviders.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/yaml/handlers/guardianFactorTemplates.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/yaml/handlers/guardianPhoneFactorMessageTypes.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/yaml/handlers/guardianPhoneFactorSelectedProvider.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/yaml/handlers/guardianPolicies.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/yaml/handlers/roles.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/yaml/handlers/organizations.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/yaml/handlers/migrations.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/yaml/handlers/actions.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/yaml/handlers/triggers.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/yaml/handlers/attackProtection.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/yaml/handlers/branding.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/yaml/handlers/logStreams.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/yaml/handlers/prompts.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/yaml/handlers/customDomains.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/yaml/handlers/themes.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/readonly.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/directory/index.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/directory/handlers/index.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/directory/handlers/pages.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/directory/handlers/rules.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/directory/handlers/hooks.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/directory/handlers/clients.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/directory/handlers/tenant.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/directory/handlers/emailProvider.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/directory/handlers/connections.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/directory/handlers/databases.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/directory/handlers/emailTemplates.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/directory/handlers/clientGrants.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/directory/handlers/rulesConfigs.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/directory/handlers/resourceServers.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/directory/handlers/guardianFactors.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/directory/handlers/guardianFactorProviders.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/directory/handlers/guardianFactorTemplates.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/directory/handlers/guardianPhoneFactorMessageTypes.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/directory/handlers/guardianPhoneFactorSelectedProvider.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/directory/handlers/guardianPolicies.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/directory/handlers/roles.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/directory/handlers/migrations.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/directory/handlers/actions.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/directory/handlers/organizations.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/directory/handlers/triggers.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/directory/handlers/attackProtection.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/directory/handlers/branding.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/directory/handlers/logStreams.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/directory/handlers/prompts.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/directory/handlers/customDomains.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/context/directory/handlers/themes.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/index.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/args.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/commands/import.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/configFactory.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"],"/home/circleci/repo/src/commands/export.ts":["1b0a2de3-0dae-4f80-9af7-f45cabfd5e99"]},"externalIds":{}}
package/.prettierignore CHANGED
@@ -7,4 +7,5 @@ lib
7
7
  node_modules
8
8
  examples
9
9
  test/**/*.json
10
- test/**/*.yaml
10
+ test/**/*.yaml
11
+ test/e2e/testdata
package/CHANGELOG.md CHANGED
@@ -7,6 +7,30 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [7.14.2] - 2022-08-01
11
+
12
+ ### Fixed
13
+
14
+ - Allowing updating of branding themes when used in conjunction with `--export_ids` flag [#603]
15
+ - Halting deploy process if passwordless email template does not exist [#617]
16
+
17
+ ## [7.14.1] - 2022-06-29
18
+
19
+ ### Fixed
20
+
21
+ - Reverting unreplaced keyword mapping detection that would trigger some false-positives [#597]
22
+
23
+ ## [7.14.0] - 2022-06-27
24
+
25
+ ### Added
26
+
27
+ - Validation to detect unreplaced keyword mappings during import [#591]
28
+
29
+ ### Fixed
30
+
31
+ - Detect and prevent `You are not allowed to set flag '<SOME_FLAG>' for this tenant.` errors when erroneously setting non-configurable migration flag [#590]
32
+ - Crash when attempting to create page templates from undefined value [#592]
33
+
10
34
  ## [7.13.1] - 2022-06-13
11
35
 
12
36
  ### Fixed
@@ -776,7 +800,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
776
800
  [#554]: https://github.com/auth0/auth0-deploy-cli/issues/554
777
801
  [#563]: https://github.com/auth0/auth0-deploy-cli/issues/563
778
802
  [#577]: https://github.com/auth0/auth0-deploy-cli/issues/577
779
- [unreleased]: https://github.com/auth0/auth0-deploy-cli/compare/v7.13.1...HEAD
803
+ [#590]: https://github.com/auth0/auth0-deploy-cli/issues/590
804
+ [#591]: https://github.com/auth0/auth0-deploy-cli/issues/591
805
+ [#592]: https://github.com/auth0/auth0-deploy-cli/issues/592
806
+ [#597]: https://github.com/auth0/auth0-deploy-cli/issues/597
807
+ [#603]: https://github.com/auth0/auth0-deploy-cli/issues/603
808
+ [#617]: https://github.com/auth0/auth0-deploy-cli/issues/617
809
+ [unreleased]: https://github.com/auth0/auth0-deploy-cli/compare/v7.14.2...HEAD
810
+ [7.14.2]: https://github.com/auth0/auth0-deploy-cli/compare/v7.14.1...v7.14.2
811
+ [7.14.1]: https://github.com/auth0/auth0-deploy-cli/compare/v7.14.0...v7.14.1
812
+ [7.14.0]: https://github.com/auth0/auth0-deploy-cli/compare/v7.13.1...v7.14.0
780
813
  [7.13.1]: https://github.com/auth0/auth0-deploy-cli/compare/v7.13.0...v7.13.1
781
814
  [7.13.0]: https://github.com/auth0/auth0-deploy-cli/compare/v7.12.3...v7.13.0
782
815
  [7.12.3]: https://github.com/auth0/auth0-deploy-cli/compare/v7.12.2...v7.12.3
package/README.md CHANGED
@@ -1,65 +1,122 @@
1
- # Auth0 Deploy CLI
2
-
3
- Auth0 supports continuous integration and deployment (CI/CD) of Auth0 Tenants and integration into existing CI/CD pipelines by using this **auth0-deploy-cli** tool.
4
-
5
- The `auth0-deploy-cli` tool supports the importing and exporting of Auth0 Tenant configuration data.
6
-
7
- Supported Auth0 Management API resources
8
-
9
- - [x] [Actions](https://auth0.com/docs/api/management/v2/#!/Actions/get_actions)
10
- - [x] [Branding](https://auth0.com/docs/api/management/v2/#!/Branding/get_branding)
11
- - [x] [Clients (Applications)](https://auth0.com/docs/api/management/v2#!/Clients/get_clients)
12
- - [x] [Client Grants](https://auth0.com/docs/api/management/v2#!/Client_Grants/get_client_grants)
13
- - [x] [Connections](https://auth0.com/docs/api/management/v2#!/Connections/get_connections)
14
- - [ ] [Custom Domains](https://auth0.com/docs/api/management/v2#!/Custom_Domains/get_custom_domains)
15
- - [ ] [Device Credentials](https://auth0.com/docs/api/management/v2#!/Device_Credentials/get_device_credentials)
16
- - [x] [Grants](https://auth0.com/docs/api/management/v2#!/Grants/get_grants)
17
- - [x] [Hooks](https://auth0.com/docs/api/management/v2#!/Hooks/get_hooks)
18
- - [x] [Hook Secrets](https://auth0.com/docs/api/management/v2/#!/Hooks/get_secrets)
19
- - [x] [Log Streams](https://auth0.com/docs/api/management/v2#!/Log_Streams/get_log_streams)
20
- - [ ] [Logs](https://auth0.com/docs/api/management/v2#!/Logs/get_logs)
21
- - [x] [Organizations](https://auth0.com/docs/api/management/v2#!/Organizations/get_organizations)
22
- - [x] [Prompts](https://auth0.com/docs/api/management/v2#!/Prompts/get_prompts)
23
- - [x] [Resource Servers (APIs)](https://auth0.com/docs/api/management/v2#!/Resource_Servers/get_resource_servers)
24
- - [x] [Roles](https://auth0.com/docs/api/management/v2#!/Roles)
25
- - [x] [Rules](https://auth0.com/docs/api/management/v2#!/Rules/get_rules)
26
- - [x] [Rules Configs](https://auth0.com/docs/api/management/v2#!/Rules_Configs/get_rules_configs)
27
- - [ ] [User Blocks](https://auth0.com/docs/api/management/v2#!/User_Blocks/get_user_blocks)
28
- - [ ] [Users](https://auth0.com/docs/api/management/v2#!/Users/get_users)
29
- - [ ] [Users By Email](https://auth0.com/docs/api/management/v2#!/Users_By_Email/get_users_by_email)
30
- - [ ] [Blacklists](https://auth0.com/docs/api/management/v2#!/Blacklists/get_tokens)
31
- - [x] [Email Templates](https://auth0.com/docs/api/management/v2#!/Email_Templates/get_email_templates_by_templateName)
32
- - [x] [Emails](https://auth0.com/docs/api/management/v2#!/Emails/get_provider)
33
- - [x] [Guardian](https://auth0.com/docs/api/management/v2#!/Guardian/get_factors)
34
- - [ ] [Jobs](https://auth0.com/docs/api/management/v2#!/Jobs/get_jobs_by_id)
35
- - [ ] [Stats](https://auth0.com/docs/api/management/v2#!/Stats/get_active_users)
36
- - [x] [Tenants (Pages and Migrations)](https://auth0.com/docs/api/management/v2#!/Tenants/get_settings)
37
- - [ ] [Anomaly](https://auth0.com/docs/api/management/v2#!/Anomaly/get_ips_by_id)
38
- - [ ] [Tickets](https://auth0.com/docs/api/management/v2#!/Tickets/post_email_verification)
39
- - [ ] [Signing Keys](https://auth0.com/docs/api/management/v2#!/Keys/get_signing_keys)
40
-
41
- # Before you begin
42
-
43
- - This tool can be destructive to your Auth0 tenant. Please ensure you have read the documentation and tested the tool on a development tenant before using it in production.
44
- - Entities created using this tool may share user data with or receive user data from 3rd parties. Please see the [documentation for the individual Management endpoints](https://auth0.com/docs/api/management/v2) for details.
45
-
46
- # Documentation
47
-
48
- Please visit Auth0 Doc for this [Deploy CLI Tool](https://auth0.com/docs/deploy/deploy-cli-tool)
49
-
50
- # Integrating with popular CI/CD pipelines
51
-
52
- Please visit Auth0 Marketplace Guide for:
53
-
54
- - [Azure Pipelines](https://marketplace.auth0.com/integrations/azure-pipeline)
55
- - [Bitbucket Pipelines](https://marketplace.auth0.com/integrations/bitbucket-pipeline)
56
- - [GitLab Pipelines](https://marketplace.auth0.com/integrations/gitlab-pipeline)
57
- - [GitHub Actions](https://marketplace.auth0.com/integrations/github-actions)
58
-
59
- # Known issues
60
-
61
- See https://github.com/auth0/auth0-deploy-cli/issues
62
-
63
- # License
64
-
65
- MIT
1
+ <div align="center">
2
+ <h1>Auth0 Deploy CLI</h1>
3
+
4
+ [![npm version](https://badge.fury.io/js/auth0-deploy-cli.svg)](https://badge.fury.io/js/auth0-deploy-cli)
5
+ [![CircleCI](https://circleci.com/gh/auth0/auth0-deploy-cli/tree/master.svg?style=svg)](https://circleci.com/gh/auth0/auth0-deploy-cli/tree/master)
6
+ [![codecov](https://codecov.io/gh/auth0/auth0-deploy-cli/branch/master/graph/badge.svg)](https://codecov.io/gh/auth0/auth0-deploy-cli)
7
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
8
+
9
+ </div>
10
+
11
+ The Auth0 Deploy CLI is a tool that helps you manage your Auth0 tenant configuration. It integrates into your development workflows as a standalone CLI or as a node module.
12
+
13
+ **Supported resource types:** actions, branding, client grants, clients (applications), connections, custom domains, email templates, emails, grants, guardian, hook secrets, hooks, log streams, migrations, organizations, pages, prompts, resource servers (APIs), roles, rules, rules configs, tenant settings, themes.
14
+
15
+ ## Highlights
16
+
17
+ - **Multi-Environment Oriented:** Designed to help you test your applications' Auth0 integrations from feature branch all the way to production.
18
+ - **Keyword Replacement:** Shared resource configurations across all environments with dynamic keyword replacement.
19
+ - **Versatile:** Integrate into your CI/CD workflows either as a CLI or as a Node module.
20
+
21
+ ## Documentation
22
+
23
+ - [Using as a CLI](docs/using-as-cli.md)
24
+ - [Using as a Node Module](docs/using-as-node-module.md)
25
+ - [Configuring the Deploy CLI](docs/configuring-the-deploy-cli.md)
26
+ - [Keyword Replacement](docs/keyword-replacement.md)
27
+ - [Incorporating Into Multi-environment Workflows](docs/multi-environment-workflow.md)
28
+ - [Excluding Resources From Management](docs/excluding-from-management.md)
29
+ - [Available Resource Formats](docs/available-resource-config-formats.md)
30
+ - [Terraform Provider](docs/terraform-provider.md)
31
+ - [How to Contribute](docs/how-to-contribute.md)
32
+
33
+ ## Getting Started
34
+
35
+ This guide will help you to a working implementation of the Deploy CLI tool used as a standalone CLI. There are three main steps before the Deploy CLI can be run:
36
+
37
+ 1. [Create a Dedicated Auth0 Application](#create-a-dedicated-auth0-application)
38
+ 2. [Configure the Deploy CLI](#configure-the-deploy-cli)
39
+ 3. [Calling the Deploy CLI](#calling-the-deploy-cli)
40
+
41
+ > ⚠️ **NOTE:** This tool can be destructive to your Auth0 tenant. It is recommended to be familiar with the [`AUTH0_ALLOW_DELETE` configuration](docs/configuring-the-deploy-cli.md#auth0allowdelete) and to test on development tenants prior to using in production.
42
+
43
+ ### Prerequisites
44
+
45
+ - [Node](https://nodejs.dev/) version 10 or greater
46
+ - [Auth0 Tenant](https://auth0.com/)
47
+
48
+ ### Install the Deploy CLI
49
+
50
+ To run as a standalone command-line tool:
51
+
52
+ ```shell
53
+ npm install -g auth0-deploy-cli
54
+ ```
55
+
56
+ ### Create a dedicated Auth0 Application
57
+
58
+ In order for the Deploy CLI to call the Management API, a dedicated Auth0 application must be created to make calls on behalf of the tool.
59
+
60
+ 1. From the Auth0 dashboard, navigate to **Applications > Applications**
61
+ 2. Click “Create Application”
62
+ 3. On Create application page:
63
+ a. Name it “Deploy CLI” or similar
64
+ b. Select “Machine to Machine Applications” as application type
65
+ c. Click “Create”
66
+ 4. On the “Authorize Machine to Machine Application” page
67
+ a. Select “Auth0 Management API”
68
+ b. Select the appropriate permissions for the resources you wish to manage. Refer to the [Client Scopes](#client-scopes) section for more information.
69
+ c. Click “Authorize”
70
+
71
+ #### Client Scopes
72
+
73
+ The designated application needs to be granted scopes in order to allow the Deploy CLI to execute Management operations.
74
+
75
+ The principle of least privilege is abided, so it will operate within the set of permissions granted. At a minimum, `read:clients` need to be selected, but is is recommended to select `read:`, `create:` and `update:` permissions for all resource types within management purview. To enable deletions, the `delete:` scopes are also necessary.
76
+
77
+ ### Configure the Deploy CLI
78
+
79
+ The Deploy CLI can be configured two ways, through a `config.json` file and through environment variables. The decision to choose one or both would depend on your specific use case and preferences. More comprehensive information about configuring the tool can be found on the [Configuring the Deploy CLI](docs/configuring-the-deploy-cli.md) page. However, for this example, the simplest way to get going is by setting the following environment variables:
80
+
81
+ - `AUTH0_DOMAIN`
82
+ - `AUTH0_CLIENT_ID`
83
+ - `AUTH0_CLIENT_SECRET`
84
+
85
+ These values can be found in the “Settings” tab within the Auth0 application created in the previous step.
86
+
87
+ ### Calling the Deploy CLI
88
+
89
+ Finally, with above complete, the Deploy CLI export command can be run:
90
+
91
+ ```shell
92
+ a0deploy export --format=yaml --output_folder=local
93
+ ```
94
+
95
+ Once the process completes, observe the resource configuration files generated in the `local` directory. Then, run the import command, which pushes configuration from the local machine to your Auth0 tenant:
96
+
97
+ ```shell
98
+ a0deploy import -c=config.json --input_file local/tenant.yaml
99
+ ```
100
+
101
+ ## Issue Reporting
102
+
103
+ For general support or usage questions, use the [Auth0 Community](https://community.auth0.com/tag/deploy-cli) forums or raise a [support ticket](https://support.auth0.com/). Only [raise an issue](https://github.com/auth0/auth0-deploy-cli/issues) if you have found a bug or want to request a feature.
104
+
105
+ **Do not report security vulnerabilities on the public GitHub issue tracker.** The [Responsible Disclosure Program](https://auth0.com/responsible-disclosure-policy) details the procedure for disclosing security issues.
106
+
107
+ ## What is Auth0?
108
+
109
+ Auth0 helps you to:
110
+
111
+ - Add authentication with [multiple sources](https://auth0.com/docs/authenticate/identity-providers), either social identity providers such as **Google, Facebook, Microsoft Account, LinkedIn, GitHub, Twitter, Box, Salesforce** (amongst others), or enterprise identity systems like **Windows Azure AD, Google Apps, Active Directory, ADFS, or any SAML identity provider**.
112
+ - Add authentication through more traditional **[username/password databases](https://auth0.com/docs/authenticate/database-connections/custom-db)**.
113
+ - Add support for **[linking different user accounts](https://auth0.com/docs/manage-users/user-accounts/user-account-linking)** with the same user.
114
+ - Support for generating signed [JSON Web Tokens](https://auth0.com/docs/secure/tokens/json-web-tokens) to call your APIs and **flow the user identity** securely.
115
+ - Analytics of how, when, and where users are logging in.
116
+ - Pull data from other sources and add it to the user profile through [JavaScript Actions](https://auth0.com/docs/customize/actions).
117
+
118
+ **Why Auth0?** Because you should save time, be happy, and focus on what really matters: building your product.
119
+
120
+ ## License
121
+
122
+ This project is licensed under the MIT license. See the [LICENSE](LICENSE) file for more information.
@@ -0,0 +1,224 @@
1
+ body, html {
2
+ margin:0; padding: 0;
3
+ height: 100%;
4
+ }
5
+ body {
6
+ font-family: Helvetica Neue, Helvetica, Arial;
7
+ font-size: 14px;
8
+ color:#333;
9
+ }
10
+ .small { font-size: 12px; }
11
+ *, *:after, *:before {
12
+ -webkit-box-sizing:border-box;
13
+ -moz-box-sizing:border-box;
14
+ box-sizing:border-box;
15
+ }
16
+ h1 { font-size: 20px; margin: 0;}
17
+ h2 { font-size: 14px; }
18
+ pre {
19
+ font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace;
20
+ margin: 0;
21
+ padding: 0;
22
+ -moz-tab-size: 2;
23
+ -o-tab-size: 2;
24
+ tab-size: 2;
25
+ }
26
+ a { color:#0074D9; text-decoration:none; }
27
+ a:hover { text-decoration:underline; }
28
+ .strong { font-weight: bold; }
29
+ .space-top1 { padding: 10px 0 0 0; }
30
+ .pad2y { padding: 20px 0; }
31
+ .pad1y { padding: 10px 0; }
32
+ .pad2x { padding: 0 20px; }
33
+ .pad2 { padding: 20px; }
34
+ .pad1 { padding: 10px; }
35
+ .space-left2 { padding-left:55px; }
36
+ .space-right2 { padding-right:20px; }
37
+ .center { text-align:center; }
38
+ .clearfix { display:block; }
39
+ .clearfix:after {
40
+ content:'';
41
+ display:block;
42
+ height:0;
43
+ clear:both;
44
+ visibility:hidden;
45
+ }
46
+ .fl { float: left; }
47
+ @media only screen and (max-width:640px) {
48
+ .col3 { width:100%; max-width:100%; }
49
+ .hide-mobile { display:none!important; }
50
+ }
51
+
52
+ .quiet {
53
+ color: #7f7f7f;
54
+ color: rgba(0,0,0,0.5);
55
+ }
56
+ .quiet a { opacity: 0.7; }
57
+
58
+ .fraction {
59
+ font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;
60
+ font-size: 10px;
61
+ color: #555;
62
+ background: #E8E8E8;
63
+ padding: 4px 5px;
64
+ border-radius: 3px;
65
+ vertical-align: middle;
66
+ }
67
+
68
+ div.path a:link, div.path a:visited { color: #333; }
69
+ table.coverage {
70
+ border-collapse: collapse;
71
+ margin: 10px 0 0 0;
72
+ padding: 0;
73
+ }
74
+
75
+ table.coverage td {
76
+ margin: 0;
77
+ padding: 0;
78
+ vertical-align: top;
79
+ }
80
+ table.coverage td.line-count {
81
+ text-align: right;
82
+ padding: 0 5px 0 20px;
83
+ }
84
+ table.coverage td.line-coverage {
85
+ text-align: right;
86
+ padding-right: 10px;
87
+ min-width:20px;
88
+ }
89
+
90
+ table.coverage td span.cline-any {
91
+ display: inline-block;
92
+ padding: 0 5px;
93
+ width: 100%;
94
+ }
95
+ .missing-if-branch {
96
+ display: inline-block;
97
+ margin-right: 5px;
98
+ border-radius: 3px;
99
+ position: relative;
100
+ padding: 0 4px;
101
+ background: #333;
102
+ color: yellow;
103
+ }
104
+
105
+ .skip-if-branch {
106
+ display: none;
107
+ margin-right: 10px;
108
+ position: relative;
109
+ padding: 0 4px;
110
+ background: #ccc;
111
+ color: white;
112
+ }
113
+ .missing-if-branch .typ, .skip-if-branch .typ {
114
+ color: inherit !important;
115
+ }
116
+ .coverage-summary {
117
+ border-collapse: collapse;
118
+ width: 100%;
119
+ }
120
+ .coverage-summary tr { border-bottom: 1px solid #bbb; }
121
+ .keyline-all { border: 1px solid #ddd; }
122
+ .coverage-summary td, .coverage-summary th { padding: 10px; }
123
+ .coverage-summary tbody { border: 1px solid #bbb; }
124
+ .coverage-summary td { border-right: 1px solid #bbb; }
125
+ .coverage-summary td:last-child { border-right: none; }
126
+ .coverage-summary th {
127
+ text-align: left;
128
+ font-weight: normal;
129
+ white-space: nowrap;
130
+ }
131
+ .coverage-summary th.file { border-right: none !important; }
132
+ .coverage-summary th.pct { }
133
+ .coverage-summary th.pic,
134
+ .coverage-summary th.abs,
135
+ .coverage-summary td.pct,
136
+ .coverage-summary td.abs { text-align: right; }
137
+ .coverage-summary td.file { white-space: nowrap; }
138
+ .coverage-summary td.pic { min-width: 120px !important; }
139
+ .coverage-summary tfoot td { }
140
+
141
+ .coverage-summary .sorter {
142
+ height: 10px;
143
+ width: 7px;
144
+ display: inline-block;
145
+ margin-left: 0.5em;
146
+ background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent;
147
+ }
148
+ .coverage-summary .sorted .sorter {
149
+ background-position: 0 -20px;
150
+ }
151
+ .coverage-summary .sorted-desc .sorter {
152
+ background-position: 0 -10px;
153
+ }
154
+ .status-line { height: 10px; }
155
+ /* yellow */
156
+ .cbranch-no { background: yellow !important; color: #111; }
157
+ /* dark red */
158
+ .red.solid, .status-line.low, .low .cover-fill { background:#C21F39 }
159
+ .low .chart { border:1px solid #C21F39 }
160
+ .highlighted,
161
+ .highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{
162
+ background: #C21F39 !important;
163
+ }
164
+ /* medium red */
165
+ .cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE }
166
+ /* light red */
167
+ .low, .cline-no { background:#FCE1E5 }
168
+ /* light green */
169
+ .high, .cline-yes { background:rgb(230,245,208) }
170
+ /* medium green */
171
+ .cstat-yes { background:rgb(161,215,106) }
172
+ /* dark green */
173
+ .status-line.high, .high .cover-fill { background:rgb(77,146,33) }
174
+ .high .chart { border:1px solid rgb(77,146,33) }
175
+ /* dark yellow (gold) */
176
+ .status-line.medium, .medium .cover-fill { background: #f9cd0b; }
177
+ .medium .chart { border:1px solid #f9cd0b; }
178
+ /* light yellow */
179
+ .medium { background: #fff4c2; }
180
+
181
+ .cstat-skip { background: #ddd; color: #111; }
182
+ .fstat-skip { background: #ddd; color: #111 !important; }
183
+ .cbranch-skip { background: #ddd !important; color: #111; }
184
+
185
+ span.cline-neutral { background: #eaeaea; }
186
+
187
+ .coverage-summary td.empty {
188
+ opacity: .5;
189
+ padding-top: 4px;
190
+ padding-bottom: 4px;
191
+ line-height: 1;
192
+ color: #888;
193
+ }
194
+
195
+ .cover-fill, .cover-empty {
196
+ display:inline-block;
197
+ height: 12px;
198
+ }
199
+ .chart {
200
+ line-height: 0;
201
+ }
202
+ .cover-empty {
203
+ background: white;
204
+ }
205
+ .cover-full {
206
+ border-right: none !important;
207
+ }
208
+ pre.prettyprint {
209
+ border: none !important;
210
+ padding: 0 !important;
211
+ margin: 0 !important;
212
+ }
213
+ .com { color: #999 !important; }
214
+ .ignore-none { color: #999; font-weight: normal; }
215
+
216
+ .wrapper {
217
+ min-height: 100%;
218
+ height: auto !important;
219
+ height: 100%;
220
+ margin: 0 auto -48px;
221
+ }
222
+ .footer, .push {
223
+ height: 48px;
224
+ }
@@ -0,0 +1,87 @@
1
+ /* eslint-disable */
2
+ var jumpToCode = (function init() {
3
+ // Classes of code we would like to highlight in the file view
4
+ var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no'];
5
+
6
+ // Elements to highlight in the file listing view
7
+ var fileListingElements = ['td.pct.low'];
8
+
9
+ // We don't want to select elements that are direct descendants of another match
10
+ var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > `
11
+
12
+ // Selecter that finds elements on the page to which we can jump
13
+ var selector =
14
+ fileListingElements.join(', ') +
15
+ ', ' +
16
+ notSelector +
17
+ missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b`
18
+
19
+ // The NodeList of matching elements
20
+ var missingCoverageElements = document.querySelectorAll(selector);
21
+
22
+ var currentIndex;
23
+
24
+ function toggleClass(index) {
25
+ missingCoverageElements
26
+ .item(currentIndex)
27
+ .classList.remove('highlighted');
28
+ missingCoverageElements.item(index).classList.add('highlighted');
29
+ }
30
+
31
+ function makeCurrent(index) {
32
+ toggleClass(index);
33
+ currentIndex = index;
34
+ missingCoverageElements.item(index).scrollIntoView({
35
+ behavior: 'smooth',
36
+ block: 'center',
37
+ inline: 'center'
38
+ });
39
+ }
40
+
41
+ function goToPrevious() {
42
+ var nextIndex = 0;
43
+ if (typeof currentIndex !== 'number' || currentIndex === 0) {
44
+ nextIndex = missingCoverageElements.length - 1;
45
+ } else if (missingCoverageElements.length > 1) {
46
+ nextIndex = currentIndex - 1;
47
+ }
48
+
49
+ makeCurrent(nextIndex);
50
+ }
51
+
52
+ function goToNext() {
53
+ var nextIndex = 0;
54
+
55
+ if (
56
+ typeof currentIndex === 'number' &&
57
+ currentIndex < missingCoverageElements.length - 1
58
+ ) {
59
+ nextIndex = currentIndex + 1;
60
+ }
61
+
62
+ makeCurrent(nextIndex);
63
+ }
64
+
65
+ return function jump(event) {
66
+ if (
67
+ document.getElementById('fileSearch') === document.activeElement &&
68
+ document.activeElement != null
69
+ ) {
70
+ // if we're currently focused on the search input, we don't want to navigate
71
+ return;
72
+ }
73
+
74
+ switch (event.which) {
75
+ case 78: // n
76
+ case 74: // j
77
+ goToNext();
78
+ break;
79
+ case 66: // b
80
+ case 75: // k
81
+ case 80: // p
82
+ goToPrevious();
83
+ break;
84
+ }
85
+ };
86
+ })();
87
+ window.addEventListener('keydown', jumpToCode);
Binary file