Skip to content

Commit 98113dd

Browse files
committed
refactor: update build core
1 parent 5301f25 commit 98113dd

3 files changed

Lines changed: 19 additions & 5 deletions

File tree

src/build.ts renamed to src/bin/build.ts

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
1-
import { stat } from 'node:fs/promises'
21
import { resolve } from 'node:path'
2+
import { stat } from 'node:fs/promises'
33
import { isObject } from '@hypernym/utils'
44
import { rollup } from 'rollup'
5+
import { getLogFilter } from 'rollup/getLogFilter'
56
import _replace from '@rollup/plugin-replace'
67
import _json from '@rollup/plugin-json'
78
import _resolve from '@rollup/plugin-node-resolve'
89
import { dts as dtsPlugin } from 'rollup-plugin-dts'
9-
import { esbuild as esbuildPlugin } from './utils/plugins/esbuild.js'
10+
import { esbuild as esbuildPlugin } from '../utils/plugins/esbuild.js'
1011
import type { Plugin } from 'rollup'
11-
import type { Options, BuildStats } from './types/index.js'
12+
import type { Options } from '../types/options.js'
13+
import type { BuildStats, BuildLogs } from '../types/build.js'
1214

1315
const replacePlugin = _replace.default ?? _replace
1416
const jsonPlugin = _json.default ?? _json
@@ -37,6 +39,7 @@ export async function build(
3739
const { input, output, plugins, externals, banner, footer } = entry
3840
const entryStart = Date.now()
3941

42+
const logFilter = getLogFilter(entry.logFilter || [])
4043
const defaultPlugins: Plugin[] = [esbuildPlugin(plugins?.esbuild)]
4144

4245
if (plugins?.json) {
@@ -64,10 +67,14 @@ export async function build(
6467
)
6568

6669
if (!isTypesExt) {
70+
const buildLogs: BuildLogs[] = []
6771
const builder = await rollup({
6872
input: resolve(cwd, input),
6973
external: externals || options.externals,
7074
plugins: defaultPlugins,
75+
onLog: (level, log) => {
76+
if (logFilter(log)) buildLogs.push({ level, log })
77+
},
7178
})
7279
await builder.write({
7380
file: resolve(cwd, output),
@@ -81,12 +88,18 @@ export async function build(
8188
path: output,
8289
size: stats.size,
8390
buildTime: Date.now() - entryStart,
91+
format: entry.format || 'esm',
92+
logs: buildLogs,
8493
})
8594
buildStats.size = buildStats.size + stats.size
8695
} else {
96+
const buildLogs: BuildLogs[] = []
8797
const builder = await rollup({
8898
input: resolve(cwd, input),
8999
plugins: [dtsPlugin(plugins?.dts)],
100+
onLog: (level, log) => {
101+
if (logFilter(log)) buildLogs.push({ level, log })
102+
},
90103
})
91104
await builder.write({
92105
file: resolve(cwd, output),
@@ -100,6 +113,8 @@ export async function build(
100113
path: output,
101114
size: stats.size,
102115
buildTime: Date.now() - entryStart,
116+
format: entry.format || 'esm',
117+
logs: buildLogs,
103118
})
104119
buildStats.size = buildStats.size + stats.size
105120
}

src/config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type { Options } from './types/index.js'
1+
import type { Options } from './types/options.js'
22

33
export const externals = [
44
/^node:/,

src/index.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1 @@
1-
export * from './build.js'
21
export * from './config.js'

0 commit comments

Comments
 (0)