|
@@ -615,6 +615,25 @@ describe('resolveType', () => {
|
|
|
expect(deps && [...deps]).toStrictEqual(Object.keys(files))
|
|
expect(deps && [...deps]).toStrictEqual(Object.keys(files))
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
|
|
+ test('relative (re-export /w same source type name)', () => {
|
|
|
|
|
+ const files = {
|
|
|
|
|
+ '/foo.ts': `export default interface P { foo: string }`,
|
|
|
|
|
+ '/bar.ts': `export default interface PP { bar: number }`,
|
|
|
|
|
+ '/baz.ts': `export { default as X } from './foo'; export { default as XX } from './bar'; `
|
|
|
|
|
+ }
|
|
|
|
|
+ const { props, deps } = resolve(
|
|
|
|
|
+ `import { X, XX } from './baz'
|
|
|
|
|
+ defineProps<X & XX>()
|
|
|
|
|
+ `,
|
|
|
|
|
+ files
|
|
|
|
|
+ )
|
|
|
|
|
+ expect(props).toStrictEqual({
|
|
|
|
|
+ foo: ['String'],
|
|
|
|
|
+ bar: ['Number']
|
|
|
|
|
+ })
|
|
|
|
|
+ expect(deps && [...deps]).toStrictEqual(['/baz.ts', '/foo.ts', '/bar.ts'])
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
test('relative (dynamic import)', () => {
|
|
test('relative (dynamic import)', () => {
|
|
|
const files = {
|
|
const files = {
|
|
|
'/foo.ts': `export type P = { foo: string, bar: import('./bar').N }`,
|
|
'/foo.ts': `export type P = { foo: string, bar: import('./bar').N }`,
|