@salesforce/source-testkit 1.2.6 → 1.2.8

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/lib/assertions.js CHANGED
@@ -39,14 +39,14 @@ class Assertions {
39
39
  */
40
40
  fileToBeChanged(file) {
41
41
  const fileHistory = this.fileTracker.getLatest(file);
42
- (0, chai_1.expect)(fileHistory === null || fileHistory === void 0 ? void 0 : fileHistory.changedFromPrevious, 'File to be changed').to.be.true;
42
+ (0, chai_1.expect)(fileHistory?.changedFromPrevious, 'File to be changed').to.be.true;
43
43
  }
44
44
  /**
45
45
  * Expect given file to NOT be changed according to the file history provided by FileTracker
46
46
  */
47
47
  fileToNotBeChanged(file) {
48
48
  const fileHistory = this.fileTracker.getLatest(file);
49
- (0, chai_1.expect)(fileHistory === null || fileHistory === void 0 ? void 0 : fileHistory.changedFromPrevious, 'File to NOT be changed').to.be.false;
49
+ (0, chai_1.expect)(fileHistory?.changedFromPrevious, 'File to NOT be changed').to.be.false;
50
50
  }
51
51
  /**
52
52
  * Expect all files found by globs to be changed according to the file history provided by FileTracker
@@ -63,7 +63,7 @@ class Assertions {
63
63
  .map((f) => this.fileTracker.getLatest(path.normalize(f)))
64
64
  .filter((f) => !!f);
65
65
  (0, chai_1.expect)(fileHistories, 'file history to exist for tracked files').length.to.be.greaterThan(0);
66
- const allChanged = fileHistories.every((f) => f === null || f === void 0 ? void 0 : f.changedFromPrevious);
66
+ const allChanged = fileHistories.every((f) => f?.changedFromPrevious);
67
67
  (0, chai_1.expect)(allChanged, 'all files to be changed').to.be.true;
68
68
  }
69
69
  /**
@@ -78,7 +78,7 @@ class Assertions {
78
78
  .map((f) => this.fileTracker.getLatest(f))
79
79
  .filter((f) => !!f);
80
80
  (0, chai_1.expect)(fileHistories, 'file history to exist for tracked files').length.to.be.greaterThan(0);
81
- const allChanged = fileHistories.every((f) => f === null || f === void 0 ? void 0 : f.changedFromPrevious);
81
+ const allChanged = fileHistories.every((f) => f?.changedFromPrevious);
82
82
  (0, chai_1.expect)(allChanged, 'all files to NOT be changed').to.be.false;
83
83
  }
84
84
  /**
@@ -221,7 +221,7 @@ class Assertions {
221
221
  statusFileToHaveState(result, state, file) {
222
222
  const expectedFile = result.find((r) => r.filePath === file);
223
223
  (0, chai_1.expect)(expectedFile, `${file} to be present in json response`).to.not.be.undefined;
224
- (0, chai_1.expect)(expectedFile === null || expectedFile === void 0 ? void 0 : expectedFile.state, `${file} to have state ${state}`).to.equal(state);
224
+ (0, chai_1.expect)(expectedFile?.state, `${file} to have state ${state}`).to.equal(state);
225
225
  }
226
226
  /**
227
227
  * Expect all given files to have the given state
@@ -296,8 +296,7 @@ class Assertions {
296
296
  (0, chai_1.expect)(result[prop], `${prop} to have value that does not equal ${value.toString()}`).to.not.equal(value);
297
297
  }
298
298
  async filesToBeUpdated(globs, ignore = [], command) {
299
- var _a;
300
- const sourceMembers = ((_a = this.executionLog.getLatest(command)) === null || _a === void 0 ? void 0 : _a.sourceMembers) || [];
299
+ const sourceMembers = this.executionLog.getLatest(command)?.sourceMembers || [];
301
300
  const latestSourceMembers = await this.retrieveSourceMembers(globs, ignore);
302
301
  for (const sourceMember of latestSourceMembers) {
303
302
  const assertionMessage = `expect RevisionCounter for ${sourceMember.MemberName} (${sourceMember.MemberType}) to be incremented`;
@@ -306,8 +305,7 @@ class Assertions {
306
305
  }
307
306
  }
308
307
  async filesToNotBeUpdated(globs, ignore = [], command) {
309
- var _a;
310
- const sourceMembers = ((_a = this.executionLog.getLatest(command)) === null || _a === void 0 ? void 0 : _a.sourceMembers) || [];
308
+ const sourceMembers = this.executionLog.getLatest(command)?.sourceMembers || [];
311
309
  const latestSourceMembers = await this.retrieveSourceMembers(globs, ignore);
312
310
  if (!latestSourceMembers.length) {
313
311
  // Not finding any source members based on the globs means that there is no SourceMember for those files
@@ -324,8 +322,7 @@ class Assertions {
324
322
  }
325
323
  }
326
324
  async someFilesToNotBeUpdated(globs, command) {
327
- var _a;
328
- const sourceMembers = ((_a = this.executionLog.getLatest(command)) === null || _a === void 0 ? void 0 : _a.sourceMembers) || [];
325
+ const sourceMembers = this.executionLog.getLatest(command)?.sourceMembers || [];
329
326
  const latestSourceMembers = await this.retrieveSourceMembers(globs);
330
327
  const someAreNotUpdated = latestSourceMembers.some((sourceMember) => {
331
328
  const preCommandExecution = sourceMembers.find((s) => s.MemberType === sourceMember.MemberType && s.MemberName === sourceMember.MemberName) || { RevisionCounter: 0 };
@@ -334,9 +331,8 @@ class Assertions {
334
331
  (0, chai_1.expect)(someAreNotUpdated, 'expect some SourceMembers to not be updated').to.be.true;
335
332
  }
336
333
  async retrieveSourceMembers(globs, ignore = []) {
337
- var _a;
338
334
  const query = 'SELECT Id,MemberName,MemberType,RevisionCounter FROM SourceMember';
339
- const result = await ((_a = this.connection) === null || _a === void 0 ? void 0 : _a.tooling.query(query, { autoFetch: true, maxFetch: 50000 }));
335
+ const result = await this.connection?.tooling.query(query, { autoFetch: true, maxFetch: 50000 });
340
336
  const all = await this.doGlob(globs);
341
337
  const ignoreFiles = await this.doGlob(ignore, false);
342
338
  const toTrack = all.filter((file) => !ignoreFiles.includes(file));
@@ -356,22 +352,19 @@ class Assertions {
356
352
  }
357
353
  }
358
354
  }
359
- return ((result === null || result === void 0 ? void 0 : result.records) || []).filter((sourceMember) => {
360
- var _a;
361
- return (_a = membersMap.get(sourceMember.MemberType)) === null || _a === void 0 ? void 0 : _a.has(sourceMember.MemberName);
355
+ return (result?.records || []).filter((sourceMember) => {
356
+ return membersMap.get(sourceMember.MemberType)?.has(sourceMember.MemberName);
362
357
  });
363
358
  }
364
359
  async retrieveApexTestResults() {
365
- var _a;
366
360
  const query = 'SELECT TestTimestamp, ApexClassId FROM ApexTestResult';
367
- const result = await ((_a = this.connection) === null || _a === void 0 ? void 0 : _a.tooling.query(query, { autoFetch: true, maxFetch: 50000 }));
368
- return (result === null || result === void 0 ? void 0 : result.records) || [];
361
+ const result = await this.connection?.tooling.query(query, { autoFetch: true, maxFetch: 50000 });
362
+ return result?.records || [];
369
363
  }
370
364
  async retrieveApexClasses(classNames) {
371
- var _a;
372
365
  const query = 'SELECT Name,Id FROM ApexClass';
373
- const result = await ((_a = this.connection) === null || _a === void 0 ? void 0 : _a.tooling.query(query, { autoFetch: true, maxFetch: 50000 }));
374
- const records = (result === null || result === void 0 ? void 0 : result.records) || [];
366
+ const result = await this.connection?.tooling.query(query, { autoFetch: true, maxFetch: 50000 });
367
+ const records = result?.records || [];
375
368
  return classNames ? records.filter((r) => classNames.includes(r.Name)) : records;
376
369
  }
377
370
  async doGlob(globs, assert = true) {
@@ -49,13 +49,12 @@ class ExecutionLog {
49
49
  return sorted[0];
50
50
  }
51
51
  async querySourceMembers() {
52
- var _a;
53
52
  const query = 'SELECT Id,MemberName,MemberType,RevisionCounter FROM SourceMember';
54
- const result = await ((_a = this.context.connection) === null || _a === void 0 ? void 0 : _a.tooling.query(query, {
53
+ const result = await this.context.connection?.tooling.query(query, {
55
54
  autoFetch: true,
56
55
  maxFetch: 50000,
57
- }));
58
- return (result === null || result === void 0 ? void 0 : result.records) || [];
56
+ });
57
+ return result?.records || [];
59
58
  }
60
59
  }
61
60
  exports.ExecutionLog = ExecutionLog;
package/lib/testkit.js CHANGED
@@ -40,9 +40,8 @@ const fileTracker_1 = require("./fileTracker");
40
40
  */
41
41
  class SourceTestkit extends kit_1.AsyncCreatable {
42
42
  constructor(options) {
43
- var _a, _b, _c;
44
43
  super(options);
45
- this.executable = (_c = (_a = options.executable) !== null && _a !== void 0 ? _a : (_b = (0, shelljs_1.which)('sfdx')) === null || _b === void 0 ? void 0 : _b.stdout) !== null && _c !== void 0 ? _c : 'sfdx';
44
+ this.executable = options.executable ?? (0, shelljs_1.which)('sfdx')?.stdout ?? 'sfdx';
46
45
  this.repository = options.repository;
47
46
  this.orgless = !!options.orgless;
48
47
  this.setupCommands = options.setupCommands || [];
@@ -53,9 +52,8 @@ class SourceTestkit extends kit_1.AsyncCreatable {
53
52
  * Cleans the test session
54
53
  */
55
54
  async clean() {
56
- var _a;
57
55
  SourceTestkit.Env.unset('TESTKIT_EXECUTABLE_PATH');
58
- await ((_a = this.session) === null || _a === void 0 ? void 0 : _a.clean());
56
+ await this.session?.clean();
59
57
  }
60
58
  /**
61
59
  * Executes force:source:convert
@@ -260,13 +258,14 @@ class SourceTestkit extends kit_1.AsyncCreatable {
260
258
  * any metadata type with any name
261
259
  */
262
260
  async modifyRemoteFile() {
263
- var _a, _b;
264
- const result = (await ((_a = this.connection) === null || _a === void 0 ? void 0 : _a.tooling.sobject('QuickActionDefinition').find({ DeveloperName: 'NutAction' }, ['ID'])));
261
+ const result = (await this.connection?.tooling
262
+ .sobject('QuickActionDefinition')
263
+ .find({ DeveloperName: 'NutAction' }, ['ID']));
265
264
  const updateRequest = {
266
265
  Id: result[0].Id,
267
266
  Description: 'updated description',
268
267
  };
269
- await ((_b = this.connection) === null || _b === void 0 ? void 0 : _b.tooling.sobject('QuickActionDefinition').update(updateRequest));
268
+ await this.connection?.tooling.sobject('QuickActionDefinition').update(updateRequest);
270
269
  return this.testMetadataFiles.find((f) => f.endsWith('NutAction.quickAction-meta.xml'));
271
270
  }
272
271
  /**
@@ -292,12 +291,11 @@ class SourceTestkit extends kit_1.AsyncCreatable {
292
291
  * property in the local maxRevision.json to null
293
292
  */
294
293
  async spoofRemoteChange(globs) {
295
- var _a;
296
294
  const files = await this.doGlob(globs);
297
295
  const maxRevision = await this.readMaxRevision();
298
296
  for (const file of files) {
299
297
  const component = this.metadataResolver.getComponentsFromPath(file)[0];
300
- const parent = (_a = component.parent) === null || _a === void 0 ? void 0 : _a.name;
298
+ const parent = component.parent?.name;
301
299
  const type = component.type.name;
302
300
  const name = component.name;
303
301
  if (!type.includes('CustomLabel')) {
@@ -328,7 +326,7 @@ class SourceTestkit extends kit_1.AsyncCreatable {
328
326
  */
329
327
  findAndMoveManifest(dir) {
330
328
  const manifest = (0, shelljs_1.find)(dir).filter((file) => file.endsWith('package.xml'));
331
- if (!(manifest === null || manifest === void 0 ? void 0 : manifest.length)) {
329
+ if (!manifest?.length) {
332
330
  throw Error(`Did not find package.xml within ${dir}`);
333
331
  }
334
332
  (0, shelljs_1.mv)(manifest[0], path.join(process.cwd()));
@@ -434,12 +432,11 @@ class SourceTestkit extends kit_1.AsyncCreatable {
434
432
  * Log error to console with helpful debugging information
435
433
  */
436
434
  async handleError(err, clean = false) {
437
- var _a;
438
435
  const header = ` ENCOUNTERED ERROR IN: ${this.debug.namespace} `;
439
436
  console.log('-'.repeat(header.length));
440
437
  console.log(header);
441
438
  console.log('-'.repeat(header.length));
442
- console.log('session:', (_a = this.session) === null || _a === void 0 ? void 0 : _a.dir);
439
+ console.log('session:', this.session?.dir);
443
440
  console.log('username:', this.username);
444
441
  console.log(err);
445
442
  console.log('-'.repeat(header.length));
@@ -461,13 +458,12 @@ class SourceTestkit extends kit_1.AsyncCreatable {
461
458
  });
462
459
  }
463
460
  async getDefaultUsername() {
464
- var _a, _b;
465
461
  const configVar = 'target-org';
466
- const configResult = (_a = (0, cli_plugins_testkit_1.execCmd)(`config:get ${configVar} --json`).jsonOutput) === null || _a === void 0 ? void 0 : _a.result;
462
+ const configResult = (0, cli_plugins_testkit_1.execCmd)(`config:get ${configVar} --json`).jsonOutput?.result;
467
463
  // depending on which version of config:get the user has available, there may be a name or key
468
464
  // eventually, drop the `key` option and the deprecated SfdxPropertyKeys
469
465
  const possibleKeys = [configVar, core_1.SfdxPropertyKeys.DEFAULT_USERNAME];
470
- const username = (_b = configResult === null || configResult === void 0 ? void 0 : configResult.find((r) => (r.key && possibleKeys.includes(r.key)) || (r.name && possibleKeys.includes(r.name)))) === null || _b === void 0 ? void 0 : _b.value;
466
+ const username = configResult?.find((r) => (r.key && possibleKeys.includes(r.key)) || (r.name && possibleKeys.includes(r.name)))?.value;
471
467
  return username;
472
468
  }
473
469
  async createConnection() {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@salesforce/source-testkit",
3
3
  "description": "testkit for running NUTs for source related commands",
4
- "version": "1.2.6",
4
+ "version": "1.2.8",
5
5
  "author": "Salesforce",
6
6
  "license": "BSD-3-Clause",
7
7
  "main": "lib/index.js",
@@ -31,10 +31,10 @@
31
31
  ],
32
32
  "dependencies": {
33
33
  "@salesforce/cli-plugins-testkit": "^2.3.0",
34
- "@salesforce/core": "^3.21.4",
34
+ "@salesforce/core": "^3.21.5",
35
35
  "@salesforce/kit": "^1.5.42",
36
36
  "@salesforce/source-deploy-retrieve": "^6.1.0",
37
- "@salesforce/ts-types": "^1.5.20",
37
+ "@salesforce/ts-types": "^1.5.21",
38
38
  "archiver": "^5.2.0",
39
39
  "chai-each": "^0.0.1",
40
40
  "debug": "^4.3.1",
@@ -61,7 +61,7 @@
61
61
  "eslint-config-salesforce-license": "^0.1.6",
62
62
  "eslint-config-salesforce-typescript": "^0.2.8",
63
63
  "eslint-plugin-header": "^3.1.1",
64
- "eslint-plugin-import": "2.24.2",
64
+ "eslint-plugin-import": "2.26.0",
65
65
  "eslint-plugin-jsdoc": "^35.1.2",
66
66
  "eslint-plugin-prettier": "^3.3.1",
67
67
  "husky": "^7.0.4",
@@ -81,4 +81,4 @@
81
81
  "publishConfig": {
82
82
  "access": "public"
83
83
  }
84
- }
84
+ }
package/CHANGELOG.md DELETED
@@ -1,172 +0,0 @@
1
- # Changelog
2
-
3
- All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
-
5
- ### [1.2.6](https://github.com/salesforcecli/source-testkit/compare/v1.2.5...v1.2.6) (2022-06-23)
6
-
7
- ### Bug Fixes
8
-
9
- - jsforce update ([9b8647c](https://github.com/salesforcecli/source-testkit/commit/9b8647c376ac1a9df32aa7e5ebc98cf7e9ea45af))
10
-
11
- ### [1.2.5](https://github.com/salesforcecli/source-testkit/compare/v1.2.4...v1.2.5) (2022-06-22)
12
-
13
- ### Bug Fixes
14
-
15
- - yarn deduplicate for fewer jsforces ([b535295](https://github.com/salesforcecli/source-testkit/commit/b5352951cc3a39a6dc9cbc4a92a04c2669e30b03))
16
-
17
- ### [1.2.4](https://github.com/salesforcecli/source-testkit/compare/v1.2.3...v1.2.4) (2022-06-22)
18
-
19
- ### Bug Fixes
20
-
21
- - bump core for jsforce ([c76f41a](https://github.com/salesforcecli/source-testkit/commit/c76f41aa8ca9ff60ed55f950d0aab0656f8a296f))
22
-
23
- ### [1.2.3](https://github.com/salesforcecli/source-testkit/compare/v1.2.2...v1.2.3) (2022-06-22)
24
-
25
- ### Bug Fixes
26
-
27
- - bump lib versions ([#82](https://github.com/salesforcecli/source-testkit/issues/82)) ([40f90d6](https://github.com/salesforcecli/source-testkit/commit/40f90d6b8e3e47a7c172dd01a8fa43cf96e89ab4))
28
-
29
- ### [1.2.2](https://github.com/salesforcecli/source-testkit/compare/v1.2.1...v1.2.2) (2022-06-18)
30
-
31
- ### Bug Fixes
32
-
33
- - shared autoFetchQuery ([1c23a9f](https://github.com/salesforcecli/source-testkit/commit/1c23a9f84eaaa548558b4deb71ae621497a9e922))
34
-
35
- ### [1.2.1](https://github.com/salesforcecli/source-testkit/compare/v1.2.0...v1.2.1) (2022-06-18)
36
-
37
- ### Bug Fixes
38
-
39
- - remove autofetch queries that were set to 50k ([5854728](https://github.com/salesforcecli/source-testkit/commit/58547288360792b9ac2af11f4be4959c4828ede5))
40
-
41
- ## [1.2.0](https://github.com/salesforcecli/source-testkit/compare/v1.1.1...v1.2.0) (2022-06-08)
42
-
43
- ### Features
44
-
45
- - bump core and regular testkit ([59701f8](https://github.com/salesforcecli/source-testkit/commit/59701f8da94028bc39fb34fc0ae2b0b32d582bef))
46
-
47
- ### [1.1.1](https://github.com/salesforcecli/source-testkit/compare/v1.1.0...v1.1.1) (2022-06-06)
48
-
49
- ### Bug Fixes
50
-
51
- - don't clear StateAggregator ([c6cdc17](https://github.com/salesforcecli/source-testkit/commit/c6cdc171bdb8c53e9c5920b8dcb92952db6a2f9c))
52
- - testkit with no StateAgg clearing ([63b5c0f](https://github.com/salesforcecli/source-testkit/commit/63b5c0fe31caaa0ff576fab2d49cb3de024a6c69))
53
-
54
- ## [1.1.0](https://github.com/salesforcecli/source-testkit/compare/v1.0.2...v1.1.0) (2022-06-06)
55
-
56
- ### Features
57
-
58
- - clear StateAggregator ([180ee90](https://github.com/salesforcecli/source-testkit/commit/180ee9081e307ed17948a4c92140ddf7ed5d4da1))
59
-
60
- ### [1.0.2](https://github.com/salesforcecli/source-testkit/compare/v1.0.1...v1.0.2) (2022-06-06)
61
-
62
- ### [1.0.1](https://github.com/salesforcecli/source-testkit/compare/v1.0.0...v1.0.1) (2022-05-31)
63
-
64
- ### Bug Fixes
65
-
66
- - support multiple plugin-config versions ([#78](https://github.com/salesforcecli/source-testkit/issues/78)) ([365831f](https://github.com/salesforcecli/source-testkit/commit/365831f5de5f489d2f2065230e8847de1ecf4f0b))
67
-
68
- ## [1.0.0](https://github.com/salesforcecli/source-testkit/compare/v0.0.18...v1.0.0) (2022-05-31)
69
-
70
- ### Features
71
-
72
- - use parking-orbit newer core/sdr ([#77](https://github.com/salesforcecli/source-testkit/issues/77)) ([d9ed642](https://github.com/salesforcecli/source-testkit/commit/d9ed642003bb85407a7b17ffa7b64764eb81b488))
73
-
74
- ### [0.0.18](https://github.com/salesforcecli/source-testkit/compare/v0.0.17...v0.0.18) (2022-03-08)
75
-
76
- ### Features
77
-
78
- - make type changes to make testing sf easier ([#59](https://github.com/salesforcecli/source-testkit/issues/59)) ([7752ed6](https://github.com/salesforcecli/source-testkit/commit/7752ed66eff3be11c9fa6921223f277427334fab))
79
-
80
- ### [0.0.17](https://github.com/salesforcecli/source-testkit/compare/v0.0.16...v0.0.17) (2022-02-12)
81
-
82
- ### [0.0.16](https://github.com/salesforcecli/source-testkit/compare/v0.0.15...v0.0.16) (2021-10-13)
83
-
84
- ### Bug Fixes
85
-
86
- - add support for simple retrieve metadata for sf ([#12](https://github.com/salesforcecli/source-testkit/issues/12)) ([85a940d](https://github.com/salesforcecli/source-testkit/commit/85a940d008370ae86a9796904e8aa29c29241c2f))
87
-
88
- ### [0.0.15](https://github.com/salesforcecli/source-testkit/compare/v0.0.14...v0.0.15) (2021-09-29)
89
-
90
- ### Bug Fixes
91
-
92
- - use appropriate config key based on executable ([cc36ff8](https://github.com/salesforcecli/source-testkit/commit/cc36ff859c4fc7e4645043cccbd39b75c0cc253c))
93
-
94
- ### [0.0.14](https://github.com/salesforcecli/source-testkit/compare/v0.0.13...v0.0.14) (2021-09-08)
95
-
96
- ### Bug Fixes
97
-
98
- - convert correct sep ([#10](https://github.com/salesforcecli/source-testkit/issues/10)) ([6b9356b](https://github.com/salesforcecli/source-testkit/commit/6b9356b537932dd485cf448b6bdb0ab64c15a5f0))
99
-
100
- ### [0.0.13](https://github.com/salesforcecli/source-testkit/compare/v0.0.12...v0.0.13) (2021-09-01)
101
-
102
- ### [0.0.12](https://github.com/salesforcecli/source-testkit/compare/v0.0.11...v0.0.12) (2021-09-01)
103
-
104
- ### Bug Fixes
105
-
106
- - add filesToBeDeployedViaResult method ([#8](https://github.com/salesforcecli/source-testkit/issues/8)) ([bfc45b6](https://github.com/salesforcecli/source-testkit/commit/bfc45b6d42bded3e49e0ba2bea511e9a611da0bd))
107
-
108
- ### [0.0.11](https://github.com/salesforcecli/source-testkit/compare/v0.0.10...v0.0.11) (2021-08-17)
109
-
110
- ### Bug Fixes
111
-
112
- - ensure file history exists when testing if local files have changed ([01eea46](https://github.com/salesforcecli/source-testkit/commit/01eea46baf613b639edf02a3da568290fe3335b1))
113
-
114
- ### [0.0.10](https://github.com/salesforcecli/source-testkit/compare/v0.0.9...v0.0.10) (2021-08-06)
115
-
116
- ### Features
117
-
118
- - use SDR 4 ([#6](https://github.com/salesforcecli/source-testkit/issues/6)) ([c0cab8f](https://github.com/salesforcecli/source-testkit/commit/c0cab8fc623560f18107e65f61e270c1c1bcd16e))
119
-
120
- ### [0.0.9](https://github.com/salesforcecli/source-testkit/compare/v0.0.8...v0.0.9) (2021-07-26)
121
-
122
- ### Bug Fixes
123
-
124
- - make sf friendly ([0f93b9a](https://github.com/salesforcecli/source-testkit/commit/0f93b9a16c62a74e4b4d6b5e945d8252ca4ec5cb))
125
-
126
- ### [0.0.8](https://github.com/salesforcecli/source-testkit/compare/v0.0.7...v0.0.8) (2021-07-15)
127
-
128
- ### Bug Fixes
129
-
130
- - rename sf project deploy ([5d3f52e](https://github.com/salesforcecli/source-testkit/commit/5d3f52ed742f57a15515606c2e543b9fd356c8ce))
131
-
132
- ### [0.0.7](https://github.com/salesforcecli/source-testkit/compare/v0.0.6...v0.0.7) (2021-07-09)
133
-
134
- ### Bug Fixes
135
-
136
- - executionLog ([8ec172c](https://github.com/salesforcecli/source-testkit/commit/8ec172c07267a1d55e35807a6782e4d222ca246c))
137
-
138
- ### [0.0.6](https://github.com/salesforcecli/source-testkit/compare/v0.0.5...v0.0.6) (2021-07-06)
139
-
140
- ### Features
141
-
142
- - make execute method public ([3ff8eca](https://github.com/salesforcecli/source-testkit/commit/3ff8ecad8eeb8061ccaf3e8945f4126102c8c519))
143
-
144
- ### [0.0.5](https://github.com/salesforcecli/source-testkit/compare/v0.0.4...v0.0.5) (2021-05-25)
145
-
146
- ### Bug Fixes
147
-
148
- - convert Metadataresolver file paths to match glob results ([#4](https://github.com/salesforcecli/source-testkit/issues/4)) ([fb78972](https://github.com/salesforcecli/source-testkit/commit/fb789726cb15e436fc9dbe3e3647697a7027ac96))
149
-
150
- ### [0.0.4](https://github.com/salesforcecli/source-testkit/compare/v0.0.3...v0.0.4) (2021-05-24)
151
-
152
- ### Bug Fixes
153
-
154
- - add assignPermissionSet, assign/create commands ([#3](https://github.com/salesforcecli/source-testkit/issues/3)) ([e423bba](https://github.com/salesforcecli/source-testkit/commit/e423bbae3acd217dd4708efad15af83996b0ff1e))
155
-
156
- ### [0.0.3](https://github.com/salesforcecli/source-testkit/compare/v0.0.2...v0.0.3) (2021-05-17)
157
-
158
- ### Features
159
-
160
- - support sf commands ([#2](https://github.com/salesforcecli/source-testkit/issues/2)) ([6152e52](https://github.com/salesforcecli/source-testkit/commit/6152e52790d9ba4561621fd625fef78b2f0028d2))
161
-
162
- ### [0.0.2](https://github.com/salesforcecli/source-testkit/compare/v0.0.1...v0.0.2) (2021-05-14)
163
-
164
- ### Features
165
-
166
- - add new methods ([fa0579a](https://github.com/salesforcecli/source-testkit/commit/fa0579a3513e01c6bed7c88eb8b656dadcc40d62))
167
-
168
- ### 0.0.1 (2021-05-14)
169
-
170
- ### Features
171
-
172
- - add SourceTestkit ([#1](https://github.com/salesforcecli/source-testkit/issues/1)) ([99f30f3](https://github.com/salesforcecli/source-testkit/commit/99f30f3b2d8a14438808114d3d11c6d9d6f4d684))