Repository: infinitered/solidarity
Pull request #199 (2018-04-03 15:14:30)

configurable solidarity file locations with -f and -m
Partial of #162 -  gives the ability to specify a solidarity file outside of current directory.

`--solidarityFile` or `-f` for the path

ALSO adds the ability to specify a module for providing solidarity file.

`--module` or `-m` ->  This will give us the ability to do checks specific to a specific lib/module when reporting issues.

More docs needed for users to know/use this.

TravisBuddy: ## Travis tests have failed

Hey @GantMan,
Please read the following log in order to understand the failure reason.
It'll be awesome if you fix what's wrong and commit the changes.


### Node.js: 8


<details>
  <summary>
    <strong>
     npm run test:ci
    </strong>
  </summary>

```
> solidarity@2.0.4 test:ci /home/travis/build/infinitered/solidarity
> jest --ci --runInBand && yarn test:extras

PASS __tests__/commands/snapshot.ts (27.23s)
PASS __tests__/command_helpers/checkRequirement.ts
PASS __tests__/command_helpers/updateRequirement.ts
PASS __tests__/command_helpers/reviewRule.ts
PASS __tests__/command_helpers/appendSolidaritySettings.ts
PASS __tests__/command_helpers/checkShell.ts
PASS __tests__/integration/solidarity-check/check-valid.ts (5.132s)
PASS __tests__/command_helpers/checkRequirementPlugins.ts
PASS __tests__/commands/solidarity.ts
PASS __tests__/command_helpers/checkCLIForUpdates.ts
PASS __tests__/command_helpers/createPlugin.ts
PASS __tests__/command_helpers/checkCLI.ts
FAIL __tests__/command_helpers/getSolidaritySettings.ts
  ● getSolidaritySettings › w/ success › getSolidaritySettings succeeds

    TypeError: Cannot read property 'options' of undefined

       5 | module.exports = (context: SolidarityRunContext): SolidaritySettings => {
       6 |   const { filesystem, parameters } = context
    >  7 |   const options = parameters.options || {} // fix possibly undefined from gluegun
       8 | 
       9 |   /* for now only JSON and JSON5 support
      10 |   * Summary:
      
      at Object.<anonymous>.module.exports.context (src/extensions/functions/getSolidaritySettings.ts:7:30)
      at __tests__/command_helpers/getSolidaritySettings.ts:11:30
      at __tests__/command_helpers/getSolidaritySettings.ts:2:1
      at Object.<anonymous>.__awaiter (__tests__/command_helpers/getSolidaritySettings.ts:2:1)
      at Object.test (__tests__/command_helpers/getSolidaritySettings.ts:10:44)

  ● getSolidaritySettings › w/ success › getSolidaritySettings succeeds

    TypeError: Cannot read property 'options' of undefined

       5 | module.exports = (context: SolidarityRunContext): SolidaritySettings => {
       6 |   const { filesystem, parameters } = context
    >  7 |   const options = parameters.options || {} // fix possibly undefined from gluegun
       8 | 
       9 |   /* for now only JSON and JSON5 support
      10 |   * Summary:
      
      at Object.<anonymous>.module.exports.context (src/extensions/functions/getSolidaritySettings.ts:7:30)
      at __tests__/command_helpers/getSolidaritySettings.ts:18:30
      at __tests__/command_helpers/getSolidaritySettings.ts:2:1
      at Object.<anonymous>.__awaiter (__tests__/command_helpers/getSolidaritySettings.ts:2:1)
      at Object.test (__tests__/command_helpers/getSolidaritySettings.ts:16:44)

  ● getSolidaritySettings › getSolidaritySettings can warn with missing requirements

    expect(function).toThrowError(string)
    
    Expected the function to throw an error matching:
      "ERROR: Found, but no requirements key.  Please validate your solidarity file"
    Instead, it threw:
      ENOENT: no such file or directory, uv_chdir
          33 |   test('getSolidaritySettings can warn with missing requirements', async () => {
          34 |     expect(() => {
        > 35 |       process.chdir('__tests__/sandbox/solidarity_broken')
          36 |       const resultSettings = getSolidaritySettings(context)
          37 |     }).toThrowError('ERROR: Found, but no requirements key.  Please validate your solidarity file')
          38 |     process.chdir('../../../')
      
            
      at process.chdir (node_modules/graceful-fs/polyfills.js:21:9)
      at expect (__tests__/command_helpers/getSolidaritySettings.ts:35:15)
      at Object.<anonymous> (node_modules/expect/build/to_throw_matchers.js:43:7)
      at Object.throwingMatcher [as toThrowError] (node_modules/expect/build/index.js:214:24)
      at __tests__/command_helpers/getSolidaritySettings.ts:37:8
      at __tests__/command_helpers/getSolidaritySettings.ts:2:1
      at Object.<anonymous>.__awaiter (__tests__/command_helpers/getSolidaritySettings.ts:2:1)
      at Object.test (__tests__/command_helpers/getSolidaritySettings.ts:33:68)
      at __tests__/command_helpers/getSolidaritySettings.ts:37:8
      at __tests__/command_helpers/getSolidaritySettings.ts:2:1
      at Object.<anonymous>.__awaiter (__tests__/command_helpers/getSolidaritySettings.ts:2:1)
      at Object.test (__tests__/command_helpers/getSolidaritySettings.ts:33:68)

PASS __tests__/command_helpers/getVersion.ts
PASS __tests__/command_helpers/quirksNodeModules.ts
PASS __tests__/command_helpers/printResults.ts
PASS __tests__/command_helpers/removeNonVersionCharacters.ts
PASS __tests__/command_helpers/updateVersions.ts
PASS __tests__/commands/create.ts
FAIL __tests__/integration/solidarity-report/report-basic.ts
  ● solidarity report works

    Path to copy doesn't exist /home/travis/build/infinitered/solidarity/__tests__/sandbox/__tests__/sandbox/solidarity_json/.solidarity.json

      13 |   jasmine.DEFAULT_TIMEOUT_INTERVAL = 90000
      14 |   const tempDir = tempy.directory()
    > 15 |   filesystem.copy(
      16 |     `__tests__${path.sep}sandbox${path.sep}solidarity_json${path.sep}.solidarity.json`,
      17 |     `${tempDir}${path.sep}.solidarity`
      18 |   )
      
      at generateNoSourceError (node_modules/fs-jetpack/lib/copy.js:43:15)
      at checksBeforeCopyingSync (node_modules/fs-jetpack/lib/copy.js:74:11)
      at Object.copySync [as sync] (node_modules/fs-jetpack/lib/copy.js:141:3)
      at Object.copy (node_modules/fs-jetpack/lib/jetpack.js:78:12)
      at Object.<anonymous>.beforeAll (__tests__/integration/solidarity-report/report-basic.ts:15:14)

  ● solidarity report works

    Command failed: /bin/sh -c node /home/travis/build/infinitered/solidarity/__tests__/sandbox/bin/solidarity report
    module.js:549
        throw err;
        ^
    
    Error: Cannot find module '/home/travis/build/infinitered/solidarity/__tests__/sandbox/bin/solidarity'
      
      
      
      at makeError (node_modules/execa/index.js:169:9)
      at Promise.all.then.arr (node_modules/execa/index.js:274:16)

PASS __tests__/command_helpers/findPluginInfo.ts
PASS __tests__/command_helpers/getLineWithVersion.ts
PASS __tests__/command_helpers/skipRule.ts
PASS __tests__/extensions/extensionCheck.ts
PASS __tests__/index.ts
FAIL __tests__/commands/help.ts
  ● Calls print items several times

    expect(received).toBe(expected) // Object.is equality
    
    Expected value to be:
      6
    Received:
      8

      28 |   expect(context.print.colors.magenta.mock.calls.length).toBe(0)
      29 |   helpCommand.run(context)
    > 30 |   expect(context.print.info.mock.calls.length).toBe(6)
      31 |   expect(context.print.printCommands.mock.calls.length).toBe(1)
      32 |   expect(context.print.success.mock.calls.length).toBe(2)
      33 |   expect(context.print.colors.magenta.mock.calls.length).toBe(2)
      
      at Object.<anonymous>.test (__tests__/commands/help.ts:30:48)

FAIL __tests__/integration/solidarity-snapshot/snapshot-nada.ts
  ● solidarity report works

    Command failed: /bin/sh -c echo n | node /home/travis/build/infinitered/solidarity/__tests__/sandbox/bin/solidarity snapshot
    module.js:549
        throw err;
        ^
    
    Error: Cannot find module '/home/travis/build/infinitered/solidarity/__tests__/sandbox/bin/solidarity'
      
      
      
      at makeError (node_modules/execa/index.js:169:9)
      at Promise.all.then.arr (node_modules/execa/index.js:274:16)

PASS __tests__/command_helpers/checkENV.ts
FAIL __tests__/command_helpers/checkDir.ts
  ● checkDir detects an existing dir

    expect(received).toBeTruthy()
    
    Expected value to be truthy, instead received
      false

       6 |   const location = './src'
       7 |   // Use checkDir to make sure it exists
    >  8 |   expect(checkDir({ location }, context)).toBeTruthy()
       9 | })
      10 | 
      11 | test('checkDir can fail', () => {
      
      at Object.<anonymous>.test (__tests__/command_helpers/checkDir.ts:8:43)

FAIL __tests__/command_helpers/checkFile.ts
  ● checkFile detects an existing file

    expect(received).toBeTruthy()
    
    Expected value to be truthy, instead received
      false

       6 |   const location = './package.json'
       7 |   // Use checkFile to make sure it exists
    >  8 |   expect(checkFile({ location }, context)).toBeTruthy()
       9 | })
      10 | 
      11 | test('checkFile can fail', () => {
      
      at Object.<anonymous>.test (__tests__/command_helpers/checkFile.ts:8:44)

PASS __tests__/command_helpers/setSolidaritySettings.ts
PASS __tests__/integration/solidarity-check/check-invalid.ts (14.972s)
PASS __tests__/command_helpers/solidarityReport.ts
PASS __tests__/commands/report.ts (9.896s)
PASS __tests__/docs/testDocs.ts (18.533s)
PASS __tests__/command_helpers/binaryExists.ts
PASS __tests__/schema/validateExampleSchema.ts

Summary of all failing tests
FAIL __tests__/command_helpers/getSolidaritySettings.ts
  ● getSolidaritySettings › w/ success › getSolidaritySettings succeeds

    TypeError: Cannot read property 'options' of undefined

       5 | module.exports = (context: SolidarityRunContext): SolidaritySettings => {
       6 |   const { filesystem, parameters } = context
    >  7 |   const options = parameters.options || {} // fix possibly undefined from gluegun
       8 | 
       9 |   /* for now only JSON and JSON5 support
      10 |   * Summary:
      
      at Object.<anonymous>.module.exports.context (src/extensions/functions/getSolidaritySettings.ts:7:30)
      at __tests__/command_helpers/getSolidaritySettings.ts:11:30
      at __tests__/command_helpers/getSolidaritySettings.ts:2:1
      at Object.<anonymous>.__awaiter (__tests__/command_helpers/getSolidaritySettings.ts:2:1)
      at Object.test (__tests__/command_helpers/getSolidaritySettings.ts:10:44)

  ● getSolidaritySettings › w/ success › getSolidaritySettings succeeds

    TypeError: Cannot read property 'options' of undefined

       5 | module.exports = (context: SolidarityRunContext): SolidaritySettings => {
       6 |   const { filesystem, parameters } = context
    >  7 |   const options = parameters.options || {} // fix possibly undefined from gluegun
       8 | 
       9 |   /* for now only JSON and JSON5 support
      10 |   * Summary:
      
      at Object.<anonymous>.module.exports.context (src/extensions/functions/getSolidaritySettings.ts:7:30)
      at __tests__/command_helpers/getSolidaritySettings.ts:18:30
      at __tests__/command_helpers/getSolidaritySettings.ts:2:1
      at Object.<anonymous>.__awaiter (__tests__/command_helpers/getSolidaritySettings.ts:2:1)
      at Object.test (__tests__/command_helpers/getSolidaritySettings.ts:16:44)

  ● getSolidaritySettings › getSolidaritySettings can warn with missing requirements

    expect(function).toThrowError(string)
    
    Expected the function to throw an error matching:
      "ERROR: Found, but no requirements key.  Please validate your solidarity file"
    Instead, it threw:
      ENOENT: no such file or directory, uv_chdir
          33 |   test('getSolidaritySettings can warn with missing requirements', async () => {
          34 |     expect(() => {
        > 35 |       process.chdir('__tests__/sandbox/solidarity_broken')
          36 |       const resultSettings = getSolidaritySettings(context)
          37 |     }).toThrowError('ERROR: Found, but no requirements key.  Please validate your solidarity file')
          38 |     process.chdir('../../../')
      
            
      at process.chdir (node_modules/graceful-fs/polyfills.js:21:9)
      at expect (__tests__/command_helpers/getSolidaritySettings.ts:35:15)
      at Object.<anonymous> (node_modules/expect/build/to_throw_matchers.js:43:7)
      at Object.throwingMatcher [as toThrowError] (node_modules/expect/build/index.js:214:24)
      at __tests__/command_helpers/getSolidaritySettings.ts:37:8
      at __tests__/command_helpers/getSolidaritySettings.ts:2:1
      at Object.<anonymous>.__awaiter (__tests__/command_helpers/getSolidaritySettings.ts:2:1)
      at Object.test (__tests__/command_helpers/getSolidaritySettings.ts:33:68)
      at __tests__/command_helpers/getSolidaritySettings.ts:37:8
      at __tests__/command_helpers/getSolidaritySettings.ts:2:1
      at Object.<anonymous>.__awaiter (__tests__/command_helpers/getSolidaritySettings.ts:2:1)
      at Object.test (__tests__/command_helpers/getSolidaritySettings.ts:33:68)

FAIL __tests__/integration/solidarity-report/report-basic.ts
  ● solidarity report works

    Path to copy doesn't exist /home/travis/build/infinitered/solidarity/__tests__/sandbox/__tests__/sandbox/solidarity_json/.solidarity.json

      13 |   jasmine.DEFAULT_TIMEOUT_INTERVAL = 90000
      14 |   const tempDir = tempy.directory()
    > 15 |   filesystem.copy(
      16 |     `__tests__${path.sep}sandbox${path.sep}solidarity_json${path.sep}.solidarity.json`,
      17 |     `${tempDir}${path.sep}.solidarity`
      18 |   )
      
      at generateNoSourceError (node_modules/fs-jetpack/lib/copy.js:43:15)
      at checksBeforeCopyingSync (node_modules/fs-jetpack/lib/copy.js:74:11)
      at Object.copySync [as sync] (node_modules/fs-jetpack/lib/copy.js:141:3)
      at Object.copy (node_modules/fs-jetpack/lib/jetpack.js:78:12)
      at Object.<anonymous>.beforeAll (__tests__/integration/solidarity-report/report-basic.ts:15:14)

  ● solidarity report works

    Command failed: /bin/sh -c node /home/travis/build/infinitered/solidarity/__tests__/sandbox/bin/solidarity report
    module.js:549
        throw err;
        ^
    
    Error: Cannot find module '/home/travis/build/infinitered/solidarity/__tests__/sandbox/bin/solidarity'
      
      
      
      at makeError (node_modules/execa/index.js:169:9)
      at Promise.all.then.arr (node_modules/execa/index.js:274:16)

FAIL __tests__/commands/help.ts
  ● Calls print items several times

    expect(received).toBe(expected) // Object.is equality
    
    Expected value to be:
      6
    Received:
      8

      28 |   expect(context.print.colors.magenta.mock.calls.length).toBe(0)
      29 |   helpCommand.run(context)
    > 30 |   expect(context.print.info.mock.calls.length).toBe(6)
      31 |   expect(context.print.printCommands.mock.calls.length).toBe(1)
      32 |   expect(context.print.success.mock.calls.length).toBe(2)
      33 |   expect(context.print.colors.magenta.mock.calls.length).toBe(2)
      
      at Object.<anonymous>.test (__tests__/commands/help.ts:30:48)

FAIL __tests__/integration/solidarity-snapshot/snapshot-nada.ts
  ● solidarity report works

    Command failed: /bin/sh -c echo n | node /home/travis/build/infinitered/solidarity/__tests__/sandbox/bin/solidarity snapshot
    module.js:549
        throw err;
        ^
    
    Error: Cannot find module '/home/travis/build/infinitered/solidarity/__tests__/sandbox/bin/solidarity'
      
      
      
      at makeError (node_modules/execa/index.js:169:9)
      at Promise.all.then.arr (node_modules/execa/index.js:274:16)

FAIL __tests__/command_helpers/checkDir.ts
  ● checkDir detects an existing dir

    expect(received).toBeTruthy()
    
    Expected value to be truthy, instead received
      false

       6 |   const location = './src'
       7 |   // Use checkDir to make sure it exists
    >  8 |   expect(checkDir({ location }, context)).toBeTruthy()
       9 | })
      10 | 
      11 | test('checkDir can fail', () => {
      
      at Object.<anonymous>.test (__tests__/command_helpers/checkDir.ts:8:43)

FAIL __tests__/command_helpers/checkFile.ts
  ● checkFile detects an existing file

    expect(received).toBeTruthy()
    
    Expected value to be truthy, instead received
      false

       6 |   const location = './package.json'
       7 |   // Use checkFile to make sure it exists
    >  8 |   expect(checkFile({ location }, context)).toBeTruthy()
       9 | })
      10 | 
      11 | test('checkFile can fail', () => {
      
      at Object.<anonymous>.test (__tests__/command_helpers/checkFile.ts:8:44)


Test Suites: 6 failed, 31 passed, 37 total
Tests:       8 failed, 158 passed, 166 total
Snapshots:   43 passed, 43 total
Time:        96.542s
Ran all test suites.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! solidarity@2.0.4 test:ci: `jest --ci --runInBand && yarn test:extras`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the solidarity@2.0.4 test:ci script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/travis/.npm/_logs/2018-04-03T15_17_59_462Z-debug.log
```

