@sanity/pkg-utils 1.12.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.
Files changed (30) hide show
  1. package/dist/_chunks/{build-8b5bd627.js → build-83c36253.js} +2 -2
  2. package/dist/_chunks/build-83c36253.js.map +1 -0
  3. package/dist/_chunks/{buildAction-87c64945.js → buildAction-19b87a46.js} +4 -6
  4. package/dist/_chunks/{buildAction-87c64945.js.map → buildAction-19b87a46.js.map} +1 -1
  5. package/dist/_chunks/index-33f2afe8.js +789 -0
  6. package/dist/_chunks/index-33f2afe8.js.map +1 -0
  7. package/dist/_chunks/{watch-ccb7daf2.js → watch-12e6eafa.js} +2 -2
  8. package/dist/_chunks/watch-12e6eafa.js.map +1 -0
  9. package/dist/_chunks/{watchAction-b7c1e241.js → watchAction-d4ae9e80.js} +4 -6
  10. package/dist/_chunks/{watchAction-b7c1e241.js.map → watchAction-d4ae9e80.js.map} +1 -1
  11. package/dist/cli.js +3 -3
  12. package/dist/index.d.ts +45 -1
  13. package/dist/index.esm.js +121 -3565
  14. package/dist/index.esm.js.map +1 -1
  15. package/dist/index.js +5 -6
  16. package/dist/index.js.map +1 -1
  17. package/package.json +6 -4
  18. package/src/node/_core/config/types.ts +22 -0
  19. package/src/node/_resolveBuildTasks.ts +1 -1
  20. package/src/node/_resolveWatchTasks.ts +1 -1
  21. package/src/node/_tasks/dts/_doExtract.ts +1 -0
  22. package/src/node/_tasks/dts/_extractTypes.ts +16 -85
  23. package/src/node/_tasks/dts/_getExtractMessagesConfig.ts +87 -0
  24. package/src/node/_tasks/dts/index.ts +1 -0
  25. package/src/node/_tasks/rollup/_resolveRollupConfig.ts +8 -1
  26. package/src/node/build.ts +19 -1
  27. package/dist/_chunks/build-8b5bd627.js.map +0 -1
  28. package/dist/_chunks/index-4a1fe6d6.js +0 -4239
  29. package/dist/_chunks/index-4a1fe6d6.js.map +0 -1
  30. package/dist/_chunks/watch-ccb7daf2.js.map +0 -1
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-8b5bd627.js');
9
+ var build = require('./_chunks/build-83c36253.js');
10
10
 
11
- var index = require('./_chunks/index-4a1fe6d6.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-ccb7daf2.js');
15
+ var watch = require('./_chunks/watch-12e6eafa.js');
16
16
 
17
17
  require('path');
18
18
 
@@ -38,9 +38,7 @@ require('rxjs');
38
38
 
39
39
  require('util');
40
40
 
41
- require('assert');
42
-
43
- require('events');
41
+ require('rimraf');
44
42
 
45
43
  require('@microsoft/api-extractor');
46
44
 
@@ -100,6 +98,7 @@ exports.build = build.build;
100
98
  exports._buildTaskHandlers = index._buildTaskHandlers;
101
99
  exports._dtsTask = index._dtsTask;
102
100
  exports._dtsWatchTask = index._dtsWatchTask;
101
+ exports._getExtractMessagesConfig = index._getExtractMessagesConfig;
103
102
  exports._rollupTask = index._rollupTask;
104
103
  exports._rollupWatchTask = index._rollupWatchTask;
105
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.12.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.",
@@ -32,8 +32,9 @@
32
32
  },
33
33
  "files": [
34
34
  "bin",
35
- "src",
36
- "dist"
35
+ "dist",
36
+ "!dist/stats.html",
37
+ "src"
37
38
  ],
