@sanity/pkg-utils 1.13.0 → 1.14.0

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/index.js CHANGED
@@ -6,13 +6,13 @@ Object.defineProperty(exports, '__esModule', {
6
6
 
7
7
  var _resolveBuildContext = require('./_chunks/_resolveBuildContext-ef196a3e.js');
8
8
 
9
- var build = require('./_chunks/build-36a16057.js');
9
+ var build = require('./_chunks/build-83c36253.js');
10
10
 
11
- var index = require('./_chunks/index-340fbb6a.js');
11
+ var index = require('./_chunks/index-33f2afe8.js');
12
12
 
13
13
  var check = require('./_chunks/check-7d728336.js');
14
14
 
15
- var watch = require('./_chunks/watch-41c2ea71.js');
15
+ var watch = require('./_chunks/watch-12e6eafa.js');
16
16
 
17
17
  require('path');
18
18
 
@@ -98,6 +98,7 @@ exports.build = build.build;
98
98
  exports._buildTaskHandlers = index._buildTaskHandlers;
99
99
  exports._dtsTask = index._dtsTask;
100
100
  exports._dtsWatchTask = index._dtsWatchTask;
101
+ exports._getExtractMessagesConfig = index._getExtractMessagesConfig;
101
102
  exports._rollupTask = index._rollupTask;
102
103
  exports._rollupWatchTask = index._rollupWatchTask;
103
104
  exports._watchTaskHandlers = index._watchTaskHandlers;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/node/_core/config/defineConfig.ts"],"sourcesContent":["import {PkgConfigOptions} from './types'\n\n/** @public */\nexport function defineConfig(configOptions: PkgConfigOptions): PkgConfigOptions {\n return configOptions\n}\n"],"names":["defineConfig","configOptions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAO,SAASA,YAAT,CAAsBC,aAAtB,EAAqC;EAC1C,OAAOA,aAAP;AACF;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../src/node/_core/config/defineConfig.ts"],"sourcesContent":["import {PkgConfigOptions} from './types'\n\n/** @public */\nexport function defineConfig(configOptions: PkgConfigOptions): PkgConfigOptions {\n return configOptions\n}\n"],"names":["defineConfig","configOptions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAO,SAASA,YAAT,CAAsBC,aAAtB,EAAqC;EAC1C,OAAOA,aAAP;AACF;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sanity/pkg-utils",
3
- "version": "1.13.0",
3
+ "version": "1.14.0",
4
4
  "author": "Sanity.io <hello@sanity.io>",
5
5
  "license": "MIT",
6
6
  "description": "Simple utilities for modern npm packages.",
@@ -56,15 +56,25 @@ export interface PkgExports {
56
56
  /** @public */
57
57
  export type PkgRuleLevel = 'error' | 'warn' | 'info' | 'off'
58
58
 
59
+ /** @public */
60
+ export interface TSDocCustomTag {
61
+ name: string
62
+ syntaxKind: 'block' | 'modifier'
63
+ allowMultiple?: boolean
64
+ }
65
+
59
66
  /** @public */
60
67
  export interface PkgConfigOptions {
61
68
  bundles?: PkgBundle[]
69
+ /** @alpha */
70
+ define?: Record<string, string | number | boolean | undefined | null>
62
71
  /**
63
72
  * Directory of distributed & bundled files.
64
73
  */
65
74
  dist?: string
66
75
  exports?: PkgConfigProperty<PkgExports>
67
76
  extract?: {
77
+ customTags?: TSDocCustomTag[]
68
78
  rules?: {
69
79
  'ae-forgotten-export'?: PkgRuleLevel
70
80
  'ae-incompatible-release-tags'?: PkgRuleLevel
@@ -50,6 +50,7 @@ export async function _doExtract(
50
50
  const targetPath = path.resolve(cwd, entry.targetPath)
51
51
 
52
52
  const result = await _extractTypes({
53
+ customTags: config?.extract?.customTags,
53
54
  cwd,
54
55
  exportPath,
55
56
  files,
@@ -3,25 +3,18 @@ import path from 'path'
3
3
  import {
4
4
  Extractor,
5
5
  ExtractorConfig,
6
- ExtractorLogLevel,
7
6
  ExtractorMessage,
8
7
  ExtractorResult,
9
- IExtractorMessagesConfig,
10
8
  } from '@microsoft/api-extractor'
11
9
  import mkdirp from 'mkdirp'
12
10
  import prettier from 'prettier'
13
- import {PkgRuleLevel, PkgConfigOptions, _BuildFile} from '../../_core'
11
+ import {PkgConfigOptions, _BuildFile} from '../../_core'
14
12
  import {_createApiExtractorConfig} from './_createApiExtractorConfig'
15
13
  import {_createTSDocConfig} from './_createTSDocConfig'
16
-
17
- const _LOG_LEVELS: Record<PkgRuleLevel, ExtractorLogLevel> = {
18
- error: 'error' as ExtractorLogLevel.Error,
19
- info: 'info' as ExtractorLogLevel.Info,
20
- off: 'none' as ExtractorLogLevel.None,
21
- warn: 'warning' as ExtractorLogLevel.Warning,
22
- }
14
+ import {_getExtractMessagesConfig} from './_getExtractMessagesConfig'
23
15
 
24
16
  export async function _extractTypes(options: {
17
+ customTags: NonNullable<PkgConfigOptions['extract']>['customTags']
25
18
  cwd: string
26
19
  distPath: string
27
20
  exportPath: string
@@ -32,90 +25,28 @@ export async function _extractTypes(options: {
32
25
  sourceTypesPath: string
33
26
  tsconfigPath: string
34
27
  }): Promise<{extractorResult: ExtractorResult; messages: ExtractorMessage[]}> {
35
- const {distPath, exportPath, files, filePath, projectPath, rules, sourceTypesPath, tsconfigPath} =
36
- options
28
+ const {
29
+ customTags,
30
+ distPath,
31
+ exportPath,
32
+ files,
33
+ filePath,
34
+ projectPath,
35
+ rules,
36
+ sourceTypesPath,
37
+ tsconfigPath,
38
+ } = options
37
39
 
38
40
  const tsdocConfigFile = await _createTSDocConfig({
39
- customTags: [],
41
+ customTags: customTags || [],
40
42
  })
41
43
 
42
- function _ruleToLogLevel(
43
- key: keyof NonNullable<NonNullable<PkgConfigOptions['extract']>['rules']>,
44
- defaultLevel?: ExtractorLogLevel
45
- ) {
46
- const r = rules?.[key]
47
-
48
- return (r ? _LOG_LEVELS[r] : defaultLevel || 'warning') as ExtractorLogLevel
49
- }
50
-
51
- const messagesConfig: IExtractorMessagesConfig = {
52
- compilerMessageReporting: {
53
- default: {
54
- logLevel: 'warning' as ExtractorLogLevel,
55
- },
56
- },
57
-
58
- extractorMessageReporting: {
59
- default: {
60
- logLevel: 'warning' as ExtractorLogLevel,
61
- addToApiReportFile: false,
62
- },
63
-
64
- 'ae-forgotten-export': {
65
- logLevel: _ruleToLogLevel('ae-forgotten-export', 'error' as ExtractorLogLevel),
66
- addToApiReportFile: false,
67
- },
68
-
69
- 'ae-incompatible-release-tags': {
70
- logLevel: _ruleToLogLevel('ae-incompatible-release-tags', 'error' as ExtractorLogLevel),
71
- addToApiReportFile: false,
72
- },
73
-
74
- 'ae-internal-missing-underscore': {
75
- logLevel: _ruleToLogLevel('ae-internal-missing-underscore'),
76
- addToApiReportFile: false,
77
- },
78
-
79
- 'ae-missing-release-tag': {
80
- logLevel: _ruleToLogLevel('ae-missing-release-tag', 'error' as ExtractorLogLevel),
81
- addToApiReportFile: false,
82
- },
83
-
84
- 'ae-wrong-input-file-type': {
85
- logLevel: 'none' as ExtractorLogLevel,
86
- addToApiReportFile: false,
87
- },
88
- },
89
-
90
- tsdocMessageReporting: {
91
- default: {
92
- logLevel: 'warning' as ExtractorLogLevel,
93
- addToApiReportFile: false,
94
- },
95
-
96
- 'tsdoc-link-tag-unescaped-text': {
97
- logLevel: _ruleToLogLevel('tsdoc-link-tag-unescaped-text', 'warning' as ExtractorLogLevel),
98
- addToApiReportFile: false,
99
- },
100
-
101
- 'tsdoc-undefined-tag': {
102
- logLevel: _ruleToLogLevel('tsdoc-undefined-tag', 'error' as ExtractorLogLevel),
103
- addToApiReportFile: false,
104
- },
105
-
106
- 'tsdoc-unsupported-tag': {
107
- logLevel: _ruleToLogLevel('tsdoc-unsupported-tag', 'none' as ExtractorLogLevel),
108
- addToApiReportFile: false,
109
- },
110
- },
111
- }
112
-
113
44
  const extractorConfig: ExtractorConfig = ExtractorConfig.prepare({
114
45
  configObject: _createApiExtractorConfig({
115
46
  distPath,
116
47
  exportPath,
117
48
  filePath,
118
- messages: messagesConfig,
49
+ messages: _getExtractMessagesConfig({rules}),
119
50
  projectFolder: projectPath,
120
51
  mainEntryPointFilePath: sourceTypesPath,
121
52
  tsconfigPath,
@@ -0,0 +1,87 @@
1
+ import {ExtractorLogLevel, IExtractorMessagesConfig} from '@microsoft/api-extractor'
2
+ import {PkgRuleLevel, PkgConfigOptions} from '../../_core'
3
+
4
+ const _LOG_LEVELS: Record<PkgRuleLevel, ExtractorLogLevel> = {
5
+ error: 'error' as ExtractorLogLevel.Error,
6
+ info: 'info' as ExtractorLogLevel.Info,
7
+ off: 'none' as ExtractorLogLevel.None,
8
+ warn: 'warning' as ExtractorLogLevel.Warning,
9
+ }
10
+
11
+ /** @internal */
12
+ export function _getExtractMessagesConfig(options: {
13
+ rules: NonNullable<PkgConfigOptions['extract']>['rules']
14
+ }): IExtractorMessagesConfig {
15
+ const {rules} = options
16
+
17
+ function _ruleToLogLevel(
18
+ key: keyof NonNullable<NonNullable<PkgConfigOptions['extract']>['rules']>,
19
+ defaultLevel?: ExtractorLogLevel
20
+ ) {
21
+ const r = rules?.[key]
22
+
23
+ return (r ? _LOG_LEVELS[r] : defaultLevel || 'warning') as ExtractorLogLevel
24
+ }
25
+
26
+ return {
27
+ compilerMessageReporting: {
28
+ default: {
29
+ logLevel: 'warning' as ExtractorLogLevel,
30
+ },
31
+ },
32
+
33
+ extractorMessageReporting: {
34
+ default: {
35
+ logLevel: 'warning' as ExtractorLogLevel,
36
+ addToApiReportFile: false,
37
+ },
38
+
39
+ 'ae-forgotten-export': {
40
+ logLevel: _ruleToLogLevel('ae-forgotten-export', 'error' as ExtractorLogLevel),
41
+ addToApiReportFile: false,
42
+ },
43
+
44
+ 'ae-incompatible-release-tags': {
45
+ logLevel: _ruleToLogLevel('ae-incompatible-release-tags', 'error' as ExtractorLogLevel),
46
+ addToApiReportFile: false,
47
+ },
48
+
49
+ 'ae-internal-missing-underscore': {
50
+ logLevel: _ruleToLogLevel('ae-internal-missing-underscore'),
51
+ addToApiReportFile: false,
52
+ },
53
+
54
+ 'ae-missing-release-tag': {
55
+ logLevel: _ruleToLogLevel('ae-missing-release-tag', 'error' as ExtractorLogLevel),
56
+ addToApiReportFile: false,
57
+ },
58
+
59
+ 'ae-wrong-input-file-type': {
60
+ logLevel: 'none' as ExtractorLogLevel,
61
+ addToApiReportFile: false,
62
+ },
63
+ },
64
+
65
+ tsdocMessageReporting: {
66
+ default: {
67
+ logLevel: 'warning' as ExtractorLogLevel,
68
+ addToApiReportFile: false,
69
+ },
70
+
71
+ 'tsdoc-link-tag-unescaped-text': {
72
+ logLevel: _ruleToLogLevel('tsdoc-link-tag-unescaped-text', 'warning' as ExtractorLogLevel),
73
+ addToApiReportFile: false,
74
+ },
75
+
76
+ 'tsdoc-undefined-tag': {
77
+ logLevel: _ruleToLogLevel('tsdoc-undefined-tag', 'error' as ExtractorLogLevel),
78
+ addToApiReportFile: false,
79
+ },
80
+
81
+ 'tsdoc-unsupported-tag': {
82
+ logLevel: _ruleToLogLevel('tsdoc-unsupported-tag', 'none' as ExtractorLogLevel),
83
+ addToApiReportFile: false,
84
+ },
85
+ },
86
+ }
87
+ }
@@ -1,3 +1,4 @@
1
1
  export * from './_dtsTask'
2
2
  export * from './_dtsWatchTask'
3
+ export * from './_getExtractMessagesConfig'
3
4
  export * from './_types'
@@ -45,6 +45,10 @@ export function _resolveRollupConfig(
45
45
 
46
46
  const sourcePaths = _exports && Object.values(_exports).map((e) => path.resolve(cwd, e.source))
47
47
 
48
+ const replacements = Object.fromEntries(
49
+ Object.entries(config?.define || {}).map(([key, val]) => [key, JSON.stringify(val)])
50
+ )
51
+
48
52
  return {
49
53
  inputOptions: {
50
54
  context: cwd,
@@ -97,7 +101,7 @@ export function _resolveRollupConfig(
97
101
  preventAssignment: true,
98
102
  values: {
99
103
  ...(pkg.name === '@sanity/pkg-utils'
100
- ? {}
104
+ ? {...replacements}
101
105
  : {
102
106
  'process.env.PKG_FILE_PATH': (arg) => {
103
107
  const sourcePath = './' + path.relative(cwd, arg)
@@ -114,6 +118,7 @@ export function _resolveRollupConfig(
114
118
  'process.env.PKG_FORMAT': JSON.stringify(format),
115
119
  'process.env.PKG_RUNTIME': JSON.stringify(runtime),
116
120
  'process.env.PKG_VERSION': JSON.stringify(process.env.PKG_VERSION || pkg.version),
121
+ ...replacements,
117
122
  }),
118
123
  },
119
124
  }),
package/src/node/build.ts CHANGED
@@ -4,7 +4,25 @@ import {_resolveBuildTasks} from './_resolveBuildTasks'
4
4
  import {_spinner} from './_spinner'
5
5
  import {_BuildTask, _TaskHandler, _buildTaskHandlers} from './_tasks'
6
6
 
7
- /** @public */
7
+ /**
8
+ * Build the distribution files of a npm package.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * import {build} from '@sanity/pkg-utils'
13
+ *
14
+ * build({
15
+ * cwd: process.cwd(),
16
+ * tsconfig: 'tsconfig.dist.json,
17
+ * }).then(() => {
18
+ * console.log('successfully built')
19
+ * }).catch((err) => {
20
+ * console.log(`build error: ${err.message}`)
21
+ * })
22
+ * ```
23
+ *
24
+ * @public
25
+ */
8
26
  export async function build(options: {cwd: string; tsconfig?: string}): Promise<void> {
9
27
  const {cwd, tsconfig = 'tsconfig.json'} = options
10
28
 
@@ -1 +0,0 @@
1
- {"version":3,"file":"build-36a16057.js","sources":["../../src/node/_resolveBuildTasks.ts","../../src/node/_spinner.ts","../../src/node/build.ts"],"sourcesContent":["import fs from 'fs'\nimport path from 'path'\nimport {PkgExport, PkgFormat, PkgRuntime, _BuildContext} from './_core'\nimport {_BuildTask, _DtsTask, _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 // 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 if (dtsTask.entries.length) {\n tasks.push(dtsTask)\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 return tasks\n}\n","/* eslint-disable no-console */\n\nimport chalk from 'chalk'\n\nexport function _spinner(msg: string): {complete: () => void; error: () => void} {\n const startTime = Date.now()\n\n console.log(`${chalk.yellow('run ')} ${msg}`)\n\n return {\n complete: () => {\n console.log(`${chalk.green('ok ')} ${chalk.gray(`${Date.now() - startTime}ms`)}`)\n },\n error: () => {\n console.log(`${chalk.red(`failed`)} ${chalk.gray(`${Date.now() - startTime}ms`)}`)\n },\n }\n}\n","import {_loadConfig, _loadPkgWithReporting} from './_core'\nimport {_resolveBuildContext} from './_resolveBuildContext'\nimport {_resolveBuildTasks} from './_resolveBuildTasks'\nimport {_spinner} from './_spinner'\nimport {_BuildTask, _TaskHandler, _buildTaskHandlers} from './_tasks'\n\n/** @public */\nexport async function build(options: {cwd: string; tsconfig?: string}): Promise<void> {\n const {cwd, tsconfig = 'tsconfig.json'} = options\n\n const pkg = await _loadPkgWithReporting({cwd})\n const config = await _loadConfig({cwd})\n\n const ctx = await _resolveBuildContext({config, cwd, pkg, tsconfig})\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 = _spinner(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","_path","exp","dtsTask","type","rollupTasks","_addRollupTaskEntry","format","runtime","entry","buildId","push","importId","path","join","name","types","exportPath","sourcePath","source","targetPath","output","require","import","browser","bundle","length","values","legacyExports","_exported","relativeTargetPath","replace","fs","writeFileSync","resolve","_spinner","msg","startTime","Date","now","console","log","chalk","yellow","complete","green","gray","error","red","build","options","tsconfig","_loadPkgWithReporting","_loadConfig","_resolveBuildContext","buildTasks","task","handler","_buildTaskHandlers","taskName","spinner","result","exec","toPromise","logger","err","Error","RE_CWD","RegExp","message","process","exit"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-340fbb6a.js","sources":["../../src/node/_printExtractMessages.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/_extractTypes.ts","../../src/node/_tasks/dts/_doExtract.ts","../../src/node/_tasks/dts/_dtsTask.ts","../../src/node/_tasks/dts/_dtsWatchTask.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 path from 'path'\nimport {ExtractorMessage} from '@microsoft/api-extractor'\nimport chalk from 'chalk'\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 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","/* eslint-disable no-console */\n\nimport ts from 'typescript'\n\nexport const formatHost: ts.FormatDiagnosticsHost = {\n getCurrentDirectory: () => ts.sys.getCurrentDirectory(),\n getNewLine: () => ts.sys.newLine,\n getCanonicalFileName: ts.sys.useCaseSensitiveFileNames ? (f) => f : (f) => f.toLowerCase(),\n}\n\n/** @internal */\nexport async function _buildTypes(options: {\n cwd: string\n outDir: string\n tsconfig: ts.ParsedCommandLine\n}): Promise<void> {\n const {outDir, tsconfig} = 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 // TODO: improve logging\n allDiagnostics.forEach((diagnostic) => {\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 console.log(`${diagnostic.file.fileName} ${line + 1}:${character + 1}\\n${message}`)\n } else {\n console.log(ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n'))\n }\n })\n\n if (emitResult.emitSkipped) {\n const errors = allDiagnostics.filter((diag) => diag.category === ts.DiagnosticCategory.Error)\n\n if (errors.length) {\n console.error(ts.formatDiagnostics(errors, formatHost))\n\n throw new Error('failed to compile')\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 path from 'path'\nimport {IConfigFile, IExtractorMessagesConfig} from '@microsoft/api-extractor'\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 {readFile} from 'fs/promises'\nimport {TSDocConfigFile} from '@microsoft/tsdoc-config'\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 fs from 'fs/promises'\nimport path from 'path'\nimport {\n Extractor,\n ExtractorConfig,\n ExtractorLogLevel,\n ExtractorMessage,\n ExtractorResult,\n IExtractorMessagesConfig,\n} from '@microsoft/api-extractor'\nimport mkdirp from 'mkdirp'\nimport prettier from 'prettier'\nimport {PkgRuleLevel, PkgConfigOptions, _BuildFile} from '../../_core'\nimport {_createApiExtractorConfig} from './_createApiExtractorConfig'\nimport {_createTSDocConfig} from './_createTSDocConfig'\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\nexport async function _extractTypes(options: {\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 tsconfigPath: string\n}): Promise<{extractorResult: ExtractorResult; messages: ExtractorMessage[]}> {\n const {distPath, exportPath, files, filePath, projectPath, rules, sourceTypesPath, tsconfigPath} =\n options\n\n const tsdocConfigFile = await _createTSDocConfig({\n customTags: [],\n })\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 const messagesConfig: IExtractorMessagesConfig = {\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 const extractorConfig: ExtractorConfig = ExtractorConfig.prepare({\n configObject: _createApiExtractorConfig({\n distPath,\n exportPath,\n filePath,\n messages: messagesConfig,\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 await fs.writeFile(\n typesPath,\n prettier.format(typesBuf.toString(), {\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 path from 'path'\nimport {promisify} from 'util'\nimport {ExtractorMessage} from '@microsoft/api-extractor'\nimport rimrafCallback from 'rimraf'\nimport {_BuildContext} from '../../_core'\nimport {_buildTypes} from './_buildTypes'\nimport {_DtsError} from './_DtsError'\nimport {_extractTypes} from './_extractTypes'\nimport {_DtsResult, _DtsTask, _DtsWatchTask} from './_types'\n\nconst rimraf = promisify(rimrafCallback)\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, 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, outDir: tmpPath, tsconfig: ts.config})\n\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\n const result = await _extractTypes({\n cwd,\n exportPath,\n files,\n filePath: path.relative(outDir, targetPath),\n projectPath: cwd,\n rules: config?.extract?.rules,\n sourceTypesPath: sourceTypesPath,\n tsconfigPath: path.resolve(cwd, ts.configPath || 'tsconfig.json'),\n distPath: outDir,\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'\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 ...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) => {\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'\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 path from 'path'\nimport 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 {InputOptions, OutputOptions} from 'rollup'\nimport esbuild from 'rollup-plugin-esbuild'\nimport {terser} from 'rollup-plugin-terser'\nimport {_BuildContext, _DEFAULTS, _MODULE_EXT} 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, external, distPath, logger, pkg, ts} = ctx\n const outputExt = _MODULE_EXT[pkg.type][format]\n const minify = config?.minify ?? true\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 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 onwarn(warning, rollupWarn) {\n if (!warning.code || !['CIRCULAR_DEPENDENCY'].includes(warning.code)) {\n rollupWarn(warning)\n }\n },\n\n plugins: [\n replace({\n preventAssignment: true,\n values: {\n ...(pkg.name === '@sanity/pkg-utils'\n ? {}\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 throw new Error(`could not find source entry: ${sourcePath}`)\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 }),\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 esmExternals: false,\n extensions: ['.js'],\n // include: /\\/node_modules\\//,\n // requireReturnsDefault: 'namespace',\n }),\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: ['@babel/plugin-proposal-object-rest-spread'],\n presets: [['@babel/preset-env', {targets: pkg.browserslist || _DEFAULTS.browserslist}]],\n }),\n minify &&\n terser({\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\n ...(config?.rollup?.plugins || []),\n ].filter(Boolean),\n\n treeshake: {\n propertyReadSideEffects: false,\n },\n },\n outputOptions: {\n chunkFileNames: () => `_chunks/[name]-[hash]${outputExt}`,\n dir: outDir,\n entryFileNames: () => (outputExt === '.esm.js' ? `[name].js` : `[name]${outputExt}`),\n format,\n exports: 'auto',\n sourcemap: config?.sourcemap ?? true,\n },\n }\n}\n","/* eslint-disable no-console */\n\nimport path from 'path'\nimport chalk from 'chalk'\nimport {rollup} from 'rollup'\nimport {Observable} from 'rxjs'\nimport {_BuildContext} from '../../_core'\nimport {_RollupTask, _TaskHandler} from '../_types'\nimport {_resolveRollupConfig} from './_resolveRollupConfig'\n\n/** @internal */\nexport const _rollupTask: _TaskHandler<_RollupTask> = {\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 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 if (err instanceof Error) {\n console.log(err)\n }\n },\n}\n\nasync function _execPromise(ctx: _BuildContext, task: _RollupTask) {\n const {files, distPath} = ctx\n const outDir = path.relative(ctx.cwd, distPath)\n\n const {inputOptions, outputOptions} = _resolveRollupConfig(ctx, task)\n\n // Create bundle\n const bundle = await rollup(inputOptions)\n\n // an array of file names this bundle depends on\n // console.log(bundle.watchFiles)\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","import path from 'path'\nimport chalk from 'chalk'\nimport {RollupWatcherEvent, RollupWatchOptions, watch as rollupWatch} from 'rollup'\nimport {Observable} from 'rxjs'\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.log('')\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 {_BuildTaskHandlers, _WatchTaskHandlers} from './_types'\nimport {_dtsTask, _dtsWatchTask} from './dts'\nimport {_rollupTask, _rollupWatchTask} from './rollup'\n\nexport * from './_types'\nexport * from './dts'\nexport * from './rollup'\n\n/** @internal */\nexport const _buildTaskHandlers: _BuildTaskHandlers = {\n 'build:dts': _dtsTask,\n 'build:js': _rollupTask,\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","chalk","cyan","yellow","sourceFileLine","sourceFileColumn","gray","text","join","errors","red","process","exit","formatHost","getCurrentDirectory","ts","sys","getNewLine","newLine","getCanonicalFileName","useCaseSensitiveFileNames","f","toLowerCase","_buildTypes","options","outDir","tsconfig","compilerOptions","declaration","declarationDir","emitDeclarationOnly","noEmit","program","createProgram","fileNames","emitResult","emit","allDiagnostics","getPreEmitDiagnostics","concat","diagnostics","forEach","diagnostic","file","start","line","character","getLineAndCharacterOfPosition","message","flattenDiagnosticMessageText","messageText","console","fileName","emitSkipped","diag","category","DiagnosticCategory","Error","error","formatDiagnostics","_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","_LOG_LEVELS","info","off","warn","_extractTypes","files","projectPath","rules","sourceTypesPath","tsdocConfigFile","_ruleToLogLevel","key","defaultLevel","r","messagesConfig","compilerMessageReporting","default","extractorMessageReporting","addToApiReportFile","tsdocMessageReporting","extractorConfig","ExtractorConfig","prepare","configObject","configObjectFullPath","packageJsonFullPath","extractorResult","Extractor","invoke","localBuild","showVerboseMessages","messageCallback","push","handled","typesPath","typesBuf","fs","prettierConfig","prettier","resolveConfig","mkdirp","dirname","writeFile","format","filepath","type","rimraf","promisify","rimrafCallback","_doExtract","task","_a","config","configPath","results","rootDir","tmpPath","entry","entries","sourcePath","replace","targetPath","result","extract","some","_dtsTask","_ctx","blue","importId","exec","Observable","observer","then","next","complete","catch","err","_task","_dtsWatchTask","_resolveRollupConfig","buildTask","_b","runtime","target","exports","_exports","external","pkg","outputExt","_MODULE_EXT","minify","pathAliases","Object","fromEntries","paths","val","_a2","baseUrl","output","exportIds","keys","sourcePaths","values","e","source","inputOptions","context","id","importer","includes","startsWith","idPath","idParts","split","input","reduce","acc","onwarn","warning","rollupWarn","code","plugins","preventAssignment","arg","find","JSON","stringify","env","PKG_VERSION","version","alias","nodeResolve","browser","extensions","preferBuiltins","commonjs","esmExternals","json","esbuild","jsx","jsxFactory","jsxFragment","jsxImportSource","getBabelOutputPlugin","babelrc","presets","targets","browserslist","_DEFAULTS","terser","comments","_node","comment","value","test","rollup","Boolean","treeshake","propertyReadSideEffects","outputOptions","chunkFileNames","dir","entryFileNames","sourcemap","_rollupTask","_execPromise","bundle","generate","chunkOrAsset","write","close","_rollupWatchTask","watchOptions","watcher","rollupWatch","on","event","success","_buildTaskHandlers","_watchTaskHandlers"],"mappings":"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"}