@sanity/pkg-utils 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # pkg-utils
1
+ # @sanity/pkg-utils
2
2
 
3
3
  Simple utilities for modern [npm](https://www.npmjs.com/) packages.
4
4
 
@@ -14,6 +14,6 @@ npm install @sanity/pkg-utils -D
14
14
  pkg-utils build --tsconfig tsconfig.dist.json
15
15
  ```
16
16
 
17
- ## Licence
17
+ ## License
18
18
 
19
19
  MIT
@@ -6,6 +6,7 @@ var require$$1 = require('fs');
6
6
  var require$$2 = require('module');
7
7
  var require$$3 = require('esbuild');
8
8
  var require$$4 = require('process');
9
+ var findConfig = require('find-config');
9
10
  var pkgUp = require('pkg-up');
10
11
  var util = require('util');
11
12
  var rimrafCallback = require('rimraf');
@@ -30,6 +31,7 @@ var require$$1__default = /*#__PURE__*/_interopDefaultLegacy(require$$1);
30
31
  var require$$2__default = /*#__PURE__*/_interopDefaultLegacy(require$$2);
31
32
  var require$$3__default = /*#__PURE__*/_interopDefaultLegacy(require$$3);
32
33
  var require$$4__default = /*#__PURE__*/_interopDefaultLegacy(require$$4);
34
+ var findConfig__default = /*#__PURE__*/_interopDefaultLegacy(findConfig);
33
35
  var pkgUp__default = /*#__PURE__*/_interopDefaultLegacy(pkgUp);
34
36
  var rimrafCallback__default = /*#__PURE__*/_interopDefaultLegacy(rimrafCallback);
35
37
  var ts__default = /*#__PURE__*/_interopDefaultLegacy(ts);
@@ -39,6 +41,13 @@ var commonjs__default = /*#__PURE__*/_interopDefaultLegacy(commonjs);
39
41
  var json__default = /*#__PURE__*/_interopDefaultLegacy(json);
40
42
  var esbuild__default = /*#__PURE__*/_interopDefaultLegacy(esbuild);
41
43
 
44
+ const _DEFAULTS = {
45
+ target: {
46
+ node: ["node12"],
47
+ web: ["chrome58", "edge16", "firefox54", "opera44", "safari11"]
48
+ }
49
+ };
50
+
42
51
  function _isRecord(value) {
43
52
  return Boolean(value) && !Array.isArray(value) && typeof value === "object";
44
53
  }
@@ -4913,15 +4922,28 @@ async function _loadConfig(options) {
4913
4922
  if (!pkgPath)
4914
4923
  return void 0;
4915
4924
  const root = path__default["default"].dirname(pkgPath);
4925
+ const configFile = _findConfigFile(root);
4926
+ if (!configFile) {
4927
+ return void 0;
4928
+ }
4916
4929
  try {
4917
- const { unregister } = node.register({ extensions: [".js", ".ts"] });
4918
- const mod = require(path__default["default"].resolve(root, "package.config.ts"));
4930
+ const { unregister } = configFile.transform ? node.register({ extensions: [".js", ".ts"] }) : { unregister: () => void 0 };
4931
+ const mod = require(configFile.path);
4919
4932
  unregister();
4920
- return mod.default;
4933
+ return (mod == null ? void 0 : mod.default) || mod || void 0;
4921
4934
  } catch (_) {
4922
4935
  return void 0;
4923
4936
  }
4924
4937
  }
4938
+ function _findConfigFile(cwd) {
4939
+ const ts = findConfig__default["default"]("package.config.ts", { cwd });
4940
+ if (ts)
4941
+ return { path: ts, transform: true };
4942
+ const cjs = findConfig__default["default"]("package.config.cjs", { cwd });
4943
+ if (cjs)
4944
+ return { path: cjs, transform: false };
4945
+ return null;
4946
+ }
4925
4947
 
4926
4948
  function _resolveConfigProperty(prop, initialValue) {
4927
4949
  if (typeof prop === "function") {
@@ -4939,7 +4961,7 @@ async function _loadPkg(options) {
4939
4961
  function _parseExports(pkg) {
4940
4962
  const rootExport = {
4941
4963
  path: ".",
4942
- runtime: "web",
4964
+ runtime: void 0,
4943
4965
  source: pkg.source || "index.js",
4944
4966
  require: pkg.main,
4945
4967
  default: pkg.module,
@@ -4954,7 +4976,6 @@ function _parseExports(pkg) {
4954
4976
  } else {
4955
4977
  extraExports.push({
4956
4978
  path: exportPath,
4957
- runtime: "web",
4958
4979
  source: exportEntry.source,
4959
4980
  ...exportEntry
4960
4981
  });
@@ -4968,7 +4989,8 @@ function _parseExports(pkg) {
4968
4989
  }
4969
4990
 
4970
4991
  function _parseTasks(ctx) {
4971
- const { pkg } = ctx;
4992
+ var _a, _b;
4993
+ const { config, pkg } = ctx;
4972
4994
  const entries = Object.entries(ctx.exports || {}).map(
4973
4995
  ([path2, entry]) => ({ path: path2, ...entry })
4974
4996
  );
@@ -4989,6 +5011,7 @@ function _parseTasks(ctx) {
4989
5011
  }
4990
5012
  }
4991
5013
  for (const entry of entries) {
5014
+ const runtime = entry.runtime || (config == null ? void 0 : config.runtime) || "web";
4992
5015
  const format = [];
4993
5016
  const target = [];
4994
5017
  if (entry.require) {
@@ -4997,20 +5020,20 @@ function _parseTasks(ctx) {
4997
5020
  if (entry.default) {
4998
5021
  format.push("esm");
4999
5022
  }
5000
- if (entry.runtime === "node") {
5001
- target.push("node12");
5023
+ if (runtime === "node") {
5024
+ target.push(...((_a = config == null ? void 0 : config.target) == null ? void 0 : _a.node) || _DEFAULTS.target.node);
5002
5025
  }
5003
- if (entry.runtime === "web") {
5004
- target.push("chrome104");
5026
+ if (runtime === "web") {
5027
+ target.push(...((_b = config == null ? void 0 : config.target) == null ? void 0 : _b.web) || _DEFAULTS.target.web);
5005
5028
  }
5006
5029
  for (const f of format) {
5007
- const buildId = `${entry.runtime}:${f}:${target.join(",")}`;
5030
+ const buildId = `${runtime}:${f}:${target.join(",")}`;
5008
5031
  if (!rollupTasks[buildId]) {
5009
5032
  rollupTasks[buildId] = {
5010
5033
  type: "rollup",
5011
5034
  buildId,
5012
5035
  entries: [entry],
5013
- runtime: entry.runtime,
5036
+ runtime,
5014
5037
  format: f,
5015
5038
  target
5016
5039
  };
@@ -5049,6 +5072,7 @@ async function _buildTypes(options) {
5049
5072
  const config = await _loadTSConfig({ cwd, tsconfigPath });
5050
5073
  const compilerOptions = {
5051
5074
  ...config.options,
5075
+ declaration: true,
5052
5076
  emitDeclarationOnly: true,
5053
5077
  outDir
5054
5078
  };
@@ -5217,13 +5241,14 @@ const rimraf = util.promisify(rimrafCallback__default["default"]);
5217
5241
  async function _dtsTask(ctx, task) {
5218
5242
  const { cwd, dist, files, tsconfig } = ctx;
5219
5243
  const exportPath = task.exportPath === "." ? "./index" : task.exportPath;
5244
+ const distPath = path__default["default"].resolve(cwd, dist);
5245
+ const tmpPath = path__default["default"].resolve(cwd, dist, "tmp");
5246
+ const tsconfigPath = path__default["default"].resolve(cwd, tsconfig || "tsconfig.json");
5220
5247
  console.log("=================================================================================");
5221
5248
  console.log(chalk__default["default"].gray("task "), "d.ts");
5222
5249
  console.log(chalk__default["default"].gray("source "), path__default["default"].join("", task.source));
5223
5250
  console.log(chalk__default["default"].gray("export "), path__default["default"].join(dist, `${exportPath}.d.ts`));
5224
- const distPath = path__default["default"].resolve(cwd, dist);
5225
- const tmpPath = path__default["default"].resolve(cwd, dist, "tmp");
5226
- const tsconfigPath = path__default["default"].resolve(cwd, tsconfig || "tsconfig.json");
5251
+ console.log(chalk__default["default"].gray("tsconfig "), path__default["default"].relative(cwd, tsconfigPath));
5227
5252
  const types = await _buildTypes({
5228
5253
  cwd,
5229
5254
  outDir: tmpPath,
@@ -5423,10 +5448,11 @@ async function build(options) {
5423
5448
  }
5424
5449
  }
5425
5450
 
5451
+ exports._DEFAULTS = _DEFAULTS;
5426
5452
  exports._isRecord = _isRecord;
5427
5453
  exports._loadConfig = _loadConfig;
5428
5454
  exports._loadPkg = _loadPkg;
5429
5455
  exports._parseExports = _parseExports;
5430
5456
  exports._resolveConfigProperty = _resolveConfigProperty;
5431
5457
  exports.build = build;
5432
- //# sourceMappingURL=_build-3336bcb3.cjs.map
5458
+ //# sourceMappingURL=_build-e608bb7c.cjs.map