@sanity/pkg-utils 2.2.15 → 2.2.17

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 (63) hide show
  1. package/dist/_chunks/{build-ba8f4eab.cjs → build-45e5ded8.cjs} +3 -3
  2. package/dist/_chunks/build-45e5ded8.cjs.map +1 -0
  3. package/dist/_chunks/{buildAction-f35f5fe0.cjs → buildAction-afc0a1a6.cjs} +2 -2
  4. package/dist/_chunks/{buildAction-f35f5fe0.cjs.map → buildAction-afc0a1a6.cjs.map} +1 -1
  5. package/dist/_chunks/{check-c18ac13f.cjs → check-33e163bb.cjs} +10 -19
  6. package/dist/_chunks/check-33e163bb.cjs.map +1 -0
  7. package/dist/_chunks/{checkAction-be47c642.cjs → checkAction-6fd7b2bc.cjs} +2 -2
  8. package/dist/_chunks/{checkAction-be47c642.cjs.map → checkAction-6fd7b2bc.cjs.map} +1 -1
  9. package/dist/_chunks/{index-b295a336.cjs → index-f3c22a05.cjs} +4 -3
  10. package/dist/_chunks/index-f3c22a05.cjs.map +1 -0
  11. package/dist/_chunks/{resolveBuildContext-2239fc5e.cjs → resolveBuildContext-6666f1ab.cjs} +19 -17
  12. package/dist/_chunks/resolveBuildContext-6666f1ab.cjs.map +1 -0
  13. package/dist/_chunks/{watch-5bfb8b28.cjs → watch-2bff1357.cjs} +3 -3
  14. package/dist/_chunks/watch-2bff1357.cjs.map +1 -0
  15. package/dist/_chunks/{watchAction-788563ea.cjs → watchAction-39b0210b.cjs} +2 -2
  16. package/dist/_chunks/{watchAction-788563ea.cjs.map → watchAction-39b0210b.cjs.map} +1 -1
  17. package/dist/cli.cjs +7 -7
  18. package/dist/cli.cjs.map +1 -1
  19. package/dist/index.cjs +5 -5
  20. package/dist/index.js +18 -26
  21. package/dist/index.js.map +1 -1
  22. package/package.json +102 -96
  23. package/src/cli/index.ts +4 -3
  24. package/src/node/build.ts +1 -1
  25. package/src/node/check.ts +4 -2
  26. package/src/node/core/config/findConfigFile.ts +6 -14
  27. package/src/node/core/config/index.ts +1 -1
  28. package/src/node/core/config/loadConfig.ts +2 -1
  29. package/src/node/core/contexts/buildContext.ts +2 -1
  30. package/src/node/core/findCommonPath.test.ts +1 -0
  31. package/src/node/core/index.ts +2 -2
  32. package/src/node/core/pkg/loadPkg.ts +1 -0
  33. package/src/node/core/pkg/loadPkgWithReporting.ts +1 -0
  34. package/src/node/core/pkg/validatePkg.ts +1 -0
  35. package/src/node/fileExists.ts +12 -0
  36. package/src/node/globFiles.ts +1 -1
  37. package/src/node/printExtractMessages.ts +2 -1
  38. package/src/node/printPackageTree.ts +4 -13
  39. package/src/node/resolveBuildContext.ts +5 -4
  40. package/src/node/resolveBuildTasks.ts +2 -1
  41. package/src/node/resolveWatchTasks.ts +3 -2
  42. package/src/node/tasks/dts/buildTypes.ts +1 -0
  43. package/src/node/tasks/dts/createApiExtractorConfig.ts +1 -1
  44. package/src/node/tasks/dts/createTSDocConfig.ts +1 -1
  45. package/src/node/tasks/dts/doExtract.ts +2 -1
  46. package/src/node/tasks/dts/dtsTask.ts +1 -0
  47. package/src/node/tasks/dts/dtsWatchTask.ts +1 -0
  48. package/src/node/tasks/dts/extractTypes.ts +4 -3
  49. package/src/node/tasks/dts/getExtractMessagesConfig.ts +2 -1
  50. package/src/node/tasks/dts/printDiagnostic.ts +2 -1
  51. package/src/node/tasks/index.ts +1 -1
  52. package/src/node/tasks/node/reexportCjsTask.ts +3 -2
  53. package/src/node/tasks/rollup/resolveRollupConfig.ts +2 -1
  54. package/src/node/tasks/rollup/rollupTask.ts +2 -1
  55. package/src/node/tasks/rollup/rollupWatchTask.ts +2 -1
  56. package/src/node/tasks/types.ts +2 -1
  57. package/src/node/watch.ts +2 -1
  58. package/src/node/watchConfigFiles.ts +1 -0
  59. package/dist/_chunks/build-ba8f4eab.cjs.map +0 -1
  60. package/dist/_chunks/check-c18ac13f.cjs.map +0 -1
  61. package/dist/_chunks/index-b295a336.cjs.map +0 -1
  62. package/dist/_chunks/resolveBuildContext-2239fc5e.cjs.map +0 -1
  63. package/dist/_chunks/watch-5bfb8b28.cjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveBuildContext-6666f1ab.cjs","sources":["../../src/node/fileExists.ts","../../src/node/core/config/findConfigFile.ts","../../src/node/core/config/loadConfig.ts","../../src/node/core/config/resolveConfigProperty.ts","../../src/node/core/defaults.ts","../../src/node/core/isRecord.ts","../../src/node/core/pkg/validatePkg.ts","../../src/node/core/pkg/loadPkg.ts","../../src/node/core/pkg/helpers.ts","../../src/node/core/pkg/loadPkgWithReporting.ts","../../src/node/core/pkg/validateExports.ts","../../src/node/core/pkg/parseExports.ts","../../src/node/core/pkg/pkgExt.ts","../../src/node/core/ts/loadTSConfig.ts","../../src/node/logger.ts","../../src/node/core/findCommonPath.ts","../../src/node/resolveBrowserslistVersions.ts","../../src/node/resolveBrowserTarget.ts","../../src/node/resolveNodeTarget.ts","../../src/node/resolveBuildContext.ts"],"sourcesContent":["import {statSync} from 'fs'\n\n/** @internal */\nexport function fileExists(filePath: string): boolean {\n try {\n statSync(filePath)\n\n return true\n } catch (_) {\n return false\n }\n}\n","import findConfig from 'find-config'\nimport path from 'path'\n\nimport {fileExists} from '../../fileExists'\n\nconst CONFIG_FILE_NAMES = [\n 'package.config.ts',\n 'package.config.js',\n 'package.config.cjs',\n 'package.config.mjs',\n]\n\n/** @internal */\nexport function findConfigFile(cwd: string): string | undefined {\n const pkgJsonPath = findConfig('package.json', {cwd})\n\n if (!pkgJsonPath) return undefined\n\n const pkgPath = path.dirname(pkgJsonPath)\n\n for (const fileName of CONFIG_FILE_NAMES) {\n const configPath = path.resolve(pkgPath, fileName)\n\n const exists = fileExists(configPath)\n\n if (exists) {\n return configPath\n }\n }\n\n return undefined\n}\n","import {register} from 'esbuild-register/dist/node'\nimport path from 'path'\nimport pkgUp from 'pkg-up'\n\nimport {findConfigFile} from './findConfigFile'\nimport {PkgConfigOptions} from './types'\n\n/** @internal */\nexport async function loadConfig(options: {cwd: string}): Promise<PkgConfigOptions | undefined> {\n const {cwd} = options\n\n const pkgPath = await pkgUp({cwd})\n\n if (!pkgPath) return undefined\n\n const root = path.dirname(pkgPath)\n\n const configFile = await findConfigFile(root)\n\n if (!configFile) {\n return undefined\n }\n\n // Do not accept config files outside of the root\n if (!configFile.startsWith(cwd)) {\n return undefined\n }\n\n const esbuildOptions = {extensions: ['.js', '.mjs', '.ts']}\n\n const {unregister} = globalThis.__DEV__ ? {unregister: () => undefined} : register(esbuildOptions)\n\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const mod = require(configFile)\n\n unregister()\n\n return mod?.default || mod || undefined\n}\n","import {PkgConfigProperty, PkgConfigPropertyResolver} from './types'\n\n/** @internal */\nexport function resolveConfigProperty<T>(\n prop: PkgConfigProperty<T> | undefined,\n initialValue: T\n): T {\n if (!prop) return initialValue\n\n if (typeof prop === 'function') {\n return (prop as PkgConfigPropertyResolver<T>)(initialValue)\n }\n\n return prop\n}\n","/** @public */\nexport const DEFAULT_BROWSERSLIST_QUERY = [\n '> 0.2% and supports es6-module and supports es6-module-dynamic-import',\n 'not dead',\n 'not IE 11',\n 'maintained node versions',\n]\n","/** @internal */\nexport function isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value) && !Array.isArray(value) && typeof value === 'object'\n}\n","import {z} from 'zod'\n\nimport {PackageJSON} from './types'\n\nconst pkgSchema = z.object({\n type: z.optional(z.enum(['commonjs', 'module'])),\n name: z.string(),\n version: z.string(),\n license: z.string(),\n bin: z.optional(z.record(z.string())),\n dependencies: z.optional(z.record(z.string())),\n devDependencies: z.optional(z.record(z.string())),\n peerDependencies: z.optional(z.record(z.string())),\n source: z.optional(z.string()),\n main: z.optional(z.string()),\n browser: z.optional(z.record(z.string())),\n module: z.optional(z.string()),\n types: z.optional(z.string()),\n exports: z.optional(\n z.record(\n z.union([\n z.custom<`./${string}.json`>((val) => /^\\.\\/.*\\.json$/.test(val as string)),\n z.object({\n types: z.optional(z.string()),\n source: z.string(),\n require: z.optional(z.string()),\n browser: z.optional(\n z.object({\n source: z.string(),\n require: z.optional(z.string()),\n import: z.optional(z.string()),\n })\n ),\n node: z.optional(\n z.object({\n source: z.optional(z.string()),\n require: z.optional(z.string()),\n import: z.optional(z.string()),\n })\n ),\n import: z.optional(z.string()),\n default: z.string(),\n }),\n ])\n )\n ),\n browserslist: z.optional(z.array(z.string())),\n})\n\nexport function validatePkg(input: unknown): PackageJSON {\n return pkgSchema.parse(input)\n}\n","import fs from 'fs/promises'\nimport pkgUp from 'pkg-up'\n\nimport {PackageJSON} from './types'\nimport {validatePkg} from './validatePkg'\n\n/** @internal */\nexport async function loadPkg(options: {cwd: string}): Promise<PackageJSON> {\n const {cwd} = options\n\n const pkgPath = await pkgUp({cwd})\n\n if (!pkgPath) throw new Error('no package.json found')\n\n const buf = await fs.readFile(pkgPath)\n\n const raw = JSON.parse(buf.toString())\n\n validatePkg(raw)\n\n return raw\n}\n","/** @internal */\nexport function assertFirst<T>(a: T, arr: T[]): boolean {\n const aIdx = arr.indexOf(a)\n\n // if not found, then we don't care\n if (aIdx === -1) {\n return true\n }\n\n return aIdx === 0\n}\n\n/** @internal */\nexport function assertLast<T>(a: T, arr: T[]): boolean {\n const aIdx = arr.indexOf(a)\n\n // if not found, then we don't care\n if (aIdx === -1) {\n return true\n }\n\n return aIdx === arr.length - 1\n}\n\n/** @internal */\nexport function assertOrder<T>(a: T, b: T, arr: T[]): boolean {\n const aIdx = arr.indexOf(a)\n const bIdx = arr.indexOf(b)\n\n // if either is not found, then we don't care\n if (aIdx === -1 || bIdx === -1) {\n return true\n }\n\n return aIdx < bIdx\n}\n","import chalk from 'chalk'\nimport {ZodError} from 'zod'\n\nimport {Logger} from '../../logger'\nimport {assertFirst, assertLast, assertOrder} from './helpers'\nimport {loadPkg} from './loadPkg'\nimport {PackageJSON} from './types'\n\n/** @internal */\nexport async function loadPkgWithReporting(options: {\n cwd: string\n logger: Logger\n}): Promise<PackageJSON> {\n const {cwd, logger} = options\n\n try {\n const pkg = await loadPkg({cwd})\n\n // validate exports\n if (pkg.exports) {\n const _exports = Object.entries(pkg.exports)\n\n for (const [expPath, exp] of _exports) {\n if (typeof exp === 'string') {\n continue\n }\n\n const keys = Object.keys(exp)\n\n if (!assertFirst('types', keys)) {\n logger.warn(`exports[\"${expPath}\"]: the \\`types\\` property should be the first property`)\n }\n\n if (!assertOrder('require', 'import', keys)) {\n logger.warn(\n `exports[\"${expPath}\"]: the \\`require\\` property should come before the \\`import\\` property`\n )\n }\n\n if (!assertOrder('require', 'node', keys)) {\n logger.warn(\n `exports[\"${expPath}\"]: the \\`require\\` property should come before the \\`node\\` property`\n )\n }\n\n if (!assertOrder('node', 'import', keys)) {\n logger.warn(\n `exports[\"${expPath}\"]: the \\`node\\` property should come before \\`import\\` property`\n )\n }\n\n if (!assertLast('default', keys)) {\n logger.warn(`exports[\"${expPath}\"]: the \\`default\\` property should be the last property`)\n }\n }\n }\n\n return pkg\n } catch (err) {\n if (err instanceof ZodError) {\n for (const issue of err.issues) {\n if (issue.code === 'invalid_type') {\n logger.error(\n [\n `\\`${formatPath(issue.path)}\\` `,\n `in \\`./package.json\\` must be of type ${chalk.magenta(issue.expected)} `,\n `(received ${chalk.magenta(issue.received)})`,\n ].join('')\n )\n continue\n }\n\n logger.error(issue)\n }\n } else {\n logger.error(err)\n }\n\n process.exit(1)\n }\n}\n\nfunction formatPath(segments: Array<string | number>) {\n return segments\n .map((s, idx) => {\n if (idx === 0) return s\n\n if (typeof s === 'number') {\n return `[${s}]`\n }\n\n if (s.startsWith('.')) {\n return `[\"${s}\"]`\n }\n\n return `.${s}`\n })\n .join('')\n}\n","import {PkgExport} from '../config'\nimport {PkgExtMap} from './pkgExt'\nimport {PackageJSON} from './types'\n\nexport function validateExports(\n _exports: (PkgExport & {_path: string})[],\n options: {extMap: PkgExtMap; pkg: PackageJSON}\n): string[] {\n const {extMap, pkg} = options\n const ext = extMap[pkg.type || 'commonjs']\n\n const errors: string[] = []\n\n for (const exp of _exports) {\n if (exp.require && !exp.require.endsWith(ext.commonjs)) {\n errors.push(\n `package.json with \\`type: \"${pkg.type}\"\\` - \\`exports[\"${exp._path}\"].require\\` must end with \"${ext.commonjs}\"`\n )\n }\n\n if (exp.import && !exp.import.endsWith(ext.esm)) {\n errors.push(\n `package.json with \\`type: \"${pkg.type}\"\\` - \\`exports[\"${exp._path}\"].import\\` must end with \"${ext.esm}\"`\n )\n }\n }\n\n return errors\n}\n","import {PkgExport} from '../config'\nimport {isRecord} from '../isRecord'\nimport {PkgExtMap} from './pkgExt'\nimport {PackageJSON} from './types'\nimport {validateExports} from './validateExports'\n\n/** @internal */\nexport function parseExports(options: {\n extMap: PkgExtMap\n pkg: PackageJSON\n strict: boolean\n}): (PkgExport & {_path: string})[] {\n const {extMap, pkg, strict} = options\n\n const rootExport: PkgExport & {_path: string} = {\n _exported: true,\n _path: '.',\n types: pkg.types,\n source: pkg.source || '',\n browser: pkg.browser && {\n source: pkg.source || '',\n require: pkg.main && pkg.browser[pkg.main],\n import: pkg.module && pkg.browser[pkg.module],\n },\n require: pkg.main,\n import: pkg.module,\n default: pkg.module || pkg.main || '',\n }\n\n const extraExports: (PkgExport & {_path: string})[] = []\n\n const errors: string[] = []\n\n if (pkg.exports) {\n if (strict && !pkg.exports['./package.json']) {\n errors.push('package.json: `exports[\"./package.json\"] must be declared.')\n }\n\n for (const [exportPath, exportEntry] of Object.entries(pkg.exports)) {\n if (exportPath.endsWith('.json')) {\n if (exportPath === './package.json') {\n if (exportEntry !== './package.json') {\n errors.push('package.json: `exports[\"./package.json\"] must be \"./package.json\".')\n }\n }\n } else if (isRecord(exportEntry)) {\n if (exportPath === '.') {\n if (\n exportEntry.require &&\n rootExport.require &&\n exportEntry.require !== rootExport.require\n ) {\n errors.push(\n 'package.json: mismatch between \"main\" and \"exports.require\". These must be equal.'\n )\n }\n\n if (exportEntry.import && rootExport.import && exportEntry.import !== rootExport.import) {\n errors.push(\n 'package.json: mismatch between \"module\" and \"exports.import\" These must be equal.'\n )\n }\n\n if (exportEntry.types && rootExport.types && exportEntry.types !== rootExport.types) {\n errors.push(\n 'package.json: mismatch between \"types\" and \"exports.types\". These must be equal.'\n )\n }\n\n if (exportEntry.source && rootExport.source && exportEntry.source !== rootExport.source) {\n errors.push(\n 'package.json: mismatch between \"source\" and \"exports.source\". These must be equal.'\n )\n }\n\n Object.assign(rootExport, exportEntry)\n } else {\n const extraExport: PkgExport & {_path: string} = {\n _exported: true,\n _path: exportPath,\n ...exportEntry,\n }\n\n extraExports.push(extraExport)\n }\n } else {\n errors.push('package.json: exports must be an object')\n }\n }\n }\n\n const _exports = [rootExport, ...extraExports]\n\n errors.push(...validateExports(_exports, {extMap, pkg}))\n\n if (errors.length) {\n throw new Error('\\n- ' + errors.join('\\n- '))\n }\n\n return _exports\n}\n","/** @internal */\nexport interface PkgExtMap {\n commonjs: {commonjs: string; esm: string}\n module: {commonjs: string; esm: string}\n}\n\n/** @internal */\nexport const DEFAULT_PKG_EXT_MAP: PkgExtMap = {\n // pkg.type: \"commonjs\"\n commonjs: {\n commonjs: '.js',\n esm: '.mjs',\n },\n\n // pkg.type: \"module\"\n module: {\n commonjs: '.cjs',\n esm: '.js',\n },\n}\n\n/** @internal */\nexport function getPkgExtMap(options: {legacyExports: boolean}): PkgExtMap {\n const {legacyExports} = options\n\n const ret = {...DEFAULT_PKG_EXT_MAP}\n\n // Fall back to legacy file extensions for package.json with `\"type\": \"commonjs\"`\n // NOTE: Not supported by Node 14+ and will be removed in a future version\n if (legacyExports) {\n ret['commonjs'] = {\n commonjs: '.js',\n esm: '.esm.js',\n }\n }\n\n return ret\n}\n","import ts from 'typescript'\n\n/** @internal */\nexport async function loadTSConfig(options: {\n cwd: string\n tsconfigPath: string\n}): Promise<ts.ParsedCommandLine> {\n const {cwd, tsconfigPath} = options\n\n const configPath = ts.findConfigFile(cwd, ts.sys.fileExists, tsconfigPath)\n\n if (!configPath) {\n throw new Error(`could not find a valid '${tsconfigPath}'`)\n }\n\n const configFile = ts.readConfigFile(configPath, ts.sys.readFile)\n\n return ts.parseJsonConfigFileContent(configFile.config, ts.sys, cwd)\n}\n","import chalk from 'chalk'\n\n/** @internal */\nexport interface Logger {\n log: (...args: unknown[]) => void\n info: (...args: unknown[]) => void\n warn: (...args: unknown[]) => void\n error: (...args: unknown[]) => void\n success: (...args: unknown[]) => void\n}\n\n/** @internal */\nexport function createLogger(): Logger {\n return {\n /* eslint-disable no-console */\n log: (...args) => {\n console.log(...args)\n },\n info: (...args) => {\n console.log(chalk.blue('[info]'), ...args)\n },\n warn: (...args) => {\n console.log(chalk.yellow('[warning]'), ...args)\n },\n error: (...args) => {\n console.log(chalk.red('[error]'), ...args)\n },\n success: (...args) => {\n console.log(chalk.green('[success]'), ...args)\n },\n /* eslint-enable no-console */\n }\n}\n","import path from 'path'\n\nexport function pathContains(containerPath: string, itemPath: string): boolean {\n return !path.relative(containerPath, itemPath).startsWith('..')\n}\n\nexport function findCommonDirPath(filePaths: string[]): string | undefined {\n let ret: string | undefined = undefined\n\n for (const filePath of filePaths) {\n let dirPath = path.dirname(filePath)\n\n if (!ret) {\n ret = dirPath\n continue\n }\n\n while (dirPath !== ret) {\n dirPath = path.dirname(dirPath)\n\n if (dirPath === ret) {\n break\n }\n\n if (pathContains(dirPath, ret)) {\n ret = dirPath\n break\n }\n\n if (dirPath === '.') return undefined\n }\n }\n\n return ret\n}\n","import browserslist from 'browserslist'\n\nexport interface PackageTargetVersions {\n chrome: string[]\n ff: string[]\n edge: string[]\n iosSaf: string[]\n saf: string[]\n opera: string[]\n node: string[]\n}\n\nfunction sortAsNumber(a: string, b: string) {\n const aVersion = Number(a)\n const bVersion = Number(b)\n\n return aVersion - bVersion\n}\n\nexport function resolveBrowserslistVersions(query: string[]): PackageTargetVersions {\n const result = browserslist(query)\n\n const entries = result.map((key) => {\n const [name, version] = key.split(' ')\n\n return {name, version: version.split('-')[0].split('.')[0]}\n })\n\n const andChr = entries.filter((b) => b.name === 'and_chr')\n const andFf = entries.filter((b) => b.name === 'and_ff')\n const chrome = entries.filter((b) => b.name === 'chrome')\n const edge = entries.filter((b) => b.name === 'edge')\n const ff = entries.filter((b) => b.name === 'firefox')\n const iosSaf = entries.filter((b) => b.name === 'ios_saf')\n const saf = entries.filter((b) => b.name === 'safari')\n const opera = entries.filter((b) => b.name === 'opera')\n const node = entries.filter((b) => b.name === 'node')\n\n // versions\n const versions: PackageTargetVersions = {\n chrome: andChr.concat(chrome).map((b) => b.version),\n ff: andFf.concat(ff).map((b) => b.version),\n edge: edge.map((b) => b.version),\n iosSaf: iosSaf.map((b) => b.version),\n saf: saf.map((b) => b.version),\n opera: opera.map((b) => b.version),\n node: node.map((b) => b.version),\n }\n\n // sort\n versions.chrome.sort(sortAsNumber)\n versions.ff.sort(sortAsNumber)\n versions.edge.sort(sortAsNumber)\n versions.iosSaf.sort(sortAsNumber)\n versions.saf.sort(sortAsNumber)\n versions.opera.sort(sortAsNumber)\n versions.node.sort(sortAsNumber)\n\n return versions\n}\n","import {PackageTargetVersions} from './resolveBrowserslistVersions'\n\nexport function resolveBrowserTarget(versions: PackageTargetVersions): string[] | undefined {\n const target: string[] = []\n\n if (versions.chrome.length) {\n target.push(`chrome${versions.chrome[0]}`)\n }\n\n if (versions.ff.length) {\n target.push(`firefox${versions.ff[0]}`)\n }\n\n if (versions.edge.length) {\n target.push(`edge${versions.edge[0]}`)\n }\n\n if (versions.iosSaf.length) {\n target.push(`ios${versions.iosSaf[0]}`)\n }\n\n if (versions.saf.length) {\n target.push(`safari${versions.saf[0]}`)\n }\n\n if (versions.opera.length) {\n target.push(`opera${versions.opera[0]}`)\n }\n\n if (target.length === 0) {\n return undefined\n }\n\n return target\n}\n","import {PackageTargetVersions} from './resolveBrowserslistVersions'\n\nexport function resolveNodeTarget(versions: PackageTargetVersions): string[] | undefined {\n const target: string[] = []\n\n if (versions.node.length) {\n target.push(`node${versions.node[0]}`)\n }\n\n if (target.length === 0) {\n return undefined\n }\n\n return target\n}\n","import path from 'path'\n\nimport {\n BuildContext,\n DEFAULT_BROWSERSLIST_QUERY,\n loadTSConfig,\n PackageJSON,\n parseExports,\n PkgConfigOptions,\n PkgExports,\n PkgExtMap,\n PkgRuntime,\n resolveConfigProperty,\n} from './core'\nimport {findCommonDirPath, pathContains} from './core/findCommonPath'\nimport {Logger} from './logger'\nimport {resolveBrowserslistVersions} from './resolveBrowserslistVersions'\nimport {resolveBrowserTarget} from './resolveBrowserTarget'\nimport {resolveNodeTarget} from './resolveNodeTarget'\n\nexport async function resolveBuildContext(options: {\n config?: PkgConfigOptions\n cwd: string\n emitDeclarationOnly?: boolean\n extMap: PkgExtMap\n logger: Logger\n pkg: PackageJSON\n strict: boolean\n tsconfig: string\n}): Promise<BuildContext> {\n const {\n config,\n cwd,\n emitDeclarationOnly = false,\n extMap,\n logger,\n pkg,\n strict,\n tsconfig: tsconfigPath,\n } = options\n const tsconfig = await loadTSConfig({cwd, tsconfigPath})\n const targetVersions = resolveBrowserslistVersions(pkg.browserslist || DEFAULT_BROWSERSLIST_QUERY)\n const nodeTarget = resolveNodeTarget(targetVersions)\n const webTarget = resolveBrowserTarget(targetVersions)\n\n if (!nodeTarget) {\n throw new Error('no matching `node` target')\n }\n\n if (!webTarget) {\n throw new Error('no matching `web` target')\n }\n\n const target: Record<PkgRuntime, string[]> = {\n '*': webTarget.concat(nodeTarget),\n browser: webTarget,\n node: nodeTarget,\n }\n\n const parsedExports = parseExports({extMap, pkg, strict}).reduce<PkgExports>((acc, x) => {\n const {_path: exportPath, ...exportEntry} = x\n\n return {...acc, [exportPath]: exportEntry}\n }, {})\n\n const exports = resolveConfigProperty(config?.exports, parsedExports)\n\n const parsedExternal = [\n ...(pkg.dependencies ? Object.keys(pkg.dependencies) : []),\n ...(pkg.peerDependencies ? Object.keys(pkg.peerDependencies) : []),\n ]\n\n // Merge externals if an array is provided, replace if it's a function\n const external =\n config && Array.isArray(config.external)\n ? [...parsedExternal, ...config.external]\n : resolveConfigProperty(config?.external, parsedExternal)\n\n const outputPaths = Object.values(exports)\n .flatMap((exportEntry) => {\n return [\n exportEntry.import,\n exportEntry.require,\n exportEntry.browser?.import,\n exportEntry.browser?.require,\n exportEntry.node?.source && exportEntry.node.import,\n exportEntry.node?.source && exportEntry.node.require,\n ].filter(Boolean) as string[]\n })\n .map((p) => path.resolve(cwd, p))\n\n const commonDistPath = findCommonDirPath(outputPaths)\n\n if (commonDistPath === cwd) {\n throw new Error(\n 'all output files must share a common parent directory which is not the root package directory'\n )\n }\n\n if (commonDistPath && !pathContains(cwd, commonDistPath)) {\n throw new Error('all output files must be located within the package')\n }\n\n const configDistPath = config?.dist ? path.resolve(cwd, config.dist) : undefined\n\n if (\n configDistPath &&\n commonDistPath &&\n configDistPath !== commonDistPath &&\n !pathContains(configDistPath, commonDistPath)\n ) {\n logger.log(`did you mean to configure \\`dist: './${path.relative(cwd, commonDistPath)}'\\`?`)\n\n throw new Error('all output files must be located with the configured `dist` path')\n }\n\n const distPath = configDistPath || commonDistPath\n\n if (!distPath) {\n throw new Error('could not detect `dist` path')\n }\n\n const ctx: BuildContext = {\n config,\n cwd,\n distPath,\n emitDeclarationOnly,\n exports,\n external,\n extMap,\n files: [],\n logger,\n pkg,\n runtime: config?.runtime ?? '*',\n strict,\n target,\n ts: {\n config: tsconfig,\n configPath: tsconfigPath,\n },\n }\n\n return ctx\n}\n"],"names":["fileExists","filePath","statSync","_","CONFIG_FILE_NAMES","findConfigFile","cwd","pkgJsonPath","findConfig","default","pkgPath","path","dirname","fileName","configPath","resolve","exists","loadConfig","options","pkgUp","root","configFile","startsWith","esbuildOptions","extensions","unregister","globalThis","__DEV__","register","mod","require","resolveConfigProperty","prop","initialValue","DEFAULT_BROWSERSLIST_QUERY","isRecord","value","Boolean","Array","isArray","pkgSchema","z","object","type","optional","enum","name","string","version","license","bin","record","dependencies","devDependencies","peerDependencies","source","main","browser","module","types","exports","union","custom","val","test","import","node","browserslist","array","validatePkg","input","parse","loadPkg","Error","buf","fs","readFile","raw","JSON","toString","assertFirst","a","arr","aIdx","indexOf","assertLast","length","assertOrder","b","bIdx","loadPkgWithReporting","logger","pkg","_exports","Object","entries","expPath","exp","keys","warn","concat","err","ZodError","issue","issues","code","error","formatPath","chalk","magenta","expected","received","join","process","exit","segments","map","s","idx","validateExports","extMap","ext","errors","endsWith","commonjs","push","_path","esm","parseExports","strict","rootExport","_exported","extraExports","exportPath","exportEntry","assign","extraExport","DEFAULT_PKG_EXT_MAP","getPkgExtMap","legacyExports","ret","loadTSConfig","tsconfigPath","ts","sys","readConfigFile","parseJsonConfigFileContent","config","createLogger","log","console","arguments","info","_len","args","_key","blue","_len2","_key2","yellow","_len3","_key3","red","success","_len4","_key4","green","pathContains","containerPath","itemPath","relative","findCommonDirPath","filePaths","dirPath","sortAsNumber","aVersion","Number","bVersion","resolveBrowserslistVersions","query","result","key","split","andChr","filter","andFf","chrome","edge","ff","iosSaf","saf","opera","versions","sort","resolveBrowserTarget","target","resolveNodeTarget","resolveBuildContext","_ref","emitDeclarationOnly","tsconfig","targetVersions","nodeTarget","webTarget","parsedExports","reduce","acc","x","parsedExternal","external","outputPaths","values","flatMap","_a","_b","_c","_d","p","commonDistPath","configDistPath","dist","distPath","ctx","files","runtime"],"mappings":"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"}
@@ -2,12 +2,12 @@
2
2
 
3
3
  var path = require('path');
4
4
  var rxjs = require('rxjs');
5
- var resolveBuildContext = require('./resolveBuildContext-2239fc5e.cjs');
5
+ var resolveBuildContext = require('./resolveBuildContext-6666f1ab.cjs');
6
6
  require('fs/promises');
7
7
  require('pkg-up');
8
8
  require('typescript');
9
9
  var fs = require('fs');
10
- var index = require('./index-b295a336.cjs');
10
+ var index = require('./index-f3c22a05.cjs');
11
11
  var operators = require('rxjs/operators');
12
12
  var globby = require('globby');
13
13
  var chokidar = require('chokidar');
@@ -225,4 +225,4 @@ async function watch(options) {
225
225
  });