38
39
  "scripts": {
39
40
  "build": "run-s clean build:pkg check:pkg",
@@ -75,6 +76,7 @@
75
76
  "pkg-up": "^3.1.0",
76
77
  "prettier": "^2.7.1",
77
78
  "pretty-bytes": "^5.6.0",
79
+ "rimraf": "^3.0.2",
78
80
  "rollup": "^2.78.1",
79
81
  "rollup-plugin-esbuild": "^4.9.3",
80
82
  "rollup-plugin-terser": "^7.0.2",
@@ -109,7 +111,7 @@
109
111
  "husky": "^8.0.1",
110
112
  "lint-staged": "^12.5.0",
111
113
  "npm-run-all": "^4.1.5",
112
- "rimraf": "^3.0.2",
114
+ "rollup-plugin-visualizer": "^5.8.2",
113
115
  "semantic-release": "^19.0.5",
114
116
  "ts-node": "^10.9.1",
115
117
  "typescript": "^4.7.4",
@@ -1,3 +1,8 @@
1
+ import {type Plugin as RollupPlugin} from 'rollup'
2
+
3
+ // re-export
4
+ export type {RollupPlugin}
5
+
1
6
  /** @public */
2
7
  export type PkgFormat = 'commonjs' | 'esm'
3
8
 
@@ -51,20 +56,33 @@ export interface PkgExports {
51
56
  /** @public */
52
57
  export type PkgRuleLevel = 'error' | 'warn' | 'info' | 'off'
53
58
 
59
+ /** @public */
60
+ export interface TSDocCustomTag {
61
+ name: string
62
+ syntaxKind: 'block' | 'modifier'
63
+ allowMultiple?: boolean
64
+ }
65
+
54
66
  /** @public */
55
67
  export interface PkgConfigOptions {
56
68
  bundles?: PkgBundle[]
69
+ /** @alpha */
70
+ define?: Record<string, string | number | boolean | undefined | null>
57
71
  /**
58
72
  * Directory of distributed & bundled files.
59
73
  */
60
74
  dist?: string
61
75
  exports?: PkgConfigProperty<PkgExports>
62
76
  extract?: {
77
+ customTags?: TSDocCustomTag[]
63
78
  rules?: {
64
79
  'ae-forgotten-export'?: PkgRuleLevel
65
80
  'ae-incompatible-release-tags'?: PkgRuleLevel
66
81
  'ae-internal-missing-underscore'?: PkgRuleLevel
67
82
  'ae-missing-release-tag'?: PkgRuleLevel
83
+ 'tsdoc-link-tag-unescaped-text'?: PkgRuleLevel
84
+ 'tsdoc-undefined-tag'?: PkgRuleLevel
85
+ 'tsdoc-unsupported-tag'?: PkgRuleLevel
68
86
  }
69
87
  }
70
88
  /**
@@ -92,6 +110,10 @@ export interface PkgConfigOptions {
92
110
  */
93
111
  legacyExports?: boolean
94
112
  minify?: boolean
113
+ /** @alpha */
114
+ rollup?: {
115
+ plugins?: RollupPlugin[]
116
+ }
95
117
  /**
96
118
  * Default runtime of package exports
97
119
  */
@@ -1,6 +1,6 @@
1
1
  import fs from 'fs'
2
2
  import path from 'path'
3
- import {PkgExport, PkgFormat, PkgRuntime, _BuildContext, _MODULE_EXT} from './_core'
3
+ import {PkgExport, PkgFormat, PkgRuntime, _BuildContext} from './_core'
4
4
  import {_BuildTask, _DtsTask, _RollupTask, _RollupTaskEntry} from './_tasks'
5
5
 
6
6
  /** @internal */
@@ -1,6 +1,6 @@
1
1
  import fs from 'fs'
2
2
  import path from 'path'
3
- import {PkgExport, PkgFormat, PkgRuntime, _BuildContext, _MODULE_EXT} from './_core'
3
+ import {PkgExport, PkgFormat, PkgRuntime, _BuildContext} from './_core'
4
4
  import {_WatchTask, _DtsWatchTask, _RollupWatchTask, _RollupTaskEntry} from './_tasks'
5
5
 
6
6
  /** @internal */
@@ -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: 'warning' as ExtractorLogLevel,
98
- // addToApiReportFile: false
99
- // },
100
-
101
- // 'tsdoc-unsupported-tag': {
102
- // logLevel: 'none' as ExtractorLogLevel,
103
- // addToApiReportFile: false
104
- // },
105
-
106
- // 'tsdoc-undefined-tag': {
107
- // logLevel: '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
  }),
@@ -164,6 +169,8 @@ export function _resolveRollupConfig(
164
169
  },
165
170
  },
166
171
  }),
172
+
173
+ ...(config?.rollup?.plugins || []),
167
174
  ].filter(Boolean),
168
175
 
169
176
  treeshake: {
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-8b5bd627.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, _MODULE_EXT} 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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"}