@sanity/pkg-utils 1.2.0 → 1.3.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.
@@ -8,6 +8,7 @@ var require$$3 = require('esbuild');
8
8
  var require$$4 = require('process');
9
9
  var findConfig = require('find-config');
10
10
  var pkgUp = require('pkg-up');
11
+ var browserslist = require('browserslist');
11
12
  var util = require('util');
12
13
  var rimrafCallback = require('rimraf');
13
14
  var ts = require('typescript');
@@ -33,6 +34,7 @@ var require$$3__default = /*#__PURE__*/_interopDefaultLegacy(require$$3);
33
34
  var require$$4__default = /*#__PURE__*/_interopDefaultLegacy(require$$4);
34
35
  var findConfig__default = /*#__PURE__*/_interopDefaultLegacy(findConfig);
35
36
  var pkgUp__default = /*#__PURE__*/_interopDefaultLegacy(pkgUp);
37
+ var browserslist__default = /*#__PURE__*/_interopDefaultLegacy(browserslist);
36
38
  var rimrafCallback__default = /*#__PURE__*/_interopDefaultLegacy(rimrafCallback);
37
39
  var ts__default = /*#__PURE__*/_interopDefaultLegacy(ts);
38
40
  var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
@@ -42,10 +44,12 @@ var json__default = /*#__PURE__*/_interopDefaultLegacy(json);
42
44
  var esbuild__default = /*#__PURE__*/_interopDefaultLegacy(esbuild);
43
45
 
44
46
  const _DEFAULTS = {
45
- target: {
46
- node: ["node12"],
47
- web: ["chrome58", "edge16", "firefox54", "opera44", "safari11"]
48
- }
47
+ browserslist: [
48
+ "> 0.2% and supports es6-module and supports es6-module-dynamic-import",
49
+ "not dead",
50
+ "not IE 11",
51
+ "maintained node versions"
52
+ ]
49
53
  };
50
54
 