226
226
  }
227
227
  exports.watch = watch;
228
- //# sourceMappingURL=watch-5bfb8b28.cjs.map
228
+ //# sourceMappingURL=watch-2bff1357.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch-2bff1357.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'\n\nimport {BuildContext, PkgExport, PkgFormat, PkgRuntime} from './core'\nimport {DtsWatchTask, RollupTaskEntry, RollupWatchTask, WatchTask} from './tasks'\n\n/** @internal */\nexport function resolveWatchTasks(ctx: BuildContext): WatchTask[] {\n const {config, 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 // 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","import globby from 'globby'\nimport path from 'path'\n\nexport function globFiles(patterns: string[]): Promise<string[]> {\n return globby(patterns.map((pattern) => pattern.split(path.sep).join(path.posix.sep)))\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 {Observable} from 'rxjs'\nimport {distinctUntilChanged, scan, startWith} from 'rxjs/operators'\n\nimport {globFiles} from './globFiles'\nimport {Logger} from './logger'\nimport {watchFiles} from './watchFiles'\n\nexport async function watchConfigFiles(options: {\n cwd: string\n logger: Logger\n}): Promise<Observable<string[]>> {\n const {cwd, logger} = 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 logger.log(\n '--------------------------------------------------------------------------------'\n )\n logger.info(path.relative(cwd, fileEvent.file), 'changed')\n logger.log('')\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'\n\nimport {getPkgExtMap, loadConfig, loadPkgWithReporting} from './core'\nimport {createLogger} from './logger'\nimport {resolveBuildContext} from './resolveBuildContext'\nimport {resolveWatchTasks} from './resolveWatchTasks'\nimport {TaskHandler, WatchTask, watchTaskHandlers} from './tasks'\nimport {watchConfigFiles} from './watchConfigFiles'\n\n/** @public */\nexport async function watch(options: {\n cwd: string\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n const {cwd, strict = false, tsconfig: tsconfigOption} = options\n\n const logger = createLogger()\n\n const configFiles$ = await watchConfigFiles({cwd, logger})\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, logger})\n const config = await loadConfig({cwd})\n const extMap = getPkgExtMap({legacyExports: config?.legacyExports ?? false})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n\n return resolveBuildContext({config, cwd, extMap, logger, pkg, strict, 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","config","cwd","pkg","target","tasks","exports","Object","entries","map","_ref","_path","exp","dtsTask","type","rollupTasks","addRollupTaskEntry","format","runtime","entry","buildId","concat","push","importId","path","join","name","types","exportPath","sourcePath","source","targetPath","output","require","browser","import","length","values","legacyExports","_exported","relativeTargetPath","replace","fs","writeFileSync","default","resolve","globFiles","patterns","globby","pattern","split","sep","posix","watchFiles","Observable","observer","watcher","chokidar","watch","ignoreInitial","handleFileEvent","file","next","on","off","close","watchConfigFiles","options","logger","initialFiles","fileEvent$","pipe","scan","files","fileEvent","filter","f","log","info","relative","slice","startWith","distinctUntilChanged","strict","tsconfig","tsconfigOption","createLogger","configFiles$","ctx$","switchMap","configFiles","_ref2","packageJsonPath","find","Error","loadPkgWithReporting","loadConfig","extMap","getPkgExtMap","resolveBuildContext","subscribe","watchTasks","task","handler","watchTaskHandlers","result$","exec","error","err","process","exit","result","complete","success"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var watch = require('./watch-5bfb8b28.cjs');
3
+ var watch = require('./watch-2bff1357.cjs');
4
4
  var handleError = require('./handleError-13d87f55.cjs');