</details>


TravisBuddy: ## Travis tests have failed

Hey @GantMan,
Please read the following log in order to understand the failure reason.
It'll be awesome if you fix what's wrong and commit the changes.


### Node.js: 8


<details>
  <summary>
    <strong>
     npm run test:ci
    </strong>
  </summary>

```
> solidarity@2.0.4 test:ci /home/travis/build/infinitered/solidarity
> jest --ci --runInBand && yarn test:extras

PASS __tests__/commands/snapshot.ts (5.627s)
PASS __tests__/command_helpers/checkRequirement.ts
PASS __tests__/command_helpers/updateRequirement.ts
FAIL __tests__/command_helpers/getSolidaritySettings.ts
  ● parameterized getSolidaritySettings › custom module tests › can find solidarity file in module with flag -m

    ENOENT: no such file or directory, uv_chdir

      76 |   describe('custom module tests', () => {
      77 |     beforeAll(() => {
    > 78 |       process.chdir('__tests__/sandbox/fake_project')
      79 |     })
      80 | 
      81 |     test('can find solidarity file in module with flag -m', () => {
      
      at process.chdir (node_modules/graceful-fs/polyfills.js:21:9)
      at Object.beforeAll (__tests__/command_helpers/getSolidaritySettings.ts:78:15)

  ● parameterized getSolidaritySettings › custom module tests › can find solidarity file in module with flag -m

    Error
      ERROR: There is no solidarity file found with the given module thrown

  ● parameterized getSolidaritySettings › custom module tests › can find solidarity file in module with flag --module

    ENOENT: no such file or directory, uv_chdir

      76 |   describe('custom module tests', () => {
      77 |     beforeAll(() => {
    > 78 |       process.chdir('__tests__/sandbox/fake_project')
      79 |     })
      80 | 
      81 |     test('can find solidarity file in module with flag -m', () => {
      
      at process.chdir (node_modules/graceful-fs/polyfills.js:21:9)
      at Object.beforeAll (__tests__/command_helpers/getSolidaritySettings.ts:78:15)

  ● parameterized getSolidaritySettings › custom module tests › can find solidarity file in module with flag --module

    Error
      ERROR: There is no solidarity file found with the given module thrown

  ● parameterized getSolidaritySettings › custom module tests › can find solidarity JSON file in module with flag --module

    ENOENT: no such file or directory, uv_chdir

      76 |   describe('custom module tests', () => {
      77 |     beforeAll(() => {
    > 78 |       process.chdir('__tests__/sandbox/fake_project')
      79 |     })
      80 | 
      81 |     test('can find solidarity file in module with flag -m', () => {
      
      at process.chdir (node_modules/graceful-fs/polyfills.js:21:9)
      at Object.beforeAll (__tests__/command_helpers/getSolidaritySettings.ts:78:15)

  ● parameterized getSolidaritySettings › custom module tests › can find solidarity JSON file in module with flag --module

    Error
      ERROR: There is no solidarity file found with the given module thrown

  ● parameterized getSolidaritySettings › custom module tests › errors if no solidarity file in module

    ENOENT: no such file or directory, uv_chdir

      76 |   describe('custom module tests', () => {
      77 |     beforeAll(() => {
    > 78 |       process.chdir('__tests__/sandbox/fake_project')
      79 |     })
      80 | 
      81 |     test('can find solidarity file in module with flag -m', () => {
      
      at process.chdir (node_modules/graceful-fs/polyfills.js:21:9)
      at Object.beforeAll (__tests__/command_helpers/getSolidaritySettings.ts:78:15)

FAIL __tests__/command_helpers/reviewRule.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/appendSolidaritySettings.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/checkShell.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/integration/solidarity-check/check-valid.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/checkRequirementPlugins.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/commands/solidarity.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/checkCLIForUpdates.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/createPlugin.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/checkCLI.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/getVersion.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/quirksNodeModules.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/printResults.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/removeNonVersionCharacters.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/updateVersions.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/commands/create.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/integration/solidarity-report/report-basic.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/findPluginInfo.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/getLineWithVersion.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/skipRule.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/extensions/extensionCheck.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/index.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/commands/help.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/integration/solidarity-snapshot/snapshot-nada.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/checkENV.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/checkDir.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/checkFile.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/setSolidaritySettings.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/integration/solidarity-check/check-invalid.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/solidarityReport.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/commands/report.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/docs/testDocs.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/binaryExists.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/schema/validateExampleSchema.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

Summary of all failing tests
FAIL __tests__/command_helpers/getSolidaritySettings.ts
  ● parameterized getSolidaritySettings › custom module tests › can find solidarity file in module with flag -m

    ENOENT: no such file or directory, uv_chdir

      76 |   describe('custom module tests', () => {
      77 |     beforeAll(() => {
    > 78 |       process.chdir('__tests__/sandbox/fake_project')
      79 |     })
      80 | 
      81 |     test('can find solidarity file in module with flag -m', () => {
      
      at process.chdir (node_modules/graceful-fs/polyfills.js:21:9)
      at Object.beforeAll (__tests__/command_helpers/getSolidaritySettings.ts:78:15)

  ● parameterized getSolidaritySettings › custom module tests › can find solidarity file in module with flag -m

    Error
      ERROR: There is no solidarity file found with the given module thrown

  ● parameterized getSolidaritySettings › custom module tests › can find solidarity file in module with flag --module

    ENOENT: no such file or directory, uv_chdir

      76 |   describe('custom module tests', () => {
      77 |     beforeAll(() => {
    > 78 |       process.chdir('__tests__/sandbox/fake_project')
      79 |     })
      80 | 
      81 |     test('can find solidarity file in module with flag -m', () => {
      
      at process.chdir (node_modules/graceful-fs/polyfills.js:21:9)
      at Object.beforeAll (__tests__/command_helpers/getSolidaritySettings.ts:78:15)

  ● parameterized getSolidaritySettings › custom module tests › can find solidarity file in module with flag --module

    Error
      ERROR: There is no solidarity file found with the given module thrown

  ● parameterized getSolidaritySettings › custom module tests › can find solidarity JSON file in module with flag --module

    ENOENT: no such file or directory, uv_chdir

      76 |   describe('custom module tests', () => {
      77 |     beforeAll(() => {
    > 78 |       process.chdir('__tests__/sandbox/fake_project')
      79 |     })
      80 | 
      81 |     test('can find solidarity file in module with flag -m', () => {
      
      at process.chdir (node_modules/graceful-fs/polyfills.js:21:9)
      at Object.beforeAll (__tests__/command_helpers/getSolidaritySettings.ts:78:15)

  ● parameterized getSolidaritySettings › custom module tests › can find solidarity JSON file in module with flag --module

    Error
      ERROR: There is no solidarity file found with the given module thrown

  ● parameterized getSolidaritySettings › custom module tests › errors if no solidarity file in module

    ENOENT: no such file or directory, uv_chdir

      76 |   describe('custom module tests', () => {
      77 |     beforeAll(() => {
    > 78 |       process.chdir('__tests__/sandbox/fake_project')
      79 |     })
      80 | 
      81 |     test('can find solidarity file in module with flag -m', () => {
      
      at process.chdir (node_modules/graceful-fs/polyfills.js:21:9)
      at Object.beforeAll (__tests__/command_helpers/getSolidaritySettings.ts:78:15)

FAIL __tests__/command_helpers/reviewRule.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/appendSolidaritySettings.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/checkShell.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/integration/solidarity-check/check-valid.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/checkRequirementPlugins.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/commands/solidarity.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/checkCLIForUpdates.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/createPlugin.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/checkCLI.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/getVersion.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/quirksNodeModules.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/printResults.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/removeNonVersionCharacters.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/updateVersions.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/commands/create.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/integration/solidarity-report/report-basic.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/findPluginInfo.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/getLineWithVersion.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/skipRule.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/extensions/extensionCheck.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/index.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/commands/help.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/integration/solidarity-snapshot/snapshot-nada.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/checkENV.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/checkDir.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/checkFile.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/setSolidaritySettings.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/integration/solidarity-check/check-invalid.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/solidarityReport.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/commands/report.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/docs/testDocs.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/binaryExists.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/schema/validateExampleSchema.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)


Test Suites: 34 failed, 3 passed, 37 total
Tests:       4 failed, 50 passed, 54 total
Snapshots:   17 passed, 17 total
Time:        13.312s
Ran all test suites.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! solidarity@2.0.4 test:ci: `jest --ci --runInBand && yarn test:extras`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the solidarity@2.0.4 test:ci script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/travis/.npm/_logs/2018-04-03T16_01_09_243Z-debug.log
```

</details>


TravisBuddy: ## Travis tests have failed

Hey @GantMan,
Please read the following log in order to understand the failure reason.
It'll be awesome if you fix what's wrong and commit the changes.


### Node.js: 8


<details>
  <summary>
    <strong>
     npm run test:ci
    </strong>
  </summary>

```
> solidarity@2.0.4 test:ci /home/travis/build/infinitered/solidarity
> jest --ci --runInBand && yarn test:extras

PASS __tests__/commands/snapshot.ts (6.427s)
PASS __tests__/command_helpers/checkRequirement.ts
PASS __tests__/command_helpers/updateRequirement.ts
FAIL __tests__/command_helpers/getSolidaritySettings.ts
  ● parameterized getSolidaritySettings › custom module tests › can find solidarity file in module with flag -m

    ENOENT: no such file or directory, uv_chdir

      76 |   describe('custom module tests', () => {
      77 |     beforeAll(() => {
    > 78 |       process.chdir('./__tests__/sandbox/fake_project')
      79 |     })
      80 | 
      81 |     test('can find solidarity file in module with flag -m', () => {
      
      at process.chdir (node_modules/graceful-fs/polyfills.js:21:9)
      at Object.beforeAll (__tests__/command_helpers/getSolidaritySettings.ts:78:15)

  ● parameterized getSolidaritySettings › custom module tests › can find solidarity file in module with flag -m

    Error
      ERROR: There is no solidarity file found with the given module thrown

  ● parameterized getSolidaritySettings › custom module tests › can find solidarity file in module with flag --module

    ENOENT: no such file or directory, uv_chdir

      76 |   describe('custom module tests', () => {
      77 |     beforeAll(() => {
    > 78 |       process.chdir('./__tests__/sandbox/fake_project')
      79 |     })
      80 | 
      81 |     test('can find solidarity file in module with flag -m', () => {
      
      at process.chdir (node_modules/graceful-fs/polyfills.js:21:9)
      at Object.beforeAll (__tests__/command_helpers/getSolidaritySettings.ts:78:15)

  ● parameterized getSolidaritySettings › custom module tests › can find solidarity file in module with flag --module

    Error
      ERROR: There is no solidarity file found with the given module thrown

  ● parameterized getSolidaritySettings › custom module tests › can find solidarity JSON file in module with flag --module

    ENOENT: no such file or directory, uv_chdir

      76 |   describe('custom module tests', () => {
      77 |     beforeAll(() => {
    > 78 |       process.chdir('./__tests__/sandbox/fake_project')
      79 |     })
      80 | 
      81 |     test('can find solidarity file in module with flag -m', () => {
      
      at process.chdir (node_modules/graceful-fs/polyfills.js:21:9)
      at Object.beforeAll (__tests__/command_helpers/getSolidaritySettings.ts:78:15)

  ● parameterized getSolidaritySettings › custom module tests › can find solidarity JSON file in module with flag --module

    Error
      ERROR: There is no solidarity file found with the given module thrown

  ● parameterized getSolidaritySettings › custom module tests › errors if no solidarity file in module

    ENOENT: no such file or directory, uv_chdir

      76 |   describe('custom module tests', () => {
      77 |     beforeAll(() => {
    > 78 |       process.chdir('./__tests__/sandbox/fake_project')
      79 |     })
      80 | 
      81 |     test('can find solidarity file in module with flag -m', () => {
      
      at process.chdir (node_modules/graceful-fs/polyfills.js:21:9)
      at Object.beforeAll (__tests__/command_helpers/getSolidaritySettings.ts:78:15)

FAIL __tests__/command_helpers/reviewRule.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/appendSolidaritySettings.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/checkShell.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/integration/solidarity-check/check-valid.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/checkRequirementPlugins.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/commands/solidarity.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/checkCLIForUpdates.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/createPlugin.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/checkCLI.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/getVersion.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/quirksNodeModules.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/printResults.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/removeNonVersionCharacters.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/updateVersions.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/commands/create.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/integration/solidarity-report/report-basic.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/findPluginInfo.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/getLineWithVersion.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/skipRule.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/extensions/extensionCheck.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/index.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/commands/help.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/integration/solidarity-snapshot/snapshot-nada.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/checkENV.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/checkDir.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/checkFile.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/setSolidaritySettings.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/integration/solidarity-check/check-invalid.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/solidarityReport.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/commands/report.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/docs/testDocs.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/binaryExists.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/schema/validateExampleSchema.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

Summary of all failing tests
FAIL __tests__/command_helpers/getSolidaritySettings.ts
  ● parameterized getSolidaritySettings › custom module tests › can find solidarity file in module with flag -m

    ENOENT: no such file or directory, uv_chdir

      76 |   describe('custom module tests', () => {
      77 |     beforeAll(() => {
    > 78 |       process.chdir('./__tests__/sandbox/fake_project')
      79 |     })
      80 | 
      81 |     test('can find solidarity file in module with flag -m', () => {
      
      at process.chdir (node_modules/graceful-fs/polyfills.js:21:9)
      at Object.beforeAll (__tests__/command_helpers/getSolidaritySettings.ts:78:15)

  ● parameterized getSolidaritySettings › custom module tests › can find solidarity file in module with flag -m

    Error
      ERROR: There is no solidarity file found with the given module thrown

  ● parameterized getSolidaritySettings › custom module tests › can find solidarity file in module with flag --module

    ENOENT: no such file or directory, uv_chdir

      76 |   describe('custom module tests', () => {
      77 |     beforeAll(() => {
    > 78 |       process.chdir('./__tests__/sandbox/fake_project')
      79 |     })
      80 | 
      81 |     test('can find solidarity file in module with flag -m', () => {
      
      at process.chdir (node_modules/graceful-fs/polyfills.js:21:9)
      at Object.beforeAll (__tests__/command_helpers/getSolidaritySettings.ts:78:15)

  ● parameterized getSolidaritySettings › custom module tests › can find solidarity file in module with flag --module

    Error
      ERROR: There is no solidarity file found with the given module thrown

  ● parameterized getSolidaritySettings › custom module tests › can find solidarity JSON file in module with flag --module

    ENOENT: no such file or directory, uv_chdir

      76 |   describe('custom module tests', () => {
      77 |     beforeAll(() => {
    > 78 |       process.chdir('./__tests__/sandbox/fake_project')
      79 |     })
      80 | 
      81 |     test('can find solidarity file in module with flag -m', () => {
      
      at process.chdir (node_modules/graceful-fs/polyfills.js:21:9)
      at Object.beforeAll (__tests__/command_helpers/getSolidaritySettings.ts:78:15)

  ● parameterized getSolidaritySettings › custom module tests › can find solidarity JSON file in module with flag --module

    Error
      ERROR: There is no solidarity file found with the given module thrown

  ● parameterized getSolidaritySettings › custom module tests › errors if no solidarity file in module

    ENOENT: no such file or directory, uv_chdir

      76 |   describe('custom module tests', () => {
      77 |     beforeAll(() => {
    > 78 |       process.chdir('./__tests__/sandbox/fake_project')
      79 |     })
      80 | 
      81 |     test('can find solidarity file in module with flag -m', () => {
      
      at process.chdir (node_modules/graceful-fs/polyfills.js:21:9)
      at Object.beforeAll (__tests__/command_helpers/getSolidaritySettings.ts:78:15)

FAIL __tests__/command_helpers/reviewRule.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/appendSolidaritySettings.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/checkShell.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/integration/solidarity-check/check-valid.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/checkRequirementPlugins.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/commands/solidarity.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/checkCLIForUpdates.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/createPlugin.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/checkCLI.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/getVersion.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/quirksNodeModules.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/printResults.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/removeNonVersionCharacters.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/updateVersions.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/commands/create.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/integration/solidarity-report/report-basic.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/findPluginInfo.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/getLineWithVersion.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/skipRule.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/extensions/extensionCheck.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/index.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/commands/help.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/integration/solidarity-snapshot/snapshot-nada.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/checkENV.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/checkDir.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/checkFile.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/setSolidaritySettings.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/integration/solidarity-check/check-invalid.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/solidarityReport.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/commands/report.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/docs/testDocs.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/command_helpers/binaryExists.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)

FAIL __tests__/schema/validateExampleSchema.ts
  ● Test suite failed to run

    {
        "messageText": "Cannot read file '/tsconfig.json': ENOENT: no such file or directory, open '/tsconfig.json'.",
        "category": 1,
        "code": 5012
    }
      
      at readCompilerOptions (node_modules/ts-jest/dist/utils.js:26:15)
      at Object.getTSConfig (node_modules/ts-jest/dist/utils.js:86:18)
      at Object.getCacheKey (node_modules/ts-jest/dist/preprocessor.js:41:28)


Test Suites: 34 failed, 3 passed, 37 total
Tests:       4 failed, 50 passed, 54 total
Snapshots:   17 passed, 17 total
Time:        11.018s
Ran all test suites.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! solidarity@2.0.4 test:ci: `jest --ci --runInBand && yarn test:extras`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the solidarity@2.0.4 test:ci script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/travis/.npm/_logs/2018-04-03T16_14_03_793Z-debug.log
```

