auth0-deploy-cli 8.29.1 → 8.29.3

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.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [8.29.3] - 2026-03-25
11
+
12
+ ### Fixed
13
+
14
+ - Fix Universal Login Authentication Profile reverting to Identifier+Password after import when branding is included. [#1333]
15
+ - Fix efficiency and reliability of fetching `enabled_clients` for `connections`. [#1334]
16
+
17
+ ## [8.29.2] - 2026-03-17
18
+
19
+ ### Fixed
20
+
21
+ - Fix false-positive deprecation warning for `cross_origin_auth` when `cross_origin_authentication` is correctly used in config. [#1322]
22
+
10
23
  ## [8.29.1] - 2026-03-12
11
24
 
12
25
  ### Fixed
@@ -1678,7 +1691,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1678
1691
  [#1311]: https://github.com/auth0/auth0-deploy-cli/issues/1311
1679
1692
  [#1320]: https://github.com/auth0/auth0-deploy-cli/issues/1320
1680
1693
  [#1321]: https://github.com/auth0/auth0-deploy-cli/issues/1321
1681
- [Unreleased]: https://github.com/auth0/auth0-deploy-cli/compare/v8.29.1...HEAD
1694
+ [#1322]: https://github.com/auth0/auth0-deploy-cli/issues/1322
1695
+ [#1333]: https://github.com/auth0/auth0-deploy-cli/issues/1333
1696
+ [#1334]: https://github.com/auth0/auth0-deploy-cli/issues/1334
1697
+ [Unreleased]: https://github.com/auth0/auth0-deploy-cli/compare/v8.29.3...HEAD
1698
+ [8.29.3]: https://github.com/auth0/auth0-deploy-cli/compare/v8.29.2...v8.29.3
1699
+ [8.29.2]: https://github.com/auth0/auth0-deploy-cli/compare/v8.29.1...v8.29.2
1682
1700
  [8.29.1]: https://github.com/auth0/auth0-deploy-cli/compare/v8.29.0...v8.29.1
1683
1701
  [8.29.0]: https://github.com/auth0/auth0-deploy-cli/compare/v8.28.0...v8.29.0
1684
1702
  [8.28.0]: https://github.com/auth0/auth0-deploy-cli/compare/v8.27.0...v8.28.0
@@ -324,7 +324,7 @@ exports.schema = {
324
324
  const createClientSanitizer = (clients) => {
325
325
  let sanitized = clients;
326
326
  return {
327
- sanitizeCrossOriginAuth() {
327
+ sanitizeCrossOriginAuth(warn = true) {
328
328
  const deprecatedClients = [];
329
329
  sanitized = sanitized.map((client) => {
330
330
  let updated = { ...client };
@@ -338,9 +338,8 @@ const createClientSanitizer = (clients) => {
338
338
  }
339
339
  return updated;
340
340
  });
341
- if (deprecatedClients.length > 0) {
342
- logger_1.default.warn("The 'cross_origin_auth' parameter is deprecated in clients and scheduled for removal in future releases.\n" +
343
- `Use 'cross_origin_authentication' going forward. Clients using the deprecated setting: [${deprecatedClients.join(', ')}]`);
341
+ if (warn && deprecatedClients.length > 0) {
342
+ logger_1.default.warn("The 'cross_origin_auth' parameter is deprecated. Use 'cross_origin_authentication' going forward.");
344
343
  }
345
344
  return this;
346
345
  },
@@ -451,7 +450,7 @@ class ClientHandler extends default_1.default {
451
450
  is_global: false,
452
451
  ...((0, utils_1.shouldExcludeThirdPartyClients)(this.config) && { is_first_party: true }),
453
452
  });
454
- this.existing = createClientSanitizer(clients).sanitizeCrossOriginAuth().get();
453
+ this.existing = createClientSanitizer(clients).sanitizeCrossOriginAuth(false).get();
455
454
  return this.existing;
456
455
  }
457
456
  // convert names back to IDs for express configuration
@@ -166,10 +166,18 @@ const getConnectionEnabledClients = async (auth0Client, connectionId) => {
166
166
  if (!connectionId)
167
167
  return null;
168
168
  try {
169
- const enabledClients = await (0, client_1.paginate)((params) => auth0Client.connections.clients.get(connectionId, params), { checkpoint: true, take: 100 });
169
+ logger_1.default.debug(`Getting enabled clients for connection ${connectionId}`);
170
+ const enabledClients = [];
171
+ let page = await auth0Client.connections.clients.get(connectionId, { take: 100 });
172
+ enabledClients.push(...(page.data || []));
173
+ while (page.hasNextPage && page.hasNextPage()) {
174
+ page = await page.getNextPage();
175
+ enabledClients.push(...(page.data || []));
176
+ }
170
177
  return enabledClients.filter((client) => !!client?.client_id).map((client) => client.client_id);
171
178
  }
172
179
  catch (error) {
180
+ logger_1.default.warn(`Unable to retrieve enabled clients for connection ${connectionId}: ${error?.message}`);
173
181
  return null;
174
182
  }
175
183
  };
@@ -473,27 +481,35 @@ class ConnectionsHandler extends default_1.default {
473
481
  this.existing = filteredConnections;
474
482
  if (this.existing === null)
475
483
  return [];
476
- const connectionsWithEnabledClients = await Promise.all(filteredConnections.map(async (con) => {
477
- if (!con?.id)
478
- return con;
479
- const enabledClients = await (0, exports.getConnectionEnabledClients)(this.client, con.id);
480
- // Cast to Asset to allow adding properties
481
- let connection = { ...con };
482
- if (enabledClients && enabledClients?.length) {
483
- connection.enabled_clients = enabledClients;
484
- }
485
- if (connection.strategy === 'google-apps' && directoryProvisioningConfigs) {
486
- const dirProvConfig = directoryProvisioningConfigs.find((congigCon) => congigCon.connection_id === con.id);
487
- if (dirProvConfig) {
488
- connection.directory_provisioning_configuration = {
489
- mapping: dirProvConfig.mapping,
490
- synchronize_automatically: dirProvConfig.synchronize_automatically,
491
- };
484
+ const connectionTasks = filteredConnections.map((con, index) => ({ con, index }));
485
+ const connectionsWithEnabledClients = await this.client.pool
486
+ .addEachTask({
487
+ data: connectionTasks,
488
+ generator: async ({ con, index }) => {
489
+ if (!con?.id) {
490
+ return { index, connection: con };
492
491
  }
493
- }
494
- return connection;
495
- }));
496
- this.existing = connectionsWithEnabledClients;
492
+ const enabledClients = await (0, exports.getConnectionEnabledClients)(this.client, con.id);
493
+ let connection = { ...con };
494
+ if (enabledClients?.length) {
495
+ connection.enabled_clients = enabledClients;
496
+ }
497
+ if (connection.strategy === 'google-apps' && directoryProvisioningConfigs) {
498
+ const dirProvConfig = directoryProvisioningConfigs.find((configCon) => configCon.connection_id === con.id);
499
+ if (dirProvConfig) {
500
+ connection.directory_provisioning_configuration = {
501
+ mapping: dirProvConfig.mapping,
502
+ synchronize_automatically: dirProvConfig.synchronize_automatically,
503
+ };
504
+ }
505
+ }
506
+ return { index, connection };
507
+ },
508
+ })
509
+ .promise();
510
+ this.existing = connectionsWithEnabledClients
511
+ .sort((a, b) => a.index - b.index)
512
+ .map(({ connection }) => connection);
497
513
  // Apply `scim_configuration` to all the relevant `SCIM` connections. This method mutates `this.existing`.
498
514
  await this.scimHandler.applyScimConfiguration(this.existing);
499
515
  return this.existing;
@@ -1,4 +1,43 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
23
+ };
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
2
41
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
42
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
43
  };
@@ -6,7 +45,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
45
  exports.schema = void 0;
7
46
  const lodash_1 = require("lodash");
8
47
  const auth0_1 = require("auth0");
9
- const default_1 = __importDefault(require("./default"));
48
+ const default_1 = __importStar(require("./default"));
10
49
  const types_1 = require("../../../types");
11
50
  const logger_1 = __importDefault(require("../../../logger"));
12
51
  const client_1 = require("../client");
@@ -459,3 +498,6 @@ class PromptsHandler extends default_1.default {
459
498
  }
460
499
  }
461
500
  exports.default = PromptsHandler;
501
+ __decorate([
502
+ (0, default_1.order)('80')
503
+ ], PromptsHandler.prototype, "processChanges", null);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "auth0-deploy-cli",
3
- "version": "8.29.1",
3
+ "version": "8.29.3",
4
4
  "description": "A command line tool for deploying updates to your Auth0 tenant",
5
5
  "main": "lib/index.js",
6
6
  "bin": {
@@ -42,7 +42,7 @@
42
42
  "nconf": "^0.13.0",
43
43
  "promise-pool-executor": "^1.1.1",
44
44
  "sanitize-filename": "^1.6.3",
45
- "undici": "^7.22.0",
45
+ "undici": "^7.24.3",
46
46
  "winston": "^3.19.0",
47
47
  "yargs": "^15.4.1"
48
48
  },
@@ -52,8 +52,8 @@
52
52
  "@types/lodash": "^4.17.24",
53
53
  "@types/mocha": "^10.0.10",
54
54
  "@types/nconf": "^0.10.7",
55
- "@typescript-eslint/eslint-plugin": "^8.56.1",
56
- "@typescript-eslint/parser": "^8.56.1",
55
+ "@typescript-eslint/eslint-plugin": "^8.57.0",
56
+ "@typescript-eslint/parser": "^8.57.0",
57
57
  "chai": "^4.5.0",
58
58
  "chai-as-promised": "^7.1.2",
59
59
  "eslint": "^9.39.2",