@sanity/pkg-utils 1.16.0 → 1.16.2
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/{_resolveBuildContext-e3d4d924.js → _resolveBuildContext-0d61dcca.js} +19 -11
- package/dist/_chunks/_resolveBuildContext-0d61dcca.js.map +1 -0
- package/dist/_chunks/{build-ba5d11e7.js → build-a822eb55.js} +3 -3
- package/dist/_chunks/{build-ba5d11e7.js.map → build-a822eb55.js.map} +1 -1
- package/dist/_chunks/{buildAction-7dd5b756.js → buildAction-2b54017d.js} +4 -4
- package/dist/_chunks/{buildAction-7dd5b756.js.map → buildAction-2b54017d.js.map} +1 -1
- package/dist/_chunks/{check-8b65f4c4.js → check-f86cdc15.js} +2 -2
- package/dist/_chunks/{check-8b65f4c4.js.map → check-f86cdc15.js.map} +1 -1
- package/dist/_chunks/{checkAction-05a46549.js → checkAction-ea939b95.js} +3 -3
- package/dist/_chunks/{checkAction-05a46549.js.map → checkAction-ea939b95.js.map} +1 -1
- package/dist/_chunks/{index-eaeaf263.js → index-7ec7f61a.js} +92 -13
- package/dist/_chunks/index-7ec7f61a.js.map +1 -0
- package/dist/_chunks/{watch-aa39f968.js → watch-79594e7f.js} +3 -3
- package/dist/_chunks/{watch-aa39f968.js.map → watch-79594e7f.js.map} +1 -1
- package/dist/_chunks/{watchAction-f2bbad8d.js → watchAction-8d500150.js} +4 -4
- package/dist/_chunks/{watchAction-f2bbad8d.js.map → watchAction-8d500150.js.map} +1 -1
- package/dist/cli.js +4 -4
- package/dist/index.esm.js +116 -29
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +5 -5
- package/package.json +2 -1
- package/src/node/_core/pkg/_parseExports.ts +22 -6
- package/src/node/_core/pkg/_validateExports.ts +7 -5
- package/src/node/_tasks/dts/_declareModuleFix.ts +86 -0
- package/src/node/_tasks/dts/_doExtract.ts +6 -1
- package/dist/_chunks/_resolveBuildContext-e3d4d924.js.map +0 -1
- package/dist/_chunks/index-eaeaf263.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -4,15 +4,15 @@ Object.defineProperty(exports, '__esModule', {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
|
|
7
|
-
var _resolveBuildContext = require('./_chunks/_resolveBuildContext-
|
|
7
|
+
var _resolveBuildContext = require('./_chunks/_resolveBuildContext-0d61dcca.js');
|
|
8
8
|
|
|
9
|
-
var build = require('./_chunks/build-
|
|
9
|
+
var build = require('./_chunks/build-a822eb55.js');
|
|
10
10
|
|
|
11
|
-
var index = require('./_chunks/index-
|
|
11
|
+
var index = require('./_chunks/index-7ec7f61a.js');
|
|
12
12
|
|
|
13
|
-
var check = require('./_chunks/check-
|
|
13
|
+
var check = require('./_chunks/check-f86cdc15.js');
|
|
14
14
|
|
|
15
|
-
var watch = require('./_chunks/watch-
|
|
15
|
+
var watch = require('./_chunks/watch-79594e7f.js');
|
|
16
16
|
|
|
17
17
|
require('path');
|
|
18
18
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sanity/pkg-utils",
|
|
3
|
-
"version": "1.16.
|
|
3
|
+
"version": "1.16.2",
|
|
4
4
|
"author": "Sanity.io <hello@sanity.io>",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "Simple utilities for modern npm packages.",
|
|
@@ -110,6 +110,7 @@
|
|
|
110
110
|
"eslint-plugin-prettier": "^4.2.1",
|
|
111
111
|
"husky": "^8.0.1",
|
|
112
112
|
"lint-staged": "^12.5.0",
|
|
113
|
+
"outdent": "^0.8.0",
|
|
113
114
|
"npm-run-all": "^4.1.5",
|
|
114
115
|
"rollup-plugin-visualizer": "^5.8.2",
|
|
115
116
|
"semantic-release": "^19.0.5",
|
|
@@ -24,6 +24,8 @@ export function _parseExports(options: {pkg: _PackageJSON}): (PkgExport & {_path
|
|
|
24
24
|
|
|
25
25
|
const extraExports: (PkgExport & {_path: string})[] = []
|
|
26
26
|
|
|
27
|
+
const errors: string[] = []
|
|
28
|
+
|
|
27
29
|
if (pkg.exports) {
|
|
28
30
|
for (const [exportPath, exportEntry] of Object.entries(pkg.exports)) {
|
|
29
31
|
if (_isRecord(exportEntry)) {
|
|
@@ -33,19 +35,27 @@ export function _parseExports(options: {pkg: _PackageJSON}): (PkgExport & {_path
|
|
|
33
35
|
rootExport.require &&
|
|
34
36
|
exportEntry.require !== rootExport.require
|
|
35
37
|
) {
|
|
36
|
-
|
|
38
|
+
errors.push(
|
|
39
|
+
'package.json: mismatch between "main" and "exports.require". These must be equal.'
|
|
40
|
+
)
|
|
37
41
|
}
|
|
38
42
|
|
|
39
43
|
if (exportEntry.import && rootExport.import && exportEntry.import !== rootExport.import) {
|
|
40
|
-
|
|
44
|
+
errors.push(
|
|
45
|
+
'package.json: mismatch between "module" and "exports.import" These must be equal.'
|
|
46
|
+
)
|
|
41
47
|
}
|
|
42
48
|
|
|
43
49
|
if (exportEntry.types && rootExport.types && exportEntry.types !== rootExport.types) {
|
|
44
|
-
|
|
50
|
+
errors.push(
|
|
51
|
+
'package.json: mismatch between "types" and "exports.types". These must be equal.'
|
|
52
|
+
)
|
|
45
53
|
}
|
|
46
54
|
|
|
47
55
|
if (exportEntry.source && rootExport.source && exportEntry.source !== rootExport.source) {
|
|
48
|
-
|
|
56
|
+
errors.push(
|
|
57
|
+
'package.json: mismatch between "source" and "exports.source". These must be equal.'
|
|
58
|
+
)
|
|
49
59
|
}
|
|
50
60
|
|
|
51
61
|
Object.assign(rootExport, exportEntry)
|
|
@@ -59,12 +69,18 @@ export function _parseExports(options: {pkg: _PackageJSON}): (PkgExport & {_path
|
|
|
59
69
|
extraExports.push(extraExport)
|
|
60
70
|
}
|
|
61
71
|
} else {
|
|
62
|
-
|
|
72
|
+
errors.push('package.json: exports must be an object')
|
|
63
73
|
}
|
|
64
74
|
}
|
|
65
75
|
}
|
|
66
76
|
|
|
67
77
|
const _exports = [rootExport, ...extraExports]
|
|
68
78
|
|
|
69
|
-
|
|
79
|
+
errors.push(..._validateExports(_exports, {pkg}))
|
|
80
|
+
|
|
81
|
+
if (errors.length) {
|
|
82
|
+
throw new Error('\n- ' + errors.join('\n- '))
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
return _exports
|
|
70
86
|
}
|
|
@@ -5,23 +5,25 @@ import {_PackageJSON} from './_types'
|
|
|
5
5
|
export function _validateExports(
|
|
6
6
|
_exports: (PkgExport & {_path: string})[],
|
|
7
7
|
options: {pkg: _PackageJSON}
|
|
8
|
-
):
|
|
8
|
+
): string[] {
|
|
9
9
|
const {pkg} = options
|
|
10
10
|
const ext = _MODULE_EXT[pkg.type]
|
|
11
11
|
|
|
12
|
+
const errors: string[] = []
|
|
13
|
+
|
|
12
14
|
for (const exp of _exports) {
|
|
13
15
|
if (exp.require && !exp.require.endsWith(ext.commonjs)) {
|
|
14
|
-
|
|
16
|
+
errors.push(
|
|
15
17
|
`package.json with \`type: "${pkg.type}"\` - \`exports["${exp._path}"].require\` must end with "${ext.commonjs}"`
|
|
16
18
|
)
|
|
17
19
|
}
|
|
18
20
|
|
|
19
21
|
if (exp.import && !exp.import.endsWith(ext.esm)) {
|
|
20
|
-
|
|
21
|
-
`package.json with \`type: "${pkg.type}"\` - \`exports["${exp._path}"].
|
|
22
|
+
errors.push(
|
|
23
|
+
`package.json with \`type: "${pkg.type}"\` - \`exports["${exp._path}"].import\` must end with "${ext.esm}"`
|
|
22
24
|
)
|
|
23
25
|
}
|
|
24
26
|
}
|
|
25
27
|
|
|
26
|
-
return
|
|
28
|
+
return errors
|
|
27
29
|
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import fs from 'fs/promises'
|
|
2
|
+
import path from 'path'
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* '@microsoft/api-extractor' omits declare module blocks
|
|
6
|
+
* This is a workaround that finds all module blocks in ts files and appends them to the result
|
|
7
|
+
*/
|
|
8
|
+
export async function _appendModuleBlocks({
|
|
9
|
+
tsOutDir,
|
|
10
|
+
extractTypesOutFile,
|
|
11
|
+
}: {
|
|
12
|
+
tsOutDir: string
|
|
13
|
+
extractTypesOutFile: string
|
|
14
|
+
}): Promise<void> {
|
|
15
|
+
const moduleBlocks = await _extractModuleBlocksFromTypes(tsOutDir)
|
|
16
|
+
|
|
17
|
+
if (moduleBlocks.length) {
|
|
18
|
+
await fs.appendFile(extractTypesOutFile, '\n' + moduleBlocks.join('\n\n'))
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
async function _extractModuleBlocksFromTypes(dirname: string): Promise<string[]> {
|
|
23
|
+
const moduleBlocks: string[] = []
|
|
24
|
+
|
|
25
|
+
const files = await _getFileList(dirname)
|
|
26
|
+
|
|
27
|
+
for (const fileName of files) {
|
|
28
|
+
const content = await fs.readFile(path.resolve(dirname, fileName), {
|
|
29
|
+
encoding: 'utf-8',
|
|
30
|
+
})
|
|
31
|
+
|
|
32
|
+
if (content.includes('declare module')) {
|
|
33
|
+
moduleBlocks.push(..._extractModuleBlocks(content))
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
return moduleBlocks
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
async function _getFileList(dirName: string): Promise<string[]> {
|
|
41
|
+
let files: string[] = []
|
|
42
|
+
const filesInCurrentDir = await fs.readdir(dirName, {withFileTypes: true})
|
|
43
|
+
|
|
44
|
+
for (const fileInDir of filesInCurrentDir) {
|
|
45
|
+
if (fileInDir.isDirectory()) {
|
|
46
|
+
files = [...files, ...(await _getFileList(path.resolve(dirName, fileInDir.name)))]
|
|
47
|
+
} else {
|
|
48
|
+
files.push(path.resolve(dirName, fileInDir.name))
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
return files
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export function _extractModuleBlocks(fileContent: string): string[] {
|
|
56
|
+
const moduleBlocks: string[] = []
|
|
57
|
+
|
|
58
|
+
let moduleIndentLevel = 0
|
|
59
|
+
let moduleLines: string[] = []
|
|
60
|
+
|
|
61
|
+
const lines = fileContent.split('\n')
|
|
62
|
+
|
|
63
|
+
for (const line of lines) {
|
|
64
|
+
if (!moduleLines.length) {
|
|
65
|
+
const moduleIndex = line.indexOf('declare module')
|
|
66
|
+
const isModuleStart = moduleIndex > -1
|
|
67
|
+
|
|
68
|
+
if (isModuleStart) {
|
|
69
|
+
moduleIndentLevel = moduleIndex
|
|
70
|
+
moduleLines = [line]
|
|
71
|
+
}
|
|
72
|
+
} else {
|
|
73
|
+
moduleLines.push(line)
|
|
74
|
+
const blockEndIndex = line.indexOf('}')
|
|
75
|
+
|
|
76
|
+
if (blockEndIndex === moduleIndentLevel) {
|
|
77
|
+
moduleBlocks.push(
|
|
78
|
+
moduleLines.map((l) => l.substring(moduleIndentLevel, l.length)).join('\n')
|
|
79
|
+
)
|
|
80
|
+
moduleLines = []
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
return moduleBlocks
|
|
86
|
+
}
|
|
@@ -4,6 +4,7 @@ import {ExtractorMessage} from '@microsoft/api-extractor'
|
|
|
4
4
|
import rimrafCallback from 'rimraf'
|
|
5
5
|
import {_BuildContext} from '../../_core'
|
|
6
6
|
import {_buildTypes} from './_buildTypes'
|
|
7
|
+
import {_appendModuleBlocks} from './_declareModuleFix'
|
|
7
8
|
import {_DtsError} from './_DtsError'
|
|
8
9
|
import {_extractTypes} from './_extractTypes'
|
|
9
10
|
import {_DtsResult, _DtsTask, _DtsWatchTask} from './_types'
|
|
@@ -34,7 +35,6 @@ export async function _doExtract(
|
|
|
34
35
|
const tmpPath = path.resolve(outDir, '__tmp__')
|
|
35
36
|
|
|
36
37
|
await _buildTypes({cwd, outDir: tmpPath, strict, tsconfig: ts.config})
|
|
37
|
-
|
|
38
38
|
const messages: ExtractorMessage[] = []
|
|
39
39
|
|
|
40
40
|
const results: {sourcePath: string; filePath: string}[] = []
|
|
@@ -62,6 +62,11 @@ export async function _doExtract(
|
|
|
62
62
|
distPath: outDir,
|
|
63
63
|
})
|
|
64
64
|
|
|
65
|
+
await _appendModuleBlocks({
|
|
66
|
+
tsOutDir: tmpPath,
|
|
67
|
+
extractTypesOutFile: path.resolve(outDir, targetPath),
|
|
68
|
+
})
|
|
69
|
+
|
|
65
70
|
messages.push(...result.messages)
|
|
66
71
|
|
|
67
72
|
if (result.messages.some((msg) => msg.logLevel === 'error')) {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_resolveBuildContext-e3d4d924.js","sources":["../../src/node/_core/_constants.ts","../../src/node/_core/_defaults.ts","../../src/node/_core/_isRecord.ts","../../src/node/_core/config/_findConfigFile.ts","../../src/node/_core/config/_loadConfig.ts","../../src/node/_core/config/_resolveConfigProperty.ts","../../src/node/_core/pkg/_validatePkg.ts","../../src/node/_core/pkg/_loadPkg.ts","../../src/node/_core/pkg/_loadPkgWithReporting.ts","../../src/node/_core/pkg/_validateExports.ts","../../src/node/_core/pkg/_parseExports.ts","../../src/node/_core/ts/_loadTSConfig.ts","../../src/node/_core/_findCommonPath.ts","../../src/node/_resolveBrowserslistVersions.ts","../../src/node/_resolveBrowserTarget.ts","../../src/node/_resolveNodeTarget.ts","../../src/node/_resolveBuildContext.ts"],"sourcesContent":["/** @internal */\nexport const _MODULE_EXT: Record<'commonjs' | 'module', {commonjs: string; esm: string}> = {\n // pkg.type: \"commonjs\"\n commonjs: {\n commonjs: '.js',\n // NOTE: using the `.mjs` extension causing issues in situations where\n // not every and all dependencies support ESM exports.\n // So for now, we require the ESM modules to have the `.esm.js` extension.\n esm: '.esm.js',\n },\n\n // pkg.type: \"module\"\n module: {\n commonjs: '.cjs',\n esm: '.js',\n },\n}\n","/** @internal */\nexport const _DEFAULTS = {\n browserslist: [\n '> 0.2% and supports es6-module and supports es6-module-dynamic-import',\n 'not dead',\n 'not IE 11',\n 'maintained node versions',\n ],\n}\n","/** @internal */\nexport function _isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value) && !Array.isArray(value) && typeof value === 'object'\n}\n","import {stat} from 'fs/promises'\nimport path from 'path'\nimport findConfig from 'find-config'\n\nconst CONFIG_FILE_NAMES = [\n 'package.config.ts',\n 'package.config.js',\n 'package.config.cjs',\n 'package.config.mjs',\n]\n\nexport async function _findConfigFile(cwd: string): Promise<string | undefined> {\n const pkgJsonPath = findConfig('package.json', {cwd})\n\n if (!pkgJsonPath) return undefined\n\n const pkgPath = path.dirname(pkgJsonPath)\n\n for (const fileName of CONFIG_FILE_NAMES) {\n const configPath = path.resolve(pkgPath, fileName)\n\n const exists = await _fileExists(configPath)\n\n if (exists) {\n return configPath\n }\n }\n\n return undefined\n}\n\nasync function _fileExists(filePath: string) {\n try {\n await stat(filePath)\n\n return true\n } catch (_) {\n return false\n }\n}\n","import path from 'path'\nimport {register} from 'esbuild-register/dist/node'\nimport pkgUp from 'pkg-up'\nimport {_findConfigFile} from './_findConfigFile'\nimport {PkgConfigOptions} from './types'\n\n/** @internal */\nexport async function _loadConfig(options: {cwd: string}): Promise<PkgConfigOptions | undefined> {\n const {cwd} = options\n\n const pkgPath = await pkgUp({cwd})\n\n if (!pkgPath) return undefined\n\n const root = path.dirname(pkgPath)\n\n const configFile = await _findConfigFile(root)\n\n if (!configFile) {\n return undefined\n }\n\n // Do not accept config files outside of the root\n if (!configFile.startsWith(cwd)) {\n return undefined\n }\n\n try {\n const {unregister} = register({extensions: ['.js', '.mjs', '.ts']})\n\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const mod = require(configFile)\n\n unregister()\n\n return mod?.default || mod || undefined\n } catch (_) {\n return undefined\n }\n}\n","import {PkgConfigProperty, PkgConfigPropertyResolver} from './types'\n\n/** @internal */\nexport function _resolveConfigProperty<T>(\n prop: PkgConfigProperty<T> | undefined,\n initialValue: T\n): T {\n if (!prop) return initialValue\n\n if (typeof prop === 'function') {\n return (prop as PkgConfigPropertyResolver<T>)(initialValue)\n }\n\n return prop\n}\n","import {z} from 'zod'\nimport {_PackageJSON} from './_types'\n\nconst pkgSchema = z.object({\n type: z.optional(z.enum(['commonjs', 'module'])),\n name: z.string(),\n version: z.string(),\n license: z.string(),\n bin: z.optional(z.record(z.string())),\n dependencies: z.optional(z.record(z.string())),\n devDependencies: z.optional(z.record(z.string())),\n peerDependencies: z.optional(z.record(z.string())),\n source: z.optional(z.string()),\n main: z.optional(z.string()),\n browser: z.optional(z.record(z.string())),\n module: z.optional(z.string()),\n types: z.optional(z.string()),\n exports: z.optional(\n z.record(\n z.object({\n types: z.optional(z.string()),\n source: z.string(),\n browser: z.optional(\n z.object({\n source: z.string(),\n require: z.optional(z.string()),\n import: z.optional(z.string()),\n })\n ),\n node: z.optional(\n z.object({\n source: z.string(),\n require: z.optional(z.string()),\n import: z.optional(z.string()),\n })\n ),\n require: z.optional(z.string()),\n import: z.optional(z.string()),\n default: z.string(),\n })\n )\n ),\n browserslist: z.optional(z.array(z.string())),\n})\n\nexport function _validatePkg(input: unknown): _PackageJSON {\n const pkg = pkgSchema.parse(input)\n\n return {...pkg, type: pkg.type || 'commonjs'}\n}\n","import fs from 'fs/promises'\nimport pkgUp from 'pkg-up'\nimport {_PackageJSON} from './_types'\nimport {_validatePkg} from './_validatePkg'\n\n/** @internal */\nexport async function _loadPkg(options: {cwd: string}): Promise<_PackageJSON> {\n const {cwd} = options\n\n const pkgPath = await pkgUp({cwd})\n\n if (!pkgPath) throw new Error('no package.json found')\n\n const buf = await fs.readFile(pkgPath)\n\n return _validatePkg(JSON.parse(buf.toString()))\n}\n","/* eslint-disable no-console */\n\nimport chalk from 'chalk'\nimport {ZodError} from 'zod'\nimport {_loadPkg} from './_loadPkg'\nimport {_PackageJSON} from './_types'\n\n/** @internal */\nexport async function _loadPkgWithReporting(options: {cwd: string}): Promise<_PackageJSON> {\n try {\n return await _loadPkg(options)\n } catch (err) {\n if (err instanceof ZodError) {\n for (const issue of err.issues) {\n if (issue.code === 'invalid_type') {\n console.log(\n [\n `${chalk.red('fail')} \\`${_formatPath(issue.path)}\\` `,\n `in ./package.json must be of type ${chalk.magenta(issue.expected)} `,\n `(received ${chalk.magenta(issue.received)})`,\n ].join('')\n )\n }\n }\n } else {\n console.error(err)\n }\n\n process.exit(1)\n }\n}\n\nfunction _formatPath(segments: Array<string | number>) {\n return segments\n .map((s, idx) => {\n if (idx === 0) return s\n\n if (typeof s === 'number') {\n return `[${s}]`\n }\n\n if (s.startsWith('.')) {\n return `[\"${s}\"]`\n }\n\n return `.${s}`\n })\n .join('')\n}\n","import {_MODULE_EXT} from '../_constants'\nimport {PkgExport} from '../config'\nimport {_PackageJSON} from './_types'\n\nexport function _validateExports(\n _exports: (PkgExport & {_path: string})[],\n options: {pkg: _PackageJSON}\n): (PkgExport & {_path: string})[] {\n const {pkg} = options\n const ext = _MODULE_EXT[pkg.type]\n\n for (const exp of _exports) {\n if (exp.require && !exp.require.endsWith(ext.commonjs)) {\n throw new Error(\n `package.json with \\`type: \"${pkg.type}\"\\` - \\`exports[\"${exp._path}\"].require\\` must end with \"${ext.commonjs}\"`\n )\n }\n\n if (exp.import && !exp.import.endsWith(ext.esm)) {\n throw new Error(\n `package.json with \\`type: \"${pkg.type}\"\\` - \\`exports[\"${exp._path}\"].require\\` must end with \"${ext.esm}\"`\n )\n }\n }\n\n return _exports\n}\n","import {_isRecord} from '../_isRecord'\nimport {PkgExport} from '../config'\nimport {_PackageJSON} from './_types'\nimport {_validateExports} from './_validateExports'\n\n/** @internal */\nexport function _parseExports(options: {pkg: _PackageJSON}): (PkgExport & {_path: string})[] {\n const {pkg} = options\n\n const rootExport: PkgExport & {_path: string} = {\n _exported: true,\n _path: '.',\n types: pkg.types,\n source: pkg.source || '',\n browser: pkg.browser && {\n source: pkg.source || '',\n require: pkg.main && pkg.browser[pkg.main],\n import: pkg.module && pkg.browser[pkg.module],\n },\n import: pkg.module,\n require: pkg.main,\n default: pkg.module || pkg.main || '',\n }\n\n const extraExports: (PkgExport & {_path: string})[] = []\n\n if (pkg.exports) {\n for (const [exportPath, exportEntry] of Object.entries(pkg.exports)) {\n if (_isRecord(exportEntry)) {\n if (exportPath === '.') {\n if (\n exportEntry.require &&\n rootExport.require &&\n exportEntry.require !== rootExport.require\n ) {\n throw new Error('mismatch between \"main\" and \"require\"')\n }\n\n if (exportEntry.import && rootExport.import && exportEntry.import !== rootExport.import) {\n throw new Error('mismatch between \"module\" and \"import\"')\n }\n\n if (exportEntry.types && rootExport.types && exportEntry.types !== rootExport.types) {\n throw new Error('mismatch between \"types\" and \"types\"')\n }\n\n if (exportEntry.source && rootExport.source && exportEntry.source !== rootExport.source) {\n throw new Error('mismatch between \"source\" and \"source\"')\n }\n\n Object.assign(rootExport, exportEntry)\n } else {\n const extraExport: PkgExport & {_path: string} = {\n _exported: true,\n _path: exportPath,\n ...exportEntry,\n }\n\n extraExports.push(extraExport)\n }\n } else {\n throw new Error('string entries are not supported')\n }\n }\n }\n\n const _exports = [rootExport, ...extraExports]\n\n return _validateExports(_exports, {pkg})\n}\n","import ts from 'typescript'\n\n/** @internal */\nexport async function _loadTSConfig(options: {\n cwd: string\n tsconfigPath: string\n}): Promise<ts.ParsedCommandLine> {\n const {cwd, tsconfigPath} = options\n\n const configPath = ts.findConfigFile(cwd, ts.sys.fileExists, tsconfigPath)\n\n if (!configPath) {\n throw new Error(`could not find a valid '${tsconfigPath}'`)\n }\n\n const configFile = ts.readConfigFile(configPath, ts.sys.readFile)\n\n return ts.parseJsonConfigFileContent(configFile.config, ts.sys, cwd)\n}\n","import path from 'path'\n\nexport function _pathContains(containerPath: string, itemPath: string): boolean {\n return !path.relative(containerPath, itemPath).startsWith('..')\n}\n\nexport function _findCommonDirPath(filePaths: string[]): string | undefined {\n let ret: string | undefined = undefined\n\n for (const filePath of filePaths) {\n let dirPath = path.dirname(filePath)\n\n if (!ret) {\n ret = dirPath\n continue\n }\n\n while (dirPath !== ret) {\n dirPath = path.dirname(dirPath)\n\n if (dirPath === ret) {\n break\n }\n\n if (_pathContains(dirPath, ret)) {\n ret = dirPath\n break\n }\n\n if (dirPath === '.') return undefined\n }\n }\n\n return ret\n}\n","import browserslist from 'browserslist'\n\nexport interface _PackageTargetVersions {\n chrome: string[]\n ff: string[]\n edge: string[]\n iosSaf: string[]\n saf: string[]\n opera: string[]\n node: string[]\n}\n\nfunction _sortAsNumber(a: string, b: string) {\n const aVersion = Number(a)\n const bVersion = Number(b)\n\n return aVersion - bVersion\n}\n\nexport function _resolveBrowserslistVersions(query: string[]): _PackageTargetVersions {\n const result = browserslist(query)\n\n const entries = result.map((key) => {\n const [name, version] = key.split(' ')\n\n return {name, version: version.split('-')[0].split('.')[0]}\n })\n\n const andChr = entries.filter((b) => b.name === 'and_chr')\n const andFf = entries.filter((b) => b.name === 'and_ff')\n const chrome = entries.filter((b) => b.name === 'chrome')\n const edge = entries.filter((b) => b.name === 'edge')\n const ff = entries.filter((b) => b.name === 'firefox')\n const iosSaf = entries.filter((b) => b.name === 'ios_saf')\n const saf = entries.filter((b) => b.name === 'safari')\n const opera = entries.filter((b) => b.name === 'opera')\n const node = entries.filter((b) => b.name === 'node')\n\n // versions\n const versions: _PackageTargetVersions = {\n chrome: andChr.concat(chrome).map((b) => b.version),\n ff: andFf.concat(ff).map((b) => b.version),\n edge: edge.map((b) => b.version),\n iosSaf: iosSaf.map((b) => b.version),\n saf: saf.map((b) => b.version),\n opera: opera.map((b) => b.version),\n node: node.map((b) => b.version),\n }\n\n // sort\n versions.chrome.sort(_sortAsNumber)\n versions.ff.sort(_sortAsNumber)\n versions.edge.sort(_sortAsNumber)\n versions.iosSaf.sort(_sortAsNumber)\n versions.saf.sort(_sortAsNumber)\n versions.opera.sort(_sortAsNumber)\n versions.node.sort(_sortAsNumber)\n\n return versions\n}\n","import {_PackageTargetVersions} from './_resolveBrowserslistVersions'\n\nexport function _resolveBrowserTarget(versions: _PackageTargetVersions): string[] | undefined {\n const target: string[] = []\n\n if (versions.chrome.length) {\n target.push(`chrome${versions.chrome[0]}`)\n }\n\n if (versions.ff.length) {\n target.push(`firefox${versions.ff[0]}`)\n }\n\n if (versions.edge.length) {\n target.push(`edge${versions.edge[0]}`)\n }\n\n if (versions.iosSaf.length) {\n target.push(`ios${versions.iosSaf[0]}`)\n }\n\n if (versions.saf.length) {\n target.push(`safari${versions.saf[0]}`)\n }\n\n if (versions.opera.length) {\n target.push(`opera${versions.opera[0]}`)\n }\n\n if (target.length === 0) {\n return undefined\n }\n\n return target\n}\n","import {_PackageTargetVersions} from './_resolveBrowserslistVersions'\n\nexport function _resolveNodeTarget(versions: _PackageTargetVersions): string[] | undefined {\n const target: string[] = []\n\n if (versions.node.length) {\n target.push(`node${versions.node[0]}`)\n }\n\n if (target.length === 0) {\n return undefined\n }\n\n return target\n}\n","import path from 'path'\nimport chalk from 'chalk'\nimport {\n PkgConfigOptions,\n PkgExports,\n PkgRuntime,\n _BuildContext,\n _DEFAULTS,\n _loadTSConfig,\n _PackageJSON,\n _parseExports,\n _resolveConfigProperty,\n} from './_core'\nimport {_findCommonDirPath, _pathContains} from './_core/_findCommonPath'\nimport {_resolveBrowserslistVersions} from './_resolveBrowserslistVersions'\nimport {_resolveBrowserTarget} from './_resolveBrowserTarget'\nimport {_resolveNodeTarget} from './_resolveNodeTarget'\n\nfunction _createLogger(): _BuildContext['logger'] {\n return {\n /* eslint-disable no-console */\n log: (...args) => {\n console.log(...args)\n },\n info: (...args) => {\n console.log(chalk.blue(' info'), ...args)\n },\n warn: (...args) => {\n console.log(chalk.yellow(' warn'), ...args)\n },\n error: (...args) => {\n console.log(chalk.red(' fail'), ...args)\n },\n success: (...args) => {\n console.log(chalk.green(' ok '), ...args)\n },\n /* eslint-enable no-console */\n }\n}\n\nexport async function _resolveBuildContext(options: {\n config?: PkgConfigOptions\n cwd: string\n emitDeclarationOnly?: boolean\n pkg: _PackageJSON\n strict: boolean\n tsconfig: string\n}): Promise<_BuildContext> {\n const {config, cwd, emitDeclarationOnly = false, pkg, strict, tsconfig: tsconfigPath} = options\n const logger = _createLogger()\n const tsconfig = await _loadTSConfig({cwd, tsconfigPath})\n const targetVersions = _resolveBrowserslistVersions(pkg.browserslist || _DEFAULTS.browserslist)\n const nodeTarget = _resolveNodeTarget(targetVersions)\n const webTarget = _resolveBrowserTarget(targetVersions)\n\n if (!nodeTarget) {\n throw new Error('no matching `node` target')\n }\n\n if (!webTarget) {\n throw new Error('no matching `web` target')\n }\n\n const target: Record<PkgRuntime, string[]> = {\n '*': webTarget.concat(nodeTarget),\n browser: webTarget,\n node: nodeTarget,\n }\n\n const parsedExports = _parseExports({pkg}).reduce<PkgExports>((acc, x) => {\n const {_path: exportPath, ...exportEntry} = x\n\n return {...acc, [exportPath]: exportEntry}\n }, {})\n\n const exports = _resolveConfigProperty(config?.exports, parsedExports)\n\n const parsedExternal = [\n ...(pkg.dependencies ? Object.keys(pkg.dependencies) : []),\n ...(pkg.peerDependencies ? Object.keys(pkg.peerDependencies) : []),\n ]\n\n // Merge externals if an array is provided, replace if it's a function\n const external =\n config && Array.isArray(config.external)\n ? [...parsedExternal, ...config.external]\n : _resolveConfigProperty(config?.external, parsedExternal)\n\n const outputPaths = Object.values(exports)\n .flatMap((exportEntry) => {\n return [\n exportEntry.import,\n exportEntry.require,\n exportEntry.browser?.import,\n exportEntry.browser?.require,\n exportEntry.node?.import,\n exportEntry.node?.require,\n ].filter(Boolean) as string[]\n })\n .map((p) => path.resolve(cwd, p))\n\n const commonDistPath = _findCommonDirPath(outputPaths)\n\n if (commonDistPath === cwd) {\n throw new Error(\n 'all output files must share a common parent directory which is not the root package directory'\n )\n }\n\n if (commonDistPath && !_pathContains(cwd, commonDistPath)) {\n throw new Error('all output files must be located within the package')\n }\n\n const configDistPath = config?.dist ? path.resolve(cwd, config.dist) : undefined\n\n if (\n configDistPath &&\n commonDistPath &&\n configDistPath !== commonDistPath &&\n !_pathContains(configDistPath, commonDistPath)\n ) {\n logger.log(`did you mean to configure \\`dist: './${path.relative(cwd, commonDistPath)}'\\`?`)\n\n throw new Error('all output files must be located with the configured `dist` path')\n }\n\n const distPath = configDistPath || commonDistPath\n\n if (!distPath) {\n throw new Error('could not detect `dist` path')\n }\n\n const ctx: _BuildContext = {\n config,\n cwd,\n distPath,\n emitDeclarationOnly,\n exports,\n external,\n files: [],\n logger,\n pkg,\n runtime: config?.runtime ?? '*',\n strict,\n target,\n ts: {\n config: tsconfig,\n configPath: tsconfigPath,\n },\n }\n\n return ctx\n}\n"],"names":["_MODULE_EXT","commonjs","esm","module","_DEFAULTS","browserslist","_isRecord","value","Boolean","Array","isArray","CONFIG_FILE_NAMES","_findConfigFile","cwd","pkgJsonPath","findConfig","pkgPath","path","dirname","fileName","configPath","resolve","exists","_fileExists","filePath","stat","_","_loadConfig","options","pkgUp","root","configFile","startsWith","unregister","register","extensions","mod","require","default","_resolveConfigProperty","prop","initialValue","pkgSchema","z","object","type","optional","enum","name","string","version","license","bin","record","dependencies","devDependencies","peerDependencies","source","main","browser","types","exports","import","node","array","_validatePkg","input","pkg","parse","_loadPkg","Error","buf","fs","readFile","JSON","toString","_loadPkgWithReporting","err","ZodError","issue","issues","code","console","log","chalk","red","_formatPath","magenta","expected","received","join","error","process","exit","segments","map","s","idx","_validateExports","_exports","ext","exp","endsWith","_path","_parseExports","rootExport","_exported","extraExports","exportPath","exportEntry","Object","entries","assign","extraExport","push","_loadTSConfig","tsconfigPath","ts","findConfigFile","sys","fileExists","readConfigFile","parseJsonConfigFileContent","config","_pathContains","containerPath","itemPath","relative","_findCommonDirPath","filePaths","ret","dirPath","_sortAsNumber","a","b","aVersion","Number","bVersion","_resolveBrowserslistVersions","query","result","key","split","andChr","filter","andFf","chrome","edge","ff","iosSaf","saf","opera","versions","concat","sort","_resolveBrowserTarget","target","length","_resolveNodeTarget","_createLogger","info","args","blue","warn","yellow","success","green","_resolveBuildContext","emitDeclarationOnly","strict","tsconfig","logger","targetVersions","nodeTarget","webTarget","parsedExports","reduce","acc","x","parsedExternal","keys","external","outputPaths","values","flatMap","_a","_b","_c","_d","p","commonDistPath","configDistPath","dist","distPath","ctx","files","runtime"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-eaeaf263.js","sources":["../../src/node/_printExtractMessages.ts","../../src/node/_tasks/dts/_buildTypes.ts","../../src/node/_tasks/dts/_DtsError.ts","../../src/node/_tasks/dts/_createApiExtractorConfig.ts","../../src/node/_tasks/dts/_createTSDocConfig.ts","../../src/node/_tasks/dts/_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/_resolveRollupConfig.ts","../../src/node/_tasks/rollup/_rollupTask.ts","../../src/node/_tasks/rollup/_rollupWatchTask.ts","../../src/node/_tasks/index.ts"],"sourcesContent":["import path from 'path'\nimport {ExtractorMessage} from '@microsoft/api-extractor'\nimport chalk from 'chalk'\nimport {_BuildContext} from './_core'\n\nexport function _printExtractMessages(ctx: _BuildContext, messages: ExtractorMessage[]): void {\n const {cwd, logger} = ctx\n\n const warnings = messages.filter((msg) => msg.logLevel === 'warning')\n\n if (warnings.length) {\n logger.log()\n }\n\n for (const msg of warnings) {\n const sourceFilePath = msg.sourceFilePath && path.relative(cwd, msg.sourceFilePath)\n\n if (msg.messageId === 'TS6307') {\n continue\n }\n\n logger.log(\n [\n `${chalk.cyan(sourceFilePath || '?')}`,\n `:${chalk.yellow(msg.sourceFileLine)}:${chalk.yellow(msg.sourceFileColumn)}`,\n ` - ${chalk.yellow('warning')} ${chalk.gray(msg.messageId)}\\n`,\n msg.text,\n '\\n',\n ].join('')\n )\n }\n\n const errors: ExtractorMessage[] = messages.filter((msg) => msg.logLevel === 'error')\n\n if (!warnings.length && errors.length) {\n logger.log('')\n }\n\n for (const msg of errors) {\n const sourceFilePath = msg.sourceFilePath && path.relative(cwd, msg.sourceFilePath)\n\n logger.log(\n [\n `${chalk.cyan(sourceFilePath || '?')}`,\n `:${chalk.yellow(msg.sourceFileLine)}:${chalk.yellow(msg.sourceFileColumn)}`,\n ` - ${chalk.red('error')} ${chalk.gray(msg.messageId)}\\n`,\n msg.text,\n '\\n',\n ].join('')\n )\n }\n\n if (errors.length) {\n process.exit(1)\n }\n}\n","/* eslint-disable no-console */\n\nimport ts from 'typescript'\n\nexport const formatHost: ts.FormatDiagnosticsHost = {\n getCurrentDirectory: () => ts.sys.getCurrentDirectory(),\n getNewLine: () => ts.sys.newLine,\n getCanonicalFileName: ts.sys.useCaseSensitiveFileNames ? (f) => f : (f) => f.toLowerCase(),\n}\n\n/** @internal */\nexport async function _buildTypes(options: {\n cwd: string\n outDir: string\n tsconfig: ts.ParsedCommandLine\n strict: boolean\n}): Promise<void> {\n const {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 // TODO: improve logging\n allDiagnostics.forEach((diagnostic) => {\n if (diagnostic.file && diagnostic.start) {\n const {line, character} = ts.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start)\n const message = ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n')\n\n console.log(`${diagnostic.file.fileName} ${line + 1}:${character + 1}\\n${message}`)\n } else {\n console.log(ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n'))\n }\n })\n\n if (emitResult.emitSkipped) {\n const errors = allDiagnostics.filter((diag) => diag.category === ts.DiagnosticCategory.Error)\n\n if (errors.length) {\n console.error(ts.formatDiagnostics(errors, formatHost))\n\n 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 {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 {_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 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 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 await fs.writeFile(\n typesPath,\n prettier.format(typesBuf.toString(), {\n ...prettierConfig,\n filepath: typesPath,\n })\n )\n\n // Add to `files` in context\n files.push({\n type: 'types',\n path: typesPath,\n })\n\n return {extractorResult, messages}\n}\n","import path from 'path'\nimport {promisify} from 'util'\nimport {ExtractorMessage} from '@microsoft/api-extractor'\nimport rimrafCallback from 'rimraf'\nimport {_BuildContext} from '../../_core'\nimport {_buildTypes} from './_buildTypes'\nimport {_DtsError} from './_DtsError'\nimport {_extractTypes} from './_extractTypes'\nimport {_DtsResult, _DtsTask, _DtsWatchTask} from './_types'\n\nconst rimraf = promisify(rimrafCallback)\n\n/**\n * - Build type definitions to a temporary directory using TypeScript compiler.\n * - Create a type definition bundle for each export entry.\n * - When done, remove the temporary directory.\n */\nexport async function _doExtract(\n ctx: _BuildContext,\n task: _DtsTask | _DtsWatchTask\n): Promise<_DtsResult> {\n const {config, cwd, files, 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, outDir: tmpPath, strict, tsconfig: ts.config})\n\n const messages: ExtractorMessage[] = []\n\n const results: {sourcePath: string; filePath: string}[] = []\n\n for (const entry of task.entries) {\n const exportPath = entry.exportPath === '.' ? './index' : entry.exportPath\n\n const sourceTypesPath = path.resolve(\n tmpPath,\n path.relative(rootDir, path.resolve(cwd, entry.sourcePath)).replace(/\\.ts$/, '.d.ts')\n )\n\n const targetPath = path.resolve(cwd, entry.targetPath)\n\n const result = await _extractTypes({\n customTags: config?.extract?.customTags,\n cwd,\n exportPath,\n files,\n filePath: path.relative(outDir, targetPath),\n projectPath: cwd,\n rules: config?.extract?.rules,\n sourceTypesPath: sourceTypesPath,\n tsconfigPath: path.resolve(cwd, ts.configPath || 'tsconfig.json'),\n distPath: outDir,\n })\n\n messages.push(...result.messages)\n\n if (result.messages.some((msg) => msg.logLevel === 'error')) {\n await rimraf(tmpPath)\n\n throw new _DtsError('encountered errors when extracting types', result.messages)\n }\n\n results.push({sourcePath: path.resolve(cwd, entry.sourcePath), filePath: targetPath})\n }\n\n await rimraf(tmpPath)\n\n return {type: 'dts', messages, results}\n}\n","import chalk from 'chalk'\nimport {Observable} from 'rxjs'\nimport {_printExtractMessages} from '../../_printExtractMessages'\nimport {_TaskHandler} from '../_types'\nimport {_doExtract} from './_doExtract'\nimport {_DtsError} from './_DtsError'\nimport {_DtsResult, _DtsTask} from './_types'\n\n/** @internal */\nexport const _dtsTask: _TaskHandler<_DtsTask, _DtsResult> = {\n name: (_ctx, task) =>\n [\n `build type definitions`,\n ...task.entries.map(\n (entry) =>\n ` ${chalk.blue(entry.importId)}: ${entry.sourcePath} -> ${entry.targetPath}`\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n _doExtract(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => {\n observer.error(err)\n })\n })\n },\n complete: (ctx, _task, result) => {\n _printExtractMessages(ctx, result.messages)\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof _DtsError) {\n _printExtractMessages(ctx, err.messages)\n } else if (err instanceof Error) {\n logger.error(err)\n }\n },\n}\n","import chalk from 'chalk'\nimport {Observable} from 'rxjs'\nimport {_printExtractMessages} from '../../_printExtractMessages'\nimport {_TaskHandler} from '../_types'\nimport {_doExtract} from './_doExtract'\nimport {_DtsError} from './_DtsError'\nimport {_DtsResult, _DtsWatchTask} from './_types'\n\n/** @internal */\nexport const _dtsWatchTask: _TaskHandler<_DtsWatchTask, _DtsResult> = {\n name: (_ctx, task) =>\n [\n `build type definitions`,\n ...task.entries.map(\n (entry) =>\n ` ${chalk.blue(entry.importId)}: ${entry.sourcePath} -> ${entry.targetPath}`\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n _doExtract(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => observer.error(err))\n })\n },\n complete: (ctx, _task, result) => {\n const {logger} = ctx\n\n _printExtractMessages(ctx, result.messages)\n\n logger.warn('watching typescript definitions is currently not supported')\n logger.log()\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof _DtsError) {\n _printExtractMessages(ctx, err.messages)\n } else if (err instanceof Error) {\n logger.error(err)\n }\n },\n}\n","import path from 'path'\nimport alias from '@rollup/plugin-alias'\nimport {getBabelOutputPlugin} from '@rollup/plugin-babel'\nimport commonjs from '@rollup/plugin-commonjs'\nimport json from '@rollup/plugin-json'\nimport {nodeResolve} from '@rollup/plugin-node-resolve'\nimport replace from '@rollup/plugin-replace'\nimport {InputOptions, OutputOptions, Plugin} from 'rollup'\nimport esbuild from 'rollup-plugin-esbuild'\nimport {terser} from 'rollup-plugin-terser'\nimport {_BuildContext, _DEFAULTS, _MODULE_EXT, _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, external, distPath, logger, pkg, ts} = ctx\n const outputExt = _MODULE_EXT[pkg.type][format]\n const minify = config?.minify ?? true\n const outDir = path.relative(cwd, distPath)\n\n const pathAliases = Object.fromEntries(\n Object.entries(ts.config?.options.paths || {}).map(([key, val]) => {\n return [key, path.resolve(cwd, ts.config?.options.baseUrl || '.', val[0])]\n })\n )\n\n const entries = buildTask.entries.map((entry) => {\n return {\n ...entry,\n name: path.relative(outDir, entry.output).replace(/\\.[^/.]+$/, ''),\n }\n }, {})\n\n const exportIds =\n _exports && Object.keys(_exports).map((exportPath) => path.join(pkg.name, exportPath))\n\n const sourcePaths = _exports && Object.values(_exports).map((e) => path.resolve(cwd, e.source))\n\n 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 esmExternals: false,\n extensions: ['.js'],\n // include: /\\/node_modules\\//,\n // requireReturnsDefault: 'namespace',\n }),\n json(),\n esbuild({\n jsx: config?.jsx ?? 'automatic',\n jsxFactory: config?.jsxFactory ?? 'createElement',\n jsxFragment: config?.jsxFragment ?? 'Fragment',\n jsxImportSource: config?.jsxImportSource ?? 'react',\n target,\n tsconfig: ctx.ts.configPath || 'tsconfig.json',\n }),\n getBabelOutputPlugin({\n babelrc: false,\n plugins: ['@babel/plugin-proposal-object-rest-spread'],\n presets: [['@babel/preset-env', {targets: pkg.browserslist || _DEFAULTS.browserslist}]],\n }),\n minify &&\n terser({\n output: {\n comments: (_node, comment) => {\n const text = comment.value\n const type = comment.type\n\n // Check if this is a multiline comment\n if (type == 'comment2') {\n // Keep licensing comments\n return /@preserve|@license|@cc_on/i.test(text)\n }\n\n return false\n },\n },\n }),\n ].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 onwarn(warning, rollupWarn) {\n if (!warning.code || !['CIRCULAR_DEPENDENCY'].includes(warning.code)) {\n rollupWarn(warning)\n }\n },\n\n plugins,\n\n treeshake: {\n propertyReadSideEffects: false,\n },\n },\n outputOptions: {\n chunkFileNames: () => `_chunks/[name]-[hash]${outputExt}`,\n dir: outDir,\n entryFileNames: () => (outputExt === '.esm.js' ? `[name].js` : `[name]${outputExt}`),\n format,\n exports: 'auto',\n sourcemap: config?.sourcemap ?? true,\n },\n }\n}\n","/* eslint-disable no-console */\n\nimport path from 'path'\nimport chalk from 'chalk'\nimport {rollup} from 'rollup'\nimport {Observable} from 'rxjs'\nimport {_BuildContext} from '../../_core'\nimport {_RollupTask, _TaskHandler} from '../_types'\nimport {_resolveRollupConfig} from './_resolveRollupConfig'\n\n/** @internal */\nexport const _rollupTask: _TaskHandler<_RollupTask> = {\n name: (ctx, task) =>\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`,\n exec: (ctx, task) => {\n return new Observable((observer) => {\n _execPromise(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => observer.error(err))\n })\n },\n complete: () => {\n //\n },\n error: (_ctx, _task, err) => {\n if (err instanceof Error) {\n console.log(err)\n }\n },\n}\n\nasync function _execPromise(ctx: _BuildContext, task: _RollupTask) {\n const {files, distPath} = ctx\n const outDir = path.relative(ctx.cwd, distPath)\n\n const {inputOptions, outputOptions} = _resolveRollupConfig(ctx, task)\n\n // Create bundle\n const bundle = await rollup(inputOptions)\n\n // an array of file names this bundle depends on\n // console.log(bundle.watchFiles)\n\n // generate output specific code in-memory\n // you can call this function multiple times on the same bundle object\n const {output} = await bundle.generate(outputOptions)\n\n for (const chunkOrAsset of output) {\n if (chunkOrAsset.type === 'asset') {\n files.push({\n type: 'asset',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n } else {\n files.push({\n type: 'chunk',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n }\n }\n\n // or write the bundle to disk\n await bundle.write(outputOptions)\n\n // closes the bundle\n await bundle.close()\n}\n","import path from 'path'\nimport chalk from 'chalk'\nimport {RollupWatcherEvent, RollupWatchOptions, watch as rollupWatch} from 'rollup'\nimport {Observable} from 'rxjs'\nimport {_RollupWatchTask, _TaskHandler} from '../_types'\nimport {_resolveRollupConfig} from './_resolveRollupConfig'\n\n/** @internal */\nexport const _rollupWatchTask: _TaskHandler<_RollupWatchTask, RollupWatcherEvent> = {\n name: (ctx, task) =>\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`,\n exec: (ctx, task) => {\n const {inputOptions, outputOptions} = _resolveRollupConfig(ctx, task)\n\n return new Observable((observer) => {\n const watchOptions: RollupWatchOptions = {\n ...inputOptions,\n output: outputOptions,\n }\n\n const watcher = rollupWatch(watchOptions)\n\n watcher.on('event', (event) => {\n observer.next(event)\n })\n\n return () => {\n watcher.close()\n }\n })\n },\n complete: (ctx, task, event) => {\n const {logger} = ctx\n\n if (event.code === 'BUNDLE_END') {\n logger.success(\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`\n )\n logger.log('')\n\n return\n }\n\n if (event.code === 'BUNDLE_START') {\n return\n }\n\n if (event.code === 'END') {\n return\n }\n\n if (event.code === 'ERROR') {\n // logger.log('')\n logger.error(event.code, event)\n\n return\n }\n\n if (event.code === 'START') {\n return\n }\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof Error) {\n logger.log(err)\n }\n },\n}\n","import {_BuildTaskHandlers, _WatchTaskHandlers} from './_types'\nimport {_dtsTask, _dtsWatchTask} from './dts'\nimport {_rollupTask, _rollupWatchTask} from './rollup'\n\nexport * from './_types'\nexport * from './dts'\nexport * from './rollup'\n\n/** @internal */\nexport const _buildTaskHandlers: _BuildTaskHandlers = {\n 'build:dts': _dtsTask,\n 'build:js': _rollupTask,\n}\n\n/** @internal */\nexport const _watchTaskHandlers: _WatchTaskHandlers = {\n 'watch:dts': _dtsWatchTask,\n 'watch:js': _rollupWatchTask,\n}\n"],"names":["_printExtractMessages","ctx","messages","cwd","logger","warnings","filter","msg","logLevel","length","log","sourceFilePath","path","relative","messageId","chalk","cyan","yellow","sourceFileLine","sourceFileColumn","gray","text","join","errors","red","process","exit","formatHost","getCurrentDirectory","ts","sys","getNewLine","newLine","getCanonicalFileName","useCaseSensitiveFileNames","f","toLowerCase","_buildTypes","options","outDir","tsconfig","strict","compilerOptions","declaration","declarationDir","emitDeclarationOnly","noEmit","program","createProgram","fileNames","emitResult","emit","allDiagnostics","getPreEmitDiagnostics","concat","diagnostics","forEach","diagnostic","file","start","line","character","getLineAndCharacterOfPosition","message","flattenDiagnosticMessageText","messageText","console","fileName","emitSkipped","diag","category","DiagnosticCategory","Error","error","formatDiagnostics","_DtsError","constructor","_createApiExtractorConfig","distPath","exportPath","filePath","projectFolder","mainEntryPointFilePath","tsconfigPath","apiReport","enabled","reportFileName","compiler","tsconfigFilePath","docModel","apiJsonFilePath","resolve","dtsRollup","untrimmedFilePath","tsdocMetadata","_createTSDocConfig","opts","customTags","tsDocBaseBuf","readFile","require","tsDocBaseConfig","parse","toString","tagDefinitions","map","t","tagName","name","syntaxKind","allowMultiple","supportForTags","customTag","TSDocConfigFile","loadFromObject","noStandardTags","_LOG_LEVELS","info","off","warn","_getExtractMessagesConfig","rules","_ruleToLogLevel","key","defaultLevel","r","compilerMessageReporting","default","extractorMessageReporting","addToApiReportFile","tsdocMessageReporting","_extractTypes","files","projectPath","sourceTypesPath","tsdocConfigFile","extractorConfig","ExtractorConfig","prepare","configObject","configObjectFullPath","packageJsonFullPath","extractorResult","Extractor","invoke","localBuild","showVerboseMessages","messageCallback","push","handled","typesPath","typesBuf","fs","prettierConfig","prettier","resolveConfig","mkdirp","dirname","writeFile","format","filepath","type","rimraf","promisify","rimrafCallback","_doExtract","task","_a","_b","config","configPath","results","rootDir","tmpPath","entry","entries","sourcePath","replace","targetPath","result","extract","some","_dtsTask","_ctx","blue","importId","exec","Observable","observer","then","next","complete","catch","err","_task","_dtsWatchTask","_resolveRollupConfig","buildTask","_c","runtime","target","exports","_exports","external","pkg","outputExt","_MODULE_EXT","minify","pathAliases","Object","fromEntries","paths","val","_a2","baseUrl","output","exportIds","keys","sourcePaths","values","e","source","replacements","define","JSON","stringify","defaultPlugins","preventAssignment","arg","find","env","PKG_VERSION","version","alias","nodeResolve","browser","extensions","preferBuiltins","commonjs","esmExternals","json","esbuild","jsx","jsxFactory","jsxFragment","jsxImportSource","getBabelOutputPlugin","babelrc","plugins","presets","targets","browserslist","_DEFAULTS","terser","comments","_node","comment","value","test","Boolean","userPlugins","rollup","Array","isArray","_resolveConfigProperty","inputOptions","context","id","importer","includes","startsWith","idPath","idParts","split","input","reduce","acc","onwarn","warning","rollupWarn","code","treeshake","propertyReadSideEffects","outputOptions","chunkFileNames","dir","entryFileNames","sourcemap","_rollupTask","_execPromise","bundle","generate","chunkOrAsset","write","close","_rollupWatchTask","watchOptions","watcher","rollupWatch","on","event","success","_buildTaskHandlers","_watchTaskHandlers"],"mappings":"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"}
|