@sanity/pkg-utils 1.6.0 → 1.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/dist/{__resolveBuildContext-bc09bff3.cjs → __resolveBuildContext-9b0aa9f9.cjs} +218 -104
  2. package/dist/__resolveBuildContext-9b0aa9f9.cjs.map +1 -0
  3. package/dist/{_build-89aeaf6a.cjs → _build-6e7deb31.cjs} +82 -47
  4. package/dist/_build-6e7deb31.cjs.map +1 -0
  5. package/dist/{_buildAction-8855cb5a.cjs → _buildAction-d8841b41.cjs} +35 -8
  6. package/dist/_buildAction-d8841b41.cjs.map +1 -0
  7. package/dist/_check-04a1f749.cjs +242 -0
  8. package/dist/_check-04a1f749.cjs.map +1 -0
  9. package/dist/{_checkAction-a96c4021.cjs → _checkAction-09426a13.cjs} +17 -4
  10. package/dist/_checkAction-09426a13.cjs.map +1 -0
  11. package/dist/{_index-0e8b664d.cjs → _index-46cab21c.cjs} +331 -202
  12. package/dist/_index-46cab21c.cjs.map +1 -0
  13. package/dist/_watch-cf9c717f.cjs +264 -0
  14. package/dist/_watch-cf9c717f.cjs.map +1 -0
  15. package/dist/{_watchAction-bd901b01.cjs → _watchAction-5941527f.cjs} +38 -4
  16. package/dist/_watchAction-5941527f.cjs.map +1 -0
  17. package/dist/cli.cjs +24 -9
  18. package/dist/cli.cjs.map +1 -1
  19. package/dist/index.cjs +49 -10
  20. package/dist/index.cjs.map +1 -1
  21. package/dist/index.d.ts +6 -4
  22. package/dist/index.js +763 -500
  23. package/dist/index.js.map +1 -1
  24. package/package.json +15 -9
  25. package/src/node/_core/config/_loadConfig.ts +5 -0
  26. package/src/node/_core/config/types.ts +3 -2
  27. package/src/node/_core/pkg/_loadPkg.ts +2 -1
  28. package/src/node/_core/pkg/_parseExports.ts +4 -3
  29. package/src/node/_core/pkg/_types.ts +3 -2
  30. package/src/node/_printPackageTree.ts +3 -1
  31. package/src/node/_resolveBuildTasks.ts +1 -3
  32. package/src/node/_resolveWatchTasks.ts +1 -3
  33. package/src/node/_spinner.ts +5 -13
  34. package/src/node/_tasks/rollup/_resolveRollupConfig.ts +26 -3
  35. package/src/node/build.ts +0 -3
  36. package/dist/__printPackageTree-3ff3ecd3.cjs +0 -76
  37. package/dist/__printPackageTree-3ff3ecd3.cjs.map +0 -1
  38. package/dist/__resolveBuildContext-bc09bff3.cjs.map +0 -1
  39. package/dist/_build-89aeaf6a.cjs.map +0 -1
  40. package/dist/_buildAction-8855cb5a.cjs.map +0 -1
  41. package/dist/_check-0ebe9af4.cjs +0 -118
  42. package/dist/_check-0ebe9af4.cjs.map +0 -1
  43. package/dist/_checkAction-a96c4021.cjs.map +0 -1
  44. package/dist/_index-0e8b664d.cjs.map +0 -1
  45. package/dist/_watch-cf0df170.cjs +0 -219
  46. package/dist/_watch-cf0df170.cjs.map +0 -1
  47. package/dist/_watchAction-bd901b01.cjs.map +0 -1
  48. package/src/node/_resolveEsTarget.ts +0 -39
@@ -1,32 +1,57 @@
1
1
  'use strict';
2
2
 
3
+ const _excluded = ["_path"];
4
+
5
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
6
+
7
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
8
+
9
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
10
+
11
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
12
+
13
+ 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; }
14
+
3
15
  var path = require('path');
16
+
4
17
  var node = require('esbuild-register/dist/node');
18
+
5
19
  var findConfig = require('find-config');
20
+
6
21
  var pkgUp = require('pkg-up');
22
+
7
23
  var chalk = require('chalk');
24
+
8
25
  var zod = require('zod');
26
+
9
27
  var fs = require('fs/promises');
28
+
10
29
  var ts = require('typescript');
30
+
11
31
  var browserslist = require('browserslist');
12
32
 
13
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
33
+ function _interopDefaultLegacy(e) {
34
+ return e && typeof e === 'object' && 'default' in e ? e : {
35
+ 'default': e
36
+ };
37
+ }
14
38
 
15
39
  var path__default = /*#__PURE__*/_interopDefaultLegacy(path);
40
+
16
41
  var findConfig__default = /*#__PURE__*/_interopDefaultLegacy(findConfig);
42
+
17
43
  var pkgUp__default = /*#__PURE__*/_interopDefaultLegacy(pkgUp);
44
+
18
45
  var chalk__default = /*#__PURE__*/_interopDefaultLegacy(chalk);
46
+
19
47
  var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
48
+
20
49
  var ts__default = /*#__PURE__*/_interopDefaultLegacy(ts);
50
+
21
51
  var browserslist__default = /*#__PURE__*/_interopDefaultLegacy(browserslist);
22
52
 
23
53
  const _DEFAULTS = {
24
- browserslist: [
25
- "> 0.2% and supports es6-module and supports es6-module-dynamic-import",
26
- "not dead",
27
- "not IE 11",
28
- "maintained node versions"
29
- ]
54
+ browserslist: ["> 0.2% and supports es6-module and supports es6-module-dynamic-import", "not dead", "not IE 11", "maintained node versions"]
30
55
  };
31
56
 
32
57
  function _isRecord(value) {
@@ -34,40 +59,68 @@ function _isRecord(value) {
34
59
  }
35
60
 
36
61
  async function _loadConfig(options) {
37
- const { cwd } = options;
38
- const pkgPath = await pkgUp__default["default"]({ cwd });
39
- if (!pkgPath)
40
- return void 0;
62
+ const {
63
+ cwd
64
+ } = options;
65
+ const pkgPath = await pkgUp__default["default"]({
66
+ cwd
67
+ });
68
+ if (!pkgPath) return void 0;
41
69
  const root = path__default["default"].dirname(pkgPath);
70
+
42
71
  const configFile = _findConfigFile(root);
72
+
43
73
  if (!configFile) {
44
74
  return void 0;
45
75
  }
76
+
77
+ if (!configFile.path.startsWith(cwd)) {
78
+ return void 0;
79
+ }
80
+
46
81
  try {
47
- const { unregister } = configFile.transform ? node.register({ extensions: [".js", ".ts"] }) : { unregister: () => void 0 };
82
+ const {
83
+ unregister
84
+ } = configFile.transform ? node.register({
85
+ extensions: [".js", ".ts"]
86
+ }) : {
87
+ unregister: () => void 0
88
+ };
89
+
48
90
  const mod = require(configFile.path);
91
+
49
92
  unregister();
50
93
  return (mod == null ? void 0 : mod.default) || mod || void 0;
51
94
  } catch (_) {
52
95
  return void 0;
53
96
  }
54
97
  }
98
+
55
99
  function _findConfigFile(cwd) {
56
- const ts = findConfig__default["default"]("package.config.ts", { cwd });
57
- if (ts)
58
- return { path: ts, transform: true };
59
- const cjs = findConfig__default["default"]("package.config.cjs", { cwd });
60
- if (cjs)
61
- return { path: cjs, transform: false };
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
+ };
62
114
  return null;
63
115
  }
