// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`macros Macros are applied in the order respecting plugins order: Macros are applied in the order respecting plugins order 1`] = ` import Wrap from "./fixtures/jsx-id-prefix.macro"; const bar = Wrap(<div id="d1"><p id="p1"></p></div>); ↓ ↓ ↓ ↓ ↓ ↓ const bar = Wrap(<div id="plugin-macro-d1"><p id="plugin-macro-p1"></p></div>); `; exports[`macros Supports named imports: Supports named imports 1`] = ` import {css as CSS, styled as STYLED} from './fixtures/emotion.macro' const red = CSS\` background-color: red; \` const Div = STYLED.div\` composes: \${red} color: blue; \` ↓ ↓ ↓ ↓ ↓ ↓ const red = "background-color: red;"; const Div = STYLED.div\`undefined\`; `; exports[`macros Works as a JSXElement: Works as a JSXElement 1`] = ` import MyEval from './fixtures/eval.macro' const x = <MyEval>34 + 45</MyEval> ↓ ↓ ↓ ↓ ↓ ↓ const x = 79; `; exports[`macros appends the npm URL for errors thrown by node modules with a slash: appends the npm URL for errors thrown by node modules with a slash 1`] = ` import errorThrower from 'babel-plugin-macros-test-error-thrower/macro' errorThrower('hi') ↓ ↓ ↓ ↓ ↓ ↓ Error: not helpful Learn more: https://www.npmjs.com/package/babel-plugin-macros-test-error-thrower `; exports[`macros appends the npm URL for errors thrown by node modules: appends the npm URL for errors thrown by node modules 1`] = ` import errorThrower from 'babel-plugin-macros-test-error-thrower.macro' errorThrower('hi') ↓ ↓ ↓ ↓ ↓ ↓ Error: not helpful Learn more: https://www.npmjs.com/package/babel-plugin-macros-test-error-thrower.macro `; exports[`macros does nothing but remove macros if it is unused: does nothing but remove macros if it is unused 1`] = ` import foo from "./fixtures/eval.macro"; const bar = 42; ↓ ↓ ↓ ↓ ↓ ↓ const bar = 42; `; exports[`macros forwards MacroErrors thrown by the macro: forwards MacroErrors thrown by the macro 1`] = ` import errorThrower from './fixtures/macro-error-thrower.macro' errorThrower('hey') ↓ ↓ ↓ ↓ ↓ ↓ MacroError: very helpful `; exports[`macros macros can set their configName and get their config: macros can set their configName and get their config 1`] = ` import configured from './configurable.macro' // eslint-disable-next-line babel/no-unused-expressions configured\`stuff\` ↓ ↓ ↓ ↓ ↓ ↓ // eslint-disable-next-line babel/no-unused-expressions configured\`stuff\`; `; exports[`macros optionally keep imports (import declaration): optionally keep imports (import declaration) 1`] = ` import macro from './fixtures/keep-imports.macro' const red = macro('noop'); ↓ ↓ ↓ ↓ ↓ ↓ import macro from './fixtures/keep-imports.macro'; const red = macro('noop'); `; exports[`macros optionally keep imports (variable assignment): optionally keep imports (variable assignment) 1`] = ` const macro = require('./fixtures/keep-imports.macro') const red = macro('noop'); ↓ ↓ ↓ ↓ ↓ ↓ const macro = require('./fixtures/keep-imports.macro'); const red = macro('noop'); `; exports[`macros optionally keep imports in combination with babel-preset-env (#80): optionally keep imports in combination with babel-preset-env (#80) 1`] = ` import macro from './fixtures/keep-imports.macro' const red = macro('noop') ↓ ↓ ↓ ↓ ↓ ↓ import macro from './fixtures/keep-imports.macro'; const red = macro('noop'); `; exports[`macros prepends the relative path for errors thrown by the macro: prepends the relative path for errors thrown by the macro 1`] = ` import errorThrower from './fixtures/error-thrower.macro' errorThrower('hey') ↓ ↓ ↓ ↓ ↓ ↓ Error: very unhelpful `; exports[`macros raises an error if macro does not exist: raises an error if macro does not exist 1`] = ` import foo from './some-macros-that-doesnt-even-need-to-exist.macro' export default 'something else' ↓ ↓ ↓ ↓ ↓ ↓ Error: Cannot find module './some-macros-that-doesnt-even-need-to-exist.macro' from '<PROJECT_ROOT>/src/__tests__' `; exports[`macros supports compiled macros (\`__esModule\` + \`export default\`): supports compiled macros (\`__esModule\` + \`export default\`) 1`] = ` import {css, styled} from './fixtures/emotion-esm.macro' const red = css\` background-color: red; \` const Div = styled.div\` composes: \${red} color: blue; \` ↓ ↓ ↓ ↓ ↓ ↓ const red = css\` background-color: red; \`; const Div = styled.div\` composes: \${red} color: blue; \`; `; exports[`macros supports macros from node_modules: supports macros from node_modules 1`] = ` import fakeMacro from 'babel-plugin-macros-test-fake/macro' fakeMacro('hi') ↓ ↓ ↓ ↓ ↓ ↓ fakeMacro('hi'); `; exports[`macros throws an error if the macro is not properly wrapped: throws an error if the macro is not properly wrapped 1`] = ` import unwrapped from './fixtures/non-wrapped.macro' unwrapped('hey') ↓ ↓ ↓ ↓ ↓ ↓ Error: https://github.com/kentcdodds/babel-plugin-macros/blob/master/other/docs/author.md#writing-a-macro `; exports[`macros when a plugin that replaces paths is used, macros still work properly: when a plugin that replaces paths is used, macros still work properly 1`] = ` import myEval from '../eval.macro' const result = myEval\`+('4' + '2')\` global.result = result ↓ ↓ ↓ ↓ ↓ ↓ const result = ("foobar", 42); global.result = result; `; exports[`macros when configuration is specified in plugin options: when configuration is specified in plugin options 1`] = ` import configured from './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 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' // eslint-disable-next-line babel/no-unused-expressions configured\`stuff\` ↓ ↓ ↓ ↓ ↓ ↓ // eslint-disable-next-line babel/no-unused-expressions configured\`stuff\`; `; exports[`macros when plugin options configuration cannot be merged with file configuration: when plugin options configuration cannot be merged with file configuration 1`] = ` import configured from './configurable.macro' // eslint-disable-next-line babel/no-unused-expressions configured\`stuff\` ↓ ↓ ↓ ↓ ↓ ↓ Error: <PROJECT_ROOT>/src/__tests__/fixtures/primitive-config/babel-plugin-macros.config.js specified a configurableMacro config of type object, but the the macros plugin's options.configurableMacro did contain an object. Both configs must contain objects for their options to be mergeable. `; exports[`macros when there is an error reading the config, a helpful message is logged 1`] = ` Array [ There was an error trying to load the config "configurableMacro" for the macro imported from "./configurable.macro. Please see the error thrown for more information., ] `; exports[`macros when there is an error reading the config, a helpful message is logged: when there is an error reading the config, a helpful message is logged 1`] = ` import configured from './configurable.macro' // eslint-disable-next-line babel/no-unused-expressions configured\`stuff\` ↓ ↓ ↓ ↓ ↓ ↓ Error: this is a cosmiconfig error `; exports[`macros when there is no config to load, then no config is passed: when there is no config to load, then no config is passed 1`] = ` import configured from './configurable.macro' // eslint-disable-next-line babel/no-unused-expressions configured\`stuff\` ↓ ↓ ↓ ↓ ↓ ↓ // eslint-disable-next-line babel/no-unused-expressions configured\`stuff\`; `; exports[`macros works with function calls: works with function calls 1`] = ` import myEval from './fixtures/eval.macro' const x = myEval('34 + 45') ↓ ↓ ↓ ↓ ↓ ↓ const x = 79; `; exports[`macros works with import: works with import 1`] = ` import myEval from './fixtures/eval.macro' const x = myEval\`34 + 45\` ↓ ↓ ↓ ↓ ↓ ↓ const x = 79; `; exports[`macros works with require destructuring and aliasing: works with require destructuring and aliasing 1`] = ` const {css: CSS, styled: STYLED} = require('./fixtures/emotion.macro') const red = CSS\` background-color: red; \` const Div = STYLED.div\` composes: \${red} color: blue; \` ↓ ↓ ↓ ↓ ↓ ↓ const red = "background-color: red;"; const Div = STYLED.div\`undefined\`; `; exports[`macros works with require destructuring: works with require destructuring 1`] = ` const {css, styled} = require('./fixtures/emotion.macro') const red = css\` background-color: red; \` const Div = styled.div\` composes: \${red} color: blue; \` ↓ ↓ ↓ ↓ ↓ ↓ const red = "background-color: red;"; const Div = styled.div\`undefined\`; `; exports[`macros works with require: works with require 1`] = ` const evaler = require('./fixtures/eval.macro') const x = evaler\`34 + 45\` ↓ ↓ ↓ ↓ ↓ ↓ const x = 79; `;