@sanity/pkg-utils 1.20.1 → 1.20.3
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/_chunks/{build-bcb33ba5.js → build-983490bb.js} +16 -14
- package/dist/_chunks/build-983490bb.js.map +1 -0
- package/dist/_chunks/{buildAction-f240dab8.js → buildAction-240dc427.js} +6 -6
- package/dist/_chunks/{buildAction-f240dab8.js.map → buildAction-240dc427.js.map} +1 -1
- package/dist/_chunks/{check-1ea361f5.js → check-6c4e87a9.js} +24 -24
- package/dist/_chunks/check-6c4e87a9.js.map +1 -0
- package/dist/_chunks/{checkAction-16be1201.js → checkAction-abd2cc3d.js} +4 -4
- package/dist/_chunks/{checkAction-16be1201.js.map → checkAction-abd2cc3d.js.map} +1 -1
- package/dist/_chunks/handleError-4062ca45.js +17 -0
- package/dist/_chunks/{handleError-65cf3242.js.map → handleError-4062ca45.js.map} +1 -1
- package/dist/_chunks/{index-79fdb33f.js → index-60a8ccaf.js} +96 -78
- package/dist/_chunks/index-60a8ccaf.js.map +1 -0
- package/dist/_chunks/{resolveBuildContext-f2feec19.js → resolveBuildContext-904acf0f.js} +46 -45
- package/dist/_chunks/resolveBuildContext-904acf0f.js.map +1 -0
- package/dist/_chunks/{watch-02c85f8a.js → watch-580faef0.js} +21 -19
- package/dist/_chunks/{watch-02c85f8a.js.map → watch-580faef0.js.map} +1 -1
- package/dist/_chunks/{watchAction-9cb9681b.js → watchAction-aabcb0fb.js} +6 -6
- package/dist/_chunks/{watchAction-9cb9681b.js.map → watchAction-aabcb0fb.js.map} +1 -1
- package/dist/cli.js +8 -8
- package/dist/cli.js.map +1 -1
- package/dist/index.esm.js +38 -22
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +6 -6
- package/dist/index.js.map +1 -1
- package/package.json +39 -39
- package/src/global.ts +6 -0
- package/src/node/core/config/loadConfig.ts +7 -9
- package/src/node/spinner.ts +1 -1
- package/src/node/tasks/rollup/resolveRollupConfig.ts +5 -8
- package/src/node/tasks/rollup/rollupTask.ts +23 -4
- package/dist/_chunks/build-bcb33ba5.js.map +0 -1
- package/dist/_chunks/check-1ea361f5.js.map +0 -1
- package/dist/_chunks/handleError-65cf3242.js +0 -17
- package/dist/_chunks/index-79fdb33f.js.map +0 -1
- package/dist/_chunks/resolveBuildContext-f2feec19.js.map +0 -1
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
4
4
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
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; }
|
|
5
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
6
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
7
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
6
8
|
var chalk = require('chalk');
|
|
7
9
|
var rxjs = require('rxjs');
|
|
8
10
|
var path = require('path');
|
|
@@ -24,31 +26,32 @@ var commonjs = require('@rollup/plugin-commonjs');
|
|
|
24
26
|
var json = require('@rollup/plugin-json');
|
|
25
27
|
var pluginNodeResolve = require('@rollup/plugin-node-resolve');
|
|
26
28
|
var replace = require('@rollup/plugin-replace');
|
|
29
|
+
var terser = require('@rollup/plugin-terser');
|
|
27
30
|
var esbuild = require('rollup-plugin-esbuild');
|
|
28
|
-
var
|
|
29
|
-
var resolveBuildContext = require('./resolveBuildContext-f2feec19.js');
|
|
31
|
+
var resolveBuildContext = require('./resolveBuildContext-904acf0f.js');
|
|
30
32
|
require('esbuild-register/dist/node');
|
|
31
33
|
require('pkg-up');
|
|
32
34
|
require('find-config');
|
|
33
35
|
require('zod');
|
|
34
|
-
function
|
|
36
|
+
function _interopDefaultCompat(e) {
|
|
35
37
|
return e && typeof e === 'object' && 'default' in e ? e : {
|
|
36
|
-
|
|
38
|
+
default: e
|
|
37
39
|
};
|
|
38
40
|
}
|
|
39
|
-
var chalk__default = /*#__PURE__*/
|
|
40
|
-
var path__default = /*#__PURE__*/
|
|
41
|
-
var rimrafCallback__default = /*#__PURE__*/
|
|
42
|
-
var ts__default = /*#__PURE__*/
|
|
43
|
-
var fs__default = /*#__PURE__*/
|
|
44
|
-
var mkdirp__default = /*#__PURE__*/
|
|
45
|
-
var prettier__default = /*#__PURE__*/
|
|
46
|
-
var typeScriptParser__default = /*#__PURE__*/
|
|
47
|
-
var alias__default = /*#__PURE__*/
|
|
48
|
-
var commonjs__default = /*#__PURE__*/
|
|
49
|
-
var json__default = /*#__PURE__*/
|
|
50
|
-
var replace__default = /*#__PURE__*/
|
|
51
|
-
var
|
|
41
|
+
var chalk__default = /*#__PURE__*/_interopDefaultCompat(chalk);
|
|
42
|
+
var path__default = /*#__PURE__*/_interopDefaultCompat(path);
|
|
43
|
+
var rimrafCallback__default = /*#__PURE__*/_interopDefaultCompat(rimrafCallback);
|
|
44
|
+
var ts__default = /*#__PURE__*/_interopDefaultCompat(ts);
|
|
45
|
+
var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
|
|
46
|
+
var mkdirp__default = /*#__PURE__*/_interopDefaultCompat(mkdirp);
|
|
47
|
+
var prettier__default = /*#__PURE__*/_interopDefaultCompat(prettier);
|
|
48
|
+
var typeScriptParser__default = /*#__PURE__*/_interopDefaultCompat(typeScriptParser);
|
|
49
|
+
var alias__default = /*#__PURE__*/_interopDefaultCompat(alias);
|
|
50
|
+
var commonjs__default = /*#__PURE__*/_interopDefaultCompat(commonjs);
|
|
51
|
+
var json__default = /*#__PURE__*/_interopDefaultCompat(json);
|
|
52
|
+
var replace__default = /*#__PURE__*/_interopDefaultCompat(replace);
|
|
53
|
+
var terser__default = /*#__PURE__*/_interopDefaultCompat(terser);
|
|
54
|
+
var esbuild__default = /*#__PURE__*/_interopDefaultCompat(esbuild);
|
|
52
55
|
function printExtractMessages(ctx, messages) {
|
|
53
56
|
const {
|
|
54
57
|
cwd,
|
|
@@ -59,28 +62,28 @@ function printExtractMessages(ctx, messages) {
|
|
|
59
62
|
logger.log();
|
|
60
63
|
}
|
|
61
64
|
for (const msg of warnings) {
|
|
62
|
-
const sourceFilePath = msg.sourceFilePath && path__default
|
|
65
|
+
const sourceFilePath = msg.sourceFilePath && path__default.default.relative(cwd, msg.sourceFilePath);
|
|
63
66
|
if (msg.messageId === "TS6307") {
|
|
64
67
|
continue;
|
|
65
68
|
}
|
|
66
|
-
logger.log(["".concat(chalk__default
|
|
69
|
+
logger.log(["".concat(chalk__default.default.cyan(sourceFilePath || "?")), ":".concat(chalk__default.default.yellow(msg.sourceFileLine), ":").concat(chalk__default.default.yellow(msg.sourceFileColumn)), " - ".concat(chalk__default.default.yellow("warning"), " ").concat(chalk__default.default.gray(msg.messageId), "\n"), msg.text, "\n"].join(""));
|
|
67
70
|
}
|
|
68
71
|
const errors = messages.filter(msg => msg.logLevel === "error");
|
|
69
72
|
if (!warnings.length && errors.length) {
|
|
70
73
|
logger.log("");
|
|
71
74
|
}
|
|
72
75
|
for (const msg of errors) {
|
|
73
|
-
const sourceFilePath = msg.sourceFilePath && path__default
|
|
74
|
-
logger.log(["".concat(chalk__default
|
|
76
|
+
const sourceFilePath = msg.sourceFilePath && path__default.default.relative(cwd, msg.sourceFilePath);
|
|
77
|
+
logger.log(["".concat(chalk__default.default.cyan(sourceFilePath || "?")), ":".concat(chalk__default.default.yellow(msg.sourceFileLine), ":").concat(chalk__default.default.yellow(msg.sourceFileColumn)), " - ".concat(chalk__default.default.red("error"), " ").concat(chalk__default.default.gray(msg.messageId), "\n"), msg.text, "\n"].join(""));
|
|
75
78
|
}
|
|
76
79
|
if (errors.length) {
|
|
77
80
|
process.exit(1);
|
|
78
81
|
}
|
|
79
82
|
}
|
|
80
83
|
const formatHost = {
|
|
81
|
-
getCurrentDirectory: () => ts__default
|
|
82
|
-
getNewLine: () => ts__default
|
|
83
|
-
getCanonicalFileName: ts__default
|
|
84
|
+
getCurrentDirectory: () => ts__default.default.sys.getCurrentDirectory(),
|
|
85
|
+
getNewLine: () => ts__default.default.sys.newLine,
|
|
86
|
+
getCanonicalFileName: ts__default.default.sys.useCaseSensitiveFileNames ? f => f : f => f.toLowerCase()
|
|
84
87
|
};
|
|
85
88
|
async function buildTypes(options) {
|
|
86
89
|
const {
|
|
@@ -95,25 +98,25 @@ async function buildTypes(options) {
|
|
|
95
98
|
noEmit: false,
|
|
96
99
|
outDir
|
|
97
100
|
});
|
|
98
|
-
const program = ts__default
|
|
101
|
+
const program = ts__default.default.createProgram(tsconfig.fileNames, compilerOptions);
|
|
99
102
|
const emitResult = program.emit();
|
|
100
|
-
const allDiagnostics = ts__default
|
|
103
|
+
const allDiagnostics = ts__default.default.getPreEmitDiagnostics(program).concat(emitResult.diagnostics);
|
|
101
104
|
allDiagnostics.forEach(diagnostic => {
|
|
102
105
|
if (diagnostic.file && diagnostic.start) {
|
|
103
106
|
const {
|
|
104
107
|
line,
|
|
105
108
|
character
|
|
106
|
-
} = ts__default
|
|
107
|
-
const message = ts__default
|
|
109
|
+
} = ts__default.default.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start);
|
|
110
|
+
const message = ts__default.default.flattenDiagnosticMessageText(diagnostic.messageText, "\n");
|
|
108
111
|
console.log("".concat(diagnostic.file.fileName, " ").concat(line + 1, ":").concat(character + 1, "\n").concat(message));
|
|
109
112
|
} else {
|
|
110
|
-
console.log(ts__default
|
|
113
|
+
console.log(ts__default.default.flattenDiagnosticMessageText(diagnostic.messageText, "\n"));
|
|
111
114
|
}
|
|
112
115
|
});
|
|
113
116
|
if (emitResult.emitSkipped) {
|
|
114
|
-
const errors = allDiagnostics.filter(diag => diag.category === ts__default
|
|
117
|
+
const errors = allDiagnostics.filter(diag => diag.category === ts__default.default.DiagnosticCategory.Error);
|
|
115
118
|
if (errors.length) {
|
|
116
|
-
console.error(ts__default
|
|
119
|
+
console.error(ts__default.default.formatDiagnostics(errors, formatHost));
|
|
117
120
|
if (strict) {
|
|
118
121
|
throw new Error("failed to compile TypeScript definitions");
|
|
119
122
|
}
|
|
@@ -146,11 +149,11 @@ function createApiExtractorConfig(options) {
|
|
|
146
149
|
},
|
|
147
150
|
docModel: {
|
|
148
151
|
enabled: false,
|
|
149
|
-
apiJsonFilePath: path__default
|
|
152
|
+
apiJsonFilePath: path__default.default.resolve(distPath, "".concat(exportPath, ".api.json"))
|
|
150
153
|
},
|
|
151
154
|
dtsRollup: {
|
|
152
155
|
enabled: true,
|
|
153
|
-
untrimmedFilePath: path__default
|
|
156
|
+
untrimmedFilePath: path__default.default.resolve(distPath, filePath)
|
|
154
157
|
},
|
|
155
158
|
tsdocMetadata: {
|
|
156
159
|
enabled: false
|
|
@@ -202,7 +205,7 @@ async function extractModuleBlocksFromTypes(_ref) {
|
|
|
202
205
|
}
|
|
203
206
|
function extractModuleBlocks(fileContent) {
|
|
204
207
|
const ast = recast.parse(fileContent, {
|
|
205
|
-
parser: typeScriptParser__default
|
|
208
|
+
parser: typeScriptParser__default.default
|
|
206
209
|
});
|
|
207
210
|
return ast.program.body.filter(node => node.type === "TSModuleDeclaration").map(node => recast.print(node).code);
|
|
208
211
|
}
|
|
@@ -302,7 +305,7 @@ async function extractTypes(options) {
|
|
|
302
305
|
}),
|
|
303
306
|
configObjectFullPath: void 0,
|
|
304
307
|
tsdocConfigFile,
|
|
305
|
-
packageJsonFullPath: path__default
|
|
308
|
+
packageJsonFullPath: path__default.default.resolve(projectPath, "package.json")
|
|
306
309
|
});
|
|
307
310
|
const messages = [];
|
|
308
311
|
const extractorResult = apiExtractor.Extractor.invoke(extractorConfig, {
|
|
@@ -313,16 +316,16 @@ async function extractTypes(options) {
|
|
|
313
316
|
message.handled = true;
|
|
314
317
|
}
|
|
315
318
|
});
|
|
316
|
-
const typesPath = path__default
|
|
317
|
-
const typesBuf = await fs__default
|
|
318
|
-
const prettierConfig = await prettier__default
|
|
319
|
-
await mkdirp__default
|
|
319
|
+
const typesPath = path__default.default.resolve(distPath, filePath);
|
|
320
|
+
const typesBuf = await fs__default.default.readFile(typesPath);
|
|
321
|
+
const prettierConfig = await prettier__default.default.resolveConfig(typesPath);
|
|
322
|
+
await mkdirp__default.default(path__default.default.dirname(typesPath));
|
|
320
323
|
const moduleBlocks = await extractModuleBlocksFromTypes({
|
|
321
324
|
extractResult: extractorResult,
|
|
322
325
|
tsOutDir: tmpPath
|
|
323
326
|
});
|
|
324
327
|
const code = [typesBuf.toString(), ...moduleBlocks].join("\n\n");
|
|
325
|
-
await fs__default
|
|
328
|
+
await fs__default.default.writeFile(typesPath, prettier__default.default.format(code, _objectSpread(_objectSpread({}, prettierConfig), {}, {
|
|
326
329
|
filepath: typesPath
|
|
327
330
|
})));
|
|
328
331
|
files.push({
|
|
@@ -334,7 +337,7 @@ async function extractTypes(options) {
|
|
|
334
337
|
messages
|
|
335
338
|
};
|
|
336
339
|
}
|
|
337
|
-
const rimraf = util.promisify(rimrafCallback__default
|
|
340
|
+
const rimraf = util.promisify(rimrafCallback__default.default);
|
|
338
341
|
async function doExtract(ctx, task) {
|
|
339
342
|
var _a, _b;
|
|
340
343
|
const {
|
|
@@ -358,7 +361,7 @@ async function doExtract(ctx, task) {
|
|
|
358
361
|
if (!outDir) {
|
|
359
362
|
throw new Error("tsconfig.json is missing `compilerOptions.outDir`");
|
|
360
363
|
}
|
|
361
|
-
const tmpPath = path__default
|
|
364
|
+
const tmpPath = path__default.default.resolve(outDir, "__tmp__");
|
|
362
365
|
await buildTypes({
|
|
363
366
|
cwd,
|
|
364
367
|
outDir: tmpPath,
|
|
@@ -369,9 +372,9 @@ async function doExtract(ctx, task) {
|
|
|
369
372
|
const results = [];
|
|
370
373
|
for (const entry of task.entries) {
|
|
371
374
|
const exportPath = entry.exportPath === "." ? "./index" : entry.exportPath;
|
|
372
|
-
const sourceTypesPath = path__default
|
|
373
|
-
const targetPath = path__default
|
|
374
|
-
const filePath = path__default
|
|
375
|
+
const sourceTypesPath = path__default.default.resolve(tmpPath, path__default.default.relative(rootDir, path__default.default.resolve(cwd, entry.sourcePath)).replace(/\.ts$/, ".d.ts"));
|
|
376
|
+
const targetPath = path__default.default.resolve(cwd, entry.targetPath);
|
|
377
|
+
const filePath = path__default.default.relative(outDir, targetPath);
|
|
375
378
|
const result = await extractTypes({
|
|
376
379
|
customTags: (_a = config == null ? void 0 : config.extract) == null ? void 0 : _a.customTags,
|
|
377
380
|
cwd,
|
|
@@ -383,7 +386,7 @@ async function doExtract(ctx, task) {
|
|
|
383
386
|
rules: (_b = config == null ? void 0 : config.extract) == null ? void 0 : _b.rules,
|
|
384
387
|
sourceTypesPath,
|
|
385
388
|
tmpPath,
|
|
386
|
-
tsconfigPath: path__default
|
|
389
|
+
tsconfigPath: path__default.default.resolve(cwd, ts.configPath || "tsconfig.json")
|
|
387
390
|
});
|
|
388
391
|
messages.push(...result.messages);
|
|
389
392
|
if (result.messages.some(msg => msg.logLevel === "error")) {
|
|
@@ -391,7 +394,7 @@ async function doExtract(ctx, task) {
|
|
|
391
394
|
throw new DtsError("encountered errors when extracting types", result.messages);
|
|
392
395
|
}
|
|
393
396
|
results.push({
|
|
394
|
-
sourcePath: path__default
|
|
397
|
+
sourcePath: path__default.default.resolve(cwd, entry.sourcePath),
|
|
395
398
|
filePath: targetPath
|
|
396
399
|
});
|
|
397
400
|
}
|
|
@@ -403,7 +406,7 @@ async function doExtract(ctx, task) {
|
|
|
403
406
|
};
|
|
404
407
|
}
|
|
405
408
|
const dtsTask = {
|
|
406
|
-
name: (_ctx, task) => ["build type definitions", ...task.entries.map(entry => " ".concat(chalk__default
|
|
409
|
+
name: (_ctx, task) => ["build type definitions", ...task.entries.map(entry => " ".concat(chalk__default.default.blue(entry.importId), ": ").concat(entry.sourcePath, " -> ").concat(entry.targetPath))].join("\n"),
|
|
407
410
|
exec: (ctx, task) => {
|
|
408
411
|
return new rxjs.Observable(observer => {
|
|
409
412
|
doExtract(ctx, task).then(result => {
|
|
@@ -429,7 +432,7 @@ const dtsTask = {
|
|
|
429
432
|
}
|
|
430
433
|
};
|
|
431
434
|
const dtsWatchTask = {
|
|
432
|
-
name: (_ctx, task) => ["build type definitions", ...task.entries.map(entry => " ".concat(chalk__default
|
|
435
|
+
name: (_ctx, task) => ["build type definitions", ...task.entries.map(entry => " ".concat(chalk__default.default.blue(entry.importId), ": ").concat(entry.sourcePath, " -> ").concat(entry.targetPath))].join("\n"),
|
|
433
436
|
exec: (ctx, task) => {
|
|
434
437
|
return new rxjs.Observable(observer => {
|
|
435
438
|
doExtract(ctx, task).then(result => {
|
|
@@ -477,49 +480,49 @@ function resolveRollupConfig(ctx, buildTask) {
|
|
|
477
480
|
} = ctx;
|
|
478
481
|
const outputExt = resolveBuildContext.MODULE_EXT[pkg.type][format];
|
|
479
482
|
const minify = (_ref2 = config == null ? void 0 : config.minify) !== null && _ref2 !== void 0 ? _ref2 : true;
|
|
480
|
-
const outDir = path__default
|
|
483
|
+
const outDir = path__default.default.relative(cwd, distPath);
|
|
481
484
|
const pathAliases = Object.fromEntries(Object.entries(((_a = ts.config) == null ? void 0 : _a.options.paths) || {}).map(_ref3 => {
|
|
482
485
|
let [key, val] = _ref3;
|
|
483
486
|
var _a2;
|
|
484
|
-
return [key, path__default
|
|
487
|
+
return [key, path__default.default.resolve(cwd, ((_a2 = ts.config) == null ? void 0 : _a2.options.baseUrl) || ".", val[0])];
|
|
485
488
|
}));
|
|
486
489
|
const entries = buildTask.entries.map(entry => {
|
|
487
490
|
return _objectSpread(_objectSpread({}, entry), {}, {
|
|
488
|
-
name: path__default
|
|
491
|
+
name: path__default.default.relative(outDir, entry.output).replace(/\.[^/.]+$/, "")
|
|
489
492
|
});
|
|
490
493
|
}, {});
|
|
491
|
-
const exportIds = _exports && Object.keys(_exports).map(exportPath => path__default
|
|
492
|
-
const sourcePaths = _exports && Object.values(_exports).map(e => path__default
|
|
494
|
+
const exportIds = _exports && Object.keys(_exports).map(exportPath => path__default.default.join(pkg.name, exportPath));
|
|
495
|
+
const sourcePaths = _exports && Object.values(_exports).map(e => path__default.default.resolve(cwd, e.source));
|
|
493
496
|
const replacements = Object.fromEntries(Object.entries((config == null ? void 0 : config.define) || {}).map(_ref4 => {
|
|
494
497
|
let [key, val] = _ref4;
|
|
495
498
|
return [key, JSON.stringify(val)];
|
|
496
499
|
}));
|
|
497
|
-
const defaultPlugins = [replace__default
|
|
500
|
+
const defaultPlugins = [replace__default.default({
|
|
498
501
|
preventAssignment: true,
|
|
499
502
|
values: _objectSpread({}, pkg.name === "@sanity/pkg-utils" ? _objectSpread({}, replacements) : _objectSpread({
|
|
500
503
|
"process.env.PKG_FILE_PATH": arg => {
|
|
501
|
-
const sourcePath = "./" + path__default
|
|
504
|
+
const sourcePath = "./" + path__default.default.relative(cwd, arg);
|
|
502
505
|
const entry = entries.find(e => e.source === sourcePath);
|
|
503
506
|
if (!entry) {
|
|
504
507
|
console.error("could not find source entry: ".concat(sourcePath));
|
|
505
508
|
return "null";
|
|
506
509
|
}
|
|
507
|
-
return JSON.stringify(path__default
|
|
510
|
+
return JSON.stringify(path__default.default.relative(cwd, path__default.default.resolve(outDir, entry.name + outputExt)));
|
|
508
511
|
},
|
|
509
512
|
"process.env.PKG_FORMAT": JSON.stringify(format),
|
|
510
513
|
"process.env.PKG_RUNTIME": JSON.stringify(runtime),
|
|
511
514
|
"process.env.PKG_VERSION": JSON.stringify(process.env.PKG_VERSION || pkg.version)
|
|
512
515
|
}, replacements))
|
|
513
|
-
}), alias__default
|
|
516
|
+
}), alias__default.default({
|
|
514
517
|
entries: _objectSpread({}, pathAliases)
|
|
515
518
|
}), pluginNodeResolve.nodeResolve({
|
|
516
519
|
browser: runtime === "browser",
|
|
517
520
|
extensions: [".cjs", ".mjs", ".js", ".jsx", ".json", ".node"],
|
|
518
521
|
preferBuiltins: true
|
|
519
|
-
}), commonjs__default
|
|
522
|
+
}), commonjs__default.default({
|
|
520
523
|
esmExternals: false,
|
|
521
524
|
extensions: [".js"]
|
|
522
|
-
}), json__default
|
|
525
|
+
}), json__default.default(), esbuild__default.default({
|
|
523
526
|
jsx: (_ref5 = config == null ? void 0 : config.jsx) !== null && _ref5 !== void 0 ? _ref5 : "automatic",
|
|
524
527
|
jsxFactory: (_ref6 = config == null ? void 0 : config.jsxFactory) !== null && _ref6 !== void 0 ? _ref6 : "createElement",
|
|
525
528
|
jsxFragment: (_ref7 = config == null ? void 0 : config.jsxFragment) !== null && _ref7 !== void 0 ? _ref7 : "Fragment",
|
|
@@ -532,7 +535,7 @@ function resolveRollupConfig(ctx, buildTask) {
|
|
|
532
535
|
presets: [["@babel/preset-env", {
|
|
533
536
|
targets: pkg.browserslist || resolveBuildContext.DEFAULT_BROWSERSLIST_QUERY
|
|
534
537
|
}]]
|
|
535
|
-
}), minify &&
|
|
538
|
+
}), minify && terser__default.default({
|
|
536
539
|
output: {
|
|
537
540
|
comments: (_node, comment) => {
|
|
538
541
|
const text = comment.value;
|
|
@@ -554,9 +557,9 @@ function resolveRollupConfig(ctx, buildTask) {
|
|
|
554
557
|
return true;
|
|
555
558
|
}
|
|
556
559
|
if (importer && (id.startsWith(".") || id.startsWith("/"))) {
|
|
557
|
-
const idPath = path__default
|
|
560
|
+
const idPath = path__default.default.resolve(path__default.default.dirname(importer), id);
|
|
558
561
|
if (sourcePaths == null ? void 0 : sourcePaths.includes(idPath)) {
|
|
559
|
-
logger.warn("detected self-referencing import \u2013 treating as external: ".concat(path__default
|
|
562
|
+
logger.warn("detected self-referencing import \u2013 treating as external: ".concat(path__default.default.relative(cwd, idPath)));
|
|
560
563
|
return true;
|
|
561
564
|
}
|
|
562
565
|
}
|
|
@@ -572,11 +575,6 @@ function resolveRollupConfig(ctx, buildTask) {
|
|
|
572
575
|
[entry.name]: entry.source
|
|
573
576
|
});
|
|
574
577
|
}, {}),
|
|
575
|
-
onwarn(warning, rollupWarn) {
|
|
576
|
-
if (!warning.code || !["CIRCULAR_DEPENDENCY"].includes(warning.code)) {
|
|
577
|
-
rollupWarn(warning);
|
|
578
|
-
}
|
|
579
|
-
},
|
|
580
578
|
plugins,
|
|
581
579
|
treeshake: {
|
|
582
580
|
propertyReadSideEffects: false
|
|
@@ -584,16 +582,19 @@ function resolveRollupConfig(ctx, buildTask) {
|
|
|
584
582
|
},
|
|
585
583
|
outputOptions: {
|
|
586
584
|
chunkFileNames: () => "_chunks/[name]-[hash]".concat(outputExt),
|
|
585
|
+
compact: minify,
|
|
587
586
|
dir: outDir,
|
|
588
587
|
entryFileNames: () => outputExt === ".esm.js" ? "[name].js" : "[name]".concat(outputExt),
|
|
588
|
+
esModule: true,
|
|
589
589
|
format,
|
|
590
|
-
|
|
590
|
+
interop: "compat",
|
|
591
|
+
minifyInternalExports: minify,
|
|
591
592
|
sourcemap: (_ref9 = config == null ? void 0 : config.sourcemap) !== null && _ref9 !== void 0 ? _ref9 : true
|
|
592
593
|
}
|
|
593
594
|
};
|
|
594
595
|
}
|
|
595
596
|
const rollupTask = {
|
|
596
|
-
name: (ctx, task) => "build javascript files (target ".concat(task.target.join(" + "), ", format ").concat(task.format, ")\n ").concat(task.entries.map(e => "".concat(chalk__default
|
|
597
|
+
name: (ctx, task) => "build javascript files (target ".concat(task.target.join(" + "), ", format ").concat(task.format, ")\n ").concat(task.entries.map(e => "".concat(chalk__default.default.blue(path__default.default.join(ctx.pkg.name, e.path)), ": ").concat(e.source, " -> ").concat(e.output)).join("\n ")),
|
|
597
598
|
exec: (ctx, task) => {
|
|
598
599
|
return new rxjs.Observable(observer => {
|
|
599
600
|
execPromise(ctx, task).then(result => {
|
|
@@ -614,25 +615,42 @@ async function execPromise(ctx, task) {
|
|
|
614
615
|
files,
|
|
615
616
|
distPath
|
|
616
617
|
} = ctx;
|
|
617
|
-
const outDir = path__default
|
|
618
|
+
const outDir = path__default.default.relative(ctx.cwd, distPath);
|
|
619
|
+
const _console = {
|
|
620
|
+
log: console.log,
|
|
621
|
+
warn: console.warn,
|
|
622
|
+
error: console.error
|
|
623
|
+
};
|
|
618
624
|
const {
|
|
619
625
|
inputOptions,
|
|
620
626
|
outputOptions
|
|
621
627
|
} = resolveRollupConfig(ctx, task);
|
|
622
|
-
|
|
628
|
+
console.log = () => void 0;
|
|
629
|
+
console.warn = () => void 0;
|
|
630
|
+
console.error = () => void 0;
|
|
631
|
+
const bundle = await rollup.rollup(_objectSpread(_objectSpread({}, inputOptions), {}, {
|
|
632
|
+
onwarn(warning) {
|
|
633
|
+
if (!warning.code || !["CIRCULAR_DEPENDENCY"].includes(warning.code)) {
|
|
634
|
+
_console.warn.bind(console)(chalk__default.default.yellow("warn "), warning.message);
|
|
635
|
+
}
|
|
636
|
+
}
|
|
637
|
+
}));
|
|
623
638
|
const {
|
|
624
639
|
output
|
|
625
640
|
} = await bundle.generate(outputOptions);
|
|
641
|
+
console.log = _console.log;
|
|
642
|
+
console.warn = _console.warn;
|
|
643
|
+
console.error = _console.error;
|
|
626
644
|
for (const chunkOrAsset of output) {
|
|
627
645
|
if (chunkOrAsset.type === "asset") {
|
|
628
646
|
files.push({
|
|
629
647
|
type: "asset",
|
|
630
|
-
path: path__default
|
|
648
|
+
path: path__default.default.resolve(outDir, chunkOrAsset.fileName)
|
|
631
649
|
});
|
|
632
650
|
} else {
|
|
633
651
|
files.push({
|
|
634
652
|
type: "chunk",
|
|
635
|
-
path: path__default
|
|
653
|
+
path: path__default.default.resolve(outDir, chunkOrAsset.fileName)
|
|
636
654
|
});
|
|
637
655
|
}
|
|
638
656
|
}
|
|
@@ -640,7 +658,7 @@ async function execPromise(ctx, task) {
|
|
|
640
658
|
await bundle.close();
|
|
641
659
|
}
|
|
642
660
|
const rollupWatchTask = {
|
|
643
|
-
name: (ctx, task) => "build javascript files (target ".concat(task.target.join(" + "), ", format ").concat(task.format, ")\n ").concat(task.entries.map(e => "".concat(chalk__default
|
|
661
|
+
name: (ctx, task) => "build javascript files (target ".concat(task.target.join(" + "), ", format ").concat(task.format, ")\n ").concat(task.entries.map(e => "".concat(chalk__default.default.blue(path__default.default.join(ctx.pkg.name, e.path)), ": ").concat(e.source, " -> ").concat(e.output)).join("\n ")),
|
|
644
662
|
exec: (ctx, task) => {
|
|
645
663
|
const {
|
|
646
664
|
inputOptions,
|
|
@@ -664,7 +682,7 @@ const rollupWatchTask = {
|
|
|
664
682
|
logger
|
|
665
683
|
} = ctx;
|
|
666
684
|
if (event.code === "BUNDLE_END") {
|
|
667
|
-
logger.success("build javascript files (target ".concat(task.target.join(" + "), ", format ").concat(task.format, ")\n ").concat(task.entries.map(e => "".concat(chalk__default
|
|
685
|
+
logger.success("build javascript files (target ".concat(task.target.join(" + "), ", format ").concat(task.format, ")\n ").concat(task.entries.map(e => "".concat(chalk__default.default.blue(path__default.default.join(ctx.pkg.name, e.path)), ": ").concat(e.source, " -> ").concat(e.output)).join("\n ")));
|
|
668
686
|
logger.log("");
|
|
669
687
|
return;
|
|
670
688
|
}
|
|
@@ -706,4 +724,4 @@ exports.getExtractMessagesConfig = getExtractMessagesConfig;
|
|
|
706
724
|
exports.rollupTask = rollupTask;
|
|
707
725
|
exports.rollupWatchTask = rollupWatchTask;
|
|
708
726
|
exports.watchTaskHandlers = watchTaskHandlers;
|
|
709
|
-
//# sourceMappingURL=index-
|
|
727
|
+
//# sourceMappingURL=index-60a8ccaf.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-60a8ccaf.js","sources":["../../src/node/printExtractMessages.ts","../../src/node/tasks/dts/buildTypes.ts","../../src/node/tasks/dts/DtsError.ts","../../src/node/tasks/dts/createApiExtractorConfig.ts","../../src/node/tasks/dts/createTSDocConfig.ts","../../src/node/tasks/dts/extractModuleBlocks.ts","../../src/node/tasks/dts/getExtractMessagesConfig.ts","../../src/node/tasks/dts/extractTypes.ts","../../src/node/tasks/dts/doExtract.ts","../../src/node/tasks/dts/dtsTask.ts","../../src/node/tasks/dts/dtsWatchTask.ts","../../src/node/tasks/rollup/resolveRollupConfig.ts","../../src/node/tasks/rollup/rollupTask.ts","../../src/node/tasks/rollup/rollupWatchTask.ts","../../src/node/tasks/index.ts"],"sourcesContent":["import path from 'path'\nimport {ExtractorMessage} from '@microsoft/api-extractor'\nimport chalk from 'chalk'\nimport {BuildContext} from './core'\n\nexport function printExtractMessages(ctx: BuildContext, messages: ExtractorMessage[]): void {\n const {cwd, logger} = ctx\n\n const warnings = messages.filter((msg) => msg.logLevel === 'warning')\n\n if (warnings.length) {\n logger.log()\n }\n\n for (const msg of warnings) {\n const sourceFilePath = msg.sourceFilePath && path.relative(cwd, msg.sourceFilePath)\n\n if (msg.messageId === 'TS6307') {\n // Ignore this warning:\n // > TS6307: <filename> is not in project file list.\n // > Projects must list all files or use an 'include' pattern.\n continue\n }\n\n logger.log(\n [\n `${chalk.cyan(sourceFilePath || '?')}`,\n `:${chalk.yellow(msg.sourceFileLine)}:${chalk.yellow(msg.sourceFileColumn)}`,\n ` - ${chalk.yellow('warning')} ${chalk.gray(msg.messageId)}\\n`,\n msg.text,\n '\\n',\n ].join('')\n )\n }\n\n const errors: ExtractorMessage[] = messages.filter((msg) => msg.logLevel === 'error')\n\n if (!warnings.length && errors.length) {\n logger.log('')\n }\n\n for (const msg of errors) {\n const sourceFilePath = msg.sourceFilePath && path.relative(cwd, msg.sourceFilePath)\n\n logger.log(\n [\n `${chalk.cyan(sourceFilePath || '?')}`,\n `:${chalk.yellow(msg.sourceFileLine)}:${chalk.yellow(msg.sourceFileColumn)}`,\n ` - ${chalk.red('error')} ${chalk.gray(msg.messageId)}\\n`,\n msg.text,\n '\\n',\n ].join('')\n )\n }\n\n if (errors.length) {\n process.exit(1)\n }\n}\n","/* eslint-disable no-console */\n\nimport ts from 'typescript'\n\nexport const formatHost: ts.FormatDiagnosticsHost = {\n getCurrentDirectory: () => ts.sys.getCurrentDirectory(),\n getNewLine: () => ts.sys.newLine,\n getCanonicalFileName: ts.sys.useCaseSensitiveFileNames ? (f) => f : (f) => f.toLowerCase(),\n}\n\n/** @internal */\nexport async function buildTypes(options: {\n cwd: string\n outDir: string\n tsconfig: ts.ParsedCommandLine\n strict: boolean\n}): Promise<void> {\n const {outDir, tsconfig, strict = false} = options\n\n const compilerOptions: ts.CompilerOptions = {\n ...tsconfig.options,\n declaration: true,\n declarationDir: outDir,\n emitDeclarationOnly: true,\n noEmit: false,\n outDir,\n }\n\n const program = ts.createProgram(tsconfig.fileNames, compilerOptions)\n\n const emitResult = program.emit()\n\n const allDiagnostics = ts.getPreEmitDiagnostics(program).concat(emitResult.diagnostics)\n\n // TODO: improve logging\n allDiagnostics.forEach((diagnostic) => {\n if (diagnostic.file && diagnostic.start) {\n const {line, character} = ts.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start)\n const message = ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n')\n\n console.log(`${diagnostic.file.fileName} ${line + 1}:${character + 1}\\n${message}`)\n } else {\n console.log(ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n'))\n }\n })\n\n if (emitResult.emitSkipped) {\n const errors = allDiagnostics.filter((diag) => diag.category === ts.DiagnosticCategory.Error)\n\n if (errors.length) {\n console.error(ts.formatDiagnostics(errors, formatHost))\n\n if (strict) {\n throw new Error('failed to compile TypeScript definitions')\n }\n }\n }\n}\n","import {ExtractorMessage} from '@microsoft/api-extractor'\n\n/** @internal */\nexport class DtsError extends Error {\n messages: ExtractorMessage[]\n\n constructor(message: string, messages: ExtractorMessage[]) {\n super(message)\n this.messages = messages\n }\n}\n","import path from 'path'\nimport {IConfigFile, IExtractorMessagesConfig} from '@microsoft/api-extractor'\n\nexport function createApiExtractorConfig(options: {\n distPath: string\n exportPath: string\n filePath: string\n messages: IExtractorMessagesConfig\n projectFolder: string\n mainEntryPointFilePath: string\n tsconfigPath: string\n}): IConfigFile {\n const {\n distPath,\n exportPath,\n filePath,\n messages,\n projectFolder,\n mainEntryPointFilePath,\n tsconfigPath,\n } = options\n\n return {\n apiReport: {\n enabled: false,\n reportFileName: '<unscopedPackageName>.api.md',\n },\n // bundledPackages: [],\n compiler: {\n tsconfigFilePath: tsconfigPath,\n },\n docModel: {\n enabled: false,\n apiJsonFilePath: path.resolve(distPath, `${exportPath}.api.json`),\n },\n dtsRollup: {\n enabled: true,\n untrimmedFilePath: path.resolve(distPath, filePath),\n // betaTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-beta.d.ts')),\n // publicTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-public.d.ts')),\n },\n tsdocMetadata: {\n enabled: false,\n },\n messages,\n mainEntryPointFilePath,\n projectFolder,\n }\n}\n","import {readFile} from 'fs/promises'\nimport {TSDocConfigFile} from '@microsoft/tsdoc-config'\nimport {parse} from 'jsonc-parser'\n\n/** @public */\nexport interface TSDocCustomTag {\n name: string\n syntaxKind: 'block' | 'modifier'\n allowMultiple?: boolean\n}\n\n/** @internal */\nexport async function createTSDocConfig(opts: {\n customTags: TSDocCustomTag[]\n}): Promise<TSDocConfigFile | undefined> {\n const {customTags} = opts\n\n if (customTags.length === 0) {\n return undefined\n }\n\n const tsDocBaseBuf = await readFile(\n require.resolve('@microsoft/api-extractor/extends/tsdoc-base.json')\n )\n\n // Include the definitions that are required for API Extractor\n // extends: ['@microsoft/api-extractor/extends/tsdoc-base.json'],\n const tsDocBaseConfig = parse(tsDocBaseBuf.toString())\n\n // Define custom tags and specify how they should be parsed\n const tagDefinitions = (tsDocBaseConfig.tagDefinitions || []).concat(\n customTags.map((t) => ({\n tagName: `@${t.name}`,\n syntaxKind: t.syntaxKind,\n allowMultiple: t.allowMultiple,\n }))\n )\n\n // Indicate that custom tags are supported by your tooling.\n // (Without this, warnings may be reported saying that a tag is unsupported.)\n const supportForTags = {...tsDocBaseConfig.supportForTags}\n\n for (const customTag of customTags) {\n supportForTags[`@${customTag.name}`] = true\n }\n\n return TSDocConfigFile.loadFromObject({\n ...tsDocBaseConfig,\n noStandardTags: false,\n tagDefinitions,\n supportForTags,\n })\n}\n","import type {File} from '@babel/types'\nimport {ExtractorResult} from '@microsoft/api-extractor'\nimport {parse, print} from 'recast'\nimport typeScriptParser from 'recast/parsers/typescript'\nimport {Program} from 'typescript'\n\n/**\n * A workaround to find all module blocks in extract TS files.\n * @internal\n * */\nexport async function extractModuleBlocksFromTypes({\n tsOutDir,\n extractResult,\n}: {\n tsOutDir: string\n extractResult: ExtractorResult\n}): Promise<string[]> {\n const program = extractResult.compilerState.program as Program\n const moduleBlocks: string[] = []\n\n // all program files, including node_modules\n const allProgramFiles = [...program.getSourceFiles()]\n\n // just our compiled files used in the program\n const sourceFiles = allProgramFiles.filter((sourceFile) => sourceFile.fileName.includes(tsOutDir))\n\n for (const sourceFile of sourceFiles) {\n if (sourceFile.text.includes('declare module')) {\n moduleBlocks.push(...extractModuleBlocks(sourceFile.text))\n }\n }\n\n return moduleBlocks\n}\n\n/** @internal */\nexport function extractModuleBlocks(fileContent: string): string[] {\n const ast = parse(fileContent, {\n parser: typeScriptParser,\n }) as File\n\n return ast.program.body\n .filter((node) => node.type === 'TSModuleDeclaration')\n .map((node) => print(node).code)\n}\n","import {ExtractorLogLevel, IExtractorMessagesConfig} from '@microsoft/api-extractor'\nimport {PkgRuleLevel, PkgConfigOptions} from '../../core'\n\nconst LOG_LEVELS: Record<PkgRuleLevel, ExtractorLogLevel> = {\n error: 'error' as ExtractorLogLevel.Error,\n info: 'info' as ExtractorLogLevel.Info,\n off: 'none' as ExtractorLogLevel.None,\n warn: 'warning' as ExtractorLogLevel.Warning,\n}\n\n/** @internal */\nexport function getExtractMessagesConfig(options: {\n rules: NonNullable<PkgConfigOptions['extract']>['rules']\n}): IExtractorMessagesConfig {\n const {rules} = options\n\n function ruleToLogLevel(\n key: keyof NonNullable<NonNullable<PkgConfigOptions['extract']>['rules']>,\n defaultLevel?: ExtractorLogLevel\n ) {\n const r = rules?.[key]\n\n return (r ? LOG_LEVELS[r] : defaultLevel || 'warning') as ExtractorLogLevel\n }\n\n return {\n compilerMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n },\n },\n\n extractorMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n\n 'ae-forgotten-export': {\n logLevel: ruleToLogLevel('ae-forgotten-export', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-incompatible-release-tags': {\n logLevel: ruleToLogLevel('ae-incompatible-release-tags', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-internal-missing-underscore': {\n logLevel: ruleToLogLevel('ae-internal-missing-underscore'),\n addToApiReportFile: false,\n },\n\n 'ae-missing-release-tag': {\n logLevel: ruleToLogLevel('ae-missing-release-tag', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-wrong-input-file-type': {\n logLevel: 'none' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n },\n\n tsdocMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n\n 'tsdoc-link-tag-unescaped-text': {\n logLevel: ruleToLogLevel('tsdoc-link-tag-unescaped-text', 'warning' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'tsdoc-undefined-tag': {\n logLevel: ruleToLogLevel('tsdoc-undefined-tag', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'tsdoc-unsupported-tag': {\n logLevel: ruleToLogLevel('tsdoc-unsupported-tag', 'none' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n },\n }\n}\n","import fs from 'fs/promises'\nimport path from 'path'\nimport {\n Extractor,\n ExtractorConfig,\n ExtractorMessage,\n ExtractorResult,\n} from '@microsoft/api-extractor'\nimport mkdirp from 'mkdirp'\nimport prettier from 'prettier'\nimport {PkgConfigOptions, BuildFile} from '../../core'\nimport {createApiExtractorConfig} from './createApiExtractorConfig'\nimport {createTSDocConfig} from './createTSDocConfig'\nimport {extractModuleBlocksFromTypes} from './extractModuleBlocks'\nimport {getExtractMessagesConfig} from './getExtractMessagesConfig'\n\nexport async function extractTypes(options: {\n customTags: NonNullable<PkgConfigOptions['extract']>['customTags']\n cwd: string\n distPath: string\n exportPath: string\n filePath: string\n files: BuildFile[]\n projectPath: string\n rules?: NonNullable<PkgConfigOptions['extract']>['rules']\n sourceTypesPath: string\n tmpPath: string\n tsconfigPath: string\n}): Promise<{extractorResult: ExtractorResult; messages: ExtractorMessage[]}> {\n const {\n customTags,\n distPath,\n exportPath,\n files,\n filePath,\n projectPath,\n rules,\n sourceTypesPath,\n tmpPath,\n tsconfigPath,\n } = options\n\n const tsdocConfigFile = await createTSDocConfig({\n customTags: customTags || [],\n })\n\n const extractorConfig: ExtractorConfig = ExtractorConfig.prepare({\n configObject: createApiExtractorConfig({\n distPath,\n exportPath,\n filePath,\n messages: getExtractMessagesConfig({rules}),\n projectFolder: projectPath,\n mainEntryPointFilePath: sourceTypesPath,\n tsconfigPath,\n }),\n configObjectFullPath: undefined,\n tsdocConfigFile,\n packageJsonFullPath: path.resolve(projectPath, 'package.json'),\n })\n\n const messages: ExtractorMessage[] = []\n\n // Invoke API Extractor\n const extractorResult = Extractor.invoke(extractorConfig, {\n // Equivalent to the \"--local\" command-line parameter\n localBuild: true,\n // Equivalent to the \"--verbose\" command-line parameter\n showVerboseMessages: true,\n // handle messages\n messageCallback(message: ExtractorMessage) {\n messages.push(message)\n message.handled = true\n },\n })\n\n const typesPath = path.resolve(distPath, filePath)\n const typesBuf = await fs.readFile(typesPath)\n const prettierConfig = await prettier.resolveConfig(typesPath)\n\n await mkdirp(path.dirname(typesPath))\n\n const moduleBlocks = await extractModuleBlocksFromTypes({\n extractResult: extractorResult,\n tsOutDir: tmpPath,\n })\n\n const code = [typesBuf.toString(), ...moduleBlocks].join('\\n\\n')\n\n await fs.writeFile(\n typesPath,\n prettier.format(code, {\n ...prettierConfig,\n filepath: typesPath,\n })\n )\n\n // Add to `files` in context\n files.push({\n type: 'types',\n path: typesPath,\n })\n\n return {extractorResult, messages}\n}\n","import path from 'path'\nimport {promisify} from 'util'\nimport {ExtractorMessage} from '@microsoft/api-extractor'\nimport rimrafCallback from 'rimraf'\nimport {BuildContext} from '../../core'\nimport {buildTypes} from './buildTypes'\nimport {DtsError} from './DtsError'\nimport {extractTypes} from './extractTypes'\nimport {DtsResult, DtsTask, DtsWatchTask} from './types'\n\nconst rimraf = promisify(rimrafCallback)\n\n/**\n * - Build type definitions to a temporary directory using TypeScript compiler.\n * - Create a type definition bundle for each export entry.\n * - When done, remove the temporary directory.\n */\nexport async function doExtract(\n ctx: BuildContext,\n task: DtsTask | DtsWatchTask\n): Promise<DtsResult> {\n const {config, cwd, files, strict, ts} = ctx\n\n if (!ts.config || !ts.configPath) {\n return {type: 'dts', messages: [], results: []}\n }\n\n const {outDir, rootDir = cwd} = ts.config.options\n\n if (!outDir) {\n throw new Error('tsconfig.json is missing `compilerOptions.outDir`')\n }\n\n const tmpPath = path.resolve(outDir, '__tmp__')\n\n await buildTypes({cwd, outDir: tmpPath, strict, tsconfig: ts.config})\n const messages: ExtractorMessage[] = []\n\n const results: {sourcePath: string; filePath: string}[] = []\n\n for (const entry of task.entries) {\n const exportPath = entry.exportPath === '.' ? './index' : entry.exportPath\n\n const sourceTypesPath = path.resolve(\n tmpPath,\n path.relative(rootDir, path.resolve(cwd, entry.sourcePath)).replace(/\\.ts$/, '.d.ts')\n )\n\n const targetPath = path.resolve(cwd, entry.targetPath)\n const filePath = path.relative(outDir, targetPath)\n const result = await extractTypes({\n customTags: config?.extract?.customTags,\n cwd,\n distPath: outDir,\n exportPath,\n files,\n filePath: filePath,\n projectPath: cwd,\n rules: config?.extract?.rules,\n sourceTypesPath: sourceTypesPath,\n tmpPath,\n tsconfigPath: path.resolve(cwd, ts.configPath || 'tsconfig.json'),\n })\n\n messages.push(...result.messages)\n\n if (result.messages.some((msg) => msg.logLevel === 'error')) {\n await rimraf(tmpPath)\n\n throw new DtsError('encountered errors when extracting types', result.messages)\n }\n\n results.push({sourcePath: path.resolve(cwd, entry.sourcePath), filePath: targetPath})\n }\n\n await rimraf(tmpPath)\n\n return {type: 'dts', messages, results}\n}\n","import chalk from 'chalk'\nimport {Observable} from 'rxjs'\nimport {printExtractMessages} from '../../printExtractMessages'\nimport {TaskHandler} from '../types'\nimport {doExtract} from './doExtract'\nimport {DtsError} from './DtsError'\nimport {DtsResult, DtsTask} from './types'\n\n/** @internal */\nexport const dtsTask: TaskHandler<DtsTask, DtsResult> = {\n name: (_ctx, task) =>\n [\n `build type definitions`,\n ...task.entries.map(\n (entry) =>\n ` ${chalk.blue(entry.importId)}: ${entry.sourcePath} -> ${entry.targetPath}`\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n doExtract(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => {\n observer.error(err)\n })\n })\n },\n complete: (ctx, _task, result) => {\n printExtractMessages(ctx, result.messages)\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof DtsError) {\n printExtractMessages(ctx, err.messages)\n } else if (err instanceof Error) {\n logger.error(err)\n }\n },\n}\n","import chalk from 'chalk'\nimport {Observable} from 'rxjs'\nimport {printExtractMessages} from '../../printExtractMessages'\nimport {TaskHandler} from '../types'\nimport {doExtract} from './doExtract'\nimport {DtsError} from './DtsError'\nimport {DtsResult, DtsWatchTask} from './types'\n\n/** @internal */\nexport const dtsWatchTask: TaskHandler<DtsWatchTask, DtsResult> = {\n name: (_ctx, task) =>\n [\n `build type definitions`,\n ...task.entries.map(\n (entry) =>\n ` ${chalk.blue(entry.importId)}: ${entry.sourcePath} -> ${entry.targetPath}`\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n doExtract(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => observer.error(err))\n })\n },\n complete: (ctx, _task, result) => {\n const {logger} = ctx\n\n printExtractMessages(ctx, result.messages)\n\n logger.warn('watching typescript definitions is currently not supported')\n logger.log()\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof DtsError) {\n printExtractMessages(ctx, err.messages)\n } else if (err instanceof Error) {\n logger.error(err)\n }\n },\n}\n","import path from 'path'\nimport alias from '@rollup/plugin-alias'\nimport {getBabelOutputPlugin} from '@rollup/plugin-babel'\nimport commonjs from '@rollup/plugin-commonjs'\nimport json from '@rollup/plugin-json'\nimport {nodeResolve} from '@rollup/plugin-node-resolve'\nimport replace from '@rollup/plugin-replace'\nimport terser from '@rollup/plugin-terser'\nimport {InputOptions, OutputOptions, Plugin} from 'rollup'\nimport esbuild from 'rollup-plugin-esbuild'\nimport {\n BuildContext,\n DEFAULT_BROWSERSLIST_QUERY,\n MODULE_EXT,\n resolveConfigProperty,\n} from '../../core'\nimport {RollupTask, RollupWatchTask} from '../types'\n\nexport interface RollupConfig {\n inputOptions: InputOptions\n outputOptions: OutputOptions\n}\n\n/** @internal */\nexport function resolveRollupConfig(\n ctx: BuildContext,\n buildTask: RollupTask | RollupWatchTask\n): RollupConfig {\n const {format, runtime, target} = buildTask\n const {config, cwd, exports: _exports, external, distPath, logger, pkg, ts} = ctx\n const outputExt = MODULE_EXT[pkg.type][format]\n const minify = config?.minify ?? true\n const outDir = path.relative(cwd, distPath)\n\n const pathAliases = Object.fromEntries(\n Object.entries(ts.config?.options.paths || {}).map(([key, val]) => {\n return [key, path.resolve(cwd, ts.config?.options.baseUrl || '.', val[0])]\n })\n )\n\n const entries = buildTask.entries.map((entry) => {\n return {\n ...entry,\n name: path.relative(outDir, entry.output).replace(/\\.[^/.]+$/, ''),\n }\n }, {})\n\n const exportIds =\n _exports && Object.keys(_exports).map((exportPath) => path.join(pkg.name, exportPath))\n\n const sourcePaths = _exports && Object.values(_exports).map((e) => path.resolve(cwd, e.source))\n\n const replacements = Object.fromEntries(\n Object.entries(config?.define || {}).map(([key, val]) => [key, JSON.stringify(val)])\n )\n\n const defaultPlugins = [\n replace({\n preventAssignment: true,\n values: {\n ...(pkg.name === '@sanity/pkg-utils'\n ? {...replacements}\n : {\n 'process.env.PKG_FILE_PATH': (arg) => {\n const sourcePath = './' + path.relative(cwd, arg)\n const entry = entries.find((e) => e.source === sourcePath)\n\n if (!entry) {\n // eslint-disable-next-line no-console\n console.error(`could not find source entry: ${sourcePath}`)\n\n return 'null'\n }\n\n return JSON.stringify(\n path.relative(cwd, path.resolve(outDir, entry.name + outputExt))\n )\n },\n 'process.env.PKG_FORMAT': JSON.stringify(format),\n 'process.env.PKG_RUNTIME': JSON.stringify(runtime),\n 'process.env.PKG_VERSION': JSON.stringify(process.env.PKG_VERSION || pkg.version),\n ...replacements,\n }),\n },\n }),\n alias({\n entries: {...pathAliases},\n }),\n nodeResolve({\n // mainFields: ['module', 'jsnext', 'main'],\n browser: runtime === 'browser',\n // exportConditions: [runtime === 'node' ? 'node' : 'browser'],\n extensions: ['.cjs', '.mjs', '.js', '.jsx', '.json', '.node'],\n preferBuiltins: true, // runtime === 'node',\n }),\n commonjs({\n esmExternals: false,\n extensions: ['.js'],\n // include: /\\/node_modules\\//,\n // requireReturnsDefault: 'namespace',\n }),\n json(),\n esbuild({\n jsx: config?.jsx ?? 'automatic',\n jsxFactory: config?.jsxFactory ?? 'createElement',\n jsxFragment: config?.jsxFragment ?? 'Fragment',\n jsxImportSource: config?.jsxImportSource ?? 'react',\n target,\n tsconfig: ctx.ts.configPath || 'tsconfig.json',\n }),\n getBabelOutputPlugin({\n babelrc: false,\n plugins: ['@babel/plugin-proposal-object-rest-spread'],\n presets: [['@babel/preset-env', {targets: pkg.browserslist || DEFAULT_BROWSERSLIST_QUERY}]],\n }),\n minify &&\n terser({\n output: {\n comments: (_node, comment) => {\n const text = comment.value\n const type = comment.type\n\n // Check if this is a multiline comment\n if (type == 'comment2') {\n // Keep licensing comments\n return /@preserve|@license|@cc_on/i.test(text)\n }\n\n return false\n },\n },\n }),\n ].filter(Boolean) as Plugin[]\n\n const userPlugins = config?.rollup?.plugins\n\n const plugins = Array.isArray(userPlugins)\n ? defaultPlugins.concat(userPlugins)\n : resolveConfigProperty(config?.rollup?.plugins, defaultPlugins)\n\n return {\n inputOptions: {\n context: cwd,\n\n external: (id, importer) => {\n // Check if the id is a self-referencing import\n if (exportIds?.includes(id)) {\n return true\n }\n\n // Check if the id is a file path that points to an exported source file\n if (importer && (id.startsWith('.') || id.startsWith('/'))) {\n const idPath = path.resolve(path.dirname(importer), id)\n\n if (sourcePaths?.includes(idPath)) {\n logger.warn(\n `detected self-referencing import – treating as external: ${path.relative(\n cwd,\n idPath\n )}`\n )\n\n return true\n }\n }\n\n const idParts = id.split('/')\n\n const name = idParts[0].startsWith('@') ? `${idParts[0]}/${idParts[1]}` : idParts[0]\n\n if (name && external.includes(name)) {\n return true\n }\n\n return false\n },\n\n input: entries.reduce<{[entryAlias: string]: string}>((acc, entry) => {\n return {...acc, [entry.name]: entry.source}\n }, {}),\n\n plugins,\n\n treeshake: {\n propertyReadSideEffects: false,\n },\n },\n outputOptions: {\n chunkFileNames: () => `_chunks/[name]-[hash]${outputExt}`,\n compact: minify,\n dir: outDir,\n entryFileNames: () => (outputExt === '.esm.js' ? `[name].js` : `[name]${outputExt}`),\n esModule: true,\n format,\n interop: 'compat',\n minifyInternalExports: minify,\n sourcemap: config?.sourcemap ?? true,\n },\n }\n}\n","/* eslint-disable no-console */\n\nimport path from 'path'\nimport chalk from 'chalk'\nimport {rollup} from 'rollup'\nimport {Observable} from 'rxjs'\nimport {BuildContext} from '../../core'\nimport {RollupTask, TaskHandler} from '../types'\nimport {resolveRollupConfig} from './resolveRollupConfig'\n\n/** @internal */\nexport const rollupTask: TaskHandler<RollupTask> = {\n name: (ctx, task) =>\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`,\n exec: (ctx, task) => {\n return new Observable((observer) => {\n execPromise(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => observer.error(err))\n })\n },\n complete: () => {\n //\n },\n error: (_ctx, _task, err) => {\n if (err instanceof Error) {\n console.log(err)\n }\n },\n}\n\nasync function execPromise(ctx: BuildContext, task: RollupTask) {\n const {files, distPath} = ctx\n const outDir = path.relative(ctx.cwd, distPath)\n\n const _console = {\n log: console.log,\n warn: console.warn,\n error: console.error,\n }\n\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n console.log = () => undefined\n console.warn = () => undefined\n console.error = () => undefined\n\n // Create bundle\n const bundle = await rollup({\n ...inputOptions,\n onwarn(warning) {\n if (!warning.code || !['CIRCULAR_DEPENDENCY'].includes(warning.code)) {\n // rollupWarn(warning)\n _console.warn.bind(console)(chalk.yellow('warn '), warning.message)\n }\n },\n })\n\n // generate output specific code in-memory\n // you can call this function multiple times on the same bundle object\n const {output} = await bundle.generate(outputOptions)\n\n console.log = _console.log\n console.warn = _console.warn\n console.error = _console.error\n\n for (const chunkOrAsset of output) {\n if (chunkOrAsset.type === 'asset') {\n files.push({\n type: 'asset',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n } else {\n files.push({\n type: 'chunk',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n }\n }\n\n // or write the bundle to disk\n await bundle.write(outputOptions)\n\n // closes the bundle\n await bundle.close()\n}\n","import path from 'path'\nimport chalk from 'chalk'\nimport {RollupWatcherEvent, RollupWatchOptions, watch as rollupWatch} from 'rollup'\nimport {Observable} from 'rxjs'\nimport {RollupWatchTask, TaskHandler} from '../types'\nimport {resolveRollupConfig} from './resolveRollupConfig'\n\n/** @internal */\nexport const rollupWatchTask: TaskHandler<RollupWatchTask, RollupWatcherEvent> = {\n name: (ctx, task) =>\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`,\n exec: (ctx, task) => {\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n return new Observable((observer) => {\n const watchOptions: RollupWatchOptions = {\n ...inputOptions,\n output: outputOptions,\n }\n\n const watcher = rollupWatch(watchOptions)\n\n watcher.on('event', (event) => {\n observer.next(event)\n })\n\n return () => {\n watcher.close()\n }\n })\n },\n complete: (ctx, task, event) => {\n const {logger} = ctx\n\n if (event.code === 'BUNDLE_END') {\n logger.success(\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`\n )\n logger.log('')\n\n return\n }\n\n if (event.code === 'BUNDLE_START') {\n return\n }\n\n if (event.code === 'END') {\n return\n }\n\n if (event.code === 'ERROR') {\n // logger.log('')\n logger.error(event.code, event)\n\n return\n }\n\n if (event.code === 'START') {\n return\n }\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof Error) {\n logger.log(err)\n }\n },\n}\n","import {dtsTask, dtsWatchTask} from './dts'\nimport {rollupTask, rollupWatchTask} from './rollup'\nimport {BuildTaskHandlers, WatchTaskHandlers} from './types'\n\nexport * from './types'\nexport * from './dts'\nexport * from './rollup'\n\n/** @internal */\nexport const buildTaskHandlers: BuildTaskHandlers = {\n 'build:dts': dtsTask,\n 'build:js': rollupTask,\n}\n\n/** @internal */\nexport const watchTaskHandlers: WatchTaskHandlers = {\n 'watch:dts': dtsWatchTask,\n 'watch:js': rollupWatchTask,\n}\n"],"names":["printExtractMessages","ctx","messages","cwd","logger","warnings","filter","msg","logLevel","length","log","sourceFilePath","path","relative","messageId","chalk","cyan","yellow","sourceFileLine","default","sourceFileColumn","gray","text","join","errors","red","process","exit","formatHost","getCurrentDirectory","ts","sys","getNewLine","newLine","getCanonicalFileName","useCaseSensitiveFileNames","f","toLowerCase","buildTypes","options","outDir","tsconfig","strict","compilerOptions","declaration","declarationDir","emitDeclarationOnly","noEmit","program","createProgram","fileNames","emitResult","emit","allDiagnostics","getPreEmitDiagnostics","concat","diagnostics","forEach","diagnostic","file","start","line","character","getLineAndCharacterOfPosition","message","flattenDiagnosticMessageText","messageText","console","fileName","emitSkipped","diag","category","DiagnosticCategory","Error","error","formatDiagnostics","DtsError","constructor","createApiExtractorConfig","distPath","exportPath","filePath","projectFolder","mainEntryPointFilePath","tsconfigPath","apiReport","enabled","reportFileName","compiler","tsconfigFilePath","docModel","apiJsonFilePath","resolve","dtsRollup","untrimmedFilePath","tsdocMetadata","createTSDocConfig","opts","customTags","tsDocBaseBuf","readFile","require","tsDocBaseConfig","parse","toString","tagDefinitions","map","t","tagName","name","syntaxKind","allowMultiple","supportForTags","customTag","TSDocConfigFile","loadFromObject","noStandardTags","extractModuleBlocksFromTypes","tsOutDir","extractResult","compilerState","moduleBlocks","allProgramFiles","getSourceFiles","sourceFiles","sourceFile","includes","push","extractModuleBlocks","fileContent","ast","parser","typeScriptParser","body","node","type","print","code","LOG_LEVELS","info","off","warn","getExtractMessagesConfig","rules","ruleToLogLevel","key","defaultLevel","r","compilerMessageReporting","extractorMessageReporting","addToApiReportFile","tsdocMessageReporting","extractTypes","files","projectPath","sourceTypesPath","tmpPath","tsdocConfigFile","extractorConfig","ExtractorConfig","prepare","configObject","configObjectFullPath","packageJsonFullPath","extractorResult","Extractor","invoke","localBuild","showVerboseMessages","messageCallback","handled","typesPath","typesBuf","fs","prettierConfig","prettier","resolveConfig","mkdirp","dirname","writeFile","format","filepath","rimraf","promisify","rimrafCallback","doExtract","task","_a","_b","config","configPath","results","rootDir","entry","entries","sourcePath","replace","targetPath","result","extract","some","dtsTask","_ctx","blue","importId","exec","Observable","observer","then","next","complete","catch","err","_task","dtsWatchTask","resolveRollupConfig","buildTask","_c","runtime","target","exports","_exports","external","pkg","outputExt","MODULE_EXT","minify","pathAliases","Object","fromEntries","paths","val","baseUrl","output","exportIds","keys","sourcePaths","values","e","source","replacements","define","JSON","stringify","defaultPlugins","preventAssignment","arg","find","env","PKG_VERSION","version","alias","nodeResolve","browser","extensions","preferBuiltins","commonjs","esmExternals","json","esbuild","jsx","jsxFactory","jsxFragment","jsxImportSource","getBabelOutputPlugin","babelrc","plugins","presets","targets","browserslist","DEFAULT_BROWSERSLIST_QUERY","terser","comments","_node","comment","value","test","Boolean","userPlugins","rollup","Array","isArray","resolveConfigProperty","inputOptions","context","id","importer","startsWith","idPath","idParts","split","input","reduce","acc","treeshake","propertyReadSideEffects","outputOptions","chunkFileNames","compact","dir","entryFileNames","esModule","interop","minifyInternalExports","sourcemap","rollupTask","execPromise","_console","bundle","onwarn","warning","bind","generate","chunkOrAsset","write","close","rollupWatchTask","watchOptions","watcher","rollupWatch","on","event","success","buildTaskHandlers","watchTaskHandlers"],"mappings":"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"}
|