64
116
 
65
117
  function _resolveConfigProperty(prop, initialValue) {
66
- if (!prop)
67
- return initialValue;
118
+ if (!prop) return initialValue;
119
+
68
120
  if (typeof prop === "function") {
69
121
  return prop(initialValue);
70
122
  }
123
+
71
124
  return prop;
72
125
  }
73
126
 
@@ -84,35 +137,32 @@ const pkgSchema = zod.z.object({
84
137
  browser: zod.z.optional(zod.z.record(zod.z.string())),
85
138
  module: zod.z.optional(zod.z.string()),
86
139
  types: zod.z.optional(zod.z.string()),
87
- exports: zod.z.optional(
88
- zod.z.record(
89
- zod.z.object({
90
- source: zod.z.string(),
91
- browser: zod.z.optional(
92
- zod.z.object({
93
- require: zod.z.optional(zod.z.string()),
94
- import: zod.z.optional(zod.z.string())
95
- })
96
- ),
97
- node: zod.z.optional(
98
- zod.z.object({
99
- require: zod.z.optional(zod.z.string()),
100
- import: zod.z.optional(zod.z.string())
101
- })
102
- ),
103
- require: zod.z.optional(zod.z.string()),
104
- import: zod.z.optional(zod.z.string()),
105
- types: zod.z.optional(zod.z.string())
106
- })
107
- )
108
- ),
140
+ exports: zod.z.optional(zod.z.record(zod.z.object({
141
+ types: zod.z.optional(zod.z.string()),
142
+ source: zod.z.string(),
143
+ browser: zod.z.optional(zod.z.object({
144
+ require: zod.z.optional(zod.z.string()),
145
+ import: zod.z.optional(zod.z.string())
146
+ })),
147
+ node: zod.z.optional(zod.z.object({
148
+ require: zod.z.optional(zod.z.string()),
149
+ import: zod.z.optional(zod.z.string())
150
+ })),
151
+ require: zod.z.optional(zod.z.string()),
152
+ import: zod.z.optional(zod.z.string()),
153
+ default: zod.z.string()
154
+ }))),
109
155
  browserslist: zod.z.optional(zod.z.array(zod.z.string()))
110
156
  });
157
+
111
158
  async function _loadPkg(options) {
112
- const { cwd } = options;
113
- const pkgPath = await pkgUp__default["default"]({ cwd });
114
- if (!pkgPath)
115
- throw new Error("no package.json found");
159
+ const {
160
+ cwd
161
+ } = options;
162
+ const pkgPath = await pkgUp__default["default"]({
163
+ cwd
164
+ });
165
+ if (!pkgPath) throw new Error("no package.json found");
116
166
  const buf = await fs__default["default"].readFile(pkgPath);
117
167
  return pkgSchema.parse(JSON.parse(buf.toString()));
118
168
  }
