@sanity/pkg-utils 2.1.1 → 2.2.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-68e9229a.cjs → build-8d840bfe.cjs} +3 -3
- package/dist/_chunks/{build-68e9229a.cjs.map → build-8d840bfe.cjs.map} +1 -1
- package/dist/_chunks/{buildAction-9ce9614a.cjs → buildAction-02b78976.cjs} +2 -2
- package/dist/_chunks/{buildAction-9ce9614a.cjs.map → buildAction-02b78976.cjs.map} +1 -1
- package/dist/_chunks/{check-745260bc.cjs → check-37772bb3.cjs} +12 -11
- package/dist/_chunks/check-37772bb3.cjs.map +1 -0
- package/dist/_chunks/{checkAction-1aa1fff7.cjs → checkAction-59707d6a.cjs} +2 -2
- package/dist/_chunks/{checkAction-1aa1fff7.cjs.map → checkAction-59707d6a.cjs.map} +1 -1
- package/dist/_chunks/{index-a01cf661.cjs → index-49daefad.cjs} +2 -2
- package/dist/_chunks/{index-a01cf661.cjs.map → index-49daefad.cjs.map} +1 -1
- package/dist/_chunks/{resolveBuildContext-702e3fb6.cjs → resolveBuildContext-c51eac50.cjs} +51 -6
- package/dist/_chunks/resolveBuildContext-c51eac50.cjs.map +1 -0
- package/dist/_chunks/{watch-533fe913.cjs → watch-6cfbe78a.cjs} +3 -3
- package/dist/_chunks/{watch-533fe913.cjs.map → watch-6cfbe78a.cjs.map} +1 -1
- package/dist/_chunks/{watchAction-d2c08880.cjs → watchAction-de3c9fdf.cjs} +2 -2
- package/dist/_chunks/{watchAction-d2c08880.cjs.map → watchAction-de3c9fdf.cjs.map} +1 -1
- package/dist/cli.cjs +4 -4
- package/dist/index.cjs +5 -5
- package/dist/index.js +60 -14
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/src/node/core/pkg/helpers.ts +36 -0
- package/src/node/core/pkg/loadPkg.ts +5 -1
- package/src/node/core/pkg/loadPkgWithReporting.ts +38 -2
- package/src/node/core/pkg/parseExports.ts +1 -1
- package/src/node/core/pkg/validatePkg.ts +1 -1
- package/src/node/printPackageTree.ts +12 -8
- package/dist/_chunks/check-745260bc.cjs.map +0 -1
- package/dist/_chunks/resolveBuildContext-702e3fb6.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch-533fe913.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'\nimport {PkgExport, PkgFormat, PkgRuntime, BuildContext} from './core'\nimport {WatchTask, DtsWatchTask, RollupWatchTask, RollupTaskEntry} from './tasks'\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.types) {\n dtsTask.entries.push({\n importId,\n exportPath: exp._path,\n sourcePath: exp.source,\n targetPath: exp.types,\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'\n\nexport function globFiles(patterns: string[]): Promise<string[]> {\n return globby(patterns)\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'\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'\nimport {getPkgExtMap, loadConfig, loadPkgWithReporting} from './core'\nimport {createLogger} from './logger'\nimport {resolveBuildContext} from './resolveBuildContext'\nimport {resolveWatchTasks} from './resolveWatchTasks'\nimport {WatchTask, TaskHandler, 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})\n const config = await loadConfig({cwd})\n const extMap = getPkgExtMap({legacyExports: config?.legacyExports ?? false})\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":["resolveWatchTasks","ctx","_a","_b","_c","_d","_e","config","cwd","pkg","target","tasks","exports","Object","entries","map","_path","exp","dtsTask","type","rollupTasks","addRollupTaskEntry","format","runtime","entry","buildId","push","importId","path","join","name","types","exportPath","sourcePath","source","targetPath","output","require","browser","import","length","values","legacyExports","_exported","relativeTargetPath","replace","fs","writeFileSync","default","resolve","globFiles","patterns","globby","watchFiles","Observable","observer","watcher","chokidar","watch","ignoreInitial","handleFileEvent","file","next","on","off","close","watchConfigFiles","options","logger","initialFiles","fileEvent$","pipe","scan","files","fileEvent","concat","filter","f","log","info","relative","slice","startWith","distinctUntilChanged","strict","tsconfig","tsconfigOption","createLogger","configFiles$","ctx$","switchMap","configFiles","packageJsonPath","find","Error","loadPkgWithReporting","loadConfig","extMap","getPkgExtMap","resolveBuildContext","subscribe","watchTasks","task","handler","watchTaskHandlers","result$","exec","error","err","process","exit","result","complete","success"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"watch-6cfbe78a.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'\nimport {PkgExport, PkgFormat, PkgRuntime, BuildContext} from './core'\nimport {WatchTask, DtsWatchTask, RollupWatchTask, RollupTaskEntry} from './tasks'\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.types) {\n dtsTask.entries.push({\n importId,\n exportPath: exp._path,\n sourcePath: exp.source,\n targetPath: exp.types,\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'\n\nexport function globFiles(patterns: string[]): Promise<string[]> {\n return globby(patterns)\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'\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'\nimport {getPkgExtMap, loadConfig, loadPkgWithReporting} from './core'\nimport {createLogger} from './logger'\nimport {resolveBuildContext} from './resolveBuildContext'\nimport {resolveWatchTasks} from './resolveWatchTasks'\nimport {WatchTask, TaskHandler, 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})\n const config = await loadConfig({cwd})\n const extMap = getPkgExtMap({legacyExports: config?.legacyExports ?? false})\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":["resolveWatchTasks","ctx","_a","_b","_c","_d","_e","config","cwd","pkg","target","tasks","exports","Object","entries","map","_path","exp","dtsTask","type","rollupTasks","addRollupTaskEntry","format","runtime","entry","buildId","push","importId","path","join","name","types","exportPath","sourcePath","source","targetPath","output","require","browser","import","length","values","legacyExports","_exported","relativeTargetPath","replace","fs","writeFileSync","default","resolve","globFiles","patterns","globby","watchFiles","Observable","observer","watcher","chokidar","watch","ignoreInitial","handleFileEvent","file","next","on","off","close","watchConfigFiles","options","logger","initialFiles","fileEvent$","pipe","scan","files","fileEvent","concat","filter","f","log","info","relative","slice","startWith","distinctUntilChanged","strict","tsconfig","tsconfigOption","createLogger","configFiles$","ctx$","switchMap","configFiles","packageJsonPath","find","Error","loadPkgWithReporting","loadConfig","extMap","getPkgExtMap","resolveBuildContext","subscribe","watchTasks","task","handler","watchTaskHandlers","result$","exec","error","err","process","exit","result","complete","success"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var watch = require('./watch-
|
|
3
|
+
var watch = require('./watch-6cfbe78a.cjs');
|
|
4
4
|
var handleError = require('./handleError-13d87f55.cjs');
|
|
5
5
|
async function watchAction(options) {
|
|
6
6
|
try {
|
|
@@ -14,4 +14,4 @@ async function watchAction(options) {
|
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
exports.watchAction = watchAction;
|
|
17
|
-
//# sourceMappingURL=watchAction-
|
|
17
|
+
//# sourceMappingURL=watchAction-de3c9fdf.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watchAction-
|
|
1
|
+
{"version":3,"file":"watchAction-de3c9fdf.cjs","sources":["../../src/cli/watchAction.ts"],"sourcesContent":["import {watch} from '../node/watch'\nimport {handleError} from './handleError'\n\nexport async function watchAction(options: {strict?: boolean; tsconfig?: string}): Promise<void> {\n try {\n await watch({\n cwd: process.cwd(),\n strict: options.strict,\n tsconfig: options.tsconfig,\n })\n } catch (err) {\n handleError(err)\n }\n}\n"],"names":["watchAction","options","watch","cwd","process","strict","tsconfig","err","handleError"],"mappings":";;;;AAGA,eAAsBA,YAAYC,OAA+D,EAAA;EAC3F,IAAA;IACF,MAAMC,WAAM,CAAA;MACVC,GAAA,EAAKC,QAAQD,GAAI,EAAA;MACjBE,QAAQJ,OAAQ,CAAAI,MAAA;MAChBC,UAAUL,OAAQ,CAAAK;IAAA,CACnB,CAAA;WACMC,GAAP,EAAA;IACAC,WAAA,CAAAA,WAAA,CAAYD,GAAG,CAAA;EACjB;AACF;"}
|
package/dist/cli.cjs
CHANGED
|
@@ -7,13 +7,13 @@ function _interopDefaultCompat(e) {
|
|
|
7
7
|
};
|
|
8
8
|
}
|
|
9
9
|
var cac__default = /*#__PURE__*/_interopDefaultCompat(cac);
|
|
10
|
-
var version = "2.
|
|
10
|
+
var version = "2.2.0";
|
|
11
11
|
const cli = cac__default.default();
|
|
12
12
|
cli.command("", "Check").option("--strict", "Strict mode").option("--tsconfig [tsconfig]", "[string] tsconfig.json").action(async options => {
|
|
13
13
|
const {
|
|
14
14
|
checkAction: statusAction
|
|
15
15
|
} = await Promise.resolve().then(function () {
|
|
16
|
-
return require('./_chunks/checkAction-
|
|
16
|
+
return require('./_chunks/checkAction-59707d6a.cjs');
|
|
17
17
|
});
|
|
18
18
|
return statusAction(options);
|
|
19
19
|
});
|
|
@@ -21,7 +21,7 @@ cli.command("build", "Build package").option("--emitDeclarationOnly", "Emit d.ts
|
|
|
21
21
|
const {
|
|
22
22
|
buildAction
|
|
23
23
|
} = await Promise.resolve().then(function () {
|
|
24
|
-
return require('./_chunks/buildAction-
|
|
24
|
+
return require('./_chunks/buildAction-02b78976.cjs');
|
|
25
25
|
});
|
|
26
26
|
return buildAction(options);
|
|
27
27
|
});
|
|
@@ -29,7 +29,7 @@ cli.command("watch", "Watch package").option("--strict", "Strict mode").option("
|
|
|
29
29
|
const {
|
|
30
30
|
watchAction
|
|
31
31
|
} = await Promise.resolve().then(function () {
|
|
32
|
-
return require('./_chunks/watchAction-
|
|
32
|
+
return require('./_chunks/watchAction-de3c9fdf.cjs');
|
|
33
33
|
});
|
|
34
34
|
return watchAction(options);
|
|
35
35
|
});
|
package/dist/index.cjs
CHANGED
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
var build = require('./_chunks/build-
|
|
7
|
-
var check = require('./_chunks/check-
|
|
8
|
-
var resolveBuildContext = require('./_chunks/resolveBuildContext-
|
|
9
|
-
var index = require('./_chunks/index-
|
|
10
|
-
var watch = require('./_chunks/watch-
|
|
6
|
+
var build = require('./_chunks/build-8d840bfe.cjs');
|
|
7
|
+
var check = require('./_chunks/check-37772bb3.cjs');
|
|
8
|
+
var resolveBuildContext = require('./_chunks/resolveBuildContext-c51eac50.cjs');
|
|
9
|
+
var index = require('./_chunks/index-49daefad.cjs');
|
|
10
|
+
var watch = require('./_chunks/watch-6cfbe78a.cjs');
|
|
11
11
|
function defineConfig(configOptions) {
|
|
12
12
|
return configOptions;
|
|
13
13
|
}
|
package/dist/index.js
CHANGED
|
@@ -116,6 +116,7 @@ const pkgSchema = z.object({
|
|
|
116
116
|
exports: z.optional(z.record(z.union([z.custom(val => /^\.\/.*\.json$/.test(val)), z.object({
|
|
117
117
|
types: z.optional(z.string()),
|
|
118
118
|
source: z.string(),
|
|
119
|
+
require: z.optional(z.string()),
|
|
119
120
|
browser: z.optional(z.object({
|
|
120
121
|
source: z.string(),
|
|
121
122
|
require: z.optional(z.string()),
|
|
@@ -126,7 +127,6 @@ const pkgSchema = z.object({
|
|
|
126
127
|
require: z.optional(z.string()),
|
|
127
128
|
import: z.optional(z.string())
|
|
128
129
|
})),
|
|
129
|
-
require: z.optional(z.string()),
|
|
130
130
|
import: z.optional(z.string()),
|
|
131
131
|
default: z.string()
|
|
132
132
|
})]))),
|
|
@@ -144,7 +144,31 @@ async function loadPkg(options) {
|
|
|
144
144
|
});
|
|
145
145
|
if (!pkgPath) throw new Error("no package.json found");
|
|
146
146
|
const buf = await fs.readFile(pkgPath);
|
|
147
|
-
|
|
147
|
+
const raw = JSON.parse(buf.toString());
|
|
148
|
+
validatePkg(raw);
|
|
149
|
+
return raw;
|
|
150
|
+
}
|
|
151
|
+
function assertFirst(a, arr) {
|
|
152
|
+
const aIdx = arr.indexOf(a);
|
|
153
|
+
if (aIdx === -1) {
|
|
154
|
+
return true;
|
|
155
|
+
}
|
|
156
|
+
return aIdx === 0;
|
|
157
|
+
}
|
|
158
|
+
function assertLast(a, arr) {
|
|
159
|
+
const aIdx = arr.indexOf(a);
|
|
160
|
+
if (aIdx === -1) {
|
|
161
|
+
return true;
|
|
162
|
+
}
|
|
163
|
+
return aIdx === arr.length - 1;
|
|
164
|
+
}
|
|
165
|
+
function assertOrder(a, b, arr) {
|
|
166
|
+
const aIdx = arr.indexOf(a);
|
|
167
|
+
const bIdx = arr.indexOf(b);
|
|
168
|
+
if (aIdx === -1 || bIdx === -1) {
|
|
169
|
+
return true;
|
|
170
|
+
}
|
|
171
|
+
return aIdx < bIdx;
|
|
148
172
|
}
|
|
149
173
|
async function loadPkgWithReporting(options) {
|
|
150
174
|
const {
|
|
@@ -155,8 +179,29 @@ async function loadPkgWithReporting(options) {
|
|
|
155
179
|
const pkg = await loadPkg({
|
|
156
180
|
cwd
|
|
157
181
|
});
|
|
158
|
-
if (pkg.
|
|
159
|
-
|
|
182
|
+
if (pkg.exports) {
|
|
183
|
+
const _exports = Object.entries(pkg.exports);
|
|
184
|
+
for (const [expPath, exp] of _exports) {
|
|
185
|
+
if (typeof exp === "string") {
|
|
186
|
+
continue;
|
|
187
|
+
}
|
|
188
|
+
const keys = Object.keys(exp);
|
|
189
|
+
if (!assertFirst("types", keys)) {
|
|
190
|
+
logger.warn("exports[\"".concat(expPath, "\"]: the `types` property should be the first property"));
|
|
191
|
+
}
|
|
192
|
+
if (!assertOrder("require", "import", keys)) {
|
|
193
|
+
logger.warn("exports[\"".concat(expPath, "\"]: the `require` property should come before the `import` property"));
|
|
194
|
+
}
|
|
195
|
+
if (!assertOrder("require", "node", keys)) {
|
|
196
|
+
logger.warn("exports[\"".concat(expPath, "\"]: the `require` property should come before the `node` property"));
|
|
197
|
+
}
|
|
198
|
+
if (!assertOrder("node", "import", keys)) {
|
|
199
|
+
logger.warn("exports[\"".concat(expPath, "\"]: the `node` property should come before `import` property"));
|
|
200
|
+
}
|
|
201
|
+
if (!assertLast("default", keys)) {
|
|
202
|
+
logger.warn("exports[\"".concat(expPath, "\"]: the `default` property should be the last property"));
|
|
203
|
+
}
|
|
204
|
+
}
|
|
160
205
|
}
|
|
161
206
|
return pkg;
|
|
162
207
|
} catch (err) {
|
|
@@ -219,8 +264,8 @@ function parseExports(options) {
|
|
|
219
264
|
require: pkg.main && pkg.browser[pkg.main],
|
|
220
265
|
import: pkg.module && pkg.browser[pkg.module]
|
|
221
266
|
},
|
|
222
|
-
import: pkg.module,
|
|
223
267
|
require: pkg.main,
|
|
268
|
+
import: pkg.module,
|
|
224
269
|
default: pkg.module || pkg.main || ""
|
|
225
270
|
};
|
|
226
271
|
const extraExports = [];
|
|
@@ -1576,9 +1621,10 @@ function printPackageTree(ctx) {
|
|
|
1576
1621
|
} = ctx;
|
|
1577
1622
|
if (!exports) return;
|
|
1578
1623
|
logger.log("".concat(chalk.blue(pkg.name), "@").concat(chalk.green(pkg.version)));
|
|
1579
|
-
const tree = {
|
|
1580
|
-
|
|
1581
|
-
|
|
1624
|
+
const tree = {};
|
|
1625
|
+
if (pkg.type) {
|
|
1626
|
+
tree.type = chalk.yellow(pkg.type);
|
|
1627
|
+
}
|
|
1582
1628
|
if (pkg.bin) {
|
|
1583
1629
|
tree.bin = Object.fromEntries(Object.entries(pkg.bin).map(_ref13 => {
|
|
1584
1630
|
let [name, file] = _ref13;
|
|
@@ -1601,9 +1647,9 @@ function printPackageTree(ctx) {
|
|
|
1601
1647
|
types: void 0,
|
|
1602
1648
|
source: fileInfo(entry.source),
|
|
1603
1649
|
browser: void 0,
|
|
1650
|
+
require: void 0,
|
|
1604
1651
|
node: void 0,
|
|
1605
1652
|
import: void 0,
|
|
1606
|
-
require: void 0,
|
|
1607
1653
|
default: fileInfo(entry.default)
|
|
1608
1654
|
};
|
|
1609
1655
|
if (entry.types) {
|
|
@@ -1620,6 +1666,11 @@ function printPackageTree(ctx) {
|
|
|
1620
1666
|
} else {
|
|
1621
1667
|
delete exp.browser;
|
|
1622
1668
|
}
|
|
1669
|
+
if (entry.require) {
|
|
1670
|
+
exp.require = fileInfo(entry.require);
|
|
1671
|
+
} else {
|
|
1672
|
+
delete exp.require;
|
|
1673
|
+
}
|
|
1623
1674
|
if (entry.node) {
|
|
1624
1675
|
exp.node = {};
|
|
1625
1676
|
if (entry.node.source) exp.node.source = fileInfo(entry.node.source);
|
|
@@ -1633,11 +1684,6 @@ function printPackageTree(ctx) {
|
|
|
1633
1684
|
} else {
|
|
1634
1685
|
delete exp.import;
|
|
1635
1686
|
}
|
|
1636
|
-
if (entry.require) {
|
|
1637
|
-
exp.require = fileInfo(entry.require);
|
|
1638
|
-
} else {
|
|
1639
|
-
delete exp.require;
|
|
1640
|
-
}
|
|
1641
1687
|
return [chalk.cyan(path.join(pkg.name, exportPath)), exp];
|
|
1642
1688
|
}));
|
|
1643
1689
|
logger.log(treeify.asTree(tree, true, true));
|