@sanity/pkg-utils 1.18.0 → 1.19.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.
Files changed (106) hide show
  1. package/dist/_chunks/{build-f39a3550.js → build-bcb33ba5.js} +19 -19
  2. package/dist/_chunks/build-bcb33ba5.js.map +1 -0
  3. package/dist/_chunks/{buildAction-8f449d1d.js → buildAction-f240dab8.js} +6 -6
  4. package/dist/_chunks/buildAction-f240dab8.js.map +1 -0
  5. package/dist/_chunks/{check-87cbb6cc.js → check-1ea361f5.js} +26 -26
  6. package/dist/_chunks/check-1ea361f5.js.map +1 -0
  7. package/dist/_chunks/{checkAction-e7e455d4.js → checkAction-16be1201.js} +5 -5
  8. package/dist/_chunks/checkAction-16be1201.js.map +1 -0
  9. package/dist/_chunks/{_handleError-869dec25.js → handleError-65cf3242.js} +3 -3
  10. package/dist/_chunks/handleError-65cf3242.js.map +1 -0
  11. package/dist/_chunks/{index-7a851efa.js → index-79fdb33f.js} +63 -63
  12. package/dist/_chunks/index-79fdb33f.js.map +1 -0
  13. package/dist/_chunks/{_resolveBuildContext-7ca7e64e.js → resolveBuildContext-f2feec19.js} +60 -62
  14. package/dist/_chunks/resolveBuildContext-f2feec19.js.map +1 -0
  15. package/dist/_chunks/{watch-f6cf9246.js → watch-02c85f8a.js} +25 -25
  16. package/dist/_chunks/watch-02c85f8a.js.map +1 -0
  17. package/dist/_chunks/{watchAction-4cf253a0.js → watchAction-9cb9681b.js} +6 -6
  18. package/dist/_chunks/watchAction-9cb9681b.js.map +1 -0
  19. package/dist/cli.js +4 -4
  20. package/dist/index.d.ts +44 -46
  21. package/dist/index.esm.js +165 -167
  22. package/dist/index.esm.js.map +1 -1
  23. package/dist/index.js +22 -22
  24. package/dist/index.js.map +1 -1
  25. package/package.json +48 -1
  26. package/src/cli/buildAction.ts +2 -2
  27. package/src/cli/checkAction.ts +2 -2
  28. package/src/cli/{_handleError.ts → handleError.ts} +1 -1
  29. package/src/cli/watchAction.ts +2 -2
  30. package/src/node/build.ts +11 -11
  31. package/src/node/check.ts +11 -11
  32. package/src/node/{_core → core}/config/defineConfig.ts +0 -0
  33. package/src/node/{_core/config/_findConfigFile.ts → core/config/findConfigFile.ts} +3 -3
  34. package/src/node/core/config/index.ts +4 -0
  35. package/src/node/{_core/config/_loadConfig.ts → core/config/loadConfig.ts} +3 -3
  36. package/src/node/{_core/config/_resolveConfigProperty.ts → core/config/resolveConfigProperty.ts} +1 -1
  37. package/src/node/{_core → core}/config/types.ts +0 -0
  38. package/src/node/{_core/_constants.ts → core/constants.ts} +1 -1
  39. package/src/node/{_core → core}/contexts/buildContext.ts +5 -5
  40. package/src/node/{_core → core}/contexts/index.ts +0 -0
  41. package/src/node/core/defaults.ts +7 -0
  42. package/src/node/core/findCommonPath.test.ts +9 -0
  43. package/src/node/{_core/_findCommonPath.ts → core/findCommonPath.ts} +3 -3
  44. package/src/node/{_core → core}/index.ts +3 -3
  45. package/src/node/{_core/_isRecord.ts → core/isRecord.ts} +1 -1
  46. package/src/node/core/pkg/index.ts +4 -0
  47. package/src/node/{_core/pkg/_loadPkg.ts → core/pkg/loadPkg.ts} +4 -4
  48. package/src/node/{_core/pkg/_loadPkgWithReporting.ts → core/pkg/loadPkgWithReporting.ts} +6 -6
  49. package/src/node/{_core/pkg/_parseExports.ts → core/pkg/parseExports.ts} +7 -7
  50. package/src/node/{_core/pkg/_types.ts → core/pkg/types.ts} +1 -1
  51. package/src/node/{_core/pkg/_validateExports.ts → core/pkg/validateExports.ts} +5 -5
  52. package/src/node/{_core/pkg/_validatePkg.ts → core/pkg/validatePkg.ts} +2 -2
  53. package/src/node/core/ts/index.ts +1 -0
  54. package/src/node/{_core/ts/_loadTSConfig.ts → core/ts/loadTSConfig.ts} +1 -1
  55. package/src/node/{_getFilesize.ts → getFilesize.ts} +1 -1
  56. package/src/node/globFiles.ts +5 -0
  57. package/src/node/index.ts +3 -3
  58. package/src/node/{_printExtractMessages.ts → printExtractMessages.ts} +2 -2
  59. package/src/node/{_printPackageTree.ts → printPackageTree.ts} +17 -17
  60. package/src/node/{_resolveBrowserTarget.ts → resolveBrowserTarget.ts} +2 -2
  61. package/src/node/{_resolveBrowserslistVersions.ts → resolveBrowserslistVersions.ts} +11 -11
  62. package/src/node/{_resolveBuildContext.ts → resolveBuildContext.ts} +28 -28
  63. package/src/node/{_resolveBuildTasks.ts → resolveBuildTasks.ts} +13 -13
  64. package/src/node/{_resolveNodeTarget.ts → resolveNodeTarget.ts} +2 -2
  65. package/src/node/{_resolveWatchTasks.ts → resolveWatchTasks.ts} +11 -11
  66. package/src/node/{_spinner.ts → spinner.ts} +1 -1
  67. package/src/node/{_tasks/dts/_DtsError.ts → tasks/dts/DtsError.ts} +1 -1
  68. package/src/node/{_tasks/dts/_buildTypes.ts → tasks/dts/buildTypes.ts} +1 -1
  69. package/src/node/{_tasks/dts/_createApiExtractorConfig.ts → tasks/dts/createApiExtractorConfig.ts} +1 -1
  70. package/src/node/{_tasks/dts/_createTSDocConfig.ts → tasks/dts/createTSDocConfig.ts} +1 -1
  71. package/src/node/{_tasks/dts/_doExtract.ts → tasks/dts/doExtract.ts} +12 -12
  72. package/src/node/{_tasks/dts/_dtsTask.ts → tasks/dts/dtsTask.ts} +10 -10
  73. package/src/node/{_tasks/dts/_dtsWatchTask.ts → tasks/dts/dtsWatchTask.ts} +10 -10
  74. package/src/node/{_tasks/dts/_extractModuleBlocks.ts → tasks/dts/extractModuleBlocks.ts} +3 -3
  75. package/src/node/{_tasks/dts/_extractTypes.ts → tasks/dts/extractTypes.ts} +11 -11
  76. package/src/node/{_tasks/dts/_getExtractMessagesConfig.ts → tasks/dts/getExtractMessagesConfig.ts} +12 -12
  77. package/src/node/tasks/dts/index.ts +4 -0
  78. package/src/node/{_tasks/dts/_types.ts → tasks/dts/types.ts} +3 -3
  79. package/src/node/tasks/index.ts +19 -0
  80. package/src/node/tasks/rollup/index.ts +2 -0
  81. package/src/node/{_tasks/rollup/_resolveRollupConfig.ts → tasks/rollup/resolveRollupConfig.ts} +16 -11
  82. package/src/node/{_tasks/rollup/_rollupTask.ts → tasks/rollup/rollupTask.ts} +7 -7
  83. package/src/node/{_tasks/rollup/_rollupWatchTask.ts → tasks/rollup/rollupWatchTask.ts} +4 -4
  84. package/src/node/tasks/types.ts +57 -0
  85. package/src/node/watch.ts +13 -13
  86. package/src/node/{_watchConfigFiles.ts → watchConfigFiles.ts} +5 -5
  87. package/src/node/{_watchFiles.ts → watchFiles.ts} +5 -5
  88. package/dist/_chunks/_handleError-869dec25.js.map +0 -1
  89. package/dist/_chunks/_resolveBuildContext-7ca7e64e.js.map +0 -1
  90. package/dist/_chunks/build-f39a3550.js.map +0 -1
  91. package/dist/_chunks/buildAction-8f449d1d.js.map +0 -1
  92. package/dist/_chunks/check-87cbb6cc.js.map +0 -1
  93. package/dist/_chunks/checkAction-e7e455d4.js.map +0 -1
  94. package/dist/_chunks/index-7a851efa.js.map +0 -1
  95. package/dist/_chunks/watch-f6cf9246.js.map +0 -1
  96. package/dist/_chunks/watchAction-4cf253a0.js.map +0 -1
  97. package/src/node/_core/_defaults.ts +0 -9
  98. package/src/node/_core/_findCommonPath.test.ts +0 -9
  99. package/src/node/_core/config/index.ts +0 -4
  100. package/src/node/_core/pkg/index.ts +0 -4
  101. package/src/node/_core/ts/index.ts +0 -1
  102. package/src/node/_globFiles.ts +0 -5
  103. package/src/node/_tasks/_types.ts +0 -57
  104. package/src/node/_tasks/dts/index.ts +0 -4
  105. package/src/node/_tasks/index.ts +0 -19
  106. package/src/node/_tasks/rollup/index.ts +0 -2
