@sanity/pkg-utils 1.8.3 → 1.9.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.
@@ -207,6 +207,10 @@ export declare interface PkgConfigOptions {
207
207
  * Defaults to `"react"`
208
208
  */
209
209
  jsxImportSource?: string
210
+ /**
211
+ * Build package with support for legacy exports (writes root <export>.js files)
212
+ */
213
+ legacyExports?: boolean
210
214
  minify?: boolean
211
215
  /**
212
216
  * Default runtime of package exports
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@sanity/pkg-utils",
4
- "version": "1.8.3",
4
+ "version": "1.9.0",
5
5
  "author": "Sanity.io <hello@sanity.io>",
6
6
  "license": "MIT",
7
7
  "description": "Simple utilities for modern npm packages.",
@@ -78,6 +78,10 @@ export interface PkgConfigOptions {
78
78
  * Defaults to `"react"`
79
79
  */
80
80
  jsxImportSource?: string
81
+ /**
82
+ * Build package with support for legacy exports (writes root <export>.js files)
83
+ */
84
+ legacyExports?: boolean
81
85
  minify?: boolean
82
86
  /**
83
87
  * Default runtime of package exports
@@ -5,7 +5,7 @@ import {_BuildTask, _DtsTask, _RollupTask, _RollupTaskEntry} from './_tasks'
5
5
 
6
6
  /** @internal */
7
7
  export function _resolveBuildTasks(ctx: _BuildContext): _BuildTask[] {
8
- const {cwd, pkg, target} = ctx
8
+ const {config, cwd, pkg, target} = ctx
9
9
 
10
10
  const tasks: _BuildTask[] = []
11
11
 
@@ -109,23 +109,28 @@ export function _resolveBuildTasks(ctx: _BuildContext): _BuildTask[] {
109
109
 
110
110
  tasks.push(...Object.values(rollupTasks))
111
111
 
112
- // Parse rollup:esm:browser tasks
113
- for (const exp of exports) {
114
- if (exp._exported && exp._path !== '.') {
115
- const relativeTargetPath = (exp.browser?.import || exp.import || '').replace(/\.[^/.]+$/, '')
116
- const ext = _MODULE_EXT[pkg.type].esm
117
-
118
- if (relativeTargetPath) {
119
- fs.writeFileSync(
120
- path.resolve(cwd, `${exp._path}.js`),
121
- [
122
- `// AUTO-GENERATED – DO NOT EDIT`,
123
- ``,
124
- // `export {default} from '${relativeTargetPath}'`,
125
- `export * from '${relativeTargetPath}${pkg.type === 'commonjs' ? ext : ''}'`,
126
- ``,
127
- ].join('\n')
112
+ // Write legacy exports files
113
+ if (config?.legacyExports) {
114
+ for (const exp of exports) {
115
+ if (exp._exported && exp._path !== '.') {
116
+ const relativeTargetPath = (exp.browser?.import || exp.import || '').replace(
117
+ /\.[^/.]+$/,
118
+ ''
128
119
  )
120
+ const ext = _MODULE_EXT[pkg.type].esm
121
+
122
+ if (relativeTargetPath) {
123
+ fs.writeFileSync(
124
+ path.resolve(cwd, `${exp._path}.js`),
125
+ [
126
+ `// AUTO-GENERATED – DO NOT EDIT`,
127
+ ``,
128
+ // `export {default} from '${relativeTargetPath}'`,
129
+ `export * from '${relativeTargetPath}${pkg.type === 'commonjs' ? ext : ''}'`,
130
+ ``,
131
+ ].join('\n')
132
+ )
133
+ }
129
134
  }
130
135
  }
131
136
  }
@@ -5,7 +5,7 @@ import {_WatchTask, _DtsWatchTask, _RollupWatchTask, _RollupTaskEntry} from './_
5
5
 
6
6
  /** @internal */
7
7
  export function _resolveWatchTasks(ctx: _BuildContext): _WatchTask[] {
8
- const {cwd, pkg, target} = ctx
8
+ const {config, cwd, pkg, target} = ctx
9
9
  const tasks: _WatchTask[] = []
10
10
 
11
11
  const exports = Object.entries(ctx.exports || {}).map(
@@ -108,23 +108,28 @@ export function _resolveWatchTasks(ctx: _BuildContext): _WatchTask[] {
108
108
 
109
109
  tasks.push(...Object.values(rollupTasks))
110
110
 
111
- // Parse rollup:esm:browser tasks
112
- for (const exp of exports) {
113
- if (exp._exported && exp._path !== '.') {
114
- const relativeTargetPath = (exp.browser?.import || exp.import || '').replace(/\.[^/.]+$/, '')
115
- const ext = _MODULE_EXT[pkg.type].esm
116
-
117
- if (relativeTargetPath) {
118
- fs.writeFileSync(
119
- path.resolve(cwd, `${exp._path}.js`),
120
- [
121
- `// AUTO-GENERATED – DO NOT EDIT`,
122
- ``,
123
- // `export {default} from '${relativeTargetPath}'`,
124
- `export * from '${relativeTargetPath}${pkg.type === 'commonjs' ? ext : ''}'`,
125
- ``,
126
- ].join('\n')
111
+ // Write legacy exports files
112
+ if (config?.legacyExports) {
113
+ for (const exp of exports) {
114
+ if (exp._exported && exp._path !== '.') {
115
+ const relativeTargetPath = (exp.browser?.import || exp.import || '').replace(
116
+ /\.[^/.]+$/,
117
+ ''
127
118
  )
119
+ const ext = _MODULE_EXT[pkg.type].esm
120
+
121
+ if (relativeTargetPath) {
122
+ fs.writeFileSync(
123
+ path.resolve(cwd, `${exp._path}.js`),
124
+ [
125
+ `// AUTO-GENERATED – DO NOT EDIT`,
126
+ ``,
127
+ // `export {default} from '${relativeTargetPath}'`,
128
+ `export * from '${relativeTargetPath}${pkg.type === 'commonjs' ? ext : ''}'`,
129
+ ``,
130
+ ].join('\n')
131
+ )
132
+ }
128
133
  }
129
134
  }
130
135
  }
package/src/node/check.ts CHANGED
@@ -1,7 +1,4 @@
1
- /* eslint-disable no-console */
2
-
3
1
  import path from 'path'
4
- import chalk from 'chalk'
5
2
  import esbuild, {BuildFailure} from 'esbuild'
6
3
  import {_loadConfig, _loadPkgWithReporting} from './_core'
7
4
  import {_fileExists, _printPackageTree} from './_printPackageTree'
@@ -18,6 +15,7 @@ export async function check(options: {
18
15
  const pkg = await _loadPkgWithReporting({cwd})
19
16
  const config = await _loadConfig({cwd})
20
17
  const ctx = await _resolveBuildContext({config, cwd, pkg, tsconfig})
18
+ const {logger} = ctx
21
19
 
22
20
  _printPackageTree(ctx)
23
21
 
@@ -44,7 +42,8 @@ export async function check(options: {
44
42
  }
45
43
 
46
44
  if (missingFiles.length) {
47
- throw new Error('missing files')
45
+ logger.error('missing files')
46
+ process.exit(1)
48
47
  }
49
48
 
50
49
  // Check if the files are resolved
@@ -53,10 +52,10 @@ export async function check(options: {
53
52
  import: [],
54
53
  }
55
54
 
56
- for (const [exportPath, exp] of Object.entries(ctx.exports || {})) {
55
+ for (const exp of Object.values(ctx.exports || {})) {
57
56
  if (!exp._exported) continue
58
- if (exp.require) _paths.require.push(exportPath)
59
- if (exp.import) _paths.import.push(exportPath)
57
+ if (exp.require) _paths.require.push(exp.require)
58
+ if (exp.import) _paths.import.push(exp.import)
60
59
  }
61
60
 
62
61
  const external = Object.keys(pkg.dependencies || {}).concat(
@@ -83,24 +82,24 @@ export async function check(options: {
83
82
  })
84
83
 
85
84
  if (esbuildResult.warnings.length > 0) {
86
- console.warn(...esbuildResult.warnings)
85
+ logger.warn(...esbuildResult.warnings)
87
86
  }
88
87
  } catch (err) {
89
88
  const {errors} = err as BuildFailure
90
89
 
91
90
  for (const _err of errors) {
92
91
  if (_err.location) {
93
- console.log(chalk.red('error'), _err.detail || _err.text)
94
- console.log(`${_err.location.line} | ${_err.location.lineText}`)
95
- console.log(
92
+ logger.error(_err.detail || _err.text)
93
+ logger.error(`${_err.location.line} | ${_err.location.lineText}`)
94
+ logger.error(
96
95
  'in',
97
96
  `./${_err.location.file}:${_err.location.line}:${_err.location.column}`
98
97
  )
99
98
  } else {
100
- console.log(_err.detail || _err.text)
99
+ logger.error(_err.detail || _err.text)
101
100
  }
102
101
 
103
- console.log()
102
+ logger.log()
104
103
  }
105
104
 
106
105
  process.exit(1)
@@ -125,11 +124,13 @@ export async function check(options: {
125
124
  })
126
125
 
127
126
  if (esbuildResult.errors.length > 0) {
128
- throw new Error(esbuildResult.errors.join(', '))
127
+ // throw new Error(esbuildResult.errors.join(', '))
128
+ logger.error(esbuildResult.errors.join(', '))
129
+ process.exit(1)
129
130
  }
130
131
 
131
132
  if (esbuildResult.warnings.length > 0) {
132
- console.warn(...esbuildResult.warnings)
133
+ logger.warn(...esbuildResult.warnings)
133
134
  }
134
135
  }
135
136
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"_build-3d61d85e.cjs","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 {cwd, pkg, target} = ctx\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: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:* 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: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 if (dtsTask.entries.length) {\n tasks.push(dtsTask)\n }\n\n tasks.push(...Object.values(rollupTasks))\n\n // Parse rollup:esm:browser tasks\n for (const exp of exports) {\n if (exp._exported && exp._path !== '.') {\n const relativeTargetPath = (exp.browser?.import || exp.import || '').replace(/\\.[^/.]+$/, '')\n const ext = _MODULE_EXT[pkg.type].esm\n\n if (relativeTargetPath) {\n fs.writeFileSync(\n path.resolve(cwd, `${exp._path}.js`),\n [\n `// AUTO-GENERATED – DO NOT EDIT`,\n ``,\n // `export {default} from '${relativeTargetPath}'`,\n `export * from '${relativeTargetPath}${pkg.type === 'commonjs' ? ext : ''}'`,\n ``,\n ].join('\\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","cwd","pkg","target","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","browser","import","length","values","_exported","relativeTargetPath","replace","ext","_MODULE_EXT","esm","fs","writeFileSync","resolve","_spinner","msg","startTime","Date","now","console","log","chalk","yellow","complete","green","gray","error","red","build","options","tsconfig","_loadPkgWithReporting","config","_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":"_check-5f3f5a84.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 fs from 'fs'\nimport path from 'path'\nimport chalk from 'chalk'\nimport treeify from 'treeify'\nimport {PkgExport, _BuildContext} from './_core'\nimport {_getFilesize} from './_getFilesize'\n\nexport function _fileExists(file: string): boolean {\n try {\n fs.accessSync(file)\n\n return true\n } catch (_) {\n return false\n }\n}\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, any> = {}\n\n if (pkg.bin) {\n tree.bin = pkg.bin\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 `${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 source: entry.source,\n types: undefined,\n browser: undefined,\n node: undefined,\n import: undefined,\n require: undefined,\n default: 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: 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.node) {\n exp.node = {source: entry.node.source}\n\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 if (entry.require) {\n exp.require = _fileInfo(entry.require)\n } else {\n delete exp.require\n }\n\n exp.default = _fileInfo(entry.default)\n\n return [chalk.green(path.join(pkg.name, exportPath)), exp]\n })\n )\n\n logger.log(treeify.asTree(tree, true, true))\n}\n","/* eslint-disable no-console */\n\nimport path from 'path'\nimport chalk from 'chalk'\nimport esbuild, {BuildFailure} from 'esbuild'\nimport {_loadConfig, _loadPkgWithReporting} from './_core'\nimport {_fileExists, _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, tsconfig = 'tsconfig.json'} = options\n\n const pkg = await _loadPkgWithReporting({cwd})\n const config = await _loadConfig({cwd})\n const ctx = await _resolveBuildContext({config, cwd, pkg, 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 throw new Error('missing files')\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 [exportPath, exp] of Object.entries(ctx.exports || {})) {\n if (!exp._exported) continue\n if (exp.require) _paths.require.push(exportPath)\n if (exp.import) _paths.import.push(exportPath)\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 console.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 console.log(chalk.red('error'), _err.detail || _err.text)\n console.log(`${_err.location.line} | ${_err.location.lineText}`)\n console.log(\n 'in',\n `./${_err.location.file}:${_err.location.line}:${_err.location.column}`\n )\n } else {\n console.log(_err.detail || _err.text)\n }\n\n console.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 }\n\n if (esbuildResult.warnings.length > 0) {\n console.warn(...esbuildResult.warnings)\n }\n }\n }\n}\n"],"names":["_getFilesize","file","stats","statSync","prettyBytes","size","_fileExists","fs","accessSync","_","_getFileInfo","cwd","filePath","p","path","resolve","exists","_printPackageTree","ctx","exports","logger","pkg","log","chalk","blue","name","green","version","tree","bin","_fileInfo","info","gray","red","Object","fromEntries","entries","filter","entry","_exported","map","exportPath","exp","source","types","browser","node","import","require","default","join","treeify","asTree","check","options","strict","tsconfig","_loadPkgWithReporting","config","_loadConfig","_resolveBuildContext","missingFiles","push","length","Error","_paths","external","keys","dependencies","concat","devDependencies","code","id","esbuildResult","esbuild","build","stdin","contents","loader","resolveDir","format","bundle","logLevel","outfile","platform","warnings","console","warn","err","errors","_err","location","detail","text","line","lineText","column","process","exit"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"_watch-925404b5.cjs","sources":["../src/node/_resolveWatchTasks.ts","../src/node/_globFiles.ts","../src/node/_watchFiles.ts","../src/node/_watchConfigFiles.ts","../src/node/watch.ts"],"sourcesContent":["import fs from 'fs'\nimport path from 'path'\nimport {PkgExport, PkgFormat, PkgRuntime, _BuildContext, _MODULE_EXT} from './_core'\nimport {_WatchTask, _DtsWatchTask, _RollupWatchTask, _RollupTaskEntry} from './_tasks'\n\n/** @internal */\nexport function _resolveWatchTasks(ctx: _BuildContext): _WatchTask[] {\n const {cwd, pkg, target} = ctx\n const tasks: _WatchTask[] = []\n\n const exports = Object.entries(ctx.exports || {}).map(\n ([_path, exp]) => ({_path, ...exp} as PkgExport & {_path: string})\n )\n\n const dtsTask: _DtsWatchTask = {\n type: 'watch:dts',\n entries: [],\n }\n\n const rollupTasks: Record<string, _RollupWatchTask> = {}\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: 'watch: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: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:* 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: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 if (dtsTask.entries.length) {\n tasks.push(dtsTask)\n }\n\n tasks.push(...Object.values(rollupTasks))\n\n // Parse rollup:esm:browser tasks\n for (const exp of exports) {\n if (exp._exported && exp._path !== '.') {\n const relativeTargetPath = (exp.browser?.import || exp.import || '').replace(/\\.[^/.]+$/, '')\n const ext = _MODULE_EXT[pkg.type].esm\n\n if (relativeTargetPath) {\n fs.writeFileSync(\n path.resolve(cwd, `${exp._path}.js`),\n [\n `// AUTO-GENERATED – DO NOT EDIT`,\n ``,\n // `export {default} from '${relativeTargetPath}'`,\n `export * from '${relativeTargetPath}${pkg.type === 'commonjs' ? ext : ''}'`,\n ``,\n ].join('\\n')\n )\n }\n }\n }\n\n return tasks\n}\n","import globby from 'globby'\n\nexport function _globFiles(patterns: string[]): Promise<string[]> {\n return globby(patterns)\n}\n","import chokidar from 'chokidar'\nimport {Observable} from 'rxjs'\n\nexport interface _FileEvent {\n type: 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir'\n file: string\n}\n\nexport function _watchFiles(patterns: string[]): Observable<_FileEvent> {\n return new Observable((observer) => {\n const watcher = chokidar.watch(patterns, {\n ignoreInitial: true,\n })\n\n function _handleFileEvent(\n type: 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir',\n file: string\n ) {\n observer.next({type, file})\n }\n\n watcher.on('all', _handleFileEvent)\n\n return () => {\n watcher.off('all', _handleFileEvent)\n watcher.close()\n }\n })\n}\n","import path from 'path'\nimport chalk from 'chalk'\nimport {Observable} from 'rxjs'\nimport {distinctUntilChanged, scan, startWith} from 'rxjs/operators'\nimport {_globFiles} from './_globFiles'\nimport {_watchFiles} from './_watchFiles'\n\nexport async function _watchConfigFiles(options: {cwd: string}): Promise<Observable<string[]>> {\n const {cwd} = options\n\n const initialFiles = await _globFiles([\n path.resolve(cwd, 'package.json'),\n path.resolve(cwd, 'package.config.cjs'),\n path.resolve(cwd, 'package.config.js'),\n path.resolve(cwd, 'package.config.ts'),\n ])\n\n const fileEvent$ = _watchFiles([\n path.resolve(cwd, 'package.json'),\n path.resolve(cwd, 'package.config.cjs'),\n path.resolve(cwd, 'package.config.js'),\n path.resolve(cwd, 'package.config.ts'),\n ])\n\n return fileEvent$.pipe(\n scan((files, fileEvent) => {\n if (fileEvent.type === 'add') {\n return files.concat(fileEvent.file)\n }\n\n if (fileEvent.type === 'unlink') {\n return files.filter((f) => f !== fileEvent.file)\n }\n\n if (fileEvent.type === 'change') {\n /* eslint-disable no-console */\n console.log(\n '--------------------------------------------------------------------------------'\n )\n console.log(chalk.blue('info '), path.relative(cwd, fileEvent.file), 'changed')\n console.log('')\n /* eslint-enable no-console */\n\n return files.slice(0) // trigger update\n }\n\n return files\n }, initialFiles),\n startWith(initialFiles),\n distinctUntilChanged()\n )\n}\n","import path from 'path'\nimport {switchMap} from 'rxjs'\nimport {_loadConfig, _loadPkgWithReporting} from './_core'\nimport {_resolveBuildContext} from './_resolveBuildContext'\nimport {_resolveWatchTasks} from './_resolveWatchTasks'\nimport {_WatchTask, _TaskHandler, _watchTaskHandlers} from './_tasks'\nimport {_watchConfigFiles} from './_watchConfigFiles'\n\n/** @public */\nexport async function watch(options: {cwd: string; tsconfig?: string}): Promise<void> {\n const {cwd, tsconfig = 'tsconfig.json'} = options\n\n const configFiles$ = await _watchConfigFiles({cwd})\n\n const ctx$ = configFiles$.pipe(\n switchMap(async (configFiles) => {\n const _files = configFiles.map((f) => path.relative(cwd, f))\n\n const packageJsonPath = _files.find((f) => f === 'package.json')\n\n if (!packageJsonPath) {\n throw new Error('missing package.json')\n }\n\n const pkg = await _loadPkgWithReporting({cwd})\n const config = await _loadConfig({cwd})\n\n return _resolveBuildContext({config, cwd, pkg, tsconfig})\n })\n )\n\n ctx$.subscribe(async (ctx) => {\n const watchTasks = _resolveWatchTasks(ctx)\n\n for (const task of watchTasks) {\n const handler = _watchTaskHandlers[task.type] as _TaskHandler<_WatchTask, unknown>\n const result$ = handler.exec(ctx, task)\n\n result$.subscribe({\n error: (err) => {\n ctx.logger.error(err)\n ctx.logger.log()\n\n process.exit(1)\n },\n next: (result) => {\n handler.complete(ctx, task, result)\n },\n complete: () => {\n ctx.logger.success(handler.name(ctx, task))\n ctx.logger.log()\n },\n })\n }\n })\n}\n"],"names":["_resolveWatchTasks","ctx","_a","_b","_c","_d","_e","cwd","pkg","target","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","browser","import","length","values","_exported","relativeTargetPath","replace","ext","_MODULE_EXT","esm","fs","writeFileSync","resolve","_globFiles","patterns","globby","_watchFiles","Observable","observer","watcher","chokidar","watch","ignoreInitial","_handleFileEvent","file","next","on","off","close","_watchConfigFiles","options","initialFiles","fileEvent$","pipe","scan","files","fileEvent","concat","filter","f","console","log","chalk","blue","relative","slice","startWith","distinctUntilChanged","tsconfig","configFiles$","ctx$","switchMap","configFiles","_files","packageJsonPath","find","Error","_loadPkgWithReporting","config","_loadConfig","_resolveBuildContext","subscribe","watchTasks","task","handler","_watchTaskHandlers","result$","exec","error","err","logger","process","exit","result","complete","success"],"mappings":"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"}