@sanity/pkg-utils 1.0.1 → 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.
- package/dist/{_build-98ad789a.cjs → _build-f08e1020.cjs} +130 -19
- package/dist/_build-f08e1020.cjs.map +1 -0
- package/dist/cli.cjs +3 -1
- package/dist/cli.cjs.map +1 -1
- package/dist/index.cjs +4 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +18 -2
- package/dist/index.js +127 -19
- package/dist/index.js.map +1 -1
- package/package.json +4 -1
- package/src/build/_parseBrowserslistVersions.ts +60 -0
- package/src/build/_parseNodeTarget.ts +15 -0
- package/src/build/_parseTasks.ts +10 -8
- package/src/build/_parseWebTarget.ts +35 -0
- package/src/build/_types.ts +1 -0
- package/src/build/build.ts +20 -14
- package/src/build/tasks/dts/_extractTypes.ts +0 -1
- package/src/build/tasks/dts/dts.ts +4 -5
- package/src/core/_defaults.ts +11 -0
- package/src/core/config/_loadConfig.ts +28 -3
- package/src/core/config/_resolveConfigProperty.ts +3 -1
- package/src/core/config/types.ts +5 -1
- package/src/core/index.ts +1 -0
- package/src/core/pkg/_parseExports.ts +1 -2
- package/src/core/pkg/_types.ts +1 -0
- package/dist/_build-98ad789a.cjs.map +0 -1
|
@@ -6,7 +6,9 @@ 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');
|
|
11
|
+
var browserslist = require('browserslist');
|
|
10
12
|
var util = require('util');
|
|
11
13
|
var rimrafCallback = require('rimraf');
|
|
12
14
|
var ts = require('typescript');
|
|
@@ -30,7 +32,9 @@ var require$$1__default = /*#__PURE__*/_interopDefaultLegacy(require$$1);
|
|
|
30
32
|
var require$$2__default = /*#__PURE__*/_interopDefaultLegacy(require$$2);
|
|
31
33
|
var require$$3__default = /*#__PURE__*/_interopDefaultLegacy(require$$3);
|
|
32
34
|
var require$$4__default = /*#__PURE__*/_interopDefaultLegacy(require$$4);
|
|
35
|
+
var findConfig__default = /*#__PURE__*/_interopDefaultLegacy(findConfig);
|
|
33
36
|
var pkgUp__default = /*#__PURE__*/_interopDefaultLegacy(pkgUp);
|
|
37
|
+
var browserslist__default = /*#__PURE__*/_interopDefaultLegacy(browserslist);
|
|
34
38
|
var rimrafCallback__default = /*#__PURE__*/_interopDefaultLegacy(rimrafCallback);
|
|
35
39
|
var ts__default = /*#__PURE__*/_interopDefaultLegacy(ts);
|
|
36
40
|
var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
|
|
@@ -39,6 +43,15 @@ var commonjs__default = /*#__PURE__*/_interopDefaultLegacy(commonjs);
|
|
|
39
43
|
var json__default = /*#__PURE__*/_interopDefaultLegacy(json);
|
|
40
44
|
var esbuild__default = /*#__PURE__*/_interopDefaultLegacy(esbuild);
|
|
41
45
|
|
|
46
|
+
const _DEFAULTS = {
|
|
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
|
+
]
|
|
53
|
+
};
|
|
54
|
+
|
|
42
55
|
function _isRecord(value) {
|
|
43
56
|
return Boolean(value) && !Array.isArray(value) && typeof value === "object";
|
|
44
57
|
}
|
|
@@ -4913,17 +4926,32 @@ async function _loadConfig(options) {
|
|
|
4913
4926
|
if (!pkgPath)
|
|
4914
4927
|
return void 0;
|
|
4915
4928
|
const root = path__default["default"].dirname(pkgPath);
|
|
4929
|
+
const configFile = _findConfigFile(root);
|
|
4930
|
+
if (!configFile) {
|
|
4931
|
+
return void 0;
|
|
4932
|
+
}
|
|
4916
4933
|
try {
|
|
4917
|
-
const { unregister } = node.register({ extensions: [".js", ".ts"] });
|
|
4918
|
-
const mod = require(
|
|
4934
|
+
const { unregister } = configFile.transform ? node.register({ extensions: [".js", ".ts"] }) : { unregister: () => void 0 };
|
|
4935
|
+
const mod = require(configFile.path);
|
|
4919
4936
|
unregister();
|
|
4920
|
-
return mod.default;
|
|
4937
|
+
return (mod == null ? void 0 : mod.default) || mod || void 0;
|
|
4921
4938
|
} catch (_) {
|
|
4922
4939
|
return void 0;
|
|
4923
4940
|
}
|
|
4924
4941
|
}
|
|
4942
|
+
function _findConfigFile(cwd) {
|
|
4943
|
+
const ts = findConfig__default["default"]("package.config.ts", { cwd });
|
|
4944
|
+
if (ts)
|
|
4945
|
+
return { path: ts, transform: true };
|
|
4946
|
+
const cjs = findConfig__default["default"]("package.config.cjs", { cwd });
|
|
4947
|
+
if (cjs)
|
|
4948
|
+
return { path: cjs, transform: false };
|
|
4949
|
+
return null;
|
|
4950
|
+
}
|
|
4925
4951
|
|
|
4926
4952
|
function _resolveConfigProperty(prop, initialValue) {
|
|
4953
|
+
if (!prop)
|
|
4954
|
+
return initialValue;
|
|
4927
4955
|
if (typeof prop === "function") {
|
|
4928
4956
|
return prop(initialValue);
|
|
4929
4957
|
}
|
|
@@ -4939,7 +4967,7 @@ async function _loadPkg(options) {
|
|
|
4939
4967
|
function _parseExports(pkg) {
|
|
4940
4968
|
const rootExport = {
|
|
4941
4969
|
path: ".",
|
|
4942
|
-
runtime:
|
|
4970
|
+
runtime: void 0,
|
|
4943
4971
|
source: pkg.source || "index.js",
|
|
4944
4972
|
require: pkg.main,
|
|
4945
4973
|
default: pkg.module,
|
|
@@ -4954,7 +4982,6 @@ function _parseExports(pkg) {
|
|
|
4954
4982
|
} else {
|
|
4955
4983
|
extraExports.push({
|
|
4956
4984
|
path: exportPath,
|
|
4957
|
-
runtime: "web",
|
|
4958
4985
|
source: exportEntry.source,
|
|
4959
4986
|
...exportEntry
|
|
4960
4987
|
});
|
|
@@ -4967,8 +4994,58 @@ function _parseExports(pkg) {
|
|
|
4967
4994
|
return [rootExport, ...extraExports];
|
|
4968
4995
|
}
|
|
4969
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
|
+
|
|
4970
5047
|
function _parseTasks(ctx) {
|
|
4971
|
-
const { pkg } = ctx;
|
|
5048
|
+
const { config, pkg } = ctx;
|
|
4972
5049
|
const entries = Object.entries(ctx.exports || {}).map(
|
|
4973
5050
|
([path2, entry]) => ({ path: path2, ...entry })
|
|
4974
5051
|
);
|
|
@@ -4989,6 +5066,7 @@ function _parseTasks(ctx) {
|
|
|
4989
5066
|
}
|
|
4990
5067
|
}
|
|
4991
5068
|
for (const entry of entries) {
|
|
5069
|
+
const runtime = entry.runtime || (config == null ? void 0 : config.runtime) || "web";
|
|
4992
5070
|
const format = [];
|
|
4993
5071
|
const target = [];
|
|
4994
5072
|
if (entry.require) {
|
|
@@ -4997,20 +5075,20 @@ function _parseTasks(ctx) {
|
|
|
4997
5075
|
if (entry.default) {
|
|
4998
5076
|
format.push("esm");
|
|
4999
5077
|
}
|
|
5000
|
-
if (
|
|
5001
|
-
target.push(
|
|
5078
|
+
if (runtime === "node") {
|
|
5079
|
+
target.push(...ctx.target.node);
|
|
5002
5080
|
}
|
|
5003
|
-
if (
|
|
5004
|
-
target.push(
|
|
5081
|
+
if (runtime === "web") {
|
|
5082
|
+
target.push(...ctx.target.web);
|
|
5005
5083
|
}
|
|
5006
5084
|
for (const f of format) {
|
|
5007
|
-
const buildId = `${
|
|
5085
|
+
const buildId = `${runtime}:${f}:${target.join(",")}`;
|
|
5008
5086
|
if (!rollupTasks[buildId]) {
|
|
5009
5087
|
rollupTasks[buildId] = {
|
|
5010
5088
|
type: "rollup",
|
|
5011
5089
|
buildId,
|
|
5012
5090
|
entries: [entry],
|
|
5013
|
-
runtime
|
|
5091
|
+
runtime,
|
|
5014
5092
|
format: f,
|
|
5015
5093
|
target
|
|
5016
5094
|
};
|
|
@@ -5029,6 +5107,32 @@ function _parseTasks(ctx) {
|
|
|
5029
5107
|
return tasks;
|
|
5030
5108
|
}
|
|
5031
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
|
+
|
|
5032
5136
|
async function _loadTSConfig(options) {
|
|
5033
5137
|
const { cwd, tsconfigPath } = options;
|
|
5034
5138
|
const configPath = ts__default["default"].findConfigFile(cwd, ts__default["default"].sys.fileExists, tsconfigPath);
|
|
@@ -5218,13 +5322,14 @@ const rimraf = util.promisify(rimrafCallback__default["default"]);
|
|
|
5218
5322
|
async function _dtsTask(ctx, task) {
|
|
5219
5323
|
const { cwd, dist, files, tsconfig } = ctx;
|
|
5220
5324
|
const exportPath = task.exportPath === "." ? "./index" : task.exportPath;
|
|
5325
|
+
const distPath = path__default["default"].resolve(cwd, dist);
|
|
5326
|
+
const tmpPath = path__default["default"].resolve(cwd, dist, "tmp");
|
|
5327
|
+
const tsconfigPath = path__default["default"].resolve(cwd, tsconfig || "tsconfig.json");
|
|
5221
5328
|
console.log("=================================================================================");
|
|
5222
5329
|
console.log(chalk__default["default"].gray("task "), "d.ts");
|
|
5223
5330
|
console.log(chalk__default["default"].gray("source "), path__default["default"].join("", task.source));
|
|
5224
5331
|
console.log(chalk__default["default"].gray("export "), path__default["default"].join(dist, `${exportPath}.d.ts`));
|
|
5225
|
-
|
|
5226
|
-
const tmpPath = path__default["default"].resolve(cwd, dist, "tmp");
|
|
5227
|
-
const tsconfigPath = path__default["default"].resolve(cwd, tsconfig || "tsconfig.json");
|
|
5332
|
+
console.log(chalk__default["default"].gray("tsconfig "), path__default["default"].relative(cwd, tsconfigPath));
|
|
5228
5333
|
const types = await _buildTypes({
|
|
5229
5334
|
cwd,
|
|
5230
5335
|
outDir: tmpPath,
|
|
@@ -5382,12 +5487,13 @@ async function build(options) {
|
|
|
5382
5487
|
const { path: exportPath, ...exportEntry } = x;
|
|
5383
5488
|
return { ...acc, [exportPath]: exportEntry };
|
|
5384
5489
|
}, {});
|
|
5385
|
-
const exports = (config == null ? void 0 : config.exports
|
|
5386
|
-
const
|
|
5490
|
+
const exports = _resolveConfigProperty(config == null ? void 0 : config.exports, parsedExports);
|
|
5491
|
+
const parsedExternal = [
|
|
5387
5492
|
...pkg.dependencies ? Object.keys(pkg.dependencies) : [],
|
|
5388
5493
|
...pkg.peerDependencies ? Object.keys(pkg.peerDependencies) : []
|
|
5389
5494
|
];
|
|
5390
|
-
const external = (config == null ? void 0 : config.external
|
|
5495
|
+
const external = _resolveConfigProperty(config == null ? void 0 : config.external, parsedExternal);
|
|
5496
|
+
const targetVersions = _parseBrowserslistVersions(pkg.browserslist || _DEFAULTS.browserslist);
|
|
5391
5497
|
const srcPath = path__default["default"].resolve(cwd, (config == null ? void 0 : config.src) || "src");
|
|
5392
5498
|
const distPath = path__default["default"].resolve(cwd, (config == null ? void 0 : config.dist) || "dist");
|
|
5393
5499
|
const context = {
|
|
@@ -5400,6 +5506,10 @@ async function build(options) {
|
|
|
5400
5506
|
dist: path__default["default"].relative(cwd, distPath),
|
|
5401
5507
|
pkg,
|
|
5402
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
|
+
},
|
|
5403
5513
|
tsconfig
|
|
5404
5514
|
};
|
|
5405
5515
|
console.log(chalk__default["default"].gray("cwd "), context.cwd);
|
|
@@ -5424,10 +5534,11 @@ async function build(options) {
|
|
|
5424
5534
|
}
|
|
5425
5535
|
}
|
|
5426
5536
|
|
|
5537
|
+
exports._DEFAULTS = _DEFAULTS;
|
|
5427
5538
|
exports._isRecord = _isRecord;
|
|
5428
5539
|
exports._loadConfig = _loadConfig;
|
|
5429
5540
|
exports._loadPkg = _loadPkg;
|
|
5430
5541
|
exports._parseExports = _parseExports;
|
|
5431
5542
|
exports._resolveConfigProperty = _resolveConfigProperty;
|
|
5432
5543
|
exports.build = build;
|
|
5433
|
-
//# sourceMappingURL=_build-
|
|
5544
|
+
//# sourceMappingURL=_build-f08e1020.cjs.map
|