fix: allow .ts or .js extension in module package

This commit is contained in:
Tiarhai 2023-12-28 23:59:05 +00:00
parent c75b40245f
commit 955dfdc253

View File

@ -1,4 +1,5 @@
import { readdirSync } from 'node:fs' import { readdirSync } from 'node:fs'
import { join } from 'node:path'
import { addComponent, createResolver, defineNuxtModule } from '@nuxt/kit' import { addComponent, createResolver, defineNuxtModule } from '@nuxt/kit'
import { Project } from 'ts-morph' import { Project } from 'ts-morph'
@ -29,7 +30,7 @@ export default defineNuxtModule<ModuleOptions>({
const COMPONENT_DIR_PATH = options.componentDir! const COMPONENT_DIR_PATH = options.componentDir!
const ROOT_DIR_PATH = nuxt.options.rootDir const ROOT_DIR_PATH = nuxt.options.rootDir
const { resolve } = createResolver(ROOT_DIR_PATH) const { resolve, resolvePath } = createResolver(ROOT_DIR_PATH)
nuxt.options.ignore.push(IGNORE_DIR) nuxt.options.ignore.push(IGNORE_DIR)
nuxt._ignore?.add(IGNORE_DIR) nuxt._ignore?.add(IGNORE_DIR)
@ -38,7 +39,7 @@ export default defineNuxtModule<ModuleOptions>({
try { try {
readdirSync(resolve(COMPONENT_DIR_PATH)) readdirSync(resolve(COMPONENT_DIR_PATH))
.forEach(async (dir) => { .forEach(async (dir) => {
const filePath = resolve(COMPONENT_DIR_PATH, dir, 'index.ts') const filePath = await resolvePath(join(COMPONENT_DIR_PATH, dir, 'index'), { extensions: ['.ts', '.js'] })
const project = new Project() const project = new Project()
project.addSourceFileAtPath(filePath) project.addSourceFileAtPath(filePath)