before('parse file', function () { imports = ExportMap.parse( getFilename('deprecated.js'), parseContext) // sanity checks expect(imports.errors).to.be.empty })
it('finds exports for an ES7 module with babel-eslint', function () { var imports = ExportMap.parse( getFilename('jsx/FooES7.js'), { parserPath: 'babel-eslint' } ) expect(imports).to.exist expect(imports.get('default')).to.exist expect(imports.has('Bar')).to.be.true })
before('sanity check and prime cache', function (done) { // first version fs.writeFileSync(getFilename('deep/cache-2.js'), fs.readFileSync(getFilename('deep/cache-2a.js'))) a = ExportMap.parse(getFilename('deep/cache-1.js'), espreeContext) expect(a.errors).to.be.empty expect(a.get('b').namespace).to.exist expect(a.get('b').namespace.has('c')).to.be.true // wait ~1s, cache check is 1s resolution setTimeout(function reup() { fs.unlinkSync(getFilename('deep/cache-2.js')) // swap in a new file and touch it fs.writeFileSync(getFilename('deep/cache-2.js'), fs.readFileSync(getFilename('deep/cache-2b.js'))) done() }, 1100) })
it('works with babel-eslint & ES7 namespace exports', function () { const a = ExportMap.parse(getFilename('deep-es7/a.js'), babelContext) expect(a.errors).to.be.empty expect(a.get('b').namespace).to.exist expect(a.get('b').namespace.has('c')).to.be.true })
it('captures namespace exported as default', function () { const def = ExportMap.parse(getFilename('deep/default.js'), espreeContext) expect(def.errors).to.be.empty expect(def.get('default').namespace).to.exist expect(def.get('default').namespace.has('c')).to.be.true })
it('works with espree & traditional namespace exports', function () { const a = ExportMap.parse(getFilename('deep/a.js'), espreeContext) expect(a.errors).to.be.empty expect(a.get('b').namespace).to.exist expect(a.get('b').namespace.has('c')).to.be.true })