</details>


codecov[bot]: # [Codecov](https://codecov.io/gh/infinitered/solidarity/pull/199?src=pr&el=h1) Report
> Merging [#199](https://codecov.io/gh/infinitered/solidarity/pull/199?src=pr&el=desc) into [master](https://codecov.io/gh/infinitered/solidarity/commit/56bd42ef6231a67306f5b1dd49d48b490d4a5fa1?src=pr&el=desc) will **increase** coverage by `0.89%`.
> The diff coverage is `94.44%`.

[![Impacted file tree graph](https://codecov.io/gh/infinitered/solidarity/pull/199/graphs/tree.svg?src=pr&token=eTjcyCooFB&width=650&height=150)](https://codecov.io/gh/infinitered/solidarity/pull/199?src=pr&el=tree)

```diff
@@           Coverage Diff            @@
##           master   #199      +/-   ##
========================================
+ Coverage    82.1%    83%   +0.89%     
========================================
  Files          33     33              
  Lines         637    653      +16     
  Branches      112    121       +9     
========================================
+ Hits          523    542      +19     
  Misses         78     78              
+ Partials       36     33       -3
```


| [Impacted Files](https://codecov.io/gh/infinitered/solidarity/pull/199?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [src/commands/help.ts](https://codecov.io/gh/infinitered/solidarity/pull/199/diff?src=pr&el=tree#diff-c3JjL2NvbW1hbmRzL2hlbHAudHM=) | `100% <100%> (ø)` | :arrow_up: |
| [src/extensions/functions/getSolidaritySettings.ts](https://codecov.io/gh/infinitered/solidarity/pull/199/diff?src=pr&el=tree#diff-c3JjL2V4dGVuc2lvbnMvZnVuY3Rpb25zL2dldFNvbGlkYXJpdHlTZXR0aW5ncy50cw==) | `95.83% <93.75%> (-4.17%)` | :arrow_down: |
| [src/extensions/functions/checkRequirement.ts](https://codecov.io/gh/infinitered/solidarity/pull/199/diff?src=pr&el=tree#diff-c3JjL2V4dGVuc2lvbnMvZnVuY3Rpb25zL2NoZWNrUmVxdWlyZW1lbnQudHM=) | `84.81% <0%> (+5.06%)` | :arrow_up: |

------

[Continue to review full report at Codecov](https://codecov.io/gh/infinitered/solidarity/pull/199?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/infinitered/solidarity/pull/199?src=pr&el=footer). Last update [56bd42e...164c9df](https://codecov.io/gh/infinitered/solidarity/pull/199?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).


Patch:
diff --git a/src/commands/help.ts b/src/commands/help.ts
index 5268613..6ec85a8 100644
--- a/src/commands/help.ts
+++ b/src/commands/help.ts
@@ -13,6 +13,8 @@ module.exports = {
     print.info('  --verbose\t (-a) Prints all detected info during solidarity check')
     print.info('  --moderate\t (-m) Prints failures in check or single success message')
     print.info('  --silent\t (-s) No output, just a return code of success/failure')
+    print.info('  --solidarityFile\t (-f) Use given path to solidarity file for settings')
+    print.info('  --module\t (-m) Search for a solidarity file in the given npm package')
 
     print.success(colors.magenta('\nSolidarity is open source - https://github.com/infinitered/solidarity'))
     print.info(colors.magenta('If you need additional help, join our Slack at http://community.infinite.red'))
diff --git a/src/extensions/functions/getSolidaritySettings.ts b/src/extensions/functions/getSolidaritySettings.ts
index 995bf5b..606cc76 100644
--- a/src/extensions/functions/getSolidaritySettings.ts
+++ b/src/extensions/functions/getSolidaritySettings.ts
@@ -1,11 +1,39 @@
 import { SolidarityRunContext, SolidaritySettings } from '../../types'
 import * as JSON5 from 'json5'
+import * as path from 'path'
+
 module.exports = (context: SolidarityRunContext): SolidaritySettings => {
-  const { filesystem } = context
+  const { filesystem, parameters } = context
+  const options = parameters.options || {} // fix possibly undefined from gluegun
 
-  // for now only JSON and JSON5 support
+  /* for now only JSON and JSON5 support
+  * Summary:
+  * Looks for `.solidarity` or `.solidarity.json` files
+  * Unless you pass parameter options telling us to look
+  * in specific paths or node modules
+  */
   let solidaritySettings
-  if (filesystem.exists('.solidarity')) {
+  if (options.solidarityFile || options.f) {
+    // They are telling us where to go
+    const filePath = options.solidarityFile || options.f
+    if (filesystem.exists(filePath)) {
+      solidaritySettings = JSON5.parse(filesystem.read('.solidarity'))
+    } else {
+      throw 'ERROR: There is no solidarity file at the given path'
+    }
+  } else if (options.module || options.m) {
+    // We will search that module
+    const moduleName = options.module || options.m
+    const filePath = path.join('node_modules', moduleName, '.solidarity')
+
+    if (filesystem.exists(filePath)) {
+      solidaritySettings = JSON5.parse(filesystem.read(filePath))
+    } else if (filesystem.exists(filePath + '.json')) {
+      solidaritySettings = JSON5.parse(filesystem.read(filePath + '.json'))
+    } else {
+      throw 'ERROR: There is no solidarity file found with the given module'
+    }
+  } else if (filesystem.exists('.solidarity')) {
     solidaritySettings = JSON5.parse(filesystem.read('.solidarity'))
   } else if (filesystem.exists('.solidarity.json')) {
     solidaritySettings = JSON5.parse(filesystem.read('.solidarity.json'))


Test patch:
diff --git a/__tests__/command_helpers/__snapshots__/getSolidaritySettings.ts.snap b/__tests__/command_helpers/__snapshots__/getSolidaritySettings.ts.snap
index 212f2fd..a095f9a 100644
--- a/__tests__/command_helpers/__snapshots__/getSolidaritySettings.ts.snap
+++ b/__tests__/command_helpers/__snapshots__/getSolidaritySettings.ts.snap
@@ -1,3 +1,3 @@
 // Jest Snapshot v1, https://goo.gl/fbAQLP
 
-exports[`getSolidaritySettings w/ success getSolidaritySettings exists 1`] = `[Function]`;
+exports[`basic getSolidaritySettings w/ success getSolidaritySettings exists 1`] = `[Function]`;
diff --git a/__tests__/command_helpers/getSolidaritySettings.ts b/__tests__/command_helpers/getSolidaritySettings.ts
index 5c09525..1b15d8c 100644
--- a/__tests__/command_helpers/getSolidaritySettings.ts
+++ b/__tests__/command_helpers/getSolidaritySettings.ts
@@ -1,19 +1,19 @@
 import { solidarity } from '../../src'
 import getSolidaritySettings from '../../src/extensions/functions/getSolidaritySettings'
 
-const context = require('gluegun/toolbox')
+const context = require('mockContext')
 
-describe('getSolidaritySettings', () => {
+describe('basic getSolidaritySettings', () => {
   describe('w/ success', () => {
     test('getSolidaritySettings exists', () => expect(getSolidaritySettings).toMatchSnapshot())
 
-    test('getSolidaritySettings succeeds', async () => {
+    test('getSolidaritySettings succeeds', () => {
       const resultSettings = getSolidaritySettings(context)
       // we got an object with requirements defined
       expect(resultSettings).toMatchObject({ requirements: {} })
     })
 
-    test('getSolidaritySettings succeeds', async () => {
+    test('getSolidaritySettings succeeds', () => {
       process.chdir('__tests__/sandbox/solidarity_json')
       const resultSettings = getSolidaritySettings(context)
       // we got an object with requirements defined
@@ -22,19 +22,98 @@ describe('getSolidaritySettings', () => {
     })
   })
 
-  test('getSolidaritySettings can fail', async () => {
+  describe('w/ failure', () => {
+    test('getSolidaritySettings can fail', () => {
+      expect(() => {
+        process.chdir('__tests__')
+        const resultSettings = getSolidaritySettings(context)
+      }).toThrow()
+      process.chdir('../')
+    })
+
+    test('getSolidaritySettings can warn with missing requirements', () => {
+      expect(() => {
+        process.chdir('__tests__/sandbox/solidarity_broken')
+        const resultSettings = getSolidaritySettings(context)
+      }).toThrowError('ERROR: Found, but no requirements key.  Please validate your solidarity file')
+      process.chdir('../../../')
+    })
+  }
+})
+
+describe('parameterized getSolidaritySettings', () => {
+
+  test('custom path with -f', () => {
+    context.parameters.options = { f: '__tests__/sandbox/solidarity_json' }
+    const resultSettings = getSolidaritySettings(context)
+    // we got an object with requirements defined
+    expect(resultSettings).toMatchObject({ requirements: {} })
+    context.parameters.options = {}
+  })
+
+  test('custom path with --solidarityFile', () => {
+    context.parameters.options = { solidarityFile: '__tests__/sandbox/solidarity_json' }
+    const resultSettings = getSolidaritySettings(context)
+    // we got an object with requirements defined
+    expect(resultSettings).toMatchObject({ requirements: {} })
+    context.parameters.options = {}
+  })
+
+  test('failing path message', () => {
+    // test longhand
+    context.parameters.options = { solidarityFile: '__tests__/fake' }
     expect(() => {
-      process.chdir('__tests__')
       const resultSettings = getSolidaritySettings(context)
-    }).toThrow()
-    process.chdir('../')
+    }).toThrowError('ERROR: There is no solidarity file at the given path')
+    // test shorthand
+    context.parameters.options = { f: '__tests__/fake' }
+    expect(() => {
+      const resultSettings = getSolidaritySettings(context)
+    }).toThrowError('ERROR: There is no solidarity file at the given path')
+    context.parameters.options = {}
   })
 
-  test('getSolidaritySettings can warn with missing requirements', async () => {
-    expect(() => {
-      process.chdir('__tests__/sandbox/solidarity_broken')
+  describe('custom module tests', () => {
+    beforeAll(() => {
+      process.chdir('__tests__/sandbox/fake_project')
+    })
+
+    test('can find solidarity file in module with flag -m', () => {
+      context.parameters.options = { m: 'mock_module' }
+      const resultSettings = getSolidaritySettings(context)
+      // we got an object with requirements defined
+      expect(resultSettings).toMatchObject({ requirements: {} })
+      context.parameters.options = {}
+    })
+
+    test('can find solidarity file in module with flag --module', () => {
+      context.parameters.options = { module: 'mock_module' }
       const resultSettings = getSolidaritySettings(context)
-    }).toThrowError('ERROR: Found, but no requirements key.  Please validate your solidarity file')
-    process.chdir('../../../')
+      // we got an object with requirements defined
+      expect(resultSettings).toMatchObject({ requirements: {} })
+      context.parameters.options = {}
+    })
+
+    test('can find solidarity JSON file in module with flag --module', () => {
+      context.parameters.options = { module: 'mock_second_module' }
+      const resultSettings = getSolidaritySettings(context)
+      // we got an object with requirements defined
+      expect(resultSettings).toMatchObject({ requirements: {} })
+      context.parameters.options = {}
+    })
+
+    test('errors if no solidarity file in module', () => {
+      context.parameters.options = { module: 'nope' }
+      expect(() => {
+        const resultSettings = getSolidaritySettings(context)
+      }).toThrowError('ERROR: There is no solidarity file found with the given module')
+      context.parameters.options = {}
+    })
+
+    afterAll(() => {
+      process.chdir('../../../')
+    })
+
   })
+
 })
diff --git a/__tests__/commands/help.ts b/__tests__/commands/help.ts
index a62cb58..ab901bf 100644
--- a/__tests__/commands/help.ts
+++ b/__tests__/commands/help.ts
@@ -27,7 +27,7 @@ test('Calls print items several times', () => {
   expect(context.print.success.mock.calls.length).toBe(0)
   expect(context.print.colors.magenta.mock.calls.length).toBe(0)
   helpCommand.run(context)
-  expect(context.print.info.mock.calls.length).toBe(6)
+  expect(context.print.info.mock.calls.length).toBe(8)
   expect(context.print.printCommands.mock.calls.length).toBe(1)
   expect(context.print.success.mock.calls.length).toBe(2)
   expect(context.print.colors.magenta.mock.calls.length).toBe(2)
diff --git a/__tests__/sandbox/fake_project/node_modules/mock_module/.solidarity b/__tests__/sandbox/fake_project/node_modules/mock_module/.solidarity
new file mode 100644
index 0000000..c132fe1
--- /dev/null
+++ b/__tests__/sandbox/fake_project/node_modules/mock_module/.solidarity
@@ -0,0 +1,6 @@
+{
+  "requirements": {
+    "NPM": [{ "rule": "cli", "binary": "npm" }],
+    "Node": [{ "rule": "cli", "binary": "node", "semver": ">=4.6.0", "error": "Upgrade to latest node >= 4.6 please."}]
+  }
+}
diff --git a/__tests__/sandbox/fake_project/node_modules/mock_second_module/.solidarity.json b/__tests__/sandbox/fake_project/node_modules/mock_second_module/.solidarity.json
new file mode 100644
index 0000000..c132fe1
--- /dev/null
+++ b/__tests__/sandbox/fake_project/node_modules/mock_second_module/.solidarity.json
@@ -0,0 +1,6 @@
+{
+  "requirements": {
+    "NPM": [{ "rule": "cli", "binary": "npm" }],
+    "Node": [{ "rule": "cli", "binary": "node", "semver": ">=4.6.0", "error": "Upgrade to latest node >= 4.6 please."}]
+  }
+}