Skip to content
This repository was archived by the owner on Jun 24, 2025. It is now read-only.

Conversation

@sudo-suhas
Copy link
Contributor

When used with jest, parent.children will be undefined.

console.log(module):

{ exports: [Function: requireFromString],
      filename: 'E:/Projects/repos/cosmiconfig/node_modules/require-from-string/index.js',
      id: 'E:/Projects/repos/cosmiconfig/node_modules/require-from-string/index.js',
      children: [],
      parent: { exports: {}, filename: 'mock.js', id: 'mockParent' },
      paths:
       [ 'E:/Projects/repos/cosmiconfig/node_modules/require-from-string/node_modules',
         'E:/Projects/repos/cosmiconfig/node_modules/node_modules',
         'E:/Projects/repos/cosmiconfig/node_modules',
         'E:/Projects/repos/node_modules',
         'E:/Projects/node_modules',
         'E:/node_modules' ],
      require:
       { [Function: bound requireModuleOrMock]
         cache: {},
         extensions: {},
         requireActual: [Function: bound requireModule],
         requireMock: [Function: bound requireMock],
         resolve: [Function] } }

This causes the following error:

TypeError: Cannot read property 'splice' of undefined                   
                                                                        
  at requireFromString (node_modules/require-from-string/index.js:31:17)
  at parseContent (src/loadDefinedFile.js:32:24)                        
  at loadDefinedFile (src/loadDefinedFile.js:50:3)                      
  at load (src/createExplorer.js:83:9)                                  
  at load (src/createExplorer.js:89:26)                                 
  at configFileLoader (test/util.js:12:10)                              
  at Object.<anonymous> (test/successful-files.test.js:14:34)           
      at Promise (<anonymous>)                                          

This adds a short-circuit check before attempting to splice it.

When used with jest, `parent.children` will be undefined.
`console.log(module)`:
{ exports: [Function: requireFromString],
      filename: 'E:/Projects/repos/cosmiconfig/node_modules/require-from-string/index.js',
      id: 'E:/Projects/repos/cosmiconfig/node_modules/require-from-string/index.js',
      children: [],
      parent: { exports: {}, filename: 'mock.js', id: 'mockParent' },
      paths:
       [ 'E:/Projects/repos/cosmiconfig/node_modules/require-from-string/node_modules',
         'E:/Projects/repos/cosmiconfig/node_modules/node_modules',
         'E:/Projects/repos/cosmiconfig/node_modules',
         'E:/Projects/repos/node_modules',
         'E:/Projects/node_modules',
         'E:/node_modules' ],
      require:
       { [Function: bound requireModuleOrMock]
         cache: {},
         extensions: {},
         requireActual: [Function: bound requireModule],
         requireMock: [Function: bound requireMock],
         resolve: [Function] } }
@floatdrop floatdrop merged commit c8b4a97 into floatdrop:master Sep 17, 2017
@sudo-suhas sudo-suhas deleted the check-before-splice branch September 17, 2017 06:52
@floatdrop
Copy link
Owner

Released as 2.0.1 – thanks!

@sudo-suhas
Copy link
Contributor Author

Awesome! Thanks @floatdrop

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants