@salesforce/core 9.1.3 → 9.1.5

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.
@@ -336,7 +336,6 @@ class Config extends configFile_1.ConfigFile {
336
336
  await super.read(false, force);
337
337
  if (global_1.Global.SFDX_INTEROPERABILITY) {
338
338
  // will exist if Global.SFDX_INTEROPERABILITY is enabled
339
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
340
339
  this.contents.merge(stateFromSfdxFileSync(this.sfdxPath, this));
341
340
  }
342
341
  await this.cryptProperties(false);
@@ -350,7 +349,6 @@ class Config extends configFile_1.ConfigFile {
350
349
  super.readSync(false, force);
351
350
  if (global_1.Global.SFDX_INTEROPERABILITY) {
352
351
  // will exist if Global.SFDX_INTEROPERABILITY is enabled
353
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
354
352
  this.contents.merge(stateFromSfdxFileSync(this.sfdxPath, this));
355
353
  }
356
354
  return this.getContents();
@@ -366,7 +364,6 @@ class Config extends configFile_1.ConfigFile {
366
364
  await super.write();
367
365
  if (global_1.Global.SFDX_INTEROPERABILITY) {
368
366
  // will exist if Global.SFDX_INTEROPERABILITY is enabled
369
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
370
367
  await writeToSfdx(this.sfdxPath, this.getContents());
371
368
  }
372
369
  await this.cryptProperties(false);
@@ -449,7 +446,6 @@ class Config extends configFile_1.ConfigFile {
449
446
  *
450
447
  * @param propertyName The name of the property.
451
448
  */
452
- // eslint-disable-next-line class-methods-use-this
453
449
  getPropertyConfig(propertyName) {
454
450
  const prop = Config.propertyConfigMap()[propertyName];
455
451
  if (!prop) {
@@ -354,7 +354,6 @@ class BaseConfigStore extends kit_1.AsyncOptionalCreatable {
354
354
  }
355
355
  else if (this.isCryptoKey(key)) {
356
356
  // I think this side effect is intentional
357
- // eslint-disable-next-line no-param-reassign
358
357
  data[key] = method(value);
359
358
  }
360
359
  }
@@ -68,6 +68,10 @@ const KEY_SIZE = {
68
68
  };
69
69
  const ALGO = 'aes-256-gcm';
70
70
  const AUTH_TAG_LENGTH = 32;
71
+ // The GCM authentication tag length in bytes. AUTH_TAG_LENGTH is the hex-encoded
72
+ // string length, so the byte length is half of that. Pinning this on decryption
73
+ // prevents forged ciphertexts that use shorter-than-expected tags.
74
+ const AUTH_TAG_BYTE_LENGTH = AUTH_TAG_LENGTH / 2;
71
75
  const ENCRYPTED_CHARS = /[a-f0-9]/;
72
76
  const KEY_NAME = 'sfdx';
73
77
  const ACCOUNT = 'local';
@@ -206,7 +210,6 @@ class Crypto extends kit_1.AsyncOptionalCreatable {
206
210
  this.options = options ?? {};
207
211
  }
208
212
  // @ts-expect-error only for test access
209
- // eslint-disable-next-line class-methods-use-this
210
213
  static unsetCryptoVersion() {
211
214
  cryptoVersion = undefined;
212
215
  }
@@ -339,7 +342,9 @@ class Crypto extends kit_1.AsyncOptionalCreatable {
339
342
  const iv = tokens[0].substring(0, IV_BYTES.v1 * 2);
340
343
  const secret = tokens[0].substring(IV_BYTES.v1 * 2, tokens[0].length);
341
344
  return this.key.value((buffer) => {
342
- const decipher = crypto.createDecipheriv(ALGO, buffer.toString('utf8'), iv);
345
+ const decipher = crypto.createDecipheriv(ALGO, buffer.toString('utf8'), iv, {
346
+ authTagLength: AUTH_TAG_BYTE_LENGTH,
347
+ });
343
348
  try {
344
349
  decipher.setAuthTag(Buffer.from(tag, 'hex'));
345
350
  return `${decipher.update(secret, 'hex', 'utf8')}${decipher.final('utf8')}`;
@@ -359,7 +364,9 @@ class Crypto extends kit_1.AsyncOptionalCreatable {
359
364
  const iv = tokens[0].substring(0, IV_BYTES.v2 * 2);
360
365
  const secret = tokens[0].substring(IV_BYTES.v2 * 2, tokens[0].length);
361
366
  return this.key.value((buffer) => {
362
- const decipher = crypto.createDecipheriv(ALGO, buffer, Buffer.from(iv, 'hex'));
367
+ const decipher = crypto.createDecipheriv(ALGO, buffer, Buffer.from(iv, 'hex'), {
368
+ authTagLength: AUTH_TAG_BYTE_LENGTH,
369
+ });
363
370
  try {
364
371
  decipher.setAuthTag(Buffer.from(tag, 'hex'));
365
372
  return `${decipher.update(secret, 'hex', 'utf8')}${decipher.final('utf8')}`;
@@ -14,13 +14,12 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
- /* eslint-disable camelcase */
18
- /* eslint-disable @typescript-eslint/ban-types */
19
17
  var __importDefault = (this && this.__importDefault) || function (mod) {
20
18
  return (mod && mod.__esModule) ? mod : { "default": mod };
21
19
  };
22
20
  Object.defineProperty(exports, "__esModule", { value: true });
23
21
  exports.DeviceOauthService = void 0;
22
+ /* eslint-disable @typescript-eslint/ban-types */
24
23
  const transport_1 = __importDefault(require("@jsforce/jsforce-node/lib/transport"));
25
24
  const kit_1 = require("@salesforce/kit");
26
25
  const ts_types_1 = require("@salesforce/ts-types");
@@ -353,7 +353,7 @@ class Logger {
353
353
  *
354
354
  * @param cb A callback that returns on array objects to be logged.
355
355
  */
356
- // eslint-disable-next-line class-methods-use-this, @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function
356
+ // eslint-disable-next-line class-methods-use-this, @typescript-eslint/no-unused-vars
357
357
  debugCallback(cb) { }
358
358
  /**
359
359
  * Logs at `info` level with filtering applied. For convenience `this` object is returned.
@@ -456,9 +456,7 @@ const levelFromOption = (value) => {
456
456
  }
457
457
  };
458
458
  // /** match a number to a pino level, or if a match isn't found, the next highest level */
459
- const numberToLevel = (level) => pino_1.levels.labels[level] ??
460
- Object.entries(pino_1.levels.labels).find(([value]) => Number(value) > level)?.[1] ??
461
- 'warn';
459
+ const numberToLevel = (level) => pino_1.levels.labels[level] ?? Object.entries(pino_1.levels.labels).find(([value]) => Number(value) > level)?.[1] ?? 'warn';
462
460
  const getDefaultLevel = () => {
463
461
  const logLevelFromEnvVar = new kit_1.Env().getString('SF_LOG_LEVEL');
464
462
  return logLevelFromEnvVar ? Logger.getLevelByName(logLevelFromEnvVar) : Logger.DEFAULT_LEVEL;
@@ -19,7 +19,7 @@ exports.default = default_1;
19
19
  const node_stream_1 = require("node:stream");
20
20
  const unwrapArray_1 = require("../util/unwrapArray");
21
21
  const filters_1 = require("./filters");
22
- // eslint-disable-next-line @typescript-eslint/no-var-requires, @typescript-eslint/no-unsafe-assignment
22
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
23
23
  const build = require('pino-abstract-transport');
24
24
  function default_1() {
25
25
  // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call
@@ -825,9 +825,9 @@ class AuthInfo extends kit_1.AsyncOptionalCreatable {
825
825
  const error = err;
826
826
  if (error?.message?.includes('Data Not Available')) {
827
827
  // Set cause to keep original stacktrace
828
- return await callback(messages.createError('orgDataNotAvailableError', [this.getUsername()], [], error));
828
+ return callback(messages.createError('orgDataNotAvailableError', [this.getUsername()], [], error));
829
829
  }
830
- return await callback(error);
830
+ return callback(error);
831
831
  }
832
832
  }
833
833
  async readJwtKey(keyFile) {
@@ -951,11 +951,9 @@ class AuthInfo extends kit_1.AsyncOptionalCreatable {
951
951
  */
952
952
  async exchangeToken(options, oauth2 = new jsforce_node_1.OAuth2(options)) {
953
953
  if (!oauth2.redirectUri) {
954
- // eslint-disable-next-line no-param-reassign
955
954
  oauth2.redirectUri = this.getRedirectUri();
956
955
  }
957
956
  if (!oauth2.clientId) {
958
- // eslint-disable-next-line no-param-reassign
959
957
  oauth2.clientId = this.getClientId();
960
958
  }
961
959
  // Exchange the auth code for an access token and refresh token.
@@ -109,9 +109,7 @@ class AuthRemover extends kit_1.AsyncOptionalCreatable {
109
109
  */
110
110
  findAllAuths() {
111
111
  const orgs = this.stateAggregator.orgs.getAll();
112
- return orgs.reduce((x, y) =>
113
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
114
- ({ ...x, [y.username]: y }), {});
112
+ return orgs.reduce((x, y) => ({ ...x, [y.username]: y }), {});
115
113
  }
116
114
  async init() {
117
115
  this.logger = await logger_1.Logger.child(this.constructor.name);
@@ -337,8 +337,7 @@ class Connection extends jsforce_node_1.Connection {
337
337
  }
338
338
  if (result.totalSize > 1) {
339
339
  throw new sfError_1.SfError(options.returnChoicesOnMultiple
340
- ? // eslint-disable-next-line @typescript-eslint/no-unsafe-return
341
- `Multiple records found. ${result.records.map((item) => item[options.choiceField]).join(',')}`
340
+ ? `Multiple records found. ${result.records.map((item) => item[options.choiceField]).join(',')}`
342
341
  : 'The query returned more than 1 record', exports.SingleRecordQueryErrors.MultipleRecords);
343
342
  }
344
343
  return result.records[0];
@@ -419,7 +418,6 @@ const getOptionsVersion = async (options) => {
419
418
  // jsforce does some interesting proxy loading on lib classes.
420
419
  // Setting this in the Connection.tooling getter will not work, it
421
420
  // must be set on the prototype.
422
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
423
421
  // @ts-ignore
424
422
  tooling_1.Tooling.prototype.autoFetchQuery = Connection.prototype.autoFetchQuery; // eslint-disable-line @typescript-eslint/unbound-method
425
423
  //# sourceMappingURL=connection.js.map
package/lib/org/org.js CHANGED
@@ -952,14 +952,14 @@ class Org extends kit_1.AsyncOptionalCreatable {
952
952
  * Returns an org field. Returns undefined if the field is not set or invalid.
953
953
  */
954
954
  getField(key) {
955
- /* eslint-disable @typescript-eslint/ban-ts-comment, @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment */
955
+ /* eslint-disable @typescript-eslint/ban-ts-comment, @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-assignment */
956
956
  // @ts-ignore Legacy. We really shouldn't be doing this.
957
957
  const ownProp = this[key];
958
958
  if (ownProp && typeof ownProp !== 'function')
959
959
  return ownProp;
960
960
  // @ts-ignore
961
961
  return this.getConnection().getAuthInfoFields()[key];
962
- /* eslint-enable @typescript-eslint/ban-ts-comment, @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment */
962
+ /* eslint-enable @typescript-eslint/ban-ts-comment, @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-assignment */
963
963
  }
964
964
  /**
965
965
  * Returns a map of requested fields.
@@ -1071,7 +1071,6 @@ class Org extends kit_1.AsyncOptionalCreatable {
1071
1071
  /**
1072
1072
  * **Throws** *{@link SfError}{ name: 'NotSupportedError' }* Throws an unsupported error.
1073
1073
  */
1074
- // eslint-disable-next-line class-methods-use-this
1075
1074
  getDefaultOptions() {
1076
1075
  throw new sfError_1.SfError('Not Supported', 'NotSupportedError');
1077
1076
  }
@@ -1130,7 +1129,6 @@ class Org extends kit_1.AsyncOptionalCreatable {
1130
1129
  throw messages.createError('SandboxProcessNotFoundBySandboxName', [sandboxNameIn]);
1131
1130
  }
1132
1131
  }
1133
- // eslint-disable-next-line class-methods-use-this
1134
1132
  async queryProduction(org, field, value) {
1135
1133
  return org.connection.singleRecordQuery(`SELECT SandboxInfoId FROM SandboxProcess WHERE ${field} ='${value}' AND Status NOT IN ('D', 'E')`, { tooling: true });
1136
1134
  }
@@ -191,7 +191,6 @@ exports.generateScratchOrgInfo = generateScratchOrgInfo;
191
191
  const getScratchOrgInfoPayload = async (options) => {
192
192
  let warnings = [];
193
193
  // Merge after all validations complete
194
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
195
194
  const scratchOrgInfoPayload = {
196
195
  ...(options.definitionfile ? await parseDefinitionFile(options.definitionfile) : {}),
197
196
  ...(options.definitionjson
package/lib/org/user.js CHANGED
@@ -421,7 +421,6 @@ class User extends kit_1.AsyncCreatable {
421
421
  // eslint-disable-next-line class-methods-use-this
422
422
  async rawRequest(conn, options) {
423
423
  return new Promise((resolve, reject) => {
424
- // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-argument
425
424
  const httpApi = new http_api_1.HttpApi(conn, options);
426
425
  httpApi.on('response', (response) => resolve(response));
427
426
  httpApi.request(options).catch(reject);
package/lib/sfProject.js CHANGED
@@ -672,22 +672,17 @@ class SfProject {
672
672
  // Add fields in sfdx-config.json
673
673
  Object.assign(config, configAggregator.getConfig());
674
674
  // we don't have a login url yet, so use instanceUrl from config or default
675
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
676
675
  if (!config.sfdcLoginUrl) {
677
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
678
676
  config.sfdcLoginUrl = configAggregator.getConfig()['org-instance-url'] ?? sfdcUrl_1.SfdcUrl.PRODUCTION;
679
677
  }
680
678
  // LEGACY - Allow override of sfdcLoginUrl via env var FORCE_SFDC_LOGIN_URL
681
679
  if (process.env.FORCE_SFDC_LOGIN_URL) {
682
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
683
680
  config.sfdcLoginUrl = process.env.FORCE_SFDC_LOGIN_URL;
684
681
  }
685
682
  // Allow override of signupTargetLoginUrl via env var SFDX_SCRATCH_ORG_CREATION_LOGIN_URL
686
683
  if (process.env.SFDX_SCRATCH_ORG_CREATION_LOGIN_URL) {
687
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
688
684
  config.signupTargetLoginUrl = process.env.SFDX_SCRATCH_ORG_CREATION_LOGIN_URL;
689
685
  }
690
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
691
686
  const loginUrl = config.sfdcLoginUrl;
692
687
  if (loginUrl) {
693
688
  if (!sfdcUrl_1.SfdcUrl.isValidUrl(loginUrl) ||
@@ -695,7 +690,6 @@ class SfProject {
695
690
  throw messages.createError('invalidProjectLoginUrl', [loginUrl]);
696
691
  }
697
692
  }
698
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
699
693
  const signupUrl = config.signupTargetLoginUrl;
700
694
  if (signupUrl) {
701
695
  if (!sfdcUrl_1.SfdcUrl.isValidUrl(signupUrl) ||
@@ -158,7 +158,7 @@ class AliasAccessor extends kit_1.AsyncOptionalCreatable {
158
158
  await fs_1.fs.promises.mkdir((0, node_path_1.dirname)(this.fileLocation), { recursive: true });
159
159
  this.aliasStore = new Map();
160
160
  await fs_1.fs.promises.writeFile(this.fileLocation, aliasStoreToRawFileContents(this.aliasStore));
161
- return lockResponse ? await lockResponse.unlock() : undefined;
161
+ return lockResponse ? lockResponse.unlock() : undefined;
162
162
  }
163
163
  if (lockResponse) {
164
164
  await lockResponse.unlock();
@@ -177,7 +177,6 @@ class StreamingClient extends kit_1.AsyncOptionalCreatable {
177
177
  outgoing: (message, callback) => {
178
178
  if (message.channel === '/meta/subscribe') {
179
179
  if (!message.ext) {
180
- // eslint-disable-next-line no-param-reassign
181
180
  message.ext = {};
182
181
  }
183
182
  const replayFromMap = {};
@@ -311,7 +310,7 @@ class StreamingClient extends kit_1.AsyncOptionalCreatable {
311
310
  // @ts-ignore
312
311
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, no-underscore-dangle
313
312
  const dispatcher = this.cometClient._dispatcher;
314
- // eslint-disable-next-line @typescript-eslint/restrict-template-expressions, @typescript-eslint/no-unsafe-member-access
313
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
315
314
  this.log(`dispatcher.clientId: ${dispatcher.clientId}`);
316
315
  // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
317
316
  if (!dispatcher.clientId) {
package/lib/testSetup.js CHANGED
@@ -1,4 +1,23 @@
1
1
  "use strict";
2
+ /*
3
+ * Copyright 2026, Salesforce, Inc.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ // mutate ALL the THINGS!
18
+ /* eslint-disable @typescript-eslint/ban-ts-comment */
19
+ /* eslint-disable class-methods-use-this */
20
+ /* eslint-disable @typescript-eslint/no-unsafe-assignment */
2
21
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
22
  if (k2 === undefined) k2 = k;
4
23
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -26,27 +45,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
26
45
  exports.MockTestSandboxData = exports.MockTestOrgData = exports.StreamingMockCometClient = exports.StreamingMockCometSubscription = exports.StreamingMockSubscriptionCall = exports.unexpectedResult = exports.restoreContext = exports.stubContext = exports.instantiateContext = exports.TestContext = exports.SecureBuffer = exports.uniqid = void 0;
27
46
  exports.shouldThrow = shouldThrow;
28
47
  exports.shouldThrowSync = shouldThrowSync;
29
- /*
30
- * Copyright 2026, Salesforce, Inc.
31
- *
32
- * Licensed under the Apache License, Version 2.0 (the "License");
33
- * you may not use this file except in compliance with the License.
34
- * You may obtain a copy of the License at
35
- *
36
- * http://www.apache.org/licenses/LICENSE-2.0
37
- *
38
- * Unless required by applicable law or agreed to in writing, software
39
- * distributed under the License is distributed on an "AS IS" BASIS,
40
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
41
- * See the License for the specific language governing permissions and
42
- * limitations under the License.
43
- */
44
- /* eslint-disable no-param-reassign */ // mutate ALL the THINGS!
45
- /* eslint-disable @typescript-eslint/ban-ts-comment */
46
- /* eslint-disable class-methods-use-this */
47
- /* eslint-disable @typescript-eslint/no-unsafe-assignment */
48
- /* eslint-disable @typescript-eslint/no-unsafe-member-access */
49
- /* eslint-disable @typescript-eslint/no-unsafe-call */
50
48
  const node_events_1 = require("node:events");
51
49
  const node_os_1 = require("node:os");
52
50
  const node_path_1 = require("node:path");
@@ -348,7 +346,7 @@ const requireSinon = (sinon) => {
348
346
  if (sinon)
349
347
  return sinon;
350
348
  try {
351
- // eslint-disable-next-line @typescript-eslint/no-var-requires, import/no-extraneous-dependencies
349
+ // eslint-disable-next-line import/no-extraneous-dependencies
352
350
  const newSinon = require('sinon');
353
351
  return newSinon;
354
352
  }
@@ -538,7 +536,6 @@ const restoreContext = (testContext) => {
538
536
  // Restore the default value for this setting on restore.
539
537
  global_1.Global.SFDX_INTEROPERABILITY = true;
540
538
  testContext.SANDBOX.restore();
541
- // eslint-disable-next-line @typescript-eslint/no-unsafe-return
542
539
  Object.values(testContext.SANDBOXES).forEach((theSandbox) => theSandbox.restore());
543
540
  testContext.configStubs = {};
544
541
  // Give each test run a clean StateAggregator
@@ -688,12 +685,12 @@ class StreamingMockCometClient extends streamingClient_1.CometClient {
688
685
  /**
689
686
  * Fake addExtension. Does nothing.
690
687
  */
691
- // eslint-disable-next-line @typescript-eslint/no-unused-vars,@typescript-eslint/no-empty-function
688
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
692
689
  addExtension(extension) { }
693
690
  /**
694
691
  * Fake disable. Does nothing.
695
692
  */
696
- // eslint-disable-next-line @typescript-eslint/no-unused-vars,@typescript-eslint/no-empty-function
693
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
697
694
  disable(label) { }
698
695
  /**
699
696
  * Fake handshake that invoke callback after the setTimeout event phase.
@@ -708,7 +705,7 @@ class StreamingMockCometClient extends streamingClient_1.CometClient {
708
705
  /**
709
706
  * Fake setHeader. Does nothing,
710
707
  */
711
- // eslint-disable-next-line @typescript-eslint/no-unused-vars,@typescript-eslint/no-empty-function
708
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
712
709
  setHeader(name, value) { }
713
710
  /**
714
711
  * Fake subscription that completed after the setTimout event phase.
package/lib/util/cache.js CHANGED
@@ -17,12 +17,10 @@ exports.Cache = void 0;
17
17
  * limitations under the License.
18
18
  */
19
19
  class Cache extends Map {
20
- /* eslint-disable @typescript-eslint/explicit-member-accessibility */
21
20
  static #instance;
22
21
  static #enabled = true;
23
22
  #hits;
24
23
  #lookups;
25
- /* eslint-enable @typescript-eslint/explicit-member-accessibility */
26
24
  constructor() {
27
25
  super();
28
26
  this.#hits = 0;
@@ -61,7 +61,6 @@ class DirectoryWriter {
61
61
  throw new Error('Not implemented');
62
62
  }
63
63
  async addToStore(contents, targetPath) {
64
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
65
64
  const destPath = path.join(this.rootDestination, targetPath);
66
65
  fs_1.fs.mkdirSync(path.dirname(destPath), { recursive: true });
67
66
  if (contents instanceof node_stream_1.Readable) {
@@ -30,14 +30,9 @@ const ts_types_1 = require("@salesforce/ts-types");
30
30
  * @param deep - {boolean} Whether to do a deep object key conversion
31
31
  * @return {Object} - the object with the converted keys
32
32
  */
33
- function mapKeys(
34
- // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types
35
- obj, converter, deep) {
36
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
33
+ function mapKeys(obj, converter, deep) {
37
34
  const target = Object.assign({}, obj);
38
- return Object.fromEntries(
39
- // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
40
- Object.entries(target).map(([key, value]) => {
35
+ return Object.fromEntries(Object.entries(target).map(([key, value]) => {
41
36
  const k = converter.call(null, key);
42
37
  if (deep) {
43
38
  let v = value;
@@ -15,7 +15,6 @@
15
15
  * limitations under the License.
16
16
  */
17
17
  /* eslint-disable class-methods-use-this */
18
- /* eslint-disable @typescript-eslint/no-unsafe-member-access */
19
18
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
20
19
  if (k2 === undefined) k2 = k;
21
20
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -273,7 +272,6 @@ class WebOAuthServer extends kit_1.AsyncCreatable {
273
272
  this.logger.debug(`processing request for uri: ${url.pathname ?? 'null'}`);
274
273
  if (request.method === 'GET') {
275
274
  if (url.pathname?.startsWith('/OauthRedirect') && url.query) {
276
- // eslint-disable-next-line no-param-reassign
277
275
  request.query = (0, node_querystring_1.parse)(url.query);
278
276
  if (request.query.error) {
279
277
  const errorName = typeof request.query.error_description === 'string'
@@ -464,9 +462,7 @@ class WebServer extends kit_1.AsyncCreatable {
464
462
  * @param response the response to write the error to.
465
463
  */
466
464
  sendError(status, message, response) {
467
- // eslint-disable-next-line no-param-reassign
468
465
  response.statusMessage = message;
469
- // eslint-disable-next-line no-param-reassign
470
466
  response.statusCode = status;
471
467
  response.end();
472
468
  }
@@ -527,7 +523,6 @@ class WebServer extends kit_1.AsyncCreatable {
527
523
  // We don't validate the origin here because:
528
524
  // 1. The default login URL (login.salesforce.com) will not match after a redirect or if user choose a custom domain in login.
529
525
  // 2. There's no fixed list of auth URLs we could check against.
530
- // eslint-disable-next-line no-param-reassign
531
526
  response.statusCode = 204; // No Content response
532
527
  response.setHeader('Access-Control-Allow-Methods', 'GET');
533
528
  response.setHeader('Access-Control-Request-Headers', 'GET');
@@ -578,7 +573,6 @@ class WebServer extends kit_1.AsyncCreatable {
578
573
  });
579
574
  // An error means that no existing connection exists, which is what we want
580
575
  socket.on('error', () => {
581
- // eslint-disable-next-line no-console
582
576
  socket.destroy();
583
577
  resolve(this.port);
584
578
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforce/core",
3
- "version": "9.1.3",
3
+ "version": "9.1.5",
4
4
  "description": "Core libraries to interact with SFDX projects, orgs, and APIs.",
5
5
  "main": "lib/index",
6
6
  "types": "lib/index.d.ts",
@@ -62,7 +62,7 @@
62
62
  "messageTransformer/messageTransformer.ts"
63
63
  ],
64
64
  "dependencies": {
65
- "@jsforce/jsforce-node": "^3.10.17",
65
+ "@jsforce/jsforce-node": "^3.10.22",
66
66
  "@salesforce/kit": "^4.0.0",
67
67
  "@salesforce/ts-types": "^3.0.0",
68
68
  "ajv": "^8.18.0",
@@ -83,15 +83,21 @@
83
83
  "zod": "^4.1.12"
84
84
  },
85
85
  "devDependencies": {
86
- "@salesforce/dev-scripts": "^11.0.4",
86
+ "@salesforce/dev-scripts": "^13.0.2",
87
87
  "@salesforce/ts-sinon": "^1.4.31",
88
88
  "@types/benchmark": "^2.1.5",
89
+ "@types/chai": "^4.3.17",
89
90
  "@types/fast-levenshtein": "^0.0.4",
90
91
  "@types/jsonwebtoken": "9.0.10",
92
+ "@types/mocha": "^10.0.10",
93
+ "@types/node": "^18",
91
94
  "@types/proper-lockfile": "^4.1.4",
92
95
  "@types/semver": "^7.7.1",
96
+ "@types/sinon": "^10.0.20",
93
97
  "benchmark": "^2.1.4",
94
98
  "esbuild": "^0.28.0",
99
+ "eslint": "^10.4.0",
100
+ "eslint-config-salesforce-typescript": "^6.0.0",
95
101
  "mocha": "^11.7.5",
96
102
  "ts-node": "^10.9.2",
97
103
  "ts-patch": "^3.3.0",
@@ -150,6 +156,7 @@
150
156
  "src/**/*.ts",
151
157
  "test/**/*.ts",
152
158
  "messages/**",
159
+ "**/eslint.config.*",
153
160
  "**/.eslint*",
154
161
  "**/tsconfig.json"
155
162
  ],