51
55
  function _isRecord(value) {
@@ -4946,6 +4950,8 @@ function _findConfigFile(cwd) {
4946
4950
  }
4947
4951
 
4948
4952
  function _resolveConfigProperty(prop, initialValue) {
4953
+ if (!prop)
4954
+ return initialValue;
4949
4955
  if (typeof prop === "function") {
4950
4956
  return prop(initialValue);
4951
4957
  }
@@ -4988,8 +4994,57 @@ function _parseExports(pkg) {
4988
4994
  return [rootExport, ...extraExports];
4989
4995
  }
4990
4996
 
4997
+ function _sortAsNumber(a, b) {
4998
+ const aVersion = Number(a);
4999
+ const bVersion = Number(b);
5000
+ return aVersion - bVersion;
5001
+ }
5002
+ function _parseBrowserslistVersions(query) {
5003
+ const result = browserslist__default["default"](query);
5004
+ const entries = result.map((key) => {
5005
+ const [name, version] = key.split(" ");
5006
+ return { name, version: version.split("-")[0].split(".")[0] };
5007
+ });
5008
+ const andChr = entries.filter((b) => b.name === "and_chr");
5009
+ const andFf = entries.filter((b) => b.name === "and_ff");
5010
+ const chrome = entries.filter((b) => b.name === "chrome");
5011
+ const edge = entries.filter((b) => b.name === "edge");
5012
+ const ff = entries.filter((b) => b.name === "firefox");
5013
+ const iosSaf = entries.filter((b) => b.name === "ios_saf");
5014
+ const saf = entries.filter((b) => b.name === "safari");
5015
+ const opera = entries.filter((b) => b.name === "opera");
5016
+ const node = entries.filter((b) => b.name === "node");
5017
+ const versions = {
5018
+ chrome: andChr.concat(chrome).map((b) => b.version),
5019
+ ff: andFf.concat(ff).map((b) => b.version),
5020
+ edge: edge.map((b) => b.version),
5021
+ iosSaf: iosSaf.map((b) => b.version),
5022
+ saf: saf.map((b) => b.version),
5023
+ opera: opera.map((b) => b.version),
5024
+ node: node.map((b) => b.version)
5025
+ };
5026
+ versions.chrome.sort(_sortAsNumber);
5027
+ versions.ff.sort(_sortAsNumber);
5028
+ versions.edge.sort(_sortAsNumber);
5029
+ versions.iosSaf.sort(_sortAsNumber);
5030
+ versions.saf.sort(_sortAsNumber);
5031
+ versions.opera.sort(_sortAsNumber);
5032
+ versions.node.sort(_sortAsNumber);
5033
+ return versions;
5034
+ }
5035
+
5036
+ function _parseNodeTarget(versions) {
5037
+ const target = [];
5038
+ if (versions.node.length) {
5039
+ target.push(`node${versions.node[0]}`);
5040
+ }
5041
+ if (target.length === 0) {
5042
+ return void 0;
5043
+ }
5044
+ return target;
5045
+ }
5046
+
4991
5047
  function _parseTasks(ctx) {
4992
- var _a, _b;
4993
5048
  const { config, pkg } = ctx;
4994
5049
  const entries = Object.entries(ctx.exports || {}).map(
4995
5050
  ([path2, entry]) => ({ path: path2, ...entry })
@@ -5021,10 +5076,10 @@ function _parseTasks(ctx) {
5021
5076
  format.push("esm");
5022
5077
  }
5023
5078
  if (runtime === "node") {
5024
- target.push(...((_a = config == null ? void 0 : config.target) == null ? void 0 : _a.node) || _DEFAULTS.target.node);
5079
+ target.push(...ctx.target.node);
5025
5080
  }
5026
5081
  if (runtime === "web") {
5027
- target.push(...((_b = config == null ? void 0 : config.target) == null ? void 0 : _b.web) || _DEFAULTS.target.web);
5082
+ target.push(...ctx.target.web);
5028
5083
  }
5029
5084
  for (const f of format) {
5030
5085
  const buildId = `${runtime}:${f}:${target.join(",")}`;
@@ -5052,6 +5107,32 @@ function _parseTasks(ctx) {
5052
5107
  return tasks;
5053
5108
  }
5054
5109
 
5110
+ function _parseWebTarget(versions) {
5111
+ const target = [];
5112
+ if (versions.chrome.length) {
5113
+ target.push(`chrome${versions.chrome[0]}`);
5114
+ }
5115
+ if (versions.ff.length) {
5116
+ target.push(`firefox${versions.ff[0]}`);
5117
+ }
5118
+ if (versions.edge.length) {
5119
+ target.push(`edge${versions.edge[0]}`);
5120
+ }
5121
+ if (versions.iosSaf.length) {
5122
+ target.push(`ios${versions.iosSaf[0]}`);
5123
+ }
5124
+ if (versions.saf.length) {
5125
+ target.push(`safari${versions.saf[0]}`);
5126
+ }
5127
+ if (versions.opera.length) {
5128
+ target.push(`opera${versions.opera[0]}`);
5129
+ }
5130
+ if (target.length === 0) {
5131
+ return void 0;
5132
+ }
5133
+ return target;
5134
+ }
5135
+
5055
5136
  async function _loadTSConfig(options) {
5056
5137
  const { cwd, tsconfigPath } = options;
5057
5138
  const configPath = ts__default["default"].findConfigFile(cwd, ts__default["default"].sys.fileExists, tsconfigPath);
@@ -5406,12 +5487,13 @@ async function build(options) {
5406
5487
  const { path: exportPath, ...exportEntry } = x;
5407
5488
  return { ...acc, [exportPath]: exportEntry };
5408
5489
  }, {});
5409
- const exports = (config == null ? void 0 : config.exports) ? _resolveConfigProperty(config.exports, parsedExports) : parsedExports;
5410
- const initialExternal = [
5490
+ const exports = _resolveConfigProperty(config == null ? void 0 : config.exports, parsedExports);
5491
+ const parsedExternal = [
5411
5492
  ...pkg.dependencies ? Object.keys(pkg.dependencies) : [],
5412
5493
  ...pkg.peerDependencies ? Object.keys(pkg.peerDependencies) : []
5413
5494
  ];
5414
- const external = (config == null ? void 0 : config.external) ? _resolveConfigProperty(config.external, initialExternal) : initialExternal;
5495
+ const external = _resolveConfigProperty(config == null ? void 0 : config.external, parsedExternal);
5496
+ const targetVersions = _parseBrowserslistVersions(pkg.browserslist || _DEFAULTS.browserslist);
5415
5497
  const srcPath = path__default["default"].resolve(cwd, (config == null ? void 0 : config.src) || "src");
5416
5498
  const distPath = path__default["default"].resolve(cwd, (config == null ? void 0 : config.dist) || "dist");
5417
5499
  const context = {
@@ -5424,6 +5506,10 @@ async function build(options) {
5424
5506
  dist: path__default["default"].relative(cwd, distPath),
5425
5507
  pkg,
5426
5508
  src: path__default["default"].relative(cwd, srcPath),
5509
+ target: {
5510
+ node: _parseNodeTarget(targetVersions) || _DEFAULTS.target.node,
5511
+ web: _parseWebTarget(targetVersions) || _DEFAULTS.target.web
5512
+ },
5427
5513
  tsconfig
5428
5514
  };
5429
5515
  console.log(chalk__default["default"].gray("cwd "), context.cwd);
@@ -5455,4 +5541,4 @@ exports._loadPkg = _loadPkg;
5455
5541
  exports._parseExports = _parseExports;
5456
5542
  exports._resolveConfigProperty = _resolveConfigProperty;
5457
5543
  exports.build = build;
5458
- //# sourceMappingURL=_build-e608bb7c.cjs.map
5544
+ //# sourceMappingURL=_build-f08e1020.cjs.map