@sanity/pkg-utils 1.9.0 → 1.11.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/README.md +134 -0
- package/bin/pkg-utils.js +2 -0
- package/dist/__handleError-ffc2a487.js +22 -0
- package/dist/__handleError-ffc2a487.js.map +1 -0
- package/dist/{__resolveBuildContext-17992a0e.cjs → __resolveBuildContext-8f52cc6e.js} +78 -45
- package/dist/__resolveBuildContext-8f52cc6e.js.map +1 -0
- package/dist/{_build-526356ff.cjs → _build-c2024f7d.js} +29 -17
- package/dist/_build-c2024f7d.js.map +1 -0
- package/dist/{_buildAction-c4426eb4.cjs → _buildAction-8a5e1b9f.js} +18 -12
- package/dist/_buildAction-8a5e1b9f.js.map +1 -0
- package/dist/{_check-069b0db0.cjs → _check-6accb48e.js} +2 -2
- package/dist/_check-6accb48e.js.map +1 -0
- package/dist/{_checkAction-d3a8b220.cjs → _checkAction-f15c1c7f.js} +18 -12
- package/dist/_checkAction-f15c1c7f.js.map +1 -0
- package/dist/{_index-bc62cfaa.cjs → _index-5adc7f16.js} +6 -18
- package/dist/_index-5adc7f16.js.map +1 -0
- package/dist/{_watch-91ef3209.cjs → _watch-ae81292c.js} +4 -11
- package/dist/_watch-ae81292c.js.map +1 -0
- package/dist/{_watchAction-10ee08fc.cjs → _watchAction-67214896.js} +18 -12
- package/dist/_watchAction-67214896.js.map +1 -0
- package/dist/{cli.cjs → cli.js} +5 -5
- package/dist/cli.js.map +1 -0
- package/dist/{types/src/node/index.d.ts → index.d.ts} +11 -2
- package/dist/index.esm.js +5321 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/index.js +64 -5237
- package/dist/index.js.map +1 -1
- package/package.json +13 -14
- package/src/cli/_handleError.ts +11 -0
- package/src/cli/buildAction.ts +9 -4
- package/src/cli/checkAction.ts +10 -5
- package/src/cli/watchAction.ts +9 -4
- package/src/node/_core/_constants.ts +7 -3
- package/src/node/_core/config/_findConfigFile.ts +40 -0
- package/src/node/_core/config/_loadConfig.ts +5 -23
- package/src/node/_core/config/types.ts +11 -2
- package/src/node/_core/pkg/_loadPkgWithReporting.ts +23 -3
- package/src/node/_core/pkg/_validateExports.ts +10 -12
- package/src/node/_resolveBuildTasks.ts +31 -16
- package/src/node/_resolveWatchTasks.ts +3 -8
- package/src/node/_tasks/rollup/_resolveRollupConfig.ts +1 -3
- package/bin/pkg-utils.cjs +0 -2
- package/dist/__resolveBuildContext-17992a0e.cjs.map +0 -1
- package/dist/_build-526356ff.cjs.map +0 -1
- package/dist/_buildAction-c4426eb4.cjs.map +0 -1
- package/dist/_check-069b0db0.cjs.map +0 -1
- package/dist/_checkAction-d3a8b220.cjs.map +0 -1
- package/dist/_index-bc62cfaa.cjs.map +0 -1
- package/dist/_watch-91ef3209.cjs.map +0 -1
- package/dist/_watchAction-10ee08fc.cjs.map +0 -1
- package/dist/cli.cjs.map +0 -1
- package/dist/index.cjs +0 -109
- package/dist/index.cjs.map +0 -1
package/README.md
CHANGED
|
@@ -6,6 +6,8 @@ Simple utilities for modern [npm](https://www.npmjs.com/) packages.
|
|
|
6
6
|
npm install @sanity/pkg-utils -D
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
+
[](https://www.npmjs.com/package/@sanity/pkg-utils)
|
|
10
|
+
|
|
9
11
|
## Basic usage
|
|
10
12
|
|
|
11
13
|
```sh
|
|
@@ -22,6 +24,138 @@ pkg-utils build --tsconfig tsconfig.dist.json
|
|
|
22
24
|
pkg-utils watch --tsconfig tsconfig.dist.json
|
|
23
25
|
```
|
|
24
26
|
|
|
27
|
+
Run `pkg-utils -h` for more information on CLI usage.
|
|
28
|
+
|
|
29
|
+
## Configuration
|
|
30
|
+
|
|
31
|
+
`@sanity/pkg-utils` reads most of its configuration from `package.json`. But sometimes you need more
|
|
32
|
+
control. You may then add a configuration file named `package.config.ts` (or `.js`, `.cjs`, or
|
|
33
|
+
`.mjs`).
|
|
34
|
+
|
|
35
|
+
```ts
|
|
36
|
+
// package.config.ts
|
|
37
|
+
|
|
38
|
+
import {defineConfig} from '@sanity/pkg-utils'
|
|
39
|
+
|
|
40
|
+
export default defineConfig({
|
|
41
|
+
// Do not minify bundled JavaScript
|
|
42
|
+
minify: false,
|
|
43
|
+
})
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Options
|
|
47
|
+
|
|
48
|
+
#### `bundles`
|
|
49
|
+
|
|
50
|
+
- Type: `PkgBundle[]`
|
|
51
|
+
- Default: `undefined`
|
|
52
|
+
|
|
53
|
+
An array of entry points to bundle. This is useful if you want to bundle something that should not
|
|
54
|
+
be exported by the package, e.g. CLI scripts or Node.js workers.
|
|
55
|
+
|
|
56
|
+
#### `dist`
|
|
57
|
+
|
|
58
|
+
- Type: `string`
|
|
59
|
+
- Default: `'./dist'`
|
|
60
|
+
|
|
61
|
+
The path to the directory to which bundle and chunk files should be written.
|
|
62
|
+
|
|
63
|
+
#### `exports`
|
|
64
|
+
|
|
65
|
+
- Type: `PkgConfigProperty<PkgExports>`
|
|
66
|
+
- Default: the value of `"exports"` in `package.json`
|
|
67
|
+
|
|
68
|
+
Override or modify the value of the `exports` before it’s parsed internally.
|
|
69
|
+
|
|
70
|
+
#### `extract`
|
|
71
|
+
|
|
72
|
+
- Type:
|
|
73
|
+
```ts
|
|
74
|
+
{
|
|
75
|
+
rules?: {
|
|
76
|
+
'ae-forgotten-export'?: PkgRuleLevel
|
|
77
|
+
'ae-incompatible-release-tags'?: PkgRuleLevel
|
|
78
|
+
'ae-internal-missing-underscore'?: PkgRuleLevel
|
|
79
|
+
'ae-missing-release-tag'?: PkgRuleLevel
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
```
|
|
83
|
+
- Default: `undefined`
|
|
84
|
+
|
|
85
|
+
Configure the level of reporting of \`@microsoft/api-extractor\` (which is used to bundle the
|
|
86
|
+
type definitions, as well as lint the TSDoc of the package).
|
|
87
|
+
|
|
88
|
+
#### `external`
|
|
89
|
+
|
|
90
|
+
- Type: `string[]`
|
|
91
|
+
- Default: `[]`
|
|
92
|
+
|
|
93
|
+
Packages to exclude from bundles.
|
|
94
|
+
|
|
95
|
+
#### `jsx`
|
|
96
|
+
|
|
97
|
+
- Type: `'transform' | 'preserve' | 'automatic'`
|
|
98
|
+
- Default: `'automatic'`
|
|
99
|
+
|
|
100
|
+
Strategy for bundling JSX.
|
|
101
|
+
|
|
102
|
+
#### `jsxFactory`
|
|
103
|
+
|
|
104
|
+
- Type: `string`
|
|
105
|
+
- Default: `'createElement'`
|
|
106
|
+
|
|
107
|
+
The name of the function that creates JSX elements.
|
|
108
|
+
|
|
109
|
+
#### `jsxFragment`
|
|
110
|
+
|
|
111
|
+
- Type: `string`
|
|
112
|
+
- Default: `'Fragment'`
|
|
113
|
+
|
|
114
|
+
The name of JSX fragment elements.
|
|
115
|
+
|
|
116
|
+
#### `jsxImportSource`
|
|
117
|
+
|
|
118
|
+
- Type: `string`
|
|
119
|
+
- Default: `'react'`
|
|
120
|
+
|
|
121
|
+
The name of the library from which to import JSX factory and fragment names.
|
|
122
|
+
|
|
123
|
+
#### `legacyExports`
|
|
124
|
+
|
|
125
|
+
- Type: `boolean`
|
|
126
|
+
- Default: `false`
|
|
127
|
+
|
|
128
|
+
Build package with support for legacy exports (writes root `<export>.js` files). Use this if you
|
|
129
|
+
need to support older Node.js versions or older bundlers.
|
|
130
|
+
|
|
131
|
+
#### `minify`
|
|
132
|
+
|
|
133
|
+
- Type: `boolean`
|
|
134
|
+
- Default: `true`
|
|
135
|
+
|
|
136
|
+
Whether to minify the bundled JavaScript.
|
|
137
|
+
|
|
138
|
+
#### `runtime`
|
|
139
|
+
|
|
140
|
+
- Type: `'*' | 'browser' | 'node'`
|
|
141
|
+
- Default: `'*'`
|
|
142
|
+
|
|
143
|
+
Default runtime of package exports
|
|
144
|
+
|
|
145
|
+
#### `sourcemap`
|
|
146
|
+
|
|
147
|
+
- Type: `boolean`
|
|
148
|
+
- Default: `true`
|
|
149
|
+
|
|
150
|
+
Whether to include source map files.
|
|
151
|
+
|
|
152
|
+
#### `src`
|
|
153
|
+
|
|
154
|
+
- Type: `string`
|
|
155
|
+
- Default: `'./src'`
|
|
156
|
+
|
|
157
|
+
The path to the directory in which source code is located.
|
|
158
|
+
|
|
25
159
|
## License
|
|
26
160
|
|
|
27
161
|
MIT
|
package/bin/pkg-utils.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chalk = require('chalk');
|
|
4
|
+
|
|
5
|
+
function _interopDefaultLegacy(e) {
|
|
6
|
+
return e && typeof e === 'object' && 'default' in e ? e : {
|
|
7
|
+
'default': e
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
var chalk__default = /*#__PURE__*/_interopDefaultLegacy(chalk);
|
|
12
|
+
|
|
13
|
+
function _handleError(err) {
|
|
14
|
+
if (err instanceof Error) {
|
|
15
|
+
console.error(chalk__default["default"].red("error"), err.message);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
process.exit(1);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
exports._handleError = _handleError;
|
|
22
|
+
//# sourceMappingURL=__handleError-ffc2a487.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"__handleError-ffc2a487.js","sources":["../src/cli/_handleError.ts"],"sourcesContent":["/* eslint-disable no-console */\n\nimport chalk from 'chalk'\n\nexport function _handleError(err: unknown): void {\n if (err instanceof Error) {\n console.error(chalk.red('error'), err.message)\n }\n\n process.exit(1)\n}\n"],"names":["_handleError","err","Error","console","error","chalk","red","message","process","exit"],"mappings":";;;;;;;;;;;;AACO,SAASA,YAAT,CAAsBC,GAAtB,EAA2B;EAChC,IAAIA,GAAG,YAAYC,KAAnB,EAA0B;IACxBC,OAAO,CAACC,KAAR,CAAcC,yBAAAA,CAAMC,GAAND,CAAU,OAAVA,CAAd,EAAkCJ,GAAG,CAACM,OAAtC;EACD;;EACDC,OAAO,CAACC,IAAR,CAAa,CAAb;AACF;;"}
|
|
@@ -16,16 +16,16 @@ var path = require('path');
|
|
|
16
16
|
|
|
17
17
|
var node = require('esbuild-register/dist/node');
|
|
18
18
|
|
|
19
|
-
var findConfig = require('find-config');
|
|
20
|
-
|
|
21
19
|
var pkgUp = require('pkg-up');
|
|
22
20
|
|
|
21
|
+
var fs = require('fs/promises');
|
|
22
|
+
|
|
23
|
+
var findConfig = require('find-config');
|
|
24
|
+
|
|
23
25
|
var chalk = require('chalk');
|
|
24
26
|
|
|
25
27
|
var zod = require('zod');
|
|
26
28
|
|
|
27
|
-
var fs = require('fs/promises');
|
|
28
|
-
|
|
29
29
|
var ts = require('typescript');
|
|
30
30
|
|
|
31
31
|
var browserslist = require('browserslist');
|
|
@@ -38,18 +38,28 @@ function _interopDefaultLegacy(e) {
|
|
|
38
38
|
|
|
39
39
|
var path__default = /*#__PURE__*/_interopDefaultLegacy(path);
|
|
40
40
|
|
|
41
|
-
var findConfig__default = /*#__PURE__*/_interopDefaultLegacy(findConfig);
|
|
42
|
-
|
|
43
41
|
var pkgUp__default = /*#__PURE__*/_interopDefaultLegacy(pkgUp);
|
|
44
42
|
|
|
45
|
-
var chalk__default = /*#__PURE__*/_interopDefaultLegacy(chalk);
|
|
46
|
-
|
|
47
43
|
var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
|
|
48
44
|
|
|
45
|
+
var findConfig__default = /*#__PURE__*/_interopDefaultLegacy(findConfig);
|
|
46
|
+
|
|
47
|
+
var chalk__default = /*#__PURE__*/_interopDefaultLegacy(chalk);
|
|
48
|
+
|
|
49
49
|
var ts__default = /*#__PURE__*/_interopDefaultLegacy(ts);
|
|
50
50
|
|
|
51
51
|
var browserslist__default = /*#__PURE__*/_interopDefaultLegacy(browserslist);
|
|
52
52
|
|
|
53
|
+
const _MODULE_EXT = {
|
|
54
|
+
commonjs: {
|
|
55
|
+
commonjs: ".js",
|
|
56
|
+
esm: ".esm.js"
|
|
57
|
+
},
|
|
58
|
+
module: {
|
|
59
|
+
commonjs: ".cjs",
|
|
60
|
+
esm: ".js"
|
|
61
|
+
}
|
|
62
|
+
};
|
|
53
63
|
const _DEFAULTS = {
|
|
54
64
|
browserslist: ["> 0.2% and supports es6-module and supports es6-module-dynamic-import", "not dead", "not IE 11", "maintained node versions"]
|
|
55
65
|
};
|
|
@@ -58,6 +68,36 @@ function _isRecord(value) {
|
|
|
58
68
|
return Boolean(value) && !Array.isArray(value) && typeof value === "object";
|
|
59
69
|
}
|
|
60
70
|
|
|
71
|
+
const CONFIG_FILE_NAMES = ["package.config.ts", "package.config.js", "package.config.cjs", "package.config.mjs"];
|
|
72
|
+
|
|
73
|
+
async function _findConfigFile(cwd) {
|
|
74
|
+
const pkgJsonPath = findConfig__default["default"]("package.json", {
|
|
75
|
+
cwd
|
|
76
|
+
});
|
|
77
|
+
if (!pkgJsonPath) return void 0;
|
|
78
|
+
const pkgPath = path__default["default"].dirname(pkgJsonPath);
|
|
79
|
+
|
|
80
|
+
for (const fileName of CONFIG_FILE_NAMES) {
|
|
81
|
+
const configPath = path__default["default"].resolve(pkgPath, fileName);
|
|
82
|
+
const exists = await _fileExists(configPath);
|
|
83
|
+
|
|
84
|
+
if (exists) {
|
|
85
|
+
return configPath;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
return void 0;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
async function _fileExists(filePath) {
|
|
93
|
+
try {
|
|
94
|
+
await fs.stat(filePath);
|
|
95
|
+
return true;
|
|
96
|
+
} catch (_) {
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
61
101
|
async function _loadConfig(options) {
|
|
62
102
|
const {
|
|
63
103
|
cwd
|
|
@@ -67,27 +107,24 @@ async function _loadConfig(options) {
|
|
|
67
107
|
});
|
|
68
108
|
if (!pkgPath) return void 0;
|
|
69
109
|
const root = path__default["default"].dirname(pkgPath);
|
|
70
|
-
|
|
71
|
-
const configFile = _findConfigFile(root);
|
|
110
|
+
const configFile = await _findConfigFile(root);
|
|
72
111
|
|
|
73
112
|
if (!configFile) {
|
|
74
113
|
return void 0;
|
|
75
114
|
}
|
|
76
115
|
|
|
77
|
-
if (!configFile.
|
|
116
|
+
if (!configFile.startsWith(cwd)) {
|
|
78
117
|
return void 0;
|
|
79
118
|
}
|
|
80
119
|
|
|
81
120
|
try {
|
|
82
121
|
const {
|
|
83
122
|
unregister
|
|
84
|
-
} =
|
|
85
|
-
extensions: [".js", ".ts"]
|
|
86
|
-
})
|
|
87
|
-
unregister: () => void 0
|
|
88
|
-
};
|
|
123
|
+
} = node.register({
|
|
124
|
+
extensions: [".js", ".mjs", ".ts"]
|
|
125
|
+
});
|
|
89
126
|
|
|
90
|
-
const mod = require(configFile
|
|
127
|
+
const mod = require(configFile);
|
|
91
128
|
|
|
92
129
|
unregister();
|
|
93
130
|
return (mod == null ? void 0 : mod.default) || mod || void 0;
|
|
@@ -96,24 +133,6 @@ async function _loadConfig(options) {
|
|
|
96
133
|
}
|
|
97
134
|
}
|
|
98
135
|
|
|
99
|
-
function _findConfigFile(cwd) {
|
|
100
|
-
const ts = findConfig__default["default"]("package.config.ts", {
|
|
101
|
-
cwd
|
|
102
|
-
});
|
|
103
|
-
if (ts) return {
|
|
104
|
-
path: ts,
|
|
105
|
-
transform: true
|
|
106
|
-
};
|
|
107
|
-
const cjs = findConfig__default["default"]("package.config.cjs", {
|
|
108
|
-
cwd
|
|
109
|
-
});
|
|
110
|
-
if (cjs) return {
|
|
111
|
-
path: cjs,
|
|
112
|
-
transform: false
|
|
113
|
-
};
|
|
114
|
-
return null;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
136
|
function _resolveConfigProperty(prop, initialValue) {
|
|
118
137
|
if (!prop) return initialValue;
|
|
119
138
|
|
|
@@ -184,7 +203,7 @@ async function _loadPkgWithReporting(options) {
|
|
|
184
203
|
if (err instanceof zod.ZodError) {
|
|
185
204
|
for (const issue of err.issues) {
|
|
186
205
|
if (issue.code === "invalid_type") {
|
|
187
|
-
console.log("".concat(chalk__default["default"].red("
|
|
206
|
+
console.log(["".concat(chalk__default["default"].red("fail"), " `").concat(_formatPath(issue.path), "` "), "in ./package.json must be of type ".concat(chalk__default["default"].magenta(issue.expected), " "), "(received ".concat(chalk__default["default"].magenta(issue.received), ")")].join(""));
|
|
188
207
|
}
|
|
189
208
|
}
|
|
190
209
|
} else {
|
|
@@ -195,22 +214,35 @@ async function _loadPkgWithReporting(options) {
|
|
|
195
214
|
}
|
|
196
215
|
}
|
|
197
216
|
|
|
217
|
+
function _formatPath(segments) {
|
|
218
|
+
return segments.map((s, idx) => {
|
|
219
|
+
if (idx === 0) return s;
|
|
220
|
+
|
|
221
|
+
if (typeof s === "number") {
|
|
222
|
+
return "[".concat(s, "]");
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
if (s.startsWith(".")) {
|
|
226
|
+
return "[\"".concat(s, "\"]");
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
return ".".concat(s);
|
|
230
|
+
}).join("");
|
|
231
|
+
}
|
|
232
|
+
|
|
198
233
|
function _validateExports(_exports, options) {
|
|
199
234
|
const {
|
|
200
235
|
pkg
|
|
201
236
|
} = options;
|
|
237
|
+
const ext = _MODULE_EXT[pkg.type];
|
|
202
238
|
|
|
203
239
|
for (const exp of _exports) {
|
|
204
|
-
if (
|
|
205
|
-
|
|
206
|
-
throw new Error("package.json with `\"type\": \"commonjs\"` - `exports[\"".concat(exp._path, "\"].require` must end with \".js\""));
|
|
207
|
-
}
|
|
240
|
+
if (exp.require && !exp.require.endsWith(ext.commonjs)) {
|
|
241
|
+
throw new Error("package.json with `type: \"".concat(pkg.type, "\"` - `exports[\"").concat(exp._path, "\"].require` must end with \"").concat(ext.commonjs, "\""));
|
|
208
242
|
}
|
|
209
243
|
|
|
210
|
-
if (
|
|
211
|
-
|
|
212
|
-
throw new Error("package.json with `\"type\": \"module\"` - `exports[\"".concat(exp._path, "\"].require` must end with \".cjs\""));
|
|
213
|
-
}
|
|
244
|
+
if (exp.import && !exp.import.endsWith(ext.esm)) {
|
|
245
|
+
throw new Error("package.json with `type: \"".concat(pkg.type, "\"` - `exports[\"").concat(exp._path, "\"].require` must end with \"").concat(ext.esm, "\""));
|
|
214
246
|
}
|
|
215
247
|
}
|
|
216
248
|
|
|
@@ -493,6 +525,7 @@ async function _resolveBuildContext(options) {
|
|
|
493
525
|
}
|
|
494
526
|
|
|
495
527
|
exports._DEFAULTS = _DEFAULTS;
|
|
528
|
+
exports._MODULE_EXT = _MODULE_EXT;
|
|
496
529
|
exports._isRecord = _isRecord;
|
|
497
530
|
exports._loadConfig = _loadConfig;
|
|
498
531
|
exports._loadPkg = _loadPkg;
|
|
@@ -501,4 +534,4 @@ exports._loadTSConfig = _loadTSConfig;
|
|
|
501
534
|
exports._parseExports = _parseExports;
|
|
502
535
|
exports._resolveBuildContext = _resolveBuildContext;
|
|
503
536
|
exports._resolveConfigProperty = _resolveConfigProperty;
|
|
504
|
-
//# sourceMappingURL=__resolveBuildContext-
|
|
537
|
+
//# sourceMappingURL=__resolveBuildContext-8f52cc6e.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"__resolveBuildContext-8f52cc6e.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/_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 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 // _loadConfig,\n // _loadPkgWithReporting,\n _loadTSConfig,\n _PackageJSON,\n _parseExports,\n _resolveConfigProperty,\n} from './_core'\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 pkg: _PackageJSON\n tsconfig: string\n}): Promise<_BuildContext> {\n const {config, cwd, pkg, tsconfig: tsconfigPath} = options\n\n const tsconfig = await _loadTSConfig({cwd, tsconfigPath})\n\n const targetVersions = _resolveBrowserslistVersions(pkg.browserslist || _DEFAULTS.browserslist)\n\n const srcPath = path.resolve(cwd, config?.src || 'src')\n const distPath = path.resolve(cwd, config?.dist || 'dist')\n\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 ctx: _BuildContext = {\n config,\n cwd,\n dist: path.relative(cwd, distPath),\n exports,\n external,\n files: [],\n logger: {\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 pkg,\n src: path.relative(cwd, srcPath),\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","_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","_resolveBuildContext","tsconfig","targetVersions","srcPath","src","distPath","dist","nodeTarget","webTarget","parsedExports","reduce","acc","x","parsedExternal","keys","external","ctx","relative","files","logger","info","args","blue","warn","yellow","success","green","runtime"],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
6
6
|
|
|
7
7
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
8
8
|
|
|
9
|
-
var _resolveBuildContext = require('./__resolveBuildContext-
|
|
9
|
+
var _resolveBuildContext = require('./__resolveBuildContext-8f52cc6e.js');
|
|
10
10
|
|
|
11
11
|
require('fs/promises');
|
|
12
12
|
|
|
@@ -18,15 +18,9 @@ var fs = require('fs');
|
|
|
18
18
|
|
|
19
19
|
var path = require('path');
|
|
20
20
|
|
|
21
|
-
var index = require('./_index-bc62cfaa.cjs');
|
|
22
|
-
|
|
23
|
-
require('esbuild-register/dist/node');
|
|
24
|
-
|
|
25
|
-
require('find-config');
|
|
26
|
-
|
|
27
21
|
var chalk = require('chalk');
|
|
28
22
|
|
|
29
|
-
require('
|
|
23
|
+
var index = require('./_index-5adc7f16.js');
|
|
30
24
|
|
|
31
25
|
function _interopDefaultLegacy(e) {
|
|
32
26
|
return e && typeof e === 'object' && 'default' in e ? e : {
|
|
@@ -49,6 +43,7 @@ function _resolveBuildTasks(ctx) {
|
|
|
49
43
|
pkg,
|
|
50
44
|
target
|
|
51
45
|
} = ctx;
|
|
46
|
+
const bundles = (config == null ? void 0 : config.bundles) || [];
|
|
52
47
|
const tasks = [];
|
|
53
48
|
const exports = Object.entries(ctx.exports || {}).map(_ref => {
|
|
54
49
|
let [_path, exp] = _ref;
|
|
@@ -104,23 +99,23 @@ function _resolveBuildTasks(ctx) {
|
|
|
104
99
|
}
|
|
105
100
|
|
|
106
101
|
for (const exp of exports) {
|
|
107
|
-
const output =
|
|
102
|
+
const output = exp.import;
|
|
108
103
|
if (!output) continue;
|
|
109
104
|
|
|
110
|
-
_addRollupTaskEntry("
|
|
105
|
+
_addRollupTaskEntry("esm", ctx.runtime, {
|
|
111
106
|
path: exp._path,
|
|
112
|
-
source:
|
|
107
|
+
source: exp.source,
|
|
113
108
|
output
|
|
114
109
|
});
|
|
115
110
|
}
|
|
116
111
|
|
|
117
112
|
for (const exp of exports) {
|
|
118
|
-
const output = exp.
|
|
113
|
+
const output = (_a = exp.browser) == null ? void 0 : _a.require;
|
|
119
114
|
if (!output) continue;
|
|
120
115
|
|
|
121
|
-
_addRollupTaskEntry("
|
|
116
|
+
_addRollupTaskEntry("commonjs", "browser", {
|
|
122
117
|
path: exp._path,
|
|
123
|
-
source: exp.source,
|
|
118
|
+
source: ((_b = exp.browser) == null ? void 0 : _b.source) || exp.source,
|
|
124
119
|
output
|
|
125
120
|
});
|
|
126
121
|
}
|
|
@@ -136,6 +131,24 @@ function _resolveBuildTasks(ctx) {
|
|
|
136
131
|
});
|
|
137
132
|
}
|
|
138
133
|
|
|
134
|
+
for (const bundle of bundles) {
|
|
135
|
+
if (bundle.require) {
|
|
136
|
+
_addRollupTaskEntry("commonjs", bundle.runtime || ctx.runtime, {
|
|
137
|
+
path: "__bundle__",
|
|
138
|
+
source: bundle.source,
|
|
139
|
+
output: bundle.require
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
if (bundle.import) {
|
|
144
|
+
_addRollupTaskEntry("commonjs", bundle.runtime || ctx.runtime, {
|
|
145
|
+
path: "__bundle__",
|
|
146
|
+
source: bundle.source,
|
|
147
|
+
output: bundle.import
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
139
152
|
if (dtsTask.entries.length) {
|
|
140
153
|
tasks.push(dtsTask);
|
|
141
154
|
}
|
|
@@ -146,10 +159,9 @@ function _resolveBuildTasks(ctx) {
|
|
|
146
159
|
for (const exp of exports) {
|
|
147
160
|
if (exp._exported && exp._path !== ".") {
|
|
148
161
|
const relativeTargetPath = (((_e = exp.browser) == null ? void 0 : _e.import) || exp.import || "").replace(/\.[^/.]+$/, "");
|
|
149
|
-
const ext = index._MODULE_EXT[pkg.type].esm;
|
|
150
162
|
|
|
151
163
|
if (relativeTargetPath) {
|
|
152
|
-
fs__default["default"].writeFileSync(path__default["default"].resolve(cwd, "".concat(exp._path, ".js")), ["// AUTO-GENERATED \u2013 DO NOT EDIT", "
|
|
164
|
+
fs__default["default"].writeFileSync(path__default["default"].resolve(cwd, "".concat(exp._path, ".js")), ["// AUTO-GENERATED \u2013 DO NOT EDIT", "export * from '".concat(relativeTargetPath, "'"), ""].join("\n"));
|
|
153
165
|
}
|
|
154
166
|
}
|
|
155
167
|
}
|
|
@@ -219,4 +231,4 @@ async function build(options) {
|
|
|
219
231
|
|
|
220
232
|
exports._resolveBuildTasks = _resolveBuildTasks;
|
|
221
233
|
exports.build = build;
|
|
222
|
-
//# sourceMappingURL=_build-
|
|
234
|
+
//# sourceMappingURL=_build-c2024f7d.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_build-c2024f7d.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, _MODULE_EXT} 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/** @public */\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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"}
|