@@ -124,46 +174,47 @@ async function _loadPkgWithReporting(options) {
124
174
  if (err instanceof zod.ZodError) {
125
175
  for (const issue of err.issues) {
126
176
  if (issue.code === "invalid_type") {
127
- console.log(
128
- `${chalk__default["default"].red("invalid type")} in ./package.json at ${chalk__default["default"].magenta(
129
- `\`${issue.path.join("")}\``
130
- )} (expected ${issue.expected}, received ${issue.received})`
131
- );
177
+ console.log("".concat(chalk__default["default"].red("invalid type"), " in ./package.json at ").concat(chalk__default["default"].magenta("`".concat(issue.path.join(""), "`")), " (expected ").concat(issue.expected, ", received ").concat(issue.received, ")"));
132
178
  }
133
179
  }
134
180
  } else {
135
181
  console.error(err);
136
182
  }
183
+
137
184
  process.exit(1);
138
185
  }
139
186
  }
140
187
 
141
188
  function _parseExports(options) {
142
- const { pkg } = options;
189
+ const {
190
+ pkg
191
+ } = options;
143
192
  const rootExport = {
144
193
  _exported: true,
145
194
  _path: ".",
195
+ types: pkg.types,
196
+ source: pkg.source || "index.js",
146
197
  browser: pkg.browser && {
147
198
  require: pkg.main && pkg.browser[pkg.main],
148
199
  import: pkg.module && pkg.browser[pkg.module]
149
200
  },
150
- source: pkg.source || "index.js",
151
- require: pkg.main,
152
201
  import: pkg.module,
153
- types: pkg.types
202
+ require: pkg.main,
203
+ default: pkg.module || pkg.main || "./index.js"
154
204
  };
155
205
  const extraExports = [];
206
+
156
207
  if (pkg.exports) {
157
208
  for (const [exportPath, exportEntry] of Object.entries(pkg.exports)) {
158
209
  if (_isRecord(exportEntry)) {
159
210
  if (exportPath === ".") {
160
211
  Object.assign(rootExport, exportEntry);
161
212
  } else {
162
- const extraExport = {
213
+ const extraExport = _objectSpread({
163
214
  _exported: true,
164
- _path: exportPath,
165
- ...exportEntry
166
- };
215
+ _path: exportPath
216
+ }, exportEntry);
217
+
167
218
  extraExports.push(extraExport);
168
219
  }
169
220
  } else {
@@ -171,15 +222,21 @@ function _parseExports(options) {
171
222
  }
172
223
  }
173
224
  }
225
+
174
226
  return [rootExport, ...extraExports];
175
227
  }
176
228
 
177
229
  async function _loadTSConfig(options) {
178
- const { cwd, tsconfigPath } = options;
230
+ const {
231
+ cwd,
232
+ tsconfigPath
233
+ } = options;
179
234
  const configPath = ts__default["default"].findConfigFile(cwd, ts__default["default"].sys.fileExists, tsconfigPath);
235
+
180
236
  if (!configPath) {
181
- throw new Error(`could not find a valid '${tsconfigPath}'`);
237
+ throw new Error("could not find a valid '".concat(tsconfigPath, "'"));
182
238
  }
239
+
183
240
  const configFile = ts__default["default"].readConfigFile(configPath, ts__default["default"].sys.readFile);
184
241
  return ts__default["default"].parseJsonConfigFileContent(configFile.config, ts__default["default"].sys, cwd);
185
242
  }
@@ -189,29 +246,33 @@ function _sortAsNumber(a, b) {
189
246
  const bVersion = Number(b);
190
247
  return aVersion - bVersion;
191
248
  }
249
+
192
250
  function _resolveBrowserslistVersions(query) {
193
251
  const result = browserslist__default["default"](query);
194
- const entries = result.map((key) => {
252
+ const entries = result.map(key => {
195
253
  const [name, version] = key.split(" ");
196
- return { name, version: version.split("-")[0].split(".")[0] };
254
+ return {
255
+ name,
256
+ version: version.split("-")[0].split(".")[0]
257
+ };
197
258
  });
198
- const andChr = entries.filter((b) => b.name === "and_chr");
199
- const andFf = entries.filter((b) => b.name === "and_ff");
200
- const chrome = entries.filter((b) => b.name === "chrome");
201
- const edge = entries.filter((b) => b.name === "edge");
202
- const ff = entries.filter((b) => b.name === "firefox");
203
- const iosSaf = entries.filter((b) => b.name === "ios_saf");
204
- const saf = entries.filter((b) => b.name === "safari");
205
- const opera = entries.filter((b) => b.name === "opera");
206
- const node = entries.filter((b) => b.name === "node");
259
+ const andChr = entries.filter(b => b.name === "and_chr");
260
+ const andFf = entries.filter(b => b.name === "and_ff");
261
+ const chrome = entries.filter(b => b.name === "chrome");
262
+ const edge = entries.filter(b => b.name === "edge");
263
+ const ff = entries.filter(b => b.name === "firefox");
264
+ const iosSaf = entries.filter(b => b.name === "ios_saf");
265
+ const saf = entries.filter(b => b.name === "safari");
266
+ const opera = entries.filter(b => b.name === "opera");
267
+ const node = entries.filter(b => b.name === "node");
207
268
  const versions = {
208
- chrome: andChr.concat(chrome).map((b) => b.version),
209
- ff: andFf.concat(ff).map((b) => b.version),
210
- edge: edge.map((b) => b.version),
211
- iosSaf: iosSaf.map((b) => b.version),
212
- saf: saf.map((b) => b.version),
213
- opera: opera.map((b) => b.version),
214
- node: node.map((b) => b.version)
269
+ chrome: andChr.concat(chrome).map(b => b.version),
270
+ ff: andFf.concat(ff).map(b => b.version),
271
+ edge: edge.map(b => b.version),
272
+ iosSaf: iosSaf.map(b => b.version),
273
+ saf: saf.map(b => b.version),
274
+ opera: opera.map(b => b.version),
275
+ node: node.map(b => b.version)
215
276
  };
216
277
  versions.chrome.sort(_sortAsNumber);
217
278
  versions.ff.sort(_sortAsNumber);
@@ -225,71 +286,108 @@ function _resolveBrowserslistVersions(query) {
225
286
 
226
287
  function _resolveBrowserTarget(versions) {
227
288
  const target = [];
289
+
228
290
  if (versions.chrome.length) {
229
- target.push(`chrome${versions.chrome[0]}`);
291
+ target.push("chrome".concat(versions.chrome[0]));
230
292
  }
293
+
231
294
  if (versions.ff.length) {
232
- target.push(`firefox${versions.ff[0]}`);
295
+ target.push("firefox".concat(versions.ff[0]));
233
296
  }
297
+
234
298
  if (versions.edge.length) {
235
- target.push(`edge${versions.edge[0]}`);
299
+ target.push("edge".concat(versions.edge[0]));
236
300
  }
301
+
237
302
  if (versions.iosSaf.length) {
238
- target.push(`ios${versions.iosSaf[0]}`);
303
+ target.push("ios".concat(versions.iosSaf[0]));
239
304
  }
305
+
240
306
  if (versions.saf.length) {
241
- target.push(`safari${versions.saf[0]}`);
307
+ target.push("safari".concat(versions.saf[0]));
242
308
  }
309
+
243
310
  if (versions.opera.length) {
244
- target.push(`opera${versions.opera[0]}`);
311
+ target.push("opera".concat(versions.opera[0]));
245
312
  }
313
+
246
314
  if (target.length === 0) {
247
315
  return void 0;
248
316
  }
317
+
249
318
  return target;
250
319
  }
251
320
 
252
321
  function _resolveNodeTarget(versions) {
253
322
  const target = [];
323
+
254
324
  if (versions.node.length) {
255
- target.push(`node${versions.node[0]}`);
325
+ target.push("node".concat(versions.node[0]));
256
326
  }
327
+
257
328
  if (target.length === 0) {
258
329
  return void 0;
259
330
  }
331
+
260
332
  return target;
261
333
  }
262
334
 
263
335
  async function _resolveBuildContext(options) {
264
- var _a;
265
- const { config, cwd, pkg, tsconfig: tsconfigPath } = options;
266
- const tsconfig = await _loadTSConfig({ cwd, tsconfigPath });
336
+ var _ref;
337
+
338
+ const {
339
+ config,
340
+ cwd,
341
+ pkg,
342
+ tsconfig: tsconfigPath
343
+ } = options;
344
+ const tsconfig = await _loadTSConfig({
345
+ cwd,
346
+ tsconfigPath
347
+ });
348
+
267
349
  const targetVersions = _resolveBrowserslistVersions(pkg.browserslist || _DEFAULTS.browserslist);
350
+
268
351
  const srcPath = path__default["default"].resolve(cwd, (config == null ? void 0 : config.src) || "src");
269
352
  const distPath = path__default["default"].resolve(cwd, (config == null ? void 0 : config.dist) || "dist");
353
+
270
354
  const nodeTarget = _resolveNodeTarget(targetVersions);
355
+
271
356
  const webTarget = _resolveBrowserTarget(targetVersions);
357
+
272
358
  if (!nodeTarget) {
273
359
  throw new Error("no matching `node` target");
274
360
  }
361
+
275
362
  if (!webTarget) {
276
363
  throw new Error("no matching `web` target");
277
364
  }
365
+
278
366
  const target = {
279
367
  "*": webTarget.concat(nodeTarget),
280
368
  browser: webTarget,
281
369
  node: nodeTarget
282
370
  };
283
- const parsedExports = _parseExports({ pkg }).reduce((acc, x) => {
284
- const { _path: exportPath, ...exportEntry } = x;
285
- return { ...acc, [exportPath]: exportEntry };
371
+
372
+ const parsedExports = _parseExports({
373
+ pkg
374
+ }).reduce((acc, x) => {
375
+ const {
376
+ _path: exportPath
377
+ } = x,
378
+ exportEntry = _objectWithoutProperties(x, _excluded);
379
+
380
+ return _objectSpread(_objectSpread({}, acc), {}, {
381
+ [exportPath]: exportEntry
382
+ });
286
383
  }, {});
384
+
287
385
  const exports = _resolveConfigProperty(config == null ? void 0 : config.exports, parsedExports);
288
- const parsedExternal = [
289
- ...pkg.dependencies ? Object.keys(pkg.dependencies) : [],
290
- ...pkg.peerDependencies ? Object.keys(pkg.peerDependencies) : []
291
- ];
386
+
387
+ const parsedExternal = [...(pkg.dependencies ? Object.keys(pkg.dependencies) : []), ...(pkg.peerDependencies ? Object.keys(pkg.peerDependencies) : [])];
388
+
292
389
  const external = _resolveConfigProperty(config == null ? void 0 : config.external, parsedExternal);
390
+
293
391
  const ctx = {
294
392
  config,
295
393
  cwd,
@@ -298,25 +396,41 @@ async function _resolveBuildContext(options) {
298
396
  external,
299
397
  files: [],
300
398
  logger: {
301
- log: (...args) => {
302
- console.log(...args);
399
+ log: function () {
400
+ console.log(...arguments);
303
401
  },
304
- info: (...args) => {
402
+ info: function () {
403
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
404
+ args[_key] = arguments[_key];
405
+ }
406
+
305
407
  console.log(chalk__default["default"].blue(" info"), ...args);
306
408
  },
307
- warn: (...args) => {
409
+ warn: function () {
410
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
411
+ args[_key2] = arguments[_key2];
412
+ }
413
+
308
414
  console.log(chalk__default["default"].yellow(" warn"), ...args);
309
415
  },
310
- error: (...args) => {
416
+ error: function () {
417
+ for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
418
+ args[_key3] = arguments[_key3];
419
+ }
420
+
311
421
  console.log(chalk__default["default"].red(" fail"), ...args);
312
422
  },
313
- success: (...args) => {
423
+ success: function () {
424
+ for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
425
+ args[_key4] = arguments[_key4];
426
+ }
427
+
314
428
  console.log(chalk__default["default"].green(" ok "), ...args);
315
429
  }
316
430
  },
317
431
  pkg,
318
432
  src: path__default["default"].relative(cwd, srcPath),
319
- runtime: (_a = config == null ? void 0 : config.runtime) != null ? _a : "*",
433
+ runtime: (_ref = config == null ? void 0 : config.runtime) !== null && _ref !== void 0 ? _ref : "*",
320
434
  target,
321
435
  ts: {
322
436
  config: tsconfig,
@@ -335,4 +449,4 @@ exports._loadTSConfig = _loadTSConfig;
335
449
  exports._parseExports = _parseExports;
336
450
  exports._resolveBuildContext = _resolveBuildContext;
337
451
  exports._resolveConfigProperty = _resolveConfigProperty;
338
- //# sourceMappingURL=__resolveBuildContext-bc09bff3.cjs.map
452
+ //# sourceMappingURL=__resolveBuildContext-9b0aa9f9.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"__resolveBuildContext-9b0aa9f9.cjs","sources":["../src/node/_core/_defaults.ts","../src/node/_core/_isRecord.ts","../src/node/_core/config/_loadConfig.ts","../src/node/_core/config/_resolveConfigProperty.ts","../src/node/_core/pkg/_loadPkg.ts","../src/node/_core/pkg/_loadPkgWithReporting.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 _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 path from 'path'\nimport {register} from 'esbuild-register/dist/node'\nimport findConfig from 'find-config'\nimport pkgUp from 'pkg-up'\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 = _findConfigFile(root)\n\n if (!configFile) {\n return undefined\n }\n\n // Do not accept config files outside of the root\n if (!configFile.path.startsWith(cwd)) {\n return undefined\n }\n\n try {\n const {unregister} = configFile.transform\n ? register({extensions: ['.js', '.ts']})\n : {unregister: () => undefined}\n\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const mod = require(configFile.path)\n\n unregister()\n\n return mod?.default || mod || undefined\n } catch (_) {\n return undefined\n }\n}\n\n// Looks for:\n// 1. package.config.ts\n// 2. package.config.cjs\n//\nfunction _findConfigFile(cwd: string): {path: string; transform: boolean} | null {\n const ts = findConfig('package.config.ts', {cwd})\n\n if (ts) return {path: ts, transform: true}\n\n const cjs = findConfig('package.config.cjs', {cwd})\n\n if (cjs) return {path: cjs, transform: false}\n\n return null\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 fs from 'fs/promises'\nimport pkgUp from 'pkg-up'\nimport {z} from 'zod'\nimport {_PackageJSON} from './_types'\n\nconst pkgSchema = z.object({\n type: z.optional(z.enum(['module'])),\n name: z.string(),\n version: 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.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 require: z.optional(z.string()),\n import: z.optional(z.string()),\n })\n ),\n node: z.optional(\n z.object({\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\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 pkgSchema.parse(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 `${chalk.red('invalid type')} in ./package.json at ${chalk.magenta(\n `\\`${issue.path.join('')}\\``\n )} (expected ${issue.expected}, received ${issue.received})`\n )\n }\n }\n } else {\n console.error(err)\n }\n\n process.exit(1)\n }\n}\n","import {_isRecord} from '../_isRecord'\nimport {PkgExport} from '../config'\nimport {_PackageJSON} from './_types'\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 || 'index.js',\n browser: pkg.browser && {\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 || './index.js',\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 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 return [rootExport, ...extraExports]\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":["_DEFAULTS","browserslist","_isRecord","value","Boolean","Array","isArray","_loadConfig","options","cwd","pkgPath","pkgUp","root","path","dirname","configFile","_findConfigFile","startsWith","unregister","transform","register","extensions","mod","require","default","_","ts","findConfig","cjs","_resolveConfigProperty","prop","initialValue","pkgSchema","z","object","type","optional","enum","name","string","version","bin","record","dependencies","devDependencies","peerDependencies","source","main","browser","module","types","exports","import","node","array","_loadPkg","Error","buf","fs","readFile","parse","JSON","toString","_loadPkgWithReporting","err","ZodError","issue","issues","code","console","log","chalk","red","magenta","join","expected","received","error","process","exit","_parseExports","pkg","rootExport","_exported","_path","extraExports","exportPath","exportEntry","Object","entries","assign","extraExport","push","_loadTSConfig","tsconfigPath","configPath","findConfigFile","sys","fileExists","readConfigFile","parseJsonConfigFileContent","config","_sortAsNumber","a","b","aVersion","Number","bVersion","_resolveBrowserslistVersions","query","result","map","key","split","andChr","filter","andFf","chrome","edge","ff","iosSaf","saf","opera","versions","concat","sort","_resolveBrowserTarget","target","length","_resolveNodeTarget","_resolveBuildContext","tsconfig","targetVersions","srcPath","resolve","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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAY,MAACA,SAAS,GAAG;EACvBC,YAAY,EAAE,CACZ,uEADY,EAEZ,UAFY,EAGZ,WAHY,EAIZ,0BAJY;AADS,CAAb;;ACAL,SAASC,SAAT,CAAmBC,KAAnB,EAA0B;EAC/B,OAAOC,OAAO,CAACD,KAAD,CAAP,IAAkB,CAACE,KAAK,CAACC,OAAN,CAAcH,KAAd,CAAnB,IAA2C,OAAOA,KAAP,KAAiB,QAAnE;AACF;;ACEO,eAAeI,WAAf,CAA2BC,OAA3B,EAAoC;EACzC,MAAM;IAAEC;EAAF,IAAUD,OAAhB;EACA,MAAME,OAAO,GAAG,MAAMC,cAAAA,CAAAA,SAAAA,CAAAA,CAAM;IAAEF;EAAF,CAANE,CAAtB;EACA,IAAI,CAACD,OAAL,EACE,OAAO,KAAK,CAAZ;EACF,MAAME,IAAI,GAAGC,aAAAA,CAAAA,SAAAA,CAAAA,CAAKC,OAALD,CAAaH,OAAbG,CAAb;;EACA,MAAME,UAAU,GAAGC,eAAe,CAACJ,IAAD,CAAlC;;EACA,IAAI,CAACG,UAAL,EAAiB;IACf,OAAO,KAAK,CAAZ;EACD;;EACD,IAAI,CAACA,UAAU,CAACF,IAAX,CAAgBI,UAAhB,CAA2BR,GAA3B,CAAL,EAAsC;IACpC,OAAO,KAAK,CAAZ;EACD;;EACD,IAAI;IACF,MAAM;MAAES;IAAF,IAAiBH,UAAU,CAACI,SAAX,GAAuBC,IAAAA,CAAAA,QAAAA,CAAS;MAAEC,UAAU,EAAE,CAAC,KAAD,EAAQ,KAAR;IAAd,CAATD,CAAvB,GAAkE;MAAEF,UAAU,EAAE,MAAM,KAAK;IAAzB,CAAzF;;IACA,MAAMI,GAAG,GAAGC,OAAO,CAACR,UAAU,CAACF,IAAZ,CAAnB;;IACAK,UAAU;IACV,OAAO,CAACI,GAAG,IAAI,IAAP,GAAc,KAAK,CAAnB,GAAuBA,GAAG,CAACE,OAA5B,KAAwCF,GAAxC,IAA+C,KAAK,CAA3D;EACD,CALD,CAKE,OAAOG,CAAP,EAAU;IACV,OAAO,KAAK,CAAZ;EACD;AACF;;AACD,SAAST,eAAT,CAAyBP,GAAzB,EAA8B;EAC5B,MAAMiB,EAAE,GAAGC,mBAAU,CAAA,SAAA,CAAVA,CAAW,mBAAXA,EAAgC;IAAElB;EAAF,CAAhCkB,CAAX;EACA,IAAID,EAAJ,EACE,OAAO;IAAEb,IAAI,EAAEa,EAAR;IAAYP,SAAS,EAAE;EAAvB,CAAP;EACF,MAAMS,GAAG,GAAGD,mBAAU,CAAA,SAAA,CAAVA,CAAW,oBAAXA,EAAiC;IAAElB;EAAF,CAAjCkB,CAAZ;EACA,IAAIC,GAAJ,EACE,OAAO;IAAEf,IAAI,EAAEe,GAAR;IAAaT,SAAS,EAAE;EAAxB,CAAP;EACF,OAAO,IAAP;AACF;;AClCO,SAASU,sBAAT,CAAgCC,IAAhC,EAAsCC,YAAtC,EAAoD;EACzD,IAAI,CAACD,IAAL,EACE,OAAOC,YAAP;;EACF,IAAI,OAAOD,IAAP,KAAgB,UAApB,EAAgC;IAC9B,OAAOA,IAAI,CAACC,YAAD,CAAX;EACD;;EACD,OAAOD,IAAP;AACF;;ACJA,MAAME,SAAS,GAAGC,GAAC,CAAAA,CAADA,CAAEC,MAAFD,CAAS;EACzBE,IAAI,EAAEF,GAAC,CAAAA,CAADA,CAAEG,QAAFH,CAAWA,GAAAA,CAAAA,CAAAA,CAAEI,IAAFJ,CAAO,CAAC,QAAD,CAAPA,CAAXA,CADmB;EAEzBK,IAAI,EAAEL,GAAC,CAAAA,CAADA,CAAEM,MAAFN,EAFmB;EAGzBO,OAAO,EAAEP,GAAC,CAAAA,CAADA,CAAEM,MAAFN,EAHgB;EAIzBQ,GAAG,EAAER,GAAC,CAAAA,CAADA,CAAEG,QAAFH,CAAWA,GAAAA,CAAAA,CAAAA,CAAES,MAAFT,CAASA,GAAC,CAAAA,CAADA,CAAEM,MAAFN,EAATA,CAAXA,CAJoB;EAKzBU,YAAY,EAAEV,GAAC,CAAAA,CAADA,CAAEG,QAAFH,CAAWA,GAAAA,CAAAA,CAAAA,CAAES,MAAFT,CAASA,GAAC,CAAAA,CAADA,CAAEM,MAAFN,EAATA,CAAXA,CALW;EAMzBW,eAAe,EAAEX,GAAC,CAAAA,CAADA,CAAEG,QAAFH,CAAWA,GAAAA,CAAAA,CAAAA,CAAES,MAAFT,CAASA,GAAC,CAAAA,CAADA,CAAEM,MAAFN,EAATA,CAAXA,CANQ;EAOzBY,gBAAgB,EAAEZ,GAAC,CAAAA,CAADA,CAAEG,QAAFH,CAAWA,GAAAA,CAAAA,CAAAA,CAAES,MAAFT,CAASA,GAAC,CAAAA,CAADA,CAAEM,MAAFN,EAATA,CAAXA,CAPO;EAQzBa,MAAM,EAAEb,GAAC,CAAAA,CAADA,CAAEM,MAAFN,EARiB;EASzBc,IAAI,EAAEd,GAAAA,CAAAA,CAAAA,CAAEG,QAAFH,CAAWA,GAAC,CAAAA,CAADA,CAAEM,MAAFN,EAAXA,CATmB;EAUzBe,OAAO,EAAEf,GAAC,CAAAA,CAADA,CAAEG,QAAFH,CAAWA,GAAAA,CAAAA,CAAAA,CAAES,MAAFT,CAASA,GAAC,CAAAA,CAADA,CAAEM,MAAFN,EAATA,CAAXA,CAVgB;EAWzBgB,MAAM,EAAEhB,GAAAA,CAAAA,CAAAA,CAAEG,QAAFH,CAAWA,GAAC,CAAAA,CAADA,CAAEM,MAAFN,EAAXA,CAXiB;EAYzBiB,KAAK,EAAEjB,GAAAA,CAAAA,CAAAA,CAAEG,QAAFH,CAAWA,GAAC,CAAAA,CAADA,CAAEM,MAAFN,EAAXA,CAZkB;EAazBkB,OAAO,EAAElB,GAAC,CAAAA,CAADA,CAAEG,QAAFH,CACPA,GAAAA,CAAAA,CAAAA,CAAES,MAAFT,CACEA,GAAAA,CAAAA,CAAAA,CAAEC,MAAFD,CAAS;IACPiB,KAAK,EAAEjB,GAAAA,CAAAA,CAAAA,CAAEG,QAAFH,CAAWA,GAAC,CAAAA,CAADA,CAAEM,MAAFN,EAAXA,CADA;IAEPa,MAAM,EAAEb,GAAC,CAAAA,CAADA,CAAEM,MAAFN,EAFD;IAGPe,OAAO,EAAEf,GAAC,CAAAA,CAADA,CAAEG,QAAFH,CACPA,GAAAA,CAAAA,CAAAA,CAAEC,MAAFD,CAAS;MACPV,OAAO,EAAEU,GAAAA,CAAAA,CAAAA,CAAEG,QAAFH,CAAWA,GAAC,CAAAA,CAADA,CAAEM,MAAFN,EAAXA,CADF;MAEPmB,MAAM,EAAEnB,GAAAA,CAAAA,CAAAA,CAAEG,QAAFH,CAAWA,GAAC,CAAAA,CAADA,CAAEM,MAAFN,EAAXA;IAFD,CAATA,CADOA,CAHF;IASPoB,IAAI,EAAEpB,GAAC,CAAAA,CAADA,CAAEG,QAAFH,CACJA,GAAAA,CAAAA,CAAAA,CAAEC,MAAFD,CAAS;MACPV,OAAO,EAAEU,GAAAA,CAAAA,CAAAA,CAAEG,QAAFH,CAAWA,GAAC,CAAAA,CAADA,CAAEM,MAAFN,EAAXA,CADF;MAEPmB,MAAM,EAAEnB,GAAAA,CAAAA,CAAAA,CAAEG,QAAFH,CAAWA,GAAC,CAAAA,CAADA,CAAEM,MAAFN,EAAXA;IAFD,CAATA,CADIA,CATC;IAePV,OAAO,EAAEU,GAAAA,CAAAA,CAAAA,CAAEG,QAAFH,CAAWA,GAAC,CAAAA,CAADA,CAAEM,MAAFN,EAAXA,CAfF;IAgBPmB,MAAM,EAAEnB,GAAAA,CAAAA,CAAAA,CAAEG,QAAFH,CAAWA,GAAC,CAAAA,CAADA,CAAEM,MAAFN,EAAXA,CAhBD;IAiBPT,OAAO,EAAES,GAAC,CAAAA,CAADA,CAAEM,MAAFN;EAjBF,CAATA,CADFA,CADOA,CAbgB;EAoCzBhC,YAAY,EAAEgC,GAAC,CAAAA,CAADA,CAAEG,QAAFH,CAAWA,GAAAA,CAAAA,CAAAA,CAAEqB,KAAFrB,CAAQA,GAAC,CAAAA,CAADA,CAAEM,MAAFN,EAARA,CAAXA;AApCW,CAATA,CAAlB;;AAsCO,eAAesB,QAAf,CAAwB/C,OAAxB,EAAiC;EACtC,MAAM;IAAEC;EAAF,IAAUD,OAAhB;EACA,MAAME,OAAO,GAAG,MAAMC,cAAAA,CAAAA,SAAAA,CAAAA,CAAM;IAAEF;EAAF,CAANE,CAAtB;EACA,IAAI,CAACD,OAAL,EACE,MAAM,IAAI8C,KAAJ,CAAU,uBAAV,CAAN;EACF,MAAMC,GAAG,GAAG,MAAMC,WAAAA,CAAAA,SAAAA,CAAAA,CAAGC,QAAHD,CAAYhD,OAAZgD,CAAlB;EACA,OAAO1B,SAAS,CAAC4B,KAAV,CAAgBC,IAAI,CAACD,KAAL,CAAWH,GAAG,CAACK,QAAJ,EAAX,CAAhB,CAAP;AACF;;AC7CO,eAAeC,qBAAf,CAAqCvD,OAArC,EAA8C;EACnD,IAAI;IACF,OAAO,MAAM+C,QAAQ,CAAC/C,OAAD,CAArB;EACD,CAFD,CAEE,OAAOwD,GAAP,EAAY;IACZ,IAAIA,GAAG,YAAYC,GAAAA,CAAAA,QAAnB,EAA6B;MAC3B,KAAK,MAAMC,KAAX,IAAoBF,GAAG,CAACG,MAAxB,EAAgC;QAC9B,IAAID,KAAK,CAACE,IAAN,KAAe,cAAnB,EAAmC;UACjCC,OAAO,CAACC,GAAR,WACKC,cAAK,CAAA,SAAA,CAALA,CAAMC,GAAND,CAAU,cAAVA,CADL,mCACuDA,cAAAA,CAAAA,SAAAA,CAAAA,CAAME,OAANF,YAC9CL,KAAK,CAACrD,IAAN,CAAW6D,IAAX,CAAgB,EAAhB,CAD8CH,OADvD,wBAGiBL,KAAK,CAACS,QAHvB,wBAG6CT,KAAK,CAACU,QAHnD;QAKD;MACF;IACF,CAVD,MAUO;MACLP,OAAO,CAACQ,KAAR,CAAcb,GAAd;IACD;;IACDc,OAAO,CAACC,IAAR,CAAa,CAAb;EACD;AACH;;ACrBO,SAASC,aAAT,CAAuBxE,OAAvB,EAAgC;EACrC,MAAM;IAAEyE;EAAF,IAAUzE,OAAhB;EACA,MAAM0E,UAAU,GAAG;IACjBC,SAAS,EAAE,IADM;IAEjBC,KAAK,EAAE,GAFU;IAGjBlC,KAAK,EAAE+B,GAAG,CAAC/B,KAHM;IAIjBJ,MAAM,EAAEmC,GAAG,CAACnC,MAAJ,IAAc,UAJL;IAKjBE,OAAO,EAAEiC,GAAG,CAACjC,OAAJ,IAAe;MACtBzB,OAAO,EAAE0D,GAAG,CAAClC,IAAJ,IAAYkC,GAAG,CAACjC,OAAJ,CAAYiC,GAAG,CAAClC,IAAhB,CADC;MAEtBK,MAAM,EAAE6B,GAAG,CAAChC,MAAJ,IAAcgC,GAAG,CAACjC,OAAJ,CAAYiC,GAAG,CAAChC,MAAhB;IAFA,CALP;IASjBG,MAAM,EAAE6B,GAAG,CAAChC,MATK;IAUjB1B,OAAO,EAAE0D,GAAG,CAAClC,IAVI;IAWjBvB,OAAO,EAAEyD,GAAG,CAAChC,MAAJ,IAAcgC,GAAG,CAAClC,IAAlB,IAA0B;EAXlB,CAAnB;EAaA,MAAMsC,YAAY,GAAG,EAArB;;EACA,IAAIJ,GAAG,CAAC9B,OAAR,EAAiB;IACf,KAAK,MAAM,CAACmC,UAAD,EAAaC,WAAb,CAAX,IAAwCC,MAAM,CAACC,OAAP,CAAeR,GAAG,CAAC9B,OAAnB,CAAxC,EAAqE;MACnE,IAAIjD,SAAS,CAACqF,WAAD,CAAb,EAA4B;QAC1B,IAAID,UAAU,KAAK,GAAnB,EAAwB;UACtBE,MAAM,CAACE,MAAP,CAAcR,UAAd,EAA0BK,WAA1B;QACD,CAFD,MAEO;UACL,MAAMI,WAAW;YACfR,SAAS,EAAE,IADI;YAEfC,KAAK,EAAEE;UAFQ,GAGZC,WAHY,CAAjB;;UAKAF,YAAY,CAACO,IAAb,CAAkBD,WAAlB;QACD;MACF,CAXD,MAWO;QACL,MAAM,IAAInC,KAAJ,CAAU,kCAAV,CAAN;MACD;IACF;EACF;;EACD,OAAO,CAAC0B,UAAD,EAAa,GAAGG,YAAhB,CAAP;AACF;;ACnCO,eAAeQ,aAAf,CAA6BrF,OAA7B,EAAsC;EAC3C,MAAM;IAAEC,GAAF;IAAOqF;EAAP,IAAwBtF,OAA9B;EACA,MAAMuF,UAAU,GAAGrE,WAAE,CAAA,SAAA,CAAFA,CAAGsE,cAAHtE,CAAkBjB,GAAlBiB,EAAuBA,WAAAA,CAAAA,SAAAA,CAAAA,CAAGuE,GAAHvE,CAAOwE,UAA9BxE,EAA0CoE,YAA1CpE,CAAnB;;EACA,IAAI,CAACqE,UAAL,EAAiB;IACf,MAAM,IAAIvC,KAAJ,mCAAqCsC,YAArC,OAAN;EACD;;EACD,MAAM/E,UAAU,GAAGW,WAAAA,CAAAA,SAAAA,CAAAA,CAAGyE,cAAHzE,CAAkBqE,UAAlBrE,EAA8BA,sBAAAA,CAAGuE,GAAHvE,CAAOiC,QAArCjC,CAAnB;EACA,OAAOA,WAAAA,CAAAA,SAAAA,CAAAA,CAAG0E,0BAAH1E,CAA8BX,UAAU,CAACsF,MAAzC3E,EAAiDA,sBAAAA,CAAGuE,GAApDvE,EAAyDjB,GAAzDiB,CAAP;AACF;;ACRA,SAAS4E,aAAT,CAAuBC,CAAvB,EAA0BC,CAA1B,EAA6B;EAC3B,MAAMC,QAAQ,GAAGC,MAAM,CAACH,CAAD,CAAvB;EACA,MAAMI,QAAQ,GAAGD,MAAM,CAACF,CAAD,CAAvB;EACA,OAAOC,QAAQ,GAAGE,QAAlB;AACD;;AACM,SAASC,4BAAT,CAAsCC,KAAtC,EAA6C;EAClD,MAAMC,MAAM,GAAG7G,gCAAAA,CAAa4G,KAAb5G,CAAf;EACA,MAAMwF,OAAO,GAAGqB,MAAM,CAACC,GAAP,CAAYC,GAAD,IAAS;IAClC,MAAM,CAAC1E,IAAD,EAAOE,OAAP,IAAkBwE,GAAG,CAACC,KAAJ,CAAU,GAAV,CAAxB;IACA,OAAO;MAAE3E,IAAF;MAAQE,OAAO,EAAEA,OAAO,CAACyE,KAAR,CAAc,GAAd,EAAmB,CAAnB,EAAsBA,KAAtB,CAA4B,GAA5B,EAAiC,CAAjC;IAAjB,CAAP;EACD,CAHe,CAAhB;EAIA,MAAMC,MAAM,GAAGzB,OAAO,CAAC0B,MAAR,CAAgBX,CAAD,IAAOA,CAAC,CAAClE,IAAF,KAAW,SAAjC,CAAf;EACA,MAAM8E,KAAK,GAAG3B,OAAO,CAAC0B,MAAR,CAAgBX,CAAD,IAAOA,CAAC,CAAClE,IAAF,KAAW,QAAjC,CAAd;EACA,MAAM+E,MAAM,GAAG5B,OAAO,CAAC0B,MAAR,CAAgBX,CAAD,IAAOA,CAAC,CAAClE,IAAF,KAAW,QAAjC,CAAf;EACA,MAAMgF,IAAI,GAAG7B,OAAO,CAAC0B,MAAR,CAAgBX,CAAD,IAAOA,CAAC,CAAClE,IAAF,KAAW,MAAjC,CAAb;EACA,MAAMiF,EAAE,GAAG9B,OAAO,CAAC0B,MAAR,CAAgBX,CAAD,IAAOA,CAAC,CAAClE,IAAF,KAAW,SAAjC,CAAX;EACA,MAAMkF,MAAM,GAAG/B,OAAO,CAAC0B,MAAR,CAAgBX,CAAD,IAAOA,CAAC,CAAClE,IAAF,KAAW,SAAjC,CAAf;EACA,MAAMmF,GAAG,GAAGhC,OAAO,CAAC0B,MAAR,CAAgBX,CAAD,IAAOA,CAAC,CAAClE,IAAF,KAAW,QAAjC,CAAZ;EACA,MAAMoF,KAAK,GAAGjC,OAAO,CAAC0B,MAAR,CAAgBX,CAAD,IAAOA,CAAC,CAAClE,IAAF,KAAW,OAAjC,CAAd;EACA,MAAMe,IAAI,GAAGoC,OAAO,CAAC0B,MAAR,CAAgBX,CAAD,IAAOA,CAAC,CAAClE,IAAF,KAAW,MAAjC,CAAb;EACA,MAAMqF,QAAQ,GAAG;IACfN,MAAM,EAAEH,MAAM,CAACU,MAAP,CAAcP,MAAd,EAAsBN,GAAtB,CAA2BP,CAAD,IAAOA,CAAC,CAAChE,OAAnC,CADO;IAEf+E,EAAE,EAAEH,KAAK,CAACQ,MAAN,CAAaL,EAAb,EAAiBR,GAAjB,CAAsBP,CAAD,IAAOA,CAAC,CAAChE,OAA9B,CAFW;IAGf8E,IAAI,EAAEA,IAAI,CAACP,GAAL,CAAUP,CAAD,IAAOA,CAAC,CAAChE,OAAlB,CAHS;IAIfgF,MAAM,EAAEA,MAAM,CAACT,GAAP,CAAYP,CAAD,IAAOA,CAAC,CAAChE,OAApB,CAJO;IAKfiF,GAAG,EAAEA,GAAG,CAACV,GAAJ,CAASP,CAAD,IAAOA,CAAC,CAAChE,OAAjB,CALU;IAMfkF,KAAK,EAAEA,KAAK,CAACX,GAAN,CAAWP,CAAD,IAAOA,CAAC,CAAChE,OAAnB,CANQ;IAOfa,IAAI,EAAEA,IAAI,CAAC0D,GAAL,CAAUP,CAAD,IAAOA,CAAC,CAAChE,OAAlB;EAPS,CAAjB;EASAmF,QAAQ,CAACN,MAAT,CAAgBQ,IAAhB,CAAqBvB,aAArB;EACAqB,QAAQ,CAACJ,EAAT,CAAYM,IAAZ,CAAiBvB,aAAjB;EACAqB,QAAQ,CAACL,IAAT,CAAcO,IAAd,CAAmBvB,aAAnB;EACAqB,QAAQ,CAACH,MAAT,CAAgBK,IAAhB,CAAqBvB,aAArB;EACAqB,QAAQ,CAACF,GAAT,CAAaI,IAAb,CAAkBvB,aAAlB;EACAqB,QAAQ,CAACD,KAAT,CAAeG,IAAf,CAAoBvB,aAApB;EACAqB,QAAQ,CAACtE,IAAT,CAAcwE,IAAd,CAAmBvB,aAAnB;EACA,OAAOqB,QAAP;AACF;;ACtCO,SAASG,qBAAT,CAA+BH,QAA/B,EAAyC;EAC9C,MAAMI,MAAM,GAAG,EAAf;;EACA,IAAIJ,QAAQ,CAACN,MAAT,CAAgBW,MAApB,EAA4B;IAC1BD,MAAM,CAACnC,IAAP,iBAAqB+B,QAAQ,CAACN,MAAT,CAAgB,CAAhB,CAArB;EACD;;EACD,IAAIM,QAAQ,CAACJ,EAAT,CAAYS,MAAhB,EAAwB;IACtBD,MAAM,CAACnC,IAAP,kBAAsB+B,QAAQ,CAACJ,EAAT,CAAY,CAAZ,CAAtB;EACD;;EACD,IAAII,QAAQ,CAACL,IAAT,CAAcU,MAAlB,EAA0B;IACxBD,MAAM,CAACnC,IAAP,eAAmB+B,QAAQ,CAACL,IAAT,CAAc,CAAd,CAAnB;EACD;;EACD,IAAIK,QAAQ,CAACH,MAAT,CAAgBQ,MAApB,EAA4B;IAC1BD,MAAM,CAACnC,IAAP,cAAkB+B,QAAQ,CAACH,MAAT,CAAgB,CAAhB,CAAlB;EACD;;EACD,IAAIG,QAAQ,CAACF,GAAT,CAAaO,MAAjB,EAAyB;IACvBD,MAAM,CAACnC,IAAP,iBAAqB+B,QAAQ,CAACF,GAAT,CAAa,CAAb,CAArB;EACD;;EACD,IAAIE,QAAQ,CAACD,KAAT,CAAeM,MAAnB,EAA2B;IACzBD,MAAM,CAACnC,IAAP,gBAAoB+B,QAAQ,CAACD,KAAT,CAAe,CAAf,CAApB;EACD;;EACD,IAAIK,MAAM,CAACC,MAAP,KAAkB,CAAtB,EAAyB;IACvB,OAAO,KAAK,CAAZ;EACD;;EACD,OAAOD,MAAP;AACF;;ACxBO,SAASE,kBAAT,CAA4BN,QAA5B,EAAsC;EAC3C,MAAMI,MAAM,GAAG,EAAf;;EACA,IAAIJ,QAAQ,CAACtE,IAAT,CAAc2E,MAAlB,EAA0B;IACxBD,MAAM,CAACnC,IAAP,eAAmB+B,QAAQ,CAACtE,IAAT,CAAc,CAAd,CAAnB;EACD;;EACD,IAAI0E,MAAM,CAACC,MAAP,KAAkB,CAAtB,EAAyB;IACvB,OAAO,KAAK,CAAZ;EACD;;EACD,OAAOD,MAAP;AACF;;ACEO,eAAeG,oBAAf,CAAoC1H,OAApC,EAA6C;EAAA;;EAClD,MAAM;IAAE6F,MAAF;IAAU5F,GAAV;IAAewE,GAAf;IAAoBkD,QAAQ,EAAErC;EAA9B,IAA+CtF,OAArD;EACA,MAAM2H,QAAQ,GAAG,MAAMtC,aAAa,CAAC;IAAEpF,GAAF;IAAOqF;EAAP,CAAD,CAApC;;EACA,MAAMsC,cAAc,GAAGxB,4BAA4B,CAAC3B,GAAG,CAAChF,YAAJ,IAAoBD,SAAS,CAACC,YAA/B,CAAnD;;EACA,MAAMoI,OAAO,GAAGxH,aAAAA,CAAAA,SAAAA,CAAAA,CAAKyH,OAALzH,CAAaJ,GAAbI,EAAkB,CAACwF,MAAM,IAAI,IAAV,GAAiB,KAAK,CAAtB,GAA0BA,MAAM,CAACkC,GAAlC,KAA0C,KAA5D1H,CAAhB;EACA,MAAM2H,QAAQ,GAAG3H,aAAAA,CAAAA,SAAAA,CAAAA,CAAKyH,OAALzH,CAAaJ,GAAbI,EAAkB,CAACwF,MAAM,IAAI,IAAV,GAAiB,KAAK,CAAtB,GAA0BA,MAAM,CAACoC,IAAlC,KAA2C,MAA7D5H,CAAjB;;EACA,MAAM6H,UAAU,GAAGT,kBAAkB,CAACG,cAAD,CAArC;;EACA,MAAMO,SAAS,GAAGb,qBAAqB,CAACM,cAAD,CAAvC;;EACA,IAAI,CAACM,UAAL,EAAiB;IACf,MAAM,IAAIlF,KAAJ,CAAU,2BAAV,CAAN;EACD;;EACD,IAAI,CAACmF,SAAL,EAAgB;IACd,MAAM,IAAInF,KAAJ,CAAU,0BAAV,CAAN;EACD;;EACD,MAAMuE,MAAM,GAAG;IACb,KAAKY,SAAS,CAACf,MAAV,CAAiBc,UAAjB,CADQ;IAEb1F,OAAO,EAAE2F,SAFI;IAGbtF,IAAI,EAAEqF;EAHO,CAAf;;EAKA,MAAME,aAAa,GAAG5D,aAAa,CAAC;IAAEC;EAAF,CAAD,CAAb,CAAuB4D,MAAvB,CAA8B,CAACC,GAAD,EAAMC,CAAN,KAAY;IAC9D,MAAM;MAAE3D,KAAK,EAAEE;IAAT,IAAwCyD,CAA9C;IAAA,MAA8BxD,WAA9B,4BAA8CwD,CAA9C;;IACA,uCAAYD,GAAZ;MAAiB,CAACxD,UAAD,GAAcC;IAA/B;EACD,CAHqB,EAGnB,EAHmB,CAAtB;;EAIA,MAAMpC,OAAO,GAAGtB,sBAAsB,CAACwE,MAAM,IAAI,IAAV,GAAiB,KAAK,CAAtB,GAA0BA,MAAM,CAAClD,OAAlC,EAA2CyF,aAA3C,CAAtC;;EACA,MAAMI,cAAc,GAAG,CACrB,IAAG/D,GAAG,CAACtC,YAAJ,GAAmB6C,MAAM,CAACyD,IAAP,CAAYhE,GAAG,CAACtC,YAAhB,CAAnB,GAAmD,EAAtD,CADqB,EAErB,IAAGsC,GAAG,CAACpC,gBAAJ,GAAuB2C,MAAM,CAACyD,IAAP,CAAYhE,GAAG,CAACpC,gBAAhB,CAAvB,GAA2D,EAA9D,CAFqB,CAAvB;;EAIA,MAAMqG,QAAQ,GAAGrH,sBAAsB,CAACwE,MAAM,IAAI,IAAV,GAAiB,KAAK,CAAtB,GAA0BA,MAAM,CAAC6C,QAAlC,EAA4CF,cAA5C,CAAvC;;EACA,MAAMG,GAAG,GAAG;IACV9C,MADU;IAEV5F,GAFU;IAGVgI,IAAI,EAAE5H,aAAI,CAAA,SAAA,CAAJA,CAAKuI,QAALvI,CAAcJ,GAAdI,EAAmB2H,QAAnB3H,CAHI;IAIVsC,OAJU;IAKV+F,QALU;IAMVG,KAAK,EAAE,EANG;IAOVC,MAAM,EAAE;MACNhF,GAAG,EAAE,YAAa;QAChBD,OAAO,CAACC,GAAR,CAAY,YAAZ;MACD,CAHK;MAINiF,IAAI,EAAE,YAAa;QAAA,kCAATC,IAAS;UAATA,IAAS;QAAA;;QACjBnF,OAAO,CAACC,GAAR,CAAYC,yBAAAA,CAAMkF,IAANlF,CAAW,QAAXA,CAAZ,EAAkC,GAAGiF,IAArC;MACD,CANK;MAONE,IAAI,EAAE,YAAa;QAAA,mCAATF,IAAS;UAATA,IAAS;QAAA;;QACjBnF,OAAO,CAACC,GAAR,CAAYC,yBAAAA,CAAMoF,MAANpF,CAAa,QAAbA,CAAZ,EAAoC,GAAGiF,IAAvC;MACD,CATK;MAUN3E,KAAK,EAAE,YAAa;QAAA,mCAAT2E,IAAS;UAATA,IAAS;QAAA;;QAClBnF,OAAO,CAACC,GAAR,CAAYC,yBAAAA,CAAMC,GAAND,CAAU,QAAVA,CAAZ,EAAiC,GAAGiF,IAApC;MACD,CAZK;MAaNI,OAAO,EAAE,YAAa;QAAA,mCAATJ,IAAS;UAATA,IAAS;QAAA;;QACpBnF,OAAO,CAACC,GAAR,CAAYC,yBAAAA,CAAMsF,KAANtF,CAAY,QAAZA,CAAZ,EAAmC,GAAGiF,IAAtC;MACD;IAfK,CAPE;IAwBVvE,GAxBU;IAyBVsD,GAAG,EAAE1H,aAAI,CAAA,SAAA,CAAJA,CAAKuI,QAALvI,CAAcJ,GAAdI,EAAmBwH,OAAnBxH,CAzBK;IA0BViJ,OAAO,UAAGzD,MAAM,IAAI,IAAV,GAAiB,KAAK,CAAtB,GAA0BA,MAAM,CAACyD,OAApC,uCAAgD,GA1B7C;IA2BV/B,MA3BU;IA4BVrG,EAAE,EAAE;MACF2E,MAAM,EAAE8B,QADN;MAEFpC,UAAU,EAAED;IAFV;EA5BM,CAAZ;EAiCA,OAAOqD,GAAP;AACF;;;;;;;;;;"}