Skip to content

Commit 1785a0f

Browse files
author
Kent C. Dodds
committed
fix: require files relative to the source file
1 parent 134f7f6 commit 1785a0f

File tree

3 files changed

+7
-6
lines changed

3 files changed

+7
-6
lines changed

package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@
2828
"author": "Kent C. Dodds <[email protected]> (http://kentcdodds.com/)",
2929
"license": "MIT",
3030
"dependencies": {
31-
"cosmiconfig": "^5.0.5"
31+
"cosmiconfig": "^5.0.5",
32+
"resolve": "^1.8.1"
3233
},
3334
"devDependencies": {
3435
"@babel/core": "^7.1.0",

src/__tests__/__snapshots__/index.js.snap

+1-1
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ export default 'something else'
149149
150150
↓ ↓ ↓ ↓ ↓ ↓
151151
152-
Error: Cannot find module '<PROJECT_ROOT>/src/__tests__/some-macros-that-doesnt-even-need-to-exist.macro' from 'index.js'
152+
Error: Cannot find module './some-macros-that-doesnt-even-need-to-exist.macro' from '<PROJECT_ROOT>/src/__tests__'
153153
154154
`;
155155

src/index.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
const p = require('path')
2+
const resolve = require('resolve')
23
// const printAST = require('ast-pretty-print')
34

45
const macrosRegex = /[./]macro(\.js)?$/
@@ -149,11 +150,10 @@ function applyMacros({path, imports, source, state, babel, interopRequire}) {
149150
{},
150151
)
151152

152-
let requirePath = source
153153
const isRelative = source.indexOf('.') === 0
154-
if (isRelative) {
155-
requirePath = p.join(p.dirname(getFullFilename(filename)), source)
156-
}
154+
const requirePath = resolve.sync(source, {
155+
basedir: p.dirname(getFullFilename(filename)),
156+
})
157157

158158
const macro = interopRequire(requirePath)
159159
if (!macro.isBabelMacro) {

0 commit comments

Comments
 (0)