@sanity/pkg-utils 2.3.2 → 2.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_chunks/{build-bef452fb.cjs → build-61901816.cjs} +11 -10
- package/dist/_chunks/build-61901816.cjs.map +1 -0
- package/dist/_chunks/{buildAction-e79650e5.cjs → buildAction-2e2ae058.cjs} +2 -2
- package/dist/_chunks/{buildAction-e79650e5.cjs.map → buildAction-2e2ae058.cjs.map} +1 -1
- package/dist/_chunks/{check-2deafe2a.cjs → check-0665cb35.cjs} +76 -63
- package/dist/_chunks/check-0665cb35.cjs.map +1 -0
- package/dist/_chunks/{checkAction-7ac5a05e.cjs → checkAction-c3e5da35.cjs} +2 -2
- package/dist/_chunks/{checkAction-7ac5a05e.cjs.map → checkAction-c3e5da35.cjs.map} +1 -1
- package/dist/_chunks/{resolveBuildContext-5ef90110.cjs → consoleSpy-d738cb9f.cjs} +49 -1
- package/dist/_chunks/consoleSpy-d738cb9f.cjs.map +1 -0
- package/dist/_chunks/{index-5afcbbd5.cjs → index-07125387.cjs} +20 -56
- package/dist/_chunks/index-07125387.cjs.map +1 -0
- package/dist/_chunks/{watch-a156090d.cjs → watch-8c2aec77.cjs} +7 -7
- package/dist/_chunks/{watch-a156090d.cjs.map → watch-8c2aec77.cjs.map} +1 -1
- package/dist/_chunks/{watchAction-9581bfe7.cjs → watchAction-994967c6.cjs} +2 -2
- package/dist/_chunks/{watchAction-9581bfe7.cjs.map → watchAction-994967c6.cjs.map} +1 -1
- package/dist/cli.cjs +4 -4
- package/dist/index.cjs +14 -14
- package/dist/index.js +89 -64
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
- package/src/node/check.ts +87 -73
- package/src/node/{tasks/rollup/consoleSpy.ts → consoleSpy.ts} +4 -4
- package/src/node/resolveBuildTasks.ts +5 -3
- package/src/node/tasks/rollup/rollupTask.ts +40 -14
- package/dist/_chunks/build-bef452fb.cjs.map +0 -1
- package/dist/_chunks/check-2deafe2a.cjs.map +0 -1
- package/dist/_chunks/index-5afcbbd5.cjs.map +0 -1
- package/dist/_chunks/resolveBuildContext-5ef90110.cjs.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sanity/pkg-utils",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.4",
|
|
4
4
|
"description": "Simple utilities for modern npm packages.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"sanity-io",
|
|
@@ -136,7 +136,7 @@
|
|
|
136
136
|
"cac": "^6.7.14",
|
|
137
137
|
"chalk": "^4.1.2",
|
|
138
138
|
"chokidar": "^3.5.3",
|
|
139
|
-
"esbuild": "^0.
|
|
139
|
+
"esbuild": "^0.18.0",
|
|
140
140
|
"esbuild-register": "^3.4.2",
|
|
141
141
|
"find-config": "^1.0.0",
|
|
142
142
|
"get-latest-version": "^5.0.1",
|
|
@@ -194,12 +194,12 @@
|
|
|
194
194
|
"semantic-release": "^21.0.3",
|
|
195
195
|
"ts-node": "^10.9.1",
|
|
196
196
|
"typescript": "^5.1.3",
|
|
197
|
-
"vitest": "^0.
|
|
197
|
+
"vitest": "^0.33.0"
|
|
198
198
|
},
|
|
199
199
|
"peerDependencies": {
|
|
200
200
|
"typescript": "^4.7 || ^5"
|
|
201
201
|
},
|
|
202
|
-
"packageManager": "pnpm@8.6.
|
|
202
|
+
"packageManager": "pnpm@8.6.6",
|
|
203
203
|
"engines": {
|
|
204
204
|
"node": ">=16.0.0"
|
|
205
205
|
},
|
package/src/node/check.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import esbuild, {BuildFailure} from 'esbuild'
|
|
2
2
|
import path from 'path'
|
|
3
3
|
|
|
4
|
+
import {createConsoleSpy} from './consoleSpy'
|
|
4
5
|
import {getPkgExtMap, loadConfig, loadPkgWithReporting} from './core'
|
|
5
6
|
import {fileExists} from './fileExists'
|
|
6
|
-
import {createLogger} from './logger'
|
|
7
|
+
import {createLogger, Logger} from './logger'
|
|
7
8
|
import {printPackageTree} from './printPackageTree'
|
|
8
9
|
import {resolveBuildContext} from './resolveBuildContext'
|
|
9
10
|
|
|
@@ -52,91 +53,104 @@ export async function check(options: {
|
|
|
52
53
|
}
|
|
53
54
|
|
|
54
55
|
// Check if the files are resolved
|
|
55
|
-
const
|
|
56
|
+
const exportPaths: {require: string[]; import: string[]} = {
|
|
56
57
|
require: [],
|
|
57
58
|
import: [],
|
|
58
59
|
}
|
|
59
60
|
|
|
60
61
|
for (const exp of Object.values(ctx.exports || {})) {
|
|
61
62
|
if (!exp._exported) continue
|
|
62
|
-
if (exp.require)
|
|
63
|
-
if (exp.import)
|
|
63
|
+
if (exp.require) exportPaths.require.push(exp.require)
|
|
64
|
+
if (exp.import) exportPaths.import.push(exp.import)
|
|
64
65
|
}
|
|
65
66
|
|
|
66
|
-
const external =
|
|
67
|
-
Object.keys(pkg.
|
|
68
|
-
|
|
67
|
+
const external = [
|
|
68
|
+
...Object.keys(pkg.dependencies || {}),
|
|
69
|
+
...Object.keys(pkg.devDependencies || {}),
|
|
70
|
+
]
|
|
69
71
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
const esbuildResult = await esbuild.build({
|
|
75
|
-
external,
|
|
76
|
-
stdin: {
|
|
77
|
-
contents: code,
|
|
78
|
-
loader: 'js',
|
|
79
|
-
resolveDir: cwd,
|
|
80
|
-
},
|
|
81
|
-
format: 'esm',
|
|
82
|
-
bundle: true,
|
|
83
|
-
logLevel: 'silent',
|
|
84
|
-
// otherwise output maps to stdout as we're using stdin
|
|
85
|
-
outfile: '/dev/null',
|
|
86
|
-
platform: 'node',
|
|
87
|
-
})
|
|
88
|
-
|
|
89
|
-
if (esbuildResult.warnings.length > 0) {
|
|
90
|
-
logger.warn(...esbuildResult.warnings)
|
|
91
|
-
}
|
|
92
|
-
} catch (err) {
|
|
93
|
-
const {errors} = err as BuildFailure
|
|
94
|
-
|
|
95
|
-
for (const _err of errors) {
|
|
96
|
-
if (_err.location) {
|
|
97
|
-
logger.error(_err.detail || _err.text)
|
|
98
|
-
logger.error(`${_err.location.line} | ${_err.location.lineText}`)
|
|
99
|
-
logger.error(
|
|
100
|
-
'in',
|
|
101
|
-
`./${_err.location.file}:${_err.location.line}:${_err.location.column}`
|
|
102
|
-
)
|
|
103
|
-
} else {
|
|
104
|
-
logger.error(_err.detail || _err.text)
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
logger.log()
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
process.exit(1)
|
|
111
|
-
}
|
|
72
|
+
const consoleSpy = createConsoleSpy()
|
|
73
|
+
|
|
74
|
+
if (exportPaths.import.length) {
|
|
75
|
+
checkExports(exportPaths.import, {cwd, external, format: 'esm', logger})
|
|
112
76
|
}
|
|
113
77
|
|
|
114
|
-
if (
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
const esbuildResult = await esbuild.build({
|
|
118
|
-
external,
|
|
119
|
-
stdin: {
|
|
120
|
-
contents: code,
|
|
121
|
-
loader: 'js',
|
|
122
|
-
resolveDir: cwd,
|
|
123
|
-
},
|
|
124
|
-
format: 'cjs',
|
|
125
|
-
bundle: true,
|
|
126
|
-
// otherwise output maps to stdout as we're using stdin
|
|
127
|
-
outfile: '/dev/null',
|
|
128
|
-
platform: 'node',
|
|
129
|
-
})
|
|
130
|
-
|
|
131
|
-
if (esbuildResult.errors.length > 0) {
|
|
132
|
-
// throw new Error(esbuildResult.errors.join(', '))
|
|
133
|
-
logger.error(esbuildResult.errors.join(', '))
|
|
134
|
-
process.exit(1)
|
|
135
|
-
}
|
|
78
|
+
if (exportPaths.require.length) {
|
|
79
|
+
checkExports(exportPaths.require, {cwd, external, format: 'cjs', logger})
|
|
80
|
+
}
|
|
136
81
|
|
|
137
|
-
|
|
138
|
-
|
|
82
|
+
consoleSpy.restore()
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
async function checkExports(
|
|
87
|
+
exportPaths: string[],
|
|
88
|
+
options: {cwd: string; external: string[]; format: 'esm' | 'cjs'; logger: Logger}
|
|
89
|
+
) {
|
|
90
|
+
const {cwd, external, format, logger} = options
|
|
91
|
+
|
|
92
|
+
const code = exportPaths
|
|
93
|
+
.map((id) => (format ? `import('${id}');` : `require('${id}');`))
|
|
94
|
+
.join('\n')
|
|
95
|
+
|
|
96
|
+
try {
|
|
97
|
+
const esbuildResult = await esbuild.build({
|
|
98
|
+
bundle: true,
|
|
99
|
+
external,
|
|
100
|
+
format,
|
|
101
|
+
logLevel: 'silent',
|
|
102
|
+
// otherwise output maps to stdout as we're using stdin
|
|
103
|
+
outfile: '/dev/null',
|
|
104
|
+
platform: 'node',
|
|
105
|
+
stdin: {
|
|
106
|
+
contents: code,
|
|
107
|
+
loader: 'js',
|
|
108
|
+
resolveDir: cwd,
|
|
109
|
+
},
|
|
110
|
+
})
|
|
111
|
+
|
|
112
|
+
if (esbuildResult.errors.length > 0) {
|
|
113
|
+
for (const msg of esbuildResult.errors) {
|
|
114
|
+
printEsbuildMessage(logger.warn, msg)
|
|
115
|
+
|
|
116
|
+
logger.log()
|
|
139
117
|
}
|
|
118
|
+
|
|
119
|
+
process.exit(1)
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
const esbuildWarnings = esbuildResult.warnings.filter((msg) => {
|
|
123
|
+
!(msg.detail || msg.text).includes(`does not affect esbuild's own target setting`)
|
|
124
|
+
})
|
|
125
|
+
|
|
126
|
+
for (const msg of esbuildWarnings) {
|
|
127
|
+
printEsbuildMessage(logger.warn, msg)
|
|
128
|
+
|
|
129
|
+
logger.log()
|
|
130
|
+
}
|
|
131
|
+
} catch (err) {
|
|
132
|
+
const {errors} = err as BuildFailure
|
|
133
|
+
|
|
134
|
+
for (const msg of errors) {
|
|
135
|
+
printEsbuildMessage(logger.error, msg)
|
|
136
|
+
|
|
137
|
+
logger.log()
|
|
140
138
|
}
|
|
139
|
+
|
|
140
|
+
process.exit(1)
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
function printEsbuildMessage(log: (...args: unknown[]) => void, msg: esbuild.Message) {
|
|
145
|
+
if (msg.location) {
|
|
146
|
+
log(
|
|
147
|
+
[
|
|
148
|
+
`${msg.detail || msg.text}\n`,
|
|
149
|
+
`${msg.location.line} | ${msg.location.lineText}\n`,
|
|
150
|
+
`in ./${msg.location.file}:${msg.location.line}:${msg.location.column}`,
|
|
151
|
+
].join('')
|
|
152
|
+
)
|
|
153
|
+
} else {
|
|
154
|
+
log(msg.detail || msg.text)
|
|
141
155
|
}
|
|
142
156
|
}
|
|
@@ -11,10 +11,10 @@ export interface ConsoleSpy {
|
|
|
11
11
|
restore: () => void
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
export function createConsoleSpy(options
|
|
15
|
-
onRestored
|
|
14
|
+
export function createConsoleSpy(options?: {
|
|
15
|
+
onRestored?: (messages: ConsoleSpyMsg[]) => void
|
|
16
16
|
}): ConsoleSpy {
|
|
17
|
-
const {onRestored} = options
|
|
17
|
+
const {onRestored} = options || {}
|
|
18
18
|
|
|
19
19
|
const original = {
|
|
20
20
|
log: console.log,
|
|
@@ -35,7 +35,7 @@ export function createConsoleSpy(options: {
|
|
|
35
35
|
console.warn = original.warn
|
|
36
36
|
console.error = original.error
|
|
37
37
|
|
|
38
|
-
onRestored(messages)
|
|
38
|
+
onRestored?.(messages)
|
|
39
39
|
},
|
|
40
40
|
}
|
|
41
41
|
}
|
|
@@ -113,17 +113,19 @@ export function resolveBuildTasks(ctx: BuildContext): BuildTask[] {
|
|
|
113
113
|
}
|
|
114
114
|
|
|
115
115
|
for (const bundle of bundles) {
|
|
116
|
+
const idx = bundles.indexOf(bundle)
|
|
117
|
+
|
|
116
118
|
if (bundle.require) {
|
|
117
119
|
addRollupTaskEntry('commonjs', bundle.runtime || ctx.runtime, {
|
|
118
|
-
path:
|
|
120
|
+
path: `__$$bundle_cjs_${idx}$$__`,
|
|
119
121
|
source: bundle.source,
|
|
120
122
|
output: bundle.require,
|
|
121
123
|
})
|
|
122
124
|
}
|
|
123
125
|
|
|
124
126
|
if (bundle.import) {
|
|
125
|
-
addRollupTaskEntry('
|
|
126
|
-
path:
|
|
127
|
+
addRollupTaskEntry('esm', bundle.runtime || ctx.runtime, {
|
|
128
|
+
path: `__$$bundle_esm_${idx}$$__`,
|
|
127
129
|
source: bundle.source,
|
|
128
130
|
output: bundle.import,
|
|
129
131
|
})
|
|
@@ -3,28 +3,54 @@ import path from 'path'
|
|
|
3
3
|
import {rollup} from 'rollup'
|
|
4
4
|
import {Observable} from 'rxjs'
|
|
5
5
|
|
|
6
|
+
import {createConsoleSpy} from '../../consoleSpy'
|
|
6
7
|
import {BuildContext} from '../../core'
|
|
7
8
|
import {RollupTask, TaskHandler} from '../types'
|
|
8
|
-
import {createConsoleSpy} from './consoleSpy'
|
|
9
9
|
import {resolveRollupConfig} from './resolveRollupConfig'
|
|
10
10
|
|
|
11
11
|
/** @internal */
|
|
12
12
|
export const rollupTask: TaskHandler<RollupTask> = {
|
|
13
|
-
name: (ctx, task) =>
|
|
14
|
-
|
|
13
|
+
name: (ctx, task) => {
|
|
14
|
+
const bundleEntries = task.entries.filter((e) => e.path.includes('__$$bundle_'))
|
|
15
|
+
const entries = task.entries.filter((e) => !e.path.includes('__$$bundle_'))
|
|
16
|
+
|
|
17
|
+
const targetLines = task.target.length
|
|
18
|
+
? [` target:`, ...task.target.map((t) => ` - ${chalk.yellow(t)}`)]
|
|
19
|
+
: []
|
|
20
|
+
|
|
21
|
+
const bundlesLines = bundleEntries.length
|
|
22
|
+
? [
|
|
23
|
+
' bundles:',
|
|
24
|
+
...bundleEntries.map((e) =>
|
|
25
|
+
[
|
|
26
|
+
` - `,
|
|
27
|
+
`${chalk.yellow(e.source)} ${chalk.gray('→')} ${chalk.yellow(e.output)}`,
|
|
28
|
+
].join('')
|
|
29
|
+
),
|
|
30
|
+
]
|
|
31
|
+
: []
|
|
32
|
+
|
|
33
|
+
const entriesLines = entries.length
|
|
34
|
+
? [
|
|
35
|
+
' entries:',
|
|
36
|
+
...entries.map((e) =>
|
|
37
|
+
[
|
|
38
|
+
` - `,
|
|
39
|
+
`${chalk.cyan(path.join(ctx.pkg.name, e.path))}: `,
|
|
40
|
+
`${chalk.yellow(e.source)} ${chalk.gray('→')} ${chalk.yellow(e.output)}`,
|
|
41
|
+
].join('')
|
|
42
|
+
),
|
|
43
|
+
]
|
|
44
|
+
: []
|
|
45
|
+
|
|
46
|
+
return [
|
|
15
47
|
`Build javascript files...`,
|
|
16
48
|
` format: ${chalk.yellow(task.format)}`,
|
|
17
|
-
|
|
18
|
-
...
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
` - `,
|
|
23
|
-
`${chalk.cyan(path.join(ctx.pkg.name, e.path))}: `,
|
|
24
|
-
`${chalk.yellow(e.source)} ${chalk.gray('→')} ${chalk.yellow(e.output)}`,
|
|
25
|
-
].join('')
|
|
26
|
-
),
|
|
27
|
-
].join('\n'),
|
|
49
|
+
...targetLines,
|
|
50
|
+
...bundlesLines,
|
|
51
|
+
...entriesLines,
|
|
52
|
+
].join('\n')
|
|
53
|
+
},
|
|
28
54
|
exec: (ctx, task) => {
|
|
29
55
|
return new Observable((observer) => {
|
|
30
56
|
execPromise(ctx, task)
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"build-bef452fb.cjs","sources":["../../src/node/resolveBuildTasks.ts","../../src/node/spinner.ts","../../src/node/build.ts"],"sourcesContent":["import fs from 'fs'\nimport path from 'path'\n\nimport {BuildContext, PkgExport, PkgFormat, PkgRuntime} from './core'\nimport {BuildTask, DtsTask, NodeReExportFromCJSTask, RollupTask, RollupTaskEntry} from './tasks'\n\n/** @internal */\nexport function resolveBuildTasks(ctx: BuildContext): BuildTask[] {\n const {config, cwd, pkg, target} = ctx\n\n const bundles = config?.bundles || []\n\n const tasks: BuildTask[] = []\n\n const exports = Object.entries(ctx.exports || {}).map(\n ([_path, exp]) => ({_path, ...exp} as PkgExport & {_path: string})\n )\n\n const dtsTask: DtsTask = {\n type: 'build:dts',\n entries: [],\n }\n\n const rollupTasks: Record<string, RollupTask> = {}\n\n function addRollupTaskEntry(format: PkgFormat, runtime: PkgRuntime, entry: RollupTaskEntry) {\n const buildId = `${format}:${runtime}`\n\n if (rollupTasks[buildId]) {\n rollupTasks[buildId].entries.push(entry)\n } else {\n rollupTasks[buildId] = {\n type: 'build:js',\n buildId,\n entries: [entry],\n runtime,\n format,\n target: target[runtime],\n }\n }\n }\n\n // Parse `dts` tasks\n for (const exp of exports) {\n const importId = path.join(pkg.name, exp._path)\n\n if (exp.types) {\n dtsTask.entries.push({\n importId,\n exportPath: exp._path,\n sourcePath: exp.source,\n targetPath: exp.types,\n })\n }\n }\n\n // Add dts task\n if (dtsTask.entries.length) {\n tasks.push(dtsTask)\n }\n\n if (!ctx.emitDeclarationOnly) {\n // Parse rollup:commonjs:* tasks\n for (const exp of exports) {\n const output = exp.require\n\n if (!output) continue\n\n addRollupTaskEntry('commonjs', ctx.runtime, {\n path: exp._path,\n source: exp.source,\n output,\n })\n }\n\n // Parse rollup:esm:* tasks\n for (const exp of exports) {\n const output = exp.import\n\n if (!output) continue\n\n addRollupTaskEntry('esm', ctx.runtime, {\n path: exp._path,\n source: exp.source,\n output,\n })\n }\n\n // Parse rollup:commonjs:browser tasks\n for (const exp of exports) {\n const output = exp.browser?.require\n\n if (!output) continue\n\n addRollupTaskEntry('commonjs', 'browser', {\n path: exp._path,\n source: exp.browser?.source || exp.source,\n output,\n })\n }\n\n // Parse rollup:esm:browser tasks\n for (const exp of exports) {\n const output = exp.browser?.import\n\n if (!output) continue\n\n addRollupTaskEntry('esm', 'browser', {\n path: exp._path,\n source: exp.browser?.source || exp.source,\n output,\n })\n }\n\n for (const bundle of bundles) {\n if (bundle.require) {\n addRollupTaskEntry('commonjs', bundle.runtime || ctx.runtime, {\n path: '__bundle__',\n source: bundle.source,\n output: bundle.require,\n })\n }\n\n if (bundle.import) {\n addRollupTaskEntry('commonjs', bundle.runtime || ctx.runtime, {\n path: '__bundle__',\n source: bundle.source,\n output: bundle.import,\n })\n }\n }\n\n tasks.push(...Object.values(rollupTasks))\n\n // Write legacy exports files\n if (config?.legacyExports) {\n for (const exp of exports) {\n if (exp._exported && exp._path !== '.') {\n const relativeTargetPath = (exp.browser?.import || exp.import || '').replace(\n /\\.[^/.]+$/,\n ''\n )\n\n if (relativeTargetPath) {\n fs.writeFileSync(\n path.resolve(cwd, `${exp._path}.js`),\n [`// AUTO-GENERATED – DO NOT EDIT`, `export * from '${relativeTargetPath}'`, ``].join(\n '\\n'\n )\n )\n }\n }\n }\n }\n }\n\n const nodeReexportCjsEntries: NodeReExportFromCJSTask['entries'] = []\n\n // Parse tasks to re-export from CommonJS for Node.js\n for (const exp of exports) {\n if (\n exp.node &&\n !exp.node.source &&\n exp.node.import &&\n exp.node.require &&\n (exp.node.import.endsWith('.cjs.js') || exp.node.import.endsWith('.cjs.mjs'))\n ) {\n const importId = path.join(pkg.name, exp._path)\n\n nodeReexportCjsEntries.push({\n importId,\n import: exp.node.import,\n require: exp.node.require,\n })\n }\n }\n\n if (nodeReexportCjsEntries.length) {\n tasks.push({\n type: 'node:reexport-cjs',\n entries: nodeReexportCjsEntries,\n })\n }\n\n return tasks\n}\n","/* eslint-disable no-console */\n\nimport chalk from 'chalk'\n\nexport function createSpinner(msg: string): {complete: () => void; error: () => void} {\n const startTime = Date.now()\n\n console.log(msg)\n\n return {\n complete: () => {\n console.log(`${chalk.green('[success]')} ${chalk.gray(`${Date.now() - startTime}ms`)}`)\n },\n error: () => {\n console.log(`${chalk.red(`[error]`)} ${chalk.gray(`${Date.now() - startTime}ms`)}`)\n },\n }\n}\n","import {getPkgExtMap, loadConfig, loadPkgWithReporting} from './core'\nimport {createLogger} from './logger'\nimport {resolveBuildContext} from './resolveBuildContext'\nimport {resolveBuildTasks} from './resolveBuildTasks'\nimport {createSpinner} from './spinner'\nimport {BuildTask, buildTaskHandlers, TaskHandler} from './tasks'\n\n/**\n * Build the distribution files of a npm package.\n *\n * @example\n * ```ts\n * import {build} from '@sanity/pkg-utils'\n *\n * build({\n * cwd: process.cwd(),\n * tsconfig: 'tsconfig.dist.json,\n * }).then(() => {\n * console.log('successfully built')\n * }).catch((err) => {\n * console.log(`build error: ${err.message}`)\n * })\n * ```\n *\n * @public\n */\nexport async function build(options: {\n cwd: string\n emitDeclarationOnly?: boolean\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n const {cwd, emitDeclarationOnly, strict = false, tsconfig: tsconfigOption} = options\n const logger = createLogger()\n\n const pkg = await loadPkgWithReporting({cwd, logger})\n const config = await loadConfig({cwd})\n const extMap = getPkgExtMap({legacyExports: config?.legacyExports ?? false})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n\n const ctx = await resolveBuildContext({\n config,\n cwd,\n emitDeclarationOnly,\n extMap,\n logger,\n pkg,\n strict,\n tsconfig,\n })\n\n const buildTasks = resolveBuildTasks(ctx)\n\n for (const task of buildTasks) {\n const handler = buildTaskHandlers[task.type] as TaskHandler<BuildTask>\n const taskName = handler.name(ctx, task)\n\n const spinner = createSpinner(taskName)\n\n try {\n const result = await handler.exec(ctx, task).toPromise()\n\n spinner.complete()\n ctx.logger.log()\n\n handler.complete(ctx, task, result)\n } catch (err) {\n spinner.error()\n\n if (err instanceof Error) {\n const RE_CWD = new RegExp(`${cwd}`, 'g')\n\n ctx.logger.error(err.message.replace(RE_CWD, '.'))\n ctx.logger.log()\n }\n\n handler.error(ctx, task, err)\n\n process.exit(1)\n }\n }\n}\n"],"names":["resolveBuildTasks","ctx","_a","_b","_c","_d","_e","config","cwd","pkg","target","bundles","tasks","exports","Object","entries","map","_ref","_path","exp","dtsTask","type","rollupTasks","addRollupTaskEntry","format","runtime","entry","buildId","concat","push","importId","path","join","name","types","exportPath","sourcePath","source","targetPath","length","emitDeclarationOnly","output","require","import","browser","bundle","values","legacyExports","_exported","relativeTargetPath","replace","fs","writeFileSync","default","resolve","nodeReexportCjsEntries","node","endsWith","createSpinner","msg","startTime","Date","now","console","log","complete","chalk","green","gray","error","red","build","options","_ref2","strict","tsconfig","tsconfigOption","logger","createLogger","loadPkgWithReporting","loadConfig","extMap","getPkgExtMap","resolveBuildContext","buildTasks","task","handler","buildTaskHandlers","taskName","spinner","result","exec","toPromise","err","Error","RE_CWD","RegExp","message","process","exit"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"check-2deafe2a.cjs","sources":["../../src/node/getFilesize.ts","../../src/node/printPackageTree.ts","../../src/node/check.ts"],"sourcesContent":["import {statSync} from 'fs'\nimport prettyBytes from 'pretty-bytes'\n\nexport function getFilesize(file: string): string {\n const stats = statSync(file)\n\n return prettyBytes(stats.size)\n}\n","import chalk from 'chalk'\nimport path from 'path'\nimport treeify from 'treeify'\n\nimport {BuildContext, PkgExport} from './core'\nimport {fileExists} from './fileExists'\nimport {getFilesize} from './getFilesize'\n\nfunction getFileInfo(cwd: string, filePath: string) {\n const p = path.resolve(cwd, filePath)\n const exists = fileExists(p)\n const size = exists ? getFilesize(p) : undefined\n\n return {exists, size}\n}\n\nexport function printPackageTree(ctx: BuildContext): void {\n const {cwd, exports, logger, pkg} = ctx\n\n if (!exports) return\n\n logger.log(`${chalk.blue(pkg.name)}@${chalk.green(pkg.version)}`)\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const tree: Record<string, unknown> = {}\n\n if (pkg.type) {\n tree.type = chalk.yellow(pkg.type)\n }\n\n if (pkg.bin) {\n tree.bin = Object.fromEntries(\n Object.entries(pkg.bin).map(([name, file]) => [chalk.cyan(name), fileInfo(file)])\n )\n }\n\n function fileInfo(file: string) {\n const info = getFileInfo(cwd, file)\n\n if (!info.size) {\n return `${chalk.gray(file)} ${chalk.red('does not exist')}`\n }\n\n return `${chalk.yellow(file)} ${chalk.gray(info.size)}`\n }\n\n tree.exports = Object.fromEntries(\n Object.entries(exports)\n .filter(([, entry]) => entry._exported)\n .map(([exportPath, entry]) => {\n const exp: Omit<PkgExport, '_exported'> = {\n types: undefined,\n source: fileInfo(entry.source),\n browser: undefined,\n require: undefined,\n node: undefined,\n import: undefined,\n default: fileInfo(entry.default),\n }\n\n if (entry.types) {\n exp.types = fileInfo(entry.types)\n } else {\n delete exp.types\n }\n\n if (entry.browser) {\n exp.browser = {source: fileInfo(entry.browser.source)}\n\n if (entry.browser.import) exp.browser.import = fileInfo(entry.browser.import)\n if (entry.browser.require) exp.browser.require = fileInfo(entry.browser.require)\n } else {\n delete exp.browser\n }\n\n if (entry.require) {\n exp.require = fileInfo(entry.require)\n } else {\n delete exp.require\n }\n\n if (entry.node) {\n exp.node = {}\n\n if (entry.node.source) exp.node.source = fileInfo(entry.node.source)\n if (entry.node.import) exp.node.import = fileInfo(entry.node.import)\n if (entry.node.require) exp.node.require = fileInfo(entry.node.require)\n } else {\n delete exp.node\n }\n\n if (entry.import) {\n exp.import = fileInfo(entry.import)\n } else {\n delete exp.import\n }\n\n return [chalk.cyan(path.join(pkg.name, exportPath)), exp]\n })\n )\n\n logger.log(treeify.asTree(tree as Record<string, any>, true, true))\n}\n","import esbuild, {BuildFailure} from 'esbuild'\nimport path from 'path'\n\nimport {getPkgExtMap, loadConfig, loadPkgWithReporting} from './core'\nimport {fileExists} from './fileExists'\nimport {createLogger} from './logger'\nimport {printPackageTree} from './printPackageTree'\nimport {resolveBuildContext} from './resolveBuildContext'\n\n/** @public */\nexport async function check(options: {\n cwd: string\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n const {cwd, strict = false, tsconfig: tsconfigOption} = options\n const logger = createLogger()\n\n const pkg = await loadPkgWithReporting({cwd, logger})\n const config = await loadConfig({cwd})\n const extMap = getPkgExtMap({legacyExports: config?.legacyExports ?? false})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n const ctx = await resolveBuildContext({config, cwd, extMap, logger, pkg, strict, tsconfig})\n\n printPackageTree(ctx)\n\n if (strict) {\n const missingFiles: string[] = []\n\n // Check if there are missing files\n for (const [, exp] of Object.entries(ctx.exports || {})) {\n if (exp.source && !fileExists(path.resolve(cwd, exp.source))) {\n missingFiles.push(exp.source)\n }\n\n if (exp.require && !fileExists(path.resolve(cwd, exp.require))) {\n missingFiles.push(exp.require)\n }\n\n if (exp.import && !fileExists(path.resolve(cwd, exp.import))) {\n missingFiles.push(exp.import)\n }\n\n if (exp.types && !fileExists(path.resolve(cwd, exp.types))) {\n missingFiles.push(exp.types)\n }\n }\n\n if (missingFiles.length) {\n logger.error('missing files')\n process.exit(1)\n }\n\n // Check if the files are resolved\n const _paths: {require: string[]; import: string[]} = {\n require: [],\n import: [],\n }\n\n for (const exp of Object.values(ctx.exports || {})) {\n if (!exp._exported) continue\n if (exp.require) _paths.require.push(exp.require)\n if (exp.import) _paths.import.push(exp.import)\n }\n\n const external = Object.keys(pkg.dependencies || {}).concat(\n Object.keys(pkg.devDependencies || {})\n )\n\n if (_paths.import.length) {\n const code = _paths.import.map((id) => `import('${id}')`).join('\\n')\n\n try {\n const esbuildResult = await esbuild.build({\n external,\n stdin: {\n contents: code,\n loader: 'js',\n resolveDir: cwd,\n },\n format: 'esm',\n bundle: true,\n logLevel: 'silent',\n // otherwise output maps to stdout as we're using stdin\n outfile: '/dev/null',\n platform: 'node',\n })\n\n if (esbuildResult.warnings.length > 0) {\n logger.warn(...esbuildResult.warnings)\n }\n } catch (err) {\n const {errors} = err as BuildFailure\n\n for (const _err of errors) {\n if (_err.location) {\n logger.error(_err.detail || _err.text)\n logger.error(`${_err.location.line} | ${_err.location.lineText}`)\n logger.error(\n 'in',\n `./${_err.location.file}:${_err.location.line}:${_err.location.column}`\n )\n } else {\n logger.error(_err.detail || _err.text)\n }\n\n logger.log()\n }\n\n process.exit(1)\n }\n }\n\n if (_paths.require.length) {\n const code = _paths.require.map((id) => `require('${id}')`).join('\\n')\n\n const esbuildResult = await esbuild.build({\n external,\n stdin: {\n contents: code,\n loader: 'js',\n resolveDir: cwd,\n },\n format: 'cjs',\n bundle: true,\n // otherwise output maps to stdout as we're using stdin\n outfile: '/dev/null',\n platform: 'node',\n })\n\n if (esbuildResult.errors.length > 0) {\n // throw new Error(esbuildResult.errors.join(', '))\n logger.error(esbuildResult.errors.join(', '))\n process.exit(1)\n }\n\n if (esbuildResult.warnings.length > 0) {\n logger.warn(...esbuildResult.warnings)\n }\n }\n }\n}\n"],"names":["getFilesize","file","stats","statSync","prettyBytes","default","size","getFileInfo","cwd","filePath","p","path","resolve","exists","fileExists","printPackageTree","ctx","exports","logger","pkg","log","concat","chalk","blue","name","green","version","tree","type","yellow","bin","Object","fromEntries","entries","map","_ref","cyan","fileInfo","info","gray","red","filter","_ref2","entry","_exported","_ref3","exportPath","exp","types","source","browser","require","node","import","join","treeify","asTree","check","options","_ref4","strict","tsconfig","tsconfigOption","createLogger","loadPkgWithReporting","config","loadConfig","extMap","getPkgExtMap","legacyExports","resolveBuildContext","missingFiles","push","length","error","process","exit","_paths","values","external","keys","dependencies","devDependencies","code","id","esbuildResult","esbuild","build","stdin","contents","loader","resolveDir","format","bundle","logLevel","outfile","platform","warnings","warn","err","errors","_err","location","detail","text","line","lineText","column"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-5afcbbd5.cjs","sources":["../../src/node/printExtractMessages.ts","../../src/node/tasks/dts/printDiagnostic.ts","../../src/node/tasks/dts/buildTypes.ts","../../src/node/tasks/dts/DtsError.ts","../../src/node/tasks/dts/createApiExtractorConfig.ts","../../src/node/tasks/dts/createTSDocConfig.ts","../../src/node/tasks/dts/extractModuleBlocks.ts","../../src/node/tasks/dts/getExtractMessagesConfig.ts","../../src/node/tasks/dts/extractTypes.ts","../../src/node/tasks/dts/doExtract.ts","../../src/node/tasks/dts/dtsTask.ts","../../src/node/tasks/dts/dtsWatchTask.ts","../../src/node/tasks/node/reexportCjsTask.ts","../../src/node/tasks/rollup/consoleSpy.ts","../../src/node/tasks/rollup/resolveRollupConfig.ts","../../src/node/tasks/rollup/rollupTask.ts","../../src/node/tasks/rollup/rollupWatchTask.ts","../../src/node/tasks/index.ts"],"sourcesContent":["import {ExtractorMessage} from '@microsoft/api-extractor'\nimport chalk from 'chalk'\nimport path from 'path'\n\nimport {BuildContext} from './core'\n\nexport function printExtractMessages(ctx: BuildContext, messages: ExtractorMessage[]): void {\n const {cwd, logger} = ctx\n\n const warnings = messages.filter((msg) => msg.logLevel === 'warning')\n\n if (warnings.length) {\n logger.log()\n }\n\n for (const msg of warnings) {\n const sourceFilePath = msg.sourceFilePath && path.relative(cwd, msg.sourceFilePath)\n\n if (msg.messageId === 'TS6307') {\n // Ignore this warning:\n // > TS6307: <filename> is not in project file list.\n // > Projects must list all files or use an 'include' pattern.\n continue\n }\n\n logger.log(\n [\n `${chalk.cyan(sourceFilePath || '?')}`,\n `:${chalk.yellow(msg.sourceFileLine)}:${chalk.yellow(msg.sourceFileColumn)}`,\n ` - ${chalk.yellow('warning')} ${chalk.gray(msg.messageId)}\\n`,\n msg.text,\n '\\n',\n ].join('')\n )\n }\n\n const errors: ExtractorMessage[] = messages.filter((msg) => msg.logLevel === 'error')\n\n if (!warnings.length && errors.length) {\n logger.log('')\n }\n\n for (const msg of errors) {\n const sourceFilePath = msg.sourceFilePath && path.relative(cwd, msg.sourceFilePath)\n\n logger.log(\n [\n `${chalk.cyan(sourceFilePath || '?')}`,\n `:${chalk.yellow(msg.sourceFileLine)}:${chalk.yellow(msg.sourceFileColumn)}`,\n ` - ${chalk.red('error')} ${chalk.gray(msg.messageId)}\\n`,\n msg.text,\n '\\n',\n ].join('')\n )\n }\n\n if (errors.length) {\n process.exit(1)\n }\n}\n","import chalk from 'chalk'\nimport path from 'path'\nimport ts from 'typescript'\n\nimport {Logger} from '../../logger'\n\nexport function printDiagnostic(options: {\n cwd: string\n logger: Logger\n diagnostic: ts.Diagnostic\n}): void {\n const {cwd, logger, diagnostic} = options\n\n if (diagnostic.file && diagnostic.start) {\n const {line, character} = ts.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start)\n const message = ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n')\n\n const file = path.relative(cwd, diagnostic.file.fileName)\n\n const output = [\n `${chalk.yellow(file)}:${chalk.blue(line + 1)}:${chalk.blue(character + 1)} - `,\n `${chalk.gray(`TS${diagnostic.code}:`)} ${message}`,\n ].join('')\n\n if (diagnostic.category === ts.DiagnosticCategory.Error) {\n logger.error(output)\n }\n\n if (diagnostic.category === ts.DiagnosticCategory.Warning) {\n logger.warn(output)\n }\n\n if (diagnostic.category === ts.DiagnosticCategory.Message) {\n logger.log(output)\n }\n\n if (diagnostic.category === ts.DiagnosticCategory.Suggestion) {\n logger.log(output)\n }\n } else {\n logger.log(ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n'))\n }\n}\n","import ts from 'typescript'\n\nimport {Logger} from '../../logger'\nimport {printDiagnostic} from './printDiagnostic'\n\n/** @internal */\nexport async function buildTypes(options: {\n cwd: string\n logger: Logger\n outDir: string\n tsconfig: ts.ParsedCommandLine\n strict: boolean\n}): Promise<void> {\n const {cwd, logger, outDir, tsconfig, strict = false} = options\n\n const compilerOptions: ts.CompilerOptions = {\n ...tsconfig.options,\n declaration: true,\n declarationDir: outDir,\n emitDeclarationOnly: true,\n noEmit: false,\n outDir,\n }\n\n const program = ts.createProgram(tsconfig.fileNames, compilerOptions)\n\n const emitResult = program.emit()\n\n const allDiagnostics = ts.getPreEmitDiagnostics(program).concat(emitResult.diagnostics)\n\n for (const diagnostic of allDiagnostics) {\n printDiagnostic({cwd, logger, diagnostic})\n }\n\n if (emitResult.emitSkipped) {\n const errors = allDiagnostics.filter((diag) => diag.category === ts.DiagnosticCategory.Error)\n\n if (errors.length) {\n if (strict) {\n throw new Error('failed to compile TypeScript definitions')\n }\n }\n }\n}\n","import {ExtractorMessage} from '@microsoft/api-extractor'\n\n/** @internal */\nexport class DtsError extends Error {\n messages: ExtractorMessage[]\n\n constructor(message: string, messages: ExtractorMessage[]) {\n super(message)\n this.messages = messages\n }\n}\n","import {IConfigFile, IExtractorMessagesConfig} from '@microsoft/api-extractor'\nimport path from 'path'\n\nexport function createApiExtractorConfig(options: {\n distPath: string\n exportPath: string\n filePath: string\n messages: IExtractorMessagesConfig\n projectFolder: string\n mainEntryPointFilePath: string\n tsconfigPath: string\n}): IConfigFile {\n const {\n distPath,\n exportPath,\n filePath,\n messages,\n projectFolder,\n mainEntryPointFilePath,\n tsconfigPath,\n } = options\n\n return {\n apiReport: {\n enabled: false,\n reportFileName: '<unscopedPackageName>.api.md',\n },\n // bundledPackages: [],\n compiler: {\n tsconfigFilePath: tsconfigPath,\n },\n docModel: {\n enabled: false,\n apiJsonFilePath: path.resolve(distPath, `${exportPath}.api.json`),\n },\n dtsRollup: {\n enabled: true,\n untrimmedFilePath: path.resolve(distPath, filePath),\n // betaTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-beta.d.ts')),\n // publicTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-public.d.ts')),\n },\n tsdocMetadata: {\n enabled: false,\n },\n messages,\n mainEntryPointFilePath,\n projectFolder,\n }\n}\n","import {TSDocConfigFile} from '@microsoft/tsdoc-config'\nimport {readFile} from 'fs/promises'\nimport {parse} from 'jsonc-parser'\n\n/** @public */\nexport interface TSDocCustomTag {\n name: string\n syntaxKind: 'block' | 'modifier'\n allowMultiple?: boolean\n}\n\n/** @internal */\nexport async function createTSDocConfig(opts: {\n customTags: TSDocCustomTag[]\n}): Promise<TSDocConfigFile | undefined> {\n const {customTags} = opts\n\n if (customTags.length === 0) {\n return undefined\n }\n\n const tsDocBaseBuf = await readFile(\n require.resolve('@microsoft/api-extractor/extends/tsdoc-base.json')\n )\n\n // Include the definitions that are required for API Extractor\n // extends: ['@microsoft/api-extractor/extends/tsdoc-base.json'],\n const tsDocBaseConfig = parse(tsDocBaseBuf.toString())\n\n // Define custom tags and specify how they should be parsed\n const tagDefinitions = (tsDocBaseConfig.tagDefinitions || []).concat(\n customTags.map((t) => ({\n tagName: `@${t.name}`,\n syntaxKind: t.syntaxKind,\n allowMultiple: t.allowMultiple,\n }))\n )\n\n // Indicate that custom tags are supported by your tooling.\n // (Without this, warnings may be reported saying that a tag is unsupported.)\n const supportForTags = {...tsDocBaseConfig.supportForTags}\n\n for (const customTag of customTags) {\n supportForTags[`@${customTag.name}`] = true\n }\n\n return TSDocConfigFile.loadFromObject({\n ...tsDocBaseConfig,\n noStandardTags: false,\n tagDefinitions,\n supportForTags,\n })\n}\n","import type {File} from '@babel/types'\nimport {ExtractorResult} from '@microsoft/api-extractor'\nimport {parse, print} from 'recast'\nimport typeScriptParser from 'recast/parsers/typescript'\nimport {Program} from 'typescript'\n\n/**\n * A workaround to find all module blocks in extract TS files.\n * @internal\n * */\nexport async function extractModuleBlocksFromTypes({\n tsOutDir,\n extractResult,\n}: {\n tsOutDir: string\n extractResult: ExtractorResult\n}): Promise<string[]> {\n const program = extractResult.compilerState.program as Program\n const moduleBlocks: string[] = []\n\n // all program files, including node_modules\n const allProgramFiles = [...program.getSourceFiles()]\n\n // just our compiled files used in the program\n const sourceFiles = allProgramFiles.filter((sourceFile) => sourceFile.fileName.includes(tsOutDir))\n\n for (const sourceFile of sourceFiles) {\n if (sourceFile.text.includes('declare module')) {\n moduleBlocks.push(...extractModuleBlocks(sourceFile.text))\n }\n }\n\n return moduleBlocks\n}\n\n/** @internal */\nexport function extractModuleBlocks(fileContent: string): string[] {\n const ast = parse(fileContent, {\n parser: typeScriptParser,\n }) as File\n\n return ast.program.body\n .filter((node) => node.type === 'TSModuleDeclaration')\n .map((node) => print(node).code)\n}\n","import {ExtractorLogLevel, IExtractorMessagesConfig} from '@microsoft/api-extractor'\n\nimport {PkgConfigOptions, PkgRuleLevel} from '../../core'\n\nconst LOG_LEVELS: Record<PkgRuleLevel, ExtractorLogLevel> = {\n error: 'error' as ExtractorLogLevel.Error,\n info: 'info' as ExtractorLogLevel.Info,\n off: 'none' as ExtractorLogLevel.None,\n warn: 'warning' as ExtractorLogLevel.Warning,\n}\n\n/** @internal */\nexport function getExtractMessagesConfig(options: {\n rules: NonNullable<PkgConfigOptions['extract']>['rules']\n}): IExtractorMessagesConfig {\n const {rules} = options\n\n function ruleToLogLevel(\n key: keyof NonNullable<NonNullable<PkgConfigOptions['extract']>['rules']>,\n defaultLevel?: ExtractorLogLevel\n ) {\n const r = rules?.[key]\n\n return (r ? LOG_LEVELS[r] : defaultLevel || 'warning') as ExtractorLogLevel\n }\n\n return {\n compilerMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n },\n },\n\n extractorMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n\n 'ae-forgotten-export': {\n logLevel: ruleToLogLevel('ae-forgotten-export', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-incompatible-release-tags': {\n logLevel: ruleToLogLevel('ae-incompatible-release-tags', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-internal-missing-underscore': {\n logLevel: ruleToLogLevel('ae-internal-missing-underscore'),\n addToApiReportFile: false,\n },\n\n 'ae-missing-release-tag': {\n logLevel: ruleToLogLevel('ae-missing-release-tag', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-wrong-input-file-type': {\n logLevel: 'none' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n },\n\n tsdocMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n\n 'tsdoc-link-tag-unescaped-text': {\n logLevel: ruleToLogLevel('tsdoc-link-tag-unescaped-text', 'warning' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'tsdoc-undefined-tag': {\n logLevel: ruleToLogLevel('tsdoc-undefined-tag', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'tsdoc-unsupported-tag': {\n logLevel: ruleToLogLevel('tsdoc-unsupported-tag', 'none' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n },\n }\n}\n","import {\n Extractor,\n ExtractorConfig,\n ExtractorMessage,\n ExtractorResult,\n} from '@microsoft/api-extractor'\nimport fs from 'fs/promises'\nimport {mkdirp} from 'mkdirp'\nimport path from 'path'\nimport prettier from 'prettier'\n\nimport {BuildFile, PkgConfigOptions} from '../../core'\nimport {createApiExtractorConfig} from './createApiExtractorConfig'\nimport {createTSDocConfig} from './createTSDocConfig'\nimport {extractModuleBlocksFromTypes} from './extractModuleBlocks'\nimport {getExtractMessagesConfig} from './getExtractMessagesConfig'\n\nexport async function extractTypes(options: {\n customTags: NonNullable<PkgConfigOptions['extract']>['customTags']\n cwd: string\n distPath: string\n exportPath: string\n filePath: string\n files: BuildFile[]\n projectPath: string\n rules?: NonNullable<PkgConfigOptions['extract']>['rules']\n sourceTypesPath: string\n tmpPath: string\n tsconfigPath: string\n}): Promise<{extractorResult: ExtractorResult; messages: ExtractorMessage[]}> {\n const {\n customTags,\n distPath,\n exportPath,\n files,\n filePath,\n projectPath,\n rules,\n sourceTypesPath,\n tmpPath,\n tsconfigPath,\n } = options\n\n const tsdocConfigFile = await createTSDocConfig({\n customTags: customTags || [],\n })\n\n const extractorConfig: ExtractorConfig = ExtractorConfig.prepare({\n configObject: createApiExtractorConfig({\n distPath,\n exportPath,\n filePath,\n messages: getExtractMessagesConfig({rules}),\n projectFolder: projectPath,\n mainEntryPointFilePath: sourceTypesPath,\n tsconfigPath,\n }),\n configObjectFullPath: undefined,\n tsdocConfigFile,\n packageJsonFullPath: path.resolve(projectPath, 'package.json'),\n })\n\n const messages: ExtractorMessage[] = []\n\n // Invoke API Extractor\n const extractorResult = Extractor.invoke(extractorConfig, {\n // Equivalent to the \"--local\" command-line parameter\n localBuild: true,\n // Equivalent to the \"--verbose\" command-line parameter\n showVerboseMessages: true,\n // handle messages\n messageCallback(message: ExtractorMessage) {\n messages.push(message)\n message.handled = true\n },\n })\n\n const typesPath = path.resolve(distPath, filePath)\n const typesBuf = await fs.readFile(typesPath)\n const prettierConfig = await prettier.resolveConfig(typesPath)\n\n await mkdirp(path.dirname(typesPath))\n\n const moduleBlocks = await extractModuleBlocksFromTypes({\n extractResult: extractorResult,\n tsOutDir: tmpPath,\n })\n\n const code = [typesBuf.toString(), ...moduleBlocks].join('\\n\\n')\n\n await fs.writeFile(\n typesPath,\n prettier.format(code, {\n ...prettierConfig,\n filepath: typesPath,\n })\n )\n\n // Add to `files` in context\n files.push({\n type: 'types',\n path: typesPath,\n })\n\n return {extractorResult, messages}\n}\n","import {ExtractorMessage} from '@microsoft/api-extractor'\nimport path from 'path'\nimport rimraf from 'rimraf'\n\nimport {BuildContext} from '../../core'\nimport {buildTypes} from './buildTypes'\nimport {DtsError} from './DtsError'\nimport {extractTypes} from './extractTypes'\nimport {DtsResult, DtsTask, DtsWatchTask} from './types'\n\n/**\n * - Build type definitions to a temporary directory using TypeScript compiler.\n * - Create a type definition bundle for each export entry.\n * - When done, remove the temporary directory.\n */\nexport async function doExtract(\n ctx: BuildContext,\n task: DtsTask | DtsWatchTask\n): Promise<DtsResult> {\n const {config, cwd, files, logger, strict, ts} = ctx\n\n if (!ts.config || !ts.configPath) {\n return {type: 'dts', messages: [], results: []}\n }\n\n const {outDir, rootDir = cwd} = ts.config.options\n\n if (!outDir) {\n throw new Error('tsconfig.json is missing `compilerOptions.outDir`')\n }\n\n const tmpPath = path.resolve(outDir, '__tmp__')\n\n await buildTypes({cwd, logger, outDir: tmpPath, strict, tsconfig: ts.config})\n const messages: ExtractorMessage[] = []\n\n const results: {sourcePath: string; filePath: string}[] = []\n\n for (const entry of task.entries) {\n const exportPath = entry.exportPath === '.' ? './index' : entry.exportPath\n\n const sourceTypesPath = path.resolve(\n tmpPath,\n path.relative(rootDir, path.resolve(cwd, entry.sourcePath)).replace(/\\.ts$/, '.d.ts')\n )\n\n const targetPath = path.resolve(cwd, entry.targetPath)\n const filePath = path.relative(outDir, targetPath)\n const result = await extractTypes({\n customTags: config?.extract?.customTags,\n cwd,\n distPath: outDir,\n exportPath,\n files,\n filePath: filePath,\n projectPath: cwd,\n rules: config?.extract?.rules,\n sourceTypesPath: sourceTypesPath,\n tmpPath,\n tsconfigPath: path.resolve(cwd, ts.configPath || 'tsconfig.json'),\n })\n\n messages.push(...result.messages)\n\n if (result.messages.some((msg) => msg.logLevel === 'error')) {\n await rimraf(tmpPath)\n\n throw new DtsError('encountered errors when extracting types', result.messages)\n }\n\n results.push({sourcePath: path.resolve(cwd, entry.sourcePath), filePath: targetPath})\n }\n\n await rimraf(tmpPath)\n\n return {type: 'dts', messages, results}\n}\n","import chalk from 'chalk'\nimport {Observable} from 'rxjs'\n\nimport {printExtractMessages} from '../../printExtractMessages'\nimport {TaskHandler} from '../types'\nimport {doExtract} from './doExtract'\nimport {DtsError} from './DtsError'\nimport {DtsResult, DtsTask} from './types'\n\n/** @internal */\nexport const dtsTask: TaskHandler<DtsTask, DtsResult> = {\n name: (_ctx, task) =>\n [\n `Build type definitions...`,\n ` entries:`,\n ...task.entries.map((entry) =>\n [\n ` - ${chalk.cyan(entry.importId)}: `,\n `${chalk.yellow(entry.sourcePath)} ${chalk.gray('→')} ${chalk.yellow(entry.targetPath)}`,\n ].join('')\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n doExtract(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => {\n observer.error(err)\n })\n })\n },\n complete: (ctx, _task, result) => {\n printExtractMessages(ctx, result.messages)\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof DtsError) {\n printExtractMessages(ctx, err.messages)\n } else if (err instanceof Error) {\n logger.error(err)\n }\n },\n}\n","import chalk from 'chalk'\nimport {Observable} from 'rxjs'\n\nimport {printExtractMessages} from '../../printExtractMessages'\nimport {TaskHandler} from '../types'\nimport {doExtract} from './doExtract'\nimport {DtsError} from './DtsError'\nimport {DtsResult, DtsWatchTask} from './types'\n\n/** @internal */\nexport const dtsWatchTask: TaskHandler<DtsWatchTask, DtsResult> = {\n name: (_ctx, task) =>\n [\n `build type definitions`,\n ...task.entries.map(\n (entry) =>\n ` ${chalk.blue(entry.importId)}: ${entry.sourcePath} -> ${entry.targetPath}`\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n doExtract(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => observer.error(err))\n })\n },\n complete: (ctx, _task, result) => {\n const {logger} = ctx\n\n printExtractMessages(ctx, result.messages)\n\n logger.warn('watching typescript definitions is currently not supported')\n logger.log()\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof DtsError) {\n printExtractMessages(ctx, err.messages)\n } else if (err instanceof Error) {\n logger.error(err)\n }\n },\n}\n","import chalk from 'chalk'\nimport {writeFile} from 'fs/promises'\nimport {mkdirp} from 'mkdirp'\nimport path from 'path'\nimport {from} from 'rxjs'\n\nimport {BuildContext} from '../../core'\nimport {NodeReExportFromCJSTask, TaskHandler} from '../types'\n\n/** @internal */\nexport const nodeReexportCjsTask: TaskHandler<NodeReExportFromCJSTask> = {\n name: (_ctx, task) =>\n [\n `Re-export CommonJS module in ESM wrapper…`,\n ` entries:`,\n ...task.entries.map((entry) =>\n [\n ` - ${chalk.cyan(entry.importId)}: `,\n `${chalk.yellow(entry.require)} ${chalk.gray('→')} ${chalk.yellow(entry.import)}`,\n ].join('')\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return from(exec(ctx, task))\n },\n complete: () => {\n //\n },\n error: (_ctx, _task, err) => {\n // eslint-disable-next-line no-console\n console.error(err)\n },\n}\n\nasync function exec(ctx: BuildContext, task: NodeReExportFromCJSTask) {\n const {cwd} = ctx\n\n for (const entry of task.entries) {\n const sourcePath = path.resolve(cwd, entry.require)\n const targetPath = path.resolve(cwd, entry.import)\n const targetDir = path.dirname(targetPath)\n\n await mkdirp(targetDir)\n\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const mod = require(sourcePath)\n\n let relativeImport = `./${path.relative(targetDir, sourcePath)}`\n\n // Strip leading \"./\" from relative import\n if (relativeImport.startsWith('./.')) {\n relativeImport = relativeImport.slice(2)\n }\n\n const code = compileESMWrapper(mod, relativeImport)\n\n await writeFile(targetPath, code, 'utf8')\n }\n}\n\nfunction compileESMWrapper(mod: any, relativeImport: string) {\n const keys = Object.keys(mod).filter((k) => k !== '__esModule')\n\n let code = `import cjs from '${relativeImport}';\\n`\n\n if (keys.length) {\n code += `\\n`\n code += keys\n .filter((k) => (mod.__esModule ? k !== 'default' : true))\n .map((k) => `export const ${k} = cjs.${k};\\n`)\n .join('')\n }\n\n code += `\\n`\n\n if (mod.__esModule) {\n code += `export default cjs.default;\\n`\n } else {\n code += `export default cjs;\\n`\n }\n\n return code\n}\n","/* eslint-disable no-console */\n\nexport interface ConsoleSpyMsg {\n type: 'log' | 'warn' | 'error'\n code?: string\n args: unknown[]\n}\n\nexport interface ConsoleSpy {\n messages: ConsoleSpyMsg[]\n restore: () => void\n}\n\nexport function createConsoleSpy(options: {\n onRestored: (messages: ConsoleSpyMsg[]) => void\n}): ConsoleSpy {\n const {onRestored} = options\n\n const original = {\n log: console.log,\n warn: console.warn,\n error: console.error,\n }\n\n const messages: ConsoleSpyMsg[] = []\n\n console.log = (...args: unknown[]) => messages.push({type: 'log', args})\n console.warn = (...args: unknown[]) => messages.push({type: 'warn', args})\n console.error = (...args: unknown[]) => messages.push({type: 'error', args})\n\n return {\n messages,\n restore: () => {\n console.log = original.log\n console.warn = original.warn\n console.error = original.error\n\n onRestored(messages)\n },\n }\n}\n","import alias from '@rollup/plugin-alias'\nimport {getBabelOutputPlugin} from '@rollup/plugin-babel'\nimport commonjs from '@rollup/plugin-commonjs'\nimport json from '@rollup/plugin-json'\nimport {nodeResolve} from '@rollup/plugin-node-resolve'\nimport replace from '@rollup/plugin-replace'\nimport terser from '@rollup/plugin-terser'\nimport path from 'path'\nimport {InputOptions, OutputOptions, Plugin} from 'rollup'\nimport esbuild from 'rollup-plugin-esbuild'\n\nimport {BuildContext, DEFAULT_BROWSERSLIST_QUERY, resolveConfigProperty} from '../../core'\nimport {RollupTask, RollupWatchTask} from '../types'\n\nexport interface RollupConfig {\n inputOptions: InputOptions\n outputOptions: OutputOptions\n}\n\n/** @internal */\nexport function resolveRollupConfig(\n ctx: BuildContext,\n buildTask: RollupTask | RollupWatchTask\n): RollupConfig {\n const {format, runtime, target} = buildTask\n const {config, cwd, exports: _exports, extMap, external, distPath, logger, pkg, ts} = ctx\n const outputExt = extMap[pkg.type || 'commonjs'][format]\n const minify = config?.minify ?? false\n const outDir = path.relative(cwd, distPath)\n\n const pathAliases = Object.fromEntries(\n Object.entries(ts.config?.options.paths || {}).map(([key, val]) => {\n return [key, path.resolve(cwd, ts.config?.options.baseUrl || '.', val[0])]\n })\n )\n\n const entries = buildTask.entries.map((entry) => {\n return {\n ...entry,\n name: path.relative(outDir, entry.output).replace(/\\.[^/.]+$/, ''),\n }\n }, {})\n\n const exportIds =\n _exports && Object.keys(_exports).map((exportPath) => path.join(pkg.name, exportPath))\n\n const sourcePaths = _exports && Object.values(_exports).map((e) => path.resolve(cwd, e.source))\n\n const replacements = Object.fromEntries(\n Object.entries(config?.define || {}).map(([key, val]) => [key, JSON.stringify(val)])\n )\n\n const defaultPlugins = [\n replace({\n preventAssignment: true,\n values: {\n ...(pkg.name === '@sanity/pkg-utils'\n ? {...replacements}\n : {\n 'process.env.PKG_FILE_PATH': (arg) => {\n const sourcePath = './' + path.relative(cwd, arg)\n const entry = entries.find((e) => e.source === sourcePath)\n\n if (!entry) {\n // eslint-disable-next-line no-console\n console.error(`could not find source entry: ${sourcePath}`)\n\n return 'null'\n }\n\n return JSON.stringify(\n path.relative(cwd, path.resolve(outDir, entry.name + outputExt))\n )\n },\n 'process.env.PKG_FORMAT': JSON.stringify(format),\n 'process.env.PKG_RUNTIME': JSON.stringify(runtime),\n 'process.env.PKG_VERSION': JSON.stringify(process.env.PKG_VERSION || pkg.version),\n ...replacements,\n }),\n },\n }),\n alias({\n entries: {...pathAliases},\n }),\n nodeResolve({\n // mainFields: ['module', 'jsnext', 'main'],\n browser: runtime === 'browser',\n // exportConditions: [runtime === 'node' ? 'node' : 'browser'],\n extensions: ['.cjs', '.mjs', '.js', '.jsx', '.json', '.node'],\n preferBuiltins: true, // runtime === 'node',\n }),\n commonjs(),\n json(),\n esbuild({\n jsx: config?.jsx ?? 'automatic',\n jsxFactory: config?.jsxFactory ?? 'createElement',\n jsxFragment: config?.jsxFragment ?? 'Fragment',\n jsxImportSource: config?.jsxImportSource ?? 'react',\n target,\n tsconfig: ctx.ts.configPath || 'tsconfig.json',\n }),\n getBabelOutputPlugin({\n babelrc: false,\n plugins: config?.babel?.plugins,\n presets: [\n [\n '@babel/preset-env',\n {targets: pkg.browserslist || DEFAULT_BROWSERSLIST_QUERY, modules: false},\n ],\n ],\n }),\n minify &&\n terser({\n compress: {\n // Needed until https://github.com/terser/terser/issues/1320 is fixed\n directives: false,\n },\n output: {\n comments: (_node, comment) => {\n const text = comment.value\n const type = comment.type\n\n // Check if this is a multiline comment\n if (type == 'comment2') {\n // Keep licensing comments\n return /@preserve|@license|@cc_on/i.test(text)\n }\n\n return false\n },\n },\n }),\n ].filter(Boolean) as Plugin[]\n\n const userPlugins = config?.rollup?.plugins\n\n const plugins = Array.isArray(userPlugins)\n ? defaultPlugins.concat(userPlugins)\n : resolveConfigProperty(config?.rollup?.plugins, defaultPlugins)\n\n return {\n inputOptions: {\n context: cwd,\n\n external: (id, importer) => {\n // Check if the id is a self-referencing import\n if (exportIds?.includes(id)) {\n return true\n }\n\n // Check if the id is a file path that points to an exported source file\n if (importer && (id.startsWith('.') || id.startsWith('/'))) {\n const idPath = path.resolve(path.dirname(importer), id)\n\n if (sourcePaths?.includes(idPath)) {\n logger.warn(\n `detected self-referencing import – treating as external: ${path.relative(\n cwd,\n idPath\n )}`\n )\n\n return true\n }\n }\n\n const idParts = id.split('/')\n\n const name = idParts[0].startsWith('@') ? `${idParts[0]}/${idParts[1]}` : idParts[0]\n\n if (name && external.includes(name)) {\n return true\n }\n\n return false\n },\n\n input: entries.reduce<{[entryAlias: string]: string}>((acc, entry) => {\n return {...acc, [entry.name]: entry.source}\n }, {}),\n\n plugins,\n\n treeshake: {\n propertyReadSideEffects: false,\n },\n },\n outputOptions: {\n chunkFileNames: () => {\n const parts = outputExt.split('.')\n\n if (parts.length === 3) {\n return `_chunks/[name]-[hash].${parts[2]}`\n }\n\n return `_chunks/[name]-[hash]${outputExt}`\n },\n compact: minify,\n dir: outDir,\n entryFileNames: () => {\n const parts = outputExt.split('.')\n\n if (parts.length === 3) {\n return `[name].${parts[2]}`\n }\n\n return `[name]${outputExt}`\n },\n esModule: true,\n format,\n interop: 'compat',\n minifyInternalExports: minify,\n sourcemap: config?.sourcemap ?? true,\n hoistTransitiveImports: false,\n },\n }\n}\n","import chalk from 'chalk'\nimport path from 'path'\nimport {rollup} from 'rollup'\nimport {Observable} from 'rxjs'\n\nimport {BuildContext} from '../../core'\nimport {RollupTask, TaskHandler} from '../types'\nimport {createConsoleSpy} from './consoleSpy'\nimport {resolveRollupConfig} from './resolveRollupConfig'\n\n/** @internal */\nexport const rollupTask: TaskHandler<RollupTask> = {\n name: (ctx, task) =>\n [\n `Build javascript files...`,\n ` format: ${chalk.yellow(task.format)}`,\n ` target:`,\n ...task.target.map((t) => ` - ${chalk.yellow(t)}`),\n ` entries:`,\n ...task.entries.map((e) =>\n [\n ` - `,\n `${chalk.cyan(path.join(ctx.pkg.name, e.path))}: `,\n `${chalk.yellow(e.source)} ${chalk.gray('→')} ${chalk.yellow(e.output)}`,\n ].join('')\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n execPromise(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => observer.error(err))\n })\n },\n complete: () => {\n //\n },\n error: (_ctx, _task, err) => {\n // eslint-disable-next-line no-console\n console.error(err)\n },\n}\n\nasync function execPromise(ctx: BuildContext, task: RollupTask) {\n const {distPath, files, logger} = ctx\n const outDir = path.relative(ctx.cwd, distPath)\n\n // Prevent rollup from printing directly to the console\n const consoleSpy = createConsoleSpy({\n onRestored: (messages) => {\n for (const msg of messages) {\n const text = String(msg.args[0])\n\n if (msg.code === 'CIRCULAR_DEPENDENCY') {\n continue // ignore\n }\n\n if (text.startsWith('Dynamic import can only')) {\n continue // ignore\n }\n\n if (text.startsWith('Sourcemap is likely to be incorrect')) {\n continue // ignore\n }\n\n if (msg.type === 'log') {\n logger.info(...msg.args)\n }\n\n if (msg.type === 'warn') {\n logger.warn(...msg.args)\n }\n\n if (msg.type === 'error') {\n logger.error(...msg.args)\n }\n }\n },\n })\n\n try {\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n // Create bundle\n const bundle = await rollup({\n ...inputOptions,\n onwarn(warning) {\n consoleSpy.messages.push({\n type: 'warn',\n code: warning.code,\n args: [warning.message],\n })\n },\n })\n\n // generate output specific code in-memory\n // you can call this function multiple times on the same bundle object\n const {output} = await bundle.generate(outputOptions)\n\n for (const chunkOrAsset of output) {\n if (chunkOrAsset.type === 'asset') {\n files.push({\n type: 'asset',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n } else {\n files.push({\n type: 'chunk',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n }\n }\n\n // or write the bundle to disk\n await bundle.write(outputOptions)\n\n // closes the bundle\n await bundle.close()\n\n // Restore console\n consoleSpy.restore()\n } catch (err) {\n // Restore console\n consoleSpy.restore()\n throw err\n }\n}\n","import chalk from 'chalk'\nimport path from 'path'\nimport {RollupWatcherEvent, RollupWatchOptions, watch as rollupWatch} from 'rollup'\nimport {Observable} from 'rxjs'\n\nimport {RollupWatchTask, TaskHandler} from '../types'\nimport {resolveRollupConfig} from './resolveRollupConfig'\n\n/** @internal */\nexport const rollupWatchTask: TaskHandler<RollupWatchTask, RollupWatcherEvent> = {\n name: (ctx, task) =>\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`,\n exec: (ctx, task) => {\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n return new Observable((observer) => {\n const watchOptions: RollupWatchOptions = {\n ...inputOptions,\n output: outputOptions,\n }\n\n const watcher = rollupWatch(watchOptions)\n\n watcher.on('event', (event) => {\n observer.next(event)\n })\n\n return () => {\n watcher.close()\n }\n })\n },\n complete: (ctx, task, event) => {\n const {logger} = ctx\n\n if (event.code === 'BUNDLE_END') {\n logger.success(\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`\n )\n logger.log('')\n\n return\n }\n\n if (event.code === 'BUNDLE_START') {\n return\n }\n\n if (event.code === 'END') {\n return\n }\n\n if (event.code === 'ERROR') {\n logger.error(event.code, event)\n\n return\n }\n\n if (event.code === 'START') {\n return\n }\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof Error) {\n logger.log(err)\n }\n },\n}\n","import {dtsTask, dtsWatchTask} from './dts'\nimport {nodeReexportCjsTask} from './node/reexportCjsTask'\nimport {rollupTask, rollupWatchTask} from './rollup'\nimport {BuildTaskHandlers, WatchTaskHandlers} from './types'\n\nexport * from './dts'\nexport * from './rollup'\nexport * from './types'\n\n/** @internal */\nexport const buildTaskHandlers: BuildTaskHandlers = {\n 'build:dts': dtsTask,\n 'build:js': rollupTask,\n 'node:reexport-cjs': nodeReexportCjsTask,\n}\n\n/** @internal */\nexport const watchTaskHandlers: WatchTaskHandlers = {\n 'watch:dts': dtsWatchTask,\n 'watch:js': rollupWatchTask,\n}\n"],"names":["printExtractMessages","ctx","messages","cwd","logger","warnings","filter","msg","logLevel","length","log","sourceFilePath","path","relative","messageId","concat","chalk","cyan","yellow","sourceFileLine","default","sourceFileColumn","gray","text","join","errors","red","process","exit","printDiagnostic","options","diagnostic","file","start","line","character","ts","getLineAndCharacterOfPosition","message","flattenDiagnosticMessageText","messageText","fileName","output","blue","code","category","DiagnosticCategory","Error","error","Warning","warn","Message","Suggestion","buildTypes","outDir","tsconfig","strict","compilerOptions","declaration","declarationDir","emitDeclarationOnly","noEmit","program","createProgram","fileNames","emitResult","emit","allDiagnostics","getPreEmitDiagnostics","diagnostics","emitSkipped","diag","DtsError","constructor","createApiExtractorConfig","distPath","exportPath","filePath","projectFolder","mainEntryPointFilePath","tsconfigPath","apiReport","enabled","reportFileName","compiler","tsconfigFilePath","docModel","apiJsonFilePath","resolve","dtsRollup","untrimmedFilePath","tsdocMetadata","createTSDocConfig","opts","customTags","tsDocBaseBuf","readFile","require","tsDocBaseConfig","parse","toString","tagDefinitions","map","t","tagName","name","syntaxKind","allowMultiple","supportForTags","customTag","TSDocConfigFile","loadFromObject","noStandardTags","extractModuleBlocksFromTypes","_ref","tsOutDir","extractResult","compilerState","moduleBlocks","allProgramFiles","getSourceFiles","sourceFiles","sourceFile","includes","push","extractModuleBlocks","fileContent","ast","parser","typeScriptParser","body","node","type","print","LOG_LEVELS","info","off","getExtractMessagesConfig","rules","ruleToLogLevel","key","defaultLevel","r","compilerMessageReporting","extractorMessageReporting","addToApiReportFile","tsdocMessageReporting","extractTypes","files","projectPath","sourceTypesPath","tmpPath","tsdocConfigFile","extractorConfig","ExtractorConfig","prepare","configObject","configObjectFullPath","packageJsonFullPath","extractorResult","Extractor","invoke","localBuild","showVerboseMessages","messageCallback","handled","typesPath","typesBuf","fs","prettierConfig","prettier","resolveConfig","mkdirp","dirname","writeFile","format","filepath","doExtract","task","_a","_b","config","configPath","results","rootDir","entry","entries","sourcePath","replace","targetPath","result","extract","some","rimraf","dtsTask","_ctx","importId","exec","Observable","observer","then","next","complete","catch","err","_task","dtsWatchTask","nodeReexportCjsTask","import","from","console","targetDir","mod","relativeImport","startsWith","slice","compileESMWrapper","keys","Object","k","__esModule","createConsoleSpy","onRestored","original","_len","arguments","args","Array","_key","_len2","_key2","_len3","_key3","restore","resolveRollupConfig","buildTask","_ref2","_ref5","_ref6","_ref7","_ref8","_ref9","_c","_d","runtime","target","exports","_exports","extMap","external","pkg","outputExt","minify","pathAliases","fromEntries","paths","_ref3","val","baseUrl","exportIds","sourcePaths","values","e","source","replacements","define","_ref4","JSON","stringify","defaultPlugins","preventAssignment","arg","find","env","PKG_VERSION","version","alias","nodeResolve","browser","extensions","preferBuiltins","commonjs","json","esbuild","jsx","jsxFactory","jsxFragment","jsxImportSource","getBabelOutputPlugin","babelrc","plugins","babel","presets","targets","browserslist","DEFAULT_BROWSERSLIST_QUERY","modules","terser","compress","directives","comments","_node","comment","value","test","Boolean","userPlugins","rollup","isArray","resolveConfigProperty","inputOptions","context","id","importer","idPath","idParts","split","input","reduce","acc","treeshake","propertyReadSideEffects","outputOptions","chunkFileNames","parts","compact","dir","entryFileNames","esModule","interop","minifyInternalExports","sourcemap","hoistTransitiveImports","rollupTask","execPromise","consoleSpy","String","bundle","onwarn","warning","generate","chunkOrAsset","write","close","rollupWatchTask","watchOptions","watcher","rollupWatch","on","event","success","buildTaskHandlers","watchTaskHandlers"],"mappings":"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"}
|