@@ -27,7 +27,7 @@ var findConfig__default = /*#__PURE__*/_interopDefaultLegacy(findConfig);
27
27
  var chalk__default = /*#__PURE__*/_interopDefaultLegacy(chalk);
28
28
  var ts__default = /*#__PURE__*/_interopDefaultLegacy(ts);
29
29
  var browserslist__default = /*#__PURE__*/_interopDefaultLegacy(browserslist);
30
- const _MODULE_EXT = {
30
+ const MODULE_EXT = {
31
31
  commonjs: {
32
32
  commonjs: ".js",
33
33
  esm: ".esm.js"
@@ -37,14 +37,12 @@ const _MODULE_EXT = {
37
37
  esm: ".js"
38
38
  }
39
39
  };
40
- const _DEFAULTS = {
41
- browserslist: ["> 0.2% and supports es6-module and supports es6-module-dynamic-import", "not dead", "not IE 11", "maintained node versions"]
42
- };
43
- function _isRecord(value) {
40
+ const DEFAULT_BROWSERSLIST_QUERY = ["> 0.2% and supports es6-module and supports es6-module-dynamic-import", "not dead", "not IE 11", "maintained node versions"];
41
+ function isRecord(value) {
44
42
  return Boolean(value) && !Array.isArray(value) && typeof value === "object";
45
43
  }
46
44
  const CONFIG_FILE_NAMES = ["package.config.ts", "package.config.js", "package.config.cjs", "package.config.mjs"];
47
- async function _findConfigFile(cwd) {
45
+ async function findConfigFile(cwd) {
48
46
  const pkgJsonPath = findConfig__default["default"]("package.json", {
49
47
  cwd
50
48
  });
@@ -52,14 +50,14 @@ async function _findConfigFile(cwd) {
52
50
  const pkgPath = path__default["default"].dirname(pkgJsonPath);
53
51
  for (const fileName of CONFIG_FILE_NAMES) {
54
52
  const configPath = path__default["default"].resolve(pkgPath, fileName);
55
- const exists = await _fileExists(configPath);
53
+ const exists = await fileExists(configPath);
56
54
  if (exists) {
57
55
  return configPath;
58
56
  }
59
57
  }
60
58
  return void 0;
61
59
  }
62
- async function _fileExists(filePath) {
60
+ async function fileExists(filePath) {
63
61
  try {
64
62
  await fs.stat(filePath);
65
63
  return true;
@@ -67,7 +65,7 @@ async function _fileExists(filePath) {
67
65
  return false;
68
66
  }
69
67
  }
70
- async function _loadConfig(options) {
68
+ async function loadConfig(options) {
71
69
  const {
72
70
  cwd
73
71
  } = options;
@@ -76,7 +74,7 @@ async function _loadConfig(options) {
76
74
  });
77
75
  if (!pkgPath) return void 0;
78
76
  const root = path__default["default"].dirname(pkgPath);
79
- const configFile = await _findConfigFile(root);
77
+ const configFile = await findConfigFile(root);
80
78
  if (!configFile) {
81
79
  return void 0;
82
80
  }
@@ -96,7 +94,7 @@ async function _loadConfig(options) {
96
94
  return void 0;
97
95
  }
98
96
  }
99
- function _resolveConfigProperty(prop, initialValue) {
97
+ function resolveConfigProperty(prop, initialValue) {
100
98
  if (!prop) return initialValue;
101
99
  if (typeof prop === "function") {
102
100
  return prop(initialValue);
@@ -136,13 +134,13 @@ const pkgSchema = zod.z.object({
136
134
  })]))),
137
135
  browserslist: zod.z.optional(zod.z.array(zod.z.string()))
138
136
  });
139
- function _validatePkg(input) {
137
+ function validatePkg(input) {
140
138
  const pkg = pkgSchema.parse(input);
141
139
  return _objectSpread(_objectSpread({}, pkg), {}, {
142
140
  type: pkg.type || "commonjs"
143
141
  });
144
142
  }
145
- async function _loadPkg(options) {
143
+ async function loadPkg(options) {
146
144
  const {
147
145
  cwd
148
146
  } = options;
@@ -151,16 +149,16 @@ async function _loadPkg(options) {
151
149
  });
152
150
  if (!pkgPath) throw new Error("no package.json found");
153
151
  const buf = await fs__default["default"].readFile(pkgPath);
154
- return _validatePkg(JSON.parse(buf.toString()));
152
+ return validatePkg(JSON.parse(buf.toString()));
155
153
  }
156
- async function _loadPkgWithReporting(options) {
154
+ async function loadPkgWithReporting(options) {
157
155
  try {
158
- return await _loadPkg(options);
156
+ return await loadPkg(options);
159
157
  } catch (err) {
160
158
  if (err instanceof zod.ZodError) {
161
159
  for (const issue of err.issues) {
162
160
  if (issue.code === "invalid_type") {
163
- 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(""));
161
+ 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(""));
164
162
  }
165
163
  }
166
164
  } else {
@@ -169,7 +167,7 @@ async function _loadPkgWithReporting(options) {
169
167
  process.exit(1);
170
168
  }
171
169
  }
172
- function _formatPath(segments) {
170
+ function formatPath(segments) {
173
171
  return segments.map((s, idx) => {
174
172
  if (idx === 0) return s;
175
173
  if (typeof s === "number") {
@@ -181,11 +179,11 @@ function _formatPath(segments) {
181
179
  return ".".concat(s);
182
180
  }).join("");
183
181
  }
184
- function _validateExports(_exports, options) {
182
+ function validateExports(_exports, options) {
185
183
  const {
186
184
  pkg
187
185
  } = options;
188
- const ext = _MODULE_EXT[pkg.type];
186
+ const ext = MODULE_EXT[pkg.type];
189
187
  const errors = [];
190
188
  for (const exp of _exports) {
191
189
  if (exp.require && !exp.require.endsWith(ext.commonjs)) {
@@ -197,7 +195,7 @@ function _validateExports(_exports, options) {
197
195
  }
198
196
  return errors;
199
197
  }
200
- function _parseExports(options) {
198
+ function parseExports(options) {
201
199
  const {
202
200
  pkg,
203
201
  strict
@@ -229,7 +227,7 @@ function _parseExports(options) {
229
227
  errors.push('package.json: `exports["./package.json"] must be "./package.json".');
230
228
  }
231
229
  }
232
- } else if (_isRecord(exportEntry)) {
230
+ } else if (isRecord(exportEntry)) {
233
231
  if (exportPath === ".") {
234
232
  if (exportEntry.require && rootExport.require && exportEntry.require !== rootExport.require) {
235
233
  errors.push('package.json: mismatch between "main" and "exports.require". These must be equal.');
@@ -257,7 +255,7 @@ function _parseExports(options) {
257
255
  }
258
256
  }
259
257
  const _exports = [rootExport, ...extraExports];
260
- errors.push(..._validateExports(_exports, {
258
+ errors.push(...validateExports(_exports, {
261
259
  pkg
262
260
  }));
263
261
  if (errors.length) {
@@ -265,7 +263,7 @@ function _parseExports(options) {
265
263
  }
266
264
  return _exports;
267
265
  }
268
- async function _loadTSConfig(options) {
266
+ async function loadTSConfig(options) {
269
267
  const {
270
268
  cwd,
271
269
  tsconfigPath
@@ -277,10 +275,10 @@ async function _loadTSConfig(options) {
277
275
  const configFile = ts__default["default"].readConfigFile(configPath, ts__default["default"].sys.readFile);
278
276
  return ts__default["default"].parseJsonConfigFileContent(configFile.config, ts__default["default"].sys, cwd);
279
277
  }
280
- function _pathContains(containerPath, itemPath) {
278
+ function pathContains(containerPath, itemPath) {
281
279
  return !path__default["default"].relative(containerPath, itemPath).startsWith("..");
282
280
  }
283
- function _findCommonDirPath(filePaths) {
281
+ function findCommonDirPath(filePaths) {
284
282
  let ret = void 0;
285
283
  for (const filePath of filePaths) {
286
284
  let dirPath = path__default["default"].dirname(filePath);
@@ -293,7 +291,7 @@ function _findCommonDirPath(filePaths) {
293
291
  if (dirPath === ret) {
294
292
  break;
295
293
  }
296
- if (_pathContains(dirPath, ret)) {
294
+ if (pathContains(dirPath, ret)) {
297
295
  ret = dirPath;
298
296
  break;
299
297
  }
@@ -302,12 +300,12 @@ function _findCommonDirPath(filePaths) {
302
300
  }
303
301
  return ret;
304
302
  }
305
- function _sortAsNumber(a, b) {
303
+ function sortAsNumber(a, b) {
306
304
  const aVersion = Number(a);
307
305
  const bVersion = Number(b);
308
306
  return aVersion - bVersion;
309
307
  }
310
- function _resolveBrowserslistVersions(query) {
308
+ function resolveBrowserslistVersions(query) {
311
309
  const result = browserslist__default["default"](query);
312
310
  const entries = result.map(key => {
313
311
  const [name, version] = key.split(" ");
@@ -334,16 +332,16 @@ function _resolveBrowserslistVersions(query) {
334
332
  opera: opera.map(b => b.version),
335
333
  node: node.map(b => b.version)
336
334
  };
337
- versions.chrome.sort(_sortAsNumber);
338
- versions.ff.sort(_sortAsNumber);
339
- versions.edge.sort(_sortAsNumber);
340
- versions.iosSaf.sort(_sortAsNumber);
341
- versions.saf.sort(_sortAsNumber);
342
- versions.opera.sort(_sortAsNumber);
343
- versions.node.sort(_sortAsNumber);
335
+ versions.chrome.sort(sortAsNumber);
336
+ versions.ff.sort(sortAsNumber);
337
+ versions.edge.sort(sortAsNumber);
338
+ versions.iosSaf.sort(sortAsNumber);
339
+ versions.saf.sort(sortAsNumber);
340
+ versions.opera.sort(sortAsNumber);
341
+ versions.node.sort(sortAsNumber);
344
342
  return versions;
345
343
  }
346
- function _resolveBrowserTarget(versions) {
344
+ function resolveBrowserTarget(versions) {
347
345
  const target = [];
348
346
  if (versions.chrome.length) {
349
347
  target.push("chrome".concat(versions.chrome[0]));
@@ -368,7 +366,7 @@ function _resolveBrowserTarget(versions) {
368
366
  }
369
367
  return target;
370
368
  }
371
- function _resolveNodeTarget(versions) {
369
+ function resolveNodeTarget(versions) {
372
370
  const target = [];
373
371
  if (versions.node.length) {
374
372
  target.push("node".concat(versions.node[0]));
@@ -378,7 +376,7 @@ function _resolveNodeTarget(versions) {
378
376
  }
379
377
  return target;
380
378
  }
381
- function _createLogger() {
379
+ function createLogger() {
382
380
  return {
383
381
  log: function () {
384
382
  console.log(...arguments);
@@ -409,7 +407,7 @@ function _createLogger() {
409
407
  }
410
408
  };
411
409
  }
412
- async function _resolveBuildContext(options) {
410
+ async function resolveBuildContext(options) {
413
411
  var _ref;
414
412
  const {
415
413
  config,
@@ -419,14 +417,14 @@ async function _resolveBuildContext(options) {
419
417
  strict,
420
418
  tsconfig: tsconfigPath
421
419
  } = options;
422
- const logger = _createLogger();
423
- const tsconfig = await _loadTSConfig({
420
+ const logger = createLogger();
421
+ const tsconfig = await loadTSConfig({
424
422
  cwd,
425
423
  tsconfigPath
426
424
  });
427
- const targetVersions = _resolveBrowserslistVersions(pkg.browserslist || _DEFAULTS.browserslist);
428
- const nodeTarget = _resolveNodeTarget(targetVersions);
429
- const webTarget = _resolveBrowserTarget(targetVersions);
425
+ const targetVersions = resolveBrowserslistVersions(pkg.browserslist || DEFAULT_BROWSERSLIST_QUERY);
426
+ const nodeTarget = resolveNodeTarget(targetVersions);
427
+ const webTarget = resolveBrowserTarget(targetVersions);
430
428
  if (!nodeTarget) {
431
429
  throw new Error("no matching `node` target");
432
430
  }
@@ -438,7 +436,7 @@ async function _resolveBuildContext(options) {
438
436
  browser: webTarget,
439
437
  node: nodeTarget
440
438
  };
441
- const parsedExports = _parseExports({
439
+ const parsedExports = parseExports({
442
440
  pkg,
443
441
  strict
444
442
  }).reduce((acc, x) => {
@@ -450,22 +448,22 @@ async function _resolveBuildContext(options) {
450
448
  [exportPath]: exportEntry
451
449
  });
452
450
  }, {});
453
- const exports = _resolveConfigProperty(config == null ? void 0 : config.exports, parsedExports);
451
+ const exports = resolveConfigProperty(config == null ? void 0 : config.exports, parsedExports);
454
452
  const parsedExternal = [...(pkg.dependencies ? Object.keys(pkg.dependencies) : []), ...(pkg.peerDependencies ? Object.keys(pkg.peerDependencies) : [])];
455
- const external = config && Array.isArray(config.external) ? [...parsedExternal, ...config.external] : _resolveConfigProperty(config == null ? void 0 : config.external, parsedExternal);
453
+ const external = config && Array.isArray(config.external) ? [...parsedExternal, ...config.external] : resolveConfigProperty(config == null ? void 0 : config.external, parsedExternal);
456
454
  const outputPaths = Object.values(exports).flatMap(exportEntry => {
457
455
  var _a, _b, _c, _d;
458
456
  return [exportEntry.import, exportEntry.require, (_a = exportEntry.browser) == null ? void 0 : _a.import, (_b = exportEntry.browser) == null ? void 0 : _b.require, (_c = exportEntry.node) == null ? void 0 : _c.import, (_d = exportEntry.node) == null ? void 0 : _d.require].filter(Boolean);
459
457
  }).map(p => path__default["default"].resolve(cwd, p));
460
- const commonDistPath = _findCommonDirPath(outputPaths);
458
+ const commonDistPath = findCommonDirPath(outputPaths);
461
459
  if (commonDistPath === cwd) {
462
460
  throw new Error("all output files must share a common parent directory which is not the root package directory");
463
461
  }
464
- if (commonDistPath && !_pathContains(cwd, commonDistPath)) {
462
+ if (commonDistPath && !pathContains(cwd, commonDistPath)) {
465
463
  throw new Error("all output files must be located within the package");
466
464
  }
467
465
  const configDistPath = (config == null ? void 0 : config.dist) ? path__default["default"].resolve(cwd, config.dist) : void 0;
468
- if (configDistPath && commonDistPath && configDistPath !== commonDistPath && !_pathContains(configDistPath, commonDistPath)) {
466
+ if (configDistPath && commonDistPath && configDistPath !== commonDistPath && !pathContains(configDistPath, commonDistPath)) {
469
467
  logger.log("did you mean to configure `dist: './".concat(path__default["default"].relative(cwd, commonDistPath), "'`?"));
470
468
  throw new Error("all output files must be located with the configured `dist` path");
471
469
  }
@@ -493,14 +491,14 @@ async function _resolveBuildContext(options) {
493
491
  };
494
492
  return ctx;
495
493
  }
496
- exports._DEFAULTS = _DEFAULTS;
497
- exports._MODULE_EXT = _MODULE_EXT;
498
- exports._isRecord = _isRecord;
499
- exports._loadConfig = _loadConfig;
500
- exports._loadPkg = _loadPkg;
501
- exports._loadPkgWithReporting = _loadPkgWithReporting;
502
- exports._loadTSConfig = _loadTSConfig;
503
- exports._parseExports = _parseExports;
504
- exports._resolveBuildContext = _resolveBuildContext;
505
- exports._resolveConfigProperty = _resolveConfigProperty;
506
- //# sourceMappingURL=_resolveBuildContext-7ca7e64e.js.map
494
+ exports.DEFAULT_BROWSERSLIST_QUERY = DEFAULT_BROWSERSLIST_QUERY;
495
+ exports.MODULE_EXT = MODULE_EXT;
496
+ exports.isRecord = isRecord;
497
+ exports.loadConfig = loadConfig;
498
+ exports.loadPkg = loadPkg;
499
+ exports.loadPkgWithReporting = loadPkgWithReporting;
500
+ exports.loadTSConfig = loadTSConfig;
501
+ exports.parseExports = parseExports;
502
+ exports.resolveBuildContext = resolveBuildContext;
503
+ exports.resolveConfigProperty = resolveConfigProperty;
504
+ //# sourceMappingURL=resolveBuildContext-f2feec19.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveBuildContext-f2feec19.js","sources":["../../src/node/core/constants.ts","../../src/node/core/defaults.ts","../../src/node/core/isRecord.ts","../../src/node/core/config/findConfigFile.ts","../../src/node/core/config/loadConfig.ts","../../src/node/core/config/resolveConfigProperty.ts","../../src/node/core/pkg/validatePkg.ts","../../src/node/core/pkg/loadPkg.ts","../../src/node/core/pkg/loadPkgWithReporting.ts","../../src/node/core/pkg/validateExports.ts","../../src/node/core/pkg/parseExports.ts","../../src/node/core/ts/loadTSConfig.ts","../../src/node/core/findCommonPath.ts","../../src/node/resolveBrowserslistVersions.ts","../../src/node/resolveBrowserTarget.ts","../../src/node/resolveNodeTarget.ts","../../src/node/resolveBuildContext.ts"],"sourcesContent":["/** @internal */\nexport const MODULE_EXT: Record<'commonjs' | 'module', {commonjs: string; esm: string}> = {\n // pkg.type: \"commonjs\"\n commonjs: {\n commonjs: '.js',\n // NOTE: using the `.mjs` extension causing issues in situations where\n // not every and all dependencies support ESM exports.\n // So for now, we require the ESM modules to have the `.esm.js` extension.\n esm: '.esm.js',\n },\n\n // pkg.type: \"module\"\n module: {\n commonjs: '.cjs',\n esm: '.js',\n },\n}\n","/** @public */\nexport const DEFAULT_BROWSERSLIST_QUERY = [\n '> 0.2% and supports es6-module and supports es6-module-dynamic-import',\n 'not dead',\n 'not IE 11',\n 'maintained node versions',\n]\n","/** @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.union([\n z.custom<`./${string}.json`>((val) => /^\\.\\/.*\\.json$/.test(val as string)),\n z.object({\n types: z.optional(z.string()),\n source: z.string(),\n browser: z.optional(\n z.object({\n source: z.string(),\n 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 ),\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 {PkgExport} from '../config'\nimport {MODULE_EXT} from '../constants'\nimport {PackageJSON} from './types'\n\nexport function validateExports(\n _exports: (PkgExport & {_path: string})[],\n options: {pkg: PackageJSON}\n): string[] {\n const {pkg} = options\n const ext = MODULE_EXT[pkg.type]\n\n const errors: string[] = []\n\n for (const exp of _exports) {\n if (exp.require && !exp.require.endsWith(ext.commonjs)) {\n errors.push(\n `package.json with \\`type: \"${pkg.type}\"\\` - \\`exports[\"${exp._path}\"].require\\` must end with \"${ext.commonjs}\"`\n )\n }\n\n if (exp.import && !exp.import.endsWith(ext.esm)) {\n errors.push(\n `package.json with \\`type: \"${pkg.type}\"\\` - \\`exports[\"${exp._path}\"].import\\` must end with \"${ext.esm}\"`\n )\n }\n }\n\n return errors\n}\n","import {PkgExport} from '../config'\nimport {isRecord} from '../isRecord'\nimport {PackageJSON} from './types'\nimport {validateExports} from './validateExports'\n\n/** @internal */\nexport function parseExports(options: {\n pkg: PackageJSON\n strict: boolean\n}): (PkgExport & {_path: string})[] {\n const {pkg, strict} = options\n\n const rootExport: PkgExport & {_path: string} = {\n _exported: true,\n _path: '.',\n types: pkg.types,\n source: pkg.source || '',\n browser: pkg.browser && {\n source: pkg.source || '',\n require: pkg.main && pkg.browser[pkg.main],\n import: pkg.module && pkg.browser[pkg.module],\n },\n import: pkg.module,\n require: pkg.main,\n default: pkg.module || pkg.main || '',\n }\n\n const extraExports: (PkgExport & {_path: string})[] = []\n\n const errors: string[] = []\n\n if (pkg.exports) {\n if (strict && !pkg.exports['./package.json']) {\n errors.push('package.json: `exports[\"./package.json\"] must be declared.')\n }\n\n for (const [exportPath, exportEntry] of Object.entries(pkg.exports)) {\n if (exportPath.endsWith('.json')) {\n if (exportPath === './package.json') {\n if (exportEntry !== './package.json') {\n errors.push('package.json: `exports[\"./package.json\"] must be \"./package.json\".')\n }\n }\n } else if (isRecord(exportEntry)) {\n if (exportPath === '.') {\n if (\n exportEntry.require &&\n rootExport.require &&\n exportEntry.require !== rootExport.require\n ) {\n errors.push(\n 'package.json: mismatch between \"main\" and \"exports.require\". These must be equal.'\n )\n }\n\n if (exportEntry.import && rootExport.import && exportEntry.import !== rootExport.import) {\n errors.push(\n 'package.json: mismatch between \"module\" and \"exports.import\" These must be equal.'\n )\n }\n\n if (exportEntry.types && rootExport.types && exportEntry.types !== rootExport.types) {\n errors.push(\n 'package.json: mismatch between \"types\" and \"exports.types\". These must be equal.'\n )\n }\n\n if (exportEntry.source && rootExport.source && exportEntry.source !== rootExport.source) {\n errors.push(\n 'package.json: mismatch between \"source\" and \"exports.source\". These must be equal.'\n )\n }\n\n Object.assign(rootExport, exportEntry)\n } else {\n const extraExport: PkgExport & {_path: string} = {\n _exported: true,\n _path: exportPath,\n ...exportEntry,\n }\n\n extraExports.push(extraExport)\n }\n } else {\n errors.push('package.json: exports must be an object')\n }\n }\n }\n\n const _exports = [rootExport, ...extraExports]\n\n errors.push(...validateExports(_exports, {pkg}))\n\n if (errors.length) {\n throw new Error('\\n- ' + errors.join('\\n- '))\n }\n\n return _exports\n}\n","import ts from 'typescript'\n\n/** @internal */\nexport async function loadTSConfig(options: {\n cwd: string\n tsconfigPath: string\n}): Promise<ts.ParsedCommandLine> {\n const {cwd, tsconfigPath} = options\n\n const configPath = ts.findConfigFile(cwd, ts.sys.fileExists, tsconfigPath)\n\n if (!configPath) {\n throw new Error(`could not find a valid '${tsconfigPath}'`)\n }\n\n const configFile = ts.readConfigFile(configPath, ts.sys.readFile)\n\n return ts.parseJsonConfigFileContent(configFile.config, ts.sys, cwd)\n}\n","import path from 'path'\n\nexport function pathContains(containerPath: string, itemPath: string): boolean {\n return !path.relative(containerPath, itemPath).startsWith('..')\n}\n\nexport function findCommonDirPath(filePaths: string[]): string | undefined {\n let ret: string | undefined = undefined\n\n for (const filePath of filePaths) {\n let dirPath = path.dirname(filePath)\n\n if (!ret) {\n ret = dirPath\n continue\n }\n\n while (dirPath !== ret) {\n dirPath = path.dirname(dirPath)\n\n if (dirPath === ret) {\n break\n }\n\n if (pathContains(dirPath, ret)) {\n ret = dirPath\n break\n }\n\n if (dirPath === '.') return undefined\n }\n }\n\n return ret\n}\n","import browserslist from 'browserslist'\n\nexport interface PackageTargetVersions {\n chrome: string[]\n ff: string[]\n edge: string[]\n iosSaf: string[]\n saf: string[]\n opera: string[]\n node: string[]\n}\n\nfunction sortAsNumber(a: string, b: string) {\n const aVersion = Number(a)\n const bVersion = Number(b)\n\n return aVersion - bVersion\n}\n\nexport function resolveBrowserslistVersions(query: string[]): PackageTargetVersions {\n const result = browserslist(query)\n\n const entries = result.map((key) => {\n const [name, version] = key.split(' ')\n\n return {name, version: version.split('-')[0].split('.')[0]}\n })\n\n const andChr = entries.filter((b) => b.name === 'and_chr')\n const andFf = entries.filter((b) => b.name === 'and_ff')\n const chrome = entries.filter((b) => b.name === 'chrome')\n const edge = entries.filter((b) => b.name === 'edge')\n const ff = entries.filter((b) => b.name === 'firefox')\n const iosSaf = entries.filter((b) => b.name === 'ios_saf')\n const saf = entries.filter((b) => b.name === 'safari')\n const opera = entries.filter((b) => b.name === 'opera')\n const node = entries.filter((b) => b.name === 'node')\n\n // versions\n const versions: PackageTargetVersions = {\n chrome: andChr.concat(chrome).map((b) => b.version),\n ff: andFf.concat(ff).map((b) => b.version),\n edge: edge.map((b) => b.version),\n iosSaf: iosSaf.map((b) => b.version),\n saf: saf.map((b) => b.version),\n opera: opera.map((b) => b.version),\n node: node.map((b) => b.version),\n }\n\n // sort\n versions.chrome.sort(sortAsNumber)\n versions.ff.sort(sortAsNumber)\n versions.edge.sort(sortAsNumber)\n versions.iosSaf.sort(sortAsNumber)\n versions.saf.sort(sortAsNumber)\n versions.opera.sort(sortAsNumber)\n versions.node.sort(sortAsNumber)\n\n return versions\n}\n","import {PackageTargetVersions} from './resolveBrowserslistVersions'\n\nexport function resolveBrowserTarget(versions: PackageTargetVersions): string[] | undefined {\n const target: string[] = []\n\n if (versions.chrome.length) {\n target.push(`chrome${versions.chrome[0]}`)\n }\n\n if (versions.ff.length) {\n target.push(`firefox${versions.ff[0]}`)\n }\n\n if (versions.edge.length) {\n target.push(`edge${versions.edge[0]}`)\n }\n\n if (versions.iosSaf.length) {\n target.push(`ios${versions.iosSaf[0]}`)\n }\n\n if (versions.saf.length) {\n target.push(`safari${versions.saf[0]}`)\n }\n\n if (versions.opera.length) {\n target.push(`opera${versions.opera[0]}`)\n }\n\n if (target.length === 0) {\n return undefined\n }\n\n return target\n}\n","import {PackageTargetVersions} from './resolveBrowserslistVersions'\n\nexport function resolveNodeTarget(versions: PackageTargetVersions): string[] | undefined {\n const target: string[] = []\n\n if (versions.node.length) {\n target.push(`node${versions.node[0]}`)\n }\n\n if (target.length === 0) {\n return undefined\n }\n\n return target\n}\n","import path from 'path'\nimport chalk from 'chalk'\nimport {\n PkgConfigOptions,\n PkgExports,\n PkgRuntime,\n BuildContext,\n DEFAULT_BROWSERSLIST_QUERY,\n loadTSConfig,\n PackageJSON,\n parseExports,\n resolveConfigProperty,\n} from './core'\nimport {findCommonDirPath, pathContains} from './core/findCommonPath'\nimport {resolveBrowserslistVersions} from './resolveBrowserslistVersions'\nimport {resolveBrowserTarget} from './resolveBrowserTarget'\nimport {resolveNodeTarget} from './resolveNodeTarget'\n\nfunction createLogger(): BuildContext['logger'] {\n return {\n /* eslint-disable no-console */\n log: (...args) => {\n console.log(...args)\n },\n info: (...args) => {\n console.log(chalk.blue(' info'), ...args)\n },\n warn: (...args) => {\n console.log(chalk.yellow(' warn'), ...args)\n },\n error: (...args) => {\n console.log(chalk.red(' fail'), ...args)\n },\n success: (...args) => {\n console.log(chalk.green(' ok '), ...args)\n },\n /* eslint-enable no-console */\n }\n}\n\nexport async function resolveBuildContext(options: {\n config?: PkgConfigOptions\n cwd: string\n emitDeclarationOnly?: boolean\n pkg: PackageJSON\n strict: boolean\n tsconfig: string\n}): Promise<BuildContext> {\n const {config, cwd, emitDeclarationOnly = false, pkg, strict, tsconfig: tsconfigPath} = options\n const logger = createLogger()\n const tsconfig = await loadTSConfig({cwd, tsconfigPath})\n const targetVersions = resolveBrowserslistVersions(pkg.browserslist || DEFAULT_BROWSERSLIST_QUERY)\n const nodeTarget = resolveNodeTarget(targetVersions)\n const webTarget = resolveBrowserTarget(targetVersions)\n\n if (!nodeTarget) {\n throw new Error('no matching `node` target')\n }\n\n if (!webTarget) {\n throw new Error('no matching `web` target')\n }\n\n const target: Record<PkgRuntime, string[]> = {\n '*': webTarget.concat(nodeTarget),\n browser: webTarget,\n node: nodeTarget,\n }\n\n const parsedExports = parseExports({pkg, strict}).reduce<PkgExports>((acc, x) => {\n const {_path: exportPath, ...exportEntry} = x\n\n return {...acc, [exportPath]: exportEntry}\n }, {})\n\n const exports = resolveConfigProperty(config?.exports, parsedExports)\n\n const parsedExternal = [\n ...(pkg.dependencies ? Object.keys(pkg.dependencies) : []),\n ...(pkg.peerDependencies ? Object.keys(pkg.peerDependencies) : []),\n ]\n\n // Merge externals if an array is provided, replace if it's a function\n const external =\n config && Array.isArray(config.external)\n ? [...parsedExternal, ...config.external]\n : resolveConfigProperty(config?.external, parsedExternal)\n\n const outputPaths = Object.values(exports)\n .flatMap((exportEntry) => {\n return [\n exportEntry.import,\n exportEntry.require,\n exportEntry.browser?.import,\n exportEntry.browser?.require,\n exportEntry.node?.import,\n exportEntry.node?.require,\n ].filter(Boolean) as string[]\n })\n .map((p) => path.resolve(cwd, p))\n\n const commonDistPath = findCommonDirPath(outputPaths)\n\n if (commonDistPath === cwd) {\n throw new Error(\n 'all output files must share a common parent directory which is not the root package directory'\n )\n }\n\n if (commonDistPath && !pathContains(cwd, commonDistPath)) {\n throw new Error('all output files must be located within the package')\n }\n\n const configDistPath = config?.dist ? path.resolve(cwd, config.dist) : undefined\n\n if (\n configDistPath &&\n commonDistPath &&\n configDistPath !== commonDistPath &&\n !pathContains(configDistPath, commonDistPath)\n ) {\n logger.log(`did you mean to configure \\`dist: './${path.relative(cwd, commonDistPath)}'\\`?`)\n\n throw new Error('all output files must be located with the configured `dist` path')\n }\n\n const distPath = configDistPath || commonDistPath\n\n if (!distPath) {\n throw new Error('could not detect `dist` path')\n }\n\n const ctx: BuildContext = {\n config,\n cwd,\n distPath,\n emitDeclarationOnly,\n exports,\n external,\n files: [],\n logger,\n pkg,\n runtime: config?.runtime ?? '*',\n strict,\n target,\n ts: {\n config: tsconfig,\n configPath: tsconfigPath,\n },\n }\n\n return ctx\n}\n"],"names":["MODULE_EXT","commonjs","esm","module","DEFAULT_BROWSERSLIST_QUERY","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","union","custom","val","test","import","node","browserslist","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","errors","exp","endsWith","push","_path","parseExports","strict","rootExport","_exported","extraExports","exportPath","exportEntry","Object","entries","assign","extraExport","length","loadTSConfig","tsconfigPath","ts","sys","readConfigFile","parseJsonConfigFileContent","config","pathContains","containerPath","itemPath","relative","findCommonDirPath","filePaths","ret","dirPath","sortAsNumber","a","b","aVersion","Number","bVersion","resolveBrowserslistVersions","query","result","key","split","andChr","filter","andFf","chrome","edge","ff","iosSaf","saf","opera","versions","concat","sort","resolveBrowserTarget","target","resolveNodeTarget","createLogger","info","args","blue","warn","yellow","success","green","resolveBuildContext","emitDeclarationOnly","tsconfig","logger","targetVersions","nodeTarget","webTarget","parsedExports","reduce","acc","x","parsedExternal","keys","external","outputPaths","values","flatMap","_a","_b","_c","_d","p","commonDistPath","configDistPath","dist","distPath","ctx","files","runtime"],"mappings":"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"}
@@ -5,12 +5,12 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
5
5
  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; }
6
6
  var path = require('path');
7
7
  var rxjs = require('rxjs');
8
- var _resolveBuildContext = require('./_resolveBuildContext-7ca7e64e.js');
8
+ var resolveBuildContext = require('./resolveBuildContext-f2feec19.js');
9
9
  require('fs/promises');
10
10
  require('pkg-up');
11
11
  require('typescript');
12
12
  var fs = require('fs');
13
- var index = require('./index-7a851efa.js');
13
+ var index = require('./index-79fdb33f.js');
14
14
  var chalk = require('chalk');
15
15
  var operators = require('rxjs/operators');
16
16
  var globby = require('globby');
@@ -25,7 +25,7 @@ var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
25
25
  var chalk__default = /*#__PURE__*/_interopDefaultLegacy(chalk);
26
26
  var globby__default = /*#__PURE__*/_interopDefaultLegacy(globby);
27
27
  var chokidar__default = /*#__PURE__*/_interopDefaultLegacy(chokidar);
28
- function _resolveWatchTasks(ctx) {
28
+ function resolveWatchTasks(ctx) {
29
29
  var _a, _b, _c, _d, _e;
30
30
  const {
31
31
  config,
@@ -45,7 +45,7 @@ function _resolveWatchTasks(ctx) {
45
45
  entries: []
46
46
  };
47
47
  const rollupTasks = {};
48
- function _addRollupTaskEntry(format, runtime, entry) {
48
+ function addRollupTaskEntry(format, runtime, entry) {
49
49
  const buildId = "".concat(format, ":").concat(runtime);
50
50
  if (rollupTasks[buildId]) {
51
51
  rollupTasks[buildId].entries.push(entry);
@@ -74,7 +74,7 @@ function _resolveWatchTasks(ctx) {
74
74
  for (const exp of exports) {
75
75
  const output = exp.require;
76
76
  if (!output) continue;
77
- _addRollupTaskEntry("commonjs", ctx.runtime, {
77
+ addRollupTaskEntry("commonjs", ctx.runtime, {
78
78
  path: exp._path,
79
79
  source: exp.source,
80
80
  output
@@ -83,7 +83,7 @@ function _resolveWatchTasks(ctx) {
83
83
  for (const exp of exports) {
84
84
  const output = (_a = exp.browser) == null ? void 0 : _a.require;
85
85
  if (!output) continue;
86
- _addRollupTaskEntry("commonjs", "browser", {
86
+ addRollupTaskEntry("commonjs", "browser", {
87
87
  path: exp._path,
88
88
  source: ((_b = exp.browser) == null ? void 0 : _b.source) || exp.source,
89
89
  output
@@ -92,7 +92,7 @@ function _resolveWatchTasks(ctx) {
92
92
  for (const exp of exports) {
93
93
  const output = exp.import;
94
94
  if (!output) continue;
95
- _addRollupTaskEntry("esm", ctx.runtime, {
95
+ addRollupTaskEntry("esm", ctx.runtime, {
96
96
  path: exp._path,
97
97
  source: exp.source,
98
98
  output
@@ -101,7 +101,7 @@ function _resolveWatchTasks(ctx) {
101
101
  for (const exp of exports) {
102
102
  const output = (_c = exp.browser) == null ? void 0 : _c.import;
103
103
  if (!output) continue;
104
- _addRollupTaskEntry("esm", "browser", {
104
+ addRollupTaskEntry("esm", "browser", {
105
105
  path: exp._path,
106
106
  source: ((_d = exp.browser) == null ? void 0 : _d.source) || exp.source,
107
107
  output
@@ -123,33 +123,33 @@ function _resolveWatchTasks(ctx) {
123
123
  }
124
124
  return tasks;
125
125
  }
126
- function _globFiles(patterns) {
126
+ function globFiles(patterns) {
127
127
  return globby__default["default"](patterns);
128
128
  }
129
- function _watchFiles(patterns) {
129
+ function watchFiles(patterns) {
130
130
  return new rxjs.Observable(observer => {
131
131
  const watcher = chokidar__default["default"].watch(patterns, {
132
132
  ignoreInitial: true
133
133
  });
134
- function _handleFileEvent(type, file) {
134
+ function handleFileEvent(type, file) {
135
135
  observer.next({
136
136
  type,
137
137
  file
138
138
  });
139
139
  }
140
- watcher.on("all", _handleFileEvent);
140
+ watcher.on("all", handleFileEvent);
141
141
  return () => {
142
- watcher.off("all", _handleFileEvent);
142
+ watcher.off("all", handleFileEvent);
143
143
  watcher.close();
144
144
  };
145
145
  });
146
146
  }
147
- async function _watchConfigFiles(options) {
147
+ async function watchConfigFiles(options) {
148
148
  const {
149
149
  cwd
150
150
  } = options;
151
- const initialFiles = await _globFiles([path__default["default"].resolve(cwd, "package.json"), path__default["default"].resolve(cwd, "package.config.cjs"), path__default["default"].resolve(cwd, "package.config.js"), path__default["default"].resolve(cwd, "package.config.ts")]);
152
- const fileEvent$ = _watchFiles([path__default["default"].resolve(cwd, "package.json"), path__default["default"].resolve(cwd, "package.config.cjs"), path__default["default"].resolve(cwd, "package.config.js"), path__default["default"].resolve(cwd, "package.config.ts")]);
151
+ const initialFiles = await globFiles([path__default["default"].resolve(cwd, "package.json"), path__default["default"].resolve(cwd, "package.config.cjs"), path__default["default"].resolve(cwd, "package.config.js"), path__default["default"].resolve(cwd, "package.config.ts")]);
152
+ const fileEvent$ = watchFiles([path__default["default"].resolve(cwd, "package.json"), path__default["default"].resolve(cwd, "package.config.cjs"), path__default["default"].resolve(cwd, "package.config.js"), path__default["default"].resolve(cwd, "package.config.ts")]);
153
153
  return fileEvent$.pipe(operators.scan((files, fileEvent) => {
154
154
  if (fileEvent.type === "add") {
155
155
  return files.concat(fileEvent.file);
@@ -172,23 +172,23 @@ async function watch(options) {
172
172
  strict = false,
173
173
  tsconfig: tsconfigOption
174
174
  } = options;
175
- const configFiles$ = await _watchConfigFiles({
175
+ const configFiles$ = await watchConfigFiles({
176
176
  cwd
177
177
  });
178
178
  const ctx$ = configFiles$.pipe(rxjs.switchMap(async configFiles => {
179
- const _files = configFiles.map(f => path__default["default"].relative(cwd, f));
180
- const packageJsonPath = _files.find(f => f === "package.json");
179
+ const files = configFiles.map(f => path__default["default"].relative(cwd, f));
180
+ const packageJsonPath = files.find(f => f === "package.json");
181
181
  if (!packageJsonPath) {
182
182
  throw new Error("missing package.json");
183
183
  }
184
- const pkg = await _resolveBuildContext._loadPkgWithReporting({
184
+ const pkg = await resolveBuildContext.loadPkgWithReporting({
185
185
  cwd
186
186
  });
187
- const config = await _resolveBuildContext._loadConfig({
187
+ const config = await resolveBuildContext.loadConfig({
188
188
  cwd
189
189
  });
190
190
  const tsconfig = tsconfigOption || (config == null ? void 0 : config.tsconfig) || "tsconfig.json";
191
- return _resolveBuildContext._resolveBuildContext({
191
+ return resolveBuildContext.resolveBuildContext({
192
192
  config,
193
193
  cwd,
194
194
  pkg,
@@ -197,9 +197,9 @@ async function watch(options) {
197
197
  });
198
198
  }));
199
199
  ctx$.subscribe(async ctx => {
200
- const watchTasks = _resolveWatchTasks(ctx);
200
+ const watchTasks = resolveWatchTasks(ctx);
201
201
  for (const task of watchTasks) {
202
- const handler = index._watchTaskHandlers[task.type];
202
+ const handler = index.watchTaskHandlers[task.type];
203
203
  const result$ = handler.exec(ctx, task);
204
204
  result$.subscribe({
205
205
  error: err => {
@@ -219,4 +219,4 @@ async function watch(options) {
219
219
  });
220
220
  }
221
221
  exports.watch = watch;
222
- //# sourceMappingURL=watch-f6cf9246.js.map
222
+ //# sourceMappingURL=watch-02c85f8a.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch-02c85f8a.js","sources":["../../src/node/resolveWatchTasks.ts","../../src/node/globFiles.ts","../../src/node/watchFiles.ts","../../src/node/watchConfigFiles.ts","../../src/node/watch.ts"],"sourcesContent":["import fs from 'fs'\nimport path from 'path'\nimport {PkgExport, PkgFormat, PkgRuntime, BuildContext} from './core'\nimport {WatchTask, DtsWatchTask, RollupWatchTask, RollupTaskEntry} from './tasks'\n\n/** @internal */\nexport function resolveWatchTasks(ctx: BuildContext): WatchTask[] {\n const {config, cwd, pkg, target} = ctx\n const tasks: WatchTask[] = []\n\n const exports = Object.entries(ctx.exports || {}).map(\n ([_path, exp]) => ({_path, ...exp} as PkgExport & {_path: string})\n )\n\n const dtsTask: DtsWatchTask = {\n type: 'watch:dts',\n entries: [],\n }\n\n const rollupTasks: Record<string, RollupWatchTask> = {}\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: 'watch: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: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:* 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: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 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","import globby from 'globby'\n\nexport function globFiles(patterns: string[]): Promise<string[]> {\n return globby(patterns)\n}\n","import chokidar from 'chokidar'\nimport {Observable} from 'rxjs'\n\nexport interface FileEvent {\n type: 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir'\n file: string\n}\n\nexport function watchFiles(patterns: string[]): Observable<FileEvent> {\n return new Observable((observer) => {\n const watcher = chokidar.watch(patterns, {\n ignoreInitial: true,\n })\n\n function handleFileEvent(\n type: 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir',\n file: string\n ) {\n observer.next({type, file})\n }\n\n watcher.on('all', handleFileEvent)\n\n return () => {\n watcher.off('all', handleFileEvent)\n watcher.close()\n }\n })\n}\n","import path from 'path'\nimport chalk from 'chalk'\nimport {Observable} from 'rxjs'\nimport {distinctUntilChanged, scan, startWith} from 'rxjs/operators'\nimport {globFiles} from './globFiles'\nimport {watchFiles} from './watchFiles'\n\nexport async function watchConfigFiles(options: {cwd: string}): Promise<Observable<string[]>> {\n const {cwd} = options\n\n const initialFiles = await globFiles([\n path.resolve(cwd, 'package.json'),\n path.resolve(cwd, 'package.config.cjs'),\n path.resolve(cwd, 'package.config.js'),\n path.resolve(cwd, 'package.config.ts'),\n ])\n\n const fileEvent$ = watchFiles([\n path.resolve(cwd, 'package.json'),\n path.resolve(cwd, 'package.config.cjs'),\n path.resolve(cwd, 'package.config.js'),\n path.resolve(cwd, 'package.config.ts'),\n ])\n\n return fileEvent$.pipe(\n scan((files, fileEvent) => {\n if (fileEvent.type === 'add') {\n return files.concat(fileEvent.file)\n }\n\n if (fileEvent.type === 'unlink') {\n return files.filter((f) => f !== fileEvent.file)\n }\n\n if (fileEvent.type === 'change') {\n /* eslint-disable no-console */\n console.log(\n '--------------------------------------------------------------------------------'\n )\n console.log(chalk.blue('info '), path.relative(cwd, fileEvent.file), 'changed')\n console.log('')\n /* eslint-enable no-console */\n\n return files.slice(0) // trigger update\n }\n\n return files\n }, initialFiles),\n startWith(initialFiles),\n distinctUntilChanged()\n )\n}\n","import path from 'path'\nimport {switchMap} from 'rxjs'\nimport {loadConfig, loadPkgWithReporting} from './core'\nimport {resolveBuildContext} from './resolveBuildContext'\nimport {resolveWatchTasks} from './resolveWatchTasks'\nimport {WatchTask, TaskHandler, watchTaskHandlers} from './tasks'\nimport {watchConfigFiles} from './watchConfigFiles'\n\n/** @public */\nexport async function watch(options: {\n cwd: string\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n const {cwd, strict = false, tsconfig: tsconfigOption} = options\n\n const configFiles$ = await watchConfigFiles({cwd})\n\n const ctx$ = configFiles$.pipe(\n switchMap(async (configFiles) => {\n const files = configFiles.map((f) => path.relative(cwd, f))\n\n const packageJsonPath = files.find((f) => f === 'package.json')\n\n if (!packageJsonPath) {\n throw new Error('missing package.json')\n }\n\n const pkg = await loadPkgWithReporting({cwd})\n const config = await loadConfig({cwd})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n\n return resolveBuildContext({config, cwd, pkg, strict, tsconfig})\n })\n )\n\n ctx$.subscribe(async (ctx) => {\n const watchTasks = resolveWatchTasks(ctx)\n\n for (const task of watchTasks) {\n const handler = watchTaskHandlers[task.type] as TaskHandler<WatchTask, unknown>\n const result$ = handler.exec(ctx, task)\n\n result$.subscribe({\n error: (err) => {\n ctx.logger.error(err)\n ctx.logger.log()\n\n process.exit(1)\n },\n next: (result) => {\n handler.complete(ctx, task, result)\n },\n complete: () => {\n ctx.logger.success(handler.name(ctx, task))\n ctx.logger.log()\n },\n })\n }\n })\n}\n"],"names":["resolveWatchTasks","ctx","_a","_b","_c","_d","_e","config","cwd","pkg","target","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","browser","import","length","values","legacyExports","_exported","relativeTargetPath","replace","fs","writeFileSync","resolve","globFiles","patterns","globby","watchFiles","Observable","observer","watcher","chokidar","watch","ignoreInitial","handleFileEvent","file","next","on","off","close","watchConfigFiles","options","initialFiles","fileEvent$","pipe","scan","files","fileEvent","concat","filter","f","console","log","chalk","blue","relative","slice","startWith","distinctUntilChanged","strict","tsconfig","tsconfigOption","configFiles$","ctx$","switchMap","configFiles","packageJsonPath","find","Error","loadPkgWithReporting","loadConfig","resolveBuildContext","subscribe","watchTasks","task","handler","watchTaskHandlers","result$","exec","error","err","logger","process","exit","result","complete","success"],"mappings":"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"}