Skip to content

Commit c9acbf9

Browse files
committed
feat: expose resolveUserConfig
1 parent 1c8b189 commit c9acbf9

File tree

8 files changed

+25
-27
lines changed

8 files changed

+25
-27
lines changed

dts.snapshot.json

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,8 @@
11
{
2-
"build.d.mts": {
3-
"build": "declare function build(_: InlineConfig): Promise<TsdownBundle[]>",
4-
"buildWithConfigs": "declare function buildWithConfigs(_: ResolvedConfig[], _: string[]): Promise<TsdownBundle[]>",
5-
"#exports": [
6-
"build",
7-
"buildWithConfigs"
8-
]
9-
},
10-
"config-!~{00f}~.d.mts": {
2+
"config-!~{00i}~.d.mts": {
113
"defineConfig": "declare function defineConfig(_: UserConfigExport): UserConfigExport",
12-
"mergeConfig": "declare function mergeConfig(_: InlineConfig, _: InlineConfig): InlineConfig"
4+
"mergeConfig": "declare function mergeConfig(_: InlineConfig, _: InlineConfig): InlineConfig",
5+
"resolveUserConfig": "declare function resolveUserConfig(_: UserConfig, _: InlineConfig): Promise<ResolvedConfig[]>"
136
},
147
"config.d.mts": {
158
"#exports": [
@@ -21,6 +14,8 @@
2114
]
2215
},
2316
"index.d.mts": {
17+
"build": "declare function build(_: InlineConfig): Promise<TsdownBundle[]>",
18+
"buildWithConfigs": "declare function buildWithConfigs(_: ResolvedConfig[], _: string[]): Promise<TsdownBundle[]>",
2419
"enableDebug": "declare function enableDebug(_: boolean | Arrayable<string>): void",
2520
"#exports": [
2621
"AttwOptions",
@@ -68,7 +63,8 @@
6863
"defineConfig",
6964
"enableDebug",
7065
"globalLogger",
71-
"mergeConfig"
66+
"mergeConfig",
67+
"resolveUserConfig"
7268
]
7369
},
7470
"plugins.d.mts": {
@@ -87,7 +83,7 @@
8783
"run.d.mts": {
8884
"#exports": []
8985
},
90-
"types-!~{00d}~.d.mts": {
86+
"types-!~{00g}~.d.mts": {
9187
"Arrayable": "type Arrayable<T> = T | T[]",
9288
"AttwOptions": "interface AttwOptions extends CheckPackageOptions {\n profile?: 'strict' | 'node16' | 'esm-only'\n level?: 'error' | 'warn'\n ignoreRules?: string[]\n}",
9389
"Awaitable": "type Awaitable<T> = T | Promise<T>",

package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
},
1818
"exports": {
1919
".": "./dist/index.mjs",
20-
"./build": "./dist/build.mjs",
2120
"./config": "./dist/config.mjs",
2221
"./plugins": "./dist/plugins.mjs",
2322
"./run": "./dist/run.mjs",

src/build.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import path from 'node:path'
2+
import { fileURLToPath } from 'node:url'
13
import { bold, green } from 'ansis'
24
import { clearRequireCache } from 'import-without-cache'
35
import {
@@ -35,6 +37,10 @@ import { globalLogger } from './utils/logger.ts'
3537
const asyncDispose: typeof Symbol.asyncDispose =
3638
Symbol.asyncDispose || Symbol.for('Symbol.asyncDispose')
3739

40+
const dirname = path.dirname(fileURLToPath(import.meta.url))
41+
const pkgRoot: string = path.resolve(dirname, '..')
42+
export const shimFile: string = path.resolve(pkgRoot, 'esm-shims.js')
43+
3844
/**
3945
* Build with tsdown.
4046
*/
@@ -50,8 +56,7 @@ export async function build(
5056
/**
5157
* Build with `ResolvedConfigs`.
5258
*
53-
* Internal API, not for public use
54-
*
59+
* **Internal API, not for public use**
5560
* @private
5661
*/
5762
export async function buildWithConfigs(

src/config/options.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,12 @@ import type {
3434

3535
const debug = createDebug('tsdown:config:options')
3636

37+
/**
38+
* Resolve user config into resolved configs
39+
*
40+
* **Internal API, not for public use**
41+
* @private
42+
*/
3743
export async function resolveUserConfig(
3844
userConfig: UserConfig,
3945
inlineConfig: InlineConfig,

src/features/external.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import path from 'node:path'
33
import { blue, underline } from 'ansis'
44
import { createDebug } from 'obug'
55
import { RE_DTS, RE_NODE_MODULES } from 'rolldown-plugin-dts/filename'
6-
import { shimFile } from '../index.ts'
6+
import { shimFile } from '../build.ts'
77
import { matchPattern } from '../utils/general.ts'
88
import type { ResolvedConfig } from '../config/index.ts'
99
import type { PackageJson } from 'pkg-types'

src/features/shims.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { shimFile } from '../index.ts'
1+
import { shimFile } from '../build.ts'
22
import type { NormalizedFormat, ResolvedConfig } from '../config/index.ts'
33

44
export function getShimsInject(

src/index.ts

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,6 @@
1-
import path from 'node:path'
2-
import { fileURLToPath } from 'node:url'
3-
4-
const dirname = path.dirname(fileURLToPath(import.meta.url))
5-
const pkgRoot: string = path.resolve(dirname, '..')
6-
7-
/** @internal */
8-
export const shimFile: string = path.resolve(pkgRoot, 'esm-shims.js')
9-
101
export { build, buildWithConfigs } from './build.ts'
112
export { defineConfig, mergeConfig } from './config.ts'
3+
export { resolveUserConfig } from './config/options.ts'
124
export * from './config/types.ts'
135
export { enableDebug } from './features/debug.ts'
146
export { globalLogger, type Logger } from './utils/logger.ts'

tsdown.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { defineConfig } from './src/config.ts'
77

88
export default defineConfig([
99
{
10-
entry: ['./src/{index,run,plugins,config,build}.ts'],
10+
entry: ['./src/{index,run,plugins,config}.ts'],
1111
name: 'tsdown',
1212
inlineOnly: ['is-in-ci'],
1313
platform: 'node',

0 commit comments

Comments
 (0)