@sanity/pkg-utils 7.4.1-canary.0 → 7.5.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-cjs/index.cjs +2022 -260
- package/dist/_chunks-cjs/index.cjs.map +1 -1
- package/dist/_chunks-es/build.js +106 -17
- package/dist/_chunks-es/build.js.map +1 -1
- package/dist/_chunks-es/check.js +125 -37
- package/dist/_chunks-es/check.js.map +1 -1
- package/dist/_chunks-es/consoleSpy.js +541 -0
- package/dist/_chunks-es/consoleSpy.js.map +1 -0
- package/dist/_chunks-es/index.js +774 -180
- package/dist/_chunks-es/index.js.map +1 -1
- package/dist/_chunks-es/init.js +493 -9
- package/dist/_chunks-es/init.js.map +1 -1
- package/dist/_chunks-es/{logger.js → isRecord.js} +15 -2
- package/dist/_chunks-es/isRecord.js.map +1 -0
- package/dist/_chunks-es/resolveRolldownConfig.js +1 -1
- package/dist/_chunks-es/spinner.js +16 -0
- package/dist/_chunks-es/spinner.js.map +1 -0
- package/dist/_chunks-es/watch.js +115 -9
- package/dist/_chunks-es/watch.js.map +1 -1
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +1 -1
- package/dist/index.d.cts +408 -487
- package/dist/index.d.ts +408 -487
- package/dist/index.js +7 -4
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/_chunks-cjs/findConfigFile.cjs +0 -24
- package/dist/_chunks-cjs/findConfigFile.cjs.map +0 -1
- package/dist/_chunks-cjs/index2.cjs +0 -781
- package/dist/_chunks-cjs/index2.cjs.map +0 -1
- package/dist/_chunks-cjs/index3.cjs +0 -50
- package/dist/_chunks-cjs/index3.cjs.map +0 -1
- package/dist/_chunks-cjs/printPackageTree.cjs +0 -42
- package/dist/_chunks-cjs/printPackageTree.cjs.map +0 -1
- package/dist/_chunks-cjs/resolveBuildContext.cjs +0 -176
- package/dist/_chunks-cjs/resolveBuildContext.cjs.map +0 -1
- package/dist/_chunks-cjs/resolveBuildTasks.cjs +0 -111
- package/dist/_chunks-cjs/resolveBuildTasks.cjs.map +0 -1
- package/dist/_chunks-cjs/resolveConfigProperty.cjs +0 -6
- package/dist/_chunks-cjs/resolveConfigProperty.cjs.map +0 -1
- package/dist/_chunks-cjs/resolveWatchTasks.cjs +0 -79
- package/dist/_chunks-cjs/resolveWatchTasks.cjs.map +0 -1
- package/dist/_chunks-cjs/template.cjs +0 -446
- package/dist/_chunks-cjs/template.cjs.map +0 -1
- package/dist/_chunks-cjs/validatePkg.cjs +0 -71
- package/dist/_chunks-cjs/validatePkg.cjs.map +0 -1
- package/dist/_chunks-cjs/watchConfigFiles.cjs +0 -59
- package/dist/_chunks-cjs/watchConfigFiles.cjs.map +0 -1
- package/dist/_chunks-es/fileExists.js +0 -12
- package/dist/_chunks-es/fileExists.js.map +0 -1
- package/dist/_chunks-es/findConfigFile.js +0 -23
- package/dist/_chunks-es/findConfigFile.js.map +0 -1
- package/dist/_chunks-es/index2.js +0 -769
- package/dist/_chunks-es/index2.js.map +0 -1
- package/dist/_chunks-es/index3.js +0 -51
- package/dist/_chunks-es/index3.js.map +0 -1
- package/dist/_chunks-es/loadPkgWithReporting.js +0 -100
- package/dist/_chunks-es/loadPkgWithReporting.js.map +0 -1
- package/dist/_chunks-es/logger.js.map +0 -1
- package/dist/_chunks-es/printPackageTree.js +0 -44
- package/dist/_chunks-es/printPackageTree.js.map +0 -1
- package/dist/_chunks-es/resolveBuildContext.js +0 -177
- package/dist/_chunks-es/resolveBuildContext.js.map +0 -1
- package/dist/_chunks-es/resolveBuildTasks.js +0 -109
- package/dist/_chunks-es/resolveBuildTasks.js.map +0 -1
- package/dist/_chunks-es/resolveConfigProperty.js +0 -7
- package/dist/_chunks-es/resolveConfigProperty.js.map +0 -1
- package/dist/_chunks-es/resolveWatchTasks.js +0 -77
- package/dist/_chunks-es/resolveWatchTasks.js.map +0 -1
- package/dist/_chunks-es/template.js +0 -449
- package/dist/_chunks-es/template.js.map +0 -1
- package/dist/_chunks-es/validatePkg.js +0 -72
- package/dist/_chunks-es/validatePkg.js.map +0 -1
- package/dist/_chunks-es/watchConfigFiles.js +0 -45
- package/dist/_chunks-es/watchConfigFiles.js.map +0 -1
package/dist/_chunks-es/watch.js
CHANGED
|
@@ -1,14 +1,120 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
|
-
import { switchMap } from "rxjs";
|
|
3
|
-
import { loadConfig, loadPkgWithReporting } from "./
|
|
4
|
-
import { createLogger } from "./
|
|
2
|
+
import { Observable, switchMap } from "rxjs";
|
|
3
|
+
import { getTargetPaths, loadConfig, loadPkgWithReporting, resolveBuildContext } from "./consoleSpy.js";
|
|
4
|
+
import { createLogger } from "./isRecord.js";
|
|
5
|
+
import { watchTaskHandlers } from "./index.js";
|
|
6
|
+
import { scan, startWith, distinctUntilChanged } from "rxjs/operators";
|
|
7
|
+
import globby from "globby";
|
|
8
|
+
import * as chokidar from "chokidar";
|
|
9
|
+
function resolveWatchTasks(ctx) {
|
|
10
|
+
const { pkg, target } = ctx, tasks = [], exports = Object.entries(ctx.exports || {}).map(
|
|
11
|
+
([_path, exp]) => ({ _path, ...exp })
|
|
12
|
+
), dtsTask = {
|
|
13
|
+
type: "watch:dts",
|
|
14
|
+
entries: []
|
|
15
|
+
}, rollupTasks = {};
|
|
16
|
+
function addRollupTaskEntry(format, runtime, entry) {
|
|
17
|
+
const buildId = `${format}:${runtime}`;
|
|
18
|
+
rollupTasks[buildId] ? rollupTasks[buildId].entries.push(entry) : rollupTasks[buildId] = {
|
|
19
|
+
type: "watch:js",
|
|
20
|
+
buildId,
|
|
21
|
+
entries: [entry],
|
|
22
|
+
runtime,
|
|
23
|
+
format,
|
|
24
|
+
target: target[runtime]
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
for (const exp of exports) {
|
|
28
|
+
const importId = path.join(pkg.name, exp._path);
|
|
29
|
+
exp.source?.endsWith(".ts") && dtsTask.entries.push({
|
|
30
|
+
importId,
|
|
31
|
+
exportPath: exp._path,
|
|
32
|
+
sourcePath: exp.source,
|
|
33
|
+
targetPaths: getTargetPaths(pkg.type, exp)
|
|
34
|
+
}), exp.browser?.source?.endsWith(".ts") && dtsTask.entries.push({
|
|
35
|
+
importId,
|
|
36
|
+
exportPath: exp._path,
|
|
37
|
+
sourcePath: exp.browser.source,
|
|
38
|
+
targetPaths: getTargetPaths(pkg.type, exp.browser)
|
|
39
|
+
}), exp.node?.source?.endsWith(".ts") && dtsTask.entries.push({
|
|
40
|
+
importId,
|
|
41
|
+
exportPath: exp._path,
|
|
42
|
+
sourcePath: exp.node.source,
|
|
43
|
+
targetPaths: getTargetPaths(pkg.type, exp.node)
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
for (const exp of exports) {
|
|
47
|
+
const output = exp.require;
|
|
48
|
+
output && addRollupTaskEntry("commonjs", ctx.runtime, {
|
|
49
|
+
path: exp._path,
|
|
50
|
+
source: exp.source,
|
|
51
|
+
output
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
for (const exp of exports) {
|
|
55
|
+
const output = exp.browser?.require;
|
|
56
|
+
output && addRollupTaskEntry("commonjs", "browser", {
|
|
57
|
+
path: exp._path,
|
|
58
|
+
source: exp.browser?.source || exp.source,
|
|
59
|
+
output
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
for (const exp of exports) {
|
|
63
|
+
const output = exp.import;
|
|
64
|
+
output && addRollupTaskEntry("esm", ctx.runtime, {
|
|
65
|
+
path: exp._path,
|
|
66
|
+
source: exp.source,
|
|
67
|
+
output
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
for (const exp of exports) {
|
|
71
|
+
const output = exp.browser?.import;
|
|
72
|
+
output && addRollupTaskEntry("esm", "browser", {
|
|
73
|
+
path: exp._path,
|
|
74
|
+
source: exp.browser?.source || exp.source,
|
|
75
|
+
output
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
return dtsTask.entries.length && tasks.push(dtsTask), tasks.push(...Object.values(rollupTasks)), tasks;
|
|
79
|
+
}
|
|
80
|
+
function globFiles(patterns) {
|
|
81
|
+
return globby(patterns.map((pattern) => pattern.split(path.sep).join(path.posix.sep)));
|
|
82
|
+
}
|
|
83
|
+
function watchFiles(patterns) {
|
|
84
|
+
return new Observable((observer) => {
|
|
85
|
+
const watcher = chokidar.watch(patterns, {
|
|
86
|
+
ignoreInitial: !0
|
|
87
|
+
});
|
|
88
|
+
function handleFileEvent(type, file) {
|
|
89
|
+
type === "error" || file instanceof Error ? observer.error(file) : observer.next({ type, file });
|
|
90
|
+
}
|
|
91
|
+
return watcher.on("all", handleFileEvent), () => {
|
|
92
|
+
watcher.off("all", handleFileEvent), watcher.close();
|
|
93
|
+
};
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
async function watchConfigFiles(options) {
|
|
97
|
+
const { cwd, logger } = options, initialFiles = await globFiles([
|
|
98
|
+
path.resolve(cwd, "package.json"),
|
|
99
|
+
path.resolve(cwd, "package.config.cjs"),
|
|
100
|
+
path.resolve(cwd, "package.config.js"),
|
|
101
|
+
path.resolve(cwd, "package.config.ts")
|
|
102
|
+
]);
|
|
103
|
+
return watchFiles([
|
|
104
|
+
path.resolve(cwd, "package.json"),
|
|
105
|
+
path.resolve(cwd, "package.config.cjs"),
|
|
106
|
+
path.resolve(cwd, "package.config.js"),
|
|
107
|
+
path.resolve(cwd, "package.config.ts")
|
|
108
|
+
]).pipe(
|
|
109
|
+
scan((files, fileEvent) => fileEvent.type === "add" ? files.concat(fileEvent.file) : fileEvent.type === "unlink" ? files.filter((f) => f !== fileEvent.file) : fileEvent.type === "change" ? (logger.log(
|
|
110
|
+
"--------------------------------------------------------------------------------"
|
|
111
|
+
), logger.info(path.relative(cwd, fileEvent.file), "changed"), logger.log(""), files.slice(0)) : files, initialFiles),
|
|
112
|
+
startWith(initialFiles),
|
|
113
|
+
distinctUntilChanged()
|
|
114
|
+
);
|
|
115
|
+
}
|
|
5
116
|
async function watch(options) {
|
|
6
|
-
const
|
|
7
|
-
import("./resolveBuildContext.js"),
|
|
8
|
-
import("./resolveWatchTasks.js"),
|
|
9
|
-
import("./index2.js"),
|
|
10
|
-
import("./watchConfigFiles.js")
|
|
11
|
-
]), { cwd, strict = !1, tsconfig: tsconfigOption } = options, logger = createLogger();
|
|
117
|
+
const { cwd, strict = !1, tsconfig: tsconfigOption } = options, logger = createLogger();
|
|
12
118
|
(await watchConfigFiles({ cwd, logger })).pipe(
|
|
13
119
|
switchMap(async (configFiles) => {
|
|
14
120
|
if (!configFiles.map((f) => path.relative(cwd, f)).find((f) => f === "package.json"))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch.js","sources":["../../src/node/watch.ts"],"sourcesContent":["import path from 'node:path'\nimport {switchMap} from 'rxjs'\nimport {loadConfig} from './core/config/loadConfig'\nimport {loadPkgWithReporting} from './core/pkg/loadPkgWithReporting'\nimport {createLogger} from './logger'\nimport type {TaskHandler, WatchTask} from './tasks/types'\n\n/** @public */\nexport async function watch(options: {\n cwd: string\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n const [{resolveBuildContext}, {resolveWatchTasks}, {watchTaskHandlers}, {watchConfigFiles}] =\n await Promise.all([\n import('./resolveBuildContext'),\n import('./resolveWatchTasks'),\n import('./tasks'),\n import('./watchConfigFiles'),\n ])\n const {cwd, strict = false, tsconfig: tsconfigOption} = options\n\n const logger = createLogger()\n\n const configFiles$ = await watchConfigFiles({cwd, logger})\n\n const ctx$ = configFiles$.pipe(\n switchMap(async (configFiles) => {\n const files = configFiles.map((f) => path.relative(cwd, f))\n\n const packageJsonPath = files.find((f) => f === 'package.json')\n\n if (!packageJsonPath) {\n throw new Error('missing package.json')\n }\n\n const config = await loadConfig({cwd})\n const pkg = await loadPkgWithReporting({cwd, logger, strict})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n\n return resolveBuildContext({config, cwd, logger, pkg, strict, tsconfig})\n }),\n )\n\n ctx$.subscribe(async (ctx) => {\n const watchTasks = resolveWatchTasks(ctx)\n\n for (const task of watchTasks) {\n const handler = watchTaskHandlers[task.type] as TaskHandler<WatchTask, unknown>\n const result$ = handler.exec(ctx, task)\n\n result$.subscribe({\n error: (err) => {\n ctx.logger.error(err)\n ctx.logger.log()\n\n process.exit(1)\n },\n next: (result) => {\n handler.complete(ctx, task, result)\n },\n complete: () => {\n ctx.logger.success(handler.name(ctx, task))\n ctx.logger.log()\n },\n })\n }\n })\n}\n"],"names":[],"mappings":";;;;AAQA,eAAsB,MAAM,SAIV;AAChB,QAAM,CAAC,EAAC,uBAAsB,EAAC,qBAAoB,EAAC,kBAAiB,GAAG,EAAC,iBAAiB,CAAA,IACxF,MAAM,QAAQ,IAAI;AAAA,IAChB,OAAO,0BAAuB;AAAA,IAC9B,OAAO,wBAAqB;AAAA,IAC5B,OAAO,aAAS;AAAA,IAChB,OAAO,uBAAoB;AAAA,EAAA,CAC5B,GACG,EAAC,KAAK,SAAS,IAAO,UAAU,mBAAkB,SAElD,SAAS,aAAa;AAsB5B,GApBqB,MAAM,iBAAiB,EAAC,KAAK,OAAA,CAAO,GAE/B;AAAA,IACxB,UAAU,OAAO,gBAAgB;AAK/B,UAAI,CAJU,YAAY,IAAI,CAAC,MAAM,KAAK,SAAS,KAAK,CAAC,CAAC,EAE5B,KAAK,CAAC,MAAM,MAAM,cAAc;AAGtD,cAAA,IAAI,MAAM,sBAAsB;AAGxC,YAAM,SAAS,MAAM,WAAW,EAAC,IAAG,CAAC,GAC/B,MAAM,MAAM,qBAAqB,EAAC,KAAK,QAAQ,QAAO,GACtD,WAAW,kBAAkB,QAAQ,YAAY;AAEhD,aAAA,oBAAoB,EAAC,QAAQ,KAAK,QAAQ,KAAK,QAAQ,UAAS;AAAA,IACxE,CAAA;AAAA,EAAA,EAGE,UAAU,OAAO,QAAQ;AACtB,UAAA,aAAa,kBAAkB,GAAG;AAExC,eAAW,QAAQ,YAAY;AACvB,YAAA,UAAU,kBAAkB,KAAK,IAAI;AAC3B,cAAQ,KAAK,KAAK,IAAI,EAE9B,UAAU;AAAA,QAChB,OAAO,CAAC,QAAQ;AACV,cAAA,OAAO,MAAM,GAAG,GACpB,IAAI,OAAO,IAAI,GAEf,QAAQ,KAAK,CAAC;AAAA,QAChB;AAAA,QACA,MAAM,CAAC,WAAW;AACR,kBAAA,SAAS,KAAK,MAAM,MAAM;AAAA,QACpC;AAAA,QACA,UAAU,MAAM;AACV,cAAA,OAAO,QAAQ,QAAQ,KAAK,KAAK,IAAI,CAAC,GAC1C,IAAI,OAAO,IAAI;AAAA,QAAA;AAAA,MACjB,CACD;AAAA,IAAA;AAAA,EACH,CACD;AACH;"}
|
|
1
|
+
{"version":3,"file":"watch.js","sources":["../../src/node/resolveWatchTasks.ts","../../src/node/globFiles.ts","../../src/node/watchFiles.ts","../../src/node/watchConfigFiles.ts","../../src/node/watch.ts"],"sourcesContent":["import path from 'node:path'\nimport type {PkgExport, PkgFormat, PkgRuntime} from './core/config/types'\nimport type {BuildContext} from './core/contexts/buildContext'\nimport {getTargetPaths} from './tasks/dts/getTargetPaths'\nimport type {DtsWatchTask} from './tasks/dts/types'\nimport type {RollupTaskEntry, RollupWatchTask, WatchTask} from './tasks/types'\n\n/** @internal */\nexport function resolveWatchTasks(ctx: BuildContext): WatchTask[] {\n const {pkg, target} = ctx\n const tasks: WatchTask[] = []\n\n const exports = Object.entries(ctx.exports || {}).map(\n ([_path, exp]) => ({_path, ...exp}) as PkgExport & {_path: string},\n )\n\n const dtsTask: DtsWatchTask = {\n type: 'watch:dts',\n entries: [],\n }\n\n const rollupTasks: Record<string, RollupWatchTask> = {}\n\n function addRollupTaskEntry(format: PkgFormat, runtime: PkgRuntime, entry: RollupTaskEntry) {\n const buildId = `${format}:${runtime}`\n\n if (rollupTasks[buildId]) {\n rollupTasks[buildId].entries.push(entry)\n } else {\n rollupTasks[buildId] = {\n type: 'watch:js',\n buildId,\n entries: [entry],\n runtime,\n format,\n target: target[runtime],\n }\n }\n }\n\n // Parse `dts` tasks\n for (const exp of exports) {\n const importId = path.join(pkg.name, exp._path)\n\n if (exp.source?.endsWith('.ts')) {\n dtsTask.entries.push({\n importId,\n exportPath: exp._path,\n sourcePath: exp.source,\n targetPaths: getTargetPaths(pkg.type, exp),\n })\n }\n\n if (exp.browser?.source?.endsWith('.ts')) {\n dtsTask.entries.push({\n importId,\n exportPath: exp._path,\n sourcePath: exp.browser.source,\n targetPaths: getTargetPaths(pkg.type, exp.browser),\n })\n }\n\n if (exp.node?.source?.endsWith('.ts')) {\n dtsTask.entries.push({\n importId,\n exportPath: exp._path,\n sourcePath: exp.node.source,\n targetPaths: getTargetPaths(pkg.type, exp.node),\n })\n }\n }\n\n // Parse rollup:commonjs:* tasks\n for (const exp of exports) {\n const output = exp.require\n\n if (!output) continue\n\n addRollupTaskEntry('commonjs', ctx.runtime, {\n path: exp._path,\n source: exp.source,\n output,\n })\n }\n\n // Parse rollup:commonjs:browser tasks\n for (const exp of exports) {\n const output = exp.browser?.require\n\n if (!output) continue\n\n addRollupTaskEntry('commonjs', 'browser', {\n path: exp._path,\n source: exp.browser?.source || exp.source,\n output,\n })\n }\n\n // Parse rollup:esm:* tasks\n for (const exp of exports) {\n const output = exp.import\n\n if (!output) continue\n\n addRollupTaskEntry('esm', ctx.runtime, {\n path: exp._path,\n source: exp.source,\n output,\n })\n }\n\n // Parse rollup:esm:browser tasks\n for (const exp of exports) {\n const output = exp.browser?.import\n\n if (!output) continue\n\n addRollupTaskEntry('esm', 'browser', {\n path: exp._path,\n source: exp.browser?.source || exp.source,\n output,\n })\n }\n\n if (dtsTask.entries.length) {\n tasks.push(dtsTask)\n }\n\n tasks.push(...Object.values(rollupTasks))\n\n return tasks\n}\n","import path from 'node:path'\nimport globby from 'globby'\n\nexport function globFiles(patterns: string[]): Promise<string[]> {\n return globby(patterns.map((pattern) => pattern.split(path.sep).join(path.posix.sep)))\n}\n","import * as chokidar from 'chokidar'\nimport type {EventName} from 'chokidar/handler.js'\nimport {Observable} from 'rxjs'\n\nexport interface FileEvent {\n type: EventName\n file: string\n}\n\nexport function watchFiles(patterns: string[]): Observable<FileEvent> {\n return new Observable((observer) => {\n const watcher = chokidar.watch(patterns, {\n ignoreInitial: true,\n })\n\n function handleFileEvent(type: EventName, file: string | Error) {\n if (type === 'error' || file instanceof Error) {\n observer.error(file)\n } else {\n observer.next({type, file})\n }\n }\n\n watcher.on('all', handleFileEvent)\n\n return () => {\n watcher.off('all', handleFileEvent)\n watcher.close()\n }\n })\n}\n","import path from 'node:path'\nimport type {Observable} from 'rxjs'\nimport {distinctUntilChanged, scan, startWith} from 'rxjs/operators'\nimport {globFiles} from './globFiles'\nimport type {Logger} from './logger'\nimport {watchFiles} from './watchFiles'\n\nexport async function watchConfigFiles(options: {\n cwd: string\n logger: Logger\n}): Promise<Observable<string[]>> {\n const {cwd, logger} = options\n\n const initialFiles = await globFiles([\n path.resolve(cwd, 'package.json'),\n path.resolve(cwd, 'package.config.cjs'),\n path.resolve(cwd, 'package.config.js'),\n path.resolve(cwd, 'package.config.ts'),\n ])\n\n const fileEvent$ = watchFiles([\n path.resolve(cwd, 'package.json'),\n path.resolve(cwd, 'package.config.cjs'),\n path.resolve(cwd, 'package.config.js'),\n path.resolve(cwd, 'package.config.ts'),\n ])\n\n return fileEvent$.pipe(\n scan((files, fileEvent) => {\n if (fileEvent.type === 'add') {\n return files.concat(fileEvent.file)\n }\n\n if (fileEvent.type === 'unlink') {\n return files.filter((f) => f !== fileEvent.file)\n }\n\n if (fileEvent.type === 'change') {\n logger.log(\n '--------------------------------------------------------------------------------',\n )\n logger.info(path.relative(cwd, fileEvent.file), 'changed')\n logger.log('')\n\n return files.slice(0) // trigger update\n }\n\n return files\n }, initialFiles),\n startWith(initialFiles),\n distinctUntilChanged(),\n )\n}\n","import path from 'node:path'\nimport {switchMap} from 'rxjs'\nimport {loadConfig} from './core/config/loadConfig'\nimport {loadPkgWithReporting} from './core/pkg/loadPkgWithReporting'\nimport {createLogger} from './logger'\nimport {resolveBuildContext} from './resolveBuildContext'\nimport {resolveWatchTasks} from './resolveWatchTasks'\nimport {watchTaskHandlers} from './tasks'\nimport {type TaskHandler, type WatchTask} from './tasks/types'\nimport {watchConfigFiles} from './watchConfigFiles'\n\n/** @public */\nexport async function watch(options: {\n cwd: string\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n const {cwd, strict = false, tsconfig: tsconfigOption} = options\n\n const logger = createLogger()\n\n const configFiles$ = await watchConfigFiles({cwd, logger})\n\n const ctx$ = configFiles$.pipe(\n switchMap(async (configFiles) => {\n const files = configFiles.map((f) => path.relative(cwd, f))\n\n const packageJsonPath = files.find((f) => f === 'package.json')\n\n if (!packageJsonPath) {\n throw new Error('missing package.json')\n }\n\n const config = await loadConfig({cwd})\n const pkg = await loadPkgWithReporting({cwd, logger, strict})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n\n return resolveBuildContext({config, cwd, logger, pkg, strict, tsconfig})\n }),\n )\n\n ctx$.subscribe(async (ctx) => {\n const watchTasks = resolveWatchTasks(ctx)\n\n for (const task of watchTasks) {\n const handler = watchTaskHandlers[task.type] as TaskHandler<WatchTask, unknown>\n const result$ = handler.exec(ctx, task)\n\n result$.subscribe({\n error: (err) => {\n ctx.logger.error(err)\n ctx.logger.log()\n\n process.exit(1)\n },\n next: (result) => {\n handler.complete(ctx, task, result)\n },\n complete: () => {\n ctx.logger.success(handler.name(ctx, task))\n ctx.logger.log()\n },\n })\n }\n })\n}\n"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export {}
|
|
1
|
+
export { };
|
package/dist/cli.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { cac } from "cac";
|
|
2
|
-
var version = "7.
|
|
2
|
+
var version = "7.5.0";
|
|
3
3
|
const cli = cac();
|
|
4
4
|
cli.command("", "Check").alias("check").option("--strict", "Strict mode").option("--tsconfig [tsconfig]", "[string] tsconfig.json").action(async (options) => {
|
|
5
5
|
const { checkAction } = await import("./_chunks-es/checkAction.js");
|