@sanity/pkg-utils 2.0.6 → 2.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_chunks/{build-373bf1f0.cjs → build-411f01fc.cjs} +3 -3
- package/dist/_chunks/{build-373bf1f0.cjs.map → build-411f01fc.cjs.map} +1 -1
- package/dist/_chunks/{buildAction-0c649a9f.cjs → buildAction-558fce96.cjs} +3 -3
- package/dist/_chunks/{buildAction-0c649a9f.cjs.map → buildAction-558fce96.cjs.map} +1 -1
- package/dist/_chunks/{check-60977fef.cjs → check-3bf5eb0d.cjs} +4 -5
- package/dist/_chunks/check-3bf5eb0d.cjs.map +1 -0
- package/dist/_chunks/{checkAction-c301e63d.cjs → checkAction-fcfe53a1.cjs} +3 -3
- package/dist/_chunks/{checkAction-c301e63d.cjs.map → checkAction-fcfe53a1.cjs.map} +1 -1
- package/dist/_chunks/{handleError-4062ca45.cjs → handleError-13d87f55.cjs} +3 -1
- package/dist/_chunks/handleError-13d87f55.cjs.map +1 -0
- package/dist/_chunks/{index-9910b918.cjs → index-5e7d04c4.cjs} +2 -2
- package/dist/_chunks/{index-9910b918.cjs.map → index-5e7d04c4.cjs.map} +1 -1
- package/dist/_chunks/{resolveBuildContext-8833c9b4.cjs → resolveBuildContext-86a1602c.cjs} +5 -3
- package/dist/_chunks/resolveBuildContext-86a1602c.cjs.map +1 -0
- package/dist/_chunks/{watch-e81c0b8a.cjs → watch-096666ea.cjs} +3 -3
- package/dist/_chunks/{watch-e81c0b8a.cjs.map → watch-096666ea.cjs.map} +1 -1
- package/dist/_chunks/{watchAction-5d30e115.cjs → watchAction-218b780d.cjs} +3 -3
- package/dist/_chunks/{watchAction-5d30e115.cjs.map → watchAction-218b780d.cjs.map} +1 -1
- package/dist/cli.cjs +4 -4
- package/dist/index.cjs +5 -5
- package/dist/index.d.ts +2 -2
- package/dist/index.js +6 -5
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/cli/handleError.ts +2 -0
- package/src/node/core/config/types.ts +1 -1
- package/src/node/core/pkg/loadPkgWithReporting.ts +3 -0
- package/src/node/core/pkg/types.ts +1 -1
- package/src/node/core/pkg/validatePkg.ts +1 -1
- package/src/node/printPackageTree.ts +2 -1
- package/src/node/resolveBuildContext.ts +2 -2
- package/dist/_chunks/check-60977fef.cjs.map +0 -1
- package/dist/_chunks/handleError-4062ca45.cjs.map +0 -1
- package/dist/_chunks/resolveBuildContext-8833c9b4.cjs.map +0 -1
|
@@ -5,14 +5,14 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
5
5
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
6
6
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
7
7
|
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
8
|
-
var resolveBuildContext = require('./resolveBuildContext-
|
|
8
|
+
var resolveBuildContext = require('./resolveBuildContext-86a1602c.cjs');
|
|
9
9
|
require('fs/promises');
|
|
10
10
|
require('pkg-up');
|
|
11
11
|
require('typescript');
|
|
12
12
|
var fs = require('fs');
|
|
13
13
|
var path = require('path');
|
|
14
14
|
var chalk = require('chalk');
|
|
15
|
-
var index = require('./index-
|
|
15
|
+
var index = require('./index-5e7d04c4.cjs');
|
|
16
16
|
function _interopDefaultCompat(e) {
|
|
17
17
|
return e && typeof e === 'object' && 'default' in e ? e : {
|
|
18
18
|
default: e
|
|
@@ -204,4 +204,4 @@ async function build(options) {
|
|
|
204
204
|
}
|
|
205
205
|
exports.build = build;
|
|
206
206
|
exports.resolveBuildTasks = resolveBuildTasks;
|
|
207
|
-
//# sourceMappingURL=build-
|
|
207
|
+
//# sourceMappingURL=build-411f01fc.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-373bf1f0.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} 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 // Add dts task\n if (dtsTask.entries.length) {\n tasks.push(dtsTask)\n }\n\n if (!ctx.emitDeclarationOnly) {\n // Parse rollup:commonjs:* tasks\n for (const exp of exports) {\n const output = exp.require\n\n if (!output) continue\n\n addRollupTaskEntry('commonjs', ctx.runtime, {\n path: exp._path,\n source: exp.source,\n output,\n })\n }\n\n // Parse rollup:esm:* tasks\n for (const exp of exports) {\n const output = exp.import\n\n if (!output) continue\n\n addRollupTaskEntry('esm', ctx.runtime, {\n path: exp._path,\n source: exp.source,\n output,\n })\n }\n\n // Parse rollup:commonjs:browser tasks\n for (const exp of exports) {\n const output = exp.browser?.require\n\n if (!output) continue\n\n addRollupTaskEntry('commonjs', 'browser', {\n path: exp._path,\n source: exp.browser?.source || exp.source,\n output,\n })\n }\n\n // Parse rollup:esm:browser tasks\n for (const exp of exports) {\n const output = exp.browser?.import\n\n if (!output) continue\n\n addRollupTaskEntry('esm', 'browser', {\n path: exp._path,\n source: exp.browser?.source || exp.source,\n output,\n })\n }\n\n for (const bundle of bundles) {\n if (bundle.require) {\n addRollupTaskEntry('commonjs', bundle.runtime || ctx.runtime, {\n path: '__bundle__',\n source: bundle.source,\n output: bundle.require,\n })\n }\n\n if (bundle.import) {\n addRollupTaskEntry('commonjs', bundle.runtime || ctx.runtime, {\n path: '__bundle__',\n source: bundle.source,\n output: bundle.import,\n })\n }\n }\n\n tasks.push(...Object.values(rollupTasks))\n\n // Write legacy exports files\n if (config?.legacyExports) {\n for (const exp of exports) {\n if (exp._exported && exp._path !== '.') {\n const relativeTargetPath = (exp.browser?.import || exp.import || '').replace(\n /\\.[^/.]+$/,\n ''\n )\n\n if (relativeTargetPath) {\n fs.writeFileSync(\n path.resolve(cwd, `${exp._path}.js`),\n [`// AUTO-GENERATED – DO NOT EDIT`, `export * from '${relativeTargetPath}'`, ``].join(\n '\\n'\n )\n )\n }\n }\n }\n }\n }\n\n return tasks\n}\n","/* eslint-disable no-console */\n\nimport chalk from 'chalk'\n\nexport function createSpinner(msg: string): {complete: () => void; error: () => void} {\n const startTime = Date.now()\n\n console.log(msg)\n\n return {\n complete: () => {\n console.log(`${chalk.green('[success]')} ${chalk.gray(`${Date.now() - startTime}ms`)}`)\n },\n error: () => {\n console.log(`${chalk.red(`[error]`)} ${chalk.gray(`${Date.now() - startTime}ms`)}`)\n },\n }\n}\n","import {getPkgExtMap, loadConfig, loadPkgWithReporting} from './core'\nimport {createLogger} from './logger'\nimport {resolveBuildContext} from './resolveBuildContext'\nimport {resolveBuildTasks} from './resolveBuildTasks'\nimport {createSpinner} from './spinner'\nimport {BuildTask, TaskHandler, buildTaskHandlers} from './tasks'\n\n/**\n * Build the distribution files of a npm package.\n *\n * @example\n * ```ts\n * import {build} from '@sanity/pkg-utils'\n *\n * build({\n * cwd: process.cwd(),\n * tsconfig: 'tsconfig.dist.json,\n * }).then(() => {\n * console.log('successfully built')\n * }).catch((err) => {\n * console.log(`build error: ${err.message}`)\n * })\n * ```\n *\n * @public\n */\nexport async function build(options: {\n cwd: string\n emitDeclarationOnly?: boolean\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n const {cwd, emitDeclarationOnly, strict = false, tsconfig: tsconfigOption} = options\n const logger = createLogger()\n\n const pkg = await loadPkgWithReporting({cwd, logger})\n const config = await loadConfig({cwd})\n const extMap = getPkgExtMap({legacyExports: config?.legacyExports ?? false})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n\n const ctx = await resolveBuildContext({\n config,\n cwd,\n emitDeclarationOnly,\n extMap,\n logger,\n pkg,\n strict,\n tsconfig,\n })\n\n const buildTasks = resolveBuildTasks(ctx)\n\n for (const task of buildTasks) {\n const handler = buildTaskHandlers[task.type] as TaskHandler<BuildTask>\n const taskName = handler.name(ctx, task)\n\n const spinner = createSpinner(taskName)\n\n try {\n const result = await handler.exec(ctx, task).toPromise()\n\n spinner.complete()\n ctx.logger.log()\n\n handler.complete(ctx, task, result)\n } catch (err) {\n spinner.error()\n\n if (err instanceof Error) {\n const RE_CWD = new RegExp(`${cwd}`, 'g')\n\n ctx.logger.error(err.message.replace(RE_CWD, '.'))\n ctx.logger.log()\n }\n\n handler.error(ctx, task, err)\n\n process.exit(1)\n }\n }\n}\n"],"names":["resolveBuildTasks","ctx","_a","_b","_c","_d","_e","config","cwd","pkg","target","bundles","tasks","exports","Object","entries","map","_path","exp","dtsTask","type","rollupTasks","addRollupTaskEntry","format","runtime","entry","buildId","push","importId","path","join","name","types","exportPath","sourcePath","source","targetPath","length","emitDeclarationOnly","output","require","import","browser","bundle","values","legacyExports","_exported","relativeTargetPath","replace","fs","writeFileSync","default","resolve","createSpinner","msg","startTime","Date","now","console","log","complete","chalk","green","gray","error","red","build","options","strict","tsconfig","tsconfigOption","logger","createLogger","loadPkgWithReporting","loadConfig","extMap","getPkgExtMap","resolveBuildContext","buildTasks","task","handler","buildTaskHandlers","taskName","spinner","result","exec","toPromise","err","Error","RE_CWD","RegExp","message","process","exit"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"build-411f01fc.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} 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 // Add dts task\n if (dtsTask.entries.length) {\n tasks.push(dtsTask)\n }\n\n if (!ctx.emitDeclarationOnly) {\n // Parse rollup:commonjs:* tasks\n for (const exp of exports) {\n const output = exp.require\n\n if (!output) continue\n\n addRollupTaskEntry('commonjs', ctx.runtime, {\n path: exp._path,\n source: exp.source,\n output,\n })\n }\n\n // Parse rollup:esm:* tasks\n for (const exp of exports) {\n const output = exp.import\n\n if (!output) continue\n\n addRollupTaskEntry('esm', ctx.runtime, {\n path: exp._path,\n source: exp.source,\n output,\n })\n }\n\n // Parse rollup:commonjs:browser tasks\n for (const exp of exports) {\n const output = exp.browser?.require\n\n if (!output) continue\n\n addRollupTaskEntry('commonjs', 'browser', {\n path: exp._path,\n source: exp.browser?.source || exp.source,\n output,\n })\n }\n\n // Parse rollup:esm:browser tasks\n for (const exp of exports) {\n const output = exp.browser?.import\n\n if (!output) continue\n\n addRollupTaskEntry('esm', 'browser', {\n path: exp._path,\n source: exp.browser?.source || exp.source,\n output,\n })\n }\n\n for (const bundle of bundles) {\n if (bundle.require) {\n addRollupTaskEntry('commonjs', bundle.runtime || ctx.runtime, {\n path: '__bundle__',\n source: bundle.source,\n output: bundle.require,\n })\n }\n\n if (bundle.import) {\n addRollupTaskEntry('commonjs', bundle.runtime || ctx.runtime, {\n path: '__bundle__',\n source: bundle.source,\n output: bundle.import,\n })\n }\n }\n\n tasks.push(...Object.values(rollupTasks))\n\n // Write legacy exports files\n if (config?.legacyExports) {\n for (const exp of exports) {\n if (exp._exported && exp._path !== '.') {\n const relativeTargetPath = (exp.browser?.import || exp.import || '').replace(\n /\\.[^/.]+$/,\n ''\n )\n\n if (relativeTargetPath) {\n fs.writeFileSync(\n path.resolve(cwd, `${exp._path}.js`),\n [`// AUTO-GENERATED – DO NOT EDIT`, `export * from '${relativeTargetPath}'`, ``].join(\n '\\n'\n )\n )\n }\n }\n }\n }\n }\n\n return tasks\n}\n","/* eslint-disable no-console */\n\nimport chalk from 'chalk'\n\nexport function createSpinner(msg: string): {complete: () => void; error: () => void} {\n const startTime = Date.now()\n\n console.log(msg)\n\n return {\n complete: () => {\n console.log(`${chalk.green('[success]')} ${chalk.gray(`${Date.now() - startTime}ms`)}`)\n },\n error: () => {\n console.log(`${chalk.red(`[error]`)} ${chalk.gray(`${Date.now() - startTime}ms`)}`)\n },\n }\n}\n","import {getPkgExtMap, loadConfig, loadPkgWithReporting} from './core'\nimport {createLogger} from './logger'\nimport {resolveBuildContext} from './resolveBuildContext'\nimport {resolveBuildTasks} from './resolveBuildTasks'\nimport {createSpinner} from './spinner'\nimport {BuildTask, TaskHandler, buildTaskHandlers} from './tasks'\n\n/**\n * Build the distribution files of a npm package.\n *\n * @example\n * ```ts\n * import {build} from '@sanity/pkg-utils'\n *\n * build({\n * cwd: process.cwd(),\n * tsconfig: 'tsconfig.dist.json,\n * }).then(() => {\n * console.log('successfully built')\n * }).catch((err) => {\n * console.log(`build error: ${err.message}`)\n * })\n * ```\n *\n * @public\n */\nexport async function build(options: {\n cwd: string\n emitDeclarationOnly?: boolean\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n const {cwd, emitDeclarationOnly, strict = false, tsconfig: tsconfigOption} = options\n const logger = createLogger()\n\n const pkg = await loadPkgWithReporting({cwd, logger})\n const config = await loadConfig({cwd})\n const extMap = getPkgExtMap({legacyExports: config?.legacyExports ?? false})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n\n const ctx = await resolveBuildContext({\n config,\n cwd,\n emitDeclarationOnly,\n extMap,\n logger,\n pkg,\n strict,\n tsconfig,\n })\n\n const buildTasks = resolveBuildTasks(ctx)\n\n for (const task of buildTasks) {\n const handler = buildTaskHandlers[task.type] as TaskHandler<BuildTask>\n const taskName = handler.name(ctx, task)\n\n const spinner = createSpinner(taskName)\n\n try {\n const result = await handler.exec(ctx, task).toPromise()\n\n spinner.complete()\n ctx.logger.log()\n\n handler.complete(ctx, task, result)\n } catch (err) {\n spinner.error()\n\n if (err instanceof Error) {\n const RE_CWD = new RegExp(`${cwd}`, 'g')\n\n ctx.logger.error(err.message.replace(RE_CWD, '.'))\n ctx.logger.log()\n }\n\n handler.error(ctx, task, err)\n\n process.exit(1)\n }\n }\n}\n"],"names":["resolveBuildTasks","ctx","_a","_b","_c","_d","_e","config","cwd","pkg","target","bundles","tasks","exports","Object","entries","map","_path","exp","dtsTask","type","rollupTasks","addRollupTaskEntry","format","runtime","entry","buildId","push","importId","path","join","name","types","exportPath","sourcePath","source","targetPath","length","emitDeclarationOnly","output","require","import","browser","bundle","values","legacyExports","_exported","relativeTargetPath","replace","fs","writeFileSync","default","resolve","createSpinner","msg","startTime","Date","now","console","log","complete","chalk","green","gray","error","red","build","options","strict","tsconfig","tsconfigOption","logger","createLogger","loadPkgWithReporting","loadConfig","extMap","getPkgExtMap","resolveBuildContext","buildTasks","task","handler","buildTaskHandlers","taskName","spinner","result","exec","toPromise","err","Error","RE_CWD","RegExp","message","process","exit"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var build = require('./build-
|
|
4
|
-
var handleError = require('./handleError-
|
|
3
|
+
var build = require('./build-411f01fc.cjs');
|
|
4
|
+
var handleError = require('./handleError-13d87f55.cjs');
|
|
5
5
|
async function buildAction(options) {
|
|
6
6
|
try {
|
|
7
7
|
await build.build({
|
|
@@ -15,4 +15,4 @@ async function buildAction(options) {
|
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
exports.buildAction = buildAction;
|
|
18
|
-
//# sourceMappingURL=buildAction-
|
|
18
|
+
//# sourceMappingURL=buildAction-558fce96.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildAction-
|
|
1
|
+
{"version":3,"file":"buildAction-558fce96.cjs","sources":["../../src/cli/buildAction.ts"],"sourcesContent":["import {build} from '../node/build'\nimport {handleError} from './handleError'\n\nexport async function buildAction(options: {\n emitDeclarationOnly?: boolean\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n try {\n await build({\n cwd: process.cwd(),\n emitDeclarationOnly: options.emitDeclarationOnly,\n strict: options.strict,\n tsconfig: options.tsconfig,\n })\n } catch (err) {\n handleError(err)\n }\n}\n"],"names":["buildAction","options","build","cwd","process","emitDeclarationOnly","strict","tsconfig","err","handleError"],"mappings":";;;;AAGA,eAAsBA,YAAYC,OAIhB,EAAA;EACZ,IAAA;IACF,MAAMC,WAAM,CAAA;MACVC,GAAA,EAAKC,QAAQD,GAAI,EAAA;MACjBE,qBAAqBJ,OAAQ,CAAAI,mBAAA;MAC7BC,QAAQL,OAAQ,CAAAK,MAAA;MAChBC,UAAUN,OAAQ,CAAAM;IAAA,CACnB,CAAA;WACMC,GAAP,EAAA;IACAC,WAAA,CAAAA,WAAA,CAAYD,GAAG,CAAA;EACjB;AACF;"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var path = require('path');
|
|
4
4
|
var esbuild = require('esbuild');
|
|
5
|
-
var resolveBuildContext = require('./resolveBuildContext-
|
|
5
|
+
var resolveBuildContext = require('./resolveBuildContext-86a1602c.cjs');
|
|
6
6
|
require('fs/promises');
|
|
7
7
|
require('pkg-up');
|
|
8
8
|
require('typescript');
|
|
@@ -96,9 +96,8 @@ function printPackageTree(ctx) {
|
|
|
96
96
|
delete exp.browser;
|
|
97
97
|
}
|
|
98
98
|
if (entry.node) {
|
|
99
|
-
exp.node = {
|
|
100
|
-
|
|
101
|
-
};
|
|
99
|
+
exp.node = {};
|
|
100
|
+
if (entry.node.source) exp.node.source = fileInfo(entry.node.source);
|
|
102
101
|
if (entry.node.import) exp.node.import = fileInfo(entry.node.import);
|
|
103
102
|
if (entry.node.require) exp.node.require = fileInfo(entry.node.require);
|
|
104
103
|
} else {
|
|
@@ -238,4 +237,4 @@ async function check(options) {
|
|
|
238
237
|
}
|
|
239
238
|
}
|
|
240
239
|
exports.check = check;
|
|
241
|
-
//# sourceMappingURL=check-
|
|
240
|
+
//# sourceMappingURL=check-3bf5eb0d.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-3bf5eb0d.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, unknown> = {type: chalk.yellow(pkg.type)}\n\n if (pkg.bin) {\n tree.bin = Object.fromEntries(\n Object.entries(pkg.bin).map(([name, file]) => [chalk.cyan(name), fileInfo(file)])\n )\n }\n\n function fileInfo(file: string) {\n const info = getFileInfo(cwd, file)\n\n if (!info.size) {\n return `${chalk.gray(file)} ${chalk.red('does not exist')}`\n }\n\n return `${chalk.yellow(file)} ${chalk.gray(info.size)}`\n }\n\n tree.exports = Object.fromEntries(\n Object.entries(exports)\n .filter(([, entry]) => entry._exported)\n .map(([exportPath, entry]) => {\n const exp: Omit<PkgExport, '_exported'> = {\n types: undefined,\n source: fileInfo(entry.source),\n browser: undefined,\n node: undefined,\n import: undefined,\n require: undefined,\n default: fileInfo(entry.default),\n }\n\n if (entry.types) {\n exp.types = fileInfo(entry.types)\n } else {\n delete exp.types\n }\n\n if (entry.browser) {\n exp.browser = {source: fileInfo(entry.browser.source)}\n\n if (entry.browser.import) exp.browser.import = fileInfo(entry.browser.import)\n if (entry.browser.require) exp.browser.require = fileInfo(entry.browser.require)\n } else {\n delete exp.browser\n }\n\n if (entry.node) {\n exp.node = {}\n\n if (entry.node.source) exp.node.source = fileInfo(entry.node.source)\n if (entry.node.import) exp.node.import = fileInfo(entry.node.import)\n if (entry.node.require) exp.node.require = fileInfo(entry.node.require)\n } else {\n delete exp.node\n }\n\n if (entry.import) {\n exp.import = fileInfo(entry.import)\n } else {\n delete exp.import\n }\n\n if (entry.require) {\n exp.require = fileInfo(entry.require)\n } else {\n delete exp.require\n }\n\n return [chalk.cyan(path.join(pkg.name, exportPath)), exp]\n })\n )\n\n logger.log(treeify.asTree(tree as Record<string, any>, true, true))\n}\n","import path from 'path'\nimport esbuild, {BuildFailure} from 'esbuild'\nimport {getPkgExtMap, loadConfig, loadPkgWithReporting} from './core'\nimport {createLogger} from './logger'\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 = false, tsconfig: tsconfigOption} = options\n const logger = createLogger()\n\n const pkg = await loadPkgWithReporting({cwd, logger})\n const config = await loadConfig({cwd})\n const extMap = getPkgExtMap({legacyExports: config?.legacyExports ?? false})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n const ctx = await resolveBuildContext({config, cwd, extMap, logger, pkg, strict, tsconfig})\n\n printPackageTree(ctx)\n\n if (strict) {\n const missingFiles: string[] = []\n\n // Check if there are missing files\n for (const [, exp] of Object.entries(ctx.exports || {})) {\n if (exp.source && !fileExists(path.resolve(cwd, exp.source))) {\n missingFiles.push(exp.source)\n }\n\n if (exp.require && !fileExists(path.resolve(cwd, exp.require))) {\n missingFiles.push(exp.require)\n }\n\n if (exp.import && !fileExists(path.resolve(cwd, exp.import))) {\n missingFiles.push(exp.import)\n }\n\n if (exp.types && !fileExists(path.resolve(cwd, exp.types))) {\n missingFiles.push(exp.types)\n }\n }\n\n if (missingFiles.length) {\n logger.error('missing files')\n process.exit(1)\n }\n\n // Check if the files are resolved\n const _paths: {require: string[]; import: string[]} = {\n require: [],\n import: [],\n }\n\n for (const exp of Object.values(ctx.exports || {})) {\n if (!exp._exported) continue\n if (exp.require) _paths.require.push(exp.require)\n if (exp.import) _paths.import.push(exp.import)\n }\n\n const external = Object.keys(pkg.dependencies || {}).concat(\n Object.keys(pkg.devDependencies || {})\n )\n\n if (_paths.import.length) {\n const code = _paths.import.map((id) => `import('${id}')`).join('\\n')\n\n try {\n const esbuildResult = await esbuild.build({\n external,\n stdin: {\n contents: code,\n loader: 'js',\n resolveDir: cwd,\n },\n format: 'esm',\n bundle: true,\n logLevel: 'silent',\n // otherwise output maps to stdout as we're using stdin\n outfile: '/dev/null',\n platform: 'node',\n })\n\n if (esbuildResult.warnings.length > 0) {\n logger.warn(...esbuildResult.warnings)\n }\n } catch (err) {\n const {errors} = err as BuildFailure\n\n for (const _err of errors) {\n if (_err.location) {\n logger.error(_err.detail || _err.text)\n logger.error(`${_err.location.line} | ${_err.location.lineText}`)\n logger.error(\n 'in',\n `./${_err.location.file}:${_err.location.line}:${_err.location.column}`\n )\n } else {\n logger.error(_err.detail || _err.text)\n }\n\n logger.log()\n }\n\n process.exit(1)\n }\n }\n\n if (_paths.require.length) {\n const code = _paths.require.map((id) => `require('${id}')`).join('\\n')\n\n const esbuildResult = await esbuild.build({\n external,\n stdin: {\n contents: code,\n loader: 'js',\n resolveDir: cwd,\n },\n format: 'cjs',\n bundle: true,\n // otherwise output maps to stdout as we're using stdin\n outfile: '/dev/null',\n platform: 'node',\n })\n\n if (esbuildResult.errors.length > 0) {\n // throw new Error(esbuildResult.errors.join(', '))\n logger.error(esbuildResult.errors.join(', '))\n process.exit(1)\n }\n\n if (esbuildResult.warnings.length > 0) {\n logger.warn(...esbuildResult.warnings)\n }\n }\n }\n}\n"],"names":["getFilesize","file","stats","statSync","prettyBytes","default","size","fileExists","fs","accessSync","_","getFileInfo","cwd","filePath","p","path","resolve","exists","printPackageTree","ctx","exports","logger","pkg","log","chalk","blue","name","green","version","tree","type","yellow","bin","Object","fromEntries","entries","map","cyan","fileInfo","info","gray","red","filter","entry","_exported","exportPath","exp","types","source","browser","node","import","require","join","treeify","asTree","check","options","strict","tsconfig","tsconfigOption","createLogger","loadPkgWithReporting","config","loadConfig","extMap","getPkgExtMap","legacyExports","resolveBuildContext","missingFiles","push","length","error","process","exit","_paths","values","external","keys","dependencies","concat","devDependencies","code","id","esbuildResult","esbuild","build","stdin","contents","loader","resolveDir","format","bundle","logLevel","outfile","platform","warnings","warn","err","errors","_err","location","detail","text","line","lineText","column"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAGO,SAASA,YAAYC,IAAsB,EAAA;EAC1C,MAAAC,KAAA,GAAQC,YAASF,IAAI,CAAA;EAEpB,OAAAG,oBAAA,CAAAC,OAAA,CAAYH,MAAMI,IAAI,CAAA;AAC/B;ACAO,SAASC,WAAWN,IAAuB,EAAA;EAC5C,IAAA;IACFO,mBAAA,CAAGC,WAAWR,IAAI,CAAA;IAEX,OAAA,IAAA;WACAS,CAAP,EAAA;IACO,OAAA,KAAA;EACT;AACF;AAEA,SAASC,WAAA,CAAYC,KAAaC,QAAkB,EAAA;EAClD,MAAMC,CAAI,GAAAC,aAAA,CAAAV,OAAA,CAAKW,OAAQ,CAAAJ,GAAA,EAAKC,QAAQ,CAAA;EAC9B,MAAAI,MAAA,GAASV,WAAWO,CAAC,CAAA;EAC3B,MAAMR,IAAO,GAAAW,MAAA,GAASjB,WAAY,CAAAc,CAAC,CAAI,GAAA,KAAA,CAAA;EAEhC,OAAA;IAACG;IAAQX;GAAI;AACtB;AAEO,SAASY,iBAAiBC,GAAyB,EAAA;EACxD,MAAM;IAACP,GAAA;IAAKQ,OAAS;IAAAC,MAAA;IAAQC;GAAO,GAAAH,GAAA;EAEpC,IAAI,CAACC,OAAA,EAAS;EAEPC,MAAA,CAAAE,GAAA,WAAOC,cAAA,CAAAnB,OAAA,CAAMoB,IAAK,CAAAH,GAAA,CAAII,IAAI,CAAA,cAAKF,cAAAA,CAAAA,OAAM,CAAAG,KAAA,CAAML,GAAI,CAAAM,OAAO,CAAG,EAAA;EAGhE,MAAMC,OAAgC;IAACC,IAAA,EAAMN,cAAAA,CAAAA,QAAMO,MAAO,CAAAT,GAAA,CAAIQ,IAAI;GAAC;EAEnE,IAAIR,IAAIU,GAAK,EAAA;IACXH,IAAA,CAAKG,MAAMC,MAAO,CAAAC,WAAA,CAChBD,OAAOE,OAAQ,CAAAb,GAAA,CAAIU,GAAG,CAAE,CAAAI,GAAA,CAAI;MAAA,IAAC,CAACV,IAAA,EAAMzB,IAAI,CAAM;MAAA,OAAA,CAACuB,uBAAMa,IAAK,CAAAX,IAAI,GAAGY,QAAS,CAAArC,IAAI,CAAC,CAAC;IAAA,EAAA,CAClF;EACF;EAEA,SAASqC,SAASrC,IAAc,EAAA;IACxB,MAAAsC,IAAA,GAAO5B,WAAY,CAAAC,GAAA,EAAKX,IAAI,CAAA;IAE9B,IAAA,CAACsC,KAAKjC,IAAM,EAAA;MACd,iBAAUkB,cAAAA,CAAAA,OAAM,CAAAgB,IAAA,CAAKvC,IAAI,CAAK,cAAAuB,cAAAA,CAAAA,OAAA,CAAMiB,IAAI,gBAAgB,CAAA;IAC1D;IAEO,iBAAGjB,cAAAA,CAAAA,QAAMO,MAAO,CAAA9B,IAAI,eAAKuB,cAAM,CAAAnB,OAAA,CAAAmC,IAAA,CAAKD,KAAKjC,IAAI,CAAA;EACtD;EAEAuB,IAAA,CAAKT,UAAUa,MAAO,CAAAC,WAAA,CACpBD,OAAOE,OAAQ,CAAAf,OAAO,EACnBsB,MAAO,CAAA;IAAA,IAAC,GAAGC,KAAK,CAAM;IAAA,OAAAA,KAAA,CAAMC,SAAS;EAAA,EACrC,CAAAR,GAAA,CAAI,SAAyB;IAAA,IAAxB,CAACS,UAAA,EAAYF,KAAK,CAAM;IAC5B,MAAMG,GAAoC,GAAA;MACxCC,KAAO,EAAA,KAAA,CAAA;MACPC,MAAA,EAAQV,QAAS,CAAAK,KAAA,CAAMK,MAAM,CAAA;MAC7BC,OAAS,EAAA,KAAA,CAAA;MACTC,IAAM,EAAA,KAAA,CAAA;MACNC,MAAQ,EAAA,KAAA,CAAA;MACRC,OAAS,EAAA,KAAA,CAAA;MACT/C,OAAA,EAASiC,QAAS,CAAAK,KAAA,CAAMtC,OAAO;IAAA,CACjC;IAEA,IAAIsC,MAAMI,KAAO,EAAA;MACXD,GAAA,CAAAC,KAAA,GAAQT,QAAS,CAAAK,KAAA,CAAMI,KAAK,CAAA;IAAA,CAC3B,MAAA;MACL,OAAOD,GAAI,CAAAC,KAAA;IACb;IAEA,IAAIJ,MAAMM,OAAS,EAAA;MACjBH,GAAA,CAAIG,UAAU;QAACD,MAAA,EAAQV,SAASK,KAAM,CAAAM,OAAA,CAAQD,MAAM;OAAC;MAErD,IAAIL,MAAMM,OAAQ,CAAAE,MAAA,EAAQL,GAAA,CAAIG,OAAQ,CAAAE,MAAA,GAASb,QAAS,CAAAK,KAAA,CAAMM,QAAQE,MAAM,CAAA;MAC5E,IAAIR,MAAMM,OAAQ,CAAAG,OAAA,EAASN,GAAA,CAAIG,OAAQ,CAAAG,OAAA,GAAUd,QAAS,CAAAK,KAAA,CAAMM,QAAQG,OAAO,CAAA;IAAA,CAC1E,MAAA;MACL,OAAON,GAAI,CAAAG,OAAA;IACb;IAEA,IAAIN,MAAMO,IAAM,EAAA;MACdJ,GAAA,CAAII,OAAO,EAAC;MAEZ,IAAIP,MAAMO,IAAK,CAAAF,MAAA,EAAQF,GAAA,CAAII,IAAK,CAAAF,MAAA,GAASV,QAAS,CAAAK,KAAA,CAAMO,KAAKF,MAAM,CAAA;MACnE,IAAIL,MAAMO,IAAK,CAAAC,MAAA,EAAQL,GAAA,CAAII,IAAK,CAAAC,MAAA,GAASb,QAAS,CAAAK,KAAA,CAAMO,KAAKC,MAAM,CAAA;MACnE,IAAIR,MAAMO,IAAK,CAAAE,OAAA,EAASN,GAAA,CAAII,IAAK,CAAAE,OAAA,GAAUd,QAAS,CAAAK,KAAA,CAAMO,KAAKE,OAAO,CAAA;IAAA,CACjE,MAAA;MACL,OAAON,GAAI,CAAAI,IAAA;IACb;IAEA,IAAIP,MAAMQ,MAAQ,EAAA;MACZL,GAAA,CAAAK,MAAA,GAASb,QAAS,CAAAK,KAAA,CAAMQ,MAAM,CAAA;IAAA,CAC7B,MAAA;MACL,OAAOL,GAAI,CAAAK,MAAA;IACb;IAEA,IAAIR,MAAMS,OAAS,EAAA;MACbN,GAAA,CAAAM,OAAA,GAAUd,QAAS,CAAAK,KAAA,CAAMS,OAAO,CAAA;IAAA,CAC/B,MAAA;MACL,OAAON,GAAI,CAAAM,OAAA;IACb;IAEO,OAAA,CAAC5B,cAAM,CAAAnB,OAAA,CAAAgC,IAAA,CAAKtB,aAAAA,CAAAA,OAAK,CAAAsC,IAAA,CAAK/B,IAAII,IAAM,EAAAmB,UAAU,CAAC,CAAA,EAAGC,GAAG,CAAA;EAAA,CACzD,CAAA,CACL;EAEAzB,MAAA,CAAOE,IAAI+B,wBAAQ,CAAAC,MAAA,CAAO1B,IAA6B,EAAA,IAAA,EAAM,IAAI,CAAC,CAAA;AACpE;ACnGA,eAAsB2B,MAAMC,OAIV,EAAA;EAAA;EAChB,MAAM;IAAC7C,GAAK;IAAA8C,MAAA,GAAS,KAAO;IAAAC,QAAA,EAAUC;EAAkB,CAAA,GAAAH,OAAA;EACxD,MAAMpC,SAASwC,mBAAAA,CAAAA,YAAa,EAAA;EAE5B,MAAMvC,MAAM,MAAMwC,mBAAA,CAAAA,oBAAA,CAAqB;IAAClD,GAAA;IAAKS;EAAO,CAAA,CAAA;EACpD,MAAM0C,MAAS,GAAA,MAAMC,mBAAAA,CAAAA,UAAW,CAAA;IAACpD;EAAI,CAAA,CAAA;EACrC,MAAMqD,SAASC,mBAAAA,CAAAA,YAAa,CAAA;IAACC,wBAAeJ,MAAQ,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,MAAA,CAAAI,aAAA,yCAAiB;EAAM,CAAA,CAAA;EACrE,MAAAR,QAAA,GAAWC,cAAkB,KAAAG,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,MAAA,CAAQJ,QAAY,CAAA,IAAA,eAAA;EACjD,MAAAxC,GAAA,GAAM,MAAMiD,uCAAA,CAAoB;IAACL,MAAA;IAAQnD,GAAK;IAAAqD,MAAA;IAAQ5C,MAAQ;IAAAC,GAAA;IAAKoC,MAAQ;IAAAC;EAAS,CAAA,CAAA;EAE1FzC,gBAAA,CAAiBC,GAAG,CAAA;EAEpB,IAAIuC,MAAQ,EAAA;IACV,MAAMW,eAAyB,EAAC;IAGrB,KAAA,MAAA,GAAGvB,GAAG,CAAK,IAAAb,MAAA,CAAOE,QAAQhB,GAAI,CAAAC,OAAA,IAAW,CAAA,CAAE,CAAG,EAAA;MACnD,IAAA0B,GAAA,CAAIE,MAAU,IAAA,CAACzC,UAAW,CAAAQ,aAAAA,CAAAA,OAAA,CAAKC,QAAQJ,GAAK,EAAAkC,GAAA,CAAIE,MAAM,CAAC,CAAG,EAAA;QAC/CqB,YAAA,CAAAC,IAAA,CAAKxB,IAAIE,MAAM,CAAA;MAC9B;MAEI,IAAAF,GAAA,CAAIM,OAAW,IAAA,CAAC7C,UAAW,CAAAQ,aAAAA,CAAAA,OAAA,CAAKC,QAAQJ,GAAK,EAAAkC,GAAA,CAAIM,OAAO,CAAC,CAAG,EAAA;QACjDiB,YAAA,CAAAC,IAAA,CAAKxB,IAAIM,OAAO,CAAA;MAC/B;MAEI,IAAAN,GAAA,CAAIK,MAAU,IAAA,CAAC5C,UAAW,CAAAQ,aAAAA,CAAAA,OAAA,CAAKC,QAAQJ,GAAK,EAAAkC,GAAA,CAAIK,MAAM,CAAC,CAAG,EAAA;QAC/CkB,YAAA,CAAAC,IAAA,CAAKxB,IAAIK,MAAM,CAAA;MAC9B;MAEI,IAAAL,GAAA,CAAIC,KAAS,IAAA,CAACxC,UAAW,CAAAQ,aAAAA,CAAAA,OAAA,CAAKC,QAAQJ,GAAK,EAAAkC,GAAA,CAAIC,KAAK,CAAC,CAAG,EAAA;QAC7CsB,YAAA,CAAAC,IAAA,CAAKxB,IAAIC,KAAK,CAAA;MAC7B;IACF;IAEA,IAAIsB,aAAaE,MAAQ,EAAA;MACvBlD,MAAA,CAAOmD,MAAM,eAAe,CAAA;MAC5BC,OAAA,CAAQC,KAAK,CAAC,CAAA;IAChB;IAGA,MAAMC,MAAgD,GAAA;MACpDvB,SAAS,EAAC;MACVD,QAAQ;IAAC,CACX;IAEA,KAAA,MAAWL,OAAOb,MAAO,CAAA2C,MAAA,CAAOzD,IAAIC,OAAW,IAAA,CAAA,CAAE,CAAG,EAAA;MAClD,IAAI,CAAC0B,GAAI,CAAAF,SAAA,EAAW;MACpB,IAAIE,GAAI,CAAAM,OAAA,EAAgBuB,MAAA,CAAAvB,OAAA,CAAQkB,IAAK,CAAAxB,GAAA,CAAIM,OAAO,CAAA;MAChD,IAAIN,GAAI,CAAAK,MAAA,EAAewB,MAAA,CAAAxB,MAAA,CAAOmB,IAAK,CAAAxB,GAAA,CAAIK,MAAM,CAAA;IAC/C;IAEA,MAAM0B,WAAW5C,MAAO,CAAA6C,IAAA,CAAKxD,IAAIyD,YAAgB,IAAA,CAAE,CAAA,CAAE,CAAAC,MAAA,CACnD/C,MAAO,CAAA6C,IAAA,CAAKxD,GAAI,CAAA2D,eAAA,IAAmB,CAAA,CAAE,CAAA,CACvC;IAEI,IAAAN,MAAA,CAAOxB,OAAOoB,MAAQ,EAAA;MAClB,MAAAW,IAAA,GAAOP,MAAO,CAAAxB,MAAA,CAAOf,GAAI,CAAC+C,wBAAkBA,EAAA,OAAM,CAAE,CAAA9B,IAAA,CAAK,IAAI,CAAA;MAE/D,IAAA;QACI,MAAA+B,aAAA,GAAgB,MAAMC,gBAAA,CAAAhF,OAAA,CAAQiF,KAAM,CAAA;UACxCT,QAAA;UACAU,KAAO,EAAA;YACLC,QAAU,EAAAN,IAAA;YACVO,MAAQ,EAAA,IAAA;YACRC,UAAY,EAAA9E;UACd,CAAA;UACA+E,MAAQ,EAAA,KAAA;UACRC,MAAQ,EAAA,IAAA;UACRC,QAAU,EAAA,QAAA;UAEVC,OAAS,EAAA,WAAA;UACTC,QAAU,EAAA;QAAA,CACX,CAAA;QAEG,IAAAX,aAAA,CAAcY,QAAS,CAAAzB,MAAA,GAAS,CAAG,EAAA;UAC9BlD,MAAA,CAAA4E,IAAA,CAAK,GAAGb,aAAA,CAAcY,QAAQ,CAAA;QACvC;eACOE,GAAP,EAAA;QACM,MAAA;UAACC;QAAU,CAAA,GAAAD,GAAA;QAEjB,KAAA,MAAWE,QAAQD,MAAQ,EAAA;UACzB,IAAIC,KAAKC,QAAU,EAAA;YACjBhF,MAAA,CAAOmD,KAAM,CAAA4B,IAAA,CAAKE,MAAU,IAAAF,IAAA,CAAKG,IAAI,CAAA;YACrClF,MAAA,CAAOmD,gBAAS4B,IAAA,CAAKC,SAASG,IAAU,gBAAAJ,IAAA,CAAKC,SAASI,QAAU,EAAA;YACzDpF,MAAA,CAAAmD,KAAA,CACL,IAAA,cACK4B,KAAKC,QAAS,CAAApG,IAAA,cAAQmG,KAAKC,QAAS,CAAAG,IAAA,cAAQJ,KAAKC,QAAS,CAAAK,MAAA,EACjE;UAAA,CACK,MAAA;YACLrF,MAAA,CAAOmD,KAAM,CAAA4B,IAAA,CAAKE,MAAU,IAAAF,IAAA,CAAKG,IAAI,CAAA;UACvC;UAEAlF,MAAA,CAAOE,GAAI,EAAA;QACb;QAEAkD,OAAA,CAAQC,KAAK,CAAC,CAAA;MAChB;IACF;IAEI,IAAAC,MAAA,CAAOvB,QAAQmB,MAAQ,EAAA;MACnB,MAAAW,IAAA,GAAOP,MAAO,CAAAvB,OAAA,CAAQhB,GAAI,CAAC+C,yBAAmBA,EAAA,OAAM,CAAE,CAAA9B,IAAA,CAAK,IAAI,CAAA;MAE/D,MAAA+B,aAAA,GAAgB,MAAMC,gBAAA,CAAAhF,OAAA,CAAQiF,KAAM,CAAA;QACxCT,QAAA;QACAU,KAAO,EAAA;UACLC,QAAU,EAAAN,IAAA;UACVO,MAAQ,EAAA,IAAA;UACRC,UAAY,EAAA9E;QACd,CAAA;QACA+E,MAAQ,EAAA,KAAA;QACRC,MAAQ,EAAA,IAAA;QAERE,OAAS,EAAA,WAAA;QACTC,QAAU,EAAA;MAAA,CACX,CAAA;MAEG,IAAAX,aAAA,CAAce,MAAO,CAAA5B,MAAA,GAAS,CAAG,EAAA;QAEnClD,MAAA,CAAOmD,KAAM,CAAAY,aAAA,CAAce,MAAO,CAAA9C,IAAA,CAAK,IAAI,CAAC,CAAA;QAC5CoB,OAAA,CAAQC,KAAK,CAAC,CAAA;MAChB;MAEI,IAAAU,aAAA,CAAcY,QAAS,CAAAzB,MAAA,GAAS,CAAG,EAAA;QAC9BlD,MAAA,CAAA4E,IAAA,CAAK,GAAGb,aAAA,CAAcY,QAAQ,CAAA;MACvC;IACF;EACF;AACF;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var check = require('./check-
|
|
4
|
-
var handleError = require('./handleError-
|
|
3
|
+
var check = require('./check-3bf5eb0d.cjs');
|
|
4
|
+
var handleError = require('./handleError-13d87f55.cjs');
|
|
5
5
|
async function checkAction(options) {
|
|
6
6
|
try {
|
|
7
7
|
await check.check({
|
|
@@ -14,4 +14,4 @@ async function checkAction(options) {
|
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
exports.checkAction = checkAction;
|
|
17
|
-
//# sourceMappingURL=checkAction-
|
|
17
|
+
//# sourceMappingURL=checkAction-fcfe53a1.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkAction-
|
|
1
|
+
{"version":3,"file":"checkAction-fcfe53a1.cjs","sources":["../../src/cli/checkAction.ts"],"sourcesContent":["import {check} from '../node/check'\nimport {handleError} from './handleError'\n\nexport async function checkAction(options: {strict?: boolean; tsconfig?: string}): Promise<void> {\n try {\n await check({\n cwd: process.cwd(),\n strict: options.strict,\n tsconfig: options.tsconfig,\n })\n } catch (err) {\n handleError(err)\n }\n}\n"],"names":["checkAction","options","check","cwd","process","strict","tsconfig","err","handleError"],"mappings":";;;;AAGA,eAAsBA,YAAYC,OAA+D,EAAA;EAC3F,IAAA;IACF,MAAMC,WAAM,CAAA;MACVC,GAAA,EAAKC,QAAQD,GAAI,EAAA;MACjBE,QAAQJ,OAAQ,CAAAI,MAAA;MAChBC,UAAUL,OAAQ,CAAAK;IAAA,CACnB,CAAA;WACMC,GAAP,EAAA;IACAC,WAAA,CAAAA,WAAA,CAAYD,GAAG,CAAA;EACjB;AACF;"}
|
|
@@ -10,8 +10,10 @@ var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
|
|
|
10
10
|
function handleError(err) {
|
|
11
11
|
if (err instanceof Error) {
|
|
12
12
|
console.error(chalk__default.default.red("error"), err.message);
|
|
13
|
+
} else {
|
|
14
|
+
console.error(err);
|
|
13
15
|
}
|
|
14
16
|
process.exit(1);
|
|
15
17
|
}
|
|
16
18
|
exports.handleError = handleError;
|
|
17
|
-
//# sourceMappingURL=handleError-
|
|
19
|
+
//# sourceMappingURL=handleError-13d87f55.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleError-13d87f55.cjs","sources":["../../src/cli/handleError.ts"],"sourcesContent":["/* eslint-disable no-console */\n\nimport chalk from 'chalk'\n\nexport function handleError(err: unknown): void {\n if (err instanceof Error) {\n console.error(chalk.red('error'), err.message)\n } else {\n console.error(err)\n }\n\n process.exit(1)\n}\n"],"names":["handleError","err","Error","console","error","chalk","red","message","process","exit"],"mappings":";;;;;;;;;AAIO,SAASA,YAAYC,GAAoB,EAAA;EAC9C,IAAIA,eAAeC,KAAO,EAAA;IACxBC,OAAA,CAAQC,MAAMC,sBAAM,CAAAC,GAAA,CAAI,OAAO,CAAA,EAAGL,IAAIM,OAAO,CAAA;EAAA,CACxC,MAAA;IACLJ,OAAA,CAAQC,MAAMH,GAAG,CAAA;EACnB;EAEAO,OAAA,CAAQC,KAAK,CAAC,CAAA;AAChB;"}
|
|
@@ -28,7 +28,7 @@ var pluginNodeResolve = require('@rollup/plugin-node-resolve');
|
|
|
28
28
|
var replace = require('@rollup/plugin-replace');
|
|
29
29
|
var terser = require('@rollup/plugin-terser');
|
|
30
30
|
var esbuild = require('rollup-plugin-esbuild');
|
|
31
|
-
var resolveBuildContext = require('./resolveBuildContext-
|
|
31
|
+
var resolveBuildContext = require('./resolveBuildContext-86a1602c.cjs');
|
|
32
32
|
require('esbuild-register/dist/node');
|
|
33
33
|
require('pkg-up');
|
|
34
34
|
require('find-config');
|
|
@@ -830,4 +830,4 @@ exports.getExtractMessagesConfig = getExtractMessagesConfig;
|
|
|
830
830
|
exports.rollupTask = rollupTask;
|
|
831
831
|
exports.rollupWatchTask = rollupWatchTask;
|
|
832
832
|
exports.watchTaskHandlers = watchTaskHandlers;
|
|
833
|
-
//# sourceMappingURL=index-
|
|
833
|
+
//# sourceMappingURL=index-5e7d04c4.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-9910b918.cjs","sources":["../../src/node/printExtractMessages.ts","../../src/node/tasks/dts/printDiagnostic.ts","../../src/node/tasks/dts/buildTypes.ts","../../src/node/tasks/dts/DtsError.ts","../../src/node/tasks/dts/createApiExtractorConfig.ts","../../src/node/tasks/dts/createTSDocConfig.ts","../../src/node/tasks/dts/extractModuleBlocks.ts","../../src/node/tasks/dts/getExtractMessagesConfig.ts","../../src/node/tasks/dts/extractTypes.ts","../../src/node/tasks/dts/doExtract.ts","../../src/node/tasks/dts/dtsTask.ts","../../src/node/tasks/dts/dtsWatchTask.ts","../../src/node/tasks/rollup/consoleSpy.ts","../../src/node/tasks/rollup/resolveRollupConfig.ts","../../src/node/tasks/rollup/rollupTask.ts","../../src/node/tasks/rollup/rollupWatchTask.ts","../../src/node/tasks/index.ts"],"sourcesContent":["import path from 'path'\nimport {ExtractorMessage} from '@microsoft/api-extractor'\nimport chalk from 'chalk'\nimport {BuildContext} from './core'\n\nexport function printExtractMessages(ctx: BuildContext, messages: ExtractorMessage[]): void {\n const {cwd, logger} = ctx\n\n const warnings = messages.filter((msg) => msg.logLevel === 'warning')\n\n if (warnings.length) {\n logger.log()\n }\n\n for (const msg of warnings) {\n const sourceFilePath = msg.sourceFilePath && path.relative(cwd, msg.sourceFilePath)\n\n if (msg.messageId === 'TS6307') {\n // Ignore this warning:\n // > TS6307: <filename> is not in project file list.\n // > Projects must list all files or use an 'include' pattern.\n continue\n }\n\n logger.log(\n [\n `${chalk.cyan(sourceFilePath || '?')}`,\n `:${chalk.yellow(msg.sourceFileLine)}:${chalk.yellow(msg.sourceFileColumn)}`,\n ` - ${chalk.yellow('warning')} ${chalk.gray(msg.messageId)}\\n`,\n msg.text,\n '\\n',\n ].join('')\n )\n }\n\n const errors: ExtractorMessage[] = messages.filter((msg) => msg.logLevel === 'error')\n\n if (!warnings.length && errors.length) {\n logger.log('')\n }\n\n for (const msg of errors) {\n const sourceFilePath = msg.sourceFilePath && path.relative(cwd, msg.sourceFilePath)\n\n logger.log(\n [\n `${chalk.cyan(sourceFilePath || '?')}`,\n `:${chalk.yellow(msg.sourceFileLine)}:${chalk.yellow(msg.sourceFileColumn)}`,\n ` - ${chalk.red('error')} ${chalk.gray(msg.messageId)}\\n`,\n msg.text,\n '\\n',\n ].join('')\n )\n }\n\n if (errors.length) {\n process.exit(1)\n }\n}\n","import path from 'path'\nimport chalk from 'chalk'\nimport ts from 'typescript'\nimport {Logger} from '../../logger'\n\nexport function printDiagnostic(options: {\n cwd: string\n logger: Logger\n diagnostic: ts.Diagnostic\n}): void {\n const {cwd, logger, diagnostic} = options\n\n if (diagnostic.file && diagnostic.start) {\n const {line, character} = ts.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start)\n const message = ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n')\n\n const file = path.relative(cwd, diagnostic.file.fileName)\n\n const output = [\n `${chalk.yellow(file)}:${chalk.blue(line + 1)}:${chalk.blue(character + 1)} - `,\n `${chalk.gray(`TS${diagnostic.code}:`)} ${message}`,\n ].join('')\n\n if (diagnostic.category === ts.DiagnosticCategory.Error) {\n logger.error(output)\n }\n\n if (diagnostic.category === ts.DiagnosticCategory.Warning) {\n logger.warn(output)\n }\n\n if (diagnostic.category === ts.DiagnosticCategory.Message) {\n logger.log(output)\n }\n\n if (diagnostic.category === ts.DiagnosticCategory.Suggestion) {\n logger.log(output)\n }\n } else {\n logger.log(ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n'))\n }\n}\n","import ts from 'typescript'\nimport {Logger} from '../../logger'\nimport {printDiagnostic} from './printDiagnostic'\n\n/** @internal */\nexport async function buildTypes(options: {\n cwd: string\n logger: Logger\n outDir: string\n tsconfig: ts.ParsedCommandLine\n strict: boolean\n}): Promise<void> {\n const {cwd, logger, outDir, tsconfig, strict = false} = options\n\n const compilerOptions: ts.CompilerOptions = {\n ...tsconfig.options,\n declaration: true,\n declarationDir: outDir,\n emitDeclarationOnly: true,\n noEmit: false,\n outDir,\n }\n\n const program = ts.createProgram(tsconfig.fileNames, compilerOptions)\n\n const emitResult = program.emit()\n\n const allDiagnostics = ts.getPreEmitDiagnostics(program).concat(emitResult.diagnostics)\n\n for (const diagnostic of allDiagnostics) {\n printDiagnostic({cwd, logger, diagnostic})\n }\n\n if (emitResult.emitSkipped) {\n const errors = allDiagnostics.filter((diag) => diag.category === ts.DiagnosticCategory.Error)\n\n if (errors.length) {\n if (strict) {\n throw new Error('failed to compile TypeScript definitions')\n }\n }\n }\n}\n","import {ExtractorMessage} from '@microsoft/api-extractor'\n\n/** @internal */\nexport class DtsError extends Error {\n messages: ExtractorMessage[]\n\n constructor(message: string, messages: ExtractorMessage[]) {\n super(message)\n this.messages = messages\n }\n}\n","import path from 'path'\nimport {IConfigFile, IExtractorMessagesConfig} from '@microsoft/api-extractor'\n\nexport function createApiExtractorConfig(options: {\n distPath: string\n exportPath: string\n filePath: string\n messages: IExtractorMessagesConfig\n projectFolder: string\n mainEntryPointFilePath: string\n tsconfigPath: string\n}): IConfigFile {\n const {\n distPath,\n exportPath,\n filePath,\n messages,\n projectFolder,\n mainEntryPointFilePath,\n tsconfigPath,\n } = options\n\n return {\n apiReport: {\n enabled: false,\n reportFileName: '<unscopedPackageName>.api.md',\n },\n // bundledPackages: [],\n compiler: {\n tsconfigFilePath: tsconfigPath,\n },\n docModel: {\n enabled: false,\n apiJsonFilePath: path.resolve(distPath, `${exportPath}.api.json`),\n },\n dtsRollup: {\n enabled: true,\n untrimmedFilePath: path.resolve(distPath, filePath),\n // betaTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-beta.d.ts')),\n // publicTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-public.d.ts')),\n },\n tsdocMetadata: {\n enabled: false,\n },\n messages,\n mainEntryPointFilePath,\n projectFolder,\n }\n}\n","import {readFile} from 'fs/promises'\nimport {TSDocConfigFile} from '@microsoft/tsdoc-config'\nimport {parse} from 'jsonc-parser'\n\n/** @public */\nexport interface TSDocCustomTag {\n name: string\n syntaxKind: 'block' | 'modifier'\n allowMultiple?: boolean\n}\n\n/** @internal */\nexport async function createTSDocConfig(opts: {\n customTags: TSDocCustomTag[]\n}): Promise<TSDocConfigFile | undefined> {\n const {customTags} = opts\n\n if (customTags.length === 0) {\n return undefined\n }\n\n const tsDocBaseBuf = await readFile(\n require.resolve('@microsoft/api-extractor/extends/tsdoc-base.json')\n )\n\n // Include the definitions that are required for API Extractor\n // extends: ['@microsoft/api-extractor/extends/tsdoc-base.json'],\n const tsDocBaseConfig = parse(tsDocBaseBuf.toString())\n\n // Define custom tags and specify how they should be parsed\n const tagDefinitions = (tsDocBaseConfig.tagDefinitions || []).concat(\n customTags.map((t) => ({\n tagName: `@${t.name}`,\n syntaxKind: t.syntaxKind,\n allowMultiple: t.allowMultiple,\n }))\n )\n\n // Indicate that custom tags are supported by your tooling.\n // (Without this, warnings may be reported saying that a tag is unsupported.)\n const supportForTags = {...tsDocBaseConfig.supportForTags}\n\n for (const customTag of customTags) {\n supportForTags[`@${customTag.name}`] = true\n }\n\n return TSDocConfigFile.loadFromObject({\n ...tsDocBaseConfig,\n noStandardTags: false,\n tagDefinitions,\n supportForTags,\n })\n}\n","import type {File} from '@babel/types'\nimport {ExtractorResult} from '@microsoft/api-extractor'\nimport {parse, print} from 'recast'\nimport typeScriptParser from 'recast/parsers/typescript'\nimport {Program} from 'typescript'\n\n/**\n * A workaround to find all module blocks in extract TS files.\n * @internal\n * */\nexport async function extractModuleBlocksFromTypes({\n tsOutDir,\n extractResult,\n}: {\n tsOutDir: string\n extractResult: ExtractorResult\n}): Promise<string[]> {\n const program = extractResult.compilerState.program as Program\n const moduleBlocks: string[] = []\n\n // all program files, including node_modules\n const allProgramFiles = [...program.getSourceFiles()]\n\n // just our compiled files used in the program\n const sourceFiles = allProgramFiles.filter((sourceFile) => sourceFile.fileName.includes(tsOutDir))\n\n for (const sourceFile of sourceFiles) {\n if (sourceFile.text.includes('declare module')) {\n moduleBlocks.push(...extractModuleBlocks(sourceFile.text))\n }\n }\n\n return moduleBlocks\n}\n\n/** @internal */\nexport function extractModuleBlocks(fileContent: string): string[] {\n const ast = parse(fileContent, {\n parser: typeScriptParser,\n }) as File\n\n return ast.program.body\n .filter((node) => node.type === 'TSModuleDeclaration')\n .map((node) => print(node).code)\n}\n","import {ExtractorLogLevel, IExtractorMessagesConfig} from '@microsoft/api-extractor'\nimport {PkgRuleLevel, PkgConfigOptions} from '../../core'\n\nconst LOG_LEVELS: Record<PkgRuleLevel, ExtractorLogLevel> = {\n error: 'error' as ExtractorLogLevel.Error,\n info: 'info' as ExtractorLogLevel.Info,\n off: 'none' as ExtractorLogLevel.None,\n warn: 'warning' as ExtractorLogLevel.Warning,\n}\n\n/** @internal */\nexport function getExtractMessagesConfig(options: {\n rules: NonNullable<PkgConfigOptions['extract']>['rules']\n}): IExtractorMessagesConfig {\n const {rules} = options\n\n function ruleToLogLevel(\n key: keyof NonNullable<NonNullable<PkgConfigOptions['extract']>['rules']>,\n defaultLevel?: ExtractorLogLevel\n ) {\n const r = rules?.[key]\n\n return (r ? LOG_LEVELS[r] : defaultLevel || 'warning') as ExtractorLogLevel\n }\n\n return {\n compilerMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n },\n },\n\n extractorMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n\n 'ae-forgotten-export': {\n logLevel: ruleToLogLevel('ae-forgotten-export', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-incompatible-release-tags': {\n logLevel: ruleToLogLevel('ae-incompatible-release-tags', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-internal-missing-underscore': {\n logLevel: ruleToLogLevel('ae-internal-missing-underscore'),\n addToApiReportFile: false,\n },\n\n 'ae-missing-release-tag': {\n logLevel: ruleToLogLevel('ae-missing-release-tag', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-wrong-input-file-type': {\n logLevel: 'none' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n },\n\n tsdocMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n\n 'tsdoc-link-tag-unescaped-text': {\n logLevel: ruleToLogLevel('tsdoc-link-tag-unescaped-text', 'warning' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'tsdoc-undefined-tag': {\n logLevel: ruleToLogLevel('tsdoc-undefined-tag', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'tsdoc-unsupported-tag': {\n logLevel: ruleToLogLevel('tsdoc-unsupported-tag', 'none' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n },\n }\n}\n","import fs from 'fs/promises'\nimport path from 'path'\nimport {\n Extractor,\n ExtractorConfig,\n ExtractorMessage,\n ExtractorResult,\n} from '@microsoft/api-extractor'\nimport mkdirp from 'mkdirp'\nimport prettier from 'prettier'\nimport {PkgConfigOptions, BuildFile} from '../../core'\nimport {createApiExtractorConfig} from './createApiExtractorConfig'\nimport {createTSDocConfig} from './createTSDocConfig'\nimport {extractModuleBlocksFromTypes} from './extractModuleBlocks'\nimport {getExtractMessagesConfig} from './getExtractMessagesConfig'\n\nexport async function extractTypes(options: {\n customTags: NonNullable<PkgConfigOptions['extract']>['customTags']\n cwd: string\n distPath: string\n exportPath: string\n filePath: string\n files: BuildFile[]\n projectPath: string\n rules?: NonNullable<PkgConfigOptions['extract']>['rules']\n sourceTypesPath: string\n tmpPath: string\n tsconfigPath: string\n}): Promise<{extractorResult: ExtractorResult; messages: ExtractorMessage[]}> {\n const {\n customTags,\n distPath,\n exportPath,\n files,\n filePath,\n projectPath,\n rules,\n sourceTypesPath,\n tmpPath,\n tsconfigPath,\n } = options\n\n const tsdocConfigFile = await createTSDocConfig({\n customTags: customTags || [],\n })\n\n const extractorConfig: ExtractorConfig = ExtractorConfig.prepare({\n configObject: createApiExtractorConfig({\n distPath,\n exportPath,\n filePath,\n messages: getExtractMessagesConfig({rules}),\n projectFolder: projectPath,\n mainEntryPointFilePath: sourceTypesPath,\n tsconfigPath,\n }),\n configObjectFullPath: undefined,\n tsdocConfigFile,\n packageJsonFullPath: path.resolve(projectPath, 'package.json'),\n })\n\n const messages: ExtractorMessage[] = []\n\n // Invoke API Extractor\n const extractorResult = Extractor.invoke(extractorConfig, {\n // Equivalent to the \"--local\" command-line parameter\n localBuild: true,\n // Equivalent to the \"--verbose\" command-line parameter\n showVerboseMessages: true,\n // handle messages\n messageCallback(message: ExtractorMessage) {\n messages.push(message)\n message.handled = true\n },\n })\n\n const typesPath = path.resolve(distPath, filePath)\n const typesBuf = await fs.readFile(typesPath)\n const prettierConfig = await prettier.resolveConfig(typesPath)\n\n await mkdirp(path.dirname(typesPath))\n\n const moduleBlocks = await extractModuleBlocksFromTypes({\n extractResult: extractorResult,\n tsOutDir: tmpPath,\n })\n\n const code = [typesBuf.toString(), ...moduleBlocks].join('\\n\\n')\n\n await fs.writeFile(\n typesPath,\n prettier.format(code, {\n ...prettierConfig,\n filepath: typesPath,\n })\n )\n\n // Add to `files` in context\n files.push({\n type: 'types',\n path: typesPath,\n })\n\n return {extractorResult, messages}\n}\n","import path from 'path'\nimport {promisify} from 'util'\nimport {ExtractorMessage} from '@microsoft/api-extractor'\nimport rimrafCallback from 'rimraf'\nimport {BuildContext} from '../../core'\nimport {buildTypes} from './buildTypes'\nimport {DtsError} from './DtsError'\nimport {extractTypes} from './extractTypes'\nimport {DtsResult, DtsTask, DtsWatchTask} from './types'\n\nconst rimraf = promisify(rimrafCallback)\n\n/**\n * - Build type definitions to a temporary directory using TypeScript compiler.\n * - Create a type definition bundle for each export entry.\n * - When done, remove the temporary directory.\n */\nexport async function doExtract(\n ctx: BuildContext,\n task: DtsTask | DtsWatchTask\n): Promise<DtsResult> {\n const {config, cwd, files, logger, strict, ts} = ctx\n\n if (!ts.config || !ts.configPath) {\n return {type: 'dts', messages: [], results: []}\n }\n\n const {outDir, rootDir = cwd} = ts.config.options\n\n if (!outDir) {\n throw new Error('tsconfig.json is missing `compilerOptions.outDir`')\n }\n\n const tmpPath = path.resolve(outDir, '__tmp__')\n\n await buildTypes({cwd, logger, outDir: tmpPath, strict, tsconfig: ts.config})\n const messages: ExtractorMessage[] = []\n\n const results: {sourcePath: string; filePath: string}[] = []\n\n for (const entry of task.entries) {\n const exportPath = entry.exportPath === '.' ? './index' : entry.exportPath\n\n const sourceTypesPath = path.resolve(\n tmpPath,\n path.relative(rootDir, path.resolve(cwd, entry.sourcePath)).replace(/\\.ts$/, '.d.ts')\n )\n\n const targetPath = path.resolve(cwd, entry.targetPath)\n const filePath = path.relative(outDir, targetPath)\n const result = await extractTypes({\n customTags: config?.extract?.customTags,\n cwd,\n distPath: outDir,\n exportPath,\n files,\n filePath: filePath,\n projectPath: cwd,\n rules: config?.extract?.rules,\n sourceTypesPath: sourceTypesPath,\n tmpPath,\n tsconfigPath: path.resolve(cwd, ts.configPath || 'tsconfig.json'),\n })\n\n messages.push(...result.messages)\n\n if (result.messages.some((msg) => msg.logLevel === 'error')) {\n await rimraf(tmpPath)\n\n throw new DtsError('encountered errors when extracting types', result.messages)\n }\n\n results.push({sourcePath: path.resolve(cwd, entry.sourcePath), filePath: targetPath})\n }\n\n await rimraf(tmpPath)\n\n return {type: 'dts', messages, results}\n}\n","import chalk from 'chalk'\nimport {Observable} from 'rxjs'\nimport {printExtractMessages} from '../../printExtractMessages'\nimport {TaskHandler} from '../types'\nimport {doExtract} from './doExtract'\nimport {DtsError} from './DtsError'\nimport {DtsResult, DtsTask} from './types'\n\n/** @internal */\nexport const dtsTask: TaskHandler<DtsTask, DtsResult> = {\n name: (_ctx, task) =>\n [\n `Build type definitions...`,\n ` entries:`,\n ...task.entries.map((entry) =>\n [\n ` - ${chalk.cyan(entry.importId)}: `,\n `${chalk.yellow(entry.sourcePath)} ${chalk.gray('→')} ${chalk.yellow(entry.targetPath)}`,\n ].join('')\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n doExtract(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => {\n observer.error(err)\n })\n })\n },\n complete: (ctx, _task, result) => {\n printExtractMessages(ctx, result.messages)\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof DtsError) {\n printExtractMessages(ctx, err.messages)\n } else if (err instanceof Error) {\n logger.error(err)\n }\n },\n}\n","import chalk from 'chalk'\nimport {Observable} from 'rxjs'\nimport {printExtractMessages} from '../../printExtractMessages'\nimport {TaskHandler} from '../types'\nimport {doExtract} from './doExtract'\nimport {DtsError} from './DtsError'\nimport {DtsResult, DtsWatchTask} from './types'\n\n/** @internal */\nexport const dtsWatchTask: TaskHandler<DtsWatchTask, DtsResult> = {\n name: (_ctx, task) =>\n [\n `build type definitions`,\n ...task.entries.map(\n (entry) =>\n ` ${chalk.blue(entry.importId)}: ${entry.sourcePath} -> ${entry.targetPath}`\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n doExtract(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => observer.error(err))\n })\n },\n complete: (ctx, _task, result) => {\n const {logger} = ctx\n\n printExtractMessages(ctx, result.messages)\n\n logger.warn('watching typescript definitions is currently not supported')\n logger.log()\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof DtsError) {\n printExtractMessages(ctx, err.messages)\n } else if (err instanceof Error) {\n logger.error(err)\n }\n },\n}\n","/* eslint-disable no-console */\n\nexport interface ConsoleSpyMsg {\n type: 'log' | 'warn' | 'error'\n code?: string\n args: unknown[]\n}\n\nexport interface ConsoleSpy {\n messages: ConsoleSpyMsg[]\n restore: () => void\n}\n\nexport function createConsoleSpy(options: {\n onRestored: (messages: ConsoleSpyMsg[]) => void\n}): ConsoleSpy {\n const {onRestored} = options\n\n const original = {\n log: console.log,\n warn: console.warn,\n error: console.error,\n }\n\n const messages: ConsoleSpyMsg[] = []\n\n console.log = (...args: unknown[]) => messages.push({type: 'log', args})\n console.warn = (...args: unknown[]) => messages.push({type: 'warn', args})\n console.error = (...args: unknown[]) => messages.push({type: 'error', args})\n\n return {\n messages,\n restore: () => {\n console.log = original.log\n console.warn = original.warn\n console.error = original.error\n\n onRestored(messages)\n },\n }\n}\n","import path from 'path'\nimport alias from '@rollup/plugin-alias'\nimport {getBabelOutputPlugin} from '@rollup/plugin-babel'\nimport commonjs from '@rollup/plugin-commonjs'\nimport json from '@rollup/plugin-json'\nimport {nodeResolve} from '@rollup/plugin-node-resolve'\nimport replace from '@rollup/plugin-replace'\nimport terser from '@rollup/plugin-terser'\nimport {InputOptions, OutputOptions, Plugin} from 'rollup'\nimport esbuild from 'rollup-plugin-esbuild'\nimport {BuildContext, DEFAULT_BROWSERSLIST_QUERY, resolveConfigProperty} from '../../core'\nimport {RollupTask, RollupWatchTask} from '../types'\n\nexport interface RollupConfig {\n inputOptions: InputOptions\n outputOptions: OutputOptions\n}\n\n/** @internal */\nexport function resolveRollupConfig(\n ctx: BuildContext,\n buildTask: RollupTask | RollupWatchTask\n): RollupConfig {\n const {format, runtime, target} = buildTask\n const {config, cwd, exports: _exports, extMap, external, distPath, logger, pkg, ts} = ctx\n const outputExt = extMap[pkg.type || 'commonjs'][format]\n const minify = config?.minify ?? false\n const outDir = path.relative(cwd, distPath)\n\n const pathAliases = Object.fromEntries(\n Object.entries(ts.config?.options.paths || {}).map(([key, val]) => {\n return [key, path.resolve(cwd, ts.config?.options.baseUrl || '.', val[0])]\n })\n )\n\n const entries = buildTask.entries.map((entry) => {\n return {\n ...entry,\n name: path.relative(outDir, entry.output).replace(/\\.[^/.]+$/, ''),\n }\n }, {})\n\n const exportIds =\n _exports && Object.keys(_exports).map((exportPath) => path.join(pkg.name, exportPath))\n\n const sourcePaths = _exports && Object.values(_exports).map((e) => path.resolve(cwd, e.source))\n\n const replacements = Object.fromEntries(\n Object.entries(config?.define || {}).map(([key, val]) => [key, JSON.stringify(val)])\n )\n\n const defaultPlugins = [\n replace({\n preventAssignment: true,\n values: {\n ...(pkg.name === '@sanity/pkg-utils'\n ? {...replacements}\n : {\n 'process.env.PKG_FILE_PATH': (arg) => {\n const sourcePath = './' + path.relative(cwd, arg)\n const entry = entries.find((e) => e.source === sourcePath)\n\n if (!entry) {\n // eslint-disable-next-line no-console\n console.error(`could not find source entry: ${sourcePath}`)\n\n return 'null'\n }\n\n return JSON.stringify(\n path.relative(cwd, path.resolve(outDir, entry.name + outputExt))\n )\n },\n 'process.env.PKG_FORMAT': JSON.stringify(format),\n 'process.env.PKG_RUNTIME': JSON.stringify(runtime),\n 'process.env.PKG_VERSION': JSON.stringify(process.env.PKG_VERSION || pkg.version),\n ...replacements,\n }),\n },\n }),\n alias({\n entries: {...pathAliases},\n }),\n nodeResolve({\n // mainFields: ['module', 'jsnext', 'main'],\n browser: runtime === 'browser',\n // exportConditions: [runtime === 'node' ? 'node' : 'browser'],\n extensions: ['.cjs', '.mjs', '.js', '.jsx', '.json', '.node'],\n preferBuiltins: true, // runtime === 'node',\n }),\n commonjs(),\n json(),\n esbuild({\n jsx: config?.jsx ?? 'automatic',\n jsxFactory: config?.jsxFactory ?? 'createElement',\n jsxFragment: config?.jsxFragment ?? 'Fragment',\n jsxImportSource: config?.jsxImportSource ?? 'react',\n target,\n tsconfig: ctx.ts.configPath || 'tsconfig.json',\n }),\n getBabelOutputPlugin({\n babelrc: false,\n plugins: ['@babel/plugin-proposal-object-rest-spread'],\n presets: [\n [\n '@babel/preset-env',\n {targets: pkg.browserslist || DEFAULT_BROWSERSLIST_QUERY, modules: false},\n ],\n ],\n }),\n minify &&\n terser({\n compress: {\n // Needed until https://github.com/terser/terser/issues/1320 is fixed\n directives: false,\n },\n output: {\n comments: (_node, comment) => {\n const text = comment.value\n const type = comment.type\n\n // Check if this is a multiline comment\n if (type == 'comment2') {\n // Keep licensing comments\n return /@preserve|@license|@cc_on/i.test(text)\n }\n\n return false\n },\n },\n }),\n ].filter(Boolean) as Plugin[]\n\n const userPlugins = config?.rollup?.plugins\n\n const plugins = Array.isArray(userPlugins)\n ? defaultPlugins.concat(userPlugins)\n : resolveConfigProperty(config?.rollup?.plugins, defaultPlugins)\n\n return {\n inputOptions: {\n context: cwd,\n\n external: (id, importer) => {\n // Check if the id is a self-referencing import\n if (exportIds?.includes(id)) {\n return true\n }\n\n // Check if the id is a file path that points to an exported source file\n if (importer && (id.startsWith('.') || id.startsWith('/'))) {\n const idPath = path.resolve(path.dirname(importer), id)\n\n if (sourcePaths?.includes(idPath)) {\n logger.warn(\n `detected self-referencing import – treating as external: ${path.relative(\n cwd,\n idPath\n )}`\n )\n\n return true\n }\n }\n\n const idParts = id.split('/')\n\n const name = idParts[0].startsWith('@') ? `${idParts[0]}/${idParts[1]}` : idParts[0]\n\n if (name && external.includes(name)) {\n return true\n }\n\n return false\n },\n\n input: entries.reduce<{[entryAlias: string]: string}>((acc, entry) => {\n return {...acc, [entry.name]: entry.source}\n }, {}),\n\n plugins,\n\n treeshake: {\n propertyReadSideEffects: false,\n },\n },\n outputOptions: {\n chunkFileNames: () => {\n const parts = outputExt.split('.')\n\n if (parts.length === 3) {\n return `_chunks/[name]-[hash].${parts[2]}`\n }\n\n return `_chunks/[name]-[hash]${outputExt}`\n },\n compact: minify,\n dir: outDir,\n entryFileNames: () => {\n const parts = outputExt.split('.')\n\n if (parts.length === 3) {\n return `[name].${parts[2]}`\n }\n\n return `[name]${outputExt}`\n },\n esModule: true,\n format,\n interop: 'compat',\n minifyInternalExports: minify,\n sourcemap: config?.sourcemap ?? true,\n hoistTransitiveImports: false,\n },\n }\n}\n","import path from 'path'\nimport chalk from 'chalk'\nimport {rollup} from 'rollup'\nimport {Observable} from 'rxjs'\nimport {BuildContext} from '../../core'\nimport {RollupTask, TaskHandler} from '../types'\nimport {createConsoleSpy} from './consoleSpy'\nimport {resolveRollupConfig} from './resolveRollupConfig'\n\n/** @internal */\nexport const rollupTask: TaskHandler<RollupTask> = {\n name: (ctx, task) =>\n [\n `Build javascript files...`,\n ` format: ${chalk.yellow(task.format)}`,\n ` target:`,\n ...task.target.map((t) => ` - ${chalk.yellow(t)}`),\n ` entries:`,\n ...task.entries.map((e) =>\n [\n ` - `,\n `${chalk.cyan(path.join(ctx.pkg.name, e.path))}: `,\n `${chalk.yellow(e.source)} ${chalk.gray('→')} ${chalk.yellow(e.output)}`,\n ].join('')\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n execPromise(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => observer.error(err))\n })\n },\n complete: () => {\n //\n },\n error: (_ctx, _task, err) => {\n // eslint-disable-next-line no-console\n console.error(err)\n },\n}\n\nasync function execPromise(ctx: BuildContext, task: RollupTask) {\n const {distPath, files, logger} = ctx\n const outDir = path.relative(ctx.cwd, distPath)\n\n // Prevent rollup from printing directly to the console\n const consoleSpy = createConsoleSpy({\n onRestored: (messages) => {\n for (const msg of messages) {\n const text = String(msg.args[0])\n\n if (msg.code === 'CIRCULAR_DEPENDENCY') {\n continue // ignore\n }\n\n if (text.startsWith('Dynamic import can only')) {\n continue // ignore\n }\n\n if (text.startsWith('Sourcemap is likely to be incorrect')) {\n continue // ignore\n }\n\n if (msg.type === 'log') {\n logger.info(...msg.args)\n }\n\n if (msg.type === 'warn') {\n logger.warn(...msg.args)\n }\n\n if (msg.type === 'error') {\n logger.error(...msg.args)\n }\n }\n },\n })\n\n try {\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n // Create bundle\n const bundle = await rollup({\n ...inputOptions,\n onwarn(warning) {\n consoleSpy.messages.push({\n type: 'warn',\n code: warning.code,\n args: [warning.message],\n })\n },\n })\n\n // generate output specific code in-memory\n // you can call this function multiple times on the same bundle object\n const {output} = await bundle.generate(outputOptions)\n\n for (const chunkOrAsset of output) {\n if (chunkOrAsset.type === 'asset') {\n files.push({\n type: 'asset',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n } else {\n files.push({\n type: 'chunk',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n }\n }\n\n // or write the bundle to disk\n await bundle.write(outputOptions)\n\n // closes the bundle\n await bundle.close()\n\n // Restore console\n consoleSpy.restore()\n } catch (err) {\n // Restore console\n consoleSpy.restore()\n throw err\n }\n}\n","import path from 'path'\nimport chalk from 'chalk'\nimport {RollupWatcherEvent, RollupWatchOptions, watch as rollupWatch} from 'rollup'\nimport {Observable} from 'rxjs'\nimport {RollupWatchTask, TaskHandler} from '../types'\nimport {resolveRollupConfig} from './resolveRollupConfig'\n\n/** @internal */\nexport const rollupWatchTask: TaskHandler<RollupWatchTask, RollupWatcherEvent> = {\n name: (ctx, task) =>\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`,\n exec: (ctx, task) => {\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n return new Observable((observer) => {\n const watchOptions: RollupWatchOptions = {\n ...inputOptions,\n output: outputOptions,\n }\n\n const watcher = rollupWatch(watchOptions)\n\n watcher.on('event', (event) => {\n observer.next(event)\n })\n\n return () => {\n watcher.close()\n }\n })\n },\n complete: (ctx, task, event) => {\n const {logger} = ctx\n\n if (event.code === 'BUNDLE_END') {\n logger.success(\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`\n )\n logger.log('')\n\n return\n }\n\n if (event.code === 'BUNDLE_START') {\n return\n }\n\n if (event.code === 'END') {\n return\n }\n\n if (event.code === 'ERROR') {\n logger.error(event.code, event)\n\n return\n }\n\n if (event.code === 'START') {\n return\n }\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof Error) {\n logger.log(err)\n }\n },\n}\n","import {dtsTask, dtsWatchTask} from './dts'\nimport {rollupTask, rollupWatchTask} from './rollup'\nimport {BuildTaskHandlers, WatchTaskHandlers} from './types'\n\nexport * from './types'\nexport * from './dts'\nexport * from './rollup'\n\n/** @internal */\nexport const buildTaskHandlers: BuildTaskHandlers = {\n 'build:dts': dtsTask,\n 'build:js': rollupTask,\n}\n\n/** @internal */\nexport const watchTaskHandlers: WatchTaskHandlers = {\n 'watch:dts': dtsWatchTask,\n 'watch:js': rollupWatchTask,\n}\n"],"names":["printExtractMessages","ctx","messages","cwd","logger","warnings","filter","msg","logLevel","length","log","sourceFilePath","path","relative","messageId","chalk","cyan","yellow","sourceFileLine","default","sourceFileColumn","gray","text","join","errors","red","process","exit","printDiagnostic","options","diagnostic","file","start","line","character","ts","getLineAndCharacterOfPosition","message","flattenDiagnosticMessageText","messageText","fileName","output","blue","code","category","DiagnosticCategory","Error","error","Warning","warn","Message","Suggestion","buildTypes","outDir","tsconfig","strict","compilerOptions","declaration","declarationDir","emitDeclarationOnly","noEmit","program","createProgram","fileNames","emitResult","emit","allDiagnostics","getPreEmitDiagnostics","concat","diagnostics","emitSkipped","diag","DtsError","constructor","createApiExtractorConfig","distPath","exportPath","filePath","projectFolder","mainEntryPointFilePath","tsconfigPath","apiReport","enabled","reportFileName","compiler","tsconfigFilePath","docModel","apiJsonFilePath","resolve","dtsRollup","untrimmedFilePath","tsdocMetadata","createTSDocConfig","opts","customTags","tsDocBaseBuf","readFile","require","tsDocBaseConfig","parse","toString","tagDefinitions","map","t","tagName","name","syntaxKind","allowMultiple","supportForTags","customTag","TSDocConfigFile","loadFromObject","noStandardTags","extractModuleBlocksFromTypes","tsOutDir","extractResult","compilerState","moduleBlocks","allProgramFiles","getSourceFiles","sourceFiles","sourceFile","includes","push","extractModuleBlocks","fileContent","ast","parser","typeScriptParser","body","node","type","print","LOG_LEVELS","info","off","getExtractMessagesConfig","rules","ruleToLogLevel","key","defaultLevel","r","compilerMessageReporting","extractorMessageReporting","addToApiReportFile","tsdocMessageReporting","extractTypes","files","projectPath","sourceTypesPath","tmpPath","tsdocConfigFile","extractorConfig","ExtractorConfig","prepare","configObject","configObjectFullPath","packageJsonFullPath","extractorResult","Extractor","invoke","localBuild","showVerboseMessages","messageCallback","handled","typesPath","typesBuf","fs","prettierConfig","prettier","resolveConfig","mkdirp","dirname","writeFile","format","filepath","rimraf","promisify","rimrafCallback","doExtract","task","_a","_b","config","configPath","results","rootDir","entry","entries","sourcePath","replace","targetPath","result","extract","some","dtsTask","_ctx","importId","exec","Observable","observer","then","next","complete","catch","err","_task","dtsWatchTask","createConsoleSpy","onRestored","original","console","args","restore","resolveRollupConfig","buildTask","_c","runtime","target","exports","_exports","extMap","external","pkg","outputExt","minify","pathAliases","Object","fromEntries","paths","val","baseUrl","exportIds","keys","sourcePaths","values","e","source","replacements","define","JSON","stringify","defaultPlugins","preventAssignment","arg","find","env","PKG_VERSION","version","alias","nodeResolve","browser","extensions","preferBuiltins","commonjs","json","esbuild","jsx","jsxFactory","jsxFragment","jsxImportSource","getBabelOutputPlugin","babelrc","plugins","presets","targets","browserslist","DEFAULT_BROWSERSLIST_QUERY","modules","terser","compress","directives","comments","_node","comment","value","test","Boolean","userPlugins","rollup","Array","isArray","resolveConfigProperty","inputOptions","context","id","importer","startsWith","idPath","idParts","split","input","reduce","acc","treeshake","propertyReadSideEffects","outputOptions","chunkFileNames","parts","compact","dir","entryFileNames","esModule","interop","minifyInternalExports","sourcemap","hoistTransitiveImports","rollupTask","execPromise","consoleSpy","String","bundle","onwarn","warning","generate","chunkOrAsset","write","close","rollupWatchTask","watchOptions","watcher","rollupWatch","on","event","success","buildTaskHandlers","watchTaskHandlers"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-5e7d04c4.cjs","sources":["../../src/node/printExtractMessages.ts","../../src/node/tasks/dts/printDiagnostic.ts","../../src/node/tasks/dts/buildTypes.ts","../../src/node/tasks/dts/DtsError.ts","../../src/node/tasks/dts/createApiExtractorConfig.ts","../../src/node/tasks/dts/createTSDocConfig.ts","../../src/node/tasks/dts/extractModuleBlocks.ts","../../src/node/tasks/dts/getExtractMessagesConfig.ts","../../src/node/tasks/dts/extractTypes.ts","../../src/node/tasks/dts/doExtract.ts","../../src/node/tasks/dts/dtsTask.ts","../../src/node/tasks/dts/dtsWatchTask.ts","../../src/node/tasks/rollup/consoleSpy.ts","../../src/node/tasks/rollup/resolveRollupConfig.ts","../../src/node/tasks/rollup/rollupTask.ts","../../src/node/tasks/rollup/rollupWatchTask.ts","../../src/node/tasks/index.ts"],"sourcesContent":["import path from 'path'\nimport {ExtractorMessage} from '@microsoft/api-extractor'\nimport chalk from 'chalk'\nimport {BuildContext} from './core'\n\nexport function printExtractMessages(ctx: BuildContext, messages: ExtractorMessage[]): void {\n const {cwd, logger} = ctx\n\n const warnings = messages.filter((msg) => msg.logLevel === 'warning')\n\n if (warnings.length) {\n logger.log()\n }\n\n for (const msg of warnings) {\n const sourceFilePath = msg.sourceFilePath && path.relative(cwd, msg.sourceFilePath)\n\n if (msg.messageId === 'TS6307') {\n // Ignore this warning:\n // > TS6307: <filename> is not in project file list.\n // > Projects must list all files or use an 'include' pattern.\n continue\n }\n\n logger.log(\n [\n `${chalk.cyan(sourceFilePath || '?')}`,\n `:${chalk.yellow(msg.sourceFileLine)}:${chalk.yellow(msg.sourceFileColumn)}`,\n ` - ${chalk.yellow('warning')} ${chalk.gray(msg.messageId)}\\n`,\n msg.text,\n '\\n',\n ].join('')\n )\n }\n\n const errors: ExtractorMessage[] = messages.filter((msg) => msg.logLevel === 'error')\n\n if (!warnings.length && errors.length) {\n logger.log('')\n }\n\n for (const msg of errors) {\n const sourceFilePath = msg.sourceFilePath && path.relative(cwd, msg.sourceFilePath)\n\n logger.log(\n [\n `${chalk.cyan(sourceFilePath || '?')}`,\n `:${chalk.yellow(msg.sourceFileLine)}:${chalk.yellow(msg.sourceFileColumn)}`,\n ` - ${chalk.red('error')} ${chalk.gray(msg.messageId)}\\n`,\n msg.text,\n '\\n',\n ].join('')\n )\n }\n\n if (errors.length) {\n process.exit(1)\n }\n}\n","import path from 'path'\nimport chalk from 'chalk'\nimport ts from 'typescript'\nimport {Logger} from '../../logger'\n\nexport function printDiagnostic(options: {\n cwd: string\n logger: Logger\n diagnostic: ts.Diagnostic\n}): void {\n const {cwd, logger, diagnostic} = options\n\n if (diagnostic.file && diagnostic.start) {\n const {line, character} = ts.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start)\n const message = ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n')\n\n const file = path.relative(cwd, diagnostic.file.fileName)\n\n const output = [\n `${chalk.yellow(file)}:${chalk.blue(line + 1)}:${chalk.blue(character + 1)} - `,\n `${chalk.gray(`TS${diagnostic.code}:`)} ${message}`,\n ].join('')\n\n if (diagnostic.category === ts.DiagnosticCategory.Error) {\n logger.error(output)\n }\n\n if (diagnostic.category === ts.DiagnosticCategory.Warning) {\n logger.warn(output)\n }\n\n if (diagnostic.category === ts.DiagnosticCategory.Message) {\n logger.log(output)\n }\n\n if (diagnostic.category === ts.DiagnosticCategory.Suggestion) {\n logger.log(output)\n }\n } else {\n logger.log(ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n'))\n }\n}\n","import ts from 'typescript'\nimport {Logger} from '../../logger'\nimport {printDiagnostic} from './printDiagnostic'\n\n/** @internal */\nexport async function buildTypes(options: {\n cwd: string\n logger: Logger\n outDir: string\n tsconfig: ts.ParsedCommandLine\n strict: boolean\n}): Promise<void> {\n const {cwd, logger, outDir, tsconfig, strict = false} = options\n\n const compilerOptions: ts.CompilerOptions = {\n ...tsconfig.options,\n declaration: true,\n declarationDir: outDir,\n emitDeclarationOnly: true,\n noEmit: false,\n outDir,\n }\n\n const program = ts.createProgram(tsconfig.fileNames, compilerOptions)\n\n const emitResult = program.emit()\n\n const allDiagnostics = ts.getPreEmitDiagnostics(program).concat(emitResult.diagnostics)\n\n for (const diagnostic of allDiagnostics) {\n printDiagnostic({cwd, logger, diagnostic})\n }\n\n if (emitResult.emitSkipped) {\n const errors = allDiagnostics.filter((diag) => diag.category === ts.DiagnosticCategory.Error)\n\n if (errors.length) {\n if (strict) {\n throw new Error('failed to compile TypeScript definitions')\n }\n }\n }\n}\n","import {ExtractorMessage} from '@microsoft/api-extractor'\n\n/** @internal */\nexport class DtsError extends Error {\n messages: ExtractorMessage[]\n\n constructor(message: string, messages: ExtractorMessage[]) {\n super(message)\n this.messages = messages\n }\n}\n","import path from 'path'\nimport {IConfigFile, IExtractorMessagesConfig} from '@microsoft/api-extractor'\n\nexport function createApiExtractorConfig(options: {\n distPath: string\n exportPath: string\n filePath: string\n messages: IExtractorMessagesConfig\n projectFolder: string\n mainEntryPointFilePath: string\n tsconfigPath: string\n}): IConfigFile {\n const {\n distPath,\n exportPath,\n filePath,\n messages,\n projectFolder,\n mainEntryPointFilePath,\n tsconfigPath,\n } = options\n\n return {\n apiReport: {\n enabled: false,\n reportFileName: '<unscopedPackageName>.api.md',\n },\n // bundledPackages: [],\n compiler: {\n tsconfigFilePath: tsconfigPath,\n },\n docModel: {\n enabled: false,\n apiJsonFilePath: path.resolve(distPath, `${exportPath}.api.json`),\n },\n dtsRollup: {\n enabled: true,\n untrimmedFilePath: path.resolve(distPath, filePath),\n // betaTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-beta.d.ts')),\n // publicTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-public.d.ts')),\n },\n tsdocMetadata: {\n enabled: false,\n },\n messages,\n mainEntryPointFilePath,\n projectFolder,\n }\n}\n","import {readFile} from 'fs/promises'\nimport {TSDocConfigFile} from '@microsoft/tsdoc-config'\nimport {parse} from 'jsonc-parser'\n\n/** @public */\nexport interface TSDocCustomTag {\n name: string\n syntaxKind: 'block' | 'modifier'\n allowMultiple?: boolean\n}\n\n/** @internal */\nexport async function createTSDocConfig(opts: {\n customTags: TSDocCustomTag[]\n}): Promise<TSDocConfigFile | undefined> {\n const {customTags} = opts\n\n if (customTags.length === 0) {\n return undefined\n }\n\n const tsDocBaseBuf = await readFile(\n require.resolve('@microsoft/api-extractor/extends/tsdoc-base.json')\n )\n\n // Include the definitions that are required for API Extractor\n // extends: ['@microsoft/api-extractor/extends/tsdoc-base.json'],\n const tsDocBaseConfig = parse(tsDocBaseBuf.toString())\n\n // Define custom tags and specify how they should be parsed\n const tagDefinitions = (tsDocBaseConfig.tagDefinitions || []).concat(\n customTags.map((t) => ({\n tagName: `@${t.name}`,\n syntaxKind: t.syntaxKind,\n allowMultiple: t.allowMultiple,\n }))\n )\n\n // Indicate that custom tags are supported by your tooling.\n // (Without this, warnings may be reported saying that a tag is unsupported.)\n const supportForTags = {...tsDocBaseConfig.supportForTags}\n\n for (const customTag of customTags) {\n supportForTags[`@${customTag.name}`] = true\n }\n\n return TSDocConfigFile.loadFromObject({\n ...tsDocBaseConfig,\n noStandardTags: false,\n tagDefinitions,\n supportForTags,\n })\n}\n","import type {File} from '@babel/types'\nimport {ExtractorResult} from '@microsoft/api-extractor'\nimport {parse, print} from 'recast'\nimport typeScriptParser from 'recast/parsers/typescript'\nimport {Program} from 'typescript'\n\n/**\n * A workaround to find all module blocks in extract TS files.\n * @internal\n * */\nexport async function extractModuleBlocksFromTypes({\n tsOutDir,\n extractResult,\n}: {\n tsOutDir: string\n extractResult: ExtractorResult\n}): Promise<string[]> {\n const program = extractResult.compilerState.program as Program\n const moduleBlocks: string[] = []\n\n // all program files, including node_modules\n const allProgramFiles = [...program.getSourceFiles()]\n\n // just our compiled files used in the program\n const sourceFiles = allProgramFiles.filter((sourceFile) => sourceFile.fileName.includes(tsOutDir))\n\n for (const sourceFile of sourceFiles) {\n if (sourceFile.text.includes('declare module')) {\n moduleBlocks.push(...extractModuleBlocks(sourceFile.text))\n }\n }\n\n return moduleBlocks\n}\n\n/** @internal */\nexport function extractModuleBlocks(fileContent: string): string[] {\n const ast = parse(fileContent, {\n parser: typeScriptParser,\n }) as File\n\n return ast.program.body\n .filter((node) => node.type === 'TSModuleDeclaration')\n .map((node) => print(node).code)\n}\n","import {ExtractorLogLevel, IExtractorMessagesConfig} from '@microsoft/api-extractor'\nimport {PkgRuleLevel, PkgConfigOptions} from '../../core'\n\nconst LOG_LEVELS: Record<PkgRuleLevel, ExtractorLogLevel> = {\n error: 'error' as ExtractorLogLevel.Error,\n info: 'info' as ExtractorLogLevel.Info,\n off: 'none' as ExtractorLogLevel.None,\n warn: 'warning' as ExtractorLogLevel.Warning,\n}\n\n/** @internal */\nexport function getExtractMessagesConfig(options: {\n rules: NonNullable<PkgConfigOptions['extract']>['rules']\n}): IExtractorMessagesConfig {\n const {rules} = options\n\n function ruleToLogLevel(\n key: keyof NonNullable<NonNullable<PkgConfigOptions['extract']>['rules']>,\n defaultLevel?: ExtractorLogLevel\n ) {\n const r = rules?.[key]\n\n return (r ? LOG_LEVELS[r] : defaultLevel || 'warning') as ExtractorLogLevel\n }\n\n return {\n compilerMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n },\n },\n\n extractorMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n\n 'ae-forgotten-export': {\n logLevel: ruleToLogLevel('ae-forgotten-export', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-incompatible-release-tags': {\n logLevel: ruleToLogLevel('ae-incompatible-release-tags', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-internal-missing-underscore': {\n logLevel: ruleToLogLevel('ae-internal-missing-underscore'),\n addToApiReportFile: false,\n },\n\n 'ae-missing-release-tag': {\n logLevel: ruleToLogLevel('ae-missing-release-tag', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-wrong-input-file-type': {\n logLevel: 'none' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n },\n\n tsdocMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n\n 'tsdoc-link-tag-unescaped-text': {\n logLevel: ruleToLogLevel('tsdoc-link-tag-unescaped-text', 'warning' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'tsdoc-undefined-tag': {\n logLevel: ruleToLogLevel('tsdoc-undefined-tag', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'tsdoc-unsupported-tag': {\n logLevel: ruleToLogLevel('tsdoc-unsupported-tag', 'none' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n },\n }\n}\n","import fs from 'fs/promises'\nimport path from 'path'\nimport {\n Extractor,\n ExtractorConfig,\n ExtractorMessage,\n ExtractorResult,\n} from '@microsoft/api-extractor'\nimport mkdirp from 'mkdirp'\nimport prettier from 'prettier'\nimport {PkgConfigOptions, BuildFile} from '../../core'\nimport {createApiExtractorConfig} from './createApiExtractorConfig'\nimport {createTSDocConfig} from './createTSDocConfig'\nimport {extractModuleBlocksFromTypes} from './extractModuleBlocks'\nimport {getExtractMessagesConfig} from './getExtractMessagesConfig'\n\nexport async function extractTypes(options: {\n customTags: NonNullable<PkgConfigOptions['extract']>['customTags']\n cwd: string\n distPath: string\n exportPath: string\n filePath: string\n files: BuildFile[]\n projectPath: string\n rules?: NonNullable<PkgConfigOptions['extract']>['rules']\n sourceTypesPath: string\n tmpPath: string\n tsconfigPath: string\n}): Promise<{extractorResult: ExtractorResult; messages: ExtractorMessage[]}> {\n const {\n customTags,\n distPath,\n exportPath,\n files,\n filePath,\n projectPath,\n rules,\n sourceTypesPath,\n tmpPath,\n tsconfigPath,\n } = options\n\n const tsdocConfigFile = await createTSDocConfig({\n customTags: customTags || [],\n })\n\n const extractorConfig: ExtractorConfig = ExtractorConfig.prepare({\n configObject: createApiExtractorConfig({\n distPath,\n exportPath,\n filePath,\n messages: getExtractMessagesConfig({rules}),\n projectFolder: projectPath,\n mainEntryPointFilePath: sourceTypesPath,\n tsconfigPath,\n }),\n configObjectFullPath: undefined,\n tsdocConfigFile,\n packageJsonFullPath: path.resolve(projectPath, 'package.json'),\n })\n\n const messages: ExtractorMessage[] = []\n\n // Invoke API Extractor\n const extractorResult = Extractor.invoke(extractorConfig, {\n // Equivalent to the \"--local\" command-line parameter\n localBuild: true,\n // Equivalent to the \"--verbose\" command-line parameter\n showVerboseMessages: true,\n // handle messages\n messageCallback(message: ExtractorMessage) {\n messages.push(message)\n message.handled = true\n },\n })\n\n const typesPath = path.resolve(distPath, filePath)\n const typesBuf = await fs.readFile(typesPath)\n const prettierConfig = await prettier.resolveConfig(typesPath)\n\n await mkdirp(path.dirname(typesPath))\n\n const moduleBlocks = await extractModuleBlocksFromTypes({\n extractResult: extractorResult,\n tsOutDir: tmpPath,\n })\n\n const code = [typesBuf.toString(), ...moduleBlocks].join('\\n\\n')\n\n await fs.writeFile(\n typesPath,\n prettier.format(code, {\n ...prettierConfig,\n filepath: typesPath,\n })\n )\n\n // Add to `files` in context\n files.push({\n type: 'types',\n path: typesPath,\n })\n\n return {extractorResult, messages}\n}\n","import path from 'path'\nimport {promisify} from 'util'\nimport {ExtractorMessage} from '@microsoft/api-extractor'\nimport rimrafCallback from 'rimraf'\nimport {BuildContext} from '../../core'\nimport {buildTypes} from './buildTypes'\nimport {DtsError} from './DtsError'\nimport {extractTypes} from './extractTypes'\nimport {DtsResult, DtsTask, DtsWatchTask} from './types'\n\nconst rimraf = promisify(rimrafCallback)\n\n/**\n * - Build type definitions to a temporary directory using TypeScript compiler.\n * - Create a type definition bundle for each export entry.\n * - When done, remove the temporary directory.\n */\nexport async function doExtract(\n ctx: BuildContext,\n task: DtsTask | DtsWatchTask\n): Promise<DtsResult> {\n const {config, cwd, files, logger, strict, ts} = ctx\n\n if (!ts.config || !ts.configPath) {\n return {type: 'dts', messages: [], results: []}\n }\n\n const {outDir, rootDir = cwd} = ts.config.options\n\n if (!outDir) {\n throw new Error('tsconfig.json is missing `compilerOptions.outDir`')\n }\n\n const tmpPath = path.resolve(outDir, '__tmp__')\n\n await buildTypes({cwd, logger, outDir: tmpPath, strict, tsconfig: ts.config})\n const messages: ExtractorMessage[] = []\n\n const results: {sourcePath: string; filePath: string}[] = []\n\n for (const entry of task.entries) {\n const exportPath = entry.exportPath === '.' ? './index' : entry.exportPath\n\n const sourceTypesPath = path.resolve(\n tmpPath,\n path.relative(rootDir, path.resolve(cwd, entry.sourcePath)).replace(/\\.ts$/, '.d.ts')\n )\n\n const targetPath = path.resolve(cwd, entry.targetPath)\n const filePath = path.relative(outDir, targetPath)\n const result = await extractTypes({\n customTags: config?.extract?.customTags,\n cwd,\n distPath: outDir,\n exportPath,\n files,\n filePath: filePath,\n projectPath: cwd,\n rules: config?.extract?.rules,\n sourceTypesPath: sourceTypesPath,\n tmpPath,\n tsconfigPath: path.resolve(cwd, ts.configPath || 'tsconfig.json'),\n })\n\n messages.push(...result.messages)\n\n if (result.messages.some((msg) => msg.logLevel === 'error')) {\n await rimraf(tmpPath)\n\n throw new DtsError('encountered errors when extracting types', result.messages)\n }\n\n results.push({sourcePath: path.resolve(cwd, entry.sourcePath), filePath: targetPath})\n }\n\n await rimraf(tmpPath)\n\n return {type: 'dts', messages, results}\n}\n","import chalk from 'chalk'\nimport {Observable} from 'rxjs'\nimport {printExtractMessages} from '../../printExtractMessages'\nimport {TaskHandler} from '../types'\nimport {doExtract} from './doExtract'\nimport {DtsError} from './DtsError'\nimport {DtsResult, DtsTask} from './types'\n\n/** @internal */\nexport const dtsTask: TaskHandler<DtsTask, DtsResult> = {\n name: (_ctx, task) =>\n [\n `Build type definitions...`,\n ` entries:`,\n ...task.entries.map((entry) =>\n [\n ` - ${chalk.cyan(entry.importId)}: `,\n `${chalk.yellow(entry.sourcePath)} ${chalk.gray('→')} ${chalk.yellow(entry.targetPath)}`,\n ].join('')\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n doExtract(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => {\n observer.error(err)\n })\n })\n },\n complete: (ctx, _task, result) => {\n printExtractMessages(ctx, result.messages)\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof DtsError) {\n printExtractMessages(ctx, err.messages)\n } else if (err instanceof Error) {\n logger.error(err)\n }\n },\n}\n","import chalk from 'chalk'\nimport {Observable} from 'rxjs'\nimport {printExtractMessages} from '../../printExtractMessages'\nimport {TaskHandler} from '../types'\nimport {doExtract} from './doExtract'\nimport {DtsError} from './DtsError'\nimport {DtsResult, DtsWatchTask} from './types'\n\n/** @internal */\nexport const dtsWatchTask: TaskHandler<DtsWatchTask, DtsResult> = {\n name: (_ctx, task) =>\n [\n `build type definitions`,\n ...task.entries.map(\n (entry) =>\n ` ${chalk.blue(entry.importId)}: ${entry.sourcePath} -> ${entry.targetPath}`\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n doExtract(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => observer.error(err))\n })\n },\n complete: (ctx, _task, result) => {\n const {logger} = ctx\n\n printExtractMessages(ctx, result.messages)\n\n logger.warn('watching typescript definitions is currently not supported')\n logger.log()\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof DtsError) {\n printExtractMessages(ctx, err.messages)\n } else if (err instanceof Error) {\n logger.error(err)\n }\n },\n}\n","/* eslint-disable no-console */\n\nexport interface ConsoleSpyMsg {\n type: 'log' | 'warn' | 'error'\n code?: string\n args: unknown[]\n}\n\nexport interface ConsoleSpy {\n messages: ConsoleSpyMsg[]\n restore: () => void\n}\n\nexport function createConsoleSpy(options: {\n onRestored: (messages: ConsoleSpyMsg[]) => void\n}): ConsoleSpy {\n const {onRestored} = options\n\n const original = {\n log: console.log,\n warn: console.warn,\n error: console.error,\n }\n\n const messages: ConsoleSpyMsg[] = []\n\n console.log = (...args: unknown[]) => messages.push({type: 'log', args})\n console.warn = (...args: unknown[]) => messages.push({type: 'warn', args})\n console.error = (...args: unknown[]) => messages.push({type: 'error', args})\n\n return {\n messages,\n restore: () => {\n console.log = original.log\n console.warn = original.warn\n console.error = original.error\n\n onRestored(messages)\n },\n }\n}\n","import path from 'path'\nimport alias from '@rollup/plugin-alias'\nimport {getBabelOutputPlugin} from '@rollup/plugin-babel'\nimport commonjs from '@rollup/plugin-commonjs'\nimport json from '@rollup/plugin-json'\nimport {nodeResolve} from '@rollup/plugin-node-resolve'\nimport replace from '@rollup/plugin-replace'\nimport terser from '@rollup/plugin-terser'\nimport {InputOptions, OutputOptions, Plugin} from 'rollup'\nimport esbuild from 'rollup-plugin-esbuild'\nimport {BuildContext, DEFAULT_BROWSERSLIST_QUERY, resolveConfigProperty} from '../../core'\nimport {RollupTask, RollupWatchTask} from '../types'\n\nexport interface RollupConfig {\n inputOptions: InputOptions\n outputOptions: OutputOptions\n}\n\n/** @internal */\nexport function resolveRollupConfig(\n ctx: BuildContext,\n buildTask: RollupTask | RollupWatchTask\n): RollupConfig {\n const {format, runtime, target} = buildTask\n const {config, cwd, exports: _exports, extMap, external, distPath, logger, pkg, ts} = ctx\n const outputExt = extMap[pkg.type || 'commonjs'][format]\n const minify = config?.minify ?? false\n const outDir = path.relative(cwd, distPath)\n\n const pathAliases = Object.fromEntries(\n Object.entries(ts.config?.options.paths || {}).map(([key, val]) => {\n return [key, path.resolve(cwd, ts.config?.options.baseUrl || '.', val[0])]\n })\n )\n\n const entries = buildTask.entries.map((entry) => {\n return {\n ...entry,\n name: path.relative(outDir, entry.output).replace(/\\.[^/.]+$/, ''),\n }\n }, {})\n\n const exportIds =\n _exports && Object.keys(_exports).map((exportPath) => path.join(pkg.name, exportPath))\n\n const sourcePaths = _exports && Object.values(_exports).map((e) => path.resolve(cwd, e.source))\n\n const replacements = Object.fromEntries(\n Object.entries(config?.define || {}).map(([key, val]) => [key, JSON.stringify(val)])\n )\n\n const defaultPlugins = [\n replace({\n preventAssignment: true,\n values: {\n ...(pkg.name === '@sanity/pkg-utils'\n ? {...replacements}\n : {\n 'process.env.PKG_FILE_PATH': (arg) => {\n const sourcePath = './' + path.relative(cwd, arg)\n const entry = entries.find((e) => e.source === sourcePath)\n\n if (!entry) {\n // eslint-disable-next-line no-console\n console.error(`could not find source entry: ${sourcePath}`)\n\n return 'null'\n }\n\n return JSON.stringify(\n path.relative(cwd, path.resolve(outDir, entry.name + outputExt))\n )\n },\n 'process.env.PKG_FORMAT': JSON.stringify(format),\n 'process.env.PKG_RUNTIME': JSON.stringify(runtime),\n 'process.env.PKG_VERSION': JSON.stringify(process.env.PKG_VERSION || pkg.version),\n ...replacements,\n }),\n },\n }),\n alias({\n entries: {...pathAliases},\n }),\n nodeResolve({\n // mainFields: ['module', 'jsnext', 'main'],\n browser: runtime === 'browser',\n // exportConditions: [runtime === 'node' ? 'node' : 'browser'],\n extensions: ['.cjs', '.mjs', '.js', '.jsx', '.json', '.node'],\n preferBuiltins: true, // runtime === 'node',\n }),\n commonjs(),\n json(),\n esbuild({\n jsx: config?.jsx ?? 'automatic',\n jsxFactory: config?.jsxFactory ?? 'createElement',\n jsxFragment: config?.jsxFragment ?? 'Fragment',\n jsxImportSource: config?.jsxImportSource ?? 'react',\n target,\n tsconfig: ctx.ts.configPath || 'tsconfig.json',\n }),\n getBabelOutputPlugin({\n babelrc: false,\n plugins: ['@babel/plugin-proposal-object-rest-spread'],\n presets: [\n [\n '@babel/preset-env',\n {targets: pkg.browserslist || DEFAULT_BROWSERSLIST_QUERY, modules: false},\n ],\n ],\n }),\n minify &&\n terser({\n compress: {\n // Needed until https://github.com/terser/terser/issues/1320 is fixed\n directives: false,\n },\n output: {\n comments: (_node, comment) => {\n const text = comment.value\n const type = comment.type\n\n // Check if this is a multiline comment\n if (type == 'comment2') {\n // Keep licensing comments\n return /@preserve|@license|@cc_on/i.test(text)\n }\n\n return false\n },\n },\n }),\n ].filter(Boolean) as Plugin[]\n\n const userPlugins = config?.rollup?.plugins\n\n const plugins = Array.isArray(userPlugins)\n ? defaultPlugins.concat(userPlugins)\n : resolveConfigProperty(config?.rollup?.plugins, defaultPlugins)\n\n return {\n inputOptions: {\n context: cwd,\n\n external: (id, importer) => {\n // Check if the id is a self-referencing import\n if (exportIds?.includes(id)) {\n return true\n }\n\n // Check if the id is a file path that points to an exported source file\n if (importer && (id.startsWith('.') || id.startsWith('/'))) {\n const idPath = path.resolve(path.dirname(importer), id)\n\n if (sourcePaths?.includes(idPath)) {\n logger.warn(\n `detected self-referencing import – treating as external: ${path.relative(\n cwd,\n idPath\n )}`\n )\n\n return true\n }\n }\n\n const idParts = id.split('/')\n\n const name = idParts[0].startsWith('@') ? `${idParts[0]}/${idParts[1]}` : idParts[0]\n\n if (name && external.includes(name)) {\n return true\n }\n\n return false\n },\n\n input: entries.reduce<{[entryAlias: string]: string}>((acc, entry) => {\n return {...acc, [entry.name]: entry.source}\n }, {}),\n\n plugins,\n\n treeshake: {\n propertyReadSideEffects: false,\n },\n },\n outputOptions: {\n chunkFileNames: () => {\n const parts = outputExt.split('.')\n\n if (parts.length === 3) {\n return `_chunks/[name]-[hash].${parts[2]}`\n }\n\n return `_chunks/[name]-[hash]${outputExt}`\n },\n compact: minify,\n dir: outDir,\n entryFileNames: () => {\n const parts = outputExt.split('.')\n\n if (parts.length === 3) {\n return `[name].${parts[2]}`\n }\n\n return `[name]${outputExt}`\n },\n esModule: true,\n format,\n interop: 'compat',\n minifyInternalExports: minify,\n sourcemap: config?.sourcemap ?? true,\n hoistTransitiveImports: false,\n },\n }\n}\n","import path from 'path'\nimport chalk from 'chalk'\nimport {rollup} from 'rollup'\nimport {Observable} from 'rxjs'\nimport {BuildContext} from '../../core'\nimport {RollupTask, TaskHandler} from '../types'\nimport {createConsoleSpy} from './consoleSpy'\nimport {resolveRollupConfig} from './resolveRollupConfig'\n\n/** @internal */\nexport const rollupTask: TaskHandler<RollupTask> = {\n name: (ctx, task) =>\n [\n `Build javascript files...`,\n ` format: ${chalk.yellow(task.format)}`,\n ` target:`,\n ...task.target.map((t) => ` - ${chalk.yellow(t)}`),\n ` entries:`,\n ...task.entries.map((e) =>\n [\n ` - `,\n `${chalk.cyan(path.join(ctx.pkg.name, e.path))}: `,\n `${chalk.yellow(e.source)} ${chalk.gray('→')} ${chalk.yellow(e.output)}`,\n ].join('')\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n execPromise(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => observer.error(err))\n })\n },\n complete: () => {\n //\n },\n error: (_ctx, _task, err) => {\n // eslint-disable-next-line no-console\n console.error(err)\n },\n}\n\nasync function execPromise(ctx: BuildContext, task: RollupTask) {\n const {distPath, files, logger} = ctx\n const outDir = path.relative(ctx.cwd, distPath)\n\n // Prevent rollup from printing directly to the console\n const consoleSpy = createConsoleSpy({\n onRestored: (messages) => {\n for (const msg of messages) {\n const text = String(msg.args[0])\n\n if (msg.code === 'CIRCULAR_DEPENDENCY') {\n continue // ignore\n }\n\n if (text.startsWith('Dynamic import can only')) {\n continue // ignore\n }\n\n if (text.startsWith('Sourcemap is likely to be incorrect')) {\n continue // ignore\n }\n\n if (msg.type === 'log') {\n logger.info(...msg.args)\n }\n\n if (msg.type === 'warn') {\n logger.warn(...msg.args)\n }\n\n if (msg.type === 'error') {\n logger.error(...msg.args)\n }\n }\n },\n })\n\n try {\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n // Create bundle\n const bundle = await rollup({\n ...inputOptions,\n onwarn(warning) {\n consoleSpy.messages.push({\n type: 'warn',\n code: warning.code,\n args: [warning.message],\n })\n },\n })\n\n // generate output specific code in-memory\n // you can call this function multiple times on the same bundle object\n const {output} = await bundle.generate(outputOptions)\n\n for (const chunkOrAsset of output) {\n if (chunkOrAsset.type === 'asset') {\n files.push({\n type: 'asset',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n } else {\n files.push({\n type: 'chunk',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n }\n }\n\n // or write the bundle to disk\n await bundle.write(outputOptions)\n\n // closes the bundle\n await bundle.close()\n\n // Restore console\n consoleSpy.restore()\n } catch (err) {\n // Restore console\n consoleSpy.restore()\n throw err\n }\n}\n","import path from 'path'\nimport chalk from 'chalk'\nimport {RollupWatcherEvent, RollupWatchOptions, watch as rollupWatch} from 'rollup'\nimport {Observable} from 'rxjs'\nimport {RollupWatchTask, TaskHandler} from '../types'\nimport {resolveRollupConfig} from './resolveRollupConfig'\n\n/** @internal */\nexport const rollupWatchTask: TaskHandler<RollupWatchTask, RollupWatcherEvent> = {\n name: (ctx, task) =>\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`,\n exec: (ctx, task) => {\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n return new Observable((observer) => {\n const watchOptions: RollupWatchOptions = {\n ...inputOptions,\n output: outputOptions,\n }\n\n const watcher = rollupWatch(watchOptions)\n\n watcher.on('event', (event) => {\n observer.next(event)\n })\n\n return () => {\n watcher.close()\n }\n })\n },\n complete: (ctx, task, event) => {\n const {logger} = ctx\n\n if (event.code === 'BUNDLE_END') {\n logger.success(\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`\n )\n logger.log('')\n\n return\n }\n\n if (event.code === 'BUNDLE_START') {\n return\n }\n\n if (event.code === 'END') {\n return\n }\n\n if (event.code === 'ERROR') {\n logger.error(event.code, event)\n\n return\n }\n\n if (event.code === 'START') {\n return\n }\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof Error) {\n logger.log(err)\n }\n },\n}\n","import {dtsTask, dtsWatchTask} from './dts'\nimport {rollupTask, rollupWatchTask} from './rollup'\nimport {BuildTaskHandlers, WatchTaskHandlers} from './types'\n\nexport * from './types'\nexport * from './dts'\nexport * from './rollup'\n\n/** @internal */\nexport const buildTaskHandlers: BuildTaskHandlers = {\n 'build:dts': dtsTask,\n 'build:js': rollupTask,\n}\n\n/** @internal */\nexport const watchTaskHandlers: WatchTaskHandlers = {\n 'watch:dts': dtsWatchTask,\n 'watch:js': rollupWatchTask,\n}\n"],"names":["printExtractMessages","ctx","messages","cwd","logger","warnings","filter","msg","logLevel","length","log","sourceFilePath","path","relative","messageId","chalk","cyan","yellow","sourceFileLine","default","sourceFileColumn","gray","text","join","errors","red","process","exit","printDiagnostic","options","diagnostic","file","start","line","character","ts","getLineAndCharacterOfPosition","message","flattenDiagnosticMessageText","messageText","fileName","output","blue","code","category","DiagnosticCategory","Error","error","Warning","warn","Message","Suggestion","buildTypes","outDir","tsconfig","strict","compilerOptions","declaration","declarationDir","emitDeclarationOnly","noEmit","program","createProgram","fileNames","emitResult","emit","allDiagnostics","getPreEmitDiagnostics","concat","diagnostics","emitSkipped","diag","DtsError","constructor","createApiExtractorConfig","distPath","exportPath","filePath","projectFolder","mainEntryPointFilePath","tsconfigPath","apiReport","enabled","reportFileName","compiler","tsconfigFilePath","docModel","apiJsonFilePath","resolve","dtsRollup","untrimmedFilePath","tsdocMetadata","createTSDocConfig","opts","customTags","tsDocBaseBuf","readFile","require","tsDocBaseConfig","parse","toString","tagDefinitions","map","t","tagName","name","syntaxKind","allowMultiple","supportForTags","customTag","TSDocConfigFile","loadFromObject","noStandardTags","extractModuleBlocksFromTypes","tsOutDir","extractResult","compilerState","moduleBlocks","allProgramFiles","getSourceFiles","sourceFiles","sourceFile","includes","push","extractModuleBlocks","fileContent","ast","parser","typeScriptParser","body","node","type","print","LOG_LEVELS","info","off","getExtractMessagesConfig","rules","ruleToLogLevel","key","defaultLevel","r","compilerMessageReporting","extractorMessageReporting","addToApiReportFile","tsdocMessageReporting","extractTypes","files","projectPath","sourceTypesPath","tmpPath","tsdocConfigFile","extractorConfig","ExtractorConfig","prepare","configObject","configObjectFullPath","packageJsonFullPath","extractorResult","Extractor","invoke","localBuild","showVerboseMessages","messageCallback","handled","typesPath","typesBuf","fs","prettierConfig","prettier","resolveConfig","mkdirp","dirname","writeFile","format","filepath","rimraf","promisify","rimrafCallback","doExtract","task","_a","_b","config","configPath","results","rootDir","entry","entries","sourcePath","replace","targetPath","result","extract","some","dtsTask","_ctx","importId","exec","Observable","observer","then","next","complete","catch","err","_task","dtsWatchTask","createConsoleSpy","onRestored","original","console","args","restore","resolveRollupConfig","buildTask","_c","runtime","target","exports","_exports","extMap","external","pkg","outputExt","minify","pathAliases","Object","fromEntries","paths","val","baseUrl","exportIds","keys","sourcePaths","values","e","source","replacements","define","JSON","stringify","defaultPlugins","preventAssignment","arg","find","env","PKG_VERSION","version","alias","nodeResolve","browser","extensions","preferBuiltins","commonjs","json","esbuild","jsx","jsxFactory","jsxFragment","jsxImportSource","getBabelOutputPlugin","babelrc","plugins","presets","targets","browserslist","DEFAULT_BROWSERSLIST_QUERY","modules","terser","compress","directives","comments","_node","comment","value","test","Boolean","userPlugins","rollup","Array","isArray","resolveConfigProperty","inputOptions","context","id","importer","startsWith","idPath","idParts","split","input","reduce","acc","treeshake","propertyReadSideEffects","outputOptions","chunkFileNames","parts","compact","dir","entryFileNames","esModule","interop","minifyInternalExports","sourcemap","hoistTransitiveImports","rollupTask","execPromise","consoleSpy","String","bundle","onwarn","warning","generate","chunkOrAsset","write","close","rollupWatchTask","watchOptions","watcher","rollupWatch","on","event","success","buildTaskHandlers","watchTaskHandlers"],"mappings":"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"}
|