@sanity/pkg-utils 1.18.0 → 1.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_chunks/{build-f39a3550.js → build-bcb33ba5.js} +19 -19
- package/dist/_chunks/build-bcb33ba5.js.map +1 -0
- package/dist/_chunks/{buildAction-8f449d1d.js → buildAction-f240dab8.js} +6 -6
- package/dist/_chunks/buildAction-f240dab8.js.map +1 -0
- package/dist/_chunks/{check-87cbb6cc.js → check-1ea361f5.js} +26 -26
- package/dist/_chunks/check-1ea361f5.js.map +1 -0
- package/dist/_chunks/{checkAction-e7e455d4.js → checkAction-16be1201.js} +5 -5
- package/dist/_chunks/checkAction-16be1201.js.map +1 -0
- package/dist/_chunks/{_handleError-869dec25.js → handleError-65cf3242.js} +3 -3
- package/dist/_chunks/handleError-65cf3242.js.map +1 -0
- package/dist/_chunks/{index-7a851efa.js → index-79fdb33f.js} +63 -63
- package/dist/_chunks/index-79fdb33f.js.map +1 -0
- package/dist/_chunks/{_resolveBuildContext-7ca7e64e.js → resolveBuildContext-f2feec19.js} +60 -62
- package/dist/_chunks/resolveBuildContext-f2feec19.js.map +1 -0
- package/dist/_chunks/{watch-f6cf9246.js → watch-02c85f8a.js} +25 -25
- package/dist/_chunks/watch-02c85f8a.js.map +1 -0
- package/dist/_chunks/{watchAction-4cf253a0.js → watchAction-9cb9681b.js} +6 -6
- package/dist/_chunks/watchAction-9cb9681b.js.map +1 -0
- package/dist/cli.js +4 -4
- package/dist/index.d.ts +44 -46
- package/dist/index.esm.js +165 -167
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +22 -22
- package/dist/index.js.map +1 -1
- package/package.json +48 -1
- package/src/cli/buildAction.ts +2 -2
- package/src/cli/checkAction.ts +2 -2
- package/src/cli/{_handleError.ts → handleError.ts} +1 -1
- package/src/cli/watchAction.ts +2 -2
- package/src/node/build.ts +11 -11
- package/src/node/check.ts +11 -11
- package/src/node/{_core → core}/config/defineConfig.ts +0 -0
- package/src/node/{_core/config/_findConfigFile.ts → core/config/findConfigFile.ts} +3 -3
- package/src/node/core/config/index.ts +4 -0
- package/src/node/{_core/config/_loadConfig.ts → core/config/loadConfig.ts} +3 -3
- package/src/node/{_core/config/_resolveConfigProperty.ts → core/config/resolveConfigProperty.ts} +1 -1
- package/src/node/{_core → core}/config/types.ts +0 -0
- package/src/node/{_core/_constants.ts → core/constants.ts} +1 -1
- package/src/node/{_core → core}/contexts/buildContext.ts +5 -5
- package/src/node/{_core → core}/contexts/index.ts +0 -0
- package/src/node/core/defaults.ts +7 -0
- package/src/node/core/findCommonPath.test.ts +9 -0
- package/src/node/{_core/_findCommonPath.ts → core/findCommonPath.ts} +3 -3
- package/src/node/{_core → core}/index.ts +3 -3
- package/src/node/{_core/_isRecord.ts → core/isRecord.ts} +1 -1
- package/src/node/core/pkg/index.ts +4 -0
- package/src/node/{_core/pkg/_loadPkg.ts → core/pkg/loadPkg.ts} +4 -4
- package/src/node/{_core/pkg/_loadPkgWithReporting.ts → core/pkg/loadPkgWithReporting.ts} +6 -6
- package/src/node/{_core/pkg/_parseExports.ts → core/pkg/parseExports.ts} +7 -7
- package/src/node/{_core/pkg/_types.ts → core/pkg/types.ts} +1 -1
- package/src/node/{_core/pkg/_validateExports.ts → core/pkg/validateExports.ts} +5 -5
- package/src/node/{_core/pkg/_validatePkg.ts → core/pkg/validatePkg.ts} +2 -2
- package/src/node/core/ts/index.ts +1 -0
- package/src/node/{_core/ts/_loadTSConfig.ts → core/ts/loadTSConfig.ts} +1 -1
- package/src/node/{_getFilesize.ts → getFilesize.ts} +1 -1
- package/src/node/globFiles.ts +5 -0
- package/src/node/index.ts +3 -3
- package/src/node/{_printExtractMessages.ts → printExtractMessages.ts} +2 -2
- package/src/node/{_printPackageTree.ts → printPackageTree.ts} +17 -17
- package/src/node/{_resolveBrowserTarget.ts → resolveBrowserTarget.ts} +2 -2
- package/src/node/{_resolveBrowserslistVersions.ts → resolveBrowserslistVersions.ts} +11 -11
- package/src/node/{_resolveBuildContext.ts → resolveBuildContext.ts} +28 -28
- package/src/node/{_resolveBuildTasks.ts → resolveBuildTasks.ts} +13 -13
- package/src/node/{_resolveNodeTarget.ts → resolveNodeTarget.ts} +2 -2
- package/src/node/{_resolveWatchTasks.ts → resolveWatchTasks.ts} +11 -11
- package/src/node/{_spinner.ts → spinner.ts} +1 -1
- package/src/node/{_tasks/dts/_DtsError.ts → tasks/dts/DtsError.ts} +1 -1
- package/src/node/{_tasks/dts/_buildTypes.ts → tasks/dts/buildTypes.ts} +1 -1
- package/src/node/{_tasks/dts/_createApiExtractorConfig.ts → tasks/dts/createApiExtractorConfig.ts} +1 -1
- package/src/node/{_tasks/dts/_createTSDocConfig.ts → tasks/dts/createTSDocConfig.ts} +1 -1
- package/src/node/{_tasks/dts/_doExtract.ts → tasks/dts/doExtract.ts} +12 -12
- package/src/node/{_tasks/dts/_dtsTask.ts → tasks/dts/dtsTask.ts} +10 -10
- package/src/node/{_tasks/dts/_dtsWatchTask.ts → tasks/dts/dtsWatchTask.ts} +10 -10
- package/src/node/{_tasks/dts/_extractModuleBlocks.ts → tasks/dts/extractModuleBlocks.ts} +3 -3
- package/src/node/{_tasks/dts/_extractTypes.ts → tasks/dts/extractTypes.ts} +11 -11
- package/src/node/{_tasks/dts/_getExtractMessagesConfig.ts → tasks/dts/getExtractMessagesConfig.ts} +12 -12
- package/src/node/tasks/dts/index.ts +4 -0
- package/src/node/{_tasks/dts/_types.ts → tasks/dts/types.ts} +3 -3
- package/src/node/tasks/index.ts +19 -0
- package/src/node/tasks/rollup/index.ts +2 -0
- package/src/node/{_tasks/rollup/_resolveRollupConfig.ts → tasks/rollup/resolveRollupConfig.ts} +16 -11
- package/src/node/{_tasks/rollup/_rollupTask.ts → tasks/rollup/rollupTask.ts} +7 -7
- package/src/node/{_tasks/rollup/_rollupWatchTask.ts → tasks/rollup/rollupWatchTask.ts} +4 -4
- package/src/node/tasks/types.ts +57 -0
- package/src/node/watch.ts +13 -13
- package/src/node/{_watchConfigFiles.ts → watchConfigFiles.ts} +5 -5
- package/src/node/{_watchFiles.ts → watchFiles.ts} +5 -5
- package/dist/_chunks/_handleError-869dec25.js.map +0 -1
- package/dist/_chunks/_resolveBuildContext-7ca7e64e.js.map +0 -1
- package/dist/_chunks/build-f39a3550.js.map +0 -1
- package/dist/_chunks/buildAction-8f449d1d.js.map +0 -1
- package/dist/_chunks/check-87cbb6cc.js.map +0 -1
- package/dist/_chunks/checkAction-e7e455d4.js.map +0 -1
- package/dist/_chunks/index-7a851efa.js.map +0 -1
- package/dist/_chunks/watch-f6cf9246.js.map +0 -1
- package/dist/_chunks/watchAction-4cf253a0.js.map +0 -1
- package/src/node/_core/_defaults.ts +0 -9
- package/src/node/_core/_findCommonPath.test.ts +0 -9
- package/src/node/_core/config/index.ts +0 -4
- package/src/node/_core/pkg/index.ts +0 -4
- package/src/node/_core/ts/index.ts +0 -1
- package/src/node/_globFiles.ts +0 -5
- package/src/node/_tasks/_types.ts +0 -57
- package/src/node/_tasks/dts/index.ts +0 -4
- package/src/node/_tasks/index.ts +0 -19
- package/src/node/_tasks/rollup/index.ts +0 -2
|
@@ -26,7 +26,7 @@ var pluginNodeResolve = require('@rollup/plugin-node-resolve');
|
|
|
26
26
|
var replace = require('@rollup/plugin-replace');
|
|
27
27
|
var esbuild = require('rollup-plugin-esbuild');
|
|
28
28
|
var rollupPluginTerser = require('rollup-plugin-terser');
|
|
29
|
-
var
|
|
29
|
+
var resolveBuildContext = require('./resolveBuildContext-f2feec19.js');
|
|
30
30
|
require('esbuild-register/dist/node');
|
|
31
31
|
require('pkg-up');
|
|
32
32
|
require('find-config');
|
|
@@ -49,7 +49,7 @@ var commonjs__default = /*#__PURE__*/_interopDefaultLegacy(commonjs);
|
|
|
49
49
|
var json__default = /*#__PURE__*/_interopDefaultLegacy(json);
|
|
50
50
|
var replace__default = /*#__PURE__*/_interopDefaultLegacy(replace);
|
|
51
51
|
var esbuild__default = /*#__PURE__*/_interopDefaultLegacy(esbuild);
|
|
52
|
-
function
|
|
52
|
+
function printExtractMessages(ctx, messages) {
|
|
53
53
|
const {
|
|
54
54
|
cwd,
|
|
55
55
|
logger
|
|
@@ -82,7 +82,7 @@ const formatHost = {
|
|
|
82
82
|
getNewLine: () => ts__default["default"].sys.newLine,
|
|
83
83
|
getCanonicalFileName: ts__default["default"].sys.useCaseSensitiveFileNames ? f => f : f => f.toLowerCase()
|
|
84
84
|
};
|
|
85
|
-
async function
|
|
85
|
+
async function buildTypes(options) {
|
|
86
86
|
const {
|
|
87
87
|
outDir,
|
|
88
88
|
tsconfig,
|
|
@@ -120,13 +120,13 @@ async function _buildTypes(options) {
|
|
|
120
120
|
}
|
|
121
121
|
}
|
|
122
122
|
}
|
|
123
|
-
class
|
|
123
|
+
class DtsError extends Error {
|
|
124
124
|
constructor(message, messages) {
|
|
125
125
|
super(message);
|
|
126
126
|
this.messages = messages;
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
|
-
function
|
|
129
|
+
function createApiExtractorConfig(options) {
|
|
130
130
|
const {
|
|
131
131
|
distPath,
|
|
132
132
|
exportPath,
|
|
@@ -160,7 +160,7 @@ function _createApiExtractorConfig(options) {
|
|
|
160
160
|
projectFolder
|
|
161
161
|
};
|
|
162
162
|
}
|
|
163
|
-
async function
|
|
163
|
+
async function createTSDocConfig(opts) {
|
|
164
164
|
const {
|
|
165
165
|
customTags
|
|
166
166
|
} = opts;
|
|
@@ -184,7 +184,7 @@ async function _createTSDocConfig(opts) {
|
|
|
184
184
|
supportForTags
|
|
185
185
|
}));
|
|
186
186
|
}
|
|
187
|
-
async function
|
|
187
|
+
async function extractModuleBlocksFromTypes(_ref) {
|
|
188
188
|
let {
|
|
189
189
|
tsOutDir,
|
|
190
190
|
extractResult
|
|
@@ -195,30 +195,30 @@ async function _extractModuleBlocksFromTypes(_ref) {
|
|
|
195
195
|
const sourceFiles = allProgramFiles.filter(sourceFile => sourceFile.fileName.includes(tsOutDir));
|
|
196
196
|
for (const sourceFile of sourceFiles) {
|
|
197
197
|
if (sourceFile.text.includes("declare module")) {
|
|
198
|
-
moduleBlocks.push(...
|
|
198
|
+
moduleBlocks.push(...extractModuleBlocks(sourceFile.text));
|
|
199
199
|
}
|
|
200
200
|
}
|
|
201
201
|
return moduleBlocks;
|
|
202
202
|
}
|
|
203
|
-
function
|
|
203
|
+
function extractModuleBlocks(fileContent) {
|
|
204
204
|
const ast = recast.parse(fileContent, {
|
|
205
205
|
parser: typeScriptParser__default["default"]
|
|
206
206
|
});
|
|
207
207
|
return ast.program.body.filter(node => node.type === "TSModuleDeclaration").map(node => recast.print(node).code);
|
|
208
208
|
}
|
|
209
|
-
const
|
|
209
|
+
const LOG_LEVELS = {
|
|
210
210
|
error: "error",
|
|
211
211
|
info: "info",
|
|
212
212
|
off: "none",
|
|
213
213
|
warn: "warning"
|
|
214
214
|
};
|
|
215
|
-
function
|
|
215
|
+
function getExtractMessagesConfig(options) {
|
|
216
216
|
const {
|
|
217
217
|
rules
|
|
218
218
|
} = options;
|
|
219
|
-
function
|
|
219
|
+
function ruleToLogLevel(key, defaultLevel) {
|
|
220
220
|
const r = rules == null ? void 0 : rules[key];
|
|
221
|
-
return r ?
|
|
221
|
+
return r ? LOG_LEVELS[r] : defaultLevel || "warning";
|
|
222
222
|
}
|
|
223
223
|
return {
|
|
224
224
|
compilerMessageReporting: {
|
|
@@ -232,19 +232,19 @@ function _getExtractMessagesConfig(options) {
|
|
|
232
232
|
addToApiReportFile: false
|
|
233
233
|
},
|
|
234
234
|
"ae-forgotten-export": {
|
|
235
|
-
logLevel:
|
|
235
|
+
logLevel: ruleToLogLevel("ae-forgotten-export", "error"),
|
|
236
236
|
addToApiReportFile: false
|
|
237
237
|
},
|
|
238
238
|
"ae-incompatible-release-tags": {
|
|
239
|
-
logLevel:
|
|
239
|
+
logLevel: ruleToLogLevel("ae-incompatible-release-tags", "error"),
|
|
240
240
|
addToApiReportFile: false
|
|
241
241
|
},
|
|
242
242
|
"ae-internal-missing-underscore": {
|
|
243
|
-
logLevel:
|
|
243
|
+
logLevel: ruleToLogLevel("ae-internal-missing-underscore"),
|
|
244
244
|
addToApiReportFile: false
|
|
245
245
|
},
|
|
246
246
|
"ae-missing-release-tag": {
|
|
247
|
-
logLevel:
|
|
247
|
+
logLevel: ruleToLogLevel("ae-missing-release-tag", "error"),
|
|
248
248
|
addToApiReportFile: false
|
|
249
249
|
},
|
|
250
250
|
"ae-wrong-input-file-type": {
|
|
@@ -258,21 +258,21 @@ function _getExtractMessagesConfig(options) {
|
|
|
258
258
|
addToApiReportFile: false
|
|
259
259
|
},
|
|
260
260
|
"tsdoc-link-tag-unescaped-text": {
|
|
261
|
-
logLevel:
|
|
261
|
+
logLevel: ruleToLogLevel("tsdoc-link-tag-unescaped-text", "warning"),
|
|
262
262
|
addToApiReportFile: false
|
|
263
263
|
},
|
|
264
264
|
"tsdoc-undefined-tag": {
|
|
265
|
-
logLevel:
|
|
265
|
+
logLevel: ruleToLogLevel("tsdoc-undefined-tag", "error"),
|
|
266
266
|
addToApiReportFile: false
|
|
267
267
|
},
|
|
268
268
|
"tsdoc-unsupported-tag": {
|
|
269
|
-
logLevel:
|
|
269
|
+
logLevel: ruleToLogLevel("tsdoc-unsupported-tag", "none"),
|
|
270
270
|
addToApiReportFile: false
|
|
271
271
|
}
|
|
272
272
|
}
|
|
273
273
|
};
|
|
274
274
|
}
|
|
275
|
-
async function
|
|
275
|
+
async function extractTypes(options) {
|
|
276
276
|
const {
|
|
277
277
|
customTags,
|
|
278
278
|
distPath,
|
|
@@ -285,15 +285,15 @@ async function _extractTypes(options) {
|
|
|
285
285
|
tmpPath,
|
|
286
286
|
tsconfigPath
|
|
287
287
|
} = options;
|
|
288
|
-
const tsdocConfigFile = await
|
|
288
|
+
const tsdocConfigFile = await createTSDocConfig({
|
|
289
289
|
customTags: customTags || []
|
|
290
290
|
});
|
|
291
291
|
const extractorConfig = apiExtractor.ExtractorConfig.prepare({
|
|
292
|
-
configObject:
|
|
292
|
+
configObject: createApiExtractorConfig({
|
|
293
293
|
distPath,
|
|
294
294
|
exportPath,
|
|
295
295
|
filePath,
|
|
296
|
-
messages:
|
|
296
|
+
messages: getExtractMessagesConfig({
|
|
297
297
|
rules
|
|
298
298
|
}),
|
|
299
299
|
projectFolder: projectPath,
|
|
@@ -317,7 +317,7 @@ async function _extractTypes(options) {
|
|
|
317
317
|
const typesBuf = await fs__default["default"].readFile(typesPath);
|
|
318
318
|
const prettierConfig = await prettier__default["default"].resolveConfig(typesPath);
|
|
319
319
|
await mkdirp__default["default"](path__default["default"].dirname(typesPath));
|
|
320
|
-
const moduleBlocks = await
|
|
320
|
+
const moduleBlocks = await extractModuleBlocksFromTypes({
|
|
321
321
|
extractResult: extractorResult,
|
|
322
322
|
tsOutDir: tmpPath
|
|
323
323
|
});
|
|
@@ -335,7 +335,7 @@ async function _extractTypes(options) {
|
|
|
335
335
|
};
|
|
336
336
|
}
|
|
337
337
|
const rimraf = util.promisify(rimrafCallback__default["default"]);
|
|
338
|
-
async function
|
|
338
|
+
async function doExtract(ctx, task) {
|
|
339
339
|
var _a, _b;
|
|
340
340
|
const {
|
|
341
341
|
config,
|
|
@@ -359,7 +359,7 @@ async function _doExtract(ctx, task) {
|
|
|
359
359
|
throw new Error("tsconfig.json is missing `compilerOptions.outDir`");
|
|
360
360
|
}
|
|
361
361
|
const tmpPath = path__default["default"].resolve(outDir, "__tmp__");
|
|
362
|
-
await
|
|
362
|
+
await buildTypes({
|
|
363
363
|
cwd,
|
|
364
364
|
outDir: tmpPath,
|
|
365
365
|
strict,
|
|
@@ -372,7 +372,7 @@ async function _doExtract(ctx, task) {
|
|
|
372
372
|
const sourceTypesPath = path__default["default"].resolve(tmpPath, path__default["default"].relative(rootDir, path__default["default"].resolve(cwd, entry.sourcePath)).replace(/\.ts$/, ".d.ts"));
|
|
373
373
|
const targetPath = path__default["default"].resolve(cwd, entry.targetPath);
|
|
374
374
|
const filePath = path__default["default"].relative(outDir, targetPath);
|
|
375
|
-
const result = await
|
|
375
|
+
const result = await extractTypes({
|
|
376
376
|
customTags: (_a = config == null ? void 0 : config.extract) == null ? void 0 : _a.customTags,
|
|
377
377
|
cwd,
|
|
378
378
|
distPath: outDir,
|
|
@@ -388,7 +388,7 @@ async function _doExtract(ctx, task) {
|
|
|
388
388
|
messages.push(...result.messages);
|
|
389
389
|
if (result.messages.some(msg => msg.logLevel === "error")) {
|
|
390
390
|
await rimraf(tmpPath);
|
|
391
|
-
throw new
|
|
391
|
+
throw new DtsError("encountered errors when extracting types", result.messages);
|
|
392
392
|
}
|
|
393
393
|
results.push({
|
|
394
394
|
sourcePath: path__default["default"].resolve(cwd, entry.sourcePath),
|
|
@@ -402,11 +402,11 @@ async function _doExtract(ctx, task) {
|
|
|
402
402
|
results
|
|
403
403
|
};
|
|
404
404
|
}
|
|
405
|
-
const
|
|
405
|
+
const dtsTask = {
|
|
406
406
|
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
407
|
exec: (ctx, task) => {
|
|
408
408
|
return new rxjs.Observable(observer => {
|
|
409
|
-
|
|
409
|
+
doExtract(ctx, task).then(result => {
|
|
410
410
|
observer.next(result);
|
|
411
411
|
observer.complete();
|
|
412
412
|
}).catch(err => {
|
|
@@ -415,24 +415,24 @@ const _dtsTask = {
|
|
|
415
415
|
});
|
|
416
416
|
},
|
|
417
417
|
complete: (ctx, _task, result) => {
|
|
418
|
-
|
|
418
|
+
printExtractMessages(ctx, result.messages);
|
|
419
419
|
},
|
|
420
420
|
error: (ctx, _task, err) => {
|
|
421
421
|
const {
|
|
422
422
|
logger
|
|
423
423
|
} = ctx;
|
|
424
|
-
if (err instanceof
|
|
425
|
-
|
|
424
|
+
if (err instanceof DtsError) {
|
|
425
|
+
printExtractMessages(ctx, err.messages);
|
|
426
426
|
} else if (err instanceof Error) {
|
|
427
427
|
logger.error(err);
|
|
428
428
|
}
|
|
429
429
|
}
|
|
430
430
|
};
|
|
431
|
-
const
|
|
431
|
+
const dtsWatchTask = {
|
|
432
432
|
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
433
|
exec: (ctx, task) => {
|
|
434
434
|
return new rxjs.Observable(observer => {
|
|
435
|
-
|
|
435
|
+
doExtract(ctx, task).then(result => {
|
|
436
436
|
observer.next(result);
|
|
437
437
|
observer.complete();
|
|
438
438
|
}).catch(err => observer.error(err));
|
|
@@ -442,7 +442,7 @@ const _dtsWatchTask = {
|
|
|
442
442
|
const {
|
|
443
443
|
logger
|
|
444
444
|
} = ctx;
|
|
445
|
-
|
|
445
|
+
printExtractMessages(ctx, result.messages);
|
|
446
446
|
logger.warn("watching typescript definitions is currently not supported");
|
|
447
447
|
logger.log();
|
|
448
448
|
},
|
|
@@ -450,14 +450,14 @@ const _dtsWatchTask = {
|
|
|
450
450
|
const {
|
|
451
451
|
logger
|
|
452
452
|
} = ctx;
|
|
453
|
-
if (err instanceof
|
|
454
|
-
|
|
453
|
+
if (err instanceof DtsError) {
|
|
454
|
+
printExtractMessages(ctx, err.messages);
|
|
455
455
|
} else if (err instanceof Error) {
|
|
456
456
|
logger.error(err);
|
|
457
457
|
}
|
|
458
458
|
}
|
|
459
459
|
};
|
|
460
|
-
function
|
|
460
|
+
function resolveRollupConfig(ctx, buildTask) {
|
|
461
461
|
var _ref2, _ref5, _ref6, _ref7, _ref8, _ref9;
|
|
462
462
|
var _a, _b, _c;
|
|
463
463
|
const {
|
|
@@ -475,7 +475,7 @@ function _resolveRollupConfig(ctx, buildTask) {
|
|
|
475
475
|
pkg,
|
|
476
476
|
ts
|
|
477
477
|
} = ctx;
|
|
478
|
-
const outputExt =
|
|
478
|
+
const outputExt = resolveBuildContext.MODULE_EXT[pkg.type][format];
|
|
479
479
|
const minify = (_ref2 = config == null ? void 0 : config.minify) !== null && _ref2 !== void 0 ? _ref2 : true;
|
|
480
480
|
const outDir = path__default["default"].relative(cwd, distPath);
|
|
481
481
|
const pathAliases = Object.fromEntries(Object.entries(((_a = ts.config) == null ? void 0 : _a.options.paths) || {}).map(_ref3 => {
|
|
@@ -530,7 +530,7 @@ function _resolveRollupConfig(ctx, buildTask) {
|
|
|
530
530
|
babelrc: false,
|
|
531
531
|
plugins: ["@babel/plugin-proposal-object-rest-spread"],
|
|
532
532
|
presets: [["@babel/preset-env", {
|
|
533
|
-
targets: pkg.browserslist ||
|
|
533
|
+
targets: pkg.browserslist || resolveBuildContext.DEFAULT_BROWSERSLIST_QUERY
|
|
534
534
|
}]]
|
|
535
535
|
}), minify && rollupPluginTerser.terser({
|
|
536
536
|
output: {
|
|
@@ -545,7 +545,7 @@ function _resolveRollupConfig(ctx, buildTask) {
|
|
|
545
545
|
}
|
|
546
546
|
})].filter(Boolean);
|
|
547
547
|
const userPlugins = (_b = config == null ? void 0 : config.rollup) == null ? void 0 : _b.plugins;
|
|
548
|
-
const plugins = Array.isArray(userPlugins) ? defaultPlugins.concat(userPlugins) :
|
|
548
|
+
const plugins = Array.isArray(userPlugins) ? defaultPlugins.concat(userPlugins) : resolveBuildContext.resolveConfigProperty((_c = config == null ? void 0 : config.rollup) == null ? void 0 : _c.plugins, defaultPlugins);
|
|
549
549
|
return {
|
|
550
550
|
inputOptions: {
|
|
551
551
|
context: cwd,
|
|
@@ -592,11 +592,11 @@ function _resolveRollupConfig(ctx, buildTask) {
|
|
|
592
592
|
}
|
|
593
593
|
};
|
|
594
594
|
}
|
|
595
|
-
const
|
|
595
|
+
const rollupTask = {
|
|
596
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["default"].blue(path__default["default"].join(ctx.pkg.name, e.path)), ": ").concat(e.source, " -> ").concat(e.output)).join("\n ")),
|
|
597
597
|
exec: (ctx, task) => {
|
|
598
598
|
return new rxjs.Observable(observer => {
|
|
599
|
-
|
|
599
|
+
execPromise(ctx, task).then(result => {
|
|
600
600
|
observer.next(result);
|
|
601
601
|
observer.complete();
|
|
602
602
|
}).catch(err => observer.error(err));
|
|
@@ -609,7 +609,7 @@ const _rollupTask = {
|
|
|
609
609
|
}
|
|
610
610
|
}
|
|
611
611
|
};
|
|
612
|
-
async function
|
|
612
|
+
async function execPromise(ctx, task) {
|
|
613
613
|
const {
|
|
614
614
|
files,
|
|
615
615
|
distPath
|
|
@@ -618,7 +618,7 @@ async function _execPromise(ctx, task) {
|
|
|
618
618
|
const {
|
|
619
619
|
inputOptions,
|
|
620
620
|
outputOptions
|
|
621
|
-
} =
|
|
621
|
+
} = resolveRollupConfig(ctx, task);
|
|
622
622
|
const bundle = await rollup.rollup(inputOptions);
|
|
623
623
|
const {
|
|
624
624
|
output
|
|
@@ -639,13 +639,13 @@ async function _execPromise(ctx, task) {
|
|
|
639
639
|
await bundle.write(outputOptions);
|
|
640
640
|
await bundle.close();
|
|
641
641
|
}
|
|
642
|
-
const
|
|
642
|
+
const rollupWatchTask = {
|
|
643
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["default"].blue(path__default["default"].join(ctx.pkg.name, e.path)), ": ").concat(e.source, " -> ").concat(e.output)).join("\n ")),
|
|
644
644
|
exec: (ctx, task) => {
|
|
645
645
|
const {
|
|
646
646
|
inputOptions,
|
|
647
647
|
outputOptions
|
|
648
|
-
} =
|
|
648
|
+
} = resolveRollupConfig(ctx, task);
|
|
649
649
|
return new rxjs.Observable(observer => {
|
|
650
650
|
const watchOptions = _objectSpread(_objectSpread({}, inputOptions), {}, {
|
|
651
651
|
output: outputOptions
|
|
@@ -691,19 +691,19 @@ const _rollupWatchTask = {
|
|
|
691
691
|
}
|
|
692
692
|
}
|
|
693
693
|
};
|
|
694
|
-
const
|
|
695
|
-
"build:dts":
|
|
696
|
-
"build:js":
|
|
694
|
+
const buildTaskHandlers = {
|
|
695
|
+
"build:dts": dtsTask,
|
|
696
|
+
"build:js": rollupTask
|
|
697
697
|
};
|
|
698
|
-
const
|
|
699
|
-
"watch:dts":
|
|
700
|
-
"watch:js":
|
|
698
|
+
const watchTaskHandlers = {
|
|
699
|
+
"watch:dts": dtsWatchTask,
|
|
700
|
+
"watch:js": rollupWatchTask
|
|
701
701
|
};
|
|
702
|
-
exports.
|
|
703
|
-
exports.
|
|
704
|
-
exports.
|
|
705
|
-
exports.
|
|
706
|
-
exports.
|
|
707
|
-
exports.
|
|
708
|
-
exports.
|
|
709
|
-
//# sourceMappingURL=index-
|
|
702
|
+
exports.buildTaskHandlers = buildTaskHandlers;
|
|
703
|
+
exports.dtsTask = dtsTask;
|
|
704
|
+
exports.dtsWatchTask = dtsWatchTask;
|
|
705
|
+
exports.getExtractMessagesConfig = getExtractMessagesConfig;
|
|
706
|
+
exports.rollupTask = rollupTask;
|
|
707
|
+
exports.rollupWatchTask = rollupWatchTask;
|
|
708
|
+
exports.watchTaskHandlers = watchTaskHandlers;
|
|
709
|
+
//# sourceMappingURL=index-79fdb33f.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-79fdb33f.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 {InputOptions, OutputOptions, Plugin} from 'rollup'\nimport esbuild from 'rollup-plugin-esbuild'\nimport {terser} from 'rollup-plugin-terser'\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 onwarn(warning, rollupWarn) {\n if (!warning.code || !['CIRCULAR_DEPENDENCY'].includes(warning.code)) {\n rollupWarn(warning)\n }\n },\n\n plugins,\n\n treeshake: {\n propertyReadSideEffects: false,\n },\n },\n outputOptions: {\n chunkFileNames: () => `_chunks/[name]-[hash]${outputExt}`,\n dir: outDir,\n entryFileNames: () => (outputExt === '.esm.js' ? `[name].js` : `[name]${outputExt}`),\n format,\n exports: 'auto',\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 {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n // Create bundle\n const bundle = await rollup(inputOptions)\n\n // an array of file names this bundle depends on\n // console.log(bundle.watchFiles)\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 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","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","default","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","_a2","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","onwarn","warning","rollupWarn","treeshake","propertyReadSideEffects","outputOptions","chunkFileNames","dir","entryFileNames","sourcemap","rollupTask","execPromise","bundle","generate","chunkOrAsset","write","close","rollupWatchTask","watchOptions","watcher","rollupWatch","on","event","success","buildTaskHandlers","watchTaskHandlers"],"mappings":"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"}
|