Skip to content

Commit

Permalink
fix: macro options from plugin options in required macros (#120)
Browse files Browse the repository at this point in the history
  • Loading branch information
conartist6 authored and Kent C. Dodds committed Jun 5, 2019
1 parent 5913bae commit 2d57c60
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 0 deletions.
14 changes: 14 additions & 0 deletions src/__tests__/__snapshots__/index.js.snap
Original file line number Diff line number Diff line change
Expand Up @@ -235,6 +235,20 @@ configured\`stuff\`;
`;
exports[`macros when configuration is specified in plugin options: when configuration is specified in plugin options 2`] = `
const configured = require('./configurable.macro')
// eslint-disable-next-line babel/no-unused-expressions
configured\`stuff\`
↓ ↓ ↓ ↓ ↓ ↓
// eslint-disable-next-line babel/no-unused-expressions
configured\`stuff\`;
`;
exports[`macros when configuration is specified incorrectly in plugin options: when configuration is specified incorrectly in plugin options 1`] = `
import configured from './configurable.macro'
Expand Down
4 changes: 4 additions & 0 deletions src/__tests__/fixtures/config/cjs-code.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
const configured = require('./configurable.macro')

// eslint-disable-next-line babel/no-unused-expressions
configured`stuff`
25 changes: 25 additions & 0 deletions src/__tests__/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -370,6 +370,31 @@ pluginTester({
}
},
},
{
title: 'when configuration is specified in plugin options',
pluginOptions: {
configurableMacro: {
someConfig: false,
somePluginConfig: true,
},
},
fixture: path.join(__dirname, 'fixtures/config/cjs-code.js'),
teardown() {
try {
const configurableMacro = require('./fixtures/config/configurable.macro')
expect(configurableMacro.realMacro).toHaveBeenCalledTimes(1)
expect(configurableMacro.realMacro.mock.calls[0][0].config).toEqual({
fileConfig: true,
someConfig: true,
somePluginConfig: true,
})
configurableMacro.realMacro.mockClear()
} catch (e) {
console.error(e)
throw e
}
},
},
{
title: 'when configuration is specified incorrectly in plugin options',
fixture: path.join(__dirname, 'fixtures/config/code.js'),
Expand Down
1 change: 1 addition & 0 deletions src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,7 @@ function macrosPlugin(
babel,
interopRequire,
resolvePath,
options,
})

if (!result || !result.keepImports) {
Expand Down

0 comments on commit 2d57c60

Please sign in to comment.