@sanity/pkg-utils 4.4.1 → 5.0.1
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.cjs +1 -14
- package/dist/_chunks/build.cjs.map +1 -1
- package/dist/_chunks/consoleSpy.cjs +15 -26
- package/dist/_chunks/consoleSpy.cjs.map +1 -1
- package/dist/_chunks/index.cjs +3 -45
- package/dist/_chunks/index.cjs.map +1 -1
- package/dist/_chunks/logger.cjs +0 -2
- package/dist/_chunks/logger.cjs.map +1 -1
- package/dist/cli.cjs +1 -1
- package/dist/index.d.ts +1 -12
- package/dist/index.js +31 -99
- package/dist/index.js.map +1 -1
- package/package.json +9 -9
- package/src/node/core/pkg/loadPkgWithReporting.ts +13 -34
- package/src/node/core/pkg/validatePkg.ts +0 -2
- package/src/node/resolveBuildTasks.ts +1 -29
- package/src/node/tasks/index.ts +0 -2
- package/src/node/tasks/types.ts +1 -8
- package/src/node/tasks/node/reexportCjsTask.ts +0 -87
package/dist/_chunks/build.cjs
CHANGED
|
@@ -102,20 +102,7 @@ function resolveBuildTasks(ctx) {
|
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
|
-
|
|
106
|
-
for (const exp of exports2)
|
|
107
|
-
if (exp.node && !exp.node.source && exp.node.import && (exp.node.require || exp.require) && (exp.node.import.endsWith(".cjs.js") || exp.node.import.endsWith(".cjs.mjs"))) {
|
|
108
|
-
const importId = path__default.default.join(pkg.name, exp._path);
|
|
109
|
-
nodeReexportCjsEntries.push({
|
|
110
|
-
importId,
|
|
111
|
-
import: exp.node.import,
|
|
112
|
-
require: exp.node.require || exp.require
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
return nodeReexportCjsEntries.length && tasks.push({
|
|
116
|
-
type: "node:reexport-cjs",
|
|
117
|
-
entries: nodeReexportCjsEntries
|
|
118
|
-
}), tasks;
|
|
105
|
+
return tasks;
|
|
119
106
|
}
|
|
120
107
|
function createSpinner(msg) {
|
|
121
108
|
const startTime = Date.now();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.cjs","sources":["../../src/node/resolveBuildTasks.ts","../../src/node/spinner.ts","../../src/node/build.ts"],"sourcesContent":["import fs from 'fs'\nimport path from 'path'\n\nimport {BuildContext, PkgExport, PkgFormat, PkgRuntime} from './core'\nimport {BuildTask, DtsTask, NodeReExportFromCJSTask, RollupTask, RollupTaskEntry} from './tasks'\n\n/** @internal */\nexport function resolveBuildTasks(ctx: BuildContext): BuildTask[] {\n const {config, cwd, pkg, target} = ctx\n\n const bundles = config?.bundles || []\n\n const tasks: BuildTask[] = []\n\n const exports = Object.entries(ctx.exports || {}).map(\n ([_path, exp]) => ({_path, ...exp}) as PkgExport & {_path: string},\n )\n\n const dtsTask: DtsTask = {\n type: 'build:dts',\n entries: [],\n }\n\n const rollupTasks: Record<string, RollupTask> = {}\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: 'build: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 // Add dts task\n if (dtsTask.entries.length) {\n tasks.push(dtsTask)\n }\n\n if (!ctx.emitDeclarationOnly) {\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: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: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: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 for (const bundle of bundles) {\n const idx = bundles.indexOf(bundle)\n\n if (bundle.require) {\n addRollupTaskEntry('commonjs', bundle.runtime || ctx.runtime, {\n path: `__$$bundle_cjs_${idx}$$__`,\n source: bundle.source,\n output: bundle.require,\n })\n }\n\n if (bundle.import) {\n addRollupTaskEntry('esm', bundle.runtime || ctx.runtime, {\n path: `__$$bundle_esm_${idx}$$__`,\n source: bundle.source,\n output: bundle.import,\n })\n }\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\n const nodeReexportCjsEntries: NodeReExportFromCJSTask['entries'] = []\n\n // Parse tasks to re-export from CommonJS for Node.js\n for (const exp of exports) {\n if (\n exp.node &&\n !exp.node.source &&\n exp.node.import &&\n (exp.node.require || exp.require) &&\n (exp.node.import.endsWith('.cjs.js') || exp.node.import.endsWith('.cjs.mjs'))\n ) {\n const importId = path.join(pkg.name, exp._path)\n\n nodeReexportCjsEntries.push({\n importId,\n import: exp.node.import,\n require: (exp.node.require || exp.require)!,\n })\n }\n }\n\n if (nodeReexportCjsEntries.length) {\n tasks.push({\n type: 'node:reexport-cjs',\n entries: nodeReexportCjsEntries,\n })\n }\n\n return tasks\n}\n","/* eslint-disable no-console */\n\nimport chalk from 'chalk'\n\nexport function createSpinner(msg: string): {complete: () => void; error: () => void} {\n const startTime = Date.now()\n\n console.log(msg)\n\n return {\n complete: () => {\n console.log(`${chalk.green('[success]')} ${chalk.gray(`${Date.now() - startTime}ms`)}`)\n },\n error: () => {\n console.log(`${chalk.red(`[error]`)} ${chalk.gray(`${Date.now() - startTime}ms`)}`)\n },\n }\n}\n","import {getPkgExtMap, loadConfig, loadPkgWithReporting} from './core'\nimport {createLogger} from './logger'\nimport {resolveBuildContext} from './resolveBuildContext'\nimport {resolveBuildTasks} from './resolveBuildTasks'\nimport {createSpinner} from './spinner'\nimport {BuildTask, buildTaskHandlers, TaskHandler} from './tasks'\n\n/**\n * Build the distribution files of a npm package.\n *\n * @example\n * ```ts\n * import {build} from '@sanity/pkg-utils'\n *\n * build({\n * cwd: process.cwd(),\n * tsconfig: 'tsconfig.dist.json,\n * }).then(() => {\n * console.log('successfully built')\n * }).catch((err) => {\n * console.log(`build error: ${err.message}`)\n * })\n * ```\n *\n * @public\n */\nexport async function build(options: {\n cwd: string\n emitDeclarationOnly?: boolean\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n const {cwd, emitDeclarationOnly, strict = false, tsconfig: tsconfigOption} = options\n const logger = createLogger()\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 const ctx = await resolveBuildContext({\n config,\n cwd,\n emitDeclarationOnly,\n extMap,\n logger,\n pkg,\n strict,\n tsconfig,\n })\n\n const buildTasks = resolveBuildTasks(ctx)\n\n for (const task of buildTasks) {\n const handler = buildTaskHandlers[task.type] as TaskHandler<BuildTask>\n const taskName = handler.name(ctx, task)\n\n const spinner = createSpinner(taskName)\n\n try {\n const result = await handler.exec(ctx, task).toPromise()\n\n spinner.complete()\n ctx.logger.log()\n\n handler.complete(ctx, task, result)\n } catch (err) {\n spinner.error()\n\n if (err instanceof Error) {\n const RE_CWD = new RegExp(`${cwd}`, 'g')\n\n ctx.logger.error(err.message.replace(RE_CWD, '.'))\n ctx.logger.log()\n }\n\n handler.error(ctx, task, err)\n\n process.exit(1)\n }\n }\n}\n"],"names":["exports","path","fs","chalk","logger","createLogger","loadPkgWithReporting","loadConfig","getPkgExtMap","resolveBuildContext","buildTaskHandlers"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"build.cjs","sources":["../../src/node/resolveBuildTasks.ts","../../src/node/spinner.ts","../../src/node/build.ts"],"sourcesContent":["import fs from 'fs'\nimport path from 'path'\n\nimport {BuildContext, PkgExport, PkgFormat, PkgRuntime} from './core'\nimport {BuildTask, DtsTask, RollupTask, RollupTaskEntry} from './tasks'\n\n/** @internal */\nexport function resolveBuildTasks(ctx: BuildContext): BuildTask[] {\n const {config, cwd, pkg, target} = ctx\n\n const bundles = config?.bundles || []\n\n const tasks: BuildTask[] = []\n\n const exports = Object.entries(ctx.exports || {}).map(\n ([_path, exp]) => ({_path, ...exp}) as PkgExport & {_path: string},\n )\n\n const dtsTask: DtsTask = {\n type: 'build:dts',\n entries: [],\n }\n\n const rollupTasks: Record<string, RollupTask> = {}\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: 'build: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 // Add dts task\n if (dtsTask.entries.length) {\n tasks.push(dtsTask)\n }\n\n if (!ctx.emitDeclarationOnly) {\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: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: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: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 for (const bundle of bundles) {\n const idx = bundles.indexOf(bundle)\n\n if (bundle.require) {\n addRollupTaskEntry('commonjs', bundle.runtime || ctx.runtime, {\n path: `__$$bundle_cjs_${idx}$$__`,\n source: bundle.source,\n output: bundle.require,\n })\n }\n\n if (bundle.import) {\n addRollupTaskEntry('esm', bundle.runtime || ctx.runtime, {\n path: `__$$bundle_esm_${idx}$$__`,\n source: bundle.source,\n output: bundle.import,\n })\n }\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\n return tasks\n}\n","/* eslint-disable no-console */\n\nimport chalk from 'chalk'\n\nexport function createSpinner(msg: string): {complete: () => void; error: () => void} {\n const startTime = Date.now()\n\n console.log(msg)\n\n return {\n complete: () => {\n console.log(`${chalk.green('[success]')} ${chalk.gray(`${Date.now() - startTime}ms`)}`)\n },\n error: () => {\n console.log(`${chalk.red(`[error]`)} ${chalk.gray(`${Date.now() - startTime}ms`)}`)\n },\n }\n}\n","import {getPkgExtMap, loadConfig, loadPkgWithReporting} from './core'\nimport {createLogger} from './logger'\nimport {resolveBuildContext} from './resolveBuildContext'\nimport {resolveBuildTasks} from './resolveBuildTasks'\nimport {createSpinner} from './spinner'\nimport {BuildTask, buildTaskHandlers, TaskHandler} from './tasks'\n\n/**\n * Build the distribution files of a npm package.\n *\n * @example\n * ```ts\n * import {build} from '@sanity/pkg-utils'\n *\n * build({\n * cwd: process.cwd(),\n * tsconfig: 'tsconfig.dist.json,\n * }).then(() => {\n * console.log('successfully built')\n * }).catch((err) => {\n * console.log(`build error: ${err.message}`)\n * })\n * ```\n *\n * @public\n */\nexport async function build(options: {\n cwd: string\n emitDeclarationOnly?: boolean\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n const {cwd, emitDeclarationOnly, strict = false, tsconfig: tsconfigOption} = options\n const logger = createLogger()\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 const ctx = await resolveBuildContext({\n config,\n cwd,\n emitDeclarationOnly,\n extMap,\n logger,\n pkg,\n strict,\n tsconfig,\n })\n\n const buildTasks = resolveBuildTasks(ctx)\n\n for (const task of buildTasks) {\n const handler = buildTaskHandlers[task.type] as TaskHandler<BuildTask>\n const taskName = handler.name(ctx, task)\n\n const spinner = createSpinner(taskName)\n\n try {\n const result = await handler.exec(ctx, task).toPromise()\n\n spinner.complete()\n ctx.logger.log()\n\n handler.complete(ctx, task, result)\n } catch (err) {\n spinner.error()\n\n if (err instanceof Error) {\n const RE_CWD = new RegExp(`${cwd}`, 'g')\n\n ctx.logger.error(err.message.replace(RE_CWD, '.'))\n ctx.logger.log()\n }\n\n handler.error(ctx, task, err)\n\n process.exit(1)\n }\n }\n}\n"],"names":["exports","path","fs","chalk","logger","createLogger","loadPkgWithReporting","loadConfig","getPkgExtMap","resolveBuildContext","buildTaskHandlers"],"mappings":"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"}
|
|
@@ -71,32 +71,21 @@ async function loadPkgWithReporting(options) {
|
|
|
71
71
|
if (typeof exp == "string" || "svelte" in exp)
|
|
72
72
|
continue;
|
|
73
73
|
const keys = Object.keys(exp);
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
`exports["${expPath}"]: the \`node.require\` property isn't necessary as it's identical to \`require\``
|
|
90
|
-
)) : exp.require && exp.node.require && !assertOrder("node", "require", keys) && (shouldError = !0, logger2.error(
|
|
91
|
-
`exports["${expPath}"]: the \`node\` property should come before the \`require\` property`
|
|
92
|
-
));
|
|
93
|
-
} else
|
|
94
|
-
assertOrder("import", "require", keys) || logger2.warn(
|
|
95
|
-
`exports["${expPath}"]: the \`import\` property should come before the \`require\` property`
|
|
96
|
-
), assertOrder("module", "import", keys) || logger2.warn(
|
|
97
|
-
`exports["${expPath}"]: the \`module\` property should come before \`import\` property`
|
|
98
|
-
);
|
|
99
|
-
assertLast("default", keys) || (shouldError = !0, logger2.error(
|
|
74
|
+
assertFirst("types", keys) || (shouldError = !0, logger2.error(`exports["${expPath}"]: the \`types\` property should be the first property`)), exp.module && (shouldError = !0, logger2.error(
|
|
75
|
+
`exports["${expPath}"]: the \`module\` condition shouldn't be used as it's not well supported in all bundlers.`
|
|
76
|
+
)), exp.node ? (exp.import && exp.node.import && !assertOrder("node", "import", keys) && (shouldError = !0, logger2.error(
|
|
77
|
+
`exports["${expPath}"]: the \`node\` property should come before the \`import\` property`
|
|
78
|
+
)), exp.node.module && (shouldError = !0, logger2.error(
|
|
79
|
+
`exports["${expPath}"]: the \`node.module\` condition shouldn't be used as it's not well supported in all bundlers. A better strategy is to refactor the codebase to no longer be vulnerable to the "dual package hazard"`
|
|
80
|
+
)), !exp.node.source && exp.node.import && (exp.node.require || exp.require) && (exp.node.import.endsWith(".cjs.js") || exp.node.import.endsWith(".cjs.mjs")) && (shouldError = !0, logger2.error(
|
|
81
|
+
`exports["${expPath}"]: the \`node.import\` re-export pattern shouldn't be used as it's not well supported in all bundlers. A better strategy is to refactor the codebase to no longer be vulnerable to the "dual package hazard"`
|
|
82
|
+
)), exp.require && exp.node.require && exp.require === exp.node.require ? (shouldError = !0, logger2.error(
|
|
83
|
+
`exports["${expPath}"]: the \`node.require\` property isn't necessary as it's identical to \`require\``
|
|
84
|
+
)) : exp.require && exp.node.require && !assertOrder("node", "require", keys) && (shouldError = !0, logger2.error(
|
|
85
|
+
`exports["${expPath}"]: the \`node\` property should come before the \`require\` property`
|
|
86
|
+
))) : assertOrder("import", "require", keys) || logger2.warn(
|
|
87
|
+
`exports["${expPath}"]: the \`import\` property should come before the \`require\` property`
|
|
88
|
+
), assertLast("default", keys) || (shouldError = !0, logger2.error(
|
|
100
89
|
`exports["${expPath}"]: the \`default\` property should be the last property`
|
|
101
90
|
));
|
|
102
91
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consoleSpy.cjs","sources":["../../src/node/core/config/findConfigFile.ts","../../src/node/core/config/loadConfig.ts","../../src/node/core/config/resolveConfigProperty.ts","../../src/node/core/defaults.ts","../../src/node/core/pkg/loadPkg.ts","../../src/node/core/pkg/helpers.ts","../../src/node/core/pkg/loadPkgWithReporting.ts","../../src/node/core/pkg/validateExports.ts","../../src/node/core/pkg/parseExports.ts","../../src/node/core/pkg/pkgExt.ts","../../src/node/core/ts/loadTSConfig.ts","../../node_modules/.pnpm/browserslist-to-esbuild@2.1.1_browserslist@4.23.0/node_modules/browserslist-to-esbuild/src/index.js","../../src/node/core/findCommonPath.ts","../../src/node/resolveBrowserTarget.ts","../../src/node/resolveNodeTarget.ts","../../src/node/resolveBuildContext.ts","../../src/node/consoleSpy.ts"],"sourcesContent":["import findConfig from 'find-config'\nimport path from 'path'\n\nimport {fileExists} from '../../fileExists'\n\nconst CONFIG_FILE_NAMES = [\n 'package.config.ts',\n 'package.config.js',\n 'package.config.cjs',\n 'package.config.mjs',\n]\n\n/** @internal */\nexport function findConfigFile(cwd: string): string | undefined {\n const pkgJsonPath = findConfig('package.json', {cwd})\n\n if (!pkgJsonPath) return undefined\n\n const pkgPath = path.dirname(pkgJsonPath)\n\n for (const fileName of CONFIG_FILE_NAMES) {\n const configPath = path.resolve(pkgPath, fileName)\n\n const exists = fileExists(configPath)\n\n if (exists) {\n return configPath\n }\n }\n\n return undefined\n}\n","import {register} from 'esbuild-register/dist/node'\nimport path from 'path'\nimport pkgUp from 'pkg-up'\n\nimport {findConfigFile} from './findConfigFile'\nimport {PkgConfigOptions} from './types'\n\n/** @internal */\nexport async function loadConfig(options: {cwd: string}): Promise<PkgConfigOptions | undefined> {\n const {cwd} = options\n\n const pkgPath = await pkgUp({cwd})\n\n if (!pkgPath) return undefined\n\n const root = path.dirname(pkgPath)\n\n const configFile = await findConfigFile(root)\n\n if (!configFile) {\n return undefined\n }\n\n // Do not accept config files outside of the root\n if (!configFile.startsWith(cwd)) {\n return undefined\n }\n\n const esbuildOptions = {extensions: ['.js', '.mjs', '.ts']}\n\n const {unregister} = globalThis.__DEV__ ? {unregister: () => undefined} : register(esbuildOptions)\n\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const mod = require(configFile)\n\n unregister()\n\n return mod?.default || mod || undefined\n}\n","import {PkgConfigProperty, PkgConfigPropertyResolver} from './types'\n\n/** @internal */\nexport function resolveConfigProperty<T>(\n prop: PkgConfigProperty<T> | undefined,\n initialValue: T,\n): T {\n if (!prop) return initialValue\n\n if (typeof prop === 'function') {\n return (prop as PkgConfigPropertyResolver<T>)(initialValue)\n }\n\n return prop\n}\n","import config from '@sanity/browserslist-config'\n\n/** @public */\nexport const DEFAULT_BROWSERSLIST_QUERY = config\n","import fs from 'fs/promises'\nimport pkgUp from 'pkg-up'\n\nimport {PackageJSON} from './types'\nimport {validatePkg} from './validatePkg'\n\n/** @internal */\nexport async function loadPkg(options: {cwd: string}): Promise<PackageJSON> {\n const {cwd} = options\n\n const pkgPath = await pkgUp({cwd})\n\n if (!pkgPath) throw new Error('no package.json found')\n\n const buf = await fs.readFile(pkgPath)\n\n const raw = JSON.parse(buf.toString())\n\n validatePkg(raw)\n\n return raw\n}\n","/** @internal */\nexport function assertFirst<T>(a: T, arr: T[]): boolean {\n const aIdx = arr.indexOf(a)\n\n // if not found, then we don't care\n if (aIdx === -1) {\n return true\n }\n\n return aIdx === 0\n}\n\n/** @internal */\nexport function assertLast<T>(a: T, arr: T[]): boolean {\n const aIdx = arr.indexOf(a)\n\n // if not found, then we don't care\n if (aIdx === -1) {\n return true\n }\n\n return aIdx === arr.length - 1\n}\n\n/** @internal */\nexport function assertOrder<T>(a: T, b: T, arr: T[]): boolean {\n const aIdx = arr.indexOf(a)\n const bIdx = arr.indexOf(b)\n\n // if either is not found, then we don't care\n if (aIdx === -1 || bIdx === -1) {\n return true\n }\n\n return aIdx < bIdx\n}\n","import chalk from 'chalk'\nimport {ZodError} from 'zod'\n\nimport {Logger} from '../../logger'\nimport {assertFirst, assertLast, assertOrder} from './helpers'\nimport {loadPkg} from './loadPkg'\nimport {PackageJSON} from './types'\n\n/** @internal */\nexport async function loadPkgWithReporting(options: {\n cwd: string\n logger: Logger\n}): Promise<PackageJSON> {\n const {cwd, logger} = options\n\n try {\n const pkg = await loadPkg({cwd})\n let shouldError = false\n\n // validate exports\n if (pkg.exports) {\n const _exports = Object.entries(pkg.exports)\n\n for (const [expPath, exp] of _exports) {\n if (typeof exp === 'string' || 'svelte' in exp) {\n continue\n }\n\n const keys = Object.keys(exp)\n\n if (!assertFirst('types', keys)) {\n shouldError = true\n logger.error(`exports[\"${expPath}\"]: the \\`types\\` property should be the first property`)\n }\n\n if (exp.node) {\n const nodeKeys = Object.keys(exp.node)\n\n if (!assertOrder('module', 'import', nodeKeys)) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node.module\\` property should come before the \\`node.import\\` property`,\n )\n }\n\n if (!assertOrder('import', 'require', nodeKeys)) {\n logger.warn(\n `exports[\"${expPath}\"]: the \\`node.import\\` property should come before the \\`node.require\\` property`,\n )\n }\n\n if (!assertOrder('module', 'require', nodeKeys)) {\n logger.warn(\n `exports[\"${expPath}\"]: the \\`node.module\\` property should come before \\`node.require\\` property`,\n )\n }\n\n if (exp.import && exp.node.import && !assertOrder('node', 'import', keys)) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node\\` property should come before the \\`import\\` property`,\n )\n }\n\n if (exp.module && exp.node.module && !assertOrder('node', 'module', keys)) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node\\` property should come before the \\`module\\` property`,\n )\n }\n\n if (\n exp.node.import &&\n !exp.node.require &&\n exp.node.module &&\n exp.import &&\n exp.node.module !== exp.import\n ) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node.module\\` property should match \\`import\\``,\n )\n }\n\n if (exp.require && exp.node.require && exp.require === exp.node.require) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node.require\\` property isn't necessary as it's identical to \\`require\\``,\n )\n } else if (exp.require && exp.node.require && !assertOrder('node', 'require', keys)) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node\\` property should come before the \\`require\\` property`,\n )\n }\n } else {\n if (!assertOrder('import', 'require', keys)) {\n logger.warn(\n `exports[\"${expPath}\"]: the \\`import\\` property should come before the \\`require\\` property`,\n )\n }\n\n if (!assertOrder('module', 'import', keys)) {\n logger.warn(\n `exports[\"${expPath}\"]: the \\`module\\` property should come before \\`import\\` property`,\n )\n }\n }\n\n if (!assertLast('default', keys)) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`default\\` property should be the last property`,\n )\n }\n }\n }\n\n if (shouldError) {\n process.exit(1)\n }\n\n return pkg\n } catch (err) {\n if (err instanceof ZodError) {\n for (const issue of err.issues) {\n if (issue.code === 'invalid_type') {\n logger.error(\n [\n `\\`${formatPath(issue.path)}\\` `,\n `in \\`./package.json\\` must be of type ${chalk.magenta(issue.expected)} `,\n `(received ${chalk.magenta(issue.received)})`,\n ].join(''),\n )\n continue\n }\n\n logger.error(issue)\n }\n } else {\n logger.error(err)\n }\n\n process.exit(1)\n }\n}\n\nfunction formatPath(segments: Array<string | number>) {\n return segments\n .map((s, idx) => {\n if (idx === 0) return s\n\n if (typeof s === 'number') {\n return `[${s}]`\n }\n\n if (s.startsWith('.')) {\n return `[\"${s}\"]`\n }\n\n return `.${s}`\n })\n .join('')\n}\n","import {PkgExport} from '../config'\nimport {PkgExtMap} from './pkgExt'\nimport {PackageJSON} from './types'\n\nexport function validateExports(\n _exports: (PkgExport & {_path: string})[],\n options: {extMap: PkgExtMap; pkg: PackageJSON},\n): string[] {\n const {extMap, pkg} = options\n const ext = extMap[pkg.type || 'commonjs']\n\n const errors: string[] = []\n\n for (const exp of _exports) {\n if (exp.require && !exp.require.endsWith(ext.commonjs)) {\n errors.push(\n `package.json with \\`type: \"${pkg.type}\"\\` - \\`exports[\"${exp._path}\"].require\\` must end with \"${ext.commonjs}\"`,\n )\n }\n\n if (exp.import && !exp.import.endsWith(ext.esm)) {\n errors.push(\n `package.json with \\`type: \"${pkg.type}\"\\` - \\`exports[\"${exp._path}\"].import\\` must end with \"${ext.esm}\"`,\n )\n }\n }\n\n return errors\n}\n","import {PkgExport} from '../config'\nimport {isRecord} from '../isRecord'\nimport {PkgExtMap} from './pkgExt'\nimport {PackageJSON} from './types'\nimport {validateExports} from './validateExports'\n\n/** @internal */\nexport function parseExports(options: {\n extMap: PkgExtMap\n pkg: PackageJSON\n strict: boolean\n}): (PkgExport & {_path: string})[] {\n const {extMap, pkg, strict} = options\n\n const rootExport: PkgExport & {_path: string} = {\n _exported: true,\n _path: '.',\n types: pkg.types,\n source: pkg.source || '',\n browser: pkg.browser && {\n source: pkg.source || '',\n require: pkg.main && pkg.browser[pkg.main],\n import: pkg.module && pkg.browser[pkg.module],\n },\n require: pkg.main,\n import: pkg.module,\n default: pkg.module || pkg.main || '',\n }\n\n const extraExports: (PkgExport & {_path: string})[] = []\n\n const errors: string[] = []\n\n if (pkg.exports) {\n if (strict && !pkg.exports['./package.json']) {\n errors.push('package.json: `exports[\"./package.json\"] must be declared.')\n }\n\n for (const [exportPath, exportEntry] of Object.entries(pkg.exports)) {\n if (exportPath.endsWith('.json')) {\n if (exportPath === './package.json') {\n if (exportEntry !== './package.json') {\n errors.push('package.json: `exports[\"./package.json\"] must be \"./package.json\".')\n }\n }\n } else if (isRecord(exportEntry) && 'svelte' in exportEntry) {\n // @TODO should we report a warning or a debug message here about a detected svelte export that is ignored?\n } else if (isRecord(exportEntry)) {\n if (exportPath === '.') {\n if (\n exportEntry.require &&\n rootExport.require &&\n exportEntry.require !== rootExport.require\n ) {\n errors.push(\n 'package.json: mismatch between \"main\" and \"exports.require\". These must be equal.',\n )\n }\n\n if (exportEntry.import && rootExport.import && exportEntry.import !== rootExport.import) {\n errors.push(\n 'package.json: mismatch between \"module\" and \"exports.import\" These must be equal.',\n )\n }\n\n if (exportEntry.types && rootExport.types && exportEntry.types !== rootExport.types) {\n errors.push(\n 'package.json: mismatch between \"types\" and \"exports.types\". These must be equal.',\n )\n }\n\n if (exportEntry.source && rootExport.source && exportEntry.source !== rootExport.source) {\n errors.push(\n 'package.json: mismatch between \"source\" and \"exports.source\". These must be equal.',\n )\n }\n\n Object.assign(rootExport, exportEntry)\n } else {\n const extraExport: PkgExport & {_path: string} = {\n _exported: true,\n _path: exportPath,\n ...exportEntry,\n }\n\n extraExports.push(extraExport)\n }\n } else {\n errors.push('package.json: exports must be an object')\n }\n }\n }\n\n const _exports = [rootExport, ...extraExports]\n\n errors.push(...validateExports(_exports, {extMap, pkg}))\n\n if (errors.length) {\n throw new Error('\\n- ' + errors.join('\\n- '))\n }\n\n return _exports\n}\n","/** @internal */\nexport interface PkgExtMap {\n commonjs: {commonjs: string; esm: string}\n module: {commonjs: string; esm: string}\n}\n\n/** @internal */\nexport const DEFAULT_PKG_EXT_MAP: PkgExtMap = {\n // pkg.type: \"commonjs\"\n commonjs: {\n commonjs: '.js',\n esm: '.mjs',\n },\n\n // pkg.type: \"module\"\n module: {\n commonjs: '.cjs',\n esm: '.js',\n },\n}\n\n/** @internal */\nexport function getPkgExtMap(options: {legacyExports: boolean}): PkgExtMap {\n const {legacyExports} = options\n\n const ret = {...DEFAULT_PKG_EXT_MAP}\n\n // Fall back to legacy file extensions for package.json with `\"type\": \"commonjs\"`\n // NOTE: Not supported by Node 14+ and will be removed in a future version\n if (legacyExports) {\n ret['commonjs'] = {\n commonjs: '.js',\n esm: '.esm.js',\n }\n }\n\n return ret\n}\n","import ts from 'typescript'\n\n/** @internal */\nexport async function loadTSConfig(options: {\n cwd: string\n tsconfigPath: string\n}): Promise<ts.ParsedCommandLine | undefined> {\n const {cwd, tsconfigPath} = options\n\n const configPath = ts.findConfigFile(cwd, ts.sys.fileExists, tsconfigPath)\n\n if (!configPath) {\n return undefined\n }\n\n const configFile = ts.readConfigFile(configPath, ts.sys.readFile)\n\n return ts.parseJsonConfigFileContent(configFile.config, ts.sys, cwd)\n}\n","import browserslist from 'browserslist'\n\n// convert the browserslist field in package.json to\n// esbuild compatible array of browsers\nexport default function browserslistToEsbuild(browserslistConfig, options = {}) {\n if (!browserslistConfig) {\n // the path from where the script is run\n const path = process.cwd()\n\n // read config if none is passed\n browserslistConfig = browserslist.loadConfig({ path, ...options })\n }\n\n const SUPPORTED_ESBUILD_TARGETS = [\n 'es',\n 'chrome',\n 'edge',\n 'firefox',\n 'ios',\n 'node',\n 'safari',\n 'opera',\n 'ie',\n ]\n\n // https://github.com/eBay/browserslist-config/issues/16#issuecomment-863870093\n const UNSUPPORTED = ['android 4']\n\n const replaces = {\n ios_saf: 'ios',\n android: 'chrome',\n }\n\n const separator = ' '\n\n return (\n browserslist(browserslistConfig, options)\n // filter out the unsupported ones\n .filter((b) => !UNSUPPORTED.some((u) => b.startsWith(u)))\n // replaces safari TP with latest safari version\n .map((b) => {\n if (b === 'safari TP') {\n return browserslist('last 1 safari version')[0]\n }\n\n return b\n })\n // transform into ['chrome', '88']\n .map((b) => b.split(separator))\n // replace the similar browser\n .map((b) => {\n if (replaces[b[0]]) {\n b[0] = replaces[b[0]]\n }\n\n return b\n })\n // 11.0-12.0 --> 11.0\n .map((b) => {\n if (b[1].includes('-')) {\n b[1] = b[1].slice(0, b[1].indexOf('-'))\n }\n\n return b\n })\n // 11.0 --> 11\n .map((b) => {\n if (b[1].endsWith('.0')) {\n b[1] = b[1].slice(0, -2)\n }\n\n return b\n })\n // removes invalid versions that will break esbuild\n // https://github.com/evanw/esbuild/blob/35c0d65b9d4f29a26176404d2890d1b499634e9f/compat-table/src/caniuse.ts#L119-L122\n .filter((b) => /^\\d+(\\.\\d+)*$/.test(b[1]))\n // only get the targets supported by esbuild\n .filter((b) => SUPPORTED_ESBUILD_TARGETS.includes(b[0]))\n // only get the oldest version, assuming that the older version\n // is last in the array\n .reduce((acc, b) => {\n const existingIndex = acc.findIndex((br) => br[0] === b[0])\n\n if (existingIndex !== -1) {\n acc[existingIndex][1] = b[1]\n } else {\n acc.push(b)\n }\n return acc\n }, [])\n // remove separator\n .map((b) => b.join(''))\n )\n}\n","import path from 'path'\n\nexport function pathContains(containerPath: string, itemPath: string): boolean {\n return !path.relative(containerPath, itemPath).startsWith('..')\n}\n\nexport function findCommonDirPath(filePaths: string[]): string | undefined {\n let ret: string | undefined = undefined\n\n for (const filePath of filePaths) {\n let dirPath = path.dirname(filePath)\n\n if (!ret) {\n ret = dirPath\n continue\n }\n\n while (dirPath !== ret) {\n dirPath = path.dirname(dirPath)\n\n if (dirPath === ret) {\n break\n }\n\n if (pathContains(dirPath, ret)) {\n ret = dirPath\n break\n }\n\n if (dirPath === '.') return undefined\n }\n }\n\n return ret\n}\n","export function resolveBrowserTarget(versions: string[]): string[] | undefined {\n const target: string[] = versions.filter(\n (version) =>\n version.startsWith('chrome') ||\n version.startsWith('edge') ||\n version.startsWith('firefox') ||\n version.startsWith('ios') ||\n version.startsWith('safari') ||\n version.startsWith('opera'),\n )\n\n if (target.length === 0) {\n return undefined\n }\n\n return target\n}\n","export function resolveNodeTarget(versions: string[]): string[] | undefined {\n const target: string[] = versions.filter((version) => version.startsWith('node'))\n\n if (target.length === 0) {\n return undefined\n }\n\n return target\n}\n","import browserslistToEsbuild from 'browserslist-to-esbuild'\nimport path from 'path'\n\nimport {\n BuildContext,\n DEFAULT_BROWSERSLIST_QUERY,\n loadTSConfig,\n PackageJSON,\n parseExports,\n PkgConfigOptions,\n PkgExports,\n PkgExtMap,\n PkgRuntime,\n resolveConfigProperty,\n} from './core'\nimport {findCommonDirPath, pathContains} from './core/findCommonPath'\nimport {Logger} from './logger'\nimport {resolveBrowserTarget} from './resolveBrowserTarget'\nimport {resolveNodeTarget} from './resolveNodeTarget'\n\nexport async function resolveBuildContext(options: {\n config?: PkgConfigOptions\n cwd: string\n emitDeclarationOnly?: boolean\n extMap: PkgExtMap\n logger: Logger\n pkg: PackageJSON\n strict: boolean\n tsconfig: string\n}): Promise<BuildContext> {\n const {\n config,\n cwd,\n emitDeclarationOnly = false,\n extMap,\n logger,\n pkg,\n strict,\n tsconfig: tsconfigPath,\n } = options\n const tsconfig = await loadTSConfig({cwd, tsconfigPath})\n\n /* eslint-disable padding-line-between-statements */\n let browserslist = pkg.browserslist\n if (!browserslist) {\n if (strict) {\n logger.warn(\n 'Could not detect a `browserslist` property in `package.json`, using default configuration. Add `\"browserslist\": \"extends @sanity/browserslist-config\"` to silence this warning.',\n )\n }\n browserslist = DEFAULT_BROWSERSLIST_QUERY\n }\n const targetVersions = browserslistToEsbuild(browserslist)\n /* eslint-enable padding-line-between-statements */\n\n if (strict && typeof pkg.sideEffects === 'undefined') {\n logger.error(\n 'No `sideEffects` field in `package.json`, assuming all files are side-effectful. Add `\"sideEffects\": true` to silence this warning. See https://webpack.js.org/guides/tree-shaking/#clarifying-tree-shaking-and-sideeffects for how to define `sideEffects`.',\n )\n }\n\n const nodeTarget = resolveNodeTarget(targetVersions)\n const webTarget = resolveBrowserTarget(targetVersions)\n\n if (!nodeTarget) {\n throw new Error('no matching `node` target')\n }\n\n if (!webTarget) {\n throw new Error('no matching `web` target')\n }\n\n const target: Record<PkgRuntime, string[]> = {\n '*': webTarget.concat(nodeTarget),\n 'browser': webTarget,\n 'node': nodeTarget,\n }\n\n const parsedExports = parseExports({extMap, pkg, strict}).reduce<PkgExports>((acc, x) => {\n const {_path: exportPath, ...exportEntry} = x\n\n return {...acc, [exportPath]: exportEntry}\n }, {})\n\n const exports = resolveConfigProperty(config?.exports, parsedExports)\n\n const parsedExternal = [\n ...(pkg.dependencies ? Object.keys(pkg.dependencies) : []),\n ...(pkg.peerDependencies ? Object.keys(pkg.peerDependencies) : []),\n ]\n\n // Merge externals if an array is provided, replace if it's a function\n const external =\n config && Array.isArray(config.external)\n ? [...parsedExternal, ...config.external]\n : resolveConfigProperty(config?.external, parsedExternal)\n\n const outputPaths = Object.values(exports)\n .flatMap((exportEntry) => {\n return [\n exportEntry.import,\n exportEntry.require,\n exportEntry.browser?.import,\n exportEntry.browser?.require,\n exportEntry.node?.source && exportEntry.node.import,\n exportEntry.node?.source && exportEntry.node.require,\n ].filter(Boolean) as string[]\n })\n .map((p) => path.resolve(cwd, p))\n\n const commonDistPath = findCommonDirPath(outputPaths)\n\n if (commonDistPath === cwd) {\n throw new Error(\n 'all output files must share a common parent directory which is not the root package directory',\n )\n }\n\n if (commonDistPath && !pathContains(cwd, commonDistPath)) {\n throw new Error('all output files must be located within the package')\n }\n\n const configDistPath = config?.dist ? path.resolve(cwd, config.dist) : undefined\n\n if (\n configDistPath &&\n commonDistPath &&\n configDistPath !== commonDistPath &&\n !pathContains(configDistPath, commonDistPath)\n ) {\n logger.log(`did you mean to configure \\`dist: './${path.relative(cwd, commonDistPath)}'\\`?`)\n\n throw new Error('all output files must be located with the configured `dist` path')\n }\n\n const distPath = configDistPath || commonDistPath\n\n if (!distPath) {\n throw new Error('could not detect `dist` path')\n }\n\n const ctx: BuildContext = {\n config,\n cwd,\n distPath,\n emitDeclarationOnly,\n exports,\n external,\n extMap,\n files: [],\n logger,\n pkg,\n runtime: config?.runtime ?? '*',\n strict,\n target,\n ts: {\n config: tsconfig,\n configPath: tsconfigPath,\n },\n }\n\n return ctx\n}\n","/* eslint-disable no-console */\n\nexport interface ConsoleSpyMsg {\n type: 'log' | 'warn' | 'error'\n code?: string\n args: unknown[]\n}\n\nexport interface ConsoleSpy {\n messages: ConsoleSpyMsg[]\n restore: () => void\n}\n\nexport function createConsoleSpy(options?: {\n onRestored?: (messages: ConsoleSpyMsg[]) => void\n}): ConsoleSpy {\n const {onRestored} = options || {}\n\n const original = {\n log: console.log,\n warn: console.warn,\n error: console.error,\n }\n\n const messages: ConsoleSpyMsg[] = []\n\n console.log = (...args: unknown[]) => messages.push({type: 'log', args})\n console.warn = (...args: unknown[]) => messages.push({type: 'warn', args})\n console.error = (...args: unknown[]) => messages.push({type: 'error', args})\n\n return {\n messages,\n restore: () => {\n console.log = original.log\n console.warn = original.warn\n console.error = original.error\n\n onRestored?.(messages)\n },\n }\n}\n"],"names":["findConfig","path","fileExists","pkgUp","register","config","fs","validatePkg","logger","ZodError","chalk","isRecord","ts","browserslist","exports"],"mappings":"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","x_google_ignoreList":[11]}
|
|
1
|
+
{"version":3,"file":"consoleSpy.cjs","sources":["../../src/node/core/config/findConfigFile.ts","../../src/node/core/config/loadConfig.ts","../../src/node/core/config/resolveConfigProperty.ts","../../src/node/core/defaults.ts","../../src/node/core/pkg/loadPkg.ts","../../src/node/core/pkg/helpers.ts","../../src/node/core/pkg/loadPkgWithReporting.ts","../../src/node/core/pkg/validateExports.ts","../../src/node/core/pkg/parseExports.ts","../../src/node/core/pkg/pkgExt.ts","../../src/node/core/ts/loadTSConfig.ts","../../node_modules/.pnpm/browserslist-to-esbuild@2.1.1_browserslist@4.23.0/node_modules/browserslist-to-esbuild/src/index.js","../../src/node/core/findCommonPath.ts","../../src/node/resolveBrowserTarget.ts","../../src/node/resolveNodeTarget.ts","../../src/node/resolveBuildContext.ts","../../src/node/consoleSpy.ts"],"sourcesContent":["import findConfig from 'find-config'\nimport path from 'path'\n\nimport {fileExists} from '../../fileExists'\n\nconst CONFIG_FILE_NAMES = [\n 'package.config.ts',\n 'package.config.js',\n 'package.config.cjs',\n 'package.config.mjs',\n]\n\n/** @internal */\nexport function findConfigFile(cwd: string): string | undefined {\n const pkgJsonPath = findConfig('package.json', {cwd})\n\n if (!pkgJsonPath) return undefined\n\n const pkgPath = path.dirname(pkgJsonPath)\n\n for (const fileName of CONFIG_FILE_NAMES) {\n const configPath = path.resolve(pkgPath, fileName)\n\n const exists = fileExists(configPath)\n\n if (exists) {\n return configPath\n }\n }\n\n return undefined\n}\n","import {register} from 'esbuild-register/dist/node'\nimport path from 'path'\nimport pkgUp from 'pkg-up'\n\nimport {findConfigFile} from './findConfigFile'\nimport {PkgConfigOptions} from './types'\n\n/** @internal */\nexport async function loadConfig(options: {cwd: string}): Promise<PkgConfigOptions | undefined> {\n const {cwd} = options\n\n const pkgPath = await pkgUp({cwd})\n\n if (!pkgPath) return undefined\n\n const root = path.dirname(pkgPath)\n\n const configFile = await findConfigFile(root)\n\n if (!configFile) {\n return undefined\n }\n\n // Do not accept config files outside of the root\n if (!configFile.startsWith(cwd)) {\n return undefined\n }\n\n const esbuildOptions = {extensions: ['.js', '.mjs', '.ts']}\n\n const {unregister} = globalThis.__DEV__ ? {unregister: () => undefined} : register(esbuildOptions)\n\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const mod = require(configFile)\n\n unregister()\n\n return mod?.default || mod || undefined\n}\n","import {PkgConfigProperty, PkgConfigPropertyResolver} from './types'\n\n/** @internal */\nexport function resolveConfigProperty<T>(\n prop: PkgConfigProperty<T> | undefined,\n initialValue: T,\n): T {\n if (!prop) return initialValue\n\n if (typeof prop === 'function') {\n return (prop as PkgConfigPropertyResolver<T>)(initialValue)\n }\n\n return prop\n}\n","import config from '@sanity/browserslist-config'\n\n/** @public */\nexport const DEFAULT_BROWSERSLIST_QUERY = config\n","import fs from 'fs/promises'\nimport pkgUp from 'pkg-up'\n\nimport {PackageJSON} from './types'\nimport {validatePkg} from './validatePkg'\n\n/** @internal */\nexport async function loadPkg(options: {cwd: string}): Promise<PackageJSON> {\n const {cwd} = options\n\n const pkgPath = await pkgUp({cwd})\n\n if (!pkgPath) throw new Error('no package.json found')\n\n const buf = await fs.readFile(pkgPath)\n\n const raw = JSON.parse(buf.toString())\n\n validatePkg(raw)\n\n return raw\n}\n","/** @internal */\nexport function assertFirst<T>(a: T, arr: T[]): boolean {\n const aIdx = arr.indexOf(a)\n\n // if not found, then we don't care\n if (aIdx === -1) {\n return true\n }\n\n return aIdx === 0\n}\n\n/** @internal */\nexport function assertLast<T>(a: T, arr: T[]): boolean {\n const aIdx = arr.indexOf(a)\n\n // if not found, then we don't care\n if (aIdx === -1) {\n return true\n }\n\n return aIdx === arr.length - 1\n}\n\n/** @internal */\nexport function assertOrder<T>(a: T, b: T, arr: T[]): boolean {\n const aIdx = arr.indexOf(a)\n const bIdx = arr.indexOf(b)\n\n // if either is not found, then we don't care\n if (aIdx === -1 || bIdx === -1) {\n return true\n }\n\n return aIdx < bIdx\n}\n","import chalk from 'chalk'\nimport {ZodError} from 'zod'\n\nimport {Logger} from '../../logger'\nimport {assertFirst, assertLast, assertOrder} from './helpers'\nimport {loadPkg} from './loadPkg'\nimport {PackageJSON} from './types'\n\n/** @internal */\nexport async function loadPkgWithReporting(options: {\n cwd: string\n logger: Logger\n}): Promise<PackageJSON> {\n const {cwd, logger} = options\n\n try {\n const pkg = await loadPkg({cwd})\n let shouldError = false\n\n // validate exports\n if (pkg.exports) {\n const _exports = Object.entries(pkg.exports)\n\n for (const [expPath, exp] of _exports) {\n if (typeof exp === 'string' || 'svelte' in exp) {\n continue\n }\n\n const keys = Object.keys(exp)\n\n if (!assertFirst('types', keys)) {\n shouldError = true\n logger.error(`exports[\"${expPath}\"]: the \\`types\\` property should be the first property`)\n }\n\n if (exp.module) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`module\\` condition shouldn't be used as it's not well supported in all bundlers.`,\n )\n }\n\n if (exp.node) {\n if (exp.import && exp.node.import && !assertOrder('node', 'import', keys)) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node\\` property should come before the \\`import\\` property`,\n )\n }\n\n if (exp.node.module) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node.module\\` condition shouldn't be used as it's not well supported in all bundlers. A better strategy is to refactor the codebase to no longer be vulnerable to the \"dual package hazard\"`,\n )\n }\n\n if (\n !exp.node.source &&\n exp.node.import &&\n (exp.node.require || exp.require) &&\n (exp.node.import.endsWith('.cjs.js') || exp.node.import.endsWith('.cjs.mjs'))\n ) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node.import\\` re-export pattern shouldn't be used as it's not well supported in all bundlers. A better strategy is to refactor the codebase to no longer be vulnerable to the \"dual package hazard\"`,\n )\n }\n\n if (exp.require && exp.node.require && exp.require === exp.node.require) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node.require\\` property isn't necessary as it's identical to \\`require\\``,\n )\n } else if (exp.require && exp.node.require && !assertOrder('node', 'require', keys)) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`node\\` property should come before the \\`require\\` property`,\n )\n }\n } else {\n if (!assertOrder('import', 'require', keys)) {\n logger.warn(\n `exports[\"${expPath}\"]: the \\`import\\` property should come before the \\`require\\` property`,\n )\n }\n }\n\n if (!assertLast('default', keys)) {\n shouldError = true\n logger.error(\n `exports[\"${expPath}\"]: the \\`default\\` property should be the last property`,\n )\n }\n }\n }\n\n if (shouldError) {\n process.exit(1)\n }\n\n return pkg\n } catch (err) {\n if (err instanceof ZodError) {\n for (const issue of err.issues) {\n if (issue.code === 'invalid_type') {\n logger.error(\n [\n `\\`${formatPath(issue.path)}\\` `,\n `in \\`./package.json\\` must be of type ${chalk.magenta(issue.expected)} `,\n `(received ${chalk.magenta(issue.received)})`,\n ].join(''),\n )\n continue\n }\n\n logger.error(issue)\n }\n } else {\n logger.error(err)\n }\n\n process.exit(1)\n }\n}\n\nfunction formatPath(segments: Array<string | number>) {\n return segments\n .map((s, idx) => {\n if (idx === 0) return s\n\n if (typeof s === 'number') {\n return `[${s}]`\n }\n\n if (s.startsWith('.')) {\n return `[\"${s}\"]`\n }\n\n return `.${s}`\n })\n .join('')\n}\n","import {PkgExport} from '../config'\nimport {PkgExtMap} from './pkgExt'\nimport {PackageJSON} from './types'\n\nexport function validateExports(\n _exports: (PkgExport & {_path: string})[],\n options: {extMap: PkgExtMap; pkg: PackageJSON},\n): string[] {\n const {extMap, pkg} = options\n const ext = extMap[pkg.type || 'commonjs']\n\n const errors: string[] = []\n\n for (const exp of _exports) {\n if (exp.require && !exp.require.endsWith(ext.commonjs)) {\n errors.push(\n `package.json with \\`type: \"${pkg.type}\"\\` - \\`exports[\"${exp._path}\"].require\\` must end with \"${ext.commonjs}\"`,\n )\n }\n\n if (exp.import && !exp.import.endsWith(ext.esm)) {\n errors.push(\n `package.json with \\`type: \"${pkg.type}\"\\` - \\`exports[\"${exp._path}\"].import\\` must end with \"${ext.esm}\"`,\n )\n }\n }\n\n return errors\n}\n","import {PkgExport} from '../config'\nimport {isRecord} from '../isRecord'\nimport {PkgExtMap} from './pkgExt'\nimport {PackageJSON} from './types'\nimport {validateExports} from './validateExports'\n\n/** @internal */\nexport function parseExports(options: {\n extMap: PkgExtMap\n pkg: PackageJSON\n strict: boolean\n}): (PkgExport & {_path: string})[] {\n const {extMap, pkg, strict} = options\n\n const rootExport: PkgExport & {_path: string} = {\n _exported: true,\n _path: '.',\n types: pkg.types,\n source: pkg.source || '',\n browser: pkg.browser && {\n source: pkg.source || '',\n require: pkg.main && pkg.browser[pkg.main],\n import: pkg.module && pkg.browser[pkg.module],\n },\n require: pkg.main,\n import: pkg.module,\n default: pkg.module || pkg.main || '',\n }\n\n const extraExports: (PkgExport & {_path: string})[] = []\n\n const errors: string[] = []\n\n if (pkg.exports) {\n if (strict && !pkg.exports['./package.json']) {\n errors.push('package.json: `exports[\"./package.json\"] must be declared.')\n }\n\n for (const [exportPath, exportEntry] of Object.entries(pkg.exports)) {\n if (exportPath.endsWith('.json')) {\n if (exportPath === './package.json') {\n if (exportEntry !== './package.json') {\n errors.push('package.json: `exports[\"./package.json\"] must be \"./package.json\".')\n }\n }\n } else if (isRecord(exportEntry) && 'svelte' in exportEntry) {\n // @TODO should we report a warning or a debug message here about a detected svelte export that is ignored?\n } else if (isRecord(exportEntry)) {\n if (exportPath === '.') {\n if (\n exportEntry.require &&\n rootExport.require &&\n exportEntry.require !== rootExport.require\n ) {\n errors.push(\n 'package.json: mismatch between \"main\" and \"exports.require\". These must be equal.',\n )\n }\n\n if (exportEntry.import && rootExport.import && exportEntry.import !== rootExport.import) {\n errors.push(\n 'package.json: mismatch between \"module\" and \"exports.import\" These must be equal.',\n )\n }\n\n if (exportEntry.types && rootExport.types && exportEntry.types !== rootExport.types) {\n errors.push(\n 'package.json: mismatch between \"types\" and \"exports.types\". These must be equal.',\n )\n }\n\n if (exportEntry.source && rootExport.source && exportEntry.source !== rootExport.source) {\n errors.push(\n 'package.json: mismatch between \"source\" and \"exports.source\". These must be equal.',\n )\n }\n\n Object.assign(rootExport, exportEntry)\n } else {\n const extraExport: PkgExport & {_path: string} = {\n _exported: true,\n _path: exportPath,\n ...exportEntry,\n }\n\n extraExports.push(extraExport)\n }\n } else {\n errors.push('package.json: exports must be an object')\n }\n }\n }\n\n const _exports = [rootExport, ...extraExports]\n\n errors.push(...validateExports(_exports, {extMap, pkg}))\n\n if (errors.length) {\n throw new Error('\\n- ' + errors.join('\\n- '))\n }\n\n return _exports\n}\n","/** @internal */\nexport interface PkgExtMap {\n commonjs: {commonjs: string; esm: string}\n module: {commonjs: string; esm: string}\n}\n\n/** @internal */\nexport const DEFAULT_PKG_EXT_MAP: PkgExtMap = {\n // pkg.type: \"commonjs\"\n commonjs: {\n commonjs: '.js',\n esm: '.mjs',\n },\n\n // pkg.type: \"module\"\n module: {\n commonjs: '.cjs',\n esm: '.js',\n },\n}\n\n/** @internal */\nexport function getPkgExtMap(options: {legacyExports: boolean}): PkgExtMap {\n const {legacyExports} = options\n\n const ret = {...DEFAULT_PKG_EXT_MAP}\n\n // Fall back to legacy file extensions for package.json with `\"type\": \"commonjs\"`\n // NOTE: Not supported by Node 14+ and will be removed in a future version\n if (legacyExports) {\n ret['commonjs'] = {\n commonjs: '.js',\n esm: '.esm.js',\n }\n }\n\n return ret\n}\n","import ts from 'typescript'\n\n/** @internal */\nexport async function loadTSConfig(options: {\n cwd: string\n tsconfigPath: string\n}): Promise<ts.ParsedCommandLine | undefined> {\n const {cwd, tsconfigPath} = options\n\n const configPath = ts.findConfigFile(cwd, ts.sys.fileExists, tsconfigPath)\n\n if (!configPath) {\n return undefined\n }\n\n const configFile = ts.readConfigFile(configPath, ts.sys.readFile)\n\n return ts.parseJsonConfigFileContent(configFile.config, ts.sys, cwd)\n}\n","import browserslist from 'browserslist'\n\n// convert the browserslist field in package.json to\n// esbuild compatible array of browsers\nexport default function browserslistToEsbuild(browserslistConfig, options = {}) {\n if (!browserslistConfig) {\n // the path from where the script is run\n const path = process.cwd()\n\n // read config if none is passed\n browserslistConfig = browserslist.loadConfig({ path, ...options })\n }\n\n const SUPPORTED_ESBUILD_TARGETS = [\n 'es',\n 'chrome',\n 'edge',\n 'firefox',\n 'ios',\n 'node',\n 'safari',\n 'opera',\n 'ie',\n ]\n\n // https://github.com/eBay/browserslist-config/issues/16#issuecomment-863870093\n const UNSUPPORTED = ['android 4']\n\n const replaces = {\n ios_saf: 'ios',\n android: 'chrome',\n }\n\n const separator = ' '\n\n return (\n browserslist(browserslistConfig, options)\n // filter out the unsupported ones\n .filter((b) => !UNSUPPORTED.some((u) => b.startsWith(u)))\n // replaces safari TP with latest safari version\n .map((b) => {\n if (b === 'safari TP') {\n return browserslist('last 1 safari version')[0]\n }\n\n return b\n })\n // transform into ['chrome', '88']\n .map((b) => b.split(separator))\n // replace the similar browser\n .map((b) => {\n if (replaces[b[0]]) {\n b[0] = replaces[b[0]]\n }\n\n return b\n })\n // 11.0-12.0 --> 11.0\n .map((b) => {\n if (b[1].includes('-')) {\n b[1] = b[1].slice(0, b[1].indexOf('-'))\n }\n\n return b\n })\n // 11.0 --> 11\n .map((b) => {\n if (b[1].endsWith('.0')) {\n b[1] = b[1].slice(0, -2)\n }\n\n return b\n })\n // removes invalid versions that will break esbuild\n // https://github.com/evanw/esbuild/blob/35c0d65b9d4f29a26176404d2890d1b499634e9f/compat-table/src/caniuse.ts#L119-L122\n .filter((b) => /^\\d+(\\.\\d+)*$/.test(b[1]))\n // only get the targets supported by esbuild\n .filter((b) => SUPPORTED_ESBUILD_TARGETS.includes(b[0]))\n // only get the oldest version, assuming that the older version\n // is last in the array\n .reduce((acc, b) => {\n const existingIndex = acc.findIndex((br) => br[0] === b[0])\n\n if (existingIndex !== -1) {\n acc[existingIndex][1] = b[1]\n } else {\n acc.push(b)\n }\n return acc\n }, [])\n // remove separator\n .map((b) => b.join(''))\n )\n}\n","import path from 'path'\n\nexport function pathContains(containerPath: string, itemPath: string): boolean {\n return !path.relative(containerPath, itemPath).startsWith('..')\n}\n\nexport function findCommonDirPath(filePaths: string[]): string | undefined {\n let ret: string | undefined = undefined\n\n for (const filePath of filePaths) {\n let dirPath = path.dirname(filePath)\n\n if (!ret) {\n ret = dirPath\n continue\n }\n\n while (dirPath !== ret) {\n dirPath = path.dirname(dirPath)\n\n if (dirPath === ret) {\n break\n }\n\n if (pathContains(dirPath, ret)) {\n ret = dirPath\n break\n }\n\n if (dirPath === '.') return undefined\n }\n }\n\n return ret\n}\n","export function resolveBrowserTarget(versions: string[]): string[] | undefined {\n const target: string[] = versions.filter(\n (version) =>\n version.startsWith('chrome') ||\n version.startsWith('edge') ||\n version.startsWith('firefox') ||\n version.startsWith('ios') ||\n version.startsWith('safari') ||\n version.startsWith('opera'),\n )\n\n if (target.length === 0) {\n return undefined\n }\n\n return target\n}\n","export function resolveNodeTarget(versions: string[]): string[] | undefined {\n const target: string[] = versions.filter((version) => version.startsWith('node'))\n\n if (target.length === 0) {\n return undefined\n }\n\n return target\n}\n","import browserslistToEsbuild from 'browserslist-to-esbuild'\nimport path from 'path'\n\nimport {\n BuildContext,\n DEFAULT_BROWSERSLIST_QUERY,\n loadTSConfig,\n PackageJSON,\n parseExports,\n PkgConfigOptions,\n PkgExports,\n PkgExtMap,\n PkgRuntime,\n resolveConfigProperty,\n} from './core'\nimport {findCommonDirPath, pathContains} from './core/findCommonPath'\nimport {Logger} from './logger'\nimport {resolveBrowserTarget} from './resolveBrowserTarget'\nimport {resolveNodeTarget} from './resolveNodeTarget'\n\nexport async function resolveBuildContext(options: {\n config?: PkgConfigOptions\n cwd: string\n emitDeclarationOnly?: boolean\n extMap: PkgExtMap\n logger: Logger\n pkg: PackageJSON\n strict: boolean\n tsconfig: string\n}): Promise<BuildContext> {\n const {\n config,\n cwd,\n emitDeclarationOnly = false,\n extMap,\n logger,\n pkg,\n strict,\n tsconfig: tsconfigPath,\n } = options\n const tsconfig = await loadTSConfig({cwd, tsconfigPath})\n\n /* eslint-disable padding-line-between-statements */\n let browserslist = pkg.browserslist\n if (!browserslist) {\n if (strict) {\n logger.warn(\n 'Could not detect a `browserslist` property in `package.json`, using default configuration. Add `\"browserslist\": \"extends @sanity/browserslist-config\"` to silence this warning.',\n )\n }\n browserslist = DEFAULT_BROWSERSLIST_QUERY\n }\n const targetVersions = browserslistToEsbuild(browserslist)\n /* eslint-enable padding-line-between-statements */\n\n if (strict && typeof pkg.sideEffects === 'undefined') {\n logger.error(\n 'No `sideEffects` field in `package.json`, assuming all files are side-effectful. Add `\"sideEffects\": true` to silence this warning. See https://webpack.js.org/guides/tree-shaking/#clarifying-tree-shaking-and-sideeffects for how to define `sideEffects`.',\n )\n }\n\n const nodeTarget = resolveNodeTarget(targetVersions)\n const webTarget = resolveBrowserTarget(targetVersions)\n\n if (!nodeTarget) {\n throw new Error('no matching `node` target')\n }\n\n if (!webTarget) {\n throw new Error('no matching `web` target')\n }\n\n const target: Record<PkgRuntime, string[]> = {\n '*': webTarget.concat(nodeTarget),\n 'browser': webTarget,\n 'node': nodeTarget,\n }\n\n const parsedExports = parseExports({extMap, pkg, strict}).reduce<PkgExports>((acc, x) => {\n const {_path: exportPath, ...exportEntry} = x\n\n return {...acc, [exportPath]: exportEntry}\n }, {})\n\n const exports = resolveConfigProperty(config?.exports, parsedExports)\n\n const parsedExternal = [\n ...(pkg.dependencies ? Object.keys(pkg.dependencies) : []),\n ...(pkg.peerDependencies ? Object.keys(pkg.peerDependencies) : []),\n ]\n\n // Merge externals if an array is provided, replace if it's a function\n const external =\n config && Array.isArray(config.external)\n ? [...parsedExternal, ...config.external]\n : resolveConfigProperty(config?.external, parsedExternal)\n\n const outputPaths = Object.values(exports)\n .flatMap((exportEntry) => {\n return [\n exportEntry.import,\n exportEntry.require,\n exportEntry.browser?.import,\n exportEntry.browser?.require,\n exportEntry.node?.source && exportEntry.node.import,\n exportEntry.node?.source && exportEntry.node.require,\n ].filter(Boolean) as string[]\n })\n .map((p) => path.resolve(cwd, p))\n\n const commonDistPath = findCommonDirPath(outputPaths)\n\n if (commonDistPath === cwd) {\n throw new Error(\n 'all output files must share a common parent directory which is not the root package directory',\n )\n }\n\n if (commonDistPath && !pathContains(cwd, commonDistPath)) {\n throw new Error('all output files must be located within the package')\n }\n\n const configDistPath = config?.dist ? path.resolve(cwd, config.dist) : undefined\n\n if (\n configDistPath &&\n commonDistPath &&\n configDistPath !== commonDistPath &&\n !pathContains(configDistPath, commonDistPath)\n ) {\n logger.log(`did you mean to configure \\`dist: './${path.relative(cwd, commonDistPath)}'\\`?`)\n\n throw new Error('all output files must be located with the configured `dist` path')\n }\n\n const distPath = configDistPath || commonDistPath\n\n if (!distPath) {\n throw new Error('could not detect `dist` path')\n }\n\n const ctx: BuildContext = {\n config,\n cwd,\n distPath,\n emitDeclarationOnly,\n exports,\n external,\n extMap,\n files: [],\n logger,\n pkg,\n runtime: config?.runtime ?? '*',\n strict,\n target,\n ts: {\n config: tsconfig,\n configPath: tsconfigPath,\n },\n }\n\n return ctx\n}\n","/* eslint-disable no-console */\n\nexport interface ConsoleSpyMsg {\n type: 'log' | 'warn' | 'error'\n code?: string\n args: unknown[]\n}\n\nexport interface ConsoleSpy {\n messages: ConsoleSpyMsg[]\n restore: () => void\n}\n\nexport function createConsoleSpy(options?: {\n onRestored?: (messages: ConsoleSpyMsg[]) => void\n}): ConsoleSpy {\n const {onRestored} = options || {}\n\n const original = {\n log: console.log,\n warn: console.warn,\n error: console.error,\n }\n\n const messages: ConsoleSpyMsg[] = []\n\n console.log = (...args: unknown[]) => messages.push({type: 'log', args})\n console.warn = (...args: unknown[]) => messages.push({type: 'warn', args})\n console.error = (...args: unknown[]) => messages.push({type: 'error', args})\n\n return {\n messages,\n restore: () => {\n console.log = original.log\n console.warn = original.warn\n console.error = original.error\n\n onRestored?.(messages)\n },\n }\n}\n"],"names":["findConfig","path","fileExists","pkgUp","register","config","fs","validatePkg","logger","ZodError","chalk","isRecord","ts","browserslist","exports"],"mappings":"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","x_google_ignoreList":[11]}
|
package/dist/_chunks/index.cjs
CHANGED
|
@@ -10154,11 +10154,11 @@ while`), parts.push(" (", path2.call(print, "test"), ");"), (0, lines_1.concat)(
|
|
|
10154
10154
|
parts.push("*");
|
|
10155
10155
|
else if (decl.specifiers.length === 0)
|
|
10156
10156
|
parts.push("{}");
|
|
10157
|
-
else if (decl.specifiers[0].type === "ExportDefaultSpecifier") {
|
|
10157
|
+
else if (decl.specifiers[0].type === "ExportDefaultSpecifier" || decl.specifiers[0].type === "ExportNamespaceSpecifier") {
|
|
10158
10158
|
var unbracedSpecifiers_2 = [], bracedSpecifiers_2 = [];
|
|
10159
10159
|
if (path2.each(function(specifierPath) {
|
|
10160
10160
|
var spec = specifierPath.getValue();
|
|
10161
|
-
spec.type === "ExportDefaultSpecifier" ? unbracedSpecifiers_2.push(print(specifierPath)) : bracedSpecifiers_2.push(print(specifierPath));
|
|
10161
|
+
spec.type === "ExportDefaultSpecifier" || spec.type === "ExportNamespaceSpecifier" ? unbracedSpecifiers_2.push(print(specifierPath)) : bracedSpecifiers_2.push(print(specifierPath));
|
|
10162
10162
|
}, "specifiers"), unbracedSpecifiers_2.forEach(function(lines3, i) {
|
|
10163
10163
|
i > 0 && parts.push(", "), parts.push(lines3);
|
|
10164
10164
|
}), bracedSpecifiers_2.length > 0) {
|
|
@@ -19726,48 +19726,7 @@ const dtsTask = {
|
|
|
19726
19726
|
const { logger } = ctx;
|
|
19727
19727
|
err instanceof DtsError ? printExtractMessages(ctx, err.messages) : err instanceof Error && logger.error(err);
|
|
19728
19728
|
}
|
|
19729
|
-
}, nodeReexportCjsTask = {
|
|
19730
|
-
name: (_ctx, task) => [
|
|
19731
|
-
"Re-export CommonJS module in ESM wrapper\u2026",
|
|
19732
|
-
" entries:",
|
|
19733
|
-
...task.entries.map(
|
|
19734
|
-
(entry) => [
|
|
19735
|
-
` - ${chalk__default.default.cyan(entry.importId)}: `,
|
|
19736
|
-
`${chalk__default.default.yellow(entry.require)} ${chalk__default.default.gray("\u2192")} ${chalk__default.default.yellow(entry.import)}`
|
|
19737
|
-
].join("")
|
|
19738
|
-
)
|
|
19739
|
-
].join(`
|
|
19740
|
-
`),
|
|
19741
|
-
exec: (ctx, task) => rxjs.from(exec(ctx, task)),
|
|
19742
|
-
complete: () => {
|
|
19743
|
-
},
|
|
19744
|
-
error: (_ctx, _task, err) => {
|
|
19745
|
-
console.error(err);
|
|
19746
|
-
}
|
|
19747
19729
|
};
|
|
19748
|
-
async function exec(ctx, task) {
|
|
19749
|
-
const { cwd } = ctx;
|
|
19750
|
-
for (const entry of task.entries) {
|
|
19751
|
-
const sourcePath = path__default.default.resolve(cwd, entry.require), targetPath = path__default.default.resolve(cwd, entry.import), targetDir = path__default.default.dirname(targetPath);
|
|
19752
|
-
await mkdirp.mkdirp(targetDir);
|
|
19753
|
-
const mod = require(sourcePath);
|
|
19754
|
-
let relativeImport = `./${path__default.default.relative(targetDir, sourcePath)}`;
|
|
19755
|
-
relativeImport.startsWith("./.") && (relativeImport = relativeImport.slice(2));
|
|
19756
|
-
const code = compileESMWrapper(mod, relativeImport);
|
|
19757
|
-
await fs.writeFile(targetPath, code, "utf8");
|
|
19758
|
-
}
|
|
19759
|
-
}
|
|
19760
|
-
function compileESMWrapper(mod, relativeImport) {
|
|
19761
|
-
const keys = Object.keys(mod).filter((k) => k !== "__esModule");
|
|
19762
|
-
let code = `import cjs from '${relativeImport}';
|
|
19763
|
-
`;
|
|
19764
|
-
return keys.length && (code += `
|
|
19765
|
-
`, code += keys.filter((k) => mod.__esModule ? k !== "default" : !0).map((k) => `export const ${k} = cjs.${k};
|
|
19766
|
-
`).join("")), code += `
|
|
19767
|
-
`, mod.__esModule ? "default" in mod && (code += `export default cjs.default;
|
|
19768
|
-
`) : code += `export default cjs;
|
|
19769
|
-
`, code;
|
|
19770
|
-
}
|
|
19771
19730
|
function resolveRollupConfig(ctx, buildTask) {
|
|
19772
19731
|
const { format, runtime, target } = buildTask, { config, cwd, exports: _exports, extMap, external, distPath, logger, pkg, ts: ts2 } = ctx, outputExt = extMap[pkg.type || "commonjs"][format], minify = config?.minify ?? !1, outDir = path__default.default.relative(cwd, distPath), pathAliases = Object.fromEntries(
|
|
19773
19732
|
Object.entries(ts2.config?.options.paths || {}).map(([key, val]) => [key, path__default.default.resolve(cwd, ts2.config?.options.baseUrl || ".", val[0])])
|
|
@@ -19999,8 +19958,7 @@ const rollupWatchTask = {
|
|
|
19999
19958
|
}
|
|
20000
19959
|
}, buildTaskHandlers = {
|
|
20001
19960
|
"build:dts": dtsTask,
|
|
20002
|
-
"build:js": rollupTask
|
|
20003
|
-
"node:reexport-cjs": nodeReexportCjsTask
|
|
19961
|
+
"build:js": rollupTask
|
|
20004
19962
|
}, watchTaskHandlers = {
|
|
20005
19963
|
"watch:dts": dtsWatchTask,
|
|
20006
19964
|
"watch:js": rollupWatchTask
|