@sanity/pkg-utils 2.3.13-canary.1 → 2.3.13
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-fabfa3af.cjs → build-e6e2708e.cjs} +4 -4
- package/dist/_chunks/{build-fabfa3af.cjs.map → build-e6e2708e.cjs.map} +1 -1
- package/dist/_chunks/{buildAction-dae78abb.cjs → buildAction-4d12b69c.cjs} +2 -2
- package/dist/_chunks/{buildAction-dae78abb.cjs.map → buildAction-4d12b69c.cjs.map} +1 -1
- package/dist/_chunks/{check-332a2bb9.cjs → check-0665cb35.cjs} +3 -3
- package/dist/_chunks/{check-332a2bb9.cjs.map → check-0665cb35.cjs.map} +1 -1
- package/dist/_chunks/{checkAction-c39d7dbf.cjs → checkAction-c3e5da35.cjs} +2 -2
- package/dist/_chunks/{checkAction-c39d7dbf.cjs.map → checkAction-c3e5da35.cjs.map} +1 -1
- package/dist/_chunks/{consoleSpy-686c350b.cjs → consoleSpy-d738cb9f.cjs} +12 -52
- package/dist/_chunks/consoleSpy-d738cb9f.cjs.map +1 -0
- package/dist/_chunks/{index-1811ae9f.cjs → index-70f8931a.cjs} +7 -25
- package/dist/_chunks/index-70f8931a.cjs.map +1 -0
- package/dist/_chunks/{init-e45c0c31.cjs → init-2377e6e5.cjs} +2 -2
- package/dist/_chunks/{init-e45c0c31.cjs.map → init-2377e6e5.cjs.map} +1 -1
- package/dist/_chunks/{initAction-48ce747a.cjs → initAction-2abd8576.cjs} +2 -2
- package/dist/_chunks/{initAction-48ce747a.cjs.map → initAction-2abd8576.cjs.map} +1 -1
- package/dist/_chunks/{logger-718e11be.cjs → logger-c593f06b.cjs} +6 -8
- package/dist/_chunks/logger-c593f06b.cjs.map +1 -0
- package/dist/_chunks/{watch-4e565bee.cjs → watch-d390d5e4.cjs} +4 -4
- package/dist/_chunks/{watch-4e565bee.cjs.map → watch-d390d5e4.cjs.map} +1 -1
- package/dist/_chunks/{watchAction-a5721084.cjs → watchAction-63c8a721.cjs} +2 -2
- package/dist/_chunks/{watchAction-a5721084.cjs.map → watchAction-63c8a721.cjs.map} +1 -1
- package/dist/cli.cjs +5 -5
- package/dist/index.cjs +7 -7
- package/dist/index.d.ts +2 -9
- package/dist/index.js +19 -78
- package/dist/index.js.map +1 -1
- package/package.json +2 -3
- package/src/node/core/config/types.ts +0 -5
- package/src/node/core/pkg/loadPkgWithReporting.ts +18 -91
- package/src/node/core/pkg/types.ts +2 -4
- package/src/node/core/pkg/validatePkg.ts +3 -5
- package/src/node/tasks/rollup/resolveRollupConfig.ts +4 -10
- package/src/node/tasks/rollup/rollupTask.ts +0 -20
- package/dist/_chunks/consoleSpy-686c350b.cjs.map +0 -1
- package/dist/_chunks/index-1811ae9f.cjs.map +0 -1
- package/dist/_chunks/logger-718e11be.cjs.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sanity/pkg-utils",
|
|
3
|
-
"version": "2.3.13
|
|
3
|
+
"version": "2.3.13",
|
|
4
4
|
"description": "Simple utilities for modern npm packages.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"sanity-io",
|
|
@@ -26,8 +26,8 @@
|
|
|
26
26
|
".": {
|
|
27
27
|
"types": "./dist/index.d.ts",
|
|
28
28
|
"source": "./src/node/index.ts",
|
|
29
|
-
"import": "./dist/index.js",
|
|
30
29
|
"require": "./dist/index.cjs",
|
|
30
|
+
"import": "./dist/index.js",
|
|
31
31
|
"default": "./dist/index.js"
|
|
32
32
|
},
|
|
33
33
|
"./package.json": "./package.json"
|
|
@@ -155,7 +155,6 @@
|
|
|
155
155
|
"rimraf": "^4.4.1",
|
|
156
156
|
"rollup": "^3.27.2",
|
|
157
157
|
"rollup-plugin-esbuild": "^5.0.0",
|
|
158
|
-
"rollup-plugin-preserve-directives": "^0.2.0",
|
|
159
158
|
"rxjs": "^7.8.1",
|
|
160
159
|
"treeify": "^1.1.0",
|
|
161
160
|
"uuid": "^9.0.0",
|
|
@@ -114,11 +114,6 @@ export interface PkgConfigOptions {
|
|
|
114
114
|
* Build package with support for legacy exports (writes root `<export>.js` files)
|
|
115
115
|
*/
|
|
116
116
|
legacyExports?: boolean
|
|
117
|
-
/**
|
|
118
|
-
* Preserves module directives, such as `'use client'`
|
|
119
|
-
* @alpha
|
|
120
|
-
*/
|
|
121
|
-
preserveModuleDirectives?: boolean
|
|
122
117
|
minify?: boolean
|
|
123
118
|
/** @alpha */
|
|
124
119
|
rollup?: {
|
|
@@ -15,7 +15,6 @@ export async function loadPkgWithReporting(options: {
|
|
|
15
15
|
|
|
16
16
|
try {
|
|
17
17
|
const pkg = await loadPkg({cwd})
|
|
18
|
-
let shouldError = false
|
|
19
18
|
|
|
20
19
|
// validate exports
|
|
21
20
|
if (pkg.exports) {
|
|
@@ -29,103 +28,31 @@ export async function loadPkgWithReporting(options: {
|
|
|
29
28
|
const keys = Object.keys(exp)
|
|
30
29
|
|
|
31
30
|
if (!assertFirst('types', keys)) {
|
|
32
|
-
|
|
33
|
-
logger.error(`exports["${expPath}"]: the \`types\` property should be the first property`)
|
|
31
|
+
logger.warn(`exports["${expPath}"]: the \`types\` property should be the first property`)
|
|
34
32
|
}
|
|
35
33
|
|
|
36
|
-
if (
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
shouldError = true
|
|
41
|
-
logger.error(
|
|
42
|
-
`exports["${expPath}"]: the \`node.module\` property should come before the \`node.import\` property`,
|
|
43
|
-
)
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
if (!assertOrder('import', 'require', nodeKeys)) {
|
|
47
|
-
logger.warn(
|
|
48
|
-
`exports["${expPath}"]: the \`node.import\` property should come before the \`node.require\` property`,
|
|
49
|
-
)
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
if (!assertOrder('module', 'require', nodeKeys)) {
|
|
53
|
-
logger.warn(
|
|
54
|
-
`exports["${expPath}"]: the \`node.module\` property should come before \`node.require\` property`,
|
|
55
|
-
)
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
if (exp.import && exp.node.import && !assertOrder('node', 'import', keys)) {
|
|
59
|
-
shouldError = true
|
|
60
|
-
logger.error(
|
|
61
|
-
`exports["${expPath}"]: the \`node\` property should come before the \`import\` property`,
|
|
62
|
-
)
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
if (exp.module && exp.node.module && !assertOrder('node', 'module', keys)) {
|
|
66
|
-
shouldError = true
|
|
67
|
-
logger.error(
|
|
68
|
-
`exports["${expPath}"]: the \`node\` property should come before the \`module\` property`,
|
|
69
|
-
)
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
// If there's a `node.import` property but not a `node.require` we can assume `node.import` is wrapping `import` and `node.module` should be added for bundlers
|
|
73
|
-
if (exp.node.import && !exp.node.require && !exp.node.module) {
|
|
74
|
-
shouldError = true
|
|
75
|
-
logger.error(
|
|
76
|
-
`exports["${expPath}"]: the \`node.module\` property should be added so bundlers don't unintentionally try to bundle \`node.import\``,
|
|
77
|
-
)
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
if (
|
|
81
|
-
exp.node.import &&
|
|
82
|
-
!exp.node.require &&
|
|
83
|
-
exp.node.module &&
|
|
84
|
-
exp.import &&
|
|
85
|
-
exp.node.module !== exp.import
|
|
86
|
-
) {
|
|
87
|
-
shouldError = true
|
|
88
|
-
logger.error(
|
|
89
|
-
`exports["${expPath}"]: the \`node.module\` property should match \`import\``,
|
|
90
|
-
)
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
if (exp.require && exp.node.require && exp.require === exp.node.require) {
|
|
94
|
-
shouldError = true
|
|
95
|
-
logger.error(
|
|
96
|
-
`exports["${expPath}"]: the \`node.require\` property isn't necessary as it's identical to \`require\``,
|
|
97
|
-
)
|
|
98
|
-
} else if (exp.require && exp.node.require && !assertOrder('node', 'require', keys)) {
|
|
99
|
-
shouldError = true
|
|
100
|
-
logger.error(
|
|
101
|
-
`exports["${expPath}"]: the \`node\` property should come before the \`require\` property`,
|
|
102
|
-
)
|
|
103
|
-
}
|
|
104
|
-
} else {
|
|
105
|
-
if (!assertOrder('import', 'require', keys)) {
|
|
106
|
-
logger.warn(
|
|
107
|
-
`exports["${expPath}"]: the \`import\` property should come before the \`require\` property`,
|
|
108
|
-
)
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
if (!assertOrder('module', 'import', keys)) {
|
|
112
|
-
logger.warn(
|
|
113
|
-
`exports["${expPath}"]: the \`module\` property should come before \`import\` property`,
|
|
114
|
-
)
|
|
115
|
-
}
|
|
34
|
+
if (!assertOrder('require', 'import', keys)) {
|
|
35
|
+
logger.warn(
|
|
36
|
+
`exports["${expPath}"]: the \`require\` property should come before the \`import\` property`,
|
|
37
|
+
)
|
|
116
38
|
}
|
|
117
39
|
|
|
118
|
-
if (!
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
`exports["${expPath}"]: the \`default\` property should be the last property`,
|
|
40
|
+
if (!assertOrder('require', 'node', keys)) {
|
|
41
|
+
logger.warn(
|
|
42
|
+
`exports["${expPath}"]: the \`require\` property should come before the \`node\` property`,
|
|
122
43
|
)
|
|
123
44
|
}
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
45
|
|
|
127
|
-
|
|
128
|
-
|
|
46
|
+
if (!assertOrder('node', 'import', keys)) {
|
|
47
|
+
logger.warn(
|
|
48
|
+
`exports["${expPath}"]: the \`node\` property should come before \`import\` property`,
|
|
49
|
+
)
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
if (!assertLast('default', keys)) {
|
|
53
|
+
logger.warn(`exports["${expPath}"]: the \`default\` property should be the last property`)
|
|
54
|
+
}
|
|
55
|
+
}
|
|
129
56
|
}
|
|
130
57
|
|
|
131
58
|
return pkg
|
|
@@ -19,16 +19,14 @@ export interface PackageJSON {
|
|
|
19
19
|
types?: string
|
|
20
20
|
browser?: {
|
|
21
21
|
source: string
|
|
22
|
-
import?: string
|
|
23
22
|
require?: string
|
|
23
|
+
import?: string
|
|
24
24
|
}
|
|
25
25
|
node?: {
|
|
26
26
|
source?: string
|
|
27
|
-
module?: string
|
|
28
|
-
import?: string
|
|
29
27
|
require?: string
|
|
28
|
+
import?: string
|
|
30
29
|
}
|
|
31
|
-
module?: string
|
|
32
30
|
import?: string
|
|
33
31
|
require?: string
|
|
34
32
|
default: string
|
|
@@ -23,24 +23,22 @@ const pkgSchema = z.object({
|
|
|
23
23
|
z.object({
|
|
24
24
|
types: z.optional(z.string()),
|
|
25
25
|
source: z.string(),
|
|
26
|
+
require: z.optional(z.string()),
|
|
26
27
|
browser: z.optional(
|
|
27
28
|
z.object({
|
|
28
29
|
source: z.string(),
|
|
29
|
-
import: z.optional(z.string()),
|
|
30
30
|
require: z.optional(z.string()),
|
|
31
|
+
import: z.optional(z.string()),
|
|
31
32
|
}),
|
|
32
33
|
),
|
|
33
34
|
node: z.optional(
|
|
34
35
|
z.object({
|
|
35
36
|
source: z.optional(z.string()),
|
|
36
|
-
module: z.optional(z.string()),
|
|
37
|
-
import: z.optional(z.string()),
|
|
38
37
|
require: z.optional(z.string()),
|
|
38
|
+
import: z.optional(z.string()),
|
|
39
39
|
}),
|
|
40
40
|
),
|
|
41
|
-
module: z.optional(z.string()),
|
|
42
41
|
import: z.optional(z.string()),
|
|
43
|
-
require: z.optional(z.string()),
|
|
44
42
|
default: z.string(),
|
|
45
43
|
}),
|
|
46
44
|
]),
|
|
@@ -8,7 +8,6 @@ import terser from '@rollup/plugin-terser'
|
|
|
8
8
|
import path from 'path'
|
|
9
9
|
import {InputOptions, OutputOptions, Plugin} from 'rollup'
|
|
10
10
|
import esbuild from 'rollup-plugin-esbuild'
|
|
11
|
-
import preserveDirectives from 'rollup-plugin-preserve-directives'
|
|
12
11
|
|
|
13
12
|
import {BuildContext, DEFAULT_BROWSERSLIST_QUERY, resolveConfigProperty} from '../../core'
|
|
14
13
|
import {RollupTask, RollupWatchTask} from '../types'
|
|
@@ -112,12 +111,10 @@ export function resolveRollupConfig(
|
|
|
112
111
|
}),
|
|
113
112
|
minify &&
|
|
114
113
|
terser({
|
|
115
|
-
compress:
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
}
|
|
120
|
-
: true,
|
|
114
|
+
compress: {
|
|
115
|
+
// Needed until https://github.com/terser/terser/issues/1320 is fixed
|
|
116
|
+
directives: false,
|
|
117
|
+
},
|
|
121
118
|
output: {
|
|
122
119
|
comments: (_node, comment) => {
|
|
123
120
|
const text = comment.value
|
|
@@ -133,8 +130,6 @@ export function resolveRollupConfig(
|
|
|
133
130
|
},
|
|
134
131
|
},
|
|
135
132
|
}),
|
|
136
|
-
// Allows marking export files with `'use client'` at the top
|
|
137
|
-
config?.preserveModuleDirectives && preserveDirectives(),
|
|
138
133
|
].filter(Boolean) as Plugin[]
|
|
139
134
|
|
|
140
135
|
const userPlugins = config?.rollup?.plugins
|
|
@@ -217,7 +212,6 @@ export function resolveRollupConfig(
|
|
|
217
212
|
minifyInternalExports: minify,
|
|
218
213
|
sourcemap: config?.sourcemap ?? true,
|
|
219
214
|
hoistTransitiveImports: false,
|
|
220
|
-
preserveModules: config?.preserveModuleDirectives ? true : false,
|
|
221
215
|
},
|
|
222
216
|
}
|
|
223
217
|
}
|
|
@@ -114,26 +114,6 @@ async function execPromise(ctx: BuildContext, task: RollupTask) {
|
|
|
114
114
|
const bundle = await rollup({
|
|
115
115
|
...inputOptions,
|
|
116
116
|
onwarn(warning) {
|
|
117
|
-
if (
|
|
118
|
-
// Ignore the directive warning until the preserveDirectives plugin does it automatically: https://github.com/Ephem/rollup-plugin-preserve-directives#rollup-plugin-preserve-directives-warning
|
|
119
|
-
warning.message.includes(
|
|
120
|
-
'Module level directives cause errors when bundled, "use client" in',
|
|
121
|
-
)
|
|
122
|
-
) {
|
|
123
|
-
// If the preserve option isn't enabled, then extend the message with a note about how to enable
|
|
124
|
-
if (!ctx.config?.preserveModuleDirectives) {
|
|
125
|
-
consoleSpy.messages.push({
|
|
126
|
-
type: 'warn',
|
|
127
|
-
code: warning.code,
|
|
128
|
-
args: [
|
|
129
|
-
`${warning.message} You can preserve it by setting "preserveModuleDirectives: true" in your "package.config.ts"`,
|
|
130
|
-
],
|
|
131
|
-
})
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
return
|
|
135
|
-
}
|
|
136
|
-
|
|
137
117
|
consoleSpy.messages.push({
|
|
138
118
|
type: 'warn',
|
|
139
119
|
code: warning.code,
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"consoleSpy-686c350b.cjs","sources":["../../src/node/core/config/findConfigFile.ts","../../src/node/core/config/loadConfig.ts","../../src/node/core/config/resolveConfigProperty.ts","../../src/node/core/defaults.ts","../../src/node/core/pkg/loadPkg.ts","../../src/node/core/pkg/helpers.ts","../../src/node/core/pkg/loadPkgWithReporting.ts","../../src/node/core/pkg/validateExports.ts","../../src/node/core/pkg/parseExports.ts","../../src/node/core/pkg/pkgExt.ts","../../src/node/core/ts/loadTSConfig.ts","../../src/node/core/findCommonPath.ts","../../src/node/resolveBrowserslistVersions.ts","../../src/node/resolveBrowserTarget.ts","../../src/node/resolveNodeTarget.ts","../../src/node/resolveBuildContext.ts","../../src/node/consoleSpy.ts"],"sourcesContent":["import findConfig from 'find-config'\nimport path from 'path'\n\nimport {fileExists} from '../../fileExists'\n\nconst CONFIG_FILE_NAMES = [\n 'package.config.ts',\n 'package.config.js',\n 'package.config.cjs',\n 'package.config.mjs',\n]\n\n/** @internal */\nexport function findConfigFile(cwd: string): string | undefined {\n const pkgJsonPath = findConfig('package.json', {cwd})\n\n if (!pkgJsonPath) return undefined\n\n const pkgPath = path.dirname(pkgJsonPath)\n\n for (const fileName of CONFIG_FILE_NAMES) {\n const configPath = path.resolve(pkgPath, fileName)\n\n const exists = fileExists(configPath)\n\n if (exists) {\n return configPath\n }\n }\n\n return undefined\n}\n","import {register} from 'esbuild-register/dist/node'\nimport path from 'path'\nimport pkgUp from 'pkg-up'\n\nimport {findConfigFile} from './findConfigFile'\nimport {PkgConfigOptions} from './types'\n\n/** @internal */\nexport async function loadConfig(options: {cwd: string}): Promise<PkgConfigOptions | undefined> {\n const {cwd} = options\n\n const pkgPath = await pkgUp({cwd})\n\n if (!pkgPath) return undefined\n\n const root = path.dirname(pkgPath)\n\n const configFile = await findConfigFile(root)\n\n if (!configFile) {\n return undefined\n }\n\n // Do not accept config files outside of the root\n if (!configFile.startsWith(cwd)) {\n return undefined\n }\n\n const esbuildOptions = {extensions: ['.js', '.mjs', '.ts']}\n\n const {unregister} = globalThis.__DEV__ ? {unregister: () => undefined} : register(esbuildOptions)\n\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const mod = require(configFile)\n\n unregister()\n\n return mod?.default || mod || undefined\n}\n","import {PkgConfigProperty, PkgConfigPropertyResolver} from './types'\n\n/** @internal */\nexport function resolveConfigProperty<T>(\n prop: PkgConfigProperty<T> | undefined,\n initialValue: T,\n): T {\n if (!prop) return initialValue\n\n if (typeof prop === 'function') {\n return (prop as PkgConfigPropertyResolver<T>)(initialValue)\n }\n\n return prop\n}\n","/** @public */\nexport const DEFAULT_BROWSERSLIST_QUERY = [\n '> 0.2% and supports es6-module and supports es6-module-dynamic-import',\n 'not dead',\n 'not IE 11',\n 'maintained node versions',\n]\n","import fs from 'fs/promises'\nimport pkgUp from 'pkg-up'\n\nimport {PackageJSON} from './types'\nimport {validatePkg} from './validatePkg'\n\n/** @internal */\nexport async function loadPkg(options: {cwd: string}): Promise<PackageJSON> {\n const {cwd} = options\n\n const pkgPath = await pkgUp({cwd})\n\n if (!pkgPath) throw new Error('no package.json found')\n\n const buf = await fs.readFile(pkgPath)\n\n const raw = JSON.parse(buf.toString())\n\n validatePkg(raw)\n\n return raw\n}\n","/** @internal */\nexport function assertFirst<T>(a: T, arr: T[]): boolean {\n const aIdx = arr.indexOf(a)\n\n // if not found, then we don't care\n if (aIdx === -1) {\n return true\n }\n\n return aIdx === 0\n}\n\n/** @internal */\nexport function assertLast<T>(a: T, arr: T[]): boolean {\n const aIdx = arr.indexOf(a)\n\n // if not found, then we don't care\n if (aIdx === -1) {\n return true\n }\n\n return aIdx === arr.length - 1\n}\n\n/** @internal */\nexport function assertOrder<T>(a: T, b: T, arr: T[]): boolean {\n const aIdx = arr.indexOf(a)\n const bIdx = arr.indexOf(b)\n\n // if either is not found, then we don't care\n if (aIdx === -1 || bIdx === -1) {\n return true\n }\n\n return aIdx < bIdx\n}\n","import chalk from 'chalk'\nimport {ZodError} from 'zod'\n\nimport {Logger} from '../../logger'\nimport {assertFirst, assertLast, assertOrder} from './helpers'\nimport {loadPkg} from './loadPkg'\nimport {PackageJSON} from './types'\n\n/** @internal */\nexport async function loadPkgWithReporting(options: {\n cwd: string\n logger: Logger\n}): Promise<PackageJSON> {\n const {cwd, logger} = options\n\n try {\n const pkg = await loadPkg({cwd})\n let shouldError = false\n\n // validate exports\n if (pkg.exports) {\n const _exports = Object.entries(pkg.exports)\n\n for (const [expPath, exp] of _exports) {\n if (typeof exp === 'string') {\n continue\n }\n\n const keys = Object.keys(exp)\n\n if (!assertFirst('types', keys)) {\n shouldError = true\n logger.error(`exports[\"${expPath}\"]: the \\`types\\` property should be the first property`)\n }\n\n if (exp.node) {\n const nodeKeys = Object.keys(exp.node)\n\n if (!assertOrder('module', 'import', nodeKeys)) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node.module\\` property should come before the \\`node.import\\` property`,\n )\n }\n\n if (!assertOrder('import', 'require', nodeKeys)) {\n logger.warn(\n `exports[\"${expPath}\"]: the \\`node.import\\` property should come before the \\`node.require\\` property`,\n )\n }\n\n if (!assertOrder('module', 'require', nodeKeys)) {\n logger.warn(\n `exports[\"${expPath}\"]: the \\`node.module\\` property should come before \\`node.require\\` property`,\n )\n }\n\n if (exp.import && exp.node.import && !assertOrder('node', 'import', keys)) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node\\` property should come before the \\`import\\` property`,\n )\n }\n\n if (exp.module && exp.node.module && !assertOrder('node', 'module', keys)) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node\\` property should come before the \\`module\\` property`,\n )\n }\n\n // If there's a `node.import` property but not a `node.require` we can assume `node.import` is wrapping `import` and `node.module` should be added for bundlers\n if (exp.node.import && !exp.node.require && !exp.node.module) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node.module\\` property should be added so bundlers don't unintentionally try to bundle \\`node.import\\``,\n )\n }\n\n if (\n exp.node.import &&\n !exp.node.require &&\n exp.node.module &&\n exp.import &&\n exp.node.module !== exp.import\n ) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node.module\\` property should match \\`import\\``,\n )\n }\n\n if (exp.require && exp.node.require && exp.require === exp.node.require) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node.require\\` property isn't necessary as it's identical to \\`require\\``,\n )\n } else if (exp.require && exp.node.require && !assertOrder('node', 'require', keys)) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node\\` property should come before the \\`require\\` property`,\n )\n }\n } else {\n if (!assertOrder('import', 'require', keys)) {\n logger.warn(\n `exports[\"${expPath}\"]: the \\`import\\` property should come before the \\`require\\` property`,\n )\n }\n\n if (!assertOrder('module', 'import', keys)) {\n logger.warn(\n `exports[\"${expPath}\"]: the \\`module\\` property should come before \\`import\\` property`,\n )\n }\n }\n\n if (!assertLast('default', keys)) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`default\\` property should be the last property`,\n )\n }\n }\n }\n\n if (shouldError) {\n process.exit(1)\n }\n\n return pkg\n } catch (err) {\n if (err instanceof ZodError) {\n for (const issue of err.issues) {\n if (issue.code === 'invalid_type') {\n logger.error(\n [\n `\\`${formatPath(issue.path)}\\` `,\n `in \\`./package.json\\` must be of type ${chalk.magenta(issue.expected)} `,\n `(received ${chalk.magenta(issue.received)})`,\n ].join(''),\n )\n continue\n }\n\n logger.error(issue)\n }\n } else {\n logger.error(err)\n }\n\n process.exit(1)\n }\n}\n\nfunction formatPath(segments: Array<string | number>) {\n return segments\n .map((s, idx) => {\n if (idx === 0) return s\n\n if (typeof s === 'number') {\n return `[${s}]`\n }\n\n if (s.startsWith('.')) {\n return `[\"${s}\"]`\n }\n\n return `.${s}`\n })\n .join('')\n}\n","import {PkgExport} from '../config'\nimport {PkgExtMap} from './pkgExt'\nimport {PackageJSON} from './types'\n\nexport function validateExports(\n _exports: (PkgExport & {_path: string})[],\n options: {extMap: PkgExtMap; pkg: PackageJSON},\n): string[] {\n const {extMap, pkg} = options\n const ext = extMap[pkg.type || 'commonjs']\n\n const errors: string[] = []\n\n for (const exp of _exports) {\n if (exp.require && !exp.require.endsWith(ext.commonjs)) {\n errors.push(\n `package.json with \\`type: \"${pkg.type}\"\\` - \\`exports[\"${exp._path}\"].require\\` must end with \"${ext.commonjs}\"`,\n )\n }\n\n if (exp.import && !exp.import.endsWith(ext.esm)) {\n errors.push(\n `package.json with \\`type: \"${pkg.type}\"\\` - \\`exports[\"${exp._path}\"].import\\` must end with \"${ext.esm}\"`,\n )\n }\n }\n\n return errors\n}\n","import {PkgExport} from '../config'\nimport {isRecord} from '../isRecord'\nimport {PkgExtMap} from './pkgExt'\nimport {PackageJSON} from './types'\nimport {validateExports} from './validateExports'\n\n/** @internal */\nexport function parseExports(options: {\n extMap: PkgExtMap\n pkg: PackageJSON\n strict: boolean\n}): (PkgExport & {_path: string})[] {\n const {extMap, pkg, strict} = options\n\n const rootExport: PkgExport & {_path: string} = {\n _exported: true,\n _path: '.',\n types: pkg.types,\n source: pkg.source || '',\n browser: pkg.browser && {\n source: pkg.source || '',\n require: pkg.main && pkg.browser[pkg.main],\n import: pkg.module && pkg.browser[pkg.module],\n },\n require: pkg.main,\n import: pkg.module,\n default: pkg.module || pkg.main || '',\n }\n\n const extraExports: (PkgExport & {_path: string})[] = []\n\n const errors: string[] = []\n\n if (pkg.exports) {\n if (strict && !pkg.exports['./package.json']) {\n errors.push('package.json: `exports[\"./package.json\"] must be declared.')\n }\n\n for (const [exportPath, exportEntry] of Object.entries(pkg.exports)) {\n if (exportPath.endsWith('.json')) {\n if (exportPath === './package.json') {\n if (exportEntry !== './package.json') {\n errors.push('package.json: `exports[\"./package.json\"] must be \"./package.json\".')\n }\n }\n } else if (isRecord(exportEntry)) {\n if (exportPath === '.') {\n if (\n exportEntry.require &&\n rootExport.require &&\n exportEntry.require !== rootExport.require\n ) {\n errors.push(\n 'package.json: mismatch between \"main\" and \"exports.require\". These must be equal.',\n )\n }\n\n if (exportEntry.import && rootExport.import && exportEntry.import !== rootExport.import) {\n errors.push(\n 'package.json: mismatch between \"module\" and \"exports.import\" These must be equal.',\n )\n }\n\n if (exportEntry.types && rootExport.types && exportEntry.types !== rootExport.types) {\n errors.push(\n 'package.json: mismatch between \"types\" and \"exports.types\". These must be equal.',\n )\n }\n\n if (exportEntry.source && rootExport.source && exportEntry.source !== rootExport.source) {\n errors.push(\n 'package.json: mismatch between \"source\" and \"exports.source\". These must be equal.',\n )\n }\n\n Object.assign(rootExport, exportEntry)\n } else {\n const extraExport: PkgExport & {_path: string} = {\n _exported: true,\n _path: exportPath,\n ...exportEntry,\n }\n\n extraExports.push(extraExport)\n }\n } else {\n errors.push('package.json: exports must be an object')\n }\n }\n }\n\n const _exports = [rootExport, ...extraExports]\n\n errors.push(...validateExports(_exports, {extMap, pkg}))\n\n if (errors.length) {\n throw new Error('\\n- ' + errors.join('\\n- '))\n }\n\n return _exports\n}\n","/** @internal */\nexport interface PkgExtMap {\n commonjs: {commonjs: string; esm: string}\n module: {commonjs: string; esm: string}\n}\n\n/** @internal */\nexport const DEFAULT_PKG_EXT_MAP: PkgExtMap = {\n // pkg.type: \"commonjs\"\n commonjs: {\n commonjs: '.js',\n esm: '.mjs',\n },\n\n // pkg.type: \"module\"\n module: {\n commonjs: '.cjs',\n esm: '.js',\n },\n}\n\n/** @internal */\nexport function getPkgExtMap(options: {legacyExports: boolean}): PkgExtMap {\n const {legacyExports} = options\n\n const ret = {...DEFAULT_PKG_EXT_MAP}\n\n // Fall back to legacy file extensions for package.json with `\"type\": \"commonjs\"`\n // NOTE: Not supported by Node 14+ and will be removed in a future version\n if (legacyExports) {\n ret['commonjs'] = {\n commonjs: '.js',\n esm: '.esm.js',\n }\n }\n\n return ret\n}\n","import ts from 'typescript'\n\n/** @internal */\nexport async function loadTSConfig(options: {\n cwd: string\n tsconfigPath: string\n}): Promise<ts.ParsedCommandLine> {\n const {cwd, tsconfigPath} = options\n\n const configPath = ts.findConfigFile(cwd, ts.sys.fileExists, tsconfigPath)\n\n if (!configPath) {\n throw new Error(`could not find a valid '${tsconfigPath}'`)\n }\n\n const configFile = ts.readConfigFile(configPath, ts.sys.readFile)\n\n return ts.parseJsonConfigFileContent(configFile.config, ts.sys, cwd)\n}\n","import path from 'path'\n\nexport function pathContains(containerPath: string, itemPath: string): boolean {\n return !path.relative(containerPath, itemPath).startsWith('..')\n}\n\nexport function findCommonDirPath(filePaths: string[]): string | undefined {\n let ret: string | undefined = undefined\n\n for (const filePath of filePaths) {\n let dirPath = path.dirname(filePath)\n\n if (!ret) {\n ret = dirPath\n continue\n }\n\n while (dirPath !== ret) {\n dirPath = path.dirname(dirPath)\n\n if (dirPath === ret) {\n break\n }\n\n if (pathContains(dirPath, ret)) {\n ret = dirPath\n break\n }\n\n if (dirPath === '.') return undefined\n }\n }\n\n return ret\n}\n","import browserslist from 'browserslist'\n\nexport interface PackageTargetVersions {\n chrome: string[]\n ff: string[]\n edge: string[]\n iosSaf: string[]\n saf: string[]\n opera: string[]\n node: string[]\n}\n\nfunction sortAsNumber(a: string, b: string) {\n const aVersion = Number(a)\n const bVersion = Number(b)\n\n return aVersion - bVersion\n}\n\nexport function resolveBrowserslistVersions(query: string[]): PackageTargetVersions {\n const result = browserslist(query)\n\n const entries = result.map((key) => {\n const [name, version] = key.split(' ')\n\n return {name, version: version.split('-')[0].split('.')[0]}\n })\n\n const andChr = entries.filter((b) => b.name === 'and_chr')\n const andFf = entries.filter((b) => b.name === 'and_ff')\n const chrome = entries.filter((b) => b.name === 'chrome')\n const edge = entries.filter((b) => b.name === 'edge')\n const ff = entries.filter((b) => b.name === 'firefox')\n const iosSaf = entries.filter((b) => b.name === 'ios_saf')\n const saf = entries.filter((b) => b.name === 'safari')\n const opera = entries.filter((b) => b.name === 'opera')\n const node = entries.filter((b) => b.name === 'node')\n\n // versions\n const versions: PackageTargetVersions = {\n chrome: andChr.concat(chrome).map((b) => b.version),\n ff: andFf.concat(ff).map((b) => b.version),\n edge: edge.map((b) => b.version),\n iosSaf: iosSaf.map((b) => b.version),\n saf: saf.map((b) => b.version),\n opera: opera.map((b) => b.version),\n node: node.map((b) => b.version),\n }\n\n // sort\n versions.chrome.sort(sortAsNumber)\n versions.ff.sort(sortAsNumber)\n versions.edge.sort(sortAsNumber)\n versions.iosSaf.sort(sortAsNumber)\n versions.saf.sort(sortAsNumber)\n versions.opera.sort(sortAsNumber)\n versions.node.sort(sortAsNumber)\n\n return versions\n}\n","import {PackageTargetVersions} from './resolveBrowserslistVersions'\n\nexport function resolveBrowserTarget(versions: PackageTargetVersions): string[] | undefined {\n const target: string[] = []\n\n if (versions.chrome.length) {\n target.push(`chrome${versions.chrome[0]}`)\n }\n\n if (versions.ff.length) {\n target.push(`firefox${versions.ff[0]}`)\n }\n\n if (versions.edge.length) {\n target.push(`edge${versions.edge[0]}`)\n }\n\n if (versions.iosSaf.length) {\n target.push(`ios${versions.iosSaf[0]}`)\n }\n\n if (versions.saf.length) {\n target.push(`safari${versions.saf[0]}`)\n }\n\n if (versions.opera.length) {\n target.push(`opera${versions.opera[0]}`)\n }\n\n if (target.length === 0) {\n return undefined\n }\n\n return target\n}\n","import {PackageTargetVersions} from './resolveBrowserslistVersions'\n\nexport function resolveNodeTarget(versions: PackageTargetVersions): string[] | undefined {\n const target: string[] = []\n\n if (versions.node.length) {\n target.push(`node${versions.node[0]}`)\n }\n\n if (target.length === 0) {\n return undefined\n }\n\n return target\n}\n","import path from 'path'\n\nimport {\n BuildContext,\n DEFAULT_BROWSERSLIST_QUERY,\n loadTSConfig,\n PackageJSON,\n parseExports,\n PkgConfigOptions,\n PkgExports,\n PkgExtMap,\n PkgRuntime,\n resolveConfigProperty,\n} from './core'\nimport {findCommonDirPath, pathContains} from './core/findCommonPath'\nimport {Logger} from './logger'\nimport {resolveBrowserslistVersions} from './resolveBrowserslistVersions'\nimport {resolveBrowserTarget} from './resolveBrowserTarget'\nimport {resolveNodeTarget} from './resolveNodeTarget'\n\nexport async function resolveBuildContext(options: {\n config?: PkgConfigOptions\n cwd: string\n emitDeclarationOnly?: boolean\n extMap: PkgExtMap\n logger: Logger\n pkg: PackageJSON\n strict: boolean\n tsconfig: string\n}): Promise<BuildContext> {\n const {\n config,\n cwd,\n emitDeclarationOnly = false,\n extMap,\n logger,\n pkg,\n strict,\n tsconfig: tsconfigPath,\n } = options\n const tsconfig = await loadTSConfig({cwd, tsconfigPath})\n const targetVersions = resolveBrowserslistVersions(pkg.browserslist || DEFAULT_BROWSERSLIST_QUERY)\n const nodeTarget = resolveNodeTarget(targetVersions)\n const webTarget = resolveBrowserTarget(targetVersions)\n\n if (!nodeTarget) {\n throw new Error('no matching `node` target')\n }\n\n if (!webTarget) {\n throw new Error('no matching `web` target')\n }\n\n const target: Record<PkgRuntime, string[]> = {\n '*': webTarget.concat(nodeTarget),\n browser: webTarget,\n node: nodeTarget,\n }\n\n const parsedExports = parseExports({extMap, pkg, strict}).reduce<PkgExports>((acc, x) => {\n const {_path: exportPath, ...exportEntry} = x\n\n return {...acc, [exportPath]: exportEntry}\n }, {})\n\n const exports = resolveConfigProperty(config?.exports, parsedExports)\n\n const parsedExternal = [\n ...(pkg.dependencies ? Object.keys(pkg.dependencies) : []),\n ...(pkg.peerDependencies ? Object.keys(pkg.peerDependencies) : []),\n ]\n\n // Merge externals if an array is provided, replace if it's a function\n const external =\n config && Array.isArray(config.external)\n ? [...parsedExternal, ...config.external]\n : resolveConfigProperty(config?.external, parsedExternal)\n\n const outputPaths = Object.values(exports)\n .flatMap((exportEntry) => {\n return [\n exportEntry.import,\n exportEntry.require,\n exportEntry.browser?.import,\n exportEntry.browser?.require,\n exportEntry.node?.source && exportEntry.node.import,\n exportEntry.node?.source && exportEntry.node.require,\n ].filter(Boolean) as string[]\n })\n .map((p) => path.resolve(cwd, p))\n\n const commonDistPath = findCommonDirPath(outputPaths)\n\n if (commonDistPath === cwd) {\n throw new Error(\n 'all output files must share a common parent directory which is not the root package directory',\n )\n }\n\n if (commonDistPath && !pathContains(cwd, commonDistPath)) {\n throw new Error('all output files must be located within the package')\n }\n\n const configDistPath = config?.dist ? path.resolve(cwd, config.dist) : undefined\n\n if (\n configDistPath &&\n commonDistPath &&\n configDistPath !== commonDistPath &&\n !pathContains(configDistPath, commonDistPath)\n ) {\n logger.log(`did you mean to configure \\`dist: './${path.relative(cwd, commonDistPath)}'\\`?`)\n\n throw new Error('all output files must be located with the configured `dist` path')\n }\n\n const distPath = configDistPath || commonDistPath\n\n if (!distPath) {\n throw new Error('could not detect `dist` path')\n }\n\n const ctx: BuildContext = {\n config,\n cwd,\n distPath,\n emitDeclarationOnly,\n exports,\n external,\n extMap,\n files: [],\n logger,\n pkg,\n runtime: config?.runtime ?? '*',\n strict,\n target,\n ts: {\n config: tsconfig,\n configPath: tsconfigPath,\n },\n }\n\n return ctx\n}\n","/* 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"],"names":["CONFIG_FILE_NAMES","findConfigFile","cwd","pkgJsonPath","findConfig","default","pkgPath","path","dirname","fileName","configPath","resolve","exists","fileExists","loadConfig","options","pkgUp","root","configFile","startsWith","esbuildOptions","extensions","unregister","globalThis","__DEV__","register","mod","require","resolveConfigProperty","prop","initialValue","DEFAULT_BROWSERSLIST_QUERY","loadPkg","Error","buf","fs","readFile","raw","JSON","parse","toString","validatePkg","assertFirst","a","arr","aIdx","indexOf","assertLast","length","assertOrder","b","bIdx","loadPkgWithReporting","logger","pkg","shouldError","exports","_exports","Object","entries","expPath","exp","keys","error","concat","node","nodeKeys","warn","import","module","process","exit","err","ZodError","issue","issues","code","formatPath","chalk","magenta","expected","received","join","segments","map","s","idx","validateExports","extMap","ext","type","errors","endsWith","commonjs","push","_path","esm","parseExports","strict","rootExport","_exported","types","source","browser","main","extraExports","exportPath","exportEntry","isRecord","assign","extraExport","DEFAULT_PKG_EXT_MAP","getPkgExtMap","legacyExports","ret","loadTSConfig","tsconfigPath","ts","sys","readConfigFile","parseJsonConfigFileContent","config","pathContains","containerPath","itemPath","relative","findCommonDirPath","filePaths","filePath","dirPath","sortAsNumber","aVersion","Number","bVersion","resolveBrowserslistVersions","query","result","browserslist","key","name","version","split","andChr","filter","andFf","chrome","edge","ff","iosSaf","saf","opera","versions","sort","resolveBrowserTarget","target","resolveNodeTarget","resolveBuildContext","_ref","emitDeclarationOnly","tsconfig","targetVersions","nodeTarget","webTarget","parsedExports","reduce","acc","x","parsedExternal","dependencies","peerDependencies","external","Array","isArray","outputPaths","values","flatMap","_a","_b","_c","_d","Boolean","p","commonDistPath","configDistPath","dist","log","distPath","ctx","files","runtime","createConsoleSpy","onRestored","original","console","messages","_len","arguments","args","_key","_len2","_key2","_len3","_key3","restore"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-1811ae9f.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/node/reexportCjsTask.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 {ExtractorMessage} from '@microsoft/api-extractor'\nimport chalk from 'chalk'\nimport path from 'path'\n\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 chalk from 'chalk'\nimport path from 'path'\nimport ts from 'typescript'\n\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'\n\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 {IConfigFile, IExtractorMessagesConfig} from '@microsoft/api-extractor'\nimport path from 'path'\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 {TSDocConfigFile} from '@microsoft/tsdoc-config'\nimport {readFile} from 'fs/promises'\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'\n\nimport {PkgConfigOptions, PkgRuleLevel} 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 {\n Extractor,\n ExtractorConfig,\n ExtractorMessage,\n ExtractorResult,\n} from '@microsoft/api-extractor'\nimport fs from 'fs/promises'\nimport {mkdirp} from 'mkdirp'\nimport path from 'path'\nimport prettier from 'prettier'\n\nimport {BuildFile, PkgConfigOptions} 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 await 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 {ExtractorMessage} from '@microsoft/api-extractor'\nimport path from 'path'\nimport rimraf from 'rimraf'\n\nimport {BuildContext} from '../../core'\nimport {buildTypes} from './buildTypes'\nimport {DtsError} from './DtsError'\nimport {extractTypes} from './extractTypes'\nimport {DtsResult, DtsTask, DtsWatchTask} from './types'\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'\n\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'\n\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 chalk from 'chalk'\nimport {writeFile} from 'fs/promises'\nimport {mkdirp} from 'mkdirp'\nimport path from 'path'\nimport {from} from 'rxjs'\n\nimport {BuildContext} from '../../core'\nimport {NodeReExportFromCJSTask, TaskHandler} from '../types'\n\n/** @internal */\nexport const nodeReexportCjsTask: TaskHandler<NodeReExportFromCJSTask> = {\n name: (_ctx, task) =>\n [\n `Re-export CommonJS module in ESM wrapper…`,\n ` entries:`,\n ...task.entries.map((entry) =>\n [\n ` - ${chalk.cyan(entry.importId)}: `,\n `${chalk.yellow(entry.require)} ${chalk.gray('→')} ${chalk.yellow(entry.import)}`,\n ].join(''),\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return from(exec(ctx, task))\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 exec(ctx: BuildContext, task: NodeReExportFromCJSTask) {\n const {cwd} = ctx\n\n for (const entry of task.entries) {\n const sourcePath = path.resolve(cwd, entry.require)\n const targetPath = path.resolve(cwd, entry.import)\n const targetDir = path.dirname(targetPath)\n\n await mkdirp(targetDir)\n\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const mod = require(sourcePath)\n\n let relativeImport = `./${path.relative(targetDir, sourcePath)}`\n\n // Strip leading \"./\" from relative import\n if (relativeImport.startsWith('./.')) {\n relativeImport = relativeImport.slice(2)\n }\n\n const code = compileESMWrapper(mod, relativeImport)\n\n await writeFile(targetPath, code, 'utf8')\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction compileESMWrapper(mod: any, relativeImport: string) {\n const keys = Object.keys(mod).filter((k) => k !== '__esModule')\n\n let code = `import cjs from '${relativeImport}';\\n`\n\n if (keys.length) {\n code += `\\n`\n code += keys\n .filter((k) => (mod.__esModule ? k !== 'default' : true))\n .map((k) => `export const ${k} = cjs.${k};\\n`)\n .join('')\n }\n\n code += `\\n`\n\n if (mod.__esModule) {\n // If there is no default export, we shouldn't add it as it'll be undefined\n if ('default' in mod) {\n code += `export default cjs.default;\\n`\n }\n } else {\n code += `export default cjs;\\n`\n }\n\n return code\n}\n","import 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 path from 'path'\nimport {InputOptions, OutputOptions, Plugin} from 'rollup'\nimport esbuild from 'rollup-plugin-esbuild'\nimport preserveDirectives from 'rollup-plugin-preserve-directives'\n\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: config?.babel?.plugins,\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: config?.preserveModuleDirectives\n ? {\n // Needed until https://github.com/terser/terser/issues/1320 is fixed\n directives: false,\n }\n : true,\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 // Allows marking export files with `'use client'` at the top\n config?.preserveModuleDirectives && preserveDirectives(),\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 preserveModules: config?.preserveModuleDirectives ? true : false,\n },\n }\n}\n","import chalk from 'chalk'\nimport path from 'path'\nimport {rollup} from 'rollup'\nimport {Observable} from 'rxjs'\n\nimport {createConsoleSpy} from '../../consoleSpy'\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 const bundleEntries = task.entries.filter((e) => e.path.includes('__$$bundle_'))\n const entries = task.entries.filter((e) => !e.path.includes('__$$bundle_'))\n\n const targetLines = task.target.length\n ? [` target:`, ...task.target.map((t) => ` - ${chalk.yellow(t)}`)]\n : []\n\n const bundlesLines = bundleEntries.length\n ? [\n ' bundles:',\n ...bundleEntries.map((e) =>\n [\n ` - `,\n `${chalk.yellow(e.source)} ${chalk.gray('→')} ${chalk.yellow(e.output)}`,\n ].join(''),\n ),\n ]\n : []\n\n const entriesLines = entries.length\n ? [\n ' entries:',\n ...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 ]\n : []\n\n return [\n `Build javascript files...`,\n ` format: ${chalk.yellow(task.format)}`,\n ...targetLines,\n ...bundlesLines,\n ...entriesLines,\n ].join('\\n')\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 if (\n // Ignore the directive warning until the preserveDirectives plugin does it automatically: https://github.com/Ephem/rollup-plugin-preserve-directives#rollup-plugin-preserve-directives-warning\n warning.message.includes(\n 'Module level directives cause errors when bundled, \"use client\" in',\n )\n ) {\n // If the preserve option isn't enabled, then extend the message with a note about how to enable\n if (!ctx.config?.preserveModuleDirectives) {\n consoleSpy.messages.push({\n type: 'warn',\n code: warning.code,\n args: [\n `${warning.message} You can preserve it by setting \"preserveModuleDirectives: true\" in your \"package.config.ts\"`,\n ],\n })\n }\n\n return\n }\n\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 chalk from 'chalk'\nimport path from 'path'\nimport {RollupWatcherEvent, RollupWatchOptions, watch as rollupWatch} from 'rollup'\nimport {Observable} from 'rxjs'\n\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 {nodeReexportCjsTask} from './node/reexportCjsTask'\nimport {rollupTask, rollupWatchTask} from './rollup'\nimport {BuildTaskHandlers, WatchTaskHandlers} from './types'\n\nexport * from './dts'\nexport * from './rollup'\nexport * from './types'\n\n/** @internal */\nexport const buildTaskHandlers: BuildTaskHandlers = {\n 'build:dts': dtsTask,\n 'build:js': rollupTask,\n 'node:reexport-cjs': nodeReexportCjsTask,\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","concat","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","diagnostics","emitSkipped","diag","DtsError","constructor","_defineProperty","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","_ref","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","doExtract","task","_a","_b","config","configPath","results","rootDir","entry","entries","sourcePath","replace","targetPath","result","extract","some","rimraf","dtsTask","_ctx","importId","exec","Observable","observer","then","next","complete","catch","err","_task","dtsWatchTask","nodeReexportCjsTask","import","from","console","targetDir","mod","relativeImport","startsWith","slice","compileESMWrapper","keys","Object","k","__esModule","resolveRollupConfig","buildTask","_ref2","_ref5","_ref6","_ref7","_ref8","_ref9","_c","_d","runtime","target","exports","_exports","extMap","external","pkg","outputExt","minify","pathAliases","fromEntries","paths","_ref3","val","baseUrl","exportIds","sourcePaths","values","e","source","replacements","define","_ref4","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","babel","presets","targets","browserslist","DEFAULT_BROWSERSLIST_QUERY","modules","terser","compress","preserveModuleDirectives","directives","comments","_node","comment","value","test","preserveDirectives","Boolean","userPlugins","rollup","Array","isArray","resolveConfigProperty","inputOptions","context","id","importer","idPath","idParts","split","input","reduce","acc","treeshake","propertyReadSideEffects","outputOptions","chunkFileNames","parts","compact","dir","entryFileNames","esModule","interop","minifyInternalExports","sourcemap","hoistTransitiveImports","preserveModules","rollupTask","bundleEntries","targetLines","bundlesLines","entriesLines","execPromise","consoleSpy","createConsoleSpy","onRestored","String","args","bundle","onwarn","warning","generate","chunkOrAsset","write","close","restore","rollupWatchTask","watchOptions","watcher","rollupWatch","on","event","success","buildTaskHandlers","watchTaskHandlers"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger-718e11be.cjs","sources":["../../src/node/fileExists.ts","../../src/node/core/isRecord.ts","../../src/node/core/pkg/validatePkg.ts","../../src/node/logger.ts"],"sourcesContent":["import {statSync} from 'fs'\n\n/** @internal */\nexport function fileExists(filePath: string): boolean {\n try {\n statSync(filePath)\n\n return true\n } catch (_) {\n return false\n }\n}\n","/** @internal */\nexport function isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value) && !Array.isArray(value) && typeof value === 'object'\n}\n","import {z} from 'zod'\n\nimport {PackageJSON} from './types'\n\nconst pkgSchema = z.object({\n type: z.optional(z.enum(['commonjs', 'module'])),\n name: z.string(),\n version: z.string(),\n license: z.string(),\n bin: z.optional(z.record(z.string())),\n dependencies: z.optional(z.record(z.string())),\n devDependencies: z.optional(z.record(z.string())),\n peerDependencies: z.optional(z.record(z.string())),\n source: z.optional(z.string()),\n main: z.optional(z.string()),\n browser: z.optional(z.record(z.string())),\n module: z.optional(z.string()),\n types: z.optional(z.string()),\n exports: z.optional(\n z.record(\n z.union([\n z.custom<`./${string}.json`>((val) => /^\\.\\/.*\\.json$/.test(val as string)),\n z.object({\n types: z.optional(z.string()),\n source: z.string(),\n browser: z.optional(\n z.object({\n source: z.string(),\n import: z.optional(z.string()),\n require: z.optional(z.string()),\n }),\n ),\n node: z.optional(\n z.object({\n source: z.optional(z.string()),\n module: z.optional(z.string()),\n import: z.optional(z.string()),\n require: z.optional(z.string()),\n }),\n ),\n module: z.optional(z.string()),\n import: z.optional(z.string()),\n require: z.optional(z.string()),\n default: z.string(),\n }),\n ]),\n ),\n ),\n browserslist: z.optional(z.array(z.string())),\n})\n\nexport function validatePkg(input: unknown): PackageJSON {\n return pkgSchema.parse(input)\n}\n","import chalk from 'chalk'\n\n/** @internal */\nexport interface Logger {\n log: (...args: unknown[]) => void\n info: (...args: unknown[]) => void\n warn: (...args: unknown[]) => void\n error: (...args: unknown[]) => void\n success: (...args: unknown[]) => void\n}\n\n/** @internal */\nexport function createLogger(): Logger {\n return {\n /* eslint-disable no-console */\n log: (...args) => {\n console.log(...args)\n },\n info: (...args) => {\n console.log(chalk.blue('[info]'), ...args)\n },\n warn: (...args) => {\n console.log(chalk.yellow('[warning]'), ...args)\n },\n error: (...args) => {\n console.log(chalk.red('[error]'), ...args)\n },\n success: (...args) => {\n console.log(chalk.green('[success]'), ...args)\n },\n /* eslint-enable no-console */\n }\n}\n"],"names":["fileExists","filePath","statSync","_","isRecord","value","Boolean","Array","isArray","pkgSchema","z","object","type","optional","enum","name","string","version","license","bin","record","dependencies","devDependencies","peerDependencies","source","main","browser","module","types","exports","union","custom","val","test","import","require","node","default","browserslist","array","validatePkg","input","parse","createLogger","log","console","arguments","info","_len","length","args","_key","chalk","blue","warn","_len2","_key2","yellow","error","_len3","_key3","red","success","_len4","_key4","green"],"mappings":"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"}
|