5
5
  async function watchAction(options) {
6
6
  try {
@@ -14,4 +14,4 @@ async function watchAction(options) {
14
14
  }
15
15
  }
16
16
  exports.watchAction = watchAction;
17
- //# sourceMappingURL=watchAction-788563ea.cjs.map
17
+ //# sourceMappingURL=watchAction-39b0210b.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"watchAction-788563ea.cjs","sources":["../../src/cli/watchAction.ts"],"sourcesContent":["import {watch} from '../node/watch'\nimport {handleError} from './handleError'\n\nexport async function watchAction(options: {strict?: boolean; tsconfig?: string}): Promise<void> {\n try {\n await watch({\n cwd: process.cwd(),\n strict: options.strict,\n tsconfig: options.tsconfig,\n })\n } catch (err) {\n handleError(err)\n }\n}\n"],"names":["watchAction","options","watch","cwd","process","strict","tsconfig","err","handleError"],"mappings":";;;;AAGA,eAAsBA,YAAYC,OAA+D,EAAA;EAC3F,IAAA;IACF,MAAMC,WAAM,CAAA;MACVC,GAAA,EAAKC,QAAQD,GAAI,CAAA,CAAA;MACjBE,QAAQJ,OAAQ,CAAAI,MAAA;MAChBC,UAAUL,OAAQ,CAAAK;IAAA,CACnB,CAAA;WACMC,GAAP,EAAA;IACAC,WAAA,CAAAA,WAAA,CAAYD,GAAG,CAAA;EACjB;AACF;"}
1
+ {"version":3,"file":"watchAction-39b0210b.cjs","sources":["../../src/cli/watchAction.ts"],"sourcesContent":["import {watch} from '../node/watch'\nimport {handleError} from './handleError'\n\nexport async function watchAction(options: {strict?: boolean; tsconfig?: string}): Promise<void> {\n try {\n await watch({\n cwd: process.cwd(),\n strict: options.strict,\n tsconfig: options.tsconfig,\n })\n } catch (err) {\n handleError(err)\n }\n}\n"],"names":["watchAction","options","watch","cwd","process","strict","tsconfig","err","handleError"],"mappings":";;;;AAGA,eAAsBA,YAAYC,OAA+D,EAAA;EAC3F,IAAA;IACF,MAAMC,WAAM,CAAA;MACVC,GAAA,EAAKC,QAAQD,GAAI,CAAA,CAAA;MACjBE,QAAQJ,OAAQ,CAAAI,MAAA;MAChBC,UAAUL,OAAQ,CAAAK;IAAA,CACnB,CAAA;WACMC,GAAP,EAAA;IACAC,WAAA,CAAAA,WAAA,CAAYD,GAAG,CAAA;EACjB;AACF;"}
package/dist/cli.cjs CHANGED
@@ -7,21 +7,21 @@ function _interopDefaultCompat(e) {
7
7
  };
8
8
  }
