Skip to content

Commit 3cf0b6a

Browse files
committedAug 1, 2024·
fix(resolver): handle importing ".."
fixes #626
1 parent ca4bf11 commit 3cf0b6a

File tree

4 files changed

+6
-4
lines changed

4 files changed

+6
-4
lines changed
 

‎src/cjs/api/module-resolve-filename/resolve-implicit-extensions.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ export const createImplicitResolver = (
1515
): SimpleResolve => (
1616
request,
1717
) => {
18-
if (request === '.') {
19-
request = './';
18+
if (request === '.' || request === '..') {
19+
request += '/';
2020
}
2121

2222
/**

‎src/esm/hook/resolve.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,8 @@ const resolveDirectory: ResolveHook = async (
141141
context,
142142
nextResolve,
143143
) => {
144-
if (specifier === '.') {
145-
specifier = './';
144+
if (specifier === '.' || specifier === '..') {
145+
specifier += '/';
146146
}
147147

148148
if (isDirectoryPattern.test(specifier)) {

‎tests/fixtures.ts

+1
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,7 @@ export const files = {
212212
`,
213213

214214
'period.in.name.ts': 'export { a } from "."',
215+
'dotdot/index.ts': 'export { a } from ".."',
215216

216217
'index.js': 'throw new Error("should not be loaded")',
217218
},

‎tests/specs/smoke.ts

+1
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,7 @@ export default testSuite(async ({ describe }, { tsx, supports, version }: NodeAp
283283
import '@/ts/';
284284
import './ts/period.in.name';
285285
import '@/ts/period.in.name';
286+
import './ts/dotdot';
286287
287288
// .jsx
288289
import * as jsx from './jsx/index.jsx';

0 commit comments

Comments
 (0)
Please sign in to comment.