@sanity/pkg-utils 1.3.1 → 1.4.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 +8 -0
- package/dist/__printPackageTree-793a302b.cjs +75 -0
- package/dist/__printPackageTree-793a302b.cjs.map +1 -0
- package/dist/__resolveBuildContext-1b29cff2.cjs +336 -0
- package/dist/__resolveBuildContext-1b29cff2.cjs.map +1 -0
- package/dist/_build-08236974.cjs +169 -0
- package/dist/_build-08236974.cjs.map +1 -0
- package/dist/_buildAction-586dfb5f.cjs +43 -0
- package/dist/_buildAction-586dfb5f.cjs.map +1 -0
- package/dist/_check-9d180462.cjs +16 -0
- package/dist/_check-9d180462.cjs.map +1 -0
- package/dist/_index-c5bd1bc8.cjs +565 -0
- package/dist/_index-c5bd1bc8.cjs.map +1 -0
- package/dist/_statusAction-385b72dd.cjs +27 -0
- package/dist/_statusAction-385b72dd.cjs.map +1 -0
- package/dist/_watch-0623c005.cjs +217 -0
- package/dist/_watch-0623c005.cjs.map +1 -0
- package/dist/_watchAction-4b8d7301.cjs +42 -0
- package/dist/_watchAction-4b8d7301.cjs.map +1 -0
- package/dist/cli.cjs +14 -31
- package/dist/cli.cjs.map +1 -1
- package/dist/index.cjs +41 -16
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +278 -152
- package/dist/index.js +947 -5201
- package/dist/index.js.map +1 -1
- package/package.json +24 -9
- package/src/cli/buildAction.ts +8 -0
- package/src/cli/index.ts +41 -0
- package/src/cli/statusAction.ts +8 -0
- package/src/cli/watchAction.ts +8 -0
- package/src/{core → node/_core}/_defaults.ts +1 -3
- package/src/{core → node/_core}/_isRecord.ts +1 -3
- package/src/{core → node/_core}/config/_loadConfig.ts +1 -3
- package/src/node/_core/config/_resolveConfigProperty.ts +15 -0
- package/src/{core → node/_core}/config/defineConfig.ts +1 -3
- package/src/{core → node/_core}/config/index.ts +0 -0
- package/src/node/_core/config/types.ts +69 -0
- package/src/node/_core/contexts/buildContext.ts +34 -0
- package/src/node/_core/contexts/index.ts +1 -0
- package/src/{core → node/_core}/index.ts +2 -0
- package/src/node/_core/pkg/_loadPkg.ts +54 -0
- package/src/node/_core/pkg/_loadPkgWithReporting.ts +29 -0
- package/src/node/_core/pkg/_parseExports.ts +45 -0
- package/src/{core → node/_core}/pkg/_types.ts +16 -5
- package/src/{core → node/_core}/pkg/index.ts +1 -0
- package/src/{build/tasks/dts → node/_core/ts}/_loadTSConfig.ts +1 -0
- package/src/node/_core/ts/index.ts +1 -0
- package/src/node/_getFilesize.ts +8 -0
- package/src/node/_globFiles.ts +5 -0
- package/src/node/_printExtractMessages.ts +56 -0
- package/src/node/_printPackageTree.ts +72 -0
- package/src/{build/_parseWebTarget.ts → node/_resolveBrowserTarget.ts} +2 -2
- package/src/{build/_parseBrowserslistVersions.ts → node/_resolveBrowserslistVersions.ts} +1 -1
- package/src/node/_resolveBuildContext.ts +104 -0
- package/src/node/_resolveBuildTasks.ts +129 -0
- package/src/{build/_parseNodeTarget.ts → node/_resolveNodeTarget.ts} +2 -2
- package/src/node/_resolveWatchTasks.ts +129 -0
- package/src/node/_spinner.ts +26 -0
- package/src/node/_tasks/_types.ts +57 -0
- package/src/node/_tasks/dts/_DtsError.ts +11 -0
- package/src/{build/tasks → node/_tasks}/dts/_buildTypes.ts +20 -16
- package/src/node/_tasks/dts/_createApiExtractorConfig.ts +41 -0
- package/src/{build/tasks → node/_tasks}/dts/_createTSDocConfig.ts +2 -6
- package/src/node/_tasks/dts/_doExtract.ts +46 -0
- package/src/node/_tasks/dts/_dtsTask.ts +38 -0
- package/src/node/_tasks/dts/_dtsWatchTask.ts +43 -0
- package/src/node/_tasks/dts/_extractTypes.ts +161 -0
- package/src/node/_tasks/dts/_types.ts +25 -0
- package/src/node/_tasks/dts/index.ts +3 -0
- package/src/node/_tasks/index.ts +19 -0
- package/src/node/_tasks/rollup/_resolveRollupConfig.ts +132 -0
- package/src/node/_tasks/rollup/_rollupTask.ts +71 -0
- package/src/node/_tasks/rollup/_rollupWatchTask.ts +78 -0
- package/src/node/_tasks/rollup/index.ts +2 -0
- package/src/node/_watchConfigFiles.ts +52 -0
- package/src/node/_watchFiles.ts +29 -0
- package/src/node/build.ts +47 -0
- package/src/node/check.ts +14 -0
- package/src/node/index.ts +6 -0
- package/src/node/watch.ts +56 -0
- package/dist/_build-5bf997de.cjs +0 -5549
- package/dist/_build-5bf997de.cjs.map +0 -1
- package/src/build/_parseTasks.ts +0 -87
- package/src/build/_types.ts +0 -26
- package/src/build/build.ts +0 -101
- package/src/build/index.ts +0 -2
- package/src/build/tasks/_types.ts +0 -8
- package/src/build/tasks/dts/_createApiExtractorConfig.ts +0 -88
- package/src/build/tasks/dts/_extractTypes.ts +0 -100
- package/src/build/tasks/dts/dts.ts +0 -59
- package/src/build/tasks/dts/index.ts +0 -1
- package/src/build/tasks/extract/_extractTask.ts +0 -49
- package/src/build/tasks/extract/index.ts +0 -1
- package/src/build/tasks/index.ts +0 -4
- package/src/build/tasks/rollup/_resolveRollupConfig.ts +0 -95
- package/src/build/tasks/rollup/index.ts +0 -1
- package/src/build/tasks/rollup/rollup.ts +0 -96
- package/src/cli.ts +0 -25
- package/src/core/config/_resolveConfigProperty.ts +0 -14
- package/src/core/config/types.ts +0 -52
- package/src/core/pkg/_loadPkg.ts +0 -13
- package/src/core/pkg/_parseExports.ts +0 -40
- package/src/index.ts +0 -2
package/README.md
CHANGED
|
@@ -10,8 +10,16 @@ npm install @sanity/pkg-utils -D
|
|
|
10
10
|
|
|
11
11
|
```sh
|
|
12
12
|
# In a Node.js package directory with `package.json` present
|
|
13
|
+
|
|
14
|
+
# Check the package
|
|
15
|
+
# This will validate the package.json file
|
|
16
|
+
pkg-utils
|
|
17
|
+
|
|
13
18
|
# Build the package
|
|
14
19
|
pkg-utils build --tsconfig tsconfig.dist.json
|
|
20
|
+
|
|
21
|
+
# Watch the package
|
|
22
|
+
pkg-utils watch --tsconfig tsconfig.dist.json
|
|
15
23
|
```
|
|
16
24
|
|
|
17
25
|
## License
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var fs = require('fs');
|
|
4
|
+
var path = require('path');
|
|
5
|
+
var chalk = require('chalk');
|
|
6
|
+
var treeify = require('treeify');
|
|
7
|
+
var prettyBytes = require('pretty-bytes');
|
|
8
|
+
|
|
9
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
10
|
+
|
|
11
|
+
var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
|
|
12
|
+
var path__default = /*#__PURE__*/_interopDefaultLegacy(path);
|
|
13
|
+
var chalk__default = /*#__PURE__*/_interopDefaultLegacy(chalk);
|
|
14
|
+
var treeify__default = /*#__PURE__*/_interopDefaultLegacy(treeify);
|
|
15
|
+
var prettyBytes__default = /*#__PURE__*/_interopDefaultLegacy(prettyBytes);
|
|
16
|
+
|
|
17
|
+
function _getFilesize(file) {
|
|
18
|
+
const stats = fs.statSync(file);
|
|
19
|
+
return prettyBytes__default["default"](stats.size);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function _getFileExists(file) {
|
|
23
|
+
try {
|
|
24
|
+
fs__default["default"].accessSync(file);
|
|
25
|
+
return true;
|
|
26
|
+
} catch (_) {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
function _getFileInfo(cwd, filePath) {
|
|
31
|
+
const p = path__default["default"].resolve(cwd, filePath);
|
|
32
|
+
const exists = _getFileExists(p);
|
|
33
|
+
const size = exists ? _getFilesize(p) : void 0;
|
|
34
|
+
return { exists, size };
|
|
35
|
+
}
|
|
36
|
+
function _printPackageTree(ctx) {
|
|
37
|
+
const { cwd, exports, logger, pkg } = ctx;
|
|
38
|
+
if (!exports)
|
|
39
|
+
return;
|
|
40
|
+
logger.log(`${chalk__default["default"].blue(pkg.name)}@${chalk__default["default"].green(pkg.version)}`);
|
|
41
|
+
const tree = {};
|
|
42
|
+
if (pkg.bin) {
|
|
43
|
+
tree.bin = pkg.bin;
|
|
44
|
+
}
|
|
45
|
+
function _fileInfo(file) {
|
|
46
|
+
const info = _getFileInfo(cwd, file);
|
|
47
|
+
if (!info.size) {
|
|
48
|
+
return chalk__default["default"].gray(file);
|
|
49
|
+
}
|
|
50
|
+
return `${file} ${chalk__default["default"].gray(info.size)}`;
|
|
51
|
+
}
|
|
52
|
+
tree.exports = Object.fromEntries(
|
|
53
|
+
Object.entries(exports).filter(([, entry]) => entry._exported).map(([exportPath, entry]) => {
|
|
54
|
+
const exp = { source: entry.source };
|
|
55
|
+
if (entry.browser) {
|
|
56
|
+
exp.browser = {};
|
|
57
|
+
if (entry.browser.import)
|
|
58
|
+
exp.browser.import = _fileInfo(entry.browser.import);
|
|
59
|
+
if (entry.browser.require)
|
|
60
|
+
exp.browser.import = _fileInfo(entry.browser.require);
|
|
61
|
+
}
|
|
62
|
+
if (entry.import)
|
|
63
|
+
exp.import = _fileInfo(entry.import);
|
|
64
|
+
if (entry.require)
|
|
65
|
+
exp.require = _fileInfo(entry.require);
|
|
66
|
+
if (entry.types)
|
|
67
|
+
exp.types = _fileInfo(entry.types);
|
|
68
|
+
return [chalk__default["default"].green(path__default["default"].join(pkg.name, exportPath)), exp];
|
|
69
|
+
})
|
|
70
|
+
);
|
|
71
|
+
logger.log(treeify__default["default"].asTree(tree, true, true));
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
exports._printPackageTree = _printPackageTree;
|
|
75
|
+
//# sourceMappingURL=__printPackageTree-793a302b.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"__printPackageTree-793a302b.cjs","sources":["../src/node/_getFilesize.ts","../src/node/_printPackageTree.ts"],"sourcesContent":["import {statSync} from 'fs'\nimport prettyBytes from 'pretty-bytes'\n\nexport function _getFilesize(file: string): string {\n const stats = statSync(file)\n\n return prettyBytes(stats.size)\n}\n","import fs from 'fs'\nimport path from 'path'\nimport chalk from 'chalk'\nimport treeify from 'treeify'\nimport {PkgExport, _BuildContext} from './_core'\nimport {_getFilesize} from './_getFilesize'\n\nfunction _getFileExists(file: string) {\n try {\n fs.accessSync(file)\n\n return true\n } catch (_) {\n return false\n }\n}\n\nfunction _getFileInfo(cwd: string, filePath: string) {\n const p = path.resolve(cwd, filePath)\n const exists = _getFileExists(p)\n const size = exists ? _getFilesize(p) : undefined\n\n return {exists, size}\n}\n\nexport function _printPackageTree(ctx: _BuildContext): void {\n const {cwd, exports, logger, pkg} = ctx\n\n if (!exports) return\n\n logger.log(`${chalk.blue(pkg.name)}@${chalk.green(pkg.version)}`)\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const tree: Record<string, any> = {}\n\n if (pkg.bin) {\n tree.bin = pkg.bin\n }\n\n function _fileInfo(file: string) {\n const info = _getFileInfo(cwd, file)\n\n if (!info.size) {\n return chalk.gray(file)\n }\n\n return `${file} ${chalk.gray(info.size)}`\n }\n\n tree.exports = Object.fromEntries(\n Object.entries(exports)\n .filter(([, entry]) => entry._exported)\n .map(([exportPath, entry]) => {\n const exp: Omit<PkgExport, '_exported'> = {source: entry.source}\n\n if (entry.browser) {\n exp.browser = {}\n\n if (entry.browser.import) exp.browser.import = _fileInfo(entry.browser.import)\n if (entry.browser.require) exp.browser.import = _fileInfo(entry.browser.require)\n }\n\n if (entry.import) exp.import = _fileInfo(entry.import)\n if (entry.require) exp.require = _fileInfo(entry.require)\n if (entry.types) exp.types = _fileInfo(entry.types)\n\n return [chalk.green(path.join(pkg.name, exportPath)), exp]\n })\n )\n\n logger.log(treeify.asTree(tree, true, true))\n}\n"],"names":["statSync","prettyBytes","fs","path","chalk","treeify"],"mappings":"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"}
|
|
@@ -0,0 +1,336 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var path = require('path');
|
|
4
|
+
var node = require('esbuild-register/dist/node');
|
|
5
|
+
var findConfig = require('find-config');
|
|
6
|
+
var pkgUp = require('pkg-up');
|
|
7
|
+
var chalk = require('chalk');
|
|
8
|
+
var zod = require('zod');
|
|
9
|
+
var fs = require('fs/promises');
|
|
10
|
+
var ts = require('typescript');
|
|
11
|
+
var browserslist = require('browserslist');
|
|
12
|
+
|
|
13
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
14
|
+
|
|
15
|
+
var path__default = /*#__PURE__*/_interopDefaultLegacy(path);
|
|
16
|
+
var findConfig__default = /*#__PURE__*/_interopDefaultLegacy(findConfig);
|
|
17
|
+
var pkgUp__default = /*#__PURE__*/_interopDefaultLegacy(pkgUp);
|
|
18
|
+
var chalk__default = /*#__PURE__*/_interopDefaultLegacy(chalk);
|
|
19
|
+
var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
|
|
20
|
+
var ts__default = /*#__PURE__*/_interopDefaultLegacy(ts);
|
|
21
|
+
var browserslist__default = /*#__PURE__*/_interopDefaultLegacy(browserslist);
|
|
22
|
+
|
|
23
|
+
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
|
+
]
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
function _isRecord(value) {
|
|
33
|
+
return Boolean(value) && !Array.isArray(value) && typeof value === "object";
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
async function _loadConfig(options) {
|
|
37
|
+
const { cwd } = options;
|
|
38
|
+
const pkgPath = await pkgUp__default["default"]({ cwd });
|
|
39
|
+
if (!pkgPath)
|
|
40
|
+
return void 0;
|
|
41
|
+
const root = path__default["default"].dirname(pkgPath);
|
|
42
|
+
const configFile = _findConfigFile(root);
|
|
43
|
+
if (!configFile) {
|
|
44
|
+
return void 0;
|
|
45
|
+
}
|
|
46
|
+
try {
|
|
47
|
+
const { unregister } = configFile.transform ? node.register({ extensions: [".js", ".ts"] }) : { unregister: () => void 0 };
|
|
48
|
+
const mod = require(configFile.path);
|
|
49
|
+
unregister();
|
|
50
|
+
return (mod == null ? void 0 : mod.default) || mod || void 0;
|
|
51
|
+
} catch (_) {
|
|
52
|
+
return void 0;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
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 };
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
function _resolveConfigProperty(prop, initialValue) {
|
|
66
|
+
if (!prop)
|
|
67
|
+
return initialValue;
|
|
68
|
+
if (typeof prop === "function") {
|
|
69
|
+
return prop(initialValue);
|
|
70
|
+
}
|
|
71
|
+
return prop;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
const pkgSchema = zod.z.object({
|
|
75
|
+
type: zod.z.optional(zod.z.enum(["module"])),
|
|
76
|
+
name: zod.z.string(),
|
|
77
|
+
version: zod.z.string(),
|
|
78
|
+
bin: zod.z.optional(zod.z.record(zod.z.string())),
|
|
79
|
+
dependencies: zod.z.optional(zod.z.record(zod.z.string())),
|
|
80
|
+
devDependencies: zod.z.optional(zod.z.record(zod.z.string())),
|
|
81
|
+
peerDependencies: zod.z.optional(zod.z.record(zod.z.string())),
|
|
82
|
+
source: zod.z.string(),
|
|
83
|
+
main: zod.z.optional(zod.z.string()),
|
|
84
|
+
browser: zod.z.optional(zod.z.record(zod.z.string())),
|
|
85
|
+
module: zod.z.optional(zod.z.string()),
|
|
86
|
+
exports: zod.z.optional(
|
|
87
|
+
zod.z.record(
|
|
88
|
+
zod.z.object({
|
|
89
|
+
source: zod.z.string(),
|
|
90
|
+
browser: zod.z.optional(
|
|
91
|
+
zod.z.object({
|
|
92
|
+
require: zod.z.optional(zod.z.string()),
|
|
93
|
+
import: zod.z.optional(zod.z.string())
|
|
94
|
+
})
|
|
95
|
+
),
|
|
96
|
+
node: zod.z.optional(
|
|
97
|
+
zod.z.object({
|
|
98
|
+
require: zod.z.optional(zod.z.string()),
|
|
99
|
+
import: zod.z.optional(zod.z.string())
|
|
100
|
+
})
|
|
101
|
+
),
|
|
102
|
+
require: zod.z.optional(zod.z.string()),
|
|
103
|
+
import: zod.z.optional(zod.z.string()),
|
|
104
|
+
types: zod.z.optional(zod.z.string())
|
|
105
|
+
})
|
|
106
|
+
)
|
|
107
|
+
),
|
|
108
|
+
browserslist: zod.z.optional(zod.z.array(zod.z.string()))
|
|
109
|
+
});
|
|
110
|
+
async function _loadPkg(options) {
|
|
111
|
+
const { cwd } = options;
|
|
112
|
+
const pkgPath = await pkgUp__default["default"]({ cwd });
|
|
113
|
+
if (!pkgPath)
|
|
114
|
+
throw new Error("no package.json found");
|
|
115
|
+
const buf = await fs__default["default"].readFile(pkgPath);
|
|
116
|
+
return pkgSchema.parse(JSON.parse(buf.toString()));
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
async function _loadPkgWithReporting(options) {
|
|
120
|
+
try {
|
|
121
|
+
return await _loadPkg(options);
|
|
122
|
+
} catch (err) {
|
|
123
|
+
if (err instanceof zod.ZodError) {
|
|
124
|
+
for (const issue of err.issues) {
|
|
125
|
+
if (issue.code === "invalid_type") {
|
|
126
|
+
console.log(
|
|
127
|
+
`${chalk__default["default"].red("invalid type")} in ./package.json at ${chalk__default["default"].magenta(
|
|
128
|
+
`\`${issue.path.join("")}\``
|
|
129
|
+
)} (expected ${issue.expected}, received ${issue.received})`
|
|
130
|
+
);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
} else {
|
|
134
|
+
console.error(err);
|
|
135
|
+
}
|
|
136
|
+
process.exit(1);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
function _parseExports(options) {
|
|
141
|
+
const { pkg } = options;
|
|
142
|
+
const rootExport = {
|
|
143
|
+
_exported: true,
|
|
144
|
+
_path: ".",
|
|
145
|
+
browser: pkg.browser && {
|
|
146
|
+
require: pkg.main && pkg.browser[pkg.main],
|
|
147
|
+
import: pkg.module && pkg.browser[pkg.module]
|
|
148
|
+
},
|
|
149
|
+
source: pkg.source || "index.js",
|
|
150
|
+
require: pkg.main,
|
|
151
|
+
import: pkg.module,
|
|
152
|
+
types: pkg.types
|
|
153
|
+
};
|
|
154
|
+
const extraExports = [];
|
|
155
|
+
if (pkg.exports) {
|
|
156
|
+
for (const [exportPath, exportEntry] of Object.entries(pkg.exports)) {
|
|
157
|
+
if (_isRecord(exportEntry)) {
|
|
158
|
+
if (exportPath === ".") {
|
|
159
|
+
Object.assign(rootExport, exportEntry);
|
|
160
|
+
} else {
|
|
161
|
+
const extraExport = {
|
|
162
|
+
_exported: true,
|
|
163
|
+
_path: exportPath,
|
|
164
|
+
...exportEntry
|
|
165
|
+
};
|
|
166
|
+
extraExports.push(extraExport);
|
|
167
|
+
}
|
|
168
|
+
} else {
|
|
169
|
+
throw new Error("string entries are not supported");
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
return [rootExport, ...extraExports];
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
async function _loadTSConfig(options) {
|
|
177
|
+
const { cwd, tsconfigPath } = options;
|
|
178
|
+
const configPath = ts__default["default"].findConfigFile(cwd, ts__default["default"].sys.fileExists, tsconfigPath);
|
|
179
|
+
if (!configPath) {
|
|
180
|
+
throw new Error(`could not find a valid '${tsconfigPath}'`);
|
|
181
|
+
}
|
|
182
|
+
const configFile = ts__default["default"].readConfigFile(configPath, ts__default["default"].sys.readFile);
|
|
183
|
+
return ts__default["default"].parseJsonConfigFileContent(configFile.config, ts__default["default"].sys, cwd);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
function _sortAsNumber(a, b) {
|
|
187
|
+
const aVersion = Number(a);
|
|
188
|
+
const bVersion = Number(b);
|
|
189
|
+
return aVersion - bVersion;
|
|
190
|
+
}
|
|
191
|
+
function _resolveBrowserslistVersions(query) {
|
|
192
|
+
const result = browserslist__default["default"](query);
|
|
193
|
+
const entries = result.map((key) => {
|
|
194
|
+
const [name, version] = key.split(" ");
|
|
195
|
+
return { name, version: version.split("-")[0].split(".")[0] };
|
|
196
|
+
});
|
|
197
|
+
const andChr = entries.filter((b) => b.name === "and_chr");
|
|
198
|
+
const andFf = entries.filter((b) => b.name === "and_ff");
|
|
199
|
+
const chrome = entries.filter((b) => b.name === "chrome");
|
|
200
|
+
const edge = entries.filter((b) => b.name === "edge");
|
|
201
|
+
const ff = entries.filter((b) => b.name === "firefox");
|
|
202
|
+
const iosSaf = entries.filter((b) => b.name === "ios_saf");
|
|
203
|
+
const saf = entries.filter((b) => b.name === "safari");
|
|
204
|
+
const opera = entries.filter((b) => b.name === "opera");
|
|
205
|
+
const node = entries.filter((b) => b.name === "node");
|
|
206
|
+
const versions = {
|
|
207
|
+
chrome: andChr.concat(chrome).map((b) => b.version),
|
|
208
|
+
ff: andFf.concat(ff).map((b) => b.version),
|
|
209
|
+
edge: edge.map((b) => b.version),
|
|
210
|
+
iosSaf: iosSaf.map((b) => b.version),
|
|
211
|
+
saf: saf.map((b) => b.version),
|
|
212
|
+
opera: opera.map((b) => b.version),
|
|
213
|
+
node: node.map((b) => b.version)
|
|
214
|
+
};
|
|
215
|
+
versions.chrome.sort(_sortAsNumber);
|
|
216
|
+
versions.ff.sort(_sortAsNumber);
|
|
217
|
+
versions.edge.sort(_sortAsNumber);
|
|
218
|
+
versions.iosSaf.sort(_sortAsNumber);
|
|
219
|
+
versions.saf.sort(_sortAsNumber);
|
|
220
|
+
versions.opera.sort(_sortAsNumber);
|
|
221
|
+
versions.node.sort(_sortAsNumber);
|
|
222
|
+
return versions;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
function _resolveBrowserTarget(versions) {
|
|
226
|
+
const target = [];
|
|
227
|
+
if (versions.chrome.length) {
|
|
228
|
+
target.push(`chrome${versions.chrome[0]}`);
|
|
229
|
+
}
|
|
230
|
+
if (versions.ff.length) {
|
|
231
|
+
target.push(`firefox${versions.ff[0]}`);
|
|
232
|
+
}
|
|
233
|
+
if (versions.edge.length) {
|
|
234
|
+
target.push(`edge${versions.edge[0]}`);
|
|
235
|
+
}
|
|
236
|
+
if (versions.iosSaf.length) {
|
|
237
|
+
target.push(`ios${versions.iosSaf[0]}`);
|
|
238
|
+
}
|
|
239
|
+
if (versions.saf.length) {
|
|
240
|
+
target.push(`safari${versions.saf[0]}`);
|
|
241
|
+
}
|
|
242
|
+
if (versions.opera.length) {
|
|
243
|
+
target.push(`opera${versions.opera[0]}`);
|
|
244
|
+
}
|
|
245
|
+
if (target.length === 0) {
|
|
246
|
+
return void 0;
|
|
247
|
+
}
|
|
248
|
+
return target;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
function _resolveNodeTarget(versions) {
|
|
252
|
+
const target = [];
|
|
253
|
+
if (versions.node.length) {
|
|
254
|
+
target.push(`node${versions.node[0]}`);
|
|
255
|
+
}
|
|
256
|
+
if (target.length === 0) {
|
|
257
|
+
return void 0;
|
|
258
|
+
}
|
|
259
|
+
return target;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
async function _resolveBuildContext(options) {
|
|
263
|
+
const { config, cwd, pkg, tsconfig: tsconfigPath } = options;
|
|
264
|
+
const tsconfig = await _loadTSConfig({ cwd, tsconfigPath });
|
|
265
|
+
const targetVersions = _resolveBrowserslistVersions(pkg.browserslist || _DEFAULTS.browserslist);
|
|
266
|
+
const srcPath = path__default["default"].resolve(cwd, (config == null ? void 0 : config.src) || "src");
|
|
267
|
+
const distPath = path__default["default"].resolve(cwd, (config == null ? void 0 : config.dist) || "dist");
|
|
268
|
+
const nodeTarget = _resolveNodeTarget(targetVersions);
|
|
269
|
+
const webTarget = _resolveBrowserTarget(targetVersions);
|
|
270
|
+
if (!nodeTarget) {
|
|
271
|
+
throw new Error("no matching `node` target");
|
|
272
|
+
}
|
|
273
|
+
if (!webTarget) {
|
|
274
|
+
throw new Error("no matching `web` target");
|
|
275
|
+
}
|
|
276
|
+
const target = {
|
|
277
|
+
"*": webTarget.concat(nodeTarget),
|
|
278
|
+
browser: webTarget,
|
|
279
|
+
node: nodeTarget
|
|
280
|
+
};
|
|
281
|
+
const parsedExports = _parseExports({ pkg }).reduce((acc, x) => {
|
|
282
|
+
const { _path: exportPath, ...exportEntry } = x;
|
|
283
|
+
return { ...acc, [exportPath]: exportEntry };
|
|
284
|
+
}, {});
|
|
285
|
+
const exports = _resolveConfigProperty(config == null ? void 0 : config.exports, parsedExports);
|
|
286
|
+
const parsedExternal = [
|
|
287
|
+
...pkg.dependencies ? Object.keys(pkg.dependencies) : [],
|
|
288
|
+
...pkg.peerDependencies ? Object.keys(pkg.peerDependencies) : []
|
|
289
|
+
];
|
|
290
|
+
const external = _resolveConfigProperty(config == null ? void 0 : config.external, parsedExternal);
|
|
291
|
+
const ctx = {
|
|
292
|
+
config,
|
|
293
|
+
cwd,
|
|
294
|
+
dist: path__default["default"].relative(cwd, distPath),
|
|
295
|
+
exports,
|
|
296
|
+
external,
|
|
297
|
+
files: [],
|
|
298
|
+
logger: {
|
|
299
|
+
log: (...args) => {
|
|
300
|
+
console.log(...args);
|
|
301
|
+
},
|
|
302
|
+
info: (...args) => {
|
|
303
|
+
console.log(chalk__default["default"].blue(" info"), ...args);
|
|
304
|
+
},
|
|
305
|
+
warn: (...args) => {
|
|
306
|
+
console.log(chalk__default["default"].yellow(" warn"), ...args);
|
|
307
|
+
},
|
|
308
|
+
error: (...args) => {
|
|
309
|
+
console.log(chalk__default["default"].red(" fail"), ...args);
|
|
310
|
+
},
|
|
311
|
+
success: (...args) => {
|
|
312
|
+
console.log(chalk__default["default"].green(" ok "), ...args);
|
|
313
|
+
}
|
|
314
|
+
},
|
|
315
|
+
pkg,
|
|
316
|
+
src: path__default["default"].relative(cwd, srcPath),
|
|
317
|
+
runtime: (config == null ? void 0 : config.runtime) ?? "*",
|
|
318
|
+
target,
|
|
319
|
+
ts: {
|
|
320
|
+
config: tsconfig,
|
|
321
|
+
configPath: tsconfigPath
|
|
322
|
+
}
|
|
323
|
+
};
|
|
324
|
+
return ctx;
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
exports._DEFAULTS = _DEFAULTS;
|
|
328
|
+
exports._isRecord = _isRecord;
|
|
329
|
+
exports._loadConfig = _loadConfig;
|
|
330
|
+
exports._loadPkg = _loadPkg;
|
|
331
|
+
exports._loadPkgWithReporting = _loadPkgWithReporting;
|
|
332
|
+
exports._loadTSConfig = _loadTSConfig;
|
|
333
|
+
exports._parseExports = _parseExports;
|
|
334
|
+
exports._resolveBuildContext = _resolveBuildContext;
|
|
335
|
+
exports._resolveConfigProperty = _resolveConfigProperty;
|
|
336
|
+
//# sourceMappingURL=__resolveBuildContext-1b29cff2.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"__resolveBuildContext-1b29cff2.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 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 exports: z.optional(\n z.record(\n z.object({\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 types: z.optional(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 browser: pkg.browser && {\n require: pkg.main && pkg.browser[pkg.main],\n import: pkg.module && pkg.browser[pkg.module],\n },\n source: pkg.source || 'index.js',\n require: pkg.main,\n import: pkg.module,\n types: pkg.types,\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":["pkgUp","path","register","findConfig","z","fs","ZodError","chalk","ts","browserslist"],"mappings":"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"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _resolveBuildContext = require('./__resolveBuildContext-1b29cff2.cjs');
|
|
4
|
+
require('typescript');
|
|
5
|
+
var _printPackageTree = require('./__printPackageTree-793a302b.cjs');
|
|
6
|
+
var fs = require('fs');
|
|
7
|
+
var path = require('path');
|
|
8
|
+
var chalk = require('chalk');
|
|
9
|
+
var ora = require('ora');
|
|
10
|
+
var index = require('./_index-c5bd1bc8.cjs');
|
|
11
|
+
|
|
12
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
13
|
+
|
|
14
|
+
var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
|
|
15
|
+
var path__default = /*#__PURE__*/_interopDefaultLegacy(path);
|
|
16
|
+
var chalk__default = /*#__PURE__*/_interopDefaultLegacy(chalk);
|
|
17
|
+
var ora__default = /*#__PURE__*/_interopDefaultLegacy(ora);
|
|
18
|
+
|
|
19
|
+
function _resolveBuildTasks(ctx) {
|
|
20
|
+
var _a, _b, _c, _d, _e;
|
|
21
|
+
const { cwd, pkg, target } = ctx;
|
|
22
|
+
const tasks = [];
|
|
23
|
+
const exports = Object.entries(ctx.exports || {}).map(
|
|
24
|
+
([_path, exp]) => ({ _path, ...exp })
|
|
25
|
+
);
|
|
26
|
+
const dtsTasks = {};
|
|
27
|
+
const rollupTasks = {};
|
|
28
|
+
function _addRollupTaskEntry(format, runtime, entry) {
|
|
29
|
+
const buildId = `${format}:${runtime}`;
|
|
30
|
+
if (!rollupTasks[buildId]) {
|
|
31
|
+
rollupTasks[buildId] = {
|
|
32
|
+
type: "build:js",
|
|
33
|
+
buildId,
|
|
34
|
+
entries: [entry],
|
|
35
|
+
runtime,
|
|
36
|
+
format,
|
|
37
|
+
target: target[runtime]
|
|
38
|
+
};
|
|
39
|
+
} else {
|
|
40
|
+
rollupTasks[buildId].entries.push(entry);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
for (const exp of exports) {
|
|
44
|
+
const importId = path__default["default"].join(pkg.name, exp._path);
|
|
45
|
+
if (exp.types) {
|
|
46
|
+
if (!dtsTasks[importId]) {
|
|
47
|
+
dtsTasks[importId] = {
|
|
48
|
+
type: "build:dts",
|
|
49
|
+
importId,
|
|
50
|
+
exportPath: exp._path,
|
|
51
|
+
source: exp.source,
|
|
52
|
+
output: exp.types
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
for (const exp of exports) {
|
|
58
|
+
const output = exp.require;
|
|
59
|
+
if (!output)
|
|
60
|
+
continue;
|
|
61
|
+
_addRollupTaskEntry("commonjs", ctx.runtime, {
|
|
62
|
+
path: exp._path,
|
|
63
|
+
source: exp.source,
|
|
64
|
+
output
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
for (const exp of exports) {
|
|
68
|
+
const output = (_a = exp.browser) == null ? void 0 : _a.require;
|
|
69
|
+
if (!output)
|
|
70
|
+
continue;
|
|
71
|
+
_addRollupTaskEntry("commonjs", "browser", {
|
|
72
|
+
path: exp._path,
|
|
73
|
+
source: ((_b = exp.browser) == null ? void 0 : _b.source) || exp.source,
|
|
74
|
+
output
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
for (const exp of exports) {
|
|
78
|
+
const output = exp.import;
|
|
79
|
+
if (!output)
|
|
80
|
+
continue;
|
|
81
|
+
_addRollupTaskEntry("esm", ctx.runtime, {
|
|
82
|
+
path: exp._path,
|
|
83
|
+
source: exp.source,
|
|
84
|
+
output
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
for (const exp of exports) {
|
|
88
|
+
const output = (_c = exp.browser) == null ? void 0 : _c.import;
|
|
89
|
+
if (!output)
|
|
90
|
+
continue;
|
|
91
|
+
_addRollupTaskEntry("esm", "browser", {
|
|
92
|
+
path: exp._path,
|
|
93
|
+
source: ((_d = exp.browser) == null ? void 0 : _d.source) || exp.source,
|
|
94
|
+
output
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
tasks.push(...Object.values(dtsTasks));
|
|
98
|
+
tasks.push(...Object.values(rollupTasks));
|
|
99
|
+
for (const exp of exports) {
|
|
100
|
+
if (exp._exported && exp._path !== ".") {
|
|
101
|
+
const relativeTargetPath = (((_e = exp.browser) == null ? void 0 : _e.import) || exp.import || "").replace(/\.[^/.]+$/, "");
|
|
102
|
+
if (relativeTargetPath) {
|
|
103
|
+
fs__default["default"].writeFileSync(
|
|
104
|
+
path__default["default"].resolve(cwd, `${exp._path}.js`),
|
|
105
|
+
[
|
|
106
|
+
`// AUTO-GENERATED \u2013 DO NOT EDIT`,
|
|
107
|
+
``,
|
|
108
|
+
`export {default} from '${relativeTargetPath}'`,
|
|
109
|
+
`export * from '${relativeTargetPath}'`,
|
|
110
|
+
``
|
|
111
|
+
].join("\n")
|
|
112
|
+
);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return tasks;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
function _spinner(msg) {
|
|
120
|
+
const startTime = Date.now();
|
|
121
|
+
const spinner = ora__default["default"]({
|
|
122
|
+
spinner: "dots",
|
|
123
|
+
text: `${chalk__default["default"].yellow("run ")} ${msg}`
|
|
124
|
+
});
|
|
125
|
+
spinner.color = "yellow";
|
|
126
|
+
spinner.start();
|
|
127
|
+
return {
|
|
128
|
+
complete: () => {
|
|
129
|
+
spinner.color = "green";
|
|
130
|
+
spinner.succeed(`${chalk__default["default"].green("ok ")} ${msg} ${chalk__default["default"].gray(`${Date.now() - startTime}ms`)}`);
|
|
131
|
+
},
|
|
132
|
+
error: () => {
|
|
133
|
+
spinner.color = "red";
|
|
134
|
+
spinner.fail(chalk__default["default"].red(`${msg} failed ${chalk__default["default"].gray(`${Date.now() - startTime}ms`)}`));
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
async function build(options) {
|
|
140
|
+
const { cwd, tsconfig = "tsconfig.json" } = options;
|
|
141
|
+
const pkg = await _resolveBuildContext._loadPkgWithReporting({ cwd });
|
|
142
|
+
const config = await _resolveBuildContext._loadConfig({ cwd });
|
|
143
|
+
const ctx = await _resolveBuildContext._resolveBuildContext({ config, cwd, pkg, tsconfig });
|
|
144
|
+
const buildTasks = _resolveBuildTasks(ctx);
|
|
145
|
+
for (const task of buildTasks) {
|
|
146
|
+
const handler = index._buildTaskHandlers[task.type];
|
|
147
|
+
const taskName = handler.name(ctx, task);
|
|
148
|
+
const spinner = _spinner(taskName);
|
|
149
|
+
try {
|
|
150
|
+
const result = await handler.exec(ctx, task).toPromise();
|
|
151
|
+
spinner.complete();
|
|
152
|
+
ctx.logger.log();
|
|
153
|
+
handler.complete(ctx, task, result);
|
|
154
|
+
} catch (err) {
|
|
155
|
+
spinner.error();
|
|
156
|
+
if (err instanceof Error) {
|
|
157
|
+
ctx.logger.error(err.message.replaceAll(cwd, "."));
|
|
158
|
+
ctx.logger.log();
|
|
159
|
+
}
|
|
160
|
+
handler.error(ctx, task, err);
|
|
161
|
+
process.exit(1);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
_printPackageTree._printPackageTree(ctx);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
exports._resolveBuildTasks = _resolveBuildTasks;
|
|
168
|
+
exports.build = build;
|
|
169
|
+
//# sourceMappingURL=_build-08236974.cjs.map
|