9
9
  var cac__default = /*#__PURE__*/_interopDefaultCompat(cac);
10
- var version = "2.2.15";
10
+ var version = "2.2.17";
11
11
  const cli = cac__default.default();
12
- cli.command("", "Check").option("--strict", "Strict mode").option("--tsconfig [tsconfig]", "[string] tsconfig.json").action(async options => {
12
+ cli.command("", "Check").alias("check").option("--strict", "Strict mode").option("--tsconfig [tsconfig]", "[string] tsconfig.json").action(async options => {
13
13
  const {
14
- checkAction: statusAction
14
+ checkAction
15
15
  } = await Promise.resolve().then(function () {
16
- return require('./_chunks/checkAction-be47c642.cjs');
16
+ return require('./_chunks/checkAction-6fd7b2bc.cjs');
17
17
  });
18
- return statusAction(options);
18
+ return checkAction(options);
19
19
  });
20
20
  cli.command("build", "Build package").option("--emitDeclarationOnly", "Emit d.ts only").option("--strict", "Strict mode").option("--tsconfig [tsconfig]", "[string] tsconfig.json").action(async options => {
21
21
  const {
22
22
  buildAction
23
23
  } = await Promise.resolve().then(function () {
24
- return require('./_chunks/buildAction-f35f5fe0.cjs');
24
+ return require('./_chunks/buildAction-afc0a1a6.cjs');
25
25
  });
26
26
  return buildAction(options);
27
27
  });
@@ -29,7 +29,7 @@ cli.command("watch", "Watch package").option("--strict", "Strict mode").option("
29
29
  const {
30
30
  watchAction
31
31
  } = await Promise.resolve().then(function () {
32
- return require('./_chunks/watchAction-788563ea.cjs');
32
+ return require('./_chunks/watchAction-39b0210b.cjs');
33
33
  });
34
34
  return watchAction(options);
35
35
  });
package/dist/cli.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.cjs","sources":["../src/cli/index.ts"],"sourcesContent":["import cac from 'cac'\nimport {version} from '../../package.json'\n\nconst cli = cac()\n\n// default commands checks package status\ncli\n .command('', 'Check')\n .option('--strict', 'Strict mode')\n .option('--tsconfig [tsconfig]', '[string] tsconfig.json')\n .action(async (options) => {\n const {checkAction: statusAction} = await import('./checkAction')\n\n return statusAction(options)\n })\n\ncli\n .command('build', 'Build package')\n .option('--emitDeclarationOnly', 'Emit d.ts only')\n .option('--strict', 'Strict mode')\n .option('--tsconfig [tsconfig]', '[string] tsconfig.json')\n .action(async (options) => {\n const {buildAction} = await import('./buildAction')\n\n return buildAction(options)\n })\n\ncli\n .command('watch', 'Watch package')\n .option('--strict', 'Strict mode')\n .option('--tsconfig [tsconfig]', '[string] tsconfig.json')\n .action(async (options) => {\n const {watchAction} = await import('./watchAction')\n\n return watchAction(options)\n })\n\n// Display help message when `-h` or `--help` appears\ncli.help()\n\n// Display version number when `-v` or `--version` appears\n// It's also used in help message\ncli.version(version)\n\ncli.parse()\n"],"names":["cli","cac","default","command","option","action","options","checkAction","statusAction","Promise","resolve","then","require","buildAction","watchAction","help","version","parse"],"mappings":";;;;;;;;;;AAGA,MAAMA,MAAMC,YAAI,CAAAC,OAAA,CAAA,CAAA;AAGhBF,GAAA,CACGG,OAAQ,CAAA,EAAA,EAAI,OAAO,CAAA,CACnBC,OAAO,UAAY,EAAA,aAAa,CAChC,CAAAA,MAAA,CAAO,uBAAyB,EAAA,wBAAwB,CACxD,CAAAC,MAAA,CAAO,MAAOC,OAAY,IAAA;EACzB,MAAM;IAACC,WAAa,EAAAC;EAAgB,CAAA,GAAA,MAAMC,OAAA,CAAAC,OAAA,CAAA,CAAA,CAAAC,IAAA,CAAA,YAAA;IAAA,OAAAC,OAAA,CAAO,oCAAe,CAAA;EAAA,CAAA,CAAA;EAEhE,OAAOJ,aAAaF,OAAO,CAAA;AAC7B,CAAC,CAAA;AAEHN,GAAA,CACGG,QAAQ,OAAS,EAAA,eAAe,EAChCC,MAAO,CAAA,uBAAA,EAAyB,gBAAgB,CAChD,CAAAA,MAAA,CAAO,UAAY,EAAA,aAAa,EAChCA,MAAO,CAAA,uBAAA,EAAyB,wBAAwB,CACxD,CAAAC,MAAA,CAAO,MAAOC,OAAY,IAAA;EACzB,MAAM;IAACO;EAAA,CAAe,GAAA,MAAMJ,OAAA,CAAAC,OAAA,CAAA,CAAA,CAAAC,IAAA,CAAA,YAAA;IAAA,OAAAC,OAAA,CAAO,oCAAe,CAAA;EAAA,CAAA,CAAA;EAElD,OAAOC,YAAYP,OAAO,CAAA;AAC5B,CAAC,CAAA;AAEHN,GAAA,CACGG,OAAQ,CAAA,OAAA,EAAS,eAAe,CAAA,CAChCC,OAAO,UAAY,EAAA,aAAa,CAChC,CAAAA,MAAA,CAAO,uBAAyB,EAAA,wBAAwB,CACxD,CAAAC,MAAA,CAAO,MAAOC,OAAY,IAAA;EACzB,MAAM;IAACQ;EAAA,CAAe,GAAA,MAAML,OAAA,CAAAC,OAAA,CAAA,CAAA,CAAAC,IAAA,CAAA,YAAA;IAAA,OAAAC,OAAA,CAAO,oCAAe,CAAA;EAAA,CAAA,CAAA;EAElD,OAAOE,YAAYR,OAAO,CAAA;AAC5B,CAAC,CAAA;AAGHN,GAAA,CAAIe,IAAK,CAAA,CAAA;AAITf,GAAA,CAAIgB,QAAQA,OAAO,CAAA;AAEnBhB,GAAA,CAAIiB,KAAM,CAAA,CAAA"}
1
+ {"version":3,"file":"cli.cjs","sources":["../src/cli/index.ts"],"sourcesContent":["import cac from 'cac'\n\nimport {version} from '../../package.json'\n\nconst cli = cac()\n\ncli\n .command('', 'Check')\n .alias('check') // alias to align with the action name\n .option('--strict', 'Strict mode')\n .option('--tsconfig [tsconfig]', '[string] tsconfig.json')\n .action(async (options) => {\n const {checkAction} = await import('./checkAction')\n\n return checkAction(options)\n })\n\ncli\n .command('build', 'Build package')\n .option('--emitDeclarationOnly', 'Emit d.ts only')\n .option('--strict', 'Strict mode')\n .option('--tsconfig [tsconfig]', '[string] tsconfig.json')\n .action(async (options) => {\n const {buildAction} = await import('./buildAction')\n\n return buildAction(options)\n })\n\ncli\n .command('watch', 'Watch package')\n .option('--strict', 'Strict mode')\n .option('--tsconfig [tsconfig]', '[string] tsconfig.json')\n .action(async (options) => {\n const {watchAction} = await import('./watchAction')\n\n return watchAction(options)\n })\n\n// Display help message when `-h` or `--help` appears\ncli.help()\n\n// Display version number when `-v` or `--version` appears\n// It's also used in help message\ncli.version(version)\n\ncli.parse()\n"],"names":["cli","cac","default","command","alias","option","action","options","checkAction","Promise","resolve","then","require","buildAction","watchAction","help","version","parse"],"mappings":";;;;;;;;;;AAIA,MAAMA,MAAMC,YAAI,CAAAC,OAAA,CAAA,CAAA;AAEhBF,GAAA,CACGG,QAAQ,EAAI,EAAA,OAAO,CACnB,CAAAC,KAAA,CAAM,OAAO,CACb,CAAAC,MAAA,CAAO,UAAY,EAAA,aAAa,EAChCA,MAAO,CAAA,uBAAA,EAAyB,wBAAwB,CACxD,CAAAC,MAAA,CAAO,MAAOC,OAAY,IAAA;EACzB,MAAM;IAACC;EAAA,CAAe,GAAA,MAAMC,OAAA,CAAAC,OAAA,CAAA,CAAA,CAAAC,IAAA,CAAA,YAAA;IAAA,OAAAC,OAAA,CAAO,oCAAe,CAAA;EAAA,CAAA,CAAA;EAElD,OAAOJ,YAAYD,OAAO,CAAA;AAC5B,CAAC,CAAA;AAEHP,GAAA,CACGG,QAAQ,OAAS,EAAA,eAAe,EAChCE,MAAO,CAAA,uBAAA,EAAyB,gBAAgB,CAChD,CAAAA,MAAA,CAAO,UAAY,EAAA,aAAa,EAChCA,MAAO,CAAA,uBAAA,EAAyB,wBAAwB,CACxD,CAAAC,MAAA,CAAO,MAAOC,OAAY,IAAA;EACzB,MAAM;IAACM;EAAA,CAAe,GAAA,MAAMJ,OAAA,CAAAC,OAAA,CAAA,CAAA,CAAAC,IAAA,CAAA,YAAA;IAAA,OAAAC,OAAA,CAAO,oCAAe,CAAA;EAAA,CAAA,CAAA;EAElD,OAAOC,YAAYN,OAAO,CAAA;AAC5B,CAAC,CAAA;AAEHP,GAAA,CACGG,OAAQ,CAAA,OAAA,EAAS,eAAe,CAAA,CAChCE,OAAO,UAAY,EAAA,aAAa,CAChC,CAAAA,MAAA,CAAO,uBAAyB,EAAA,wBAAwB,CACxD,CAAAC,MAAA,CAAO,MAAOC,OAAY,IAAA;EACzB,MAAM;IAACO;EAAA,CAAe,GAAA,MAAML,OAAA,CAAAC,OAAA,CAAA,CAAA,CAAAC,IAAA,CAAA,YAAA;IAAA,OAAAC,OAAA,CAAO,oCAAe,CAAA;EAAA,CAAA,CAAA;EAElD,OAAOE,YAAYP,OAAO,CAAA;AAC5B,CAAC,CAAA;AAGHP,GAAA,CAAIe,IAAK,CAAA,CAAA;AAITf,GAAA,CAAIgB,QAAQA,OAAO,CAAA;AAEnBhB,GAAA,CAAIiB,KAAM,CAAA,CAAA"}
package/dist/index.cjs CHANGED
@@ -3,11 +3,11 @@
3
3
  Object.defineProperty(exports, '__esModule', {
4
4
  value: true
5
5
  });
6
- var build = require('./_chunks/build-ba8f4eab.cjs');
7
- var check = require('./_chunks/check-c18ac13f.cjs');
8
- var resolveBuildContext = require('./_chunks/resolveBuildContext-2239fc5e.cjs');
9
- var index = require('./_chunks/index-b295a336.cjs');
10
- var watch = require('./_chunks/watch-5bfb8b28.cjs');
6
+ var build = require('./_chunks/build-45e5ded8.cjs');
7
+ var check = require('./_chunks/check-33e163bb.cjs');
8
+ var resolveBuildContext = require('./_chunks/resolveBuildContext-6666f1ab.cjs');
9
+ var index = require('./_chunks/index-f3c22a05.cjs');
10
+ var watch = require('./_chunks/watch-2bff1357.cjs');
11
11
  function defineConfig(configOptions) {
12
12
  return configOptions;
13
13
  }
package/dist/index.js CHANGED
@@ -1,13 +1,13 @@
1
- import path from 'path';
2
1
  import { register } from 'esbuild-register/dist/node';
2
+ import path from 'path';
3
3
  import pkgUp from 'pkg-up';
4
- import fs, { stat, readFile, writeFile } from 'fs/promises';
5
4
  import findConfig from 'find-config';
5
+ import fs$1, { statSync } from 'fs';
6
+ import fs, { readFile, writeFile } from 'fs/promises';
6
7
  import { z, ZodError } from 'zod';
7
8
  import chalk from 'chalk';
8
9
  import ts from 'typescript';
9
10
  import browserslist from 'browserslist';
10
- import fs$1, { statSync } from 'fs';
11
11
  import { Observable, from, switchMap } from 'rxjs';
12
12
  import { rimraf } from 'rimraf';
13
13
  import { ExtractorConfig, Extractor } from '@microsoft/api-extractor';
@@ -32,12 +32,19 @@ import prettyBytes from 'pretty-bytes';
32
32
  import { scan, startWith, distinctUntilChanged } from 'rxjs/operators';
33
33
  import globby from 'globby';
34
34
  import chokidar from 'chokidar';
35
- const DEFAULT_BROWSERSLIST_QUERY = ["> 0.2% and supports es6-module and supports es6-module-dynamic-import", "not dead", "not IE 11", "maintained node versions"];
36
- function isRecord(value) {
37
- return Boolean(value) && !Array.isArray(value) && typeof value === "object";
35
+ function defineConfig(configOptions) {
36
+ return configOptions;
37
+ }
38
+ function fileExists(filePath) {
39
+ try {
40
+ statSync(filePath);
41
+ return true;
42
+ } catch (_) {
43
+ return false;
44
+ }
38
45
  }
39
46
  const CONFIG_FILE_NAMES = ["package.config.ts", "package.config.js", "package.config.cjs", "package.config.mjs"];
40
- async function findConfigFile(cwd) {
47
+ function findConfigFile(cwd) {
41
48
  const pkgJsonPath = findConfig("package.json", {
42
49
  cwd
43
50
  });
@@ -45,21 +52,13 @@ async function findConfigFile(cwd) {
45
52
  const pkgPath = path.dirname(pkgJsonPath);
46
53
  for (const fileName of CONFIG_FILE_NAMES) {
47
54
  const configPath = path.resolve(pkgPath, fileName);
48
- const exists = await fileExists$1(configPath);
55
+ const exists = fileExists(configPath);
49
56
  if (exists) {
50
57
  return configPath;
51
58
  }
52
59
  }
53
60
  return void 0;
54
61
  }
55
- async function fileExists$1(filePath) {
56
- try {
57
- await stat(filePath);
58
- return true;
59
- } catch (_) {
60
- return false;
61
- }
62
- }
63
62
  async function loadConfig(options) {
64
63
  const {
65
64
  cwd
@@ -95,8 +94,9 @@ function resolveConfigProperty(prop, initialValue) {
95
94
  }
96
95
  return prop;
97
96
  }
98
- function defineConfig(configOptions) {
99
- return configOptions;
97
+ const DEFAULT_BROWSERSLIST_QUERY = ["> 0.2% and supports es6-module and supports es6-module-dynamic-import", "not dead", "not IE 11", "maintained node versions"];
98
+ function isRecord(value) {
99
+ return Boolean(value) && !Array.isArray(value) && typeof value === "object";
100
100
  }
101
101
  const pkgSchema = z.object({
102
102
  type: z.optional(z.enum(["commonjs", "module"])),
@@ -1624,14 +1624,6 @@ function getFilesize(file) {
1624
1624
  const stats = statSync(file);
1625
1625
  return prettyBytes(stats.size);
1626
1626
  }
1627
- function fileExists(file) {
1628
- try {
1629
- fs$1.accessSync(file);
1630
- return true;
1631
- } catch (_) {
1632
- return false;
1633
- }
1634
- }
1635
1627
  function getFileInfo(cwd, filePath) {
1636
1628
  const p = path.resolve(cwd, filePath);
1637
1629
  const exists = fileExists(p);