From 0213adcd20ceecd06a55154c8805e8ab45cf080b Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 5 Oct 2021 22:47:58 +0200 Subject: [PATCH] fix(bridge): emit types for module (#660) --- packages/bridge/build.config.ts | 3 ++- packages/bridge/package.json | 3 ++- packages/bridge/src/module.ts | 28 +++++++++++++++++++++++++++- 3 files changed, 31 insertions(+), 3 deletions(-) diff --git a/packages/bridge/build.config.ts b/packages/bridge/build.config.ts index 62d4ea5999..be524f13d5 100644 --- a/packages/bridge/build.config.ts +++ b/packages/bridge/build.config.ts @@ -1,10 +1,11 @@ import { defineBuildConfig } from 'unbuild' export default defineBuildConfig({ + declaration: true, emitCJS: false, entries: [ 'src/module', - { input: 'src/runtime/', outDir: 'dist/runtime', format: 'esm' } + { input: 'src/runtime/', outDir: 'dist/runtime', format: 'esm', declaration: true } ], externals: [ 'webpack' diff --git a/packages/bridge/package.json b/packages/bridge/package.json index c05d7999f0..f17f512ef7 100644 --- a/packages/bridge/package.json +++ b/packages/bridge/package.json @@ -4,7 +4,8 @@ "repository": "nuxt/framework", "license": "MIT", "type": "module", - "exports": "./module.cjs", + "main": "./module.cjs", + "types": "./dist/module.d.ts", "files": [ "module.cjs", "dist" diff --git a/packages/bridge/src/module.ts b/packages/bridge/src/module.ts index 9dca97a4ae..ef843c93b9 100644 --- a/packages/bridge/src/module.ts +++ b/packages/bridge/src/module.ts @@ -7,6 +7,19 @@ import { setupBetterResolve } from './resolve' import { setupGlobalImports } from './global-imports' import { setupTypescript } from './typescript' +export interface BridgeConfig { + nitro: boolean + vite: boolean + app: boolean | {} + capi: boolean | {} + globalImports: boolean + constraints: boolean + postcss8: boolean + swc: boolean + resolve: boolean + typescript: boolean +} + export default defineNuxtModule({ name: 'nuxt-bridge', configKey: 'bridge', @@ -21,7 +34,7 @@ export default defineNuxtModule({ postcss8: true, typescript: true, resolve: true - }, + } as BridgeConfig, async setup (opts, nuxt) { const _require = createRequire(import.meta.url) @@ -67,3 +80,16 @@ export default defineNuxtModule({ } } }) + +declare module '@nuxt/kit' { + interface NuxtConfig { + bridge?: Partial + } +} + +// @ts-ignore +declare module '@nuxt/types' { + interface NuxtConfig { + bridge?: Partial + } +}