@sanity/pkg-utils 5.1.3-canary.0 → 5.1.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-cjs/build.cjs +4 -5
- package/dist/_chunks-cjs/build.cjs.map +1 -1
- package/dist/_chunks-cjs/check.cjs +4 -4
- package/dist/_chunks-cjs/check.cjs.map +1 -1
- package/dist/_chunks-cjs/consoleSpy.cjs +21 -28
- package/dist/_chunks-cjs/consoleSpy.cjs.map +1 -1
- package/dist/_chunks-cjs/handleError.cjs +3 -3
- package/dist/_chunks-cjs/index.cjs +6 -14
- package/dist/_chunks-cjs/index.cjs.map +1 -1
- package/dist/_chunks-cjs/init.cjs +3 -3
- package/dist/_chunks-cjs/logger.cjs +3 -3
- package/dist/_chunks-cjs/watch.cjs +5 -5
- package/dist/_chunks-cjs/watch.cjs.map +1 -1
- package/dist/cli.cjs +3 -3
- package/dist/index.cjs +0 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +0 -8
- package/dist/index.d.ts +0 -8
- package/dist/index.js +25 -41
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/node/build.ts +1 -3
- package/src/node/check.ts +2 -3
- package/src/node/core/contexts/buildContext.ts +4 -5
- package/src/node/core/pkg/parseExports.ts +4 -7
- package/src/node/core/pkg/pkgExt.ts +0 -8
- package/src/node/core/pkg/validateExports.ts +3 -3
- package/src/node/resolveBuildContext.ts +6 -11
- package/src/node/tasks/rollup/resolveRollupConfig.ts +3 -12
- package/src/node/watch.ts +2 -3
|
@@ -8,10 +8,10 @@ require("@sanity/browserslist-config");
|
|
|
8
8
|
require("chalk");
|
|
9
9
|
require("zod");
|
|
10
10
|
require("typescript");
|
|
11
|
-
function
|
|
12
|
-
return e &&
|
|
11
|
+
function _interopDefault(e) {
|
|
12
|
+
return e && e.__esModule ? e : { default: e };
|
|
13
13
|
}
|
|
14
|
-
var prompts__default = /* @__PURE__ */
|
|
14
|
+
var prompts__default = /* @__PURE__ */ _interopDefault(prompts), getLatestVersion__default = /* @__PURE__ */ _interopDefault(getLatestVersion), gitUrlParse__default = /* @__PURE__ */ _interopDefault(gitUrlParse), parseGitConfig__default = /* @__PURE__ */ _interopDefault(parseGitConfig), prettier__default = /* @__PURE__ */ _interopDefault(prettier);
|
|
15
15
|
const promptsTypes = {
|
|
16
16
|
string: "text"
|
|
17
17
|
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var fs = require("fs"), zod = require("zod"), chalk = require("chalk");
|
|
3
|
-
function
|
|
4
|
-
return e &&
|
|
3
|
+
function _interopDefault(e) {
|
|
4
|
+
return e && e.__esModule ? e : { default: e };
|
|
5
5
|
}
|
|
6
|
-
var chalk__default = /* @__PURE__ */
|
|
6
|
+
var chalk__default = /* @__PURE__ */ _interopDefault(chalk);
|
|
7
7
|
function fileExists(filePath) {
|
|
8
8
|
try {
|
|
9
9
|
return fs.statSync(filePath), !0;
|
|
@@ -8,10 +8,10 @@ require("mkdirp");
|
|
|
8
8
|
require("prompts");
|
|
9
9
|
require("typescript");
|
|
10
10
|
var fs = require("fs"), index = require("./index.cjs"), operators = require("rxjs/operators"), globby = require("globby"), chokidar = require("chokidar");
|
|
11
|
-
function
|
|
12
|
-
return e &&
|
|
11
|
+
function _interopDefault(e) {
|
|
12
|
+
return e && e.__esModule ? e : { default: e };
|
|
13
13
|
}
|
|
14
|
-
var path__default = /* @__PURE__ */
|
|
14
|
+
var path__default = /* @__PURE__ */ _interopDefault(path), fs__default = /* @__PURE__ */ _interopDefault(fs), globby__default = /* @__PURE__ */ _interopDefault(globby), chokidar__default = /* @__PURE__ */ _interopDefault(chokidar);
|
|
15
15
|
function resolveWatchTasks(ctx) {
|
|
16
16
|
const { config, cwd, pkg, target } = ctx, tasks = [], exports2 = Object.entries(ctx.exports || {}).map(
|
|
17
17
|
([_path, exp]) => ({ _path, ...exp })
|
|
@@ -141,8 +141,8 @@ async function watch(options) {
|
|
|
141
141
|
rxjs.switchMap(async (configFiles) => {
|
|
142
142
|
if (!configFiles.map((f) => path__default.default.relative(cwd, f)).find((f) => f === "package.json"))
|
|
143
143
|
throw new Error("missing package.json");
|
|
144
|
-
const pkg = await consoleSpy.loadPkgWithReporting({ cwd, logger: logger$1, strict }), config = await consoleSpy.loadConfig({ cwd }),
|
|
145
|
-
return consoleSpy.resolveBuildContext({ config, cwd,
|
|
144
|
+
const pkg = await consoleSpy.loadPkgWithReporting({ cwd, logger: logger$1, strict }), config = await consoleSpy.loadConfig({ cwd }), tsconfig = tsconfigOption || config?.tsconfig || "tsconfig.json";
|
|
145
|
+
return consoleSpy.resolveBuildContext({ config, cwd, logger: logger$1, pkg, strict, tsconfig });
|
|
146
146
|
})
|
|
147
147
|
).subscribe(async (ctx) => {
|
|
148
148
|
const watchTasks = resolveWatchTasks(ctx);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch.cjs","sources":["../../src/node/resolveWatchTasks.ts","../../src/node/globFiles.ts","../../src/node/watchFiles.ts","../../src/node/watchConfigFiles.ts","../../src/node/watch.ts"],"sourcesContent":["import fs from 'fs'\nimport path from 'path'\n\nimport type {BuildContext, PkgExport, PkgFormat, PkgRuntime} from './core'\nimport type {DtsWatchTask, RollupTaskEntry, RollupWatchTask, WatchTask} from './tasks'\nimport {getTargetPaths} from './tasks/dts/getTargetPaths'\n\n/** @internal */\nexport function resolveWatchTasks(ctx: BuildContext): WatchTask[] {\n const {config, cwd, 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 // Write legacy exports files\n if (config?.legacyExports) {\n for (const exp of exports) {\n if (exp._exported && exp._path !== '.') {\n const relativeTargetPath = (exp.browser?.import || exp.import || '').replace(\n /\\.[^/.]+$/,\n '',\n )\n\n if (relativeTargetPath) {\n fs.writeFileSync(\n path.resolve(cwd, `${exp._path}.js`),\n [`// AUTO-GENERATED – DO NOT EDIT`, `export * from '${relativeTargetPath}'`, ``].join(\n '\\n',\n ),\n )\n }\n }\n }\n }\n\n return tasks\n}\n","import globby from 'globby'\nimport path from 'path'\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 chokidar from 'chokidar'\nimport {Observable} from 'rxjs'\n\nexport interface FileEvent {\n type: 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir'\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(\n type: 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir',\n file: string,\n ) {\n observer.next({type, file})\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 'path'\nimport {Observable} from 'rxjs'\nimport {distinctUntilChanged, scan, startWith} from 'rxjs/operators'\n\nimport {globFiles} from './globFiles'\nimport {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 'path'\nimport {switchMap} from 'rxjs'\n\nimport {getPkgExtMap, loadConfig, loadPkgWithReporting} from './core'\nimport {createLogger} from './logger'\nimport {resolveBuildContext} from './resolveBuildContext'\nimport {resolveWatchTasks} from './resolveWatchTasks'\nimport {type TaskHandler, type WatchTask, watchTaskHandlers} from './tasks'\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 pkg = await loadPkgWithReporting({cwd, logger, strict})\n const config = await loadConfig({cwd})\n const extMap = getPkgExtMap()\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n\n return resolveBuildContext({config, cwd, extMap, 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":["exports","path","getTargetPaths","fs","globby","Observable","chokidar","logger","scan","startWith","distinctUntilChanged","createLogger","switchMap","loadPkgWithReporting","loadConfig","getPkgExtMap","resolveBuildContext","watchTaskHandlers"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"watch.cjs","sources":["../../src/node/resolveWatchTasks.ts","../../src/node/globFiles.ts","../../src/node/watchFiles.ts","../../src/node/watchConfigFiles.ts","../../src/node/watch.ts"],"sourcesContent":["import fs from 'fs'\nimport path from 'path'\n\nimport type {BuildContext, PkgExport, PkgFormat, PkgRuntime} from './core'\nimport type {DtsWatchTask, RollupTaskEntry, RollupWatchTask, WatchTask} from './tasks'\nimport {getTargetPaths} from './tasks/dts/getTargetPaths'\n\n/** @internal */\nexport function resolveWatchTasks(ctx: BuildContext): WatchTask[] {\n const {config, cwd, 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 // Write legacy exports files\n if (config?.legacyExports) {\n for (const exp of exports) {\n if (exp._exported && exp._path !== '.') {\n const relativeTargetPath = (exp.browser?.import || exp.import || '').replace(\n /\\.[^/.]+$/,\n '',\n )\n\n if (relativeTargetPath) {\n fs.writeFileSync(\n path.resolve(cwd, `${exp._path}.js`),\n [`// AUTO-GENERATED – DO NOT EDIT`, `export * from '${relativeTargetPath}'`, ``].join(\n '\\n',\n ),\n )\n }\n }\n }\n }\n\n return tasks\n}\n","import globby from 'globby'\nimport path from 'path'\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 chokidar from 'chokidar'\nimport {Observable} from 'rxjs'\n\nexport interface FileEvent {\n type: 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir'\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(\n type: 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir',\n file: string,\n ) {\n observer.next({type, file})\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 'path'\nimport {Observable} from 'rxjs'\nimport {distinctUntilChanged, scan, startWith} from 'rxjs/operators'\n\nimport {globFiles} from './globFiles'\nimport {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 'path'\nimport {switchMap} from 'rxjs'\n\nimport {loadConfig, loadPkgWithReporting} from './core'\nimport {createLogger} from './logger'\nimport {resolveBuildContext} from './resolveBuildContext'\nimport {resolveWatchTasks} from './resolveWatchTasks'\nimport {type TaskHandler, type WatchTask, watchTaskHandlers} from './tasks'\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 pkg = await loadPkgWithReporting({cwd, logger, strict})\n const config = await loadConfig({cwd})\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":["exports","path","getTargetPaths","fs","globby","Observable","chokidar","logger","scan","startWith","distinctUntilChanged","createLogger","switchMap","loadPkgWithReporting","loadConfig","resolveBuildContext","watchTaskHandlers"],"mappings":"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"}
|
package/dist/cli.cjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var cac = require("cac");
|
|
3
|
-
function
|
|
4
|
-
return e &&
|
|
3
|
+
function _interopDefault(e) {
|
|
4
|
+
return e && e.__esModule ? e : { default: e };
|
|
5
5
|
}
|
|
6
|
-
var cac__default = /* @__PURE__ */
|
|
6
|
+
var cac__default = /* @__PURE__ */ _interopDefault(cac), version = "5.1.3";
|
|
7
7
|
const cli = cac__default.default();
|
|
8
8
|
cli.command("", "Check").alias("check").option("--strict", "Strict mode").option("--tsconfig [tsconfig]", "[string] tsconfig.json").action(async (options) => {
|
|
9
9
|
const { checkAction } = await Promise.resolve().then(function() {
|
package/dist/index.cjs
CHANGED
|
@@ -8,7 +8,6 @@ exports.build = build.build;
|
|
|
8
8
|
exports.resolveBuildTasks = build.resolveBuildTasks;
|
|
9
9
|
exports.check = check.check;
|
|
10
10
|
exports.DEFAULT_BROWSERSLIST_QUERY = consoleSpy.DEFAULT_BROWSERSLIST_QUERY;
|
|
11
|
-
exports.getPkgExtMap = consoleSpy.getPkgExtMap;
|
|
12
11
|
exports.loadConfig = consoleSpy.loadConfig;
|
|
13
12
|
exports.loadPkg = consoleSpy.loadPkg;
|
|
14
13
|
exports.loadPkgWithReporting = consoleSpy.loadPkgWithReporting;
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../src/node/core/config/defineConfig.ts"],"sourcesContent":["import {PkgConfigOptions} from './types'\n\n/** @public */\nexport function defineConfig(configOptions: PkgConfigOptions): PkgConfigOptions {\n return configOptions\n}\n"],"names":[],"mappings":";;;AAGO,SAAS,aAAa,eAAmD;AACvE,SAAA;AACT
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../src/node/core/config/defineConfig.ts"],"sourcesContent":["import {PkgConfigOptions} from './types'\n\n/** @public */\nexport function defineConfig(configOptions: PkgConfigOptions): PkgConfigOptions {\n return configOptions\n}\n"],"names":[],"mappings":";;;AAGO,SAAS,aAAa,eAAmD;AACvE,SAAA;AACT;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/index.d.cts
CHANGED
|
@@ -41,7 +41,6 @@ export declare interface BuildContext {
|
|
|
41
41
|
distPath: string
|
|
42
42
|
emitDeclarationOnly: boolean
|
|
43
43
|
exports: PkgExports | undefined
|
|
44
|
-
extMap: PkgExtMap
|
|
45
44
|
external: string[]
|
|
46
45
|
files: BuildFile[]
|
|
47
46
|
logger: Logger
|
|
@@ -144,12 +143,6 @@ export declare function getExtractMessagesConfig(options: {
|
|
|
144
143
|
rules: NonNullable<PkgConfigOptions['extract']>['rules']
|
|
145
144
|
}): IExtractorMessagesConfig
|
|
146
145
|
|
|
147
|
-
/**
|
|
148
|
-
* @deprecated use `pkgExtMap` instead
|
|
149
|
-
* @internal
|
|
150
|
-
*/
|
|
151
|
-
export declare function getPkgExtMap(): PkgExtMap
|
|
152
|
-
|
|
153
146
|
/** @public */
|
|
154
147
|
export declare function init(options: {cwd: string; path: string}): Promise<void>
|
|
155
148
|
|
|
@@ -262,7 +255,6 @@ export declare interface PackageJSON {
|
|
|
262
255
|
|
|
263
256
|
/** @internal */
|
|
264
257
|
export declare function parseExports(options: {
|
|
265
|
-
extMap: PkgExtMap
|
|
266
258
|
pkg: PackageJSON
|
|
267
259
|
strict: boolean
|
|
268
260
|
legacyExports: boolean
|
package/dist/index.d.ts
CHANGED
|
@@ -41,7 +41,6 @@ export declare interface BuildContext {
|
|
|
41
41
|
distPath: string
|
|
42
42
|
emitDeclarationOnly: boolean
|
|
43
43
|
exports: PkgExports | undefined
|
|
44
|
-
extMap: PkgExtMap
|
|
45
44
|
external: string[]
|
|
46
45
|
files: BuildFile[]
|
|
47
46
|
logger: Logger
|
|
@@ -144,12 +143,6 @@ export declare function getExtractMessagesConfig(options: {
|
|
|
144
143
|
rules: NonNullable<PkgConfigOptions['extract']>['rules']
|
|
145
144
|
}): IExtractorMessagesConfig
|
|
146
145
|
|
|
147
|
-
/**
|
|
148
|
-
* @deprecated use `pkgExtMap` instead
|
|
149
|
-
* @internal
|
|
150
|
-
*/
|
|
151
|
-
export declare function getPkgExtMap(): PkgExtMap
|
|
152
|
-
|
|
153
146
|
/** @public */
|
|
154
147
|
export declare function init(options: {cwd: string; path: string}): Promise<void>
|
|
155
148
|
|
|
@@ -262,7 +255,6 @@ export declare interface PackageJSON {
|
|
|
262
255
|
|
|
263
256
|
/** @internal */
|
|
264
257
|
export declare function parseExports(options: {
|
|
265
|
-
extMap: PkgExtMap
|
|
266
258
|
pkg: PackageJSON
|
|
267
259
|
strict: boolean
|
|
268
260
|
legacyExports: boolean
|
package/dist/index.js
CHANGED
|
@@ -227,8 +227,22 @@ function getTargetPaths(_type, expOrBundle) {
|
|
|
227
227
|
function isPkgExport(exp) {
|
|
228
228
|
return exp?.browser || exp?.node || exp?.default;
|
|
229
229
|
}
|
|
230
|
+
const pkgExtMap = {
|
|
231
|
+
// pkg.type: "commonjs"
|
|
232
|
+
commonjs: {
|
|
233
|
+
commonjs: ".js",
|
|
234
|
+
esm: ".mjs"
|
|
235
|
+
},
|
|
236
|
+
// pkg.type: "module"
|
|
237
|
+
module: {
|
|
238
|
+
commonjs: ".cjs",
|
|
239
|
+
esm: ".js"
|
|
240
|
+
},
|
|
241
|
+
// package.config.legacyExports: true
|
|
242
|
+
legacy: legacyEnding
|
|
243
|
+
};
|
|
230
244
|
function validateExports(_exports, options2) {
|
|
231
|
-
const {
|
|
245
|
+
const { pkg } = options2, ext = pkgExtMap[pkg.type || "commonjs"], errors = [];
|
|
232
246
|
for (const exp of _exports)
|
|
233
247
|
exp.require && !exp.require.endsWith(ext.commonjs) && errors.push(
|
|
234
248
|
`package.json with \`type: "${pkg.type}"\` - \`exports["${exp._path}"].require\` must end with "${ext.commonjs}"`
|
|
@@ -238,7 +252,7 @@ function validateExports(_exports, options2) {
|
|
|
238
252
|
return errors;
|
|
239
253
|
}
|
|
240
254
|
function parseExports(options2) {
|
|
241
|
-
const {
|
|
255
|
+
const { pkg, strict, legacyExports } = options2, rootExport = {
|
|
242
256
|
_exported: !0,
|
|
243
257
|
_path: ".",
|
|
244
258
|
source: pkg.source || "",
|
|
@@ -264,7 +278,7 @@ function parseExports(options2) {
|
|
|
264
278
|
if (exportEntry.require && rootExport.require && exportEntry.require !== rootExport.require && errors.push(
|
|
265
279
|
'package.json: mismatch between "main" and "exports.require". These must be equal.'
|
|
266
280
|
), legacyExports) {
|
|
267
|
-
const indexLegacyExport = (exportEntry.browser?.import || exportEntry.import || exportEntry.browser?.require || exportEntry.require || "").replace(
|
|
281
|
+
const indexLegacyExport = (exportEntry.browser?.import || exportEntry.import || exportEntry.browser?.require || exportEntry.require || "").replace(/(\.esm)?\.[mc]?js$/, legacyEnding);
|
|
268
282
|
indexLegacyExport !== rootExport.import && errors.push(
|
|
269
283
|
`package.json: "module" should be "${indexLegacyExport}" when "legacyExports" is true`
|
|
270
284
|
);
|
|
@@ -287,29 +301,12 @@ function parseExports(options2) {
|
|
|
287
301
|
errors.push("package.json: exports must be an object");
|
|
288
302
|
}
|
|
289
303
|
const _exports = [rootExport, ...extraExports];
|
|
290
|
-
if (errors.push(...validateExports(_exports, {
|
|
304
|
+
if (errors.push(...validateExports(_exports, { pkg })), errors.length)
|
|
291
305
|
throw new Error(`
|
|
292
306
|
- ` + errors.join(`
|
|
293
307
|
- `));
|
|
294
308
|
return _exports;
|
|
295
309
|
}
|
|
296
|
-
const pkgExtMap = {
|
|
297
|
-
// pkg.type: "commonjs"
|
|
298
|
-
commonjs: {
|
|
299
|
-
commonjs: ".js",
|
|
300
|
-
esm: ".mjs"
|
|
301
|
-
},
|
|
302
|
-
// pkg.type: "module"
|
|
303
|
-
module: {
|
|
304
|
-
commonjs: ".cjs",
|
|
305
|
-
esm: ".js"
|
|
306
|
-
},
|
|
307
|
-
// package.config.legacyExports: true
|
|
308
|
-
legacy: legacyEnding
|
|
309
|
-
};
|
|
310
|
-
function getPkgExtMap() {
|
|
311
|
-
return pkgExtMap;
|
|
312
|
-
}
|
|
313
310
|
const promptsTypes = {
|
|
314
311
|
string: "text"
|
|
315
312
|
};
|
|
@@ -445,7 +442,6 @@ async function resolveBuildContext(options2) {
|
|
|
445
442
|
config: config2,
|
|
446
443
|
cwd,
|
|
447
444
|
emitDeclarationOnly = !1,
|
|
448
|
-
extMap,
|
|
449
445
|
logger,
|
|
450
446
|
pkg,
|
|
451
447
|
strict,
|
|
@@ -469,7 +465,6 @@ async function resolveBuildContext(options2) {
|
|
|
469
465
|
browser: webTarget,
|
|
470
466
|
node: nodeTarget
|
|
471
467
|
}, parsedExports = parseExports({
|
|
472
|
-
extMap,
|
|
473
468
|
pkg,
|
|
474
469
|
strict,
|
|
475
470
|
legacyExports: config2?.legacyExports ?? !1
|
|
@@ -506,7 +501,6 @@ async function resolveBuildContext(options2) {
|
|
|
506
501
|
emitDeclarationOnly,
|
|
507
502
|
exports,
|
|
508
503
|
external,
|
|
509
|
-
extMap,
|
|
510
504
|
files: [],
|
|
511
505
|
logger,
|
|
512
506
|
pkg,
|
|
@@ -20430,12 +20424,9 @@ function resolveRollupConfig(ctx, buildTask) {
|
|
|
20430
20424
|
entries: { ...pathAliases }
|
|
20431
20425
|
}),
|
|
20432
20426
|
nodeResolve({
|
|
20433
|
-
// mainFields: ['module', 'jsnext', 'main'],
|
|
20434
20427
|
browser: runtime === "browser",
|
|
20435
|
-
// exportConditions: [runtime === 'node' ? 'node' : 'browser'],
|
|
20436
20428
|
extensions: [".cjs", ".mjs", ".js", ".jsx", ".json", ".node"],
|
|
20437
20429
|
preferBuiltins: !0
|
|
20438
|
-
// runtime === 'node',
|
|
20439
20430
|
}),
|
|
20440
20431
|
commonjs(),
|
|
20441
20432
|
json(),
|
|
@@ -20454,7 +20445,7 @@ function resolveRollupConfig(ctx, buildTask) {
|
|
|
20454
20445
|
}),
|
|
20455
20446
|
Array.isArray(config2?.babel?.plugins) && getBabelOutputPlugin({
|
|
20456
20447
|
babelrc: !1,
|
|
20457
|
-
plugins: config2
|
|
20448
|
+
plugins: config2.babel.plugins
|
|
20458
20449
|
}),
|
|
20459
20450
|
minify && terser({
|
|
20460
20451
|
compress: { directives: !1 },
|
|
@@ -20465,12 +20456,7 @@ function resolveRollupConfig(ctx, buildTask) {
|
|
|
20465
20456
|
}
|
|
20466
20457
|
}
|
|
20467
20458
|
})
|
|
20468
|
-
].filter(Boolean), userPlugins = config2?.rollup?.plugins, plugins = Array.isArray(userPlugins) ? defaultPlugins.concat(userPlugins) : resolveConfigProperty(config2?.rollup?.plugins, defaultPlugins)
|
|
20469
|
-
if (config2?.rollup?.hashChunkFileNames === !1 && config2.legacyExports)
|
|
20470
|
-
throw new TypeError(
|
|
20471
|
-
"when `legacyExports: true` you can't set `rollup.hashChunkFileNames: false` \u2013 this would cause chunks to overwrite each other. Please remove the `hashChunkFileNames` option or set it to `true"
|
|
20472
|
-
);
|
|
20473
|
-
const hashChunkFileNames = config2?.rollup?.hashChunkFileNames ?? !1, chunkFileNames = `${isLegacyExports ? "_legacy" : hashChunkFileNames ? "_chunks" : "_chunks-[format]"}/${hashChunkFileNames ? "[name]-[hash]" : "[name]"}${outputExt}`, entryFileNames = isLegacyExports ? "[name].js" : `[name]${outputExt}`;
|
|
20459
|
+
].filter(Boolean), userPlugins = config2?.rollup?.plugins, plugins = Array.isArray(userPlugins) ? defaultPlugins.concat(userPlugins) : resolveConfigProperty(config2?.rollup?.plugins, defaultPlugins), hashChunkFileNames = config2?.rollup?.hashChunkFileNames ?? !1, chunkFileNames = `${isLegacyExports ? "_legacy" : hashChunkFileNames ? "_chunks" : "_chunks-[format]"}/${hashChunkFileNames ? "[name]-[hash]" : "[name]"}${outputExt}`, entryFileNames = isLegacyExports ? "[name].js" : `[name]${outputExt}`;
|
|
20474
20460
|
return {
|
|
20475
20461
|
inputOptions: {
|
|
20476
20462
|
context: cwd,
|
|
@@ -20511,7 +20497,7 @@ function resolveRollupConfig(ctx, buildTask) {
|
|
|
20511
20497
|
entryFileNames,
|
|
20512
20498
|
esModule: !0,
|
|
20513
20499
|
format: format2,
|
|
20514
|
-
interop: "
|
|
20500
|
+
interop: "auto",
|
|
20515
20501
|
sourcemap: config2?.sourcemap ?? !0,
|
|
20516
20502
|
hoistTransitiveImports: !1,
|
|
20517
20503
|
...config2?.rollup?.output
|
|
@@ -20701,11 +20687,10 @@ const rollupWatchTask = {
|
|
|
20701
20687
|
"watch:js": rollupWatchTask
|
|
20702
20688
|
};
|
|
20703
20689
|
async function build(options2) {
|
|
20704
|
-
const { cwd, emitDeclarationOnly, strict = !1, tsconfig: tsconfigOption } = options2, logger = createLogger(), pkg = await loadPkgWithReporting({ cwd, logger, strict }), config2 = await loadConfig({ cwd }),
|
|
20690
|
+
const { cwd, emitDeclarationOnly, strict = !1, tsconfig: tsconfigOption } = options2, logger = createLogger(), pkg = await loadPkgWithReporting({ cwd, logger, strict }), config2 = await loadConfig({ cwd }), tsconfig = tsconfigOption || config2?.tsconfig || "tsconfig.json", ctx = await resolveBuildContext({
|
|
20705
20691
|
config: config2,
|
|
20706
20692
|
cwd,
|
|
20707
20693
|
emitDeclarationOnly,
|
|
20708
|
-
extMap,
|
|
20709
20694
|
logger,
|
|
20710
20695
|
pkg,
|
|
20711
20696
|
strict,
|
|
@@ -20761,7 +20746,7 @@ function printPackageTree(ctx) {
|
|
|
20761
20746
|
), logger.log(treeify.asTree(tree, !0, !0));
|
|
20762
20747
|
}
|
|
20763
20748
|
async function check(options2) {
|
|
20764
|
-
const { cwd, strict = !1, tsconfig: tsconfigOption } = options2, logger = createLogger(), pkg = await loadPkgWithReporting({ cwd, logger, strict }), config2 = await loadConfig({ cwd }),
|
|
20749
|
+
const { cwd, strict = !1, tsconfig: tsconfigOption } = options2, logger = createLogger(), pkg = await loadPkgWithReporting({ cwd, logger, strict }), config2 = await loadConfig({ cwd }), tsconfig = tsconfigOption || config2?.tsconfig || "tsconfig.json", ctx = await resolveBuildContext({ config: config2, cwd, logger, pkg, strict, tsconfig });
|
|
20765
20750
|
if (printPackageTree(ctx), strict) {
|
|
20766
20751
|
const missingFiles = [];
|
|
20767
20752
|
for (const [, exp] of Object.entries(ctx.exports || {}))
|
|
@@ -21453,8 +21438,8 @@ async function watch(options2) {
|
|
|
21453
21438
|
switchMap(async (configFiles) => {
|
|
21454
21439
|
if (!configFiles.map((f) => path$1.relative(cwd, f)).find((f) => f === "package.json"))
|
|
21455
21440
|
throw new Error("missing package.json");
|
|
21456
|
-
const pkg = await loadPkgWithReporting({ cwd, logger, strict }), config2 = await loadConfig({ cwd }),
|
|
21457
|
-
return resolveBuildContext({ config: config2, cwd,
|
|
21441
|
+
const pkg = await loadPkgWithReporting({ cwd, logger, strict }), config2 = await loadConfig({ cwd }), tsconfig = tsconfigOption || config2?.tsconfig || "tsconfig.json";
|
|
21442
|
+
return resolveBuildContext({ config: config2, cwd, logger, pkg, strict, tsconfig });
|
|
21458
21443
|
})
|
|
21459
21444
|
).subscribe(async (ctx) => {
|
|
21460
21445
|
const watchTasks = resolveWatchTasks(ctx);
|
|
@@ -21486,7 +21471,6 @@ export {
|
|
|
21486
21471
|
dtsTask,
|
|
21487
21472
|
dtsWatchTask,
|
|
21488
21473
|
getExtractMessagesConfig,
|
|
21489
|
-
getPkgExtMap,
|
|
21490
21474
|
init,
|
|
21491
21475
|
isRecord,
|
|
21492
21476
|
loadConfig,
|