@sanity/pkg-utils 1.14.0 → 1.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_chunks/{_resolveBuildContext-ef196a3e.js → _resolveBuildContext-0e601cff.js} +3 -1
- package/dist/_chunks/_resolveBuildContext-0e601cff.js.map +1 -0
- package/dist/_chunks/{build-83c36253.js → build-3762711f.js} +7 -4
- package/dist/_chunks/build-3762711f.js.map +1 -0
- package/dist/_chunks/{buildAction-19b87a46.js → buildAction-b4e23900.js} +5 -4
- package/dist/_chunks/buildAction-b4e23900.js.map +1 -0
- package/dist/_chunks/{check-7d728336.js → check-e60e8979.js} +6 -4
- package/dist/_chunks/check-e60e8979.js.map +1 -0
- package/dist/_chunks/{checkAction-2342707c.js → checkAction-6de69604.js} +3 -3
- package/dist/_chunks/{checkAction-2342707c.js.map → checkAction-6de69604.js.map} +1 -1
- package/dist/_chunks/{index-33f2afe8.js → index-00a76fd5.js} +68 -58
- package/dist/_chunks/index-00a76fd5.js.map +1 -0
- package/dist/_chunks/{watch-12e6eafa.js → watch-69b1e41c.js} +7 -4
- package/dist/_chunks/watch-69b1e41c.js.map +1 -0
- package/dist/_chunks/{watchAction-d4ae9e80.js → watchAction-72377ec8.js} +5 -4
- package/dist/_chunks/watchAction-72377ec8.js.map +1 -0
- package/dist/cli.js +6 -6
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +13 -3
- package/dist/index.esm.js +80 -60
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +5 -5
- package/package.json +1 -1
- package/src/cli/buildAction.ts +2 -1
- package/src/cli/index.ts +2 -0
- package/src/cli/watchAction.ts +2 -1
- package/src/node/_core/config/types.ts +2 -1
- package/src/node/_core/contexts/buildContext.ts +1 -0
- package/src/node/_resolveBuildContext.ts +3 -1
- package/src/node/_tasks/dts/_buildTypes.ts +5 -2
- package/src/node/_tasks/dts/_doExtract.ts +2 -2
- package/src/node/_tasks/rollup/_resolveRollupConfig.ts +87 -78
- package/src/node/build.ts +8 -4
- package/src/node/check.ts +3 -2
- package/src/node/watch.ts +8 -3
- package/dist/_chunks/_resolveBuildContext-ef196a3e.js.map +0 -1
- package/dist/_chunks/build-83c36253.js.map +0 -1
- package/dist/_chunks/buildAction-19b87a46.js.map +0 -1
- package/dist/_chunks/check-7d728336.js.map +0 -1
- package/dist/_chunks/index-33f2afe8.js.map +0 -1
- package/dist/_chunks/watch-12e6eafa.js.map +0 -1
- package/dist/_chunks/watchAction-d4ae9e80.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-0e601cff.js');
|
|
8
8
|
|
|
9
|
-
var build = require('./_chunks/build-
|
|
9
|
+
var build = require('./_chunks/build-3762711f.js');
|
|
10
10
|
|
|
11
|
-
var index = require('./_chunks/index-
|
|
11
|
+
var index = require('./_chunks/index-00a76fd5.js');
|
|
12
12
|
|
|
13
|
-
var check = require('./_chunks/check-
|
|
13
|
+
var check = require('./_chunks/check-e60e8979.js');
|
|
14
14
|
|
|
15
|
-
var watch = require('./_chunks/watch-
|
|
15
|
+
var watch = require('./_chunks/watch-69b1e41c.js');
|
|
16
16
|
|
|
17
17
|
require('path');
|
|
18
18
|
|
package/package.json
CHANGED
package/src/cli/buildAction.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import {build} from '../node/build'
|
|
2
2
|
import {_handleError} from './_handleError'
|
|
3
3
|
|
|
4
|
-
export async function buildAction(options: {tsconfig?: string}): Promise<void> {
|
|
4
|
+
export async function buildAction(options: {strict?: boolean; tsconfig?: string}): Promise<void> {
|
|
5
5
|
try {
|
|
6
6
|
await build({
|
|
7
7
|
cwd: process.cwd(),
|
|
8
|
+
strict: options.strict,
|
|
8
9
|
tsconfig: options.tsconfig,
|
|
9
10
|
})
|
|
10
11
|
} catch (err) {
|
package/src/cli/index.ts
CHANGED
|
@@ -16,6 +16,7 @@ cli
|
|
|
16
16
|
|
|
17
17
|
cli
|
|
18
18
|
.command('build', 'Build package')
|
|
19
|
+
.option('--strict', 'Strict mode')
|
|
19
20
|
.option('--tsconfig [tsconfig]', '[string] tsconfig.json')
|
|
20
21
|
.action(async (options) => {
|
|
21
22
|
const {buildAction} = await import('./buildAction')
|
|
@@ -25,6 +26,7 @@ cli
|
|
|
25
26
|
|
|
26
27
|
cli
|
|
27
28
|
.command('watch', 'Watch package')
|
|
29
|
+
.option('--strict', 'Strict mode')
|
|
28
30
|
.option('--tsconfig [tsconfig]', '[string] tsconfig.json')
|
|
29
31
|
.action(async (options) => {
|
|
30
32
|
const {watchAction} = await import('./watchAction')
|
package/src/cli/watchAction.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import {watch} from '../node/watch'
|
|
2
2
|
import {_handleError} from './_handleError'
|
|
3
3
|
|
|
4
|
-
export async function watchAction(options: {tsconfig?: string}): Promise<void> {
|
|
4
|
+
export async function watchAction(options: {strict?: boolean; tsconfig?: string}): Promise<void> {
|
|
5
5
|
try {
|
|
6
6
|
await watch({
|
|
7
7
|
cwd: process.cwd(),
|
|
8
|
+
strict: options.strict,
|
|
8
9
|
tsconfig: options.tsconfig,
|
|
9
10
|
})
|
|
10
11
|
} catch (err) {
|
|
@@ -112,7 +112,7 @@ export interface PkgConfigOptions {
|
|
|
112
112
|
minify?: boolean
|
|
113
113
|
/** @alpha */
|
|
114
114
|
rollup?: {
|
|
115
|
-
plugins?: RollupPlugin[]
|
|
115
|
+
plugins?: PkgConfigProperty<RollupPlugin[]>
|
|
116
116
|
}
|
|
117
117
|
/**
|
|
118
118
|
* Default runtime of package exports
|
|
@@ -123,4 +123,5 @@ export interface PkgConfigOptions {
|
|
|
123
123
|
* Directory of source files.
|
|
124
124
|
*/
|
|
125
125
|
src?: string
|
|
126
|
+
tsconfig?: string
|
|
126
127
|
}
|
|
@@ -42,9 +42,10 @@ export async function _resolveBuildContext(options: {
|
|
|
42
42
|
config?: PkgConfigOptions
|
|
43
43
|
cwd: string
|
|
44
44
|
pkg: _PackageJSON
|
|
45
|
+
strict: boolean
|
|
45
46
|
tsconfig: string
|
|
46
47
|
}): Promise<_BuildContext> {
|
|
47
|
-
const {config, cwd, pkg, tsconfig: tsconfigPath} = options
|
|
48
|
+
const {config, cwd, pkg, strict, tsconfig: tsconfigPath} = options
|
|
48
49
|
const logger = _createLogger()
|
|
49
50
|
const tsconfig = await _loadTSConfig({cwd, tsconfigPath})
|
|
50
51
|
const targetVersions = _resolveBrowserslistVersions(pkg.browserslist || _DEFAULTS.browserslist)
|
|
@@ -134,6 +135,7 @@ export async function _resolveBuildContext(options: {
|
|
|
134
135
|
logger,
|
|
135
136
|
pkg,
|
|
136
137
|
runtime: config?.runtime ?? '*',
|
|
138
|
+
strict,
|
|
137
139
|
target,
|
|
138
140
|
ts: {
|
|
139
141
|
config: tsconfig,
|
|
@@ -13,8 +13,9 @@ export async function _buildTypes(options: {
|
|
|
13
13
|
cwd: string
|
|
14
14
|
outDir: string
|
|
15
15
|
tsconfig: ts.ParsedCommandLine
|
|
16
|
+
strict: boolean
|
|
16
17
|
}): Promise<void> {
|
|
17
|
-
const {outDir, tsconfig} = options
|
|
18
|
+
const {outDir, tsconfig, strict = false} = options
|
|
18
19
|
|
|
19
20
|
const compilerOptions: ts.CompilerOptions = {
|
|
20
21
|
...tsconfig.options,
|
|
@@ -49,7 +50,9 @@ export async function _buildTypes(options: {
|
|
|
49
50
|
if (errors.length) {
|
|
50
51
|
console.error(ts.formatDiagnostics(errors, formatHost))
|
|
51
52
|
|
|
52
|
-
|
|
53
|
+
if (strict) {
|
|
54
|
+
throw new Error('failed to compile TypeScript definitions')
|
|
55
|
+
}
|
|
53
56
|
}
|
|
54
57
|
}
|
|
55
58
|
}
|
|
@@ -19,7 +19,7 @@ export async function _doExtract(
|
|
|
19
19
|
ctx: _BuildContext,
|
|
20
20
|
task: _DtsTask | _DtsWatchTask
|
|
21
21
|
): Promise<_DtsResult> {
|
|
22
|
-
const {config, cwd, files, ts} = ctx
|
|
22
|
+
const {config, cwd, files, strict, ts} = ctx
|
|
23
23
|
|
|
24
24
|
if (!ts.config || !ts.configPath) {
|
|
25
25
|
return {type: 'dts', messages: [], results: []}
|
|
@@ -33,7 +33,7 @@ export async function _doExtract(
|
|
|
33
33
|
|
|
34
34
|
const tmpPath = path.resolve(outDir, '__tmp__')
|
|
35
35
|
|
|
36
|
-
await _buildTypes({cwd, outDir: tmpPath, tsconfig: ts.config})
|
|
36
|
+
await _buildTypes({cwd, outDir: tmpPath, strict, tsconfig: ts.config})
|
|
37
37
|
|
|
38
38
|
const messages: ExtractorMessage[] = []
|
|
39
39
|
|
|
@@ -5,10 +5,10 @@ import commonjs from '@rollup/plugin-commonjs'
|
|
|
5
5
|
import json from '@rollup/plugin-json'
|
|
6
6
|
import {nodeResolve} from '@rollup/plugin-node-resolve'
|
|
7
7
|
import replace from '@rollup/plugin-replace'
|
|
8
|
-
import {InputOptions, OutputOptions} from 'rollup'
|
|
8
|
+
import {InputOptions, OutputOptions, Plugin} from 'rollup'
|
|
9
9
|
import esbuild from 'rollup-plugin-esbuild'
|
|
10
10
|
import {terser} from 'rollup-plugin-terser'
|
|
11
|
-
import {_BuildContext, _DEFAULTS, _MODULE_EXT} from '../../_core'
|
|
11
|
+
import {_BuildContext, _DEFAULTS, _MODULE_EXT, _resolveConfigProperty} from '../../_core'
|
|
12
12
|
import {_RollupTask, _RollupWatchTask} from '../_types'
|
|
13
13
|
|
|
14
14
|
export interface _RollupConfig {
|
|
@@ -49,6 +49,90 @@ export function _resolveRollupConfig(
|
|
|
49
49
|
Object.entries(config?.define || {}).map(([key, val]) => [key, JSON.stringify(val)])
|
|
50
50
|
)
|
|
51
51
|
|
|
52
|
+
const defaultPlugins = [
|
|
53
|
+
replace({
|
|
54
|
+
preventAssignment: true,
|
|
55
|
+
values: {
|
|
56
|
+
...(pkg.name === '@sanity/pkg-utils'
|
|
57
|
+
? {...replacements}
|
|
58
|
+
: {
|
|
59
|
+
'process.env.PKG_FILE_PATH': (arg) => {
|
|
60
|
+
const sourcePath = './' + path.relative(cwd, arg)
|
|
61
|
+
const entry = entries.find((e) => e.source === sourcePath)
|
|
62
|
+
|
|
63
|
+
if (!entry) {
|
|
64
|
+
// eslint-disable-next-line no-console
|
|
65
|
+
console.error(`could not find source entry: ${sourcePath}`)
|
|
66
|
+
|
|
67
|
+
return 'null'
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
return JSON.stringify(
|
|
71
|
+
path.relative(cwd, path.resolve(outDir, entry.name + outputExt))
|
|
72
|
+
)
|
|
73
|
+
},
|
|
74
|
+
'process.env.PKG_FORMAT': JSON.stringify(format),
|
|
75
|
+
'process.env.PKG_RUNTIME': JSON.stringify(runtime),
|
|
76
|
+
'process.env.PKG_VERSION': JSON.stringify(process.env.PKG_VERSION || pkg.version),
|
|
77
|
+
...replacements,
|
|
78
|
+
}),
|
|
79
|
+
},
|
|
80
|
+
}),
|
|
81
|
+
alias({
|
|
82
|
+
entries: {...pathAliases},
|
|
83
|
+
}),
|
|
84
|
+
nodeResolve({
|
|
85
|
+
// mainFields: ['module', 'jsnext', 'main'],
|
|
86
|
+
browser: runtime === 'browser',
|
|
87
|
+
// exportConditions: [runtime === 'node' ? 'node' : 'browser'],
|
|
88
|
+
extensions: ['.cjs', '.mjs', '.js', '.jsx', '.json', '.node'],
|
|
89
|
+
preferBuiltins: true, // runtime === 'node',
|
|
90
|
+
}),
|
|
91
|
+
commonjs({
|
|
92
|
+
esmExternals: false,
|
|
93
|
+
extensions: ['.js'],
|
|
94
|
+
// include: /\/node_modules\//,
|
|
95
|
+
// requireReturnsDefault: 'namespace',
|
|
96
|
+
}),
|
|
97
|
+
json(),
|
|
98
|
+
esbuild({
|
|
99
|
+
jsx: config?.jsx ?? 'automatic',
|
|
100
|
+
jsxFactory: config?.jsxFactory ?? 'createElement',
|
|
101
|
+
jsxFragment: config?.jsxFragment ?? 'Fragment',
|
|
102
|
+
jsxImportSource: config?.jsxImportSource ?? 'react',
|
|
103
|
+
target,
|
|
104
|
+
tsconfig: ctx.ts.configPath || 'tsconfig.json',
|
|
105
|
+
}),
|
|
106
|
+
getBabelOutputPlugin({
|
|
107
|
+
babelrc: false,
|
|
108
|
+
plugins: ['@babel/plugin-proposal-object-rest-spread'],
|
|
109
|
+
presets: [['@babel/preset-env', {targets: pkg.browserslist || _DEFAULTS.browserslist}]],
|
|
110
|
+
}),
|
|
111
|
+
minify &&
|
|
112
|
+
terser({
|
|
113
|
+
output: {
|
|
114
|
+
comments: (_node, comment) => {
|
|
115
|
+
const text = comment.value
|
|
116
|
+
const type = comment.type
|
|
117
|
+
|
|
118
|
+
// Check if this is a multiline comment
|
|
119
|
+
if (type == 'comment2') {
|
|
120
|
+
// Keep licensing comments
|
|
121
|
+
return /@preserve|@license|@cc_on/i.test(text)
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
return false
|
|
125
|
+
},
|
|
126
|
+
},
|
|
127
|
+
}),
|
|
128
|
+
].filter(Boolean) as Plugin[]
|
|
129
|
+
|
|
130
|
+
const userPlugins = config?.rollup?.plugins
|
|
131
|
+
|
|
132
|
+
const plugins = Array.isArray(userPlugins)
|
|
133
|
+
? defaultPlugins.concat(userPlugins)
|
|
134
|
+
: _resolveConfigProperty(config?.rollup?.plugins, defaultPlugins)
|
|
135
|
+
|
|
52
136
|
return {
|
|
53
137
|
inputOptions: {
|
|
54
138
|
context: cwd,
|
|
@@ -96,82 +180,7 @@ export function _resolveRollupConfig(
|
|
|
96
180
|
}
|
|
97
181
|
},
|
|
98
182
|
|
|
99
|
-
plugins
|
|
100
|
-
replace({
|
|
101
|
-
preventAssignment: true,
|
|
102
|
-
values: {
|
|
103
|
-
...(pkg.name === '@sanity/pkg-utils'
|
|
104
|
-
? {...replacements}
|
|
105
|
-
: {
|
|
106
|
-
'process.env.PKG_FILE_PATH': (arg) => {
|
|
107
|
-
const sourcePath = './' + path.relative(cwd, arg)
|
|
108
|
-
const entry = entries.find((e) => e.source === sourcePath)
|
|
109
|
-
|
|
110
|
-
if (!entry) {
|
|
111
|
-
throw new Error(`could not find source entry: ${sourcePath}`)
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
return JSON.stringify(
|
|
115
|
-
path.relative(cwd, path.resolve(outDir, entry.name + outputExt))
|
|
116
|
-
)
|
|
117
|
-
},
|
|
118
|
-
'process.env.PKG_FORMAT': JSON.stringify(format),
|
|
119
|
-
'process.env.PKG_RUNTIME': JSON.stringify(runtime),
|
|
120
|
-
'process.env.PKG_VERSION': JSON.stringify(process.env.PKG_VERSION || pkg.version),
|
|
121
|
-
...replacements,
|
|
122
|
-
}),
|
|
123
|
-
},
|
|
124
|
-
}),
|
|
125
|
-
alias({
|
|
126
|
-
entries: {...pathAliases},
|
|
127
|
-
}),
|
|
128
|
-
nodeResolve({
|
|
129
|
-
// mainFields: ['module', 'jsnext', 'main'],
|
|
130
|
-
browser: runtime === 'browser',
|
|
131
|
-
// exportConditions: [runtime === 'node' ? 'node' : 'browser'],
|
|
132
|
-
extensions: ['.cjs', '.mjs', '.js', '.jsx', '.json', '.node'],
|
|
133
|
-
preferBuiltins: true, // runtime === 'node',
|
|
134
|
-
}),
|
|
135
|
-
commonjs({
|
|
136
|
-
esmExternals: false,
|
|
137
|
-
extensions: ['.js'],
|
|
138
|
-
// include: /\/node_modules\//,
|
|
139
|
-
// requireReturnsDefault: 'namespace',
|
|
140
|
-
}),
|
|
141
|
-
json(),
|
|
142
|
-
esbuild({
|
|
143
|
-
jsx: config?.jsx ?? 'automatic',
|
|
144
|
-
jsxFactory: config?.jsxFactory ?? 'createElement',
|
|
145
|
-
jsxFragment: config?.jsxFragment ?? 'Fragment',
|
|
146
|
-
jsxImportSource: config?.jsxImportSource ?? 'react',
|
|
147
|
-
target,
|
|
148
|
-
tsconfig: ctx.ts.configPath || 'tsconfig.json',
|
|
149
|
-
}),
|
|
150
|
-
getBabelOutputPlugin({
|
|
151
|
-
babelrc: false,
|
|
152
|
-
plugins: ['@babel/plugin-proposal-object-rest-spread'],
|
|
153
|
-
presets: [['@babel/preset-env', {targets: pkg.browserslist || _DEFAULTS.browserslist}]],
|
|
154
|
-
}),
|
|
155
|
-
minify &&
|
|
156
|
-
terser({
|
|
157
|
-
output: {
|
|
158
|
-
comments: (_node, comment) => {
|
|
159
|
-
const text = comment.value
|
|
160
|
-
const type = comment.type
|
|
161
|
-
|
|
162
|
-
// Check if this is a multiline comment
|
|
163
|
-
if (type == 'comment2') {
|
|
164
|
-
// Keep licensing comments
|
|
165
|
-
return /@preserve|@license|@cc_on/i.test(text)
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
return false
|
|
169
|
-
},
|
|
170
|
-
},
|
|
171
|
-
}),
|
|
172
|
-
|
|
173
|
-
...(config?.rollup?.plugins || []),
|
|
174
|
-
].filter(Boolean),
|
|
183
|
+
plugins,
|
|
175
184
|
|
|
176
185
|
treeshake: {
|
|
177
186
|
propertyReadSideEffects: false,
|
package/src/node/build.ts
CHANGED
|
@@ -23,13 +23,17 @@ import {_BuildTask, _TaskHandler, _buildTaskHandlers} from './_tasks'
|
|
|
23
23
|
*
|
|
24
24
|
* @public
|
|
25
25
|
*/
|
|
26
|
-
export async function build(options: {
|
|
27
|
-
|
|
26
|
+
export async function build(options: {
|
|
27
|
+
cwd: string
|
|
28
|
+
strict?: boolean
|
|
29
|
+
tsconfig?: string
|
|
30
|
+
}): Promise<void> {
|
|
31
|
+
const {cwd, strict = false, tsconfig: tsconfigOption} = options
|
|
28
32
|
|
|
29
33
|
const pkg = await _loadPkgWithReporting({cwd})
|
|
30
34
|
const config = await _loadConfig({cwd})
|
|
31
|
-
|
|
32
|
-
const ctx = await _resolveBuildContext({config, cwd, pkg, tsconfig})
|
|
35
|
+
const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'
|
|
36
|
+
const ctx = await _resolveBuildContext({config, cwd, pkg, strict, tsconfig})
|
|
33
37
|
|
|
34
38
|
const buildTasks = _resolveBuildTasks(ctx)
|
|
35
39
|
|
package/src/node/check.ts
CHANGED
|
@@ -10,11 +10,12 @@ export async function check(options: {
|
|
|
10
10
|
strict?: boolean
|
|
11
11
|
tsconfig?: string
|
|
12
12
|
}): Promise<void> {
|
|
13
|
-
const {cwd, strict, tsconfig
|
|
13
|
+
const {cwd, strict = false, tsconfig: tsconfigOption} = options
|
|
14
14
|
|
|
15
15
|
const pkg = await _loadPkgWithReporting({cwd})
|
|
16
16
|
const config = await _loadConfig({cwd})
|
|
17
|
-
const
|
|
17
|
+
const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'
|
|
18
|
+
const ctx = await _resolveBuildContext({config, cwd, pkg, strict, tsconfig})
|
|
18
19
|
const {logger} = ctx
|
|
19
20
|
|
|
20
21
|
_printPackageTree(ctx)
|
package/src/node/watch.ts
CHANGED
|
@@ -7,8 +7,12 @@ import {_WatchTask, _TaskHandler, _watchTaskHandlers} from './_tasks'
|
|
|
7
7
|
import {_watchConfigFiles} from './_watchConfigFiles'
|
|
8
8
|
|
|
9
9
|
/** @public */
|
|
10
|
-
export async function watch(options: {
|
|
11
|
-
|
|
10
|
+
export async function watch(options: {
|
|
11
|
+
cwd: string
|
|
12
|
+
strict?: boolean
|
|
13
|
+
tsconfig?: string
|
|
14
|
+
}): Promise<void> {
|
|
15
|
+
const {cwd, strict = false, tsconfig: tsconfigOption} = options
|
|
12
16
|
|
|
13
17
|
const configFiles$ = await _watchConfigFiles({cwd})
|
|
14
18
|
|
|
@@ -24,8 +28,9 @@ export async function watch(options: {cwd: string; tsconfig?: string}): Promise<
|
|
|
24
28
|
|
|
25
29
|
const pkg = await _loadPkgWithReporting({cwd})
|
|
26
30
|
const config = await _loadConfig({cwd})
|
|
31
|
+
const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'
|
|
27
32
|
|
|
28
|
-
return _resolveBuildContext({config, cwd, pkg, tsconfig})
|
|
33
|
+
return _resolveBuildContext({config, cwd, pkg, strict, tsconfig})
|
|
29
34
|
})
|
|
30
35
|
)
|
|
31
36
|
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_resolveBuildContext-ef196a3e.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 pkg: _PackageJSON\n tsconfig: string\n}): Promise<_BuildContext> {\n const {config, cwd, pkg, 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 const external = _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 exports,\n external,\n files: [],\n logger,\n pkg,\n runtime: config?.runtime ?? '*',\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","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":"build-83c36253.js","sources":["../../src/node/_resolveBuildTasks.ts","../../src/node/_spinner.ts","../../src/node/build.ts"],"sourcesContent":["import fs from 'fs'\nimport path from 'path'\nimport {PkgExport, PkgFormat, PkgRuntime, _BuildContext} from './_core'\nimport {_BuildTask, _DtsTask, _RollupTask, _RollupTaskEntry} from './_tasks'\n\n/** @internal */\nexport function _resolveBuildTasks(ctx: _BuildContext): _BuildTask[] {\n const {config, cwd, pkg, target} = ctx\n\n const bundles = config?.bundles || []\n\n const tasks: _BuildTask[] = []\n\n const exports = Object.entries(ctx.exports || {}).map(\n ([_path, exp]) => ({_path, ...exp} as PkgExport & {_path: string})\n )\n\n const dtsTask: _DtsTask = {\n type: 'build:dts',\n entries: [],\n }\n\n const rollupTasks: Record<string, _RollupTask> = {}\n\n function _addRollupTaskEntry(format: PkgFormat, runtime: PkgRuntime, entry: _RollupTaskEntry) {\n const buildId = `${format}:${runtime}`\n\n if (rollupTasks[buildId]) {\n rollupTasks[buildId].entries.push(entry)\n } else {\n rollupTasks[buildId] = {\n type: 'build:js',\n buildId,\n entries: [entry],\n runtime,\n format,\n target: target[runtime],\n }\n }\n }\n\n // Parse `dts` tasks\n for (const exp of exports) {\n const importId = path.join(pkg.name, exp._path)\n\n if (exp.types) {\n dtsTask.entries.push({\n importId,\n exportPath: exp._path,\n sourcePath: exp.source,\n targetPath: exp.types,\n })\n }\n }\n\n // Parse rollup:commonjs:* tasks\n for (const exp of exports) {\n const output = exp.require\n\n if (!output) continue\n\n _addRollupTaskEntry('commonjs', ctx.runtime, {\n path: exp._path,\n source: exp.source,\n output,\n })\n }\n\n // Parse rollup:esm:* tasks\n for (const exp of exports) {\n const output = exp.import\n\n if (!output) continue\n\n _addRollupTaskEntry('esm', ctx.runtime, {\n path: exp._path,\n source: exp.source,\n output,\n })\n }\n\n // Parse rollup:commonjs:browser tasks\n for (const exp of exports) {\n const output = exp.browser?.require\n\n if (!output) continue\n\n _addRollupTaskEntry('commonjs', 'browser', {\n path: exp._path,\n source: exp.browser?.source || exp.source,\n output,\n })\n }\n\n // Parse rollup:esm:browser tasks\n for (const exp of exports) {\n const output = exp.browser?.import\n\n if (!output) continue\n\n _addRollupTaskEntry('esm', 'browser', {\n path: exp._path,\n source: exp.browser?.source || exp.source,\n output,\n })\n }\n\n for (const bundle of bundles) {\n if (bundle.require) {\n _addRollupTaskEntry('commonjs', bundle.runtime || ctx.runtime, {\n path: '__bundle__',\n source: bundle.source,\n output: bundle.require,\n })\n }\n\n if (bundle.import) {\n _addRollupTaskEntry('commonjs', bundle.runtime || ctx.runtime, {\n path: '__bundle__',\n source: bundle.source,\n output: bundle.import,\n })\n }\n }\n\n if (dtsTask.entries.length) {\n tasks.push(dtsTask)\n }\n\n tasks.push(...Object.values(rollupTasks))\n\n // Write legacy exports files\n if (config?.legacyExports) {\n for (const exp of exports) {\n if (exp._exported && exp._path !== '.') {\n const relativeTargetPath = (exp.browser?.import || exp.import || '').replace(\n /\\.[^/.]+$/,\n ''\n )\n\n if (relativeTargetPath) {\n fs.writeFileSync(\n path.resolve(cwd, `${exp._path}.js`),\n [`// AUTO-GENERATED – DO NOT EDIT`, `export * from '${relativeTargetPath}'`, ``].join(\n '\\n'\n )\n )\n }\n }\n }\n }\n\n return tasks\n}\n","/* eslint-disable no-console */\n\nimport chalk from 'chalk'\n\nexport function _spinner(msg: string): {complete: () => void; error: () => void} {\n const startTime = Date.now()\n\n console.log(`${chalk.yellow('run ')} ${msg}`)\n\n return {\n complete: () => {\n console.log(`${chalk.green('ok ')} ${chalk.gray(`${Date.now() - startTime}ms`)}`)\n },\n error: () => {\n console.log(`${chalk.red(`failed`)} ${chalk.gray(`${Date.now() - startTime}ms`)}`)\n },\n }\n}\n","import {_loadConfig, _loadPkgWithReporting} from './_core'\nimport {_resolveBuildContext} from './_resolveBuildContext'\nimport {_resolveBuildTasks} from './_resolveBuildTasks'\nimport {_spinner} from './_spinner'\nimport {_BuildTask, _TaskHandler, _buildTaskHandlers} from './_tasks'\n\n/**\n * Build the distribution files of a npm package.\n *\n * @example\n * ```ts\n * import {build} from '@sanity/pkg-utils'\n *\n * build({\n * cwd: process.cwd(),\n * tsconfig: 'tsconfig.dist.json,\n * }).then(() => {\n * console.log('successfully built')\n * }).catch((err) => {\n * console.log(`build error: ${err.message}`)\n * })\n * ```\n *\n * @public\n */\nexport async function build(options: {cwd: string; tsconfig?: string}): Promise<void> {\n const {cwd, tsconfig = 'tsconfig.json'} = options\n\n const pkg = await _loadPkgWithReporting({cwd})\n const config = await _loadConfig({cwd})\n\n const ctx = await _resolveBuildContext({config, cwd, pkg, tsconfig})\n\n const buildTasks = _resolveBuildTasks(ctx)\n\n for (const task of buildTasks) {\n const handler = _buildTaskHandlers[task.type] as _TaskHandler<_BuildTask>\n const taskName = handler.name(ctx, task)\n\n const spinner = _spinner(taskName)\n\n try {\n const result = await handler.exec(ctx, task).toPromise()\n\n spinner.complete()\n ctx.logger.log()\n\n handler.complete(ctx, task, result)\n } catch (err) {\n spinner.error()\n\n if (err instanceof Error) {\n const RE_CWD = new RegExp(`${cwd}`, 'g')\n\n ctx.logger.error(err.message.replace(RE_CWD, '.'))\n ctx.logger.log()\n }\n\n handler.error(ctx, task, err)\n\n process.exit(1)\n }\n }\n}\n"],"names":["_resolveBuildTasks","ctx","_a","_b","_c","_d","_e","config","cwd","pkg","target","bundles","tasks","exports","Object","entries","map","_path","exp","dtsTask","type","rollupTasks","_addRollupTaskEntry","format","runtime","entry","buildId","push","importId","path","join","name","types","exportPath","sourcePath","source","targetPath","output","require","import","browser","bundle","length","values","legacyExports","_exported","relativeTargetPath","replace","fs","writeFileSync","resolve","_spinner","msg","startTime","Date","now","console","log","chalk","yellow","complete","green","gray","error","red","build","options","tsconfig","_loadPkgWithReporting","_loadConfig","_resolveBuildContext","buildTasks","task","handler","_buildTaskHandlers","taskName","spinner","result","exec","toPromise","logger","err","Error","RE_CWD","RegExp","message","process","exit"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"buildAction-19b87a46.js","sources":["../../src/cli/buildAction.ts"],"sourcesContent":["import {build} from '../node/build'\nimport {_handleError} from './_handleError'\n\nexport async function buildAction(options: {tsconfig?: string}): Promise<void> {\n try {\n await build({\n cwd: process.cwd(),\n tsconfig: options.tsconfig,\n })\n } catch (err) {\n _handleError(err)\n }\n}\n"],"names":["buildAction","options","build","cwd","process","tsconfig","err","_handleError"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,eAAeA,WAAf,CAA2BC,OAA3B,EAAoC;EACzC,IAAI;IACF,MAAMC,WAAAA,CAAM;MACVC,GAAG,EAAEC,OAAO,CAACD,GAAR,EADK;MAEVE,QAAQ,EAAEJ,OAAO,CAACI;IAFR,CAANH,CAAN;EAID,CALD,CAKE,OAAOI,GAAP,EAAY;IACZC,YAAY,CAAAA,YAAZA,CAAaD,GAAbC;EACD;AACH;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"check-7d728336.js","sources":["../../src/node/_getFilesize.ts","../../src/node/_printPackageTree.ts","../../src/node/check.ts"],"sourcesContent":["import {statSync} from 'fs'\nimport prettyBytes from 'pretty-bytes'\n\nexport function _getFilesize(file: string): string {\n const stats = statSync(file)\n\n return prettyBytes(stats.size)\n}\n","import fs from 'fs'\nimport path from 'path'\nimport chalk from 'chalk'\nimport treeify from 'treeify'\nimport {PkgExport, _BuildContext} from './_core'\nimport {_getFilesize} from './_getFilesize'\n\nexport function _fileExists(file: string): boolean {\n try {\n fs.accessSync(file)\n\n return true\n } catch (_) {\n return false\n }\n}\n\nfunction _getFileInfo(cwd: string, filePath: string) {\n const p = path.resolve(cwd, filePath)\n const exists = _fileExists(p)\n const size = exists ? _getFilesize(p) : undefined\n\n return {exists, size}\n}\n\nexport function _printPackageTree(ctx: _BuildContext): void {\n const {cwd, exports, logger, pkg} = ctx\n\n if (!exports) return\n\n logger.log(`${chalk.blue(pkg.name)}@${chalk.green(pkg.version)}`)\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const tree: Record<string, any> = {}\n\n if (pkg.bin) {\n tree.bin = pkg.bin\n }\n\n function _fileInfo(file: string) {\n const info = _getFileInfo(cwd, file)\n\n if (!info.size) {\n return `${chalk.gray(file)} ${chalk.red('does not exist')}`\n }\n\n return `${file} ${chalk.gray(info.size)}`\n }\n\n tree.exports = Object.fromEntries(\n Object.entries(exports)\n .filter(([, entry]) => entry._exported)\n .map(([exportPath, entry]) => {\n const exp: Omit<PkgExport, '_exported'> = {\n source: entry.source,\n types: undefined,\n browser: undefined,\n node: undefined,\n import: undefined,\n require: undefined,\n default: entry.default,\n }\n\n if (entry.types) {\n exp.types = _fileInfo(entry.types)\n } else {\n delete exp.types\n }\n\n if (entry.browser) {\n exp.browser = {source: entry.browser.source}\n\n if (entry.browser.import) exp.browser.import = _fileInfo(entry.browser.import)\n if (entry.browser.require) exp.browser.require = _fileInfo(entry.browser.require)\n } else {\n delete exp.browser\n }\n\n if (entry.node) {\n exp.node = {source: entry.node.source}\n\n if (entry.node.import) exp.node.import = _fileInfo(entry.node.import)\n if (entry.node.require) exp.node.require = _fileInfo(entry.node.require)\n } else {\n delete exp.node\n }\n\n if (entry.import) {\n exp.import = _fileInfo(entry.import)\n } else {\n delete exp.import\n }\n\n if (entry.require) {\n exp.require = _fileInfo(entry.require)\n } else {\n delete exp.require\n }\n\n exp.default = _fileInfo(entry.default)\n\n return [chalk.green(path.join(pkg.name, exportPath)), exp]\n })\n )\n\n logger.log(treeify.asTree(tree, true, true))\n}\n","import path from 'path'\nimport esbuild, {BuildFailure} from 'esbuild'\nimport {_loadConfig, _loadPkgWithReporting} from './_core'\nimport {_fileExists, _printPackageTree} from './_printPackageTree'\nimport {_resolveBuildContext} from './_resolveBuildContext'\n\n/** @public */\nexport async function check(options: {\n cwd: string\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n const {cwd, strict, tsconfig = 'tsconfig.json'} = options\n\n const pkg = await _loadPkgWithReporting({cwd})\n const config = await _loadConfig({cwd})\n const ctx = await _resolveBuildContext({config, cwd, pkg, tsconfig})\n const {logger} = ctx\n\n _printPackageTree(ctx)\n\n if (strict) {\n const missingFiles: string[] = []\n\n // Check if there are missing files\n for (const [, exp] of Object.entries(ctx.exports || {})) {\n if (exp.source && !_fileExists(path.resolve(cwd, exp.source))) {\n missingFiles.push(exp.source)\n }\n\n if (exp.require && !_fileExists(path.resolve(cwd, exp.require))) {\n missingFiles.push(exp.require)\n }\n\n if (exp.import && !_fileExists(path.resolve(cwd, exp.import))) {\n missingFiles.push(exp.import)\n }\n\n if (exp.types && !_fileExists(path.resolve(cwd, exp.types))) {\n missingFiles.push(exp.types)\n }\n }\n\n if (missingFiles.length) {\n logger.error('missing files')\n process.exit(1)\n }\n\n // Check if the files are resolved\n const _paths: {require: string[]; import: string[]} = {\n require: [],\n import: [],\n }\n\n for (const exp of Object.values(ctx.exports || {})) {\n if (!exp._exported) continue\n if (exp.require) _paths.require.push(exp.require)\n if (exp.import) _paths.import.push(exp.import)\n }\n\n const external = Object.keys(pkg.dependencies || {}).concat(\n Object.keys(pkg.devDependencies || {})\n )\n\n if (_paths.import.length) {\n const code = _paths.import.map((id) => `import('${id}')`).join('\\n')\n\n try {\n const esbuildResult = await esbuild.build({\n external,\n stdin: {\n contents: code,\n loader: 'js',\n resolveDir: cwd,\n },\n format: 'esm',\n bundle: true,\n logLevel: 'silent',\n // otherwise output maps to stdout as we're using stdin\n outfile: '/dev/null',\n platform: 'node',\n })\n\n if (esbuildResult.warnings.length > 0) {\n logger.warn(...esbuildResult.warnings)\n }\n } catch (err) {\n const {errors} = err as BuildFailure\n\n for (const _err of errors) {\n if (_err.location) {\n logger.error(_err.detail || _err.text)\n logger.error(`${_err.location.line} | ${_err.location.lineText}`)\n logger.error(\n 'in',\n `./${_err.location.file}:${_err.location.line}:${_err.location.column}`\n )\n } else {\n logger.error(_err.detail || _err.text)\n }\n\n logger.log()\n }\n\n process.exit(1)\n }\n }\n\n if (_paths.require.length) {\n const code = _paths.require.map((id) => `require('${id}')`).join('\\n')\n\n const esbuildResult = await esbuild.build({\n external,\n stdin: {\n contents: code,\n loader: 'js',\n resolveDir: cwd,\n },\n format: 'cjs',\n bundle: true,\n // otherwise output maps to stdout as we're using stdin\n outfile: '/dev/null',\n platform: 'node',\n })\n\n if (esbuildResult.errors.length > 0) {\n // throw new Error(esbuildResult.errors.join(', '))\n logger.error(esbuildResult.errors.join(', '))\n process.exit(1)\n }\n\n if (esbuildResult.warnings.length > 0) {\n logger.warn(...esbuildResult.warnings)\n }\n }\n }\n}\n"],"names":["_getFilesize","file","stats","statSync","prettyBytes","size","_fileExists","fs","accessSync","_","_getFileInfo","cwd","filePath","p","path","resolve","exists","_printPackageTree","ctx","exports","logger","pkg","log","chalk","blue","name","green","version","tree","bin","_fileInfo","info","gray","red","Object","fromEntries","entries","filter","entry","_exported","map","exportPath","exp","source","types","browser","node","import","require","default","join","treeify","asTree","check","options","strict","tsconfig","_loadPkgWithReporting","config","_loadConfig","_resolveBuildContext","missingFiles","push","length","error","process","exit","_paths","values","external","keys","dependencies","concat","devDependencies","code","id","esbuildResult","esbuild","build","stdin","contents","loader","resolveDir","format","bundle","logLevel","outfile","platform","warnings","warn","err","errors","_err","location","detail","text","line","lineText","column"],"mappings